diff --git a/trunk/paradiseo-eo/.cvsignore b/trunk/paradiseo-eo/.cvsignore deleted file mode 100644 index 3e34ecb4c..000000000 --- a/trunk/paradiseo-eo/.cvsignore +++ /dev/null @@ -1,25 +0,0 @@ -*.la -*.lo -.deps -.libs -Makefile -Makefile.in -aclocal.m4 -autom4te.cache -build* -confdefs.h -config.cache -config.guess -config.h -config.h.in -config.log -config.status -config.sub -configure -depcomp -install-sh -libtool -missing -mkinstalldirs -stamp-h -stamp-h.in diff --git a/trunk/paradiseo-eo/AUTHORS b/trunk/paradiseo-eo/AUTHORS deleted file mode 100644 index 298d1c11b..000000000 --- a/trunk/paradiseo-eo/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -Pedro Angel Castillo Valdivieso -Juan Julian Merelo Guervos -Victor Manuel Rivas Santos -Gustavo Romero Lopez -Maarten Keijzer -Marc Schoenauer -Jeroen Eggermont - diff --git a/trunk/paradiseo-eo/COPYING b/trunk/paradiseo-eo/COPYING deleted file mode 100644 index 223ede7de..000000000 --- a/trunk/paradiseo-eo/COPYING +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/trunk/paradiseo-eo/CVS/Entries b/trunk/paradiseo-eo/CVS/Entries deleted file mode 100644 index ed48183b3..000000000 --- a/trunk/paradiseo-eo/CVS/Entries +++ /dev/null @@ -1,17 +0,0 @@ -/.cvsignore/5.7/Tue Sep 21 17:01:14 2004// -/AUTHORS/5.5/Mon Nov 12 14:59:32 2001// -/COPYING/5.3/Thu Oct 6 10:06:25 2005// -/ChangeLog/5.1/Fri Feb 12 17:38:58 1999// -/ForRelease/5.2/Sat Oct 1 16:05:01 2005// -/INSTALL/5.4/Fri Sep 17 16:53:31 2004// -/LICENSE/5.1/Mon Sep 20 11:37:00 1999// -/Makefile.am/5.30/Sun Oct 2 21:42:08 2005// -/NEWS/5.5/Sun Mar 26 10:04:00 2006// -/README/5.9/Fri Sep 30 21:16:24 2005// -/README.html/5.1/Thu Aug 3 15:44:00 2000// -/THANKS/5.1/Wed Sep 22 17:30:11 2004// -/TODO.html/5.1/Thu Aug 3 15:44:00 2000// -/acinclude.m4/5.11/Thu Mar 23 18:06:10 2006// -/autogen.sh/5.14/Sun Oct 2 21:42:08 2005// -/configure.in/5.47/Sun Oct 2 21:42:08 2005// -D diff --git a/trunk/paradiseo-eo/CVS/Entries.Log b/trunk/paradiseo-eo/CVS/Entries.Log deleted file mode 100644 index 7f0c96b10..000000000 --- a/trunk/paradiseo-eo/CVS/Entries.Log +++ /dev/null @@ -1,11 +0,0 @@ -A D/Tutorial//// -A D/app//// -A D/build-freebsd-x86//// -A D/build-linux-x86//// -A D/contrib//// -A D/doc//// -A D/gp//// -A D/src//// -A D/test//// -A D/tutorial//// -A D/win//// diff --git a/trunk/paradiseo-eo/CVS/Repository b/trunk/paradiseo-eo/CVS/Repository deleted file mode 100644 index 16381313e..000000000 --- a/trunk/paradiseo-eo/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo diff --git a/trunk/paradiseo-eo/CVS/Root b/trunk/paradiseo-eo/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/ChangeLog b/trunk/paradiseo-eo/ChangeLog deleted file mode 100644 index e69de29bb..000000000 diff --git a/trunk/paradiseo-eo/ForRelease b/trunk/paradiseo-eo/ForRelease deleted file mode 100644 index 6e9af59a7..000000000 --- a/trunk/paradiseo-eo/ForRelease +++ /dev/null @@ -1,17 +0,0 @@ -In oder to create a new release from the current cvs sources perform -the following steps: - -- Set version number in configure.in and doc/eo.cfg. -- Check/update NEWS file, set release date and version in NEWS. -- Run `make check && make dist`. -- Test distribution (unpack, configure, make check). -- Put distributions at SourceForge. -- Post news on SourceForge project-page. -- Send announcement to mailing lists. -- Bump version number to next x.y.z-cvs in configure.in and doc/eo.cfg. - -# Local Variables: -# coding: iso-8859-1 -# mode: text -# fill-column: 80 -# End: diff --git a/trunk/paradiseo-eo/INSTALL b/trunk/paradiseo-eo/INSTALL deleted file mode 100644 index a4b34144d..000000000 --- a/trunk/paradiseo-eo/INSTALL +++ /dev/null @@ -1,229 +0,0 @@ -Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software -Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/trunk/paradiseo-eo/LICENSE b/trunk/paradiseo-eo/LICENSE deleted file mode 100644 index 223ede7de..000000000 --- a/trunk/paradiseo-eo/LICENSE +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/trunk/paradiseo-eo/Makefile.am b/trunk/paradiseo-eo/Makefile.am deleted file mode 100644 index de05f3939..000000000 --- a/trunk/paradiseo-eo/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## Makefile.am for eo - -if USE_APPLICATIONS -SUBDIRS_APP = app -endif - -if USE_TUTORIAL -SUBDIRS_TUT = tutorial -endif - -SUBDIRS = src doc contrib win $(SUBDIRS_APP) $(SUBDIRS_TUT) test - - -# Directory for documents -DOCDIR = ~/public_html/eodocs - -# Directory for indices -- not useful for the user -IDXDIR = ~/index - - -# Add documentation to distribution -dist-hook: - $(MAKE) documentation - $(INSTALL_DATA) -d $(srcdir)/doc/html $(srcdir)/doc/latex $(srcdir)/doc/man $(distdir)/doc/ - -# Prepare documentation -documentation: - cd doc && $(MAKE) doc && cd .. -# convinience-target -doc: documentation diff --git a/trunk/paradiseo-eo/NEWS b/trunk/paradiseo-eo/NEWS deleted file mode 100644 index 2c10c8c81..000000000 --- a/trunk/paradiseo-eo/NEWS +++ /dev/null @@ -1,17 +0,0 @@ -* release 0.9.4 (not yet released) - - Update introductory pages of documentation and webpage. - - Remove support for pre-standard C++ compiler (i.e. gcc-2.x), which allows to - clean up the code considerably. Assume availability of sstream and limits. - - Implement CMA-ES. - - -* release 0.9.3z.1 (1. Oct. 2005) - - Support gcc-3.4 and gcc.4.x. - - Provide full automake/autoconf/configure support. - - -# Local Variables: -# coding: iso-8859-1 -# mode: text -# fill-column: 80 -# End: diff --git a/trunk/paradiseo-eo/README b/trunk/paradiseo-eo/README deleted file mode 100644 index b11266535..000000000 --- a/trunk/paradiseo-eo/README +++ /dev/null @@ -1,102 +0,0 @@ - EO README FILE -======================================================================= - check latest news at http://eodev.sourceforge.net/ -======================================================================= - -Welcome to EO, the Evolving Objects library. - -The latest news about EO can be found on the sourceforge repository at - -http://eodev.sourceforge.net/ - -In case of any problem, please e-mail us at - -eodev@egroups.com, eodev-main@lists.sourceforge.net - - -================================================================== - BUILDING EO -================================================================== -The basic installation procedure goes the following: - -Go to your build-directory and run - $(SRCDIR)/configure - make - make check - make install -where $(SRCDIR) is the top-level source directory of EO, i.e. where -the sources where unpacked. - -See $(SRCDIR)/configure for possible options. You can specify to not -build example applications, the tutorial, or to build the ParadisEO -tutorial. You may also change the installation directory that way. - -Now you should probably go to the tutorial and start learning about EO -features and programming. - - -In case of problems, you can read the INSTALL file - but remember this -is a standard installation file from GNU and that it contains nothing -specific about EO. - - -=================================================================== - DIRECTORY STRUCTURE -=================================================================== -After unpacking the archive file, you should end up with the following -structure: - -.../ the MAIN EO dir, created when unpacking - | - +-- src SOURCE dir. Contains most EO .h files - | | - | +- utils general utilities (e.g. RNG-related source files) - | | - | +- ga bistring-genotypes source files - | | - | +- es real-valued-genotypes source files - | | - | +- gp Genetic Programming source files - | | - | +- obsolete files from old versions - for upward compatibility - | - | - | - +-- tutorial TUTORIAL dir (indeed :-) - | | - | +- html all html files - start by browsing index.html - | | - | +- LessonX for X=1, 2, 3, ... : example of increasing complexity - | - | - | - +-- doc DOCUMENTATION dir (generated by Doxygen) - | | - | +- html HTML files - start at index.html (see also tutorial) - | | - | +- latex latex files - use to generate Poatscript doc. - | | - | +- man Unix man format documentation - | - | - +-- test TEST files - for debugging purposes only - | - | - +-- app APPLICATIONS - one dir per separate application - | | - | +- gprop GA/backpropagation for neural nets - | | - | +- mastermind the wellknown MasterMind game - | - | - +-- win WINDOWS dir: project files for MS/VC5+ - - - -=================================================================== - NOTES -=================================================================== -If you extracted a fresh snapshot from the cvs-repository, remember -to run - ./autogen.sh -in the source-directory before building the libraries. diff --git a/trunk/paradiseo-eo/README.html b/trunk/paradiseo-eo/README.html deleted file mode 100644 index 00e147c65..000000000 --- a/trunk/paradiseo-eo/README.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - EO evolutionary computation framework - - - - - -
-

EO Evolutionary Computation Framework and Library

- -EO (Evolvable|Evolutionary objects) is a C++ toolbox for evolutionary computation which defines interfaces for -many classes of algorithms used in evolutionary computation, and, at the -same time, provides some examples that use those interfaces. The client/user -can include those objects in his or her programs, or create their own. If new objects are created, the GeNeura team commit themselves to test them, and make them available -to the Evolutionary Computation community. In this way, no changes have -to be made to the library design or to a program that implements an EC algorithm: just new classes added. Our intention would be that, in the future, somebody implementing an EC algorithm would say "I am using EO, plus a class that hs been made publicly available", improving repeatability of EC results and easing its availability. -
EO uses STL, and ANSI C++. So far, it has been tested and works -with gcc 2.8.1 and egcs 1.0.2 in Linux, Irix, Win95/NT (with Cygwin) and -Solaris Machines, and with Visual C++ 5.0 in WinNT machines. Makefiles for Unix and project -files and makefiles for NT are provided. - - -

Installing EO and compiling examples in UNIX

-To start and use it, first you can untar or unzip it (depending on the distribution you got), by doing, -
bash$ zcat eo-0.6.tgz | tar xvf -
-or -
bash$ unzip eo-0.6.zip

-

-Once everything is decompressed to the eo-0.6 directory (or whatever), cd to it and type -
bash$ configure
-or -
bash$ configure --prefix=/my/fav/directory
-if you intend to use it from another directory. If you do so, you´ll have then to copy manually all the .h and .a files to it. Right now, EO is mostly templates-based, so it has mainly got header files, plus a small and independent utility library.

-

After that, type -
bash$ make -
This makes the object and library files needed, makes the examples -in the apps/examples directory, and builds the genetic mastermind - application in the apps/master directory. If anything goes wrong at this stage, e-mail us. It should work properly with the compilers mentioned so far. -

-

Then, to unzip the documentation -
bash$ make docunzip -
which unzips the HTML documentation into the doc directory.

-

If there is any problem, write to any of the addresses below, or -just do -
bash$ make bug-report -
and tell us your problem, indicating EO release, the C++ compiler you -are using, and the platform. -

- -

Installing EO and compiling examples in Win95/NT

- -Unzip the library to your favorite directory by double-clicking on the eo-0.6 icon, and then load apps/examples/examples.dsw or - apps/examples/master.dsw workspaces; then define the main - directory you installed it to as default include directory (in - tools->directories or somesuch) and press F7 for compiling. Alternatively, if you favor makefiles, change into the apps/examples directory and run
-C:\my\dir\eo-0.6\apps\examples> nmake /f examples.mak
-which will create debug executables for all the examples.

- -

In the CygWin environment, everything should work in the same way as in UNIX, but for a couple of things. To run configure, type
-bash$ sh ./configure, or, much better, create a \bin directory and copy sh.exe to it; that way, shell scripts will work properly.

- -

Availability

-The latest versions of EO are always available from http://geneura.ugr.es/~jmerelo/eo -and ftp://geneura.ugr.es/pub/eo. - - -

Working with EO

-For a quick dive into the eo library, check the SGA -
Then go ahead to the EasyGA, -which is a more flexible implementation of a Genetic Algorithm. -
Then, why not, see how EO implements Simulated Annealing in EOSimAnnAlg. If you have unzipped the documentation, there should be also local copies of these files. - - -

Tell us something!

-If you have any problem, have created a new class, or just want to -tell us something, write to eo@kal-el.ugr.es. -The eo mailing list is hosted by OneList, - - -[Click to subscribe to eodev@onelist.com]. - - -
- -

Legal Stuff

-EO is free and free distribution; however, if you include parts of EO in -a commercial product, you have to request authorization from us. -
The usual things apply too. If it does not work, if your wife or dogs -abandons you, or your room humector stops working, it's not our fault. -
  - -
-
- Search EO documentation - - - - -
-
- - diff --git a/trunk/paradiseo-eo/THANKS b/trunk/paradiseo-eo/THANKS deleted file mode 100644 index e69de29bb..000000000 diff --git a/trunk/paradiseo-eo/TODO.html b/trunk/paradiseo-eo/TODO.html deleted file mode 100644 index 74f802dd0..000000000 --- a/trunk/paradiseo-eo/TODO.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - TODO list for EO - - - -

TODO list for EO

-
    -
  • Provide a way to easily manipulate the algorithm in runtime, be it - from grafically or text; expand command-line capabities? -
  • Provide a graphical interface for Windows, in VC++ or BBuilder. -
  • Creare more examples of the objects of which there is only one instance: - algorithms, evaluators. Try to adapt most well-know algorithms to EO -
  • Integrate the gTK interface seamlessly in the library. -
  • Complete documentation. -
  • Try to implemente as algorithms the best known paradigms: Evolution Strategies, Evolutionary programming. -
- - -
-
Juan Julian Merelo Guervos
- - -Last modified: Wed May 13 11:12:34 CEST 1998 - - - diff --git a/trunk/paradiseo-eo/Tutorial/CVS/Entries b/trunk/paradiseo-eo/Tutorial/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/Tutorial/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/Tutorial/CVS/Repository b/trunk/paradiseo-eo/Tutorial/CVS/Repository deleted file mode 100644 index 849b39181..000000000 --- a/trunk/paradiseo-eo/Tutorial/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/Tutorial diff --git a/trunk/paradiseo-eo/Tutorial/CVS/Root b/trunk/paradiseo-eo/Tutorial/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/Tutorial/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/acinclude.m4 b/trunk/paradiseo-eo/acinclude.m4 deleted file mode 100644 index 8a3244382..000000000 --- a/trunk/paradiseo-eo/acinclude.m4 +++ /dev/null @@ -1,61 +0,0 @@ -# AC_APPLICATIONS() -# -# Compile applications unless user requests not to do it. -AC_DEFUN([AC_APPLICATIONS],[dnl - AC_ARG_ENABLE([applications], - AC_HELP_STRING([--enable-applications], [build applications (default=yes)]), - [ case "${enableval}" in - yes) applications=true ;; - no) applications=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for applications option) ;; - esac], - [applications=true]) - if test "$applications" = "true"; then - AM_CONDITIONAL([USE_APPLICATIONS], true) - else - AM_CONDITIONAL([USE_APPLICATIONS], false) - fi -]) - - - -# AC_GNUPLOT() -# -# Compile applications unless user requests not to do it. -AC_DEFUN([AC_GNUPLOT], [dnl - AC_ARG_ENABLE([gnuplot], - AC_HELP_STRING([--enable-gnuplot], [use gnuplot for graphical display (default=yes)]), - [ac_cv_use_gnuplot=$enableval], - [ac_cv_use_gnuplot=yes]) - AC_CACHE_CHECK([use gnuplot for graphical display], - [ac_cv_use_gnuplot], - [ac_cv_use_gnuplot=no]) - if test "$ac_cv_use_gnuplot" = "yes"; then - AC_ARG_VAR([GNUPLOT], [gnuplot executable used for graphical display]) - AC_CHECK_PROG([GNUPLOT], [gnuplot], [gnuplot], [true]) - AC_DEFINE([HAVE_GNUPLOT], [1], [gnuplot graphical display]) - else - AC_DEFINE([NO_GNUPLOT], [1], [no gnuplot graphical display -- deprecated, will be reomoved!]) - fi -]) - - - -# AC_TUTORIAL() -# -# Compile tutorial unless user requests not to do it. -AC_DEFUN([AC_TUTORIAL],[dnl - AC_ARG_ENABLE([tutorial], - AC_HELP_STRING([--enable-tutorial], [build tutorial (default=yes)]), - [ case "${enableval}" in - yes) tutorial=true ;; - no) tutorial=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for tutorial option) ;; - esac], - [tutorial=true]) - if test "$tutorial" = "true"; then - AM_CONDITIONAL([USE_TUTORIAL], true) - else - AM_CONDITIONAL([USE_TUTORIAL], false) - fi -]) diff --git a/trunk/paradiseo-eo/app/.cvsignore b/trunk/paradiseo-eo/app/.cvsignore deleted file mode 100644 index 3dda72986..000000000 --- a/trunk/paradiseo-eo/app/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile.in -Makefile diff --git a/trunk/paradiseo-eo/app/CVS/Entries b/trunk/paradiseo-eo/app/CVS/Entries deleted file mode 100644 index 305ff6862..000000000 --- a/trunk/paradiseo-eo/app/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/.cvsignore/1.1/Thu Nov 23 19:44:47 2000// -/Makefile.am/1.8/Wed Sep 22 18:18:31 2004// -D diff --git a/trunk/paradiseo-eo/app/CVS/Entries.Log b/trunk/paradiseo-eo/app/CVS/Entries.Log deleted file mode 100644 index edf59c191..000000000 --- a/trunk/paradiseo-eo/app/CVS/Entries.Log +++ /dev/null @@ -1,4 +0,0 @@ -A D/gprop//// -A D/gpsymreg//// -A D/master//// -A D/mastermind//// diff --git a/trunk/paradiseo-eo/app/CVS/Repository b/trunk/paradiseo-eo/app/CVS/Repository deleted file mode 100644 index 1b3b048fd..000000000 --- a/trunk/paradiseo-eo/app/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/app diff --git a/trunk/paradiseo-eo/app/CVS/Root b/trunk/paradiseo-eo/app/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/app/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/app/Makefile.am b/trunk/paradiseo-eo/app/Makefile.am deleted file mode 100644 index 662248021..000000000 --- a/trunk/paradiseo-eo/app/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -## Makefile.am for app dir in eo - -SUBDIRS = mastermind gprop gpsymreg diff --git a/trunk/paradiseo-eo/app/gprop/.cvsignore b/trunk/paradiseo-eo/app/gprop/.cvsignore deleted file mode 100644 index 8bf1bd921..000000000 --- a/trunk/paradiseo-eo/app/gprop/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -Makefile.in -Makefile -gprop -.deps diff --git a/trunk/paradiseo-eo/app/gprop/CVS/Entries b/trunk/paradiseo-eo/app/gprop/CVS/Entries deleted file mode 100644 index 5e326ef20..000000000 --- a/trunk/paradiseo-eo/app/gprop/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/.cvsignore/1.3/Mon Dec 11 09:28:40 2000// -/Makefile.am/1.4/Wed Sep 22 18:18:31 2004// -/gprop.cpp/1.3/Tue Jan 13 20:21:52 2004// -/gprop.h/1.12/Wed Sep 29 18:37:20 2004// -/l2.h/1.1/Thu Nov 23 19:14:09 2000// -/mlp.h/1.10/Sun Oct 2 21:42:08 2005// -/mse.h/1.1/Thu Nov 23 19:14:09 2000// -/qp.h/1.1/Thu Nov 23 19:14:09 2000// -/vecop.h/1.2/Sat Feb 2 05:51:31 2002// -D diff --git a/trunk/paradiseo-eo/app/gprop/CVS/Repository b/trunk/paradiseo-eo/app/gprop/CVS/Repository deleted file mode 100644 index 69b1ec52f..000000000 --- a/trunk/paradiseo-eo/app/gprop/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/app/gprop diff --git a/trunk/paradiseo-eo/app/gprop/CVS/Root b/trunk/paradiseo-eo/app/gprop/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/app/gprop/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/app/gprop/Makefile.am b/trunk/paradiseo-eo/app/gprop/Makefile.am deleted file mode 100644 index b1515ce53..000000000 --- a/trunk/paradiseo-eo/app/gprop/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -# Makefile.am for app/gprop - -noinst_PROGRAMS = gprop - - -gprop_SOURCES = gprop.cpp - -noinst_HEADERS = gprop.h \ - l2.h \ - mlp.h \ - mse.h \ - qp.h \ - vecop.h - - -AM_CXXFLAGS = -I$(top_srcdir)/src - -LIBEO = $(top_builddir)/src/libeo.a -LIBEOUTILS = $(top_builddir)/src/utils/libeoutils.a - -DEPS = $(LIBEO) $(LIBEOUTILS) -LIBS = $(LIBEO) $(LIBEOUTILS) diff --git a/trunk/paradiseo-eo/app/gprop/gprop.cpp b/trunk/paradiseo-eo/app/gprop/gprop.cpp deleted file mode 100644 index 10871d21e..000000000 --- a/trunk/paradiseo-eo/app/gprop/gprop.cpp +++ /dev/null @@ -1,170 +0,0 @@ -//----------------------------------------------------------------------------- -// gprop -//----------------------------------------------------------------------------- -using namespace std; - -#include // EXIT_SUCCESS EXIT_FAILURE -#include // exception -#include // cerr cout -#include // ifstream -#include // string -#include // all usefull eo stuff -#include "gprop.h" // Chrom eoChromInit eoChromMutation eoChromXover eoChromEvaluator - -//----------------------------------------------------------------------------- -// global variables -//----------------------------------------------------------------------------- - -unsigned in, out, hidden; -mlp::set train, validate, test; - -//----------------------------------------------------------------------------- -// parameters -//----------------------------------------------------------------------------- - -eoValueParam pop_size(10, "pop_size", "population size", 'p'); -eoValueParam generations(10, "generations", "number of generation", 'g'); -eoValueParam mut_rate(0.25, "mut_rate", "mutation rate", 'm'); -eoValueParam xover_rate(0.25, "xover_rate", "default crossover rate", 'x'); -eoValueParam file("", "file", "common start of patterns filenames *.trn *.val and *.tst", 'f'); -eoValueParam hiddenp(0, "hidden", "number of neurons in hidden layer", 'd'); - -//----------------------------------------------------------------------------- -// auxiliar functions -//----------------------------------------------------------------------------- - -void arg(int argc, char** argv); -void load_file(mlp::set& s, const string& s); -void ga(); - -//----------------------------------------------------------------------------- -// main -//----------------------------------------------------------------------------- - -int main(int argc, char** argv) -{ - try - { - arg(argc, argv); - ga(); - } - catch (exception& e) - { - cerr << argv[0] << ": " << e.what() << endl; - exit(EXIT_FAILURE); - } - - return 0; -} - -//----------------------------------------------------------------------------- -// implementation -//----------------------------------------------------------------------------- - -void arg(int argc, char** argv) -{ - eoParser parser(argc, argv); - - parser.processParam(pop_size, "genetic operators"); - parser.processParam(generations, "genetic operators"); - parser.processParam(mut_rate, "genetic operators"); - parser.processParam(xover_rate, "genetic operators"); - parser.processParam(file, "files"); - parser.processParam(hiddenp, "genetic operators"); - - if (parser.userNeedsHelp()) - { - parser.printHelp(cout); - exit(EXIT_SUCCESS); - } - - load_file(train, "trn"); - load_file(validate, "val"); - load_file(test, "tst"); - - phenotype::trn_max = train.size(); - phenotype::val_max = validate.size(); - phenotype::tst_max = test.size(); - - in = train.front().input.size(); - out = train.front().output.size(); - gprop_use_datasets(&train, &validate, &test); - hidden = hiddenp.value(); -} - -//----------------------------------------------------------------------------- - -void load_file(mlp::set& set, const string& ext) -{ - string filename = file.value(); filename += "." + ext; - - ifstream ifs(filename.c_str()); - if (!ifs) - { - cerr << "can't open file \"" << filename << "\"" << endl; - exit(EXIT_FAILURE); - } - - ifs >> set; - - if (set.size() == 0) - { - cerr << filename << " data file is empty!"; - exit(EXIT_FAILURE); - } -} - -//----------------------------------------------------------------------------- - -void ga() -{ - // create population - eoInitChrom init; - eoPop pop(pop_size.value(), init); - - // evaluate population - eoEvalFuncPtr evaluator(eoChromEvaluator); - apply(evaluator, pop); - - // selector - eoStochTournamentSelect select; - - // genetic operators - eoChromMutation mutation; - eoChromXover xover; - - // stop condition - eoGenContinue continuator1(generations.value()); - phenotype p; p.val_ok = validate.size() - 1; p.mse_error = 0; - eoFitContinue continuator2(p); - eoCombinedContinue continuator(continuator1, continuator2); - - // checkpoint - eoCheckPoint checkpoint(continuator); - - // monitor - eoStdoutMonitor monitor; - checkpoint.add(monitor); - - // statistics - eoBestFitnessStat stats; - checkpoint.add(stats); - monitor.add(stats); - - // genetic algorithm - eoSGA sga(select, - xover, xover_rate.value(), - mutation, mut_rate.value(), - evaluator, - checkpoint); - - sga(pop); - - cout << "best: " << *max_element(pop.begin(), pop.end()) << endl; -} - -//----------------------------------------------------------------------------- - -// Local Variables: -// mode:C++ -// End: diff --git a/trunk/paradiseo-eo/app/gprop/gprop.h b/trunk/paradiseo-eo/app/gprop/gprop.h deleted file mode 100644 index 60e3bce6a..000000000 --- a/trunk/paradiseo-eo/app/gprop/gprop.h +++ /dev/null @@ -1,239 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// gprop.h -// (c) GeNeura Team 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - - -#ifndef gprop_h -#define gprop_h - -//----------------------------------------------------------------------------- - -#include // istream ostream -#include // setprecision -#include // string -#include // EO -#include // eoMonOp eoQuadraticOp -#include // eoInit -#include // normal_generator -#include "mlp.h" // mlp::net mlp::set -#include "qp.h" // qp::set -#include "mse.h" // mse::error - -//----------------------------------------------------------------------------- -// phenotype -//----------------------------------------------------------------------------- - -struct phenotype -{ - int trn_ok, val_ok, tst_ok; - double mse_error; - - static int trn_max, val_max, tst_max; - - friend bool operator<(const phenotype& a, const phenotype& b) - { - return a.val_ok < b.val_ok || !(b.val_ok < a.val_ok) && b.mse_error < a.mse_error; - } - - friend bool operator==(const phenotype& a, const phenotype& b) - { - return a.val_ok == b.val_ok && b.mse_error == a.mse_error; - } - - friend bool operator>=(const phenotype& a, const phenotype& b) - { - return !(a < b); - } - - friend bool operator>(const phenotype& a, const phenotype& b) - { - return (!(a == b)) && (!(a < b)); - } - - - - friend ostream& operator<<(ostream& os, const phenotype& p) - { - return os << p.trn_ok << "/" << p.trn_max << " " - << p.val_ok << "/" << p.val_max << " " - << p.tst_ok << "/" << p.tst_max << " " - << p.mse_error; - } - - friend istream& operator>>(istream& is, phenotype& p) - { - return is; // complete me - } -}; - - -int phenotype::trn_max = 0, phenotype::val_max = 0, phenotype::tst_max = 0; - -//----------------------------------------------------------------------------- -// genotype -//----------------------------------------------------------------------------- -#ifndef GPROP_GENOTYPE -#define GPROP_GENOTYPE mlp::net -#endif - -typedef GPROP_GENOTYPE genotype; - -//----------------------------------------------------------------------------- -// Chrom -//----------------------------------------------------------------------------- - -extern unsigned in, out, hidden; - -class Chrom: public EO, public genotype -{ -public: - Chrom(): genotype(in, out, vector(hidden < 1 ? 0 : 1, hidden)) {} - - string className() const { return "Chrom"; } - - void printOn (ostream& os) const - { - os << setprecision(3) << static_cast(*this) << " \t" - << fitness(); - // os << fitness(); - } - - void readFrom (istream& is) - { - invalidate(); // complete me - } -}; - -//----------------------------------------------------------------------------- -// eoChromInit -//----------------------------------------------------------------------------- - -class eoInitChrom: public eoInit -{ -public: - void operator()(Chrom& chrom) - { - chrom.reset(); - chrom.invalidate(); - } -}; - -//----------------------------------------------------------------------------- -// global variables -//----------------------------------------------------------------------------- - -mlp::set *trn_set = 0, *val_set = 0, *tst_set = 0; - -void gprop_use_datasets(mlp::set *trn, mlp::set *val, mlp::set *tst) { - trn_set = trn; - val_set = val; - tst_set = tst; -} - -void ensure_datasets_initialized() { - if (!trn_set) { - cerr << "trn_set is not initialized. Must call gprop_use_datasets before training\n"; - cerr.flush(); - abort(); - } -} - -//----------------------------------------------------------------------------- -// eoChromMutation -//----------------------------------------------------------------------------- - -class eoChromMutation: public eoMonOp -{ -public: - bool operator()(Chrom& chrom) - { - mse::net tmp(chrom); - tmp.train(*trn_set, 10, 0, 0.001); - return true; - } -}; - -//----------------------------------------------------------------------------- -// eoChromXover -//----------------------------------------------------------------------------- - -class eoChromXover: public eoQuadOp -{ -public: - bool operator()(Chrom& chrom1, Chrom& chrom2) - { - chrom1.normalize(); - chrom2.desaturate(); - - mse::net tmp1(chrom1), tmp2(chrom2); - ensure_datasets_initialized(); - tmp1.train(*trn_set, 100, 0, 0.001); - tmp2.train(*trn_set, 100, 0, 0.001); - - return true; - } -}; - -//----------------------------------------------------------------------------- -// eoChromEvaluator -//----------------------------------------------------------------------------- - -int correct(const mlp::net& net, const mlp::set& set) -{ - int sum = 0; - - for (mlp::set::const_iterator s = set.begin(); s != set.end(); ++s) - { - unsigned partial = 0; - - for (unsigned i = 0; i < s->output.size(); ++i) - if (s->output[i] < 0.5 && net(s->input)[i] < 0.5 || - s->output[i] > 0.5 && net(s->input)[i] > 0.5) - ++partial; - - if (partial == s->output.size()) - ++sum; - } - - return sum; -} - -phenotype eoChromEvaluator(const Chrom& chrom) -{ - phenotype p; - ensure_datasets_initialized(); - p.trn_ok = correct(chrom, *trn_set); - p.val_ok = correct(chrom, *val_set); - p.tst_ok = correct(chrom, *tst_set); - p.mse_error = mse::error(chrom, *val_set); - - return p; -}; - -//----------------------------------------------------------------------------- - -#endif // gprop_h - -// Local Variables: -// mode:C++ -// End: diff --git a/trunk/paradiseo-eo/app/gprop/l2.h b/trunk/paradiseo-eo/app/gprop/l2.h deleted file mode 100644 index 011c66109..000000000 --- a/trunk/paradiseo-eo/app/gprop/l2.h +++ /dev/null @@ -1,140 +0,0 @@ -//----------------------------------------------------------------------------- -// l2.h -//----------------------------------------------------------------------------- - -#ifndef l2_h -#define l2_h - -//----------------------------------------------------------------------------- - -#include // log -#include // neuron layer net set - -//----------------------------------------------------------------------------- - -namespace l2 -{ - //--------------------------------------------------------------------------- - // useful typedefs - //--------------------------------------------------------------------------- - - using qp::real; - using qp::vector; - using qp::max_real; - using qp::min_real; - using qp::set; - using qp::neuron; - using qp::layer; - - //--------------------------------------------------------------------------- - // error - //--------------------------------------------------------------------------- - - real error(const mlp::net& net, const set& ts) - { - real error_ = 0.0; - - for (set::const_iterator s = ts.begin(); s != ts.end(); ++s) - { - vector out = net(s->input); - - for (unsigned i = 0; i < out.size(); ++i) - { - real target = s->output[i]; - real value = out[i]; - error_ -= target * log(value + min_real) + - (1.0 - target) * log(1.0 - value + min_real); - } - } - - return error_; - } - - //------------------------------------------------------------------------- - // l2 - //------------------------------------------------------------------------- - - class net: public qp::net - { - public: - net(mlp::net& n): qp::net(n) {} - - real error(const set& ts) - { - real error_ = 0; - - for (set::const_iterator s = ts.begin(); s != ts.end(); ++s) - { - forward(s->input); - error_ -= backward(s->input, s->output); - } - - return error_; - } - - private: - real backward(const vector& input, const vector& output) - { - reverse_iterator current_layer = rbegin(); - reverse_iterator backward_layer = current_layer + 1; - real error_ = 0; - - // output layer - for (unsigned j = 0; j < current_layer->size(); ++j) - { - neuron& n = (*current_layer)[j]; - real out = output[j]; - n.ndelta += n.delta = (out - n.out) / - (n.out * (1.0 - n.out) + min_real) * n.out * (1.0 - n.out); - - if (size() == 1) // monolayer - n.dxo += n.delta * input; - else // multilayer - for (unsigned k = 0; k < n.dxo.size(); ++k) - n.dxo[k] += n.delta * (*backward_layer)[k].out; - - error_ += out * log(n.out + min_real) + - (1.0 - out) * log(1.0 - n.out + min_real); - } - - // hidden layers - while (++current_layer != rend()) - { - reverse_iterator forward_layer = current_layer - 1; - reverse_iterator backward_layer = current_layer + 1; - - for (unsigned j = 0; j < current_layer->size(); ++j) - { - neuron& n = (*current_layer)[j]; - real sum = 0; - for (unsigned k = 0; k < forward_layer->size(); ++k) - { - neuron& nf = (*forward_layer)[k]; - sum += nf.delta * (nf.n->weight[j] + nf.dweight1[j]); - } - n.delta = n.out * (1.0 - n.out) * sum; - n.ndelta += n.delta; - - if (backward_layer == rend()) // first hidden layer - n.dxo += n.delta * input; - else // rest of hidden layers - for (unsigned k = 0; k < n.dxo.size(); ++k) - n.dxo[k] += n.delta * (*backward_layer)[k].out; - } - } - - return error_; - } - }; - - //--------------------------------------------------------------------------- - -} // namespace l2 - -//----------------------------------------------------------------------------- - -#endif // l2_h - -// Local Variables: -// mode:C++ -// End: diff --git a/trunk/paradiseo-eo/app/gprop/mlp.h b/trunk/paradiseo-eo/app/gprop/mlp.h deleted file mode 100644 index a674f576c..000000000 --- a/trunk/paradiseo-eo/app/gprop/mlp.h +++ /dev/null @@ -1,458 +0,0 @@ -//----------------------------------------------------------------------------- -// mlp.h -//----------------------------------------------------------------------------- - -#ifndef mlp_h -#define mlp_h - -#include // generate -#include // exp -#include -#include -#include -#include // invalid_argument -#include -#include -#include // eoRng -#include // normal_generator -#include // * - - - - -namespace mlp -{ - using namespace std; - - typedef double real; - typedef std::vector vector; -} - - -namespace std { - ostream& operator<<(ostream& os, const mlp::vector& v) - { - ostream_iterator oi(os, " "); - copy(v.begin(), v.end(), oi); - return os; - } - - istream& operator>>(istream& is, mlp::vector& v) - { - for (mlp::vector::iterator vi = v.begin() ; vi != v.end() ; vi++) { - is >> *vi; - } - return is; - } -} - -namespace mlp -{ - using namespace std; - - //--------------------------------------------------------------------------- - // useful typedefs - //--------------------------------------------------------------------------- - - - const real max_real = std::numeric_limits::max(); - const real min_real = std::numeric_limits::min(); - - - //--------------------------------------------------------------------------- - // sigmoid - //--------------------------------------------------------------------------- - - real sigmoid(const real& x) - { - return 1.0 / (1.0 + exp(-x)); - } - - - //--------------------------------------------------------------------------- - // neuron - //--------------------------------------------------------------------------- - - struct neuron - { - real bias; - vector weight; - - neuron(const unsigned& num_inputs = 0): weight(num_inputs) {} - - void reset() - { - normal_generator rnd(1.0); - bias = rnd(); - generate(weight.begin(), weight.end(), rnd); - } - - real operator()(const vector& input) const - { - return sigmoid(bias + weight * input); - } - - unsigned length() const { return weight.size() + 1; } - - void normalize() - { - real n = sqrt(bias * bias + weight * weight); - bias /= n; - weight /= n; - } - - void desaturate() - { - bias = -5.0 + 10.0 / (1.0 + exp(bias / -5.0)); - - for (vector::iterator w = weight.begin(); w != weight.end(); ++w) - *w = -5.0 + 10.0 / (1.0 + exp(*w / -5.0)); - } - - void perturb_num(double &num, double magnitude) { - double scale = max(num, 0.05) * magnitude; - double perturbation = scale * (drand48() - 0.5); - num += perturbation; - } - - void perturb(double magnitude = 0.3, double probability = 1.0) - { - - for (vector::iterator w = weight.begin(); w != weight.end(); ++w) - if ( probability >= 1.0 || drand48() < probability) - perturb_num(*w, magnitude); - if ( probability >= 1.0 || drand48() < probability) - perturb_num(bias, magnitude); - } - }; -} - -namespace std { - - ostream& operator<<(ostream& os, const mlp::neuron& n) - { - return os << n.bias << " " << n.weight; - } - - istream& operator>>(istream& is, mlp::neuron& n) - { - return is >> n.bias >> n.weight; - } - -} - -namespace mlp { - - //--------------------------------------------------------------------------- - // layer - //--------------------------------------------------------------------------- - - class layer: public std::vector - { - public: - layer(const unsigned& num_inputs = 0, const unsigned& num_neurons = 0): - std::vector(num_neurons, neuron(num_inputs)) {} - - void reset() - { - normal_generator rnd(1.0); - for(iterator n = begin(); n != end(); ++n) - n->reset(); - } - - vector operator()(const vector& input) const - { - vector output(size()); - - for(unsigned i = 0; i < output.size(); ++i) - output[i] = (*this)[i](input); - - return output; - } - - unsigned length() const { return front().length() * size(); } - - void normalize() - { - for(iterator n = begin(); n != end(); ++n) - n->normalize(); - } - - void desaturate() - { - for(iterator n = begin(); n != end(); ++n) - n->desaturate(); - } - - void perturb(double magnitude = 0.3, double probability = 1.0) - { - for(iterator n = begin(); n != end(); ++n) - n->perturb(); - } - - }; - -} - -namespace std { - - ostream& operator<<(ostream& os, const mlp::layer& l) - { - ostream_iterator oi(os, " "); - copy(l.begin(), l.end(), oi); - return os; - } - - istream& operator>>(istream& is, mlp::layer& l) - { - for (mlp::layer::iterator li = l.begin() ; li != l.end() ; li++) { - is >> *li; - } - return is; - } - -} - -namespace mlp { - - - //--------------------------------------------------------------------------- - // net - //--------------------------------------------------------------------------- - - class net: public std::vector - { - public: - net(const unsigned& num_inputs = 0, - const unsigned& num_outputs = 0, - const std::vector& hidden = std::vector()) - { - init(num_inputs,num_outputs,hidden); - } - - - net(istream &is) { - load(is); - } - - /** Virtual destructor */ - virtual ~net() {}; - - void load(istream &is) { - unsigned num_inputs; - unsigned num_outputs; - unsigned num_hidden_layers; - - is >> num_inputs >> num_outputs >> num_hidden_layers; - - std::vector layer_sizes; - for (unsigned i=0; i> layer_size; - layer_sizes.push_back(layer_size); - } - unsigned check_outputs; - is >> check_outputs; - assert (check_outputs == num_outputs); - init (num_inputs,num_outputs,layer_sizes); - // skip forward to pass up opening '<' char - char c=' '; - while (c!='<' && !is.eof()) { is >> c;} - for (iterator l =begin() ; l != end(); l++) { - is >> *l; - } - do { is >> c; } while (c == ' ' && !is.eof()); - assert(c == '>'); - } - - void init( unsigned num_inputs, - unsigned num_outputs, - const std::vector& hidden ) { - clear(); - switch(hidden.size()) - { - case 0: - push_back(layer(num_inputs, num_outputs)); - break; - default: - push_back(layer(num_inputs, hidden.front())); - for (unsigned i = 0; i < hidden.size() - 1; ++i) - push_back(layer(hidden[i], hidden[i + 1])); - push_back(layer(hidden.back(), num_outputs)); - break; - } - } - - void reset() - { - normal_generator rnd(1.0); - for(iterator l = begin(); l != end(); ++l) - l->reset(); - } - - virtual vector operator()(const vector& input) const ; - - unsigned winner(const vector& input) const - { - vector tmp = (*this)(input); - return (max_element(tmp.begin(), tmp.end()) - tmp.begin()); - } - - void save(ostream &os) const { - // Save the number of inputs, number of outputs, and number of hidden layers - os << num_inputs() << "\n" << num_outputs() << "\n" << num_hidden_layers() << "\n"; - for(const_iterator l = begin(); l != end(); ++l) - os << l->size() << " "; - os << "\n"; - os << *this; - os << "\n"; - } - - unsigned num_inputs() const { return front().front().length() - 1; } - unsigned num_outputs() const { return back().size(); } - unsigned num_hidden_layers() const { - signed s = (signed) size() -1; - return (s<0) ? 0 : s ; - } - - - unsigned length() - { - unsigned sum = 0; - - for(iterator l = begin(); l != end(); ++l) - sum += l->length(); - - return sum; - } - - void normalize() - { - for(iterator l = begin(); l != end(); ++l) - l->normalize(); - } - - void desaturate() - { - for(iterator l = begin(); l != end(); ++l) - l->desaturate(); - } - - void perturb(double magnitude = 0.3, double probability = 1.0) - { - for(iterator l = begin(); l != end(); ++l) - l->perturb(); - } - }; - -#ifndef NO_MLP_VIRTUALS - vector net::operator()(const vector& input) const - { - vector tmp = input; - - for(const_iterator l = begin(); l != end(); ++l) - tmp = (*l)(tmp); - - return tmp; - } -#endif - - - //--------------------------------------------------------------------------- - // sample - //--------------------------------------------------------------------------- - - struct sample - { - vector input, output; - - sample(unsigned input_size = 0, unsigned output_size = 0): - input(input_size), output(output_size) {} - }; - - istream& operator>>(istream& is, sample& s) - { - return is >> s.input >> s.output; - } - - ostream& operator<<(ostream& os, const sample& s) - { - return os << s.input << " " << s.output; - } - - - //--------------------------------------------------------------------------- - // set - //--------------------------------------------------------------------------- - - class set: public std::vector - { - public: - set(unsigned input_size = 0, unsigned output_size = 0, - unsigned num_samples = 0): - std::vector(num_samples, sample(input_size, output_size)) {} - - set(istream& is) : std::vector(0, sample(0, 0)) { - clear(); - load(is); - } - - void load(istream &is) { - unsigned input_size, output_size; - is >> input_size >> output_size; - sample samp(input_size, output_size);; - while (is >> samp) { push_back(samp); } - } - - void save(ostream &os) const { - os << front().input.size() << " " << front().output.size() << endl; - copy(begin(), end(), ostream_iterator(os,"\n")); - } - }; - - ostream& operator<<(ostream& os, const set& s) - { - os << "<" << endl; - for (unsigned i = 0; i < s.size(); ++i) - os << s[i] << endl; - return os << ">"; - } - - //--------------------------------------------------------------------------- - // euclidean_distance - //--------------------------------------------------------------------------- - - real euclidean_distance(const net& n1, const net& n2) - { - real sum = 0; - - for(net::const_reverse_iterator l1 = n1.rbegin(), l2 = n2.rbegin(); - l1 != n1.rend() && l2 != n2.rend(); ++l1, ++l2) - for(layer::const_iterator n1 = l1->begin(), n2 = l2->begin(); - n1 != l1->end() && n2 != l2->end(); ++n1, ++n2) - { - real b = n1->bias - n2->bias; - vector w = n1->weight - n2->weight; - sum += b * b + w * w; - } - /* - #include - std::ofstream file("dist.stat", ios::app); - file << sqrt(sum) << endl; - */ - return sqrt(sum); - } - - //--------------------------------------------------------------------------- - -} // namespace mlp - - - -#endif // mlp_h - - -// Local Variables: -// mode:C++ -// c-file-style: "Stroustrup" -// End: diff --git a/trunk/paradiseo-eo/app/gprop/mse.h b/trunk/paradiseo-eo/app/gprop/mse.h deleted file mode 100644 index 841a88e3e..000000000 --- a/trunk/paradiseo-eo/app/gprop/mse.h +++ /dev/null @@ -1,140 +0,0 @@ -//----------------------------------------------------------------------------- -// mse.h -//----------------------------------------------------------------------------- - -#ifndef mse_h -#define mse_h - -//----------------------------------------------------------------------------- - -#include // neuron layer net set - -//----------------------------------------------------------------------------- - -namespace mse -{ - //--------------------------------------------------------------------------- - // useful typedefs - //--------------------------------------------------------------------------- - - using qp::real; - using qp::vector; - using qp::max_real; - using qp::min_real; - using qp::set; - using qp::neuron; - using qp::layer; - - //--------------------------------------------------------------------------- - // error - //--------------------------------------------------------------------------- - - real error(const mlp::net& net, const set& ts) - { - real error_ = 0.0; - - for (set::const_iterator s = ts.begin(); s != ts.end(); ++s) - { - vector out = net(s->input); - - for (unsigned i = 0; i < out.size(); ++i) - { - real diff = s->output[i] - out[i]; - error_ += diff * diff; - } - } - - return error_ / ts.size(); - } - //------------------------------------------------------------------------- - // mse - //------------------------------------------------------------------------- - - class net: public qp::net - { - public: - net(mlp::net& n): qp::net(n) {} - - real error(const set& ts) - { - real error_ = 0; - - for (set::const_iterator s = ts.begin(); s != ts.end(); ++s) - { - forward(s->input); - error_ += backward(s->input, s->output); - } - error_ /= ts.size(); - - return error_; - } - - private: - real backward(const vector& input, const vector& output) - { - reverse_iterator current_layer = rbegin(); - reverse_iterator backward_layer = current_layer + 1; - real error_ = 0; - - // output layer - for (unsigned j = 0; j < current_layer->size(); ++j) - { - neuron& n = (*current_layer)[j]; - - real diff = output[j] - n.out; - n.ndelta += n.delta = diff * n.out * (1.0 - n.out); - - if (size() == 1) // monolayer - n.dxo += n.delta * input; - else // multilayer - for (unsigned k = 0; k < n.dxo.size(); ++k) - n.dxo[k] += n.delta * (*backward_layer)[k].out; - - error_ += diff * diff; - } - - // hidden layers - while (++current_layer != rend()) - { - reverse_iterator forward_layer = current_layer - 1; - reverse_iterator backward_layer = current_layer + 1; - - for (unsigned j = 0; j < current_layer->size(); ++j) - { - - neuron& n = (*current_layer)[j]; - real sum = 0; - - for (unsigned k = 0; k < forward_layer->size(); ++k) - { - neuron& nf = (*forward_layer)[k]; - sum += nf.delta * (nf.n->weight[j] + nf.dweight1[j]); - } - - n.delta = n.out * (1.0 - n.out) * sum; - n.ndelta += n.delta; - - - if (backward_layer == rend()) // first hidden layer - n.dxo += n.delta * input; - else // rest of hidden layers - for (unsigned k = 0; k < n.dxo.size(); ++k) - n.dxo[k] += n.delta * (*backward_layer)[k].out; - } - } - - return error_; - } - }; - - //--------------------------------------------------------------------------- - -} // namespace mse - -//----------------------------------------------------------------------------- - -#endif // mse_h - -// Local Variables: -// mode:C++ -// End: diff --git a/trunk/paradiseo-eo/app/gprop/qp.h b/trunk/paradiseo-eo/app/gprop/qp.h deleted file mode 100644 index e91425623..000000000 --- a/trunk/paradiseo-eo/app/gprop/qp.h +++ /dev/null @@ -1,251 +0,0 @@ -//----------------------------------------------------------------------------- -// qp.h -//----------------------------------------------------------------------------- - -#ifndef qp_h -#define qp_h - -//----------------------------------------------------------------------------- - -#include // istream ostream -#include // fill -#include // vector -#include // uniform_generator -#include // neuron layer net - -//----------------------------------------------------------------------------- - -namespace qp -{ - //--------------------------------------------------------------------------- - // useful typedefs - //--------------------------------------------------------------------------- - - using mlp::real; - using mlp::vector; - - using mlp::max_real; - using mlp::min_real; - - using mlp::set; - - //--------------------------------------------------------------------------- - // useful constants - //--------------------------------------------------------------------------- - - const real eta_default = 0.5; - const real eta_floor = 0.0001; - const real alpha_default = 0.9; - const real lambda_default = 0.5; - const real lambda0 = 0.1; - const real backtrack_step = 0.5; - const real me_floor = 0.0001; - const real mw_floor = 0.0001; - - - //--------------------------------------------------------------------------- - // neuron - //--------------------------------------------------------------------------- - - struct neuron - { - mlp::neuron* n; - real out, delta, ndelta, dbias1, dbias2; - vector dweight1, dweight2, dxo; - - neuron(mlp::neuron& _n): - n(&_n), out(0), delta(0), ndelta(0), dbias1(0), dbias2(0), - dweight1(n->weight.size(), 0), - dweight2(n->weight.size(), 0), - dxo(n->weight.size(), 0) {} - - void reset() - { - // underlaying neuron - n->reset(); - - // addons - out = delta = ndelta = dbias1 = dbias2 = 0; - fill(dweight1.begin(), dweight1.end(), 0); - fill(dweight2.begin(), dweight2.end(), 0); - fill(dxo.begin(), dxo.end(), 0); - } - - real operator()(const vector& input) - { - return out = mlp::sigmoid(n->bias + dbias1 + - (n->weight + dweight1) * input); - } - }; - - ostream& operator<<(ostream& os, const neuron& n) - { - return os << *n.n << " " << n.out << " " << n.delta << " " - << n.ndelta << " " << n.dbias1 << " " << n.dbias2 << " " - << n.dweight1 << " " << n.dweight2 << " " << n.dxo; - } - - - //--------------------------------------------------------------------------- - // layer - //--------------------------------------------------------------------------- - - class layer: public std::vector - { - public: - layer(mlp::layer& l)//: std::vector(l.begin(), l.end()) {} - { - for (mlp::layer::iterator n = l.begin(); n != l.end(); ++n) - push_back(neuron(*n)); - } - - void reset() - { - for(iterator n = begin(); n != end(); ++n) - n->reset(); - } - - vector operator()(const vector& input) - { - vector output(size()); - - for(unsigned i = 0; i < output.size(); ++i) - output[i] = (*this)[i](input); - - return output; - } - }; - - - //--------------------------------------------------------------------------- - // net - //--------------------------------------------------------------------------- - - class net: public std::vector - { - public: - net(mlp::net& n) //: std::vector(n.begin(), n.end()) { reset(); } - { - for (mlp::net::iterator l = n.begin(); l != n.end(); ++l) - push_back(*l); - } - - virtual ~net() {} - - void reset() - { - for(iterator l = begin(); l != end(); ++l) - l->reset(); - } - - real train(const set& ts, - unsigned epochs, - real target_error, - real tolerance, - real eta = eta_default, - real momentum = alpha_default, - real lambda = lambda_default) - { - real error_ = max_real; - - while (epochs-- && error_ > target_error) - { - real last_error = error_; - - init_delta(); - - error_ = error(ts); - - if (error_ < last_error + tolerance) - { - coeff_adapt(eta, momentum, lambda); - weight_update(ts.size(), true, eta, momentum); - } - else - { - eta *= backtrack_step; - eta = max(eta, eta_floor); - momentum = eta * lambda; - weight_update(ts.size(), false, eta, momentum); - error_ = last_error; - } - } - - return error_; - } - - virtual real error(const set& ts) = 0; - - // protected: - void forward(vector input) - { - for (iterator l = begin(); l != end(); ++l) - { - vector tmp = (*l)(input); - input.swap(tmp); - } - } - - // private: - void init_delta() - { - for (iterator l = begin(); l != end(); ++l) - for (layer::iterator n = l->begin(); n != l->end(); ++n) - fill(n->dxo.begin(), n->dxo.end(), n->ndelta = 0.0); - } - - void coeff_adapt(real& eta, real& momentum, real& lambda) - { - real me = 0, mw = 0, ew = 0; - - for (iterator l = begin(); l != end(); ++l) - for (layer::iterator n = l->begin(); n != l->end(); ++n) - { - me += n->dxo * n->dxo; - mw += n->dweight1 * n->dweight1; - ew += n->dxo * n->dweight1; - } - - me = max(static_cast(sqrt(me)), me_floor); - mw = max(static_cast(sqrt(mw)), mw_floor); - eta *= (1.0 + 0.5 * ew / ( me * mw)); - eta = max(eta, eta_floor); - lambda = lambda0 * me / mw; - momentum = eta * lambda; -#ifdef DEBUG - cout << me << " \t" << mw << " \t" << ew << " \t" - << eta << " \t" << momentum << " \t" << lambda << endl; -#endif // DEBUG - } - - void weight_update(unsigned size, bool fire, real eta, real momentum) - { - for (iterator l = begin(); l != end(); ++l) - for (layer::iterator n = l->begin(); n != l->end(); ++n) - { - n->ndelta /= size; - n->dxo /= size; - if (fire) - { - n->n->weight += n->dweight1; - n->dweight2 = n->dweight1; - n->n->bias += n->dbias1; - n->dbias2 = n->dbias1; - } - n->dweight1 = eta * n->dxo + momentum * n->dweight2; - n->dbias1 = eta * n->ndelta + momentum * n->dbias2; - } - } - }; - - //--------------------------------------------------------------------------- - -} // namespace qp - -//----------------------------------------------------------------------------- - -#endif // qp_h - -// Local Variables: -// mode:C++ -// End: diff --git a/trunk/paradiseo-eo/app/gprop/vecop.h b/trunk/paradiseo-eo/app/gprop/vecop.h deleted file mode 100644 index 7cd5a6095..000000000 --- a/trunk/paradiseo-eo/app/gprop/vecop.h +++ /dev/null @@ -1,214 +0,0 @@ -//----------------------------------------------------------------------------- -// vecop.h -//----------------------------------------------------------------------------- - -#ifndef VECOP_H -#define VECOP_H - -//----------------------------------------------------------------------------- - -#include // ostream istream -#include // vector -#include // plus minus multiplies divides -#include // inner_product - -//----------------------------------------------------------------------------- -// vector + vector -//----------------------------------------------------------------------------- - -template vector operator+(const vector& v1, const vector& v2) -{ - vector tmp = v1; - transform(tmp.begin(), tmp.end(), v2.begin(), tmp.begin(), plus()); - return tmp; -} - -template vector operator-(const vector& v1, const vector& v2) -{ - vector tmp = v1; - transform(tmp.begin(), tmp.end(), v2.begin(), tmp.begin(), minus()); - return tmp; -} - -template T operator*(const vector& v1, const vector& v2) -{ - return inner_product(v1.begin(), v1.end(), v2.begin(), static_cast(0)); -} - -template T operator/(const vector& v1, const vector& v2) -{ - return inner_product(v1.begin(), v1.end(), v2.begin(), static_cast(0), - plus(), divides()); -} - -//----------------------------------------------------------------------------- -// vector += vector -//----------------------------------------------------------------------------- - -template vector& operator+=(vector& v1, const vector& v2) -{ - transform(v1.begin(), v1.end(), v2.begin(), v1.begin(), plus()); - return v1; -} - -template vector& operator-=(vector& v1, const vector& v2) -{ - transform(v1.begin(), v1.end(), v2.begin(), v1.begin(), minus()); - return v1; -} - -//----------------------------------------------------------------------------- -// vector + number -//----------------------------------------------------------------------------- - -template vector operator+(const vector& a, const B& b) -{ - vector tmp = a; - transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(plus(), b)); - return tmp; -} - -template vector operator-(const vector& a, const B& b) -{ - vector tmp = a; - transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(minus(), b)); - return tmp; -} - -template vector operator*(const vector& a, const B& b) -{ - vector tmp = a; - transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(multiplies(), b)); - return tmp; -} - -template vector operator/(const vector& a, const B& b) -{ - vector tmp = a; - transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(divides(), b)); - return tmp; -} - -//----------------------------------------------------------------------------- -// number + vector -//----------------------------------------------------------------------------- - -template vector operator+(const B& b, const vector& a) -{ - vector tmp = a; - transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(plus(), b)); - return tmp; -} - -template vector operator-(const B& b, const vector& a) -{ - vector tmp(a.size(), b); - transform(tmp.begin(), tmp.end(), a.begin(), tmp.begin(), minus()); - return tmp; -} - -template vector operator*(const B& b, const vector& a) -{ - vector tmp = a; - transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(multiplies(), b)); - return tmp; -} - -template vector operator/(const B& b, const vector& a) -{ - vector tmp(a.size(), b); - transform(tmp.begin(), tmp.end(), a.begin(), tmp.begin(), divides()); - return tmp; -} - -//----------------------------------------------------------------------------- -// vector += number -//----------------------------------------------------------------------------- - -template vector& operator+=(vector& a, const B& b) -{ - transform(a.begin(), a.end(), a.begin(), bind2nd(plus(), b)); - return a; -} - -template vector& operator-=(vector& a, const B& b) -{ - transform(a.begin(), a.end(), a.begin(), bind2nd(minus(), b)); - return a; -} - -template vector& operator*=(vector& a, const B& b) -{ - transform(a.begin(), a.end(), a.begin(), bind2nd(multiplies(), b)); - return a; -} - -template vector& operator/=(vector& a, const B& b) -{ - transform(a.begin(), a.end(), a.begin(), bind2nd(divides(), b)); - return a; -} - -//----------------------------------------------------------------------------- -// I/O -//----------------------------------------------------------------------------- - -template ostream& operator<<(ostream& os, const vector& v) -{ - os << '<'; - if (v.size()) - { - copy(v.begin(), v.end() - 1, ostream_iterator(os, " ")); - os << v.back(); - } - return os << '>'; -} - -template istream& operator>>(istream& is, vector& v) -{ - v.clear(); - - char c; - is >> c; - if (!is || c != '<') - is.setstate(ios::failbit); - else - { - T t; - do { - is >> c; - if (is && c!= '>') - { - is.putback(c); - is >> t; - if (is) - v.push_back(t); - } - } while (is && c != '>'); - } - - return is; -} - -//----------------------------------------------------------------------------- -// euclidean_distance -//----------------------------------------------------------------------------- - -template T euclidean_distance(const vector& v1, - const vector& v2) -{ - T sum = 0, tmp; - - for (unsigned i = 0; i < v1.size(); ++i) - { - tmp = v1[i] - v2[i]; - sum += tmp * tmp; - } - - return sqrt(sum); -} - -//----------------------------------------------------------------------------- - -#endif - diff --git a/trunk/paradiseo-eo/app/gpsymreg/.cvsignore b/trunk/paradiseo-eo/app/gpsymreg/.cvsignore deleted file mode 100644 index 70845e08e..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.in diff --git a/trunk/paradiseo-eo/app/gpsymreg/CVS/Entries b/trunk/paradiseo-eo/app/gpsymreg/CVS/Entries deleted file mode 100644 index 3c6e51430..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.1/Fri Sep 17 17:00:04 2004// -/Makefile.am/1.7/Sun Oct 2 21:42:08 2005// -/fitness.h/1.7/Mon Mar 27 18:55:19 2006// -/main.cpp/1.6/Wed Oct 5 21:34:19 2005// -/node.h/1.6/Mon Feb 4 14:28:00 2002// -/parameters.h/1.1/Thu Jun 28 14:39:36 2001// -D diff --git a/trunk/paradiseo-eo/app/gpsymreg/CVS/Repository b/trunk/paradiseo-eo/app/gpsymreg/CVS/Repository deleted file mode 100644 index 54901c042..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/app/gpsymreg diff --git a/trunk/paradiseo-eo/app/gpsymreg/CVS/Root b/trunk/paradiseo-eo/app/gpsymreg/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/app/gpsymreg/Makefile.am b/trunk/paradiseo-eo/app/gpsymreg/Makefile.am deleted file mode 100644 index 0ada4ba5e..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -# Makefile.am for app/gpsymreg - -noinst_PROGRAMS = gpsymreg - -gpsymreg_SOURCES = main.cpp - -noinst_HEADERS = fitness.h node.h parameters.h - - -LIBEO = $(top_builddir)/src/libeo.a -LIBEOUTILS = $(top_builddir)/src/utils/libeoutils.a - -AM_CXXFLAGS = -I$(top_srcdir)/src -DEPS = $(LIBEO) $(LIBEOUTILS) -LIBS = $(LIBEO) $(LIBEOUTILS) diff --git a/trunk/paradiseo-eo/app/gpsymreg/fitness.h b/trunk/paradiseo-eo/app/gpsymreg/fitness.h deleted file mode 100644 index d8a3f5482..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/fitness.h +++ /dev/null @@ -1,228 +0,0 @@ -/* - This library is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - jeggermo@liacs.nl -*/ - -#ifndef _FITNESS_FUNCTION_H -#define _FITNESS_FUNCTION_H - -#include -#include - -#include -#include "parameters.h" -#include "node.h" - -using namespace gp_parse_tree; -using namespace std; - - - -// the first fitness is the normal goal fitness -// the second fitness is the tree size (we prefer smaller trees) -// lets use names to define the different fitnesses -#define NORMAL 0 // Stepwise Adaptation of Weights Fitness -#define SMALLESTSIZE 1 // The size of the tree, we want to minimize this one -- statistics will tell us the smallest tree size - - -// Look: overloading the maximization without overhead (thing can be inlined) -class MinimizingFitnessTraits : public eoParetoFitnessTraits -{ - public : - static bool maximizing(int which) { return false;} // we want to minimize both fitnesses - static unsigned nObjectives() { return 2;} // the number of fitnesses } -}; - -// Lets define our MultiObjective FitnessType -typedef eoParetoFitness FitnessType; - - -// John Koza's sextic polynomial (our example problem) - -double sextic_polynomial(double x) -{ - double result=0; - result = pow(x,6) - (2*pow(x,4)) + pow(x,2); - return result; -}; - -// we use the following functions for the basic math functions - -double _plus(double arg1, double arg2) -{ - return arg1 + arg2; -} - -double _minus(double arg1, double arg2) -{ - return arg1 - arg2; -} - -double _multiplies(double arg1, double arg2) -{ - return arg1 * arg2; -} - -// the function for a protected divide looks a little bit different -double _divides(double arg1, double arg2) -{ - if (arg2 ==0) - return 0; - else - return arg1 / arg2; -} - -double _negate(double arg1) -{ - return -arg1; -} - - - -// now let's define our tree nodes - -void init(vector &initSequence) -{ - - // we have only one variable (X) - Operation varX( (unsigned int) 0, string("X") ); - - - // the main binary operators - Operation OpPLUS ( _plus, string("+")); - Operation OpMINUS( _minus,string("-")); - Operation OpMULTIPLIES(_multiplies,string("*")); - // We can use a protected divide function. - Operation OpDIVIDE( _divides, string("/") ); - - - // Now the functions as binary functions - Operation PLUS( string("plus"), _plus); - Operation MINUS( string("minus"), _minus); - Operation MULTIPLIES( string("multiply"), _multiplies); - Operation DIVIDE( string("divide"), _divides); - - - // and some unary functions - Operation NEGATE( _negate,string("-")); - Operation SIN ( sin, string("sin")); - Operation COS ( cos, string("cos")); - - // Now we are ready to add the possible nodes to our initSequence (which is used by the eoDepthInitializer) - - // so lets start with our variable - initSequence.push_back(varX); - - // followed by the constants 2, 4, 6 - for(unsigned int i=2; i <= 6; i+=2) - { - char text[255]; - sprintf(text, "%i", i); - Operation op(i*1.0, text); - initSequence.push_back( op ); - // and we add the variable again (so we have get lots of variables); - initSequence.push_back( varX ); - } - - // next we add the unary functions - - initSequence.push_back( NEGATE ); - initSequence.push_back( SIN ); - initSequence.push_back( COS ); - - // and the binary functions - initSequence.push_back( PLUS); - initSequence.push_back( MINUS ); - initSequence.push_back( MULTIPLIES ); - initSequence.push_back( DIVIDE ); - - // and the binary operators - initSequence.push_back( OpPLUS); - initSequence.push_back( OpMINUS ); - - initSequence.push_back( OpMULTIPLIES ); - initSequence.push_back( OpDIVIDE ); - - -}; - - - -class RegFitness: public eoEvalFunc< eoParseTree > -{ - public: - - typedef eoParseTree EoType; - - void operator()(EoType &_eo) - { - - vector< double > input(1); // the input variable(s) - double output(0.); - double target; - FitnessType fitness; - - - float x=0; - double fit=0; - for(x=-1; x <= 1; x+=0.1) - { - input[0] = x; - target = sextic_polynomial(x); - _eo.apply(output,input); - - fit += pow(target - output, 2); - } - - fitness[NORMAL] = fit; - - fitness[SMALLESTSIZE] = _eo.size() / (1.0*parameter.MaxSize); - _eo.fitness(fitness); - - if (fitness[NORMAL] < best[NORMAL]) - { - best[NORMAL] = fitness[NORMAL]; - tree=""; - _eo.apply(tree); - } - - } - - - - RegFitness(eoValueParam &_generationCounter, vector< Node > &initSequence, Parameters &_parameter) : eoEvalFunc(), generationCounter(_generationCounter), parameter(_parameter) - { - init(initSequence); - best[NORMAL] = 1000; - tree= "not found"; - }; - - ~RegFitness() - { - cerr << "Best Fitness= " << best[NORMAL] << endl; - cerr << tree << endl; - }; - - private: - eoValueParam &generationCounter; // so we know the current generation - Parameters ¶meter; // the parameters - FitnessType best; // the best found fitness - string tree; -}; - -#endif - diff --git a/trunk/paradiseo-eo/app/gpsymreg/main.cpp b/trunk/paradiseo-eo/app/gpsymreg/main.cpp deleted file mode 100644 index aeb7c6450..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/main.cpp +++ /dev/null @@ -1,172 +0,0 @@ -/* - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - jeggermo@liacs.nl -*/ - -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include "gp/eoParseTree.h" -#include "eo" - -using namespace gp_parse_tree; -using namespace std; - -//----------------------------------------------------------------------------- - -#include "node.h" -#include "parameters.h" -#include "fitness.h" - - -// TYPE DECLARATIONS FOR GP - - -typedef eoParseTree EoType; -typedef eoPop Pop; - -//----------------------------------------------------------------------------- - -int main(int argc, char *argv[]) -{ - - // the vector containing the possible nodes - vector initSequence; - - // initialise parameters - Parameters parameter(argc, argv); - - // set the randomseed - rng.reseed(parameter.randomseed); - - // Create a generation counter - eoValueParam generationCounter(0, "Gen."); - - // Create an incrementor (sub-class of eoUpdater). Note that the - // parameter's value is passed by reference, - // so every time the incrementer is updated (every generation), - // the data in generationCounter will change. - eoIncrementor increment(generationCounter.value()); - - - // create an instantiation of the fitness/evaluation function - // it initializes the initSequence vector - // the parameters are passed on as well - RegFitness eval(generationCounter, initSequence, parameter); - - // Depth Initializor, set for Ramped Half and Half Initialization - eoParseTreeDepthInit initializer(parameter.InitMaxDepth, initSequence, true, true); - - // create the initial population - Pop pop(parameter.population_size, initializer); - - // and evaluate the individuals - apply(eval, pop); - - generationCounter.value()++; // set the generationCounter to 1 - - - // define X-OVER - - eoSubtreeXOver xover(parameter.MaxSize); - - // define MUTATION - eoBranchMutation mutation(initializer, parameter.MaxSize); -// eoExpansionMutation mutation(initializer, parameter.MaxSize); -// eoCollapseSubtreeMutation mutation(initializer, parameter.MaxSize); -// eoPointMutation mutation(initSequence); -// eoHoistMutation mutation; - - // The operators are encapsulated into an eoTRansform object, - // that performs sequentially crossover and mutation - eoSGATransform transform(xover, parameter.xover_rate, mutation, parameter.mutation_rate); - - // The robust tournament selection - // in our case 5-tournament selection - eoDetTournamentSelect selectOne(parameter.tournamentsize); - // is now encapsulated in a eoSelectMany - eoSelectMany select(selectOne, parameter.offspring_size, eo_is_an_integer); - - // and the generational replacement - //eoGenerationalReplacement replace; - // or the SteadtState replacment - //eoSSGAWorseReplacement replace; - // or comma selection - eoCommaReplacement replace; - - // Terminators - eoGenContinue term(parameter.nGenerations); - - eoCheckPoint checkPoint(term); - - // STATISTICS - eoAverageStat avg; - eoBestFitnessStat best; - - - // Add it to the checkpoint, - // so the counter is updated (here, incremented) every generation - checkPoint.add(increment); - checkPoint.add(avg); - checkPoint.add(best); - -#ifdef HAVE_GNUPLOT - eoGnuplot1DMonitor gnuplotmonitor("gnuplotBestStats"); - gnuplotmonitor.add(generationCounter); - gnuplotmonitor.add(best); - // we need to add a empty string variable if we want to seed the second fitness value - eoValueParam dummy1("", "Smallest Tree Size"); - gnuplotmonitor.add(dummy1); - - eoGnuplot1DMonitor gnuplotAvgmonitor("gnuplotAvgStats"); - gnuplotAvgmonitor.add(generationCounter); - gnuplotAvgmonitor.add(avg); - // we need to add a empty string variable if we want to seed the second fitness value - eoValueParam dummy2("", "Average Tree Size"); - gnuplotAvgmonitor.add(dummy2); - - checkPoint.add(gnuplotmonitor); - checkPoint.add(gnuplotAvgmonitor); -#endif - // GP Generation - eoEasyEA gp(checkPoint, eval, select, transform, replace); - - cout << "Initialization done" << endl; - - - try - { - gp(pop); - } - catch (exception& e) - { - cout << "exception: " << e.what() << endl;; - exit(EXIT_FAILURE); - } - - return 1; - -}; - - - diff --git a/trunk/paradiseo-eo/app/gpsymreg/node.h b/trunk/paradiseo-eo/app/gpsymreg/node.h deleted file mode 100644 index 85aa4479e..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/node.h +++ /dev/null @@ -1,248 +0,0 @@ -/* - This library is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - jeggermo@liacs.nl -*/ - -#ifndef _NODE_H -#define _NODE_H - - - -#include -#include -#include // for finite(double) function - -using namespace gp_parse_tree; -using namespace std; - - -/* A new Operation and Node class for even more flexibility. - - Improvements over the t-eoSymreg code are: - - * No hardcoded functions or operators. The Operation and Node class below - allow you to specify your own unary and binary functions as well as - binary operators (like +,-,*,/). Moreover you can detemine if you want - to allow primitve subroutines with either one or two arguments. - - If a Node has a subroutine Operation it will take evaluate the first - (and possible second) child branch and use them as input variables for - the remaining second (or third) child branch. -*/ - - -typedef enum {Variable, UFunction, BFunction, BOperator, Const} Type; - -typedef double (*BinaryFunction)(const double,const double); -typedef double (*UnaryFunction)(const double); - -struct Operation -{ - public: - - typedef unsigned int VariableID; - typedef string Label; - - - // if your compiler allows you to have nameless unions you can make this a - // union by removing the //'s below - - //union - //{ - UnaryFunction uFunction; - BinaryFunction bFunction; - VariableID id; - double constant; - //}; - - - - Label label; - Type type; - - // the default constructor results in a constant with value 0 - Operation() : constant(0), label("0"), type(Const){}; - // two possible constructors for Unary Functions - Operation(UnaryFunction _uf, Label _label): uFunction(_uf), label(_label), type(UFunction) {}; - Operation(Label _label, UnaryFunction _uf): uFunction(_uf), label(_label), type(UFunction) {}; - - // Watch out there are two constructors using pointers two binary functions: - // Binary Function (printed as label(subtree0,subtree1) (e.g. pow(x,y)) - // Binary Operator (printed as (subtree0 label subtree1) (e.g. x^y) - // The difference is purely cosmetic. - - // If you specify the label before the function pointer -> Binary Function - Operation(Label _label, BinaryFunction _bf): bFunction(_bf), label(_label), type(BFunction) {}; - // If you specify the function pointer before the label -> Binary Operator - Operation(BinaryFunction _bf, Label _label): bFunction(_bf), label(_label), type(BOperator) {}; - - // A constructor for variables - Operation(VariableID _id, Label _label): id(_id), label(_label), type(Variable) {}; - // A constructor for constants - Operation(double _constant, Label _label): constant(_constant), label(_label), type(Const) {}; - - - Operation(const Operation &_op) - { - switch(_op.type) - { - case Variable: id = _op.id; break; - case UFunction: uFunction = _op.uFunction; break; - case BFunction: bFunction = _op.bFunction; break; - case BOperator: bFunction = _op.bFunction; break; - case Const: constant = _op.constant; break; - } - type = _op.type; - label = _op.label; - }; - virtual ~Operation(){}; - -}; - - -class Node -{ - private: - Operation op; - - public: - - Node(void): op(Operation()){}; - Node(Operation &_op) : op(_op){}; - virtual ~Node(void) {} - - int arity(void) const - { - switch(op.type) - { - case Variable: return 0; - case UFunction: return 1; - case BFunction: return 2; - case BOperator: return 2; - case Const: return 0; - } - return 0; - } - - void randomize(void) {} - - template - void operator()(double& result, Children args, vector &var) const - { - double result0; - double result1; - - - switch(op.type) - { - case Variable: result = var[op.id%var.size()]; //%var.size() used in the case of Subroutines and as a security measure - break; - case UFunction: args[0].apply(result0, var); - result = op.uFunction(result0); - break; - case BFunction: - case BOperator: args[0].apply(result0, var); - args[1].apply(result1, var); - result = op.bFunction(result0,result1); - break; - case Const: result = op.constant; - break; - - } - - } - - template - void operator()(string& result, Children args) const - { - - string subtree0; - string subtree1; - string subtree2; - - switch(op.type) - { - - case Variable: - case Const: result += op.label; - break; - - case UFunction: result += op.label; - result += "("; - args[0].apply(subtree0); - result += subtree0; - result += ")"; - break; - case BFunction: result += op.label; - result += "("; - args[0].apply(subtree0); - result += subtree0; - result += ","; - args[1].apply(subtree1); - result += subtree1; - result += ")"; - break; - case BOperator: result += "("; - args[0].apply(subtree0); - result += subtree0; - result += op.label; - args[1].apply(subtree1); - result += subtree1; - result += ")"; - break; - default: result += "ERROR in Node::operator(string,...) \n"; break; - } - } - - Operation getOp(void) const {return op;} - -}; - - - - - - - - - - - -//----------------------------------------------------------- -// saving, loading LETS LEAVE IT OUT FOR NOW - - - -std::ostream& operator<<(std::ostream& os, const Node& eot) -{ - Operation op(eot.getOp()); - - os << (eot.getOp()).label; - return os; -} - - -// we can't load because we are using function pointers. Instead we prevent a compiler warning by calling the arity() function. -std::istream& operator>>(std::istream& is, Node& eot) -{ - eot.arity(); - return is; -} - - - -#endif diff --git a/trunk/paradiseo-eo/app/gpsymreg/parameters.h b/trunk/paradiseo-eo/app/gpsymreg/parameters.h deleted file mode 100644 index 4cd23ec09..000000000 --- a/trunk/paradiseo-eo/app/gpsymreg/parameters.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - This library is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - jeggermo@liacs.nl -*/ - -#ifndef _PARAMETERS_FUNCTION_H -#define _PARAMETERS_FUNCTION_H - -#include -#include - -using namespace gp_parse_tree; -using namespace std; - -struct Parameters{ - unsigned int nGenerations; // -G - unsigned population_size; // -P - unsigned offspring_size; // -O - unsigned int MaxSize; // -S - unsigned int InitMaxDepth; // -D - unsigned int randomseed; // -R - double xover_rate; // -x - double mutation_rate; // -y - unsigned int tournamentsize; // -t - - - Parameters(int argc, char **argv) - { - eoParser parser(argc,argv); - - // generations - eoValueParam paramGenerations(1, "generations", "Generations", 'G', false); - parser.processParam( paramGenerations ); - nGenerations = paramGenerations.value(); - cerr << "nGenerations= " << nGenerations << endl; - - // populationsize - eoValueParam paramPopulationSize(10, "populationsize", "PopulationSize", 'P', false); - parser.processParam( paramPopulationSize ); - population_size = paramPopulationSize.value(); - cerr << "population_size= " << population_size << endl; - - // offspringsize - eoValueParam paramOffspringSize(population_size, "offspringsize", "OffspringSize", 'O', false); - parser.processParam( paramOffspringSize ); - offspring_size = paramOffspringSize.value(); - cerr << "offspring_size= " << offspring_size << endl; - - // maxsize - eoValueParam paramMaxSize(15, "maxsize", "MaxSize", 'S', false); - parser.processParam( paramMaxSize ); - MaxSize = paramMaxSize.value(); - cerr << "MaxSize= " << MaxSize << endl; - - // initialmaxdepth - eoValueParam paramInitialMaxDepth(4, "initialmaxdepth", "InitialMaxDepth", 'D', false); - parser.processParam( paramInitialMaxDepth ); - InitMaxDepth = paramInitialMaxDepth.value(); - cerr << "InitMaxDepth= " << InitMaxDepth << endl; - - // randomseed - eoValueParam paramRandomSeed(1, "randomseed", "Random Seed", 'R', false); - parser.processParam( paramRandomSeed ); - randomseed = paramRandomSeed.value(); - cerr << "randomseed= " << randomseed << endl; - - - // crossover-rate - eoValueParam paramXover(0.75, "crossoverrate", "crossover rate", 'x', false); - parser.processParam(paramXover ); - xover_rate = paramXover.value(); - cerr << "xover_rate= " << xover_rate << endl; - - //mutation-rate - eoValueParam paramMutation(0.25, "mutationrate", "mutation rate", 'm', false); - parser.processParam(paramMutation ); - mutation_rate = paramMutation.value(); - cerr << "mutation_rate= " << mutation_rate << endl; - - //tournament size - eoValueParam paramTournamentSize(5, "tournamentsize", "tournament size", 't', false); - parser.processParam(paramTournamentSize ); - tournamentsize = paramTournamentSize.value(); - cerr << "Tournament Size= " << tournamentsize << endl; - - - if (parser.userNeedsHelp()) - { - parser.printHelp(cout); - exit(1); - } - - }; - - ~Parameters(){}; -}; - -#endif diff --git a/trunk/paradiseo-eo/app/master/CVS/Entries b/trunk/paradiseo-eo/app/master/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/app/master/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/app/master/CVS/Repository b/trunk/paradiseo-eo/app/master/CVS/Repository deleted file mode 100644 index 9d16e7422..000000000 --- a/trunk/paradiseo-eo/app/master/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/app/master diff --git a/trunk/paradiseo-eo/app/master/CVS/Root b/trunk/paradiseo-eo/app/master/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/app/master/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/app/mastermind/.cvsignore b/trunk/paradiseo-eo/app/mastermind/.cvsignore deleted file mode 100644 index 2b85cb056..000000000 --- a/trunk/paradiseo-eo/app/mastermind/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -Makefile.in -Makefile -mastermind -.deps diff --git a/trunk/paradiseo-eo/app/mastermind/CVS/Entries b/trunk/paradiseo-eo/app/mastermind/CVS/Entries deleted file mode 100644 index ad51786f6..000000000 --- a/trunk/paradiseo-eo/app/mastermind/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.cvsignore/1.1/Mon Dec 11 09:28:40 2000// -/Makefile.am/1.6/Sun Oct 2 21:42:08 2005// -/mastermind.cpp/1.5/Thu Dec 23 15:29:07 2004// -/mastermind.h/1.9/Sun Oct 2 21:42:08 2005// -D diff --git a/trunk/paradiseo-eo/app/mastermind/CVS/Repository b/trunk/paradiseo-eo/app/mastermind/CVS/Repository deleted file mode 100644 index 39d31c0b0..000000000 --- a/trunk/paradiseo-eo/app/mastermind/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/app/mastermind diff --git a/trunk/paradiseo-eo/app/mastermind/CVS/Root b/trunk/paradiseo-eo/app/mastermind/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/app/mastermind/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/app/mastermind/Makefile.am b/trunk/paradiseo-eo/app/mastermind/Makefile.am deleted file mode 100644 index 91caec05d..000000000 --- a/trunk/paradiseo-eo/app/mastermind/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -# Makefile.am for app/mastermind - -noinst_PROGRAMS = mastermind - -mastermind_SOURCES = mastermind.cpp - -noinst_HEADERS = mastermind.h - -LIBEO = $(top_builddir)/src/libeo.a -LIBEOUTILS = $(top_builddir)/src/utils/libeoutils.a - -AM_CXXFLAGS = -I$(top_srcdir)/src -DEPS = $(LIBEO) $(LIBEOUTILS) -LIBS = $(LIBEO) $(LIBEOUTILS) diff --git a/trunk/paradiseo-eo/app/mastermind/mastermind.cpp b/trunk/paradiseo-eo/app/mastermind/mastermind.cpp deleted file mode 100644 index 9a2ed163e..000000000 --- a/trunk/paradiseo-eo/app/mastermind/mastermind.cpp +++ /dev/null @@ -1,138 +0,0 @@ -//----------------------------------------------------------------------------- -// mastermind -//----------------------------------------------------------------------------- - -#include // EXIT_SUCCESS EXIT_FAILURE -#include // exception -#include // cerr cout -#include // ifstream -#include // string -#include // all usefull eo stuff - -#include "mastermind.h" // Chrom eoChromInit eoChromMutation eoChromXover eoChromEvaluator - -using namespace std; - -//----------------------------------------------------------------------------- -// global variables -//----------------------------------------------------------------------------- - -unsigned in, out, hidden; - -//----------------------------------------------------------------------------- -// parameters -//----------------------------------------------------------------------------- - -eoValueParam pop_size(16, "pop_size", "population size", 'p'); -eoValueParam generations(100, "generations", "number of generation", 'g'); -eoValueParam mut_rate(0.1, "mut_rate", "mutation rate", 'm'); -eoValueParam xover_rate(0.5, "xover_rate", "default crossover rate", 'x'); -eoValueParam col_p(default_colors, "colors", "number of colors", 'c'); -eoValueParam len_p(default_length, "legth", "solution legth", 'l'); -eoValueParam sol_p(default_solution, "solution", "problem solution", 's'); - -//----------------------------------------------------------------------------- -// auxiliar functions -//----------------------------------------------------------------------------- - -void arg(int argc, char** argv); -void ga(); - -//----------------------------------------------------------------------------- -// main -//----------------------------------------------------------------------------- - -int main(int argc, char** argv) -{ - try - { - arg(argc, argv); - ga(); - } - catch (exception& e) - { - cerr << argv[0] << ": " << e.what() << endl; - exit(EXIT_FAILURE); - } - - return 0; -} - -//----------------------------------------------------------------------------- -// implementation -//----------------------------------------------------------------------------- - -void arg(int argc, char** argv) -{ - eoParser parser(argc, argv); - - parser.processParam(pop_size, "genetic operators"); - parser.processParam(generations, "genetic operators"); - parser.processParam(mut_rate, "genetic operators"); - parser.processParam(xover_rate, "genetic operators"); - parser.processParam(col_p, "problem"); - parser.processParam(len_p, "problem"); - parser.processParam(sol_p, "problem"); - - if (parser.userNeedsHelp()) - { - parser.printHelp(cout); - exit(EXIT_SUCCESS); - } - - init_eoChromEvaluator(col_p.value(), len_p.value(), sol_p.value()); -} - -//----------------------------------------------------------------------------- - -void ga() -{ - // create population - eoInitChrom init; - eoPop pop(pop_size.value(), init); - - // evaluate population - eoEvalFuncPtr evaluator(eoChromEvaluator); - apply(evaluator, pop); - - // selector - eoProportionalSelect select(pop); - - // genetic operators - eoChromMutation mutation; - eoChromXover xover; - - // stop condition - eoGenContinue continuator1(generations.value()); - eoFitContinue continuator2(solution.fitness()); - eoCombinedContinue continuator(continuator1, continuator2); - - // checkpoint - eoCheckPoint checkpoint(continuator); - - // monitor - eoStdoutMonitor monitor; - checkpoint.add(monitor); - - // statistics - eoBestFitnessStat stats; - checkpoint.add(stats); - monitor.add(stats); - - // genetic algorithm - eoSGA sga(select, - xover, xover_rate.value(), - mutation, mut_rate.value(), - evaluator, - checkpoint); - sga(pop); - - cout << "solution = " << solution << endl - << "best = " << *max_element(pop.begin(), pop.end()) << endl; -} - -//----------------------------------------------------------------------------- - -// Local Variables: -// mode:C++ -// End: diff --git a/trunk/paradiseo-eo/app/mastermind/mastermind.h b/trunk/paradiseo-eo/app/mastermind/mastermind.h deleted file mode 100644 index 60cd2662c..000000000 --- a/trunk/paradiseo-eo/app/mastermind/mastermind.h +++ /dev/null @@ -1,199 +0,0 @@ -//----------------------------------------------------------------------------- -// mastermind.h -//----------------------------------------------------------------------------- - -#ifndef mastermind_h -#define mastermind_h - -//----------------------------------------------------------------------------- - -#include // exit EXIT_FAILURE -#include // eoVectorLength -#include // eoMonOp eoQuadraticOp -#include // eoInit -#include "utils/rnd_generators.h" // uniform_generator - -//----------------------------------------------------------------------------- -// phenotype -//----------------------------------------------------------------------------- - -typedef float phenotype; - -//----------------------------------------------------------------------------- -// genotype -//----------------------------------------------------------------------------- - -typedef std::vector genotype; - -//----------------------------------------------------------------------------- -// Chrom -//----------------------------------------------------------------------------- - -typedef eoVector Chrom; - -//----------------------------------------------------------------------------- -// eoChromEvaluator -//----------------------------------------------------------------------------- - -// const unsigned points_per_black = 3, points_per_white = 1; -Chrom solution; - -phenotype eoChromEvaluator(const Chrom& chrom) -{ - Chrom tmp = solution; - unsigned black = 0, white = 0; - - // look for blacks - for (unsigned i = 0; i < chrom.size(); ++i) - if (chrom[i] == tmp[i]) - { - ++black; - tmp[i] = -1; - } - - // look for whites - for (unsigned i = 0; i < chrom.size(); ++i) - for (unsigned j = 0; j < tmp.size(); ++j) - if (chrom[i] == tmp[j]) - { - ++white; - tmp[j] = -1; - break; - } - - // return black * points_per_black + white * points_per_white; - return black * chrom.size() + white; -}; - -const unsigned default_length = 8; -const unsigned default_colors = 8; -const std::string default_solution = "01234567"; - - -unsigned num_colors; - -void init_eoChromEvaluator(const unsigned& c, const unsigned& l, std::string s) -{ - num_colors = c; - - // check consistency between parameters - if (s != default_solution) - { - // check length - if (l != default_length && s.size() != l) - { - std::cerr << "solution length != length" << std::endl; - exit(EXIT_FAILURE); - } - - // check number of colors - if ((c != default_colors) && (c < unsigned(*max_element(s.begin(), s.end()) - '0'))) - { - std::cerr << "too high color number found!" << std::endl; - exit(EXIT_FAILURE); - } - } - else - if (l != default_length || c != default_colors ) - // generate a random solution - if(num_colors <= 10) - { - uniform_generator color('0', static_cast('0' + c)); - s.resize(l); - generate(s.begin(), s.end(), color); - } - - // put the solution parameter on the solution chromosome - if (num_colors <= 10) - { - solution.resize(s.size()); - for (unsigned i = 0; i < solution.size(); ++i) - solution[i] = s[i] - '0'; - } - else - { - solution.resize(l); - uniform_generator color(0, num_colors); - generate(solution.begin(), solution.end(), color); - } - - solution.fitness(eoChromEvaluator(solution)); -} - -//----------------------------------------------------------------------------- -// eoChromInit -//----------------------------------------------------------------------------- - -class eoInitChrom: public eoInit -{ -public: - void operator()(Chrom& chrom) - { - uniform_generator color(0, num_colors); - chrom.resize(solution.size()); - generate(chrom.begin(), chrom.end(), color); - chrom.invalidate(); - } -}; - -//----------------------------------------------------------------------------- -// eoChromMutation -//----------------------------------------------------------------------------- - -class eoChromMutation: public eoMonOp -{ - // many operators in one :( - bool operator()(Chrom& chrom) - { - uniform_generator what(0, 2); - uniform_generator position(0, chrom.size()); - - switch(what()) - { - case 0: - { - // mutation - uniform_generator color(0, num_colors); - chrom[position()] = color(); - break; - } - case 1: - { - // transposition - std::swap(chrom[position()], chrom[position()]); - break; - } - default: - { - std::cerr << "unknown operator!" << std::endl; - exit(EXIT_FAILURE); - break; - } - } - - return true; - } -}; - -//----------------------------------------------------------------------------- -// eoChromXover -//----------------------------------------------------------------------------- - -class eoChromXover: public eoQuadOp -{ -public: - bool operator()(Chrom& chrom1, Chrom& chrom2) - { - uniform_generator position(0, chrom1.size()); - swap_ranges(chrom1.begin(), chrom1.begin() + position(), chrom2.begin()); - return true; - } -}; - -//----------------------------------------------------------------------------- - -#endif // mastermind_h - -// Local Variables: -// mode:C++ -// End: diff --git a/trunk/paradiseo-eo/autogen.sh b/trunk/paradiseo-eo/autogen.sh deleted file mode 100755 index 7825332c3..000000000 --- a/trunk/paradiseo-eo/autogen.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -DIE=0 -PROG=eo - -(autoconf --version) < /dev/null > /dev/null 2>&1 || -{ - echo - echo "You must have autoconf installed to compile $PROG." - DIE=1 -} - -(automake --version) < /dev/null > /dev/null 2>&1 || -{ - echo - echo "You must have automake installed to compile $PROG." - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 -fi - -set aclocalinclude="$ACLOCAL_FLAGS" -aclocal $aclocalinclude -unset $aclocalinclude -autoheader -automake -a -c -autoconf - -# we want doc to be recompiled - and it keeps saying it's up to date!!! -# touch doc/eo.cfg - -echo -echo "Now run 'configure' and 'make' to build $PROG." -echo "You can check the libraries by running 'make check'" -echo -echo "If you have Doxygen installed, type 'make doc' to generate $PROG documentation." -echo diff --git a/trunk/paradiseo-eo/build-freebsd-x86/CVS/Entries b/trunk/paradiseo-eo/build-freebsd-x86/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/build-freebsd-x86/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/build-freebsd-x86/CVS/Repository b/trunk/paradiseo-eo/build-freebsd-x86/CVS/Repository deleted file mode 100644 index fca224234..000000000 --- a/trunk/paradiseo-eo/build-freebsd-x86/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/build-freebsd-x86 diff --git a/trunk/paradiseo-eo/build-freebsd-x86/CVS/Root b/trunk/paradiseo-eo/build-freebsd-x86/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/build-freebsd-x86/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/build-linux-x86/CVS/Entries b/trunk/paradiseo-eo/build-linux-x86/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/build-linux-x86/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/build-linux-x86/CVS/Repository b/trunk/paradiseo-eo/build-linux-x86/CVS/Repository deleted file mode 100644 index 4216116a2..000000000 --- a/trunk/paradiseo-eo/build-linux-x86/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/build-linux-x86 diff --git a/trunk/paradiseo-eo/build-linux-x86/CVS/Root b/trunk/paradiseo-eo/build-linux-x86/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/build-linux-x86/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/configure.in b/trunk/paradiseo-eo/configure.in deleted file mode 100644 index 9f30947f0..000000000 --- a/trunk/paradiseo-eo/configure.in +++ /dev/null @@ -1,74 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -dnl -dnl Change the version number here -AC_INIT([Evolving Objects], [0.9.4-cvs], [eodev-help@sourceforge.net], [eo]) -AC_PREREQ(2.53) - -dnl make sure we are compiling from the correct sources -AC_CONFIG_SRCDIR(src/eoOp.h) - -dnl define host, build, and target machine -AC_CANONICAL_BUILD -AC_CANONICAL_HOST -AC_CANONICAL_TARGET - -dnl automake initialization -AM_INIT_AUTOMAKE([gnu dist-bzip2 dist-zip]) -AM_CONFIG_HEADER(config.h) - -dnl Checks for programs. -AC_PROG_CC -AC_PROG_CXX -AC_PROG_INSTALL -AC_PROG_LN_S -AC_PROG_MAKE_SET -AC_PROG_RANLIB -AC_PATH_PROG([AR], [ar], [false], [$PATH:/usr/ccs/bin]) # solaris-x86 needs extra path -AC_ARG_VAR([DOXYGEN], [automatic documentation generation]) -AC_CHECK_PROGS([DOXYGEN], [doxygen], [true]) - -dnl Checks for header files. -AC_LANG(C++) -AC_HEADER_STDC -AC_CHECK_HEADERS(limits, [], AC_MSG_ERROR([Need limits C++ include.])) -AC_CHECK_HEADERS(sstream, [], AC_MSG_ERROR([Need sstream C++ include.])) -AC_CHECK_HEADERS(stdint.h, [], AC_MSG_WARN([Need C99 standard header.])) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_CHECK_SIZEOF(unsigned long) -AC_CHECK_TYPES(uint32_t, [], AC_MSG_WARN([Need uint32_t from C99 standard.])) -AC_TYPE_SIZE_T - -dnl Checks for libraries. - -dnl Checks for library functions. -AC_CHECK_LIB(m, cos) - -dnl user-switches -AC_APPLICATIONS -AC_GNUPLOT -AC_TUTORIAL - -dnl create makefiles -AC_OUTPUT(Makefile \ - app/Makefile \ - app/mastermind/Makefile \ - app/gprop/Makefile \ - app/gpsymreg/Makefile \ - contrib/Makefile \ - doc/Makefile \ - src/Makefile \ - src/do/Makefile \ - src/es/Makefile \ - src/gp/Makefile \ - src/ga/Makefile \ - src/other/Makefile \ - src/utils/Makefile \ - test/Makefile \ - tutorial/Makefile \ - tutorial/Lesson1/Makefile \ - tutorial/Lesson2/Makefile \ - tutorial/Lesson3/Makefile \ - tutorial/Lesson4/Makefile \ - tutorial/Lesson5/Makefile \ - win/Makefile) diff --git a/trunk/paradiseo-eo/contrib/.cvsignore b/trunk/paradiseo-eo/contrib/.cvsignore deleted file mode 100644 index 3dda72986..000000000 --- a/trunk/paradiseo-eo/contrib/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile.in -Makefile diff --git a/trunk/paradiseo-eo/contrib/CVS/Entries b/trunk/paradiseo-eo/contrib/CVS/Entries deleted file mode 100644 index c21b64fb3..000000000 --- a/trunk/paradiseo-eo/contrib/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.cvsignore/1.2/Thu Nov 23 19:15:31 2000// -/Makefile.am/1.4/Tue Sep 21 10:23:32 2004// -/eoAged.h/1.2/Thu Feb 27 19:26:54 2003// -/eoDrawable.h/1.1/Wed Mar 22 14:48:49 2000// -D diff --git a/trunk/paradiseo-eo/contrib/CVS/Entries.Log b/trunk/paradiseo-eo/contrib/CVS/Entries.Log deleted file mode 100644 index b1a5f9119..000000000 --- a/trunk/paradiseo-eo/contrib/CVS/Entries.Log +++ /dev/null @@ -1,3 +0,0 @@ -A D/MGE//// -A D/boost//// -A D/mathsym//// diff --git a/trunk/paradiseo-eo/contrib/CVS/Repository b/trunk/paradiseo-eo/contrib/CVS/Repository deleted file mode 100644 index 9d8eeefcf..000000000 --- a/trunk/paradiseo-eo/contrib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib diff --git a/trunk/paradiseo-eo/contrib/CVS/Root b/trunk/paradiseo-eo/contrib/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/MGE/CVS/Entries b/trunk/paradiseo-eo/contrib/MGE/CVS/Entries deleted file mode 100644 index 0e9072d39..000000000 --- a/trunk/paradiseo-eo/contrib/MGE/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/VirusOp.h/1.3/Thu Feb 27 19:26:43 2003// -/eoInitVirus.h/1.1/Thu May 17 10:08:25 2001// -/eoVirus.h/1.4/Thu Oct 6 17:22:40 2005// -D diff --git a/trunk/paradiseo-eo/contrib/MGE/CVS/Repository b/trunk/paradiseo-eo/contrib/MGE/CVS/Repository deleted file mode 100644 index 82f9e9f9b..000000000 --- a/trunk/paradiseo-eo/contrib/MGE/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/MGE diff --git a/trunk/paradiseo-eo/contrib/MGE/CVS/Root b/trunk/paradiseo-eo/contrib/MGE/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/MGE/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/MGE/VirusOp.h b/trunk/paradiseo-eo/contrib/MGE/VirusOp.h deleted file mode 100644 index c0daa8ccb..000000000 --- a/trunk/paradiseo-eo/contrib/MGE/VirusOp.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - ViruOp.h - (c) GeNeura Team 2001, Marc Schoenauer 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr -CVS Info: $Date: 2003/02/27 19:26:43 $ $Header: /cvsroot/eodev/eo/contrib/MGE/VirusOp.h,v 1.3 2003/02/27 19:26:43 okoenig Exp $ $Author: okoenig $ -*/ - -#ifndef VirusOp_h -#define VirusOp_h - -//----------------------------------------------------------------------------- - -#include // ostream, istream -#include // bind2nd -#include // std::string - -#include -#include "../contrib/MGE/eoVirus.h" - -/** VirusBitFlip --> changes 1 bit -*/ - -template -class VirusBitFlip: public eoMonOp > { - public: - /// The class name. - virtual std::string className() const { return "VirusBitFlip"; }; - - /** - * Change one bit. - * @param chrom The cromosome which one bit is going to be changed. - */ - bool operator()(eoVirus& _chrom) { - unsigned i = eo::rng.random(_chrom.size()); - _chrom.virusBitSet(i, _chrom.virusBit(i) ? false : true ); - return true; - } -}; - -template -class VirusMutation: public eoMonOp > { - public: - /// The class name. - virtual std::string className() const { return "VirusMutation"; }; - - /** - * Change one bit. - * @param chrom The cromosome which one bit is going to be changed. - */ - bool operator()(eoVirus& _chrom) { - // Search for virus bits - std::vector bitsSet; - for ( unsigned i = 0; i < _chrom.size(); i ++ ) { - if ( _chrom.virusBit(i) ) { - bitsSet.push_back( i ); - } - } - if ( !bitsSet.size() ) { - return false; - } - unsigned flipSite = eo::rng.random(bitsSet.size()); - unsigned flipValue = bitsSet[ flipSite ]; - _chrom[flipValue] = _chrom[flipValue] ? false : true; - return true; - } -}; - -/// Works for 1-bit virus; shifts the one to the right or left -template -class VirusShiftMutation: public eoMonOp > { - public: - - /// Ctor - VirusShiftMutation( ) {}; - - /// The class name. - virtual std::string className() const { return "VirusShiftMutation"; }; - - /** - * Change one bit. - * @param chrom The cromosome which one bit is going to be changed. - */ - bool operator()(eoVirus& _chrom) { - // Search for virus bits - eoBooleanGenerator gen; - for ( unsigned i = 0; i < _chrom.size(); i ++ ) { - if ( _chrom.virusBit(i) ) { - if ( gen() ) { - if ( i + 1 < _chrom.size() ) { - _chrom.virusBitSet(i+1,true); - _chrom.virusBitSet(i, false); - } - } else { - if ( i - 1 > 0 ) { - _chrom.virusBitSet(i-1,true); - _chrom.virusBitSet(i, false); - } - } - } - } - return true; - } - - private: -}; - - -template -class VirusTransmission: public eoBinOp > { - public: - /// The class name. - virtual std::string className() const { return "VirusTransmission"; }; - - /** - * Change one bit. - * @param _chrom The "receptor" chromosome - * @param _chrom2 The "donor" chromosome - */ - bool operator()(eoVirus& _chrom,const eoVirus& _chrom2) { - // Search for virus bits - for ( unsigned i = 0; i < _chrom.size(); i ++ ) { - _chrom.virusBitSet(i, _chrom2.virusBit(i) ); - } - return true; - } -}; - -#endif //VirusOp_h diff --git a/trunk/paradiseo-eo/contrib/MGE/eoInitVirus.h b/trunk/paradiseo-eo/contrib/MGE/eoInitVirus.h deleted file mode 100644 index 082339c81..000000000 --- a/trunk/paradiseo-eo/contrib/MGE/eoInitVirus.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoInit.h -// (c) Maarten Keijzer 2000, GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoInitVirus_H -#define _eoInitVirus_H - -#include - -#include -#include -#include -#include - -/** - Initializer for binary chromosome with MGE -*/ -template -class eoInitVirus: public eoInit< eoVirus > { -public: - - eoInitVirus(unsigned _combien, eoRndGenerator& _generator ) - : combien(_combien), generator(_generator) {} - - virtual void operator()( eoVirus& chrom) - { - chrom.resize(combien); - chrom.virResize(combien); - std::generate(chrom.begin(), chrom.end(), generator); - for ( unsigned i = 0; i < combien; i ++ ) { - chrom.virusBitSet(i, generator() ); - } - chrom.invalidate(); - } - -private : - unsigned combien; - /// generic wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics - eoSTLF generator; -}; - -/// Inits the virus with one bit to the left set to one -template -class eoInitVirus1bit: public eoInit< eoVirus > { -public: - - eoInitVirus1bit(unsigned _combien, eoRndGenerator& _generator ) - : combien(_combien), generator(_generator) {} - - virtual void operator()( eoVirus& chrom) - { - chrom.resize(combien); - chrom.virResize(combien); - std::generate(chrom.begin(), chrom.end(), generator); - chrom.virusBitSet(0, true ); - chrom.invalidate(); - } - -private : - unsigned combien; - /// generic wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics - eoSTLF generator; -}; -#endif diff --git a/trunk/paradiseo-eo/contrib/MGE/eoVirus.h b/trunk/paradiseo-eo/contrib/MGE/eoVirus.h deleted file mode 100644 index a7c6aaeea..000000000 --- a/trunk/paradiseo-eo/contrib/MGE/eoVirus.h +++ /dev/null @@ -1,130 +0,0 @@ -/* eoVirus.h - -(c) GeNeura Team 2001, Marc Schoenauer 2000 - -This library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -USA - -Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr -*/ - - -#ifndef eoVirus_h -#define eoVirus_h - -#include -#include -#include -#include - -#include "ga/eoBit.h" - -/** -\defgroup bitstring - - Various functions for a bitstring representation -*/ - -/** Implementation of bitstring chromosome. - -@class eoBit eoBit.h ga/eoBit.h -@ingroup bitstring - -Based on STL's vector specialization. -*/ -template -class eoVirus : public eoBit -{ -public: - - using eoBit::begin; - using eoBit::end; - using eoBit::size; - - - /** (Default) Constructor - - @param size Size of the binary std::string. - */ - eoVirus(unsigned _size = 0, bool _value = false, bool _virValue = false): - eoBit(_size, _value), virus( _size, _virValue) {} - - /// My class name - virtual std::string className() const { - return "eoVirus"; - } - - /// Access to virus features - void virResize( unsigned _i ) { - virus.resize(_i ); - } - - /// Access to virus features - bool virusBit( unsigned _i ) const { - return virus[_i]; - } - - /// Change virus features - void virusBitSet( unsigned _i, bool _bit ) { - virus[_i ] = _bit; - } - - /** To print me on a stream. - - @param os The ostream. - */ - virtual void printOn(std::ostream& os) const { - EO::printOn(os); - os << ' '; - os << size() << ' '; - std::copy(begin(), end(), std::ostream_iterator(os)); - std::cout << std::endl; - std::copy(virus.begin(), virus.end(), std::ostream_iterator(os)); - } - - /** To read me from a stream. - - @param is The istream. - */ - virtual void readFrom(std::istream& is){ - eoBit::readFrom(is); - unsigned s; - is >> s; - std::string bits; - is >> bits; - if (is) { - virus.resize(bits.size()); - std::transform(bits.begin(), bits.end(), virus.begin(), - std::bind2nd(std::equal_to(), '1')); - } - } - - -private: - - std::vector virus; -}; - -//----------------------------------------------------------------------------- - -#endif //eoBit_h - - -// Local Variables: -// coding: iso-8859-1 -// mode: C++ -// c-file-style: "Stroustrup" -// End: diff --git a/trunk/paradiseo-eo/contrib/Makefile.am b/trunk/paradiseo-eo/contrib/Makefile.am deleted file mode 100644 index e01377206..000000000 --- a/trunk/paradiseo-eo/contrib/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################### -## -## Makefile.am for eo/src -## -############################################################################### - -pkginclude_HEADERS = eoAged.h eoDrawable.h - -EXTRA_DIST = MGE/VirusOp.h MGE/eoInitVirus.h MGE/eoVirus.h diff --git a/trunk/paradiseo-eo/contrib/boost/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/CVS/Entries deleted file mode 100644 index a00302f7a..000000000 --- a/trunk/paradiseo-eo/contrib/boost/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/config.hpp/1.1/Thu Oct 6 12:13:52 2005// -/limits.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/CVS/Entries.Log b/trunk/paradiseo-eo/contrib/boost/CVS/Entries.Log deleted file mode 100644 index 79d299e96..000000000 --- a/trunk/paradiseo-eo/contrib/boost/CVS/Entries.Log +++ /dev/null @@ -1,2 +0,0 @@ -A D/config//// -A D/numeric//// diff --git a/trunk/paradiseo-eo/contrib/boost/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/CVS/Repository deleted file mode 100644 index aedab39a0..000000000 --- a/trunk/paradiseo-eo/contrib/boost/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost diff --git a/trunk/paradiseo-eo/contrib/boost/CVS/Root b/trunk/paradiseo-eo/contrib/boost/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/config.hpp b/trunk/paradiseo-eo/contrib/boost/config.hpp deleted file mode 100644 index 055a27855..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/config for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config -// -// CAUTION: This file is intended to be completely stable - -// DO NOT MODIFY THIS FILE! -// - -#ifndef BOOST_CONFIG_HPP -#define BOOST_CONFIG_HPP - -// if we don't have a user config, then use the default location: -#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) -# define BOOST_USER_CONFIG -#endif -// include it first: -#ifdef BOOST_USER_CONFIG -# include BOOST_USER_CONFIG -#endif - -// if we don't have a compiler config set, try and find one: -#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a compiler config, include it now: -#ifdef BOOST_COMPILER_CONFIG -# include BOOST_COMPILER_CONFIG -#endif - -// if we don't have a std library config set, try and find one: -#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a std library config, include it now: -#ifdef BOOST_STDLIB_CONFIG -# include BOOST_STDLIB_CONFIG -#endif - -// if we don't have a platform config set, try and find one: -#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a platform config, include it now: -#ifdef BOOST_PLATFORM_CONFIG -# include BOOST_PLATFORM_CONFIG -#endif - -// get config suffix code: -#include - -#endif // BOOST_CONFIG_HPP - - - - - - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/config/CVS/Entries deleted file mode 100644 index d5431df9d..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/CVS/Entries +++ /dev/null @@ -1,11 +0,0 @@ -/abi_prefix.hpp/1.1/Thu Oct 6 12:13:52 2005// -/abi_suffix.hpp/1.1/Thu Oct 6 12:13:52 2005// -/auto_link.hpp/1.1/Thu Oct 6 12:13:52 2005// -/posix_features.hpp/1.1/Thu Oct 6 12:13:52 2005// -/requires_threads.hpp/1.1/Thu Oct 6 12:13:52 2005// -/select_compiler_config.hpp/1.1/Thu Oct 6 12:13:52 2005// -/select_platform_config.hpp/1.1/Thu Oct 6 12:13:52 2005// -/select_stdlib_config.hpp/1.1/Thu Oct 6 12:13:52 2005// -/suffix.hpp/1.1/Thu Oct 6 12:13:52 2005// -/user.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/config/CVS/Entries.Log b/trunk/paradiseo-eo/contrib/boost/config/CVS/Entries.Log deleted file mode 100644 index 33a02e196..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/CVS/Entries.Log +++ /dev/null @@ -1,4 +0,0 @@ -A D/abi//// -A D/compiler//// -A D/platform//// -A D/stdlib//// diff --git a/trunk/paradiseo-eo/contrib/boost/config/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/config/CVS/Repository deleted file mode 100644 index 93a1d3aa4..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/config diff --git a/trunk/paradiseo-eo/contrib/boost/config/CVS/Root b/trunk/paradiseo-eo/contrib/boost/config/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Repository deleted file mode 100644 index aafc1c11e..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/config/abi diff --git a/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Root b/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/abi/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/config/abi_prefix.hpp b/trunk/paradiseo-eo/contrib/boost/config/abi_prefix.hpp deleted file mode 100644 index 1733dc036..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/abi_prefix.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// abi_prefix header -------------------------------------------------------// - -// © Copyright John Maddock 2003 - -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -#ifndef BOOST_CONFIG_ABI_PREFIX_HPP -# define BOOST_CONFIG_ABI_PREFIX_HPP -#else -# error double inclusion of header boost/config/abi_prefix.hpp is an error -#endif - -#include - -// this must occur after all other includes and before any code appears: -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif diff --git a/trunk/paradiseo-eo/contrib/boost/config/abi_suffix.hpp b/trunk/paradiseo-eo/contrib/boost/config/abi_suffix.hpp deleted file mode 100644 index 6339da631..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/abi_suffix.hpp +++ /dev/null @@ -1,23 +0,0 @@ -// abi_sufffix header -------------------------------------------------------// - -// © Copyright John Maddock 2003 - -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). - -// This header should be #included AFTER code that was preceded by a #include -// . - -#ifndef BOOST_CONFIG_ABI_PREFIX_HPP -# error Header boost/config/abi_prefix.hpp must only be used after boost/config/abi_prefix.hpp -#else -# undef BOOST_CONFIG_ABI_PREFIX_HPP -#endif - -// the suffix header occurs after all of our code: -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/auto_link.hpp b/trunk/paradiseo-eo/contrib/boost/config/auto_link.hpp deleted file mode 100644 index 0c36f7b0f..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/auto_link.hpp +++ /dev/null @@ -1,354 +0,0 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE auto_link.hpp - * VERSION see - * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. - */ - -/************************************************************************* - -USAGE: -~~~~~~ - -Before including this header you must define one or more of define the following macros: - -BOOST_LIB_NAME: Required: A string containing the basename of the library, - for example boost_regex. -BOOST_LIB_TOOLSET: Optional: the base name of the toolset. -BOOST_DYN_LINK: Optional: when set link to dll rather than static library. -BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name - of the library selected (useful for debugging). -BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, - rather than a mangled-name version. - -These macros will be undef'ed at the end of the header, further this header -has no include guards - so be sure to include it only once from your library! - -Algorithm: -~~~~~~~~~~ - -Libraries for Borland and Microsoft compilers are automatically -selected here, the name of the lib is selected according to the following -formula: - -BOOST_LIB_PREFIX - + BOOST_LIB_NAME - + "_" - + BOOST_LIB_TOOLSET - + BOOST_LIB_THREAD_OPT - + BOOST_LIB_RT_OPT - "-" - + BOOST_LIB_VERSION - -These are defined as: - -BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". - -BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). - -BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). - -BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. - -BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, - contains one or more of the following letters after - a hiphen: - - s static runtime (dynamic if not present). - d debug build (release if not present). - g debug/diagnostic runtime (release if not present). - p STLPort Build. - -BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. - - -***************************************************************************/ - -#ifdef __cplusplus -# ifndef BOOST_CONFIG_HPP -# include -# endif -#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) -// -// C language compatability (no, honestly) -// -# define BOOST_MSVC _MSC_VER -# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -# define BOOST_DO_STRINGIZE(X) #X -#endif -// -// Only include what follows for known and supported compilers: -// -#if defined(BOOST_MSVC) \ - || defined(__BORLANDC__) \ - || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ - || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) - -#ifndef BOOST_VERSION_HPP -# include -#endif - -#ifndef BOOST_LIB_NAME -# error "Macro BOOST_LIB_NAME not set (internal error)" -#endif - -// -// error check: -// -#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) -# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") -# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") -# error "Incompatible build options" -#endif -// -// select toolset if not defined already: -// -#ifndef BOOST_LIB_TOOLSET -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) - - // vc6: -# define BOOST_LIB_TOOLSET "vc6" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) - - // vc7: -# define BOOST_LIB_TOOLSET "vc7" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310) - - // vc71: -# define BOOST_LIB_TOOLSET "vc71" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) - - // vc80: -# define BOOST_LIB_TOOLSET "vc80" - -#elif defined(__BORLANDC__) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb" - -#elif defined(__ICL) - - // Intel C++, no version number: -# define BOOST_LIB_TOOLSET "iw" - -#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) - - // Metrowerks CodeWarrior 8.x -# define BOOST_LIB_TOOLSET "cw8" - -#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) - - // Metrowerks CodeWarrior 9.x -# define BOOST_LIB_TOOLSET "cw9" - -#endif -#endif // BOOST_LIB_TOOLSET - -// -// select thread opt: -// -#if defined(_MT) || defined(__MT__) -# define BOOST_LIB_THREAD_OPT "-mt" -#else -# define BOOST_LIB_THREAD_OPT -#endif - -#if defined(_MSC_VER) || defined(__MWERKS__) - -# ifdef _DLL - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdp" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdp" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-p" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdpn" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdpn" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-pn" -# endif - -# else - -# if defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gd" -# else -# define BOOST_LIB_RT_OPT -# endif - -# endif - -# else - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdp" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdp" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-sp" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdpn" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdpn" -# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-spn" -# endif - -# else - -# if defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -# endif - -#elif defined(__BORLANDC__) - -// -// figure out whether we want the debug builds or not: -// -#if __BORLANDC__ > 0x561 -#pragma defineonoption BOOST_BORLAND_DEBUG -v -#endif -// -// sanity check: -// -#if defined(__STL_DEBUG) || defined(_STLP_DEBUG) -#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form" -#endif - -# ifdef _RTLDLL - -# ifdef BOOST_BORLAND_DEBUG -# define BOOST_LIB_RT_OPT "-d" -# else -# define BOOST_LIB_RT_OPT -# endif - -# else - -# ifdef BOOST_BORLAND_DEBUG -# define BOOST_LIB_RT_OPT "-sd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -#endif - -// -// select linkage opt: -// -#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) -# define BOOST_LIB_PREFIX -#elif defined(BOOST_DYN_LINK) -# error "Mixing a dll boost library with a static runtime is a really bad idea..." -#else -# define BOOST_LIB_PREFIX "lib" -#endif - -// -// now include the lib: -// -#if defined(BOOST_LIB_NAME) \ - && defined(BOOST_LIB_PREFIX) \ - && defined(BOOST_LIB_TOOLSET) \ - && defined(BOOST_LIB_THREAD_OPT) \ - && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_VERSION) - -#ifndef BOOST_AUTO_LINK_NOMANGLE -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") -# endif -#else -# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") -# endif -#endif - -#else -# error "some required macros where not defined (internal logic error)." -#endif - - -#endif // _MSC_VER || __BORLANDC__ - -// -// finally undef any macros we may have set: -// -#ifdef BOOST_LIB_PREFIX -# undef BOOST_LIB_PREFIX -#endif -#if defined(BOOST_LIB_NAME) -# undef BOOST_LIB_NAME -#endif -#if defined(BOOST_LIB_TOOLSET) -# undef BOOST_LIB_TOOLSET -#endif -#if defined(BOOST_LIB_THREAD_OPT) -# undef BOOST_LIB_THREAD_OPT -#endif -#if defined(BOOST_LIB_RT_OPT) -# undef BOOST_LIB_RT_OPT -#endif -#if defined(BOOST_LIB_LINK_OPT) -# undef BOOST_LIB_LINK_OPT -#endif -#if defined(BOOST_LIB_DEBUG_OPT) -# undef BOOST_LIB_DEBUG_OPT -#endif -#if defined(BOOST_DYN_LINK) -# undef BOOST_DYN_LINK -#endif -#if defined(BOOST_AUTO_LINK_NOMANGLE) -# undef BOOST_AUTO_LINK_NOMANGLE -#endif - - - - - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Entries deleted file mode 100644 index d2881275f..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Entries +++ /dev/null @@ -1,17 +0,0 @@ -/borland.hpp/1.1/Thu Oct 6 12:13:52 2005// -/comeau.hpp/1.1/Thu Oct 6 12:13:52 2005// -/common_edg.hpp/1.1/Thu Oct 6 12:13:52 2005// -/compaq_cxx.hpp/1.1/Thu Oct 6 12:13:52 2005// -/digitalmars.hpp/1.1/Thu Oct 6 12:13:52 2005// -/gcc.hpp/1.1/Thu Oct 6 12:13:52 2005// -/greenhills.hpp/1.1/Thu Oct 6 12:13:52 2005// -/hp_acc.hpp/1.1/Thu Oct 6 12:13:52 2005// -/intel.hpp/1.1/Thu Oct 6 12:13:52 2005// -/kai.hpp/1.1/Thu Oct 6 12:13:52 2005// -/metrowerks.hpp/1.1/Thu Oct 6 12:13:52 2005// -/mpw.hpp/1.1/Thu Oct 6 12:13:52 2005// -/sgi_mipspro.hpp/1.1/Thu Oct 6 12:13:52 2005// -/sunpro_cc.hpp/1.1/Thu Oct 6 12:13:52 2005// -/vacpp.hpp/1.1/Thu Oct 6 12:13:52 2005// -/visualc.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Repository deleted file mode 100644 index fb29c86b3..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/config/compiler diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Root b/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/borland.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/borland.hpp deleted file mode 100644 index 66769bec5..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/borland.hpp +++ /dev/null @@ -1,175 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Borland C++ compiler setup: - -// Version 5.0 and below: -# if __BORLANDC__ <= 0x0550 -// Borland C++Builder 4 and 5: -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# if __BORLANDC__ == 0x0550 -// Borland C++Builder 5, command-line compiler 5.5: -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif -# endif - -// Version 5.51 and below: -#if (__BORLANDC__ <= 0x551) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_DEDUCED_TYPENAME -// workaround for missing WCHAR_MAX/WCHAR_MIN: -#include -#include -#ifndef WCHAR_MAX -# define WCHAR_MAX 0xffff -#endif -#ifndef WCHAR_MIN -# define WCHAR_MIN 0 -#endif -#endif - -// Version 7.0 (Kylix) and below: -#if (__BORLANDC__ <= 0x570) -# define BOOST_NO_SFINAE -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# define BOOST_NO_USING_TEMPLATE -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS - // we shouldn't really need this - but too many things choke - // without it, this needs more investigation: -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# define BOOST_NO_IS_ABSTRACT -# ifdef NDEBUG - // fix broken so that Boost.test works: -# include -# undef strcmp -# endif - -// -// new bug in 5.61: -#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x570) - // this seems to be needed by the command line compiler, but not the IDE: -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -# ifdef _WIN32 -# define BOOST_NO_SWPRINTF -# elif defined(linux) || defined(__linux__) || defined(__linux) - // we should really be able to do without this - // but the wcs* functions aren't imported into std:: -# define BOOST_NO_STDC_NAMESPACE - // _CPPUNWIND doesn't get automatically set for some reason: -# pragma defineonoption BOOST_CPPUNWIND -x -# endif -#endif - -// -// Post 0x561 we have long long and stdint.h: -#if __BORLANDC__ >= 0x561 -# ifndef __NO_LONG_LONG -# define BOOST_HAS_LONG_LONG -# endif - // On non-Win32 platforms let the platform config figure this out: -# ifdef _WIN32 -# define BOOST_HAS_STDINT_H -# endif -#endif - -// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is -// defined, then we have 0x560 or greater with the Rogue Wave implementation -// which presumably has the std::DBL_MAX bug. -#if ((__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560)) || defined(_USE_OLD_RW_STL) -// is partly broken, some macros define symbols that are really in -// namespace std, so you end up having to use illegal constructs like -// std::DBL_MAX, as a fix we'll just include float.h and have done with: -#include -#endif -// -// __int64: -// -#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) -# define BOOST_HAS_MS_INT64 -#endif -// -// check for exception handling support: -// -#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif -// -// all versions have a : -// -#ifndef __STRICT_ANSI__ -# define BOOST_HAS_DIRENT_H -#endif -// -// all versions support __declspec: -// -#ifndef __STRICT_ANSI__ -# define BOOST_HAS_DECLSPEC -#endif -// -// ABI fixing headers: -// -#if __BORLANDC__ < 0x600 // not implemented for version 6 compiler yet -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" -#endif -#endif -// -// Disable Win32 support in ANSI mode: -// -#if __BORLANDC__ < 0x600 -# pragma defineonoption BOOST_DISABLE_WIN32 -A -#elif defined(__STRICT_ANSI__) -# define BOOST_DISABLE_WIN32 -#endif -// -// MSVC compatibility mode does some nasty things: -// -#if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_VOID_RETURNS -#endif - -#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) - -// -// versions check: -// we don't support Borland prior to version 5.4: -#if __BORLANDC__ < 0x540 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 1536 (Builder X preview): -#if (__BORLANDC__ > 1536) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -# pragma message( "Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - - - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/comeau.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/comeau.hpp deleted file mode 100644 index 1b71008e0..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/comeau.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Douglas Gregor 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Aleksey Gurtovoy 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Comeau C++ compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -#if (__COMO_VERSION__ <= 4245) - -# if defined(_MSC_VER) && _MSC_VER <= 1300 -# if _MSC_VER > 100 - // only set this in non-strict mode: -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# endif -# endif - -// Void returns don't work when emulating VC 6 (Peter Dimov) - -# if defined(_MSC_VER) && (_MSC_VER == 1200) -# define BOOST_NO_VOID_RETURNS -# endif - -#endif // version 4245 - -// -// enable __int64 support in VC emulation mode -// -# if defined(_MSC_VER) && (_MSC_VER >= 1200) -# define BOOST_HAS_MS_INT64 -# endif - -#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) - -// -// versions check: -// we don't know Comeau prior to version 4245: -#if __COMO_VERSION__ < 4245 -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 4245: -#if (__COMO_VERSION__ > 4245) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/common_edg.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/common_edg.hpp deleted file mode 100644 index 0443be1ae..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/common_edg.hpp +++ /dev/null @@ -1,62 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright Markus Schoepflin 2005. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// -// Options common to all edg based compilers. -// -// This is included from within the individual compiler mini-configs. - -#ifndef __EDG_VERSION__ -# error This file requires that __EDG_VERSION__ be defined. -#endif - -#if (__EDG_VERSION__ <= 238) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_SFINAE -#endif - -#if (__EDG_VERSION__ <= 240) -# define BOOST_NO_VOID_RETURNS -#endif - -#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -#endif - -#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) -# define BOOST_NO_TEMPLATE_TEMPLATES -#endif - -#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) -# define BOOST_NO_IS_ABSTRACT -#endif - -#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// See also kai.hpp which checks a Kai-specific symbol for EH -# if !defined(__KCC) && !defined(__EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -# endif - -# if !defined(__NO_LONG_LONG) -# define BOOST_HAS_LONG_LONG -# endif - -#ifdef c_plusplus -// EDG has "long long" in non-strict mode -// However, some libraries have insufficient "long long" support -// #define BOOST_HAS_LONG_LONG -#endif - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/compaq_cxx.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/compaq_cxx.hpp deleted file mode 100644 index a52e66a29..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/compaq_cxx.hpp +++ /dev/null @@ -1,19 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Dec Alpha True64 C++ compiler setup: - -#define BOOST_COMPILER "Dec Alpha True64 " BOOST_STRINGIZE(__DECCXX_VER) - -#include "boost/config/compiler/common_edg.hpp" - -// -// versions check: -// Nothing to do here? - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/digitalmars.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/digitalmars.hpp deleted file mode 100644 index 32fc71faf..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/digitalmars.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (C) Christof Meerwald 2003 -// Copyright (C) Dan Watkins 2003 -// -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// Digital Mars C++ compiler setup: -#define BOOST_COMPILER __DMC_VERSION_STRING__ - -#define BOOST_HAS_LONG_LONG -#define BOOST_HAS_PRAGMA_ONCE - -#if (__DMC__ <= 0x833) -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#define BOOST_NO_TEMPLATE_TEMPLATES -#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING -#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#endif -#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG) -#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#define BOOST_NO_OPERATORS_IN_NAMESPACE -#define BOOST_NO_UNREACHABLE_RETURN_DETECTION -#define BOOST_NO_SFINAE -#define BOOST_NO_USING_TEMPLATE -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// has macros: -#if (__DMC__ >= 0x840) -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_WINTHREADS -#endif - - -// check for exception handling support: -#ifndef _CPPUNWIND -# define BOOST_NO_EXCEPTIONS -#endif - -#if (__DMC__ < 0x840) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/gcc.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/gcc.hpp deleted file mode 100644 index d94b16b76..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/gcc.hpp +++ /dev/null @@ -1,105 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Jens Maurer 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Douglas Gregor 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Synge Todo 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// GNU C++ compiler setup: - -#if __GNUC__ < 3 -# if __GNUC_MINOR__ == 91 - // egcs 1.1 won't parse shared_ptr.hpp without this: -# define BOOST_NO_AUTO_PTR -# endif -# if __GNUC_MINOR__ < 95 - // - // Prior to gcc 2.95 member templates only partly - // work - define BOOST_MSVC6_MEMBER_TEMPLATES - // instead since inline member templates mostly work. - // -# define BOOST_NO_MEMBER_TEMPLATES -# if __GNUC_MINOR__ >= 9 -# define BOOST_MSVC6_MEMBER_TEMPLATES -# endif -# endif - -# if __GNUC_MINOR__ < 96 -# define BOOST_NO_SFINAE -# endif - -# if __GNUC_MINOR__ <= 97 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif - -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# define BOOST_NO_IS_ABSTRACT -#elif __GNUC__ == 3 - // - // gcc-3.x problems: - // - // Bug specific to gcc 3.1 and 3.2: - // -# if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2)) -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# endif -# if __GNUC_MINOR__ < 4 -# define BOOST_NO_IS_ABSTRACT -# endif -#endif - -#ifndef __EXCEPTIONS -# define BOOST_NO_EXCEPTIONS -#endif - - -// -// Threading support: Turn this on unconditionally here (except for -// those platforms where we can know for sure). It will get turned off again -// later if no threading API is detected. -// -#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) -# define BOOST_HAS_THREADS -#endif - -// -// gcc has "long long" -// -#define BOOST_HAS_LONG_LONG - -// -// gcc implements the named return value optimization since version 3.1 -// -#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 ) -#define BOOST_HAS_NRVO -#endif - -#define BOOST_COMPILER "GNU C++ version " __VERSION__ - -// -// versions check: -// we don't know gcc prior to version 2.90: -#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 4.0 (Pre-release): -#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 0)) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -// we don't emit warnings here anymore since there are no defect macros defined for -// gcc post 3.4, so any failures are gcc regressions... -//# warning "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/greenhills.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/greenhills.hpp deleted file mode 100644 index 038b6b2b5..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/greenhills.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Greenhills C++ compiler setup: - -#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) - -#include "boost/config/compiler/common_edg.hpp" - -// -// versions check: -// we don't support Greenhills prior to version 0: -#if __ghs < 0 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0: -#if (__ghs > 0) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/hp_acc.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/hp_acc.hpp deleted file mode 100644 index 3d05ba563..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/hp_acc.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Toon Knapen 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// HP aCC C++ compiler setup: - -#if (__HP_aCC <= 33100) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# if !defined(_NAMESPACE_STD) -# define BOOST_NO_STD_LOCALE -# define BOOST_NO_STRINGSTREAM -# endif -#endif - -#if (__HP_aCC <= 33300) -// member templates are sufficiently broken that we disable them for now -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -#endif - -#if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_SWPRINTF -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_IS_ABSTRACT -// std lib config should set this one already: -//# define BOOST_NO_STD_ALLOCATOR -#endif - -// optional features rather than defects: -#if (__HP_aCC >= 33900) -# define BOOST_HAS_LONG_LONG -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS - -#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) - -// -// versions check: -// we don't support HP aCC prior to version 0: -#if __HP_aCC < 33000 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0: -#if (__HP_aCC > 53800) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/intel.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/intel.hpp deleted file mode 100644 index 652557766..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/intel.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright Guillaume Melquiond 2002 - 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Martin Wille 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Intel compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -#if defined(__INTEL_COMPILER) -# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER -#elif defined(__ICL) -# define BOOST_INTEL_CXX_VERSION __ICL -#elif defined(__ICC) -# define BOOST_INTEL_CXX_VERSION __ICC -#elif defined(__ECC) -# define BOOST_INTEL_CXX_VERSION __ECC -#endif - -#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -#define BOOST_INTEL BOOST_INTEL_CXX_VERSION - -#if defined(_WIN32) || defined(_WIN64) -# define BOOST_INTEL_WIN BOOST_INTEL -#else -# define BOOST_INTEL_LINUX BOOST_INTEL -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# define BOOST_NO_TEMPLATE_TEMPLATES -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 600) - -# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) - -// Boost libraries assume strong standard conformance unless otherwise -// indicated by a config macro. As configured by Intel, the EDG front-end -// requires certain compiler options be set to achieve that strong conformance. -// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) -// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for -// details as they apply to particular versions of the compiler. When the -// compiler does not predefine a macro indicating if an option has been set, -// this config file simply assumes the option has been set. -// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if -// the compiler option is not enabled. - -# define BOOST_NO_SWPRINTF -# endif - -// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) - -# if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_VOID_RETURNS -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -#endif - -// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 -#if BOOST_INTEL_CXX_VERSION < 600 -# define BOOST_NO_INTRINSIC_WCHAR_T -#else -// We should test the macro _WCHAR_T_DEFINED to check if the compiler -// supports wchar_t natively. *BUT* there is a problem here: the standard -// headers define this macro if they typedef wchar_t. Anyway, we're lucky -// because they define it without a value, while Intel C++ defines it -// to 1. So we can check its value to see if the macro was defined natively -// or not. -// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T -// is used instead. -# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) -# define BOOST_NO_INTRINSIC_WCHAR_T -# endif -#endif - -// -// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T -// set correctly, if we don't do this now, we will get errors later -// in type_traits code among other things, getting this correct -// for the Intel compiler is actually remarkably fragile and tricky: -// -#if defined(BOOST_NO_INTRINSIC_WCHAR_T) -#include -template< typename T > struct assert_no_intrinsic_wchar_t; -template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; -// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T -// where it is defined above: -typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; -#else -template< typename T > struct assert_intrinsic_wchar_t; -template<> struct assert_intrinsic_wchar_t {}; -// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: -template<> struct assert_intrinsic_wchar_t {}; -#endif - -#if _MSC_VER+0 >= 1000 -# if _MSC_VER >= 1200 -# define BOOST_HAS_MS_INT64 -# endif -# define BOOST_NO_SWPRINTF -#elif defined(_WIN32) -# define BOOST_DISABLE_WIN32 -#endif - -// I checked version 6.0 build 020312Z, it implements the NRVO. -// Correct this as you find out which version of the compiler -// implemented the NRVO first. (Daniel Frey) -#if (BOOST_INTEL_CXX_VERSION >= 600) -# define BOOST_HAS_NRVO -#endif - -// -// versions check: -// we don't support Intel prior to version 5.0: -#if BOOST_INTEL_CXX_VERSION < 500 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version: -#if (BOOST_INTEL_CXX_VERSION > 900) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# elif defined(_MSC_VER) -# pragma message("Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/kai.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/kai.hpp deleted file mode 100644 index de16f1a67..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/kai.hpp +++ /dev/null @@ -1,35 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Kai C++ compiler setup: - -#include "boost/config/compiler/common_edg.hpp" - -# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) - // at least on Sun, the contents of is not in namespace std -# define BOOST_NO_STDC_NAMESPACE -# endif - -// see also common_edg.hpp which needs a special check for __KCC -# if !defined(_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -# endif - -#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION) - -// -// last known and checked version is 4001: -#if (__KCC_VERSION > 4001) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/metrowerks.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/metrowerks.hpp deleted file mode 100644 index f173295eb..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/metrowerks.hpp +++ /dev/null @@ -1,104 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright David Abrahams 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Stefan Slapeta 2004. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Metrowerks C++ compiler setup: - -// locale support is disabled when linking with the dynamic runtime -# ifdef _MSL_NO_LOCALE -# define BOOST_NO_STD_LOCALE -# endif - -# if __MWERKS__ <= 0x2301 // 5.3 -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_NO_POINTER_TO_MEMBER_CONST -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# endif - -# if __MWERKS__ <= 0x2401 // 6.2 -//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# endif - -# if(__MWERKS__ <= 0x2407) // 7.x -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -# define BOOST_NO_UNREACHABLE_RETURN_DETECTION -# endif - -# if(__MWERKS__ <= 0x3003) // 8.x -# define BOOST_NO_SFINAE -# endif - -// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last -// tested version *only*: -# if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_IS_ABSTRACT -# endif - -#if !__option(wchar_type) -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -#if !__option(exceptions) -# define BOOST_NO_EXCEPTIONS -#endif - -#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) -# if __MWERKS__ == 0x3000 -# define BOOST_COMPILER_VERSION 8.0 -# elif __MWERKS__ == 0x3001 -# define BOOST_COMPILER_VERSION 8.1 -# elif __MWERKS__ == 0x3002 -# define BOOST_COMPILER_VERSION 8.2 -# elif __MWERKS__ == 0x3003 -# define BOOST_COMPILER_VERSION 8.3 -# elif __MWERKS__ == 0x3200 -# define BOOST_COMPILER_VERSION 9.0 -# elif __MWERKS__ == 0x3201 -# define BOOST_COMPILER_VERSION 9.1 -# elif __MWERKS__ == 0x3202 -# define BOOST_COMPILER_VERSION 9.2 -# elif __MWERKS__ == 0x3204 -# define BOOST_COMPILER_VERSION 9.3 -# elif __MWERKS__ == 0x3205 -# define BOOST_COMPILER_VERSION 9.4 -# elif __MWERKS__ == 0x3206 -# define BOOST_COMPILER_VERSION 9.5 -# else -# define BOOST_COMPILER_VERSION __MWERKS__ -# endif -#else -# define BOOST_COMPILER_VERSION __MWERKS__ -#endif - -#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - -// -// versions check: -// we don't support Metrowerks prior to version 5.3: -#if __MWERKS__ < 0x2301 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version: -#if (__MWERKS__ > 0x3205) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/mpw.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/mpw.hpp deleted file mode 100644 index 8ab2aacb6..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/mpw.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// MPW C++ compilers setup: - -# if defined(__SC__) -# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) -# elif defined(__MRC__) -# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) -# else -# error "Using MPW compiler configuration by mistake. Please update." -# endif - -// -// MPW 8.90: -// -#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_USING_TEMPLATE - -# define BOOST_NO_CWCHAR -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - -# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ -#endif - -// -// versions check: -// we don't support MPW prior to version 8.9: -#if MPW_CPLUS < 0x890 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0x890: -#if (MPW_CPLUS > 0x890) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/sgi_mipspro.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/sgi_mipspro.hpp deleted file mode 100644 index 689b67eeb..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/sgi_mipspro.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// SGI C++ compiler setup: - -#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) - -#include "boost/config/compiler/common_edg.hpp" - -// -// Threading support: -// Turn this on unconditionally here, it will get turned off again later -// if no threading API is detected. -// -#define BOOST_HAS_THREADS -// -// version check: -// probably nothing to do here? - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/sunpro_cc.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/sunpro_cc.hpp deleted file mode 100644 index eca19feb0..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/sunpro_cc.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright Peter Dimov 2002. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright David Abrahams 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Sun C++ compiler setup: - -# if __SUNPRO_CC <= 0x500 -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# endif - -# if (__SUNPRO_CC <= 0x520) - // - // Sunpro 5.2 and earler: - // - // although sunpro 5.2 supports the syntax for - // inline initialization it often gets the value - // wrong, especially where the value is computed - // from other constants (J Maddock 6th May 2001) -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION - - // Although sunpro 5.2 supports the syntax for - // partial specialization, it often seems to - // bind to the wrong specialization. Better - // to disable it until suppport becomes more stable - // (J Maddock 6th May 2001). -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# endif - -# if (__SUNPRO_CC <= 0x530) - // Requesting debug info (-g) with Boost.Python results - // in an internal compiler error for "static const" - // initialized in-class. - // >> Assertion: (../links/dbg_cstabs.cc, line 611) - // while processing ../test.cpp at line 0. - // (Jens Maurer according to Gottfried Ganßauge 04 Mar 2002) -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION - - // SunPro 5.3 has better support for partial specialization, - // but breaks when compiling std::less > - // (Jens Maurer 4 Nov 2001). - - // std::less specialization fixed as reported by George - // Heintzelman; partial specialization re-enabled - // (Peter Dimov 17 Jan 2002) - -//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - // integral constant expressions with 64 bit numbers fail -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -# if (__SUNPRO_CC < 0x570) -# define BOOST_NO_TEMPLATE_TEMPLATES - // see http://lists.boost.org/MailArchives/boost/msg47184.php - // and http://lists.boost.org/MailArchives/boost/msg47220.php -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_SFINAE -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# define BOOST_NO_IS_ABSTRACT -# endif - -#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) - -// -// versions check: -// we don't support sunpro prior to version 4: -#if __SUNPRO_CC < 0x400 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0x570: -#if (__SUNPRO_CC > 0x570) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/vacpp.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/vacpp.hpp deleted file mode 100644 index 4cf0de7c1..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/vacpp.hpp +++ /dev/null @@ -1,58 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Toon Knapen 2001 - 2003. -// (C) Copyright Lie-Quan Lee 2001. -// (C) Copyright Markus Schöpflin 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Visual Age (IBM) C++ compiler setup: - -#if __IBMCPP__ <= 501 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -#if (__IBMCPP__ <= 502) -// Actually the compiler supports inclass member initialization but it -// requires a definition for the class member and it doesn't recognize -// it as an integral constant expression when used as a template argument. -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES 1 -#endif - -// -// On AIX thread support seems to be indicated by _THREAD_SAFE: -// -#ifdef _THREAD_SAFE -# define BOOST_HAS_THREADS -#endif - -#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) - -// -// versions check: -// we don't support Visual age prior to version 5: -#if __IBMCPP__ < 500 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 600: -#if (__IBMCPP__ > 600) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/compiler/visualc.hpp b/trunk/paradiseo-eo/contrib/boost/config/compiler/visualc.hpp deleted file mode 100644 index 1ce600ccf..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/compiler/visualc.hpp +++ /dev/null @@ -1,147 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Microsoft Visual C++ compiler setup: - -#define BOOST_MSVC _MSC_VER - -// turn off the warnings before we #include anything -#pragma warning( disable : 4503 ) // warning: decorated name length exceeded - -#if _MSC_VER < 1300 // 1200 == VC++ 6.0, 1201 == EVC4.2 -#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_VOID_RETURNS -# define BOOST_NO_EXCEPTION_STD_NAMESPACE - // disable min/max macro defines on vc6: - // -#endif - -#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0 - -#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -#endif - -# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_DEDUCED_TYPENAME -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE - -// VC++ 6/7 has member templates but they have numerous problems including -// cases of silent failure, so for safety we define: -# define BOOST_NO_MEMBER_TEMPLATES -// For VC++ experts wishing to attempt workarounds, we define: -# define BOOST_MSVC6_MEMBER_TEMPLATES - -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_NO_USING_TEMPLATE -# define BOOST_NO_SWPRINTF -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_SFINAE -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -# define BOOST_NO_IS_ABSTRACT -# if (_MSC_VER > 1200) -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -# endif - -#endif - -#if _MSC_VER < 1310 // 1310 == VC++ 7.1 -# define BOOST_NO_SWPRINTF -#endif - -#if _MSC_VER <= 1400 // 1400 == VC++ 8.0 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#endif - -#ifndef _NATIVE_WCHAR_T_DEFINED -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -#ifdef _WIN32_WCE -# define BOOST_NO_THREADEX -# define BOOST_NO_GETSYSTEMTIMEASFILETIME -#endif - -// -// check for exception handling support: -#ifndef _CPPUNWIND -# define BOOST_NO_EXCEPTIONS -#endif - -// -// __int64 support: -// -#if (_MSC_VER >= 1200) -# define BOOST_HAS_MS_INT64 -#endif -#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS) -# define BOOST_HAS_LONG_LONG -#endif -// -// disable Win32 API's if compiler extentions are -// turned off: -// -#ifndef _MSC_EXTENSIONS -# define BOOST_DISABLE_WIN32 -#endif - -// -// all versions support __declspec: -// -#define BOOST_HAS_DECLSPEC -// -// prefix and suffix headers: -// -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" -#endif - -# if _MSC_VER == 1200 -# define BOOST_COMPILER_VERSION 6.0 -# elif _MSC_VER == 1300 -# define BOOST_COMPILER_VERSION 7.0 -# elif _MSC_VER == 1310 -# define BOOST_COMPILER_VERSION 7.1 -# elif _MSC_VER == 1400 -# define BOOST_COMPILER_VERSION 8.0 -# else -# define BOOST_COMPILER_VERSION _MSC_VER -# endif - -#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - -// -// versions check: -// we don't support Visual C++ prior to version 6: -#if _MSC_VER < 1200 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 1310: -#if (_MSC_VER > 1400) -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# else -# pragma message("Unknown compiler version - please run the configure tests and report the results") -# endif -#endif diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Entries deleted file mode 100644 index 33bf9ee8f..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Entries +++ /dev/null @@ -1,12 +0,0 @@ -/aix.hpp/1.1/Thu Oct 6 12:13:52 2005// -/amigaos.hpp/1.1/Thu Oct 6 12:13:52 2005// -/beos.hpp/1.1/Thu Oct 6 12:13:52 2005// -/bsd.hpp/1.1/Thu Oct 6 12:13:52 2005// -/cygwin.hpp/1.1/Thu Oct 6 12:13:52 2005// -/hpux.hpp/1.1/Thu Oct 6 12:13:52 2005// -/irix.hpp/1.1/Thu Oct 6 12:13:52 2005// -/linux.hpp/1.1/Thu Oct 6 12:13:52 2005// -/macos.hpp/1.1/Thu Oct 6 12:13:52 2005// -/solaris.hpp/1.1/Thu Oct 6 12:13:52 2005// -/win32.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Repository deleted file mode 100644 index e2ab22e35..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/config/platform diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Root b/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/aix.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/aix.hpp deleted file mode 100644 index 894ef42ce..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/aix.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// IBM/Aix specific config options: - -#define BOOST_PLATFORM "IBM Aix" - -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_NL_TYPES_H -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_CLOCK_GETTIME - -// This needs support in "boost/cstdint.hpp" exactly like FreeBSD. -// This platform has header named which includes all -// the things needed. -#define BOOST_HAS_STDINT_H - -// Threading API's: -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_PTHREAD_DELAY_NP -#define BOOST_HAS_SCHED_YIELD -//#define BOOST_HAS_PTHREAD_YIELD - -// boilerplate code: -#include - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/amigaos.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/amigaos.hpp deleted file mode 100644 index 34bcf4128..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/amigaos.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -#define BOOST_PLATFORM "AmigaOS" - -#define BOOST_DISABLE_THREADS -#define BOOST_NO_CWCHAR -#define BOOST_NO_STD_WSTRING -#define BOOST_NO_INTRINSIC_WCHAR_T - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/beos.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/beos.hpp deleted file mode 100644 index 48c3d8dc5..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/beos.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// BeOS specific config options: - -#define BOOST_PLATFORM "BeOS" - -#define BOOST_NO_CWCHAR -#define BOOST_NO_CWCTYPE -#define BOOST_HAS_UNISTD_H - -#define BOOST_HAS_BETHREADS - -#ifndef BOOST_DISABLE_THREADS -# define BOOST_HAS_THREADS -#endif - -// boilerplate code: -#include - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/bsd.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/bsd.hpp deleted file mode 100644 index 09988e0ca..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/bsd.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Douglas Gregor 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// generic BSD config options: - -#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) -#error "This platform is not BSD" -#endif - -#ifdef __FreeBSD__ -#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__) -#elif defined(__NetBSD__) -#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__) -#elif defined(__OpenBSD__) -#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__) -#endif - -// -// is this the correct version check? -// FreeBSD has but does not -// advertise the fact in : -// -#if defined(__FreeBSD__) && (__FreeBSD__ >= 3) -# define BOOST_HAS_NL_TYPES_H -#endif - -// -// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in -// and not in -// -#if defined(__FreeBSD__) && (__FreeBSD__ <= 3) -# define BOOST_HAS_PTHREADS -#endif - -// -// No wide character support in the BSD header files: -// -#if !(defined(__FreeBSD__) && (__FreeBSD__ >= 5)) -# define BOOST_NO_CWCHAR -#endif -// -// The BSD has macros only, no functions: -// -#if !defined(__OpenBSD__) -# define BOOST_NO_CTYPE_FUNCTIONS -#endif - -// -// thread API's not auto detected: -// -#define BOOST_HAS_SCHED_YIELD -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#define BOOST_HAS_SIGACTION - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/cygwin.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/cygwin.hpp deleted file mode 100644 index 0fd2ebe2d..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/cygwin.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// cygwin specific config options: - -#define BOOST_PLATFORM "Cygwin" -#define BOOST_NO_CWCTYPE -#define BOOST_NO_CWCHAR -#define BOOST_NO_SWPRINTF -#define BOOST_HAS_DIRENT_H - -// -// Threading API: -// See if we have POSIX threads, if we do use them, otherwise -// revert to native Win threads. -#define BOOST_HAS_UNISTD_H -#include -#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) -# define BOOST_HAS_PTHREADS -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_SIGACTION -#else -# if !defined(BOOST_HAS_WINTHREADS) -# define BOOST_HAS_WINTHREADS -# endif -# define BOOST_HAS_FTIME -#endif - -// -// find out if we have a stdint.h, there should be a better way to do this: -// -#include -#ifdef _STDINT_H -#define BOOST_HAS_STDINT_H -#endif - -// boilerplate code: -#include - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/hpux.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/hpux.hpp deleted file mode 100644 index fa773aa79..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/hpux.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Toon Knapen 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// hpux specific config options: - -#define BOOST_PLATFORM "HP-UX" - -// In principle, HP-UX has a nice under the name -// However, it has the following problem: -// Use of UINT32_C(0) results in "0u l" for the preprocessed source -// (verifyable with gcc 2.95.3, assumed for HP aCC) -// #define BOOST_HAS_STDINT_H - -#define BOOST_NO_SWPRINTF -#define BOOST_NO_CWCTYPE - -#if defined(__GNUC__) -# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) - // GNU C on HP-UX does not support threads (checked up to gcc 3.3) -# define BOOST_DISABLE_THREADS -# elif !defined(BOOST_DISABLE_THREADS) - // threads supported from gcc-3.3 onwards: -# define BOOST_HAS_THREADS -# define BOOST_HAS_PTHREADS -# endif -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - -// the following are always available: -#ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -#endif -#ifndef BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_SCHED_YIELD -#endif -#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#endif -#ifndef BOOST_HAS_NL_TYPES_H -# define BOOST_HAS_NL_TYPES_H -#endif -#ifndef BOOST_HAS_NANOSLEEP -# define BOOST_HAS_NANOSLEEP -#endif -#ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -#endif -#ifndef BOOST_HAS_DIRENT_H -# define BOOST_HAS_DIRENT_H -#endif -#ifndef BOOST_HAS_CLOCK_GETTIME -# define BOOST_HAS_CLOCK_GETTIME -#endif -#ifndef BOOST_HAS_SIGACTION -# define BOOST_HAS_SIGACTION -#endif - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/irix.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/irix.hpp deleted file mode 100644 index aeae49c8b..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/irix.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -// See http://www.boost.org for most recent version. - -// SGI Irix specific config options: - -#define BOOST_PLATFORM "SGI Irix" - -#define BOOST_NO_SWPRINTF -// -// these are not auto detected by POSIX feature tests: -// -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE - -#ifdef __GNUC__ - // GNU C on IRIX does not support threads (checked up to gcc 3.3) -# define BOOST_DISABLE_THREADS -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/linux.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/linux.hpp deleted file mode 100644 index 51ae13347..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/linux.hpp +++ /dev/null @@ -1,98 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// linux specific config options: - -#define BOOST_PLATFORM "linux" - -// make sure we have __GLIBC_PREREQ if available at all -#include - -// -// added to glibc 2.1.1 -// We can only test for 2.1 though: -// -#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) - // defines int64_t unconditionally, but defines - // int64_t only if __GNUC__. Thus, assume a fully usable - // only when using GCC. -# if defined __GNUC__ -# define BOOST_HAS_STDINT_H -# endif -#endif - -#if defined(__LIBCOMO__) - // - // como on linux doesn't have std:: c functions: - // NOTE: versions of libcomo prior to beta28 have octal version numbering, - // e.g. version 25 is 21 (dec) - // -# if __LIBCOMO_VERSION__ <= 20 -# define BOOST_NO_STDC_NAMESPACE -# endif - -# if __LIBCOMO_VERSION__ <= 21 -# define BOOST_NO_SWPRINTF -# endif - -#endif - -// -// If glibc is past version 2 then we definitely have -// gettimeofday, earlier versions may or may not have it: -// -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -# define BOOST_HAS_GETTIMEOFDAY -#endif - -#ifdef __USE_POSIX199309 -# define BOOST_HAS_NANOSLEEP -#endif - -#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) -// __GLIBC_PREREQ is available since 2.1.2 - - // swprintf is available since glibc 2.2.0 -# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) -# define BOOST_NO_SWPRINTF -# endif -#else -# define BOOST_NO_SWPRINTF -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - -#ifndef __GNUC__ -// -// if the compiler is not gcc we still need to be able to parse -// the GNU system headers, some of which (mainly ) -// use GNU specific extensions: -// -# ifndef __extension__ -# define __extension__ -# endif -# ifndef __const__ -# define __const__ const -# endif -# ifndef __volatile__ -# define __volatile__ volatile -# endif -# ifndef __signed__ -# define __signed__ signed -# endif -# ifndef __typeof__ -# define __typeof__ typeof -# endif -# ifndef __inline__ -# define __inline__ inline -# endif -#endif - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/macos.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/macos.hpp deleted file mode 100644 index d6877d311..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/macos.hpp +++ /dev/null @@ -1,78 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Bill Kempf 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Mac OS specific config options: - -#define BOOST_PLATFORM "Mac OS" - -#if __MACH__ && !defined(_MSL_USING_MSL_C) - -// Using the Mac OS X system BSD-style C library. - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif -// -// Begin by including our boilerplate code for POSIX -// feature detection, this is safe even when using -// the MSL as Metrowerks supply their own -// to replace the platform-native BSD one. G++ users -// should also always be able to do this on MaxOS X. -// -# include -# ifndef BOOST_HAS_STDINT_H -# define BOOST_HAS_STDINT_H -# endif - -// -// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, -// of these only pthreads are advertised in , so set the -// other options explicitly: -// -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_SIGACTION - -# if (__GNUC__ < 3) && !defined( __APPLE_CC__) - -// GCC strange "ignore std" mode works better if you pretend everything -// is in the std namespace, for the most part. - -# define BOOST_NO_STDC_NAMESPACE -# endif - -#else - -// Using the MSL C library. - -// We will eventually support threads in non-Carbon builds, but we do -// not support this yet. -# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) - -# if !defined(BOOST_HAS_PTHREADS) -# define BOOST_HAS_MPTASKS -# elif ( __dest_os == __mac_os_x ) -// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the -// gettimeofday and no posix. -# define BOOST_HAS_GETTIMEOFDAY -# endif - -// The MP task implementation of Boost Threads aims to replace MP-unsafe -// parts of the MSL, so we turn on threads unconditionally. -# define BOOST_HAS_THREADS - -// The remote call manager depends on this. -# define BOOST_BIND_ENABLE_PASCAL - -# endif - -#endif - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/solaris.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/solaris.hpp deleted file mode 100644 index 700dc3ce6..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/solaris.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// sun specific config options: - -#define BOOST_PLATFORM "Sun Solaris" - -#define BOOST_HAS_GETTIMEOFDAY - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/platform/win32.hpp b/trunk/paradiseo-eo/contrib/boost/config/platform/win32.hpp deleted file mode 100644 index 548bff280..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/platform/win32.hpp +++ /dev/null @@ -1,50 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Bill Kempf 2001. -// (C) Copyright Aleksey Gurtovoy 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Win32 specific config options: - -#define BOOST_PLATFORM "Win32" - -#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -#endif - -#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC) -# define BOOST_HAS_DECLSPEC -#endif - -#if defined(__MINGW32__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2))) -# define BOOST_HAS_STDINT_H -# define __STDC_LIMIT_MACROS -#endif - -// -// Win32 will normally be using native Win32 threads, -// but there is a pthread library avaliable as an option, -// we used to disable this when BOOST_DISABLE_WIN32 was -// defined but no longer - this should allow some -// files to be compiled in strict mode - while maintaining -// a consistent setting of BOOST_HAS_THREADS across -// all translation units (needed for shared_ptr etc). -// - -#ifdef _WIN32_WCE -# define BOOST_NO_ANSI_APIS -#endif - -#ifndef BOOST_HAS_PTHREADS -# define BOOST_HAS_WINTHREADS -#endif - -#ifndef BOOST_DISABLE_WIN32 -// WEK: Added -#define BOOST_HAS_FTIME -#define BOOST_WINDOWS 1 - -#endif diff --git a/trunk/paradiseo-eo/contrib/boost/config/posix_features.hpp b/trunk/paradiseo-eo/contrib/boost/config/posix_features.hpp deleted file mode 100644 index 4afb476b7..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/posix_features.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -// See http://www.boost.org for most recent version. - -// All POSIX feature tests go in this file, -// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well -// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's -// may be present but none-functional unless _POSIX_C_SOURCE and -// _XOPEN_SOURCE have been defined to the right value (it's up -// to the user to do this *before* including any header, although -// in most cases the compiler will do this for you). - -# if defined(BOOST_HAS_UNISTD_H) -# include - - // XOpen has , but is this the correct version check? -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) -# define BOOST_HAS_NL_TYPES_H -# endif - - // POSIX version 6 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) -# define BOOST_HAS_STDINT_H -# endif - - // POSIX version 2 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) -# define BOOST_HAS_DIRENT_H -# endif - - // POSIX version 3 requires to have sigaction: -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) -# define BOOST_HAS_SIGACTION -# endif - // POSIX defines _POSIX_THREADS > 0 for pthread support, - // however some platforms define _POSIX_THREADS without - // a value, hence the (_POSIX_THREADS+0 >= 0) check. - // Strictly speaking this may catch platforms with a - // non-functioning stub , but such occurrences should - // occur very rarely if at all. -# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) -# define BOOST_HAS_PTHREADS -# endif - - // BOOST_HAS_NANOSLEEP: - // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_NANOSLEEP -# endif - - // BOOST_HAS_CLOCK_GETTIME: - // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME - // but at least one platform - linux - defines that flag without - // defining clock_gettime): -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) -# define BOOST_HAS_CLOCK_GETTIME -# endif - - // BOOST_HAS_SCHED_YIELD: - // This is predicated on _POSIX_PRIORITY_SCHEDULING or - // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. -# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ - || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_SCHED_YIELD -# endif - - // BOOST_HAS_GETTIMEOFDAY: - // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: - // These are predicated on _XOPEN_VERSION, and appears to be first released - // in issue 4, version 2 (_XOPEN_VERSION > 500). -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) -# define BOOST_HAS_GETTIMEOFDAY -# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# endif -# endif - -# endif - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/requires_threads.hpp b/trunk/paradiseo-eo/contrib/boost/config/requires_threads.hpp deleted file mode 100644 index cfaff2302..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/requires_threads.hpp +++ /dev/null @@ -1,92 +0,0 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP -#define BOOST_CONFIG_REQUIRES_THREADS_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif - -#if defined(BOOST_DISABLE_THREADS) - -// -// special case to handle versions of gcc which don't currently support threads: -// -#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) -// -// this is checked up to gcc 3.3: -// -#if defined(__sgi) || defined(__hpux) -# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" -#endif - -#endif - -# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" - -#elif !defined(BOOST_HAS_THREADS) - -# if defined __COMO__ -// Comeau C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -#ifdef _WIN32 -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" -#else -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" -#endif - -# elif defined __GNUC__ -// GNU C++: -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" - -#elif defined __sgi -// SGI MIPSpro C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" - -#elif defined __BORLANDC__ -// Borland -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" - -#elif defined __HP_aCC -// HP aCC -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" - -#elif defined(__IBMCPP__) -// IBM Visual Age -# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" - -#else - -# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use" - -#endif // compilers - -#endif // BOOST_HAS_THREADS - -#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/config/select_compiler_config.hpp b/trunk/paradiseo-eo/contrib/boost/config/select_compiler_config.hpp deleted file mode 100644 index 3453f1a35..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/select_compiler_config.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Martin Wille 2003. -// (C) Copyright Guillaume Melquiond 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// locate which compiler we are using and define -// BOOST_COMPILER_CONFIG as needed: - -# if defined __COMO__ -// Comeau C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" - -#elif defined __DMC__ -// Digital Mars C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" - -# elif defined __GNUC__ -// GNU C++: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" - -#elif defined __KCC -// Kai C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" - -#elif defined __sgi -// SGI MIPSpro C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" - -#elif defined __ghs -// Greenhills C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" - -#elif defined __BORLANDC__ -// Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" - -#elif defined __HP_aCC -// HP aCC -# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" - -#elif defined(__MRC__) || defined(__SC__) -// MPW MrCpp or SCpp -# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" - -#elif defined(__IBMCPP__) -// IBM Visual Age -# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the compiler: -# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" - -#endif diff --git a/trunk/paradiseo-eo/contrib/boost/config/select_platform_config.hpp b/trunk/paradiseo-eo/contrib/boost/config/select_platform_config.hpp deleted file mode 100644 index 60bfa5095..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/select_platform_config.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. -// Note that we define the headers to include using "header_name" not -// in order to prevent macro expansion within the header -// name (for example "linux" is a macro on linux systems). - -#if defined(linux) || defined(__linux) || defined(__linux__) -// linux: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" - -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -// BSD: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" - -#elif defined(sun) || defined(__sun) -// solaris: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" - -#elif defined(__sgi) -// SGI Irix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" - -#elif defined(__hpux) -// hp unix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" - -#elif defined(__CYGWIN__) -// cygwin is not win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -// win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" - -#elif defined(__BEOS__) -// BeOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" - -#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) -// MacOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" - -#elif defined(__IBMCPP__) || defined(_AIX) -// IBM -# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" - -#elif defined(__amigaos__) -// AmigaOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" - -#else - -# if defined(unix) \ - || defined(__unix) \ - || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) - - // generic unix platform: - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif - -# include - -# endif - -# if defined (BOOST_ASSERT_CONFIG) - // this must come last - generate an error if we don't - // recognise the platform: -# error "Unknown platform - please configure and report the results to boost.org" -# endif - -#endif - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/select_stdlib_config.hpp b/trunk/paradiseo-eo/contrib/boost/config/select_stdlib_config.hpp deleted file mode 100644 index b7bf59143..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/select_stdlib_config.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -// See http://www.boost.org for most recent version. - -// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: - -// we need to include a std lib header here in order to detect which -// library is in use, use as it's about the smallest -// of the std lib headers - do not rely on this header being included - -// users can short-circuit this header if they know whose std lib -// they are using. - -#include - -#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) -// STLPort library; this _must_ come first, otherwise since -// STLport typically sits on top of some other library, we -// can end up detecting that first rather than STLport: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" - -#elif defined(__LIBCOMO__) -// Comeau STL: -#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" - -#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) -// Rogue Wave library: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" - -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) -// GNU libstdc++ 3 -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" - -#elif defined(__STL_CONFIG_H) -// generic SGI STL -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" - -#elif defined(__MSL_CPP__) -// MSL standard lib: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" - -#elif defined(__IBMCPP__) -// take the default VACPP std lib -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" - -#elif defined(MSIPL_COMPILE_H) -// Modena C++ standard library -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" - -#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) -// Dinkumware Library (this has to appear after any possible replacement libraries): -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the library: -# error "Unknown standard library - please configure and report the results to boost.org" - -#endif - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Entries deleted file mode 100644 index d7a4c40c1..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/dinkumware.hpp/1.1/Thu Oct 6 12:13:52 2005// -/libcomo.hpp/1.1/Thu Oct 6 12:13:52 2005// -/libstdcpp3.hpp/1.1/Thu Oct 6 12:13:52 2005// -/modena.hpp/1.1/Thu Oct 6 12:13:52 2005// -/msl.hpp/1.1/Thu Oct 6 12:13:52 2005// -/roguewave.hpp/1.1/Thu Oct 6 12:13:52 2005// -/sgi.hpp/1.1/Thu Oct 6 12:13:52 2005// -/stlport.hpp/1.1/Thu Oct 6 12:13:52 2005// -/vacpp.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Repository deleted file mode 100644 index 0bdf66d0a..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/config/stdlib diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Root b/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/dinkumware.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/dinkumware.hpp deleted file mode 100644 index aa214fc1b..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/dinkumware.hpp +++ /dev/null @@ -1,106 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Guillaume Melquiond 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Dinkumware standard library config: - -#if !defined(_YVALS) && !defined(_CPPLIB_VER) -#include -#if !defined(_YVALS) && !defined(_CPPLIB_VER) -#error This is not the Dinkumware lib! -#endif -#endif - - -#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) - // full dinkumware 3.06 and above - // fully conforming provided the compiler supports it: -# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h -# define BOOST_NO_STDC_NAMESPACE -# endif -# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) -# define BOOST_NO_STD_ALLOCATOR -# endif -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) - // if this lib version is set up for vc6 then there is no std::use_facet: -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET - // C lib functions aren't in namespace std either: -# define BOOST_NO_STDC_NAMESPACE - // and nor is -# define BOOST_NO_EXCEPTION_STD_NAMESPACE -# endif -// There's no numeric_limits support unless _LONGLONG is defined: -# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# endif -// 3.06 appears to have (non-sgi versions of) & , -// and no at all -#else -# define BOOST_MSVC_STD_ITERATOR 1 -# define BOOST_NO_STD_ITERATOR -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_STD_USE_FACET -# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -# define BOOST_HAS_MACRO_USE_FACET -# ifndef _CPPLIB_VER - // Updated Dinkum library defines this, and provides - // its own min and max definitions. -# define BOOST_NO_STD_MIN_MAX -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# endif -#endif - -// -// std extension namespace is stdext for vc7.1 and later, -// the same applies to other compilers that sit on top -// of vc7.1 (Intel and Comeau): -// -#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__) -# define BOOST_STD_EXTENSION_NAMESPACE stdext -#endif - - -#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) - // if we're using a dinkum lib that's - // been configured for VC6/7 then there is - // no iterator traits (true even for icl) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) -// Intel C++ chokes over any non-trivial use of -// this may be an overly restrictive define, but regex fails without it: -# define BOOST_NO_STD_LOCALE -#endif - -#ifdef _CPPLIB_VER -# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER -#else -# define BOOST_DINKUMWARE_STDLIB 1 -#endif - -#ifdef _CPPLIB_VER -# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) -#else -# define BOOST_STDLIB "Dinkumware standard library version 1.x" -#endif - - - - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/libcomo.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/libcomo.hpp deleted file mode 100644 index b2c8e4400..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/libcomo.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// (C) Copyright John Maddock 2002 - 2003. -// (C) Copyright Jens Maurer 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Comeau STL: - -#if !defined(__LIBCOMO__) -# include -# if !defined(__LIBCOMO__) -# error "This is not the Comeau STL!" -# endif -#endif - -// -// std::streambuf is non-standard -// NOTE: versions of libcomo prior to beta28 have octal version numbering, -// e.g. version 25 is 21 (dec) -#if __LIBCOMO_VERSION__ <= 22 -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) -#define BOOST_NO_SWPRINTF -#endif - -#if __LIBCOMO_VERSION__ >= 31 -# define BOOST_HAS_HASH -# define BOOST_HAS_SLIST -#endif - -// -// Intrinsic type_traits support. -// The SGI STL has it's own __type_traits class, which -// has intrinsic compiler support with SGI's compilers. -// Whatever map SGI style type traits to boost equivalents: -// -#define BOOST_HAS_SGI_TYPE_TRAITS - -#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/libstdcpp3.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/libstdcpp3.hpp deleted file mode 100644 index f367fa0f1..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/libstdcpp3.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// config for libstdc++ v3 -// not much to go in here: - -#ifdef __GLIBCXX__ -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) -#else -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) -#endif - -#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -# define BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if defined(__osf__) && !defined(_REENTRANT) \ - && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) -// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header -// file is included, therefore for consistency we define it here as well. -# define _REENTRANT -#endif - -#ifdef __GLIBCXX__ // gcc 3.4 and greater: -# ifdef _GLIBCXX_HAVE_GTHR_DEFAULT - // - // If the std lib has thread support turned on, then turn it on in Boost - // as well. We do this because some gcc-3.4 std lib headers define _REENTANT - // while others do not... - // -# define BOOST_HAS_THREADS -# else -# define BOOST_DISABLE_THREADS -# endif -#elif defined(__GLIBCPP__) && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) - // disable thread support if the std lib was built single threaded: -# define BOOST_DISABLE_THREADS -#endif - -#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) -// linux on arm apparently doesn't define _REENTRANT -// so just turn on threading support whenever the std lib is thread safe: -# define BOOST_HAS_THREADS -#endif - - -#if !defined(_GLIBCPP_USE_LONG_LONG) \ - && !defined(_GLIBCXX_USE_LONG_LONG)\ - && defined(BOOST_HAS_LONG_LONG) -// May have been set by compiler/*.hpp, but "long long" without library -// support is useless. -# undef BOOST_HAS_LONG_LONG -#endif diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/modena.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/modena.hpp deleted file mode 100644 index 61e31b7d1..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/modena.hpp +++ /dev/null @@ -1,30 +0,0 @@ -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Modena C++ standard library (comes with KAI C++) - -#if !defined(MSIPL_COMPILE_H) -# include -# if !defined(__MSIPL_COMPILE_H) -# error "This is not the Modena C++ library!" -# endif -#endif - -#ifndef MSIPL_NL_TYPES -#define BOOST_NO_STD_MESSAGES -#endif - -#ifndef MSIPL_WCHART -#define BOOST_NO_STD_WSTRING -#endif - -#define BOOST_STDLIB "Modena C++ standard library" - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/msl.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/msl.hpp deleted file mode 100644 index 0df8e0e3b..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/msl.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Darin Adler 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Metrowerks standard library: - -#ifndef __MSL_CPP__ -# include -# ifndef __MSL_CPP__ -# error This is not the MSL standard library! -# endif -#endif - -#if __MSL_CPP__ >= 0x6000 // Pro 6 -# define BOOST_HAS_HASH -# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks -#endif -#define BOOST_HAS_SLIST - -#if __MSL_CPP__ < 0x6209 -# define BOOST_NO_STD_MESSAGES -#endif - -// check C lib version for -#include - -#if defined(__MSL__) && (__MSL__ >= 0x5000) -# define BOOST_HAS_STDINT_H -# if !defined(__PALMOS_TRAPS__) -# define BOOST_HAS_UNISTD_H -# endif - // boilerplate code: -# include -#endif - -#if defined(_MWMT) || _MSL_THREADSAFE -# define BOOST_HAS_THREADS -#endif - -#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET -#endif - - -#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) - - - - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/roguewave.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/roguewave.hpp deleted file mode 100644 index b331f6538..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/roguewave.hpp +++ /dev/null @@ -1,127 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Rogue Wave std lib: - -#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) -# include -# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) -# error This is not the Rogue Wave standard library -# endif -#endif -// -// figure out a consistent version number: -// -#ifndef _RWSTD_VER -# define BOOST_RWSTD_VER 0x010000 -#elif _RWSTD_VER < 0x010000 -# define BOOST_RWSTD_VER (_RWSTD_VER << 8) -#else -# define BOOST_RWSTD_VER _RWSTD_VER -#endif - -#ifndef _RWSTD_VER -# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" -#else -# define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) -#endif - -// -// Prior to version 2.2.0 the primary template for std::numeric_limits -// does not have compile time constants, even though specializations of that -// template do: -// -#if BOOST_RWSTD_VER < 0x020200 -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - -// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the -// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): -#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// Borland version of numeric_limits lacks __int64 specialisation: -// -#ifdef __BORLANDC__ -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// No std::iterator if it can't figure out default template args: -// -#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) -# define BOOST_NO_STD_ITERATOR -#endif - -// -// No iterator traits without partial specialization: -// -#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// Prior to version 2.0, std::auto_ptr was buggy, and there were no -// new-style iostreams, and no conformant std::allocator: -// -#if (BOOST_RWSTD_VER < 0x020000) -# define BOOST_NO_AUTO_PTR -# define BOOST_NO_STRINGSTREAM -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STD_LOCALE -#endif - -// -// No template iterator constructors without member template support: -// -#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -#endif - -// -// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use -// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR -// on HP aCC systems even though the allocator is in fact broken): -// -#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// If we have a std::locale, we still may not have std::use_facet: -// -#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET -#endif - -// -// There's no std::distance prior to version 2, or without -// partial specialization support: -// -#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) - #define BOOST_NO_STD_DISTANCE -#endif - -// -// Some versions of the rogue wave library don't have assignable -// OutputIterators: -// -#if BOOST_RWSTD_VER < 0x020100 -# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -#endif - -// -// Disable BOOST_HAS_LONG_LONG when the library has no support for it. -// -#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) -# undef BOOST_HAS_LONG_LONG -#endif diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/sgi.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/sgi.hpp deleted file mode 100644 index 67f7a0a4b..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/sgi.hpp +++ /dev/null @@ -1,111 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// generic SGI STL: - -#if !defined(__STL_CONFIG_H) -# include -# if !defined(__STL_CONFIG_H) -# error "This is not the SGI STL!" -# endif -#endif - -// -// No std::iterator traits without partial specialisation: -// -#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// No std::stringstream with gcc < 3 -// -#if defined(__GNUC__) && (__GNUC__ < 3) && \ - ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ - !defined(__STL_USE_NEW_IOSTREAMS) || \ - defined(__APPLE_CC__) - // Note that we only set this for GNU C++ prior to 2.95 since the - // latest patches for that release do contain a minimal - // If you are running a 2.95 release prior to 2.95.3 then this will need - // setting, but there is no way to detect that automatically (other - // than by running the configure script). - // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't - // have . -# define BOOST_NO_STRINGSTREAM -#endif - -// -// Assume no std::locale without own iostreams (this may be an -// incorrect assumption in some cases): -// -#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -#endif - -// -// Original native SGI streams have non-standard std::messages facet: -// -#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -#endif - -// -// SGI's new iostreams have missing "const" in messages<>::open -// -#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) -# define BOOST_NO_STD_MESSAGES -#endif - -// -// No template iterator constructors, or std::allocator -// without member templates: -// -#if !defined(__STL_MEMBER_TEMPLATES) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// We always have SGI style hash_set, hash_map, and slist: -// -#define BOOST_HAS_HASH -#define BOOST_HAS_SLIST - -// -// If this is GNU libstdc++2, then no and no std::wstring: -// -#if (defined(__GNUC__) && (__GNUC__ < 3)) -# include -# if defined(__BASTRING__) -# define BOOST_NO_LIMITS -// Note: will provide compile-time constants -# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_STD_WSTRING -# endif -#endif - -// -// There is no standard iterator unless we have namespace support: -// -#if !defined(__STL_USE_NAMESPACES) -# define BOOST_NO_STD_ITERATOR -#endif - -// -// Intrinsic type_traits support. -// The SGI STL has it's own __type_traits class, which -// has intrinsic compiler support with SGI's compilers. -// Whatever map SGI style type traits to boost equivalents: -// -#define BOOST_HAS_SGI_TYPE_TRAITS - -#define BOOST_STDLIB "SGI standard library" - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/stlport.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/stlport.hpp deleted file mode 100644 index 4843ea59b..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/stlport.hpp +++ /dev/null @@ -1,201 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// STLPort standard library config: - -#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -# include -# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -# error "This is not STLPort!" -# endif -#endif - -// -// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -// for versions prior to 4.1(beta) -// -#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - -// -// If STLport thinks that there is no partial specialisation, then there is no -// std::iterator traits: -// -#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// No new style iostreams on GCC without STLport's iostreams enabled: -// -#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) -# define BOOST_NO_STRINGSTREAM -#endif - -// -// No new iostreams implies no std::locale, and no std::stringstream: -// -#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -# define BOOST_NO_STRINGSTREAM -#endif - -// -// If the streams are not native, and we have a "using ::x" compiler bug -// then the io stream facets are not available in namespace std:: -// -#ifdef _STLPORT_VERSION -# if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) -# define BOOST_NO_STD_LOCALE -# endif -#else -# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) -# define BOOST_NO_STD_LOCALE -# endif -#endif - -// -// Without member template support enabled, their are no template -// iterate constructors, and no std::allocator: -// -#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -#endif -// -// however we always have at least a partial allocator: -// -#define BOOST_HAS_PARTIAL_STD_ALLOCATOR - -#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) -# define BOOST_NO_STD_ALLOCATOR -#endif - -#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// If STLport thinks there is no wchar_t at all, then we have to disable -// the support for the relevant specilazations of std:: templates. -// -#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) -# ifndef BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTRING -# endif -# ifndef BOOST_NO_STD_WSTREAMBUF -# define BOOST_NO_STD_WSTREAMBUF -# endif -#endif - -// -// We always have SGI style hash_set, hash_map, and slist: -// -#define BOOST_HAS_HASH -#define BOOST_HAS_SLIST - -// -// STLport does a good job of importing names into namespace std::, -// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our -// workaround does not conflict with STLports: -// -// -// Harold Howe says: -// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with -// BCB6 does cause problems. If we detect C++ Builder, then don't define -// BOOST_NO_STDC_NAMESPACE -// -#if !defined(__BORLANDC__) && !defined(__DMC__) -// -// If STLport is using it's own namespace, and the real names are in -// the global namespace, then we duplicate STLport's using declarations -// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't -// necessarily import all the names we need into namespace std:: -// -# if (defined(__STL_IMPORT_VENDOR_CSTD) \ - || defined(__STL_USE_OWN_NAMESPACE) \ - || defined(_STLP_IMPORT_VENDOR_CSTD) \ - || defined(_STLP_USE_OWN_NAMESPACE)) \ - && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_EXCEPTION_STD_NAMESPACE -# endif -#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560 -// STLport doesn't import std::abs correctly: -#include -namespace std { using ::abs; } -// and strcmp/strcpy don't get imported either ('cos they are macros) -#include -#ifdef strcpy -# undef strcpy -#endif -#ifdef strcmp -# undef strcmp -#endif -#ifdef _STLP_VENDOR_CSTD -namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } -#endif -#endif - -// -// std::use_facet may be non-standard, uses a class instead: -// -#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_STLP_USE_FACET -#endif - -// -// If STLport thinks there are no wide functions, etc. is not working; but -// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import -// into std:: ourselves). -// -#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -#endif - -// -// If STLport for some reason was configured so that it thinks that wchar_t -// is not an intrinsic type, then we have to disable the support for it as -// well (we would be missing required specializations otherwise). -// -#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) -# undef BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -// -// Borland ships a version of STLport with C++ Builder 6 that lacks -// hashtables and the like: -// -#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560) -# undef BOOST_HAS_HASH -#endif - -// -// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max -// -#if defined(__GNUC__) && (__GNUC__ < 3) -# include // for std::min and std::max -# define BOOST_USING_STD_MIN() ((void)0) -# define BOOST_USING_STD_MAX() ((void)0) -namespace boost { using std::min; using std::max; } -#endif - -#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) - - - - - - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/stdlib/vacpp.hpp b/trunk/paradiseo-eo/contrib/boost/config/stdlib/vacpp.hpp deleted file mode 100644 index 8321ee0cc..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/stdlib/vacpp.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -#if __IBMCPP__ <= 501 -# define BOOST_NO_STD_ALLOCATOR -#endif - -#define BOOST_HAS_MACRO_USE_FACET -#define BOOST_NO_STD_MESSAGES - -#define BOOST_STDLIB "Visual Age default standard library" - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/suffix.hpp b/trunk/paradiseo-eo/contrib/boost/config/suffix.hpp deleted file mode 100644 index d4d9502d4..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/suffix.hpp +++ /dev/null @@ -1,547 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Bill Kempf 2002. -// (C) Copyright Jens Maurer 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Gennaro Prota 2003. -// (C) Copyright Eric Friedman 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config -// -// This file is intended to be stable, and relatively unchanging. -// It should contain boilerplate code only - no compiler specific -// code unless it is unavoidable - no changes unless unavoidable. - -#ifndef BOOST_CONFIG_SUFFIX_HPP -#define BOOST_CONFIG_SUFFIX_HPP - -// -// look for long long by looking for the appropriate macros in . -// Note that we use limits.h rather than climits for maximal portability, -// remember that since these just declare a bunch of macros, there should be -// no namespace issues from this. -// -#include -# if !defined(BOOST_HAS_LONG_LONG) \ - && !defined(BOOST_MSVC) && !defined(__BORLANDC__) \ - && (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) -# define BOOST_HAS_LONG_LONG -#endif - -// TODO: Remove the following lines after the 1.33 release because the presence -// of an integral 64 bit type has nothing to do with support for long long. - -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(__DECCXX_VER) -# define BOOST_NO_INTEGRAL_INT64_T -#endif - -// GCC 3.x will clean up all of those nasty macro definitions that -// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine -// it under GCC 3.x. -#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) -# undef BOOST_NO_CTYPE_FUNCTIONS -#endif - - -// -// Assume any extensions are in namespace std:: unless stated otherwise: -// -# ifndef BOOST_STD_EXTENSION_NAMESPACE -# define BOOST_STD_EXTENSION_NAMESPACE std -# endif - -// -// If cv-qualified specializations are not allowed, then neither are cv-void ones: -// -# if defined(BOOST_NO_CV_SPECIALIZATIONS) \ - && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# endif - -// -// If there is no numeric_limits template, then it can't have any compile time -// constants either! -// -# if defined(BOOST_NO_LIMITS) \ - && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// if there is no long long then there is no specialisation -// for numeric_limits either: -// -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -#endif - -// -// if there is no __int64 then there is no specialisation -// for numeric_limits<__int64> either: -// -#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// if member templates are supported then so is the -// VC6 subset of member templates: -// -# if !defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) -# define BOOST_MSVC6_MEMBER_TEMPLATES -# endif - -// -// Without partial specialization, can't test for partial specialisation bugs: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# endif - -// -// Without partial specialization, we can't have array-type partial specialisations: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# endif - -// -// Without partial specialization, std::iterator_traits can't work: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_STD_ITERATOR_TRAITS) -# define BOOST_NO_STD_ITERATOR_TRAITS -# endif - -// -// Without member template support, we can't have template constructors -// in the standard library either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# endif - -// -// Without member template support, we can't have a conforming -// std::allocator template either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_NO_STD_ALLOCATOR -# endif - -// -// without ADL support then using declarations will break ADL as well: -// -#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// If we have a standard allocator, then we have a partial one as well: -// -#if !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -// -// We can't have a working std::use_facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) -# define BOOST_NO_STD_USE_FACET -# endif - -// -// We can't have a std::messages facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) -# define BOOST_NO_STD_MESSAGES -# endif - -// -// We can't have a working std::wstreambuf if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) -# define BOOST_NO_STD_WSTREAMBUF -# endif - -// -// We can't have a if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) -# define BOOST_NO_CWCTYPE -# endif - -// -// We can't have a swprintf if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -# endif - -// -// If Win32 support is turned off, then we must turn off -// threading support also, unless there is some other -// thread API enabled: -// -#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ - && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) -# define BOOST_DISABLE_THREADS -#endif - -// -// Turn on threading support if the compiler thinks that it's in -// multithreaded mode. We put this here because there are only a -// limited number of macros that identify this (if there's any missing -// from here then add to the appropriate compiler section): -// -#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ - || defined(_PTHREADS)) && !defined(BOOST_HAS_THREADS) -# define BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if BOOST_DISABLE_THREADS is defined: -// -#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if we don't recognise the threading API: -// -#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ - && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ - && !defined(BOOST_HAS_MPTASKS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading detail macros off if we don't (want to) use threading -// -#ifndef BOOST_HAS_THREADS -# undef BOOST_HAS_PTHREADS -# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# undef BOOST_HAS_WINTHREADS -# undef BOOST_HAS_BETHREADS -# undef BOOST_HAS_MPTASKS -#endif - -// -// If the compiler claims to be C99 conformant, then it had better -// have a : -// -# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) -# define BOOST_HAS_STDINT_H -# endif - -// -// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. -// Note that this is for backwards compatibility only. -// -# ifndef BOOST_HAS_SLIST -# define BOOST_NO_SLIST -# endif - -# ifndef BOOST_HAS_HASH -# define BOOST_NO_HASH -# endif - -// BOOST_HAS_ABI_HEADERS -// This macro gets set if we have headers that fix the ABI, -// and prevent ODR violations when linking to external libraries: -#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) -# define BOOST_HAS_ABI_HEADERS -#endif - -#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) -# undef BOOST_HAS_ABI_HEADERS -#endif - -// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// -// Because std::size_t usage is so common, even in boost headers which do not -// otherwise use the C library, the workaround is included here so -// that ugly workaround code need not appear in many other boost headers. -// NOTE WELL: This is a workaround for non-conforming compilers; -// must still be #included in the usual places so that inclusion -// works as expected with standard conforming compilers. The resulting -// double inclusion of is harmless. - -# ifdef BOOST_NO_STDC_NAMESPACE -# include - namespace std { using ::ptrdiff_t; using ::size_t; } -# endif - -// Workaround for the unfortunate min/max macros defined by some platform headers - -#define BOOST_PREVENT_MACRO_SUBSTITUTION - -#ifndef BOOST_USING_STD_MIN -# define BOOST_USING_STD_MIN() using std::min -#endif - -#ifndef BOOST_USING_STD_MAX -# define BOOST_USING_STD_MAX() using std::max -#endif - -// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// - -# ifdef BOOST_NO_STD_MIN_MAX - -namespace std { - template - inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __b < __a ? __b : __a; - } - template - inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __a < __b ? __b : __a; - } -} - -# endif - -// BOOST_STATIC_CONSTANT workaround --------------------------------------- // -// On compilers which don't allow in-class initialization of static integral -// constant members, we must use enums as a workaround if we want the constants -// to be available at compile-time. This macro gives us a convenient way to -// declare such constants. - -# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } -# else -# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment -# endif - -// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// -// When the standard library does not have a conforming std::use_facet there -// are various workarounds available, but they differ from library to library. -// The same problem occurs with has_facet. -// These macros provide a consistent way to access a locale's facets. -// Usage: -// replace -// std::use_facet(loc); -// with -// BOOST_USE_FACET(Type, loc); -// Note do not add a std:: prefix to the front of BOOST_USE_FACET! -// Use for BOOST_HAS_FACET is analagous. - -#if defined(BOOST_NO_STD_USE_FACET) -# ifdef BOOST_HAS_TWO_ARG_USE_FACET -# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) -# elif defined(BOOST_HAS_MACRO_USE_FACET) -# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) -# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) -# elif defined(BOOST_HAS_STLP_USE_FACET) -# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -# endif -#else -# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -#endif - -// BOOST_NESTED_TEMPLATE workaround ------------------------------------------// -// Member templates are supported by some compilers even though they can't use -// the A::template member syntax, as a workaround replace: -// -// typedef typename A::template rebind binder; -// -// with: -// -// typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; - -#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# define BOOST_NESTED_TEMPLATE template -#else -# define BOOST_NESTED_TEMPLATE -#endif - -// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// -// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION -// is defined, in which case it evaluates to return x; Use when you have a return -// statement that can never be reached. - -#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_UNREACHABLE_RETURN(x) return x; -#else -# define BOOST_UNREACHABLE_RETURN(x) -#endif - -// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// -// -// Some compilers don't support the use of `typename' for dependent -// types in deduced contexts, e.g. -// -// template void f(T, typename T::type); -// ^^^^^^^^ -// Replace these declarations with: -// -// template void f(T, BOOST_DEDUCED_TYPENAME T::type); - -#ifndef BOOST_NO_DEDUCED_TYPENAME -# define BOOST_DEDUCED_TYPENAME typename -#else -# define BOOST_DEDUCED_TYPENAME -#endif - -// long long workaround ------------------------------------------// -// On gcc (and maybe other compilers?) long long is alway supported -// but it's use may generate either warnings (with -ansi), or errors -// (with -pedantic -ansi) unless it's use is prefixed by __extension__ -// -#if defined(BOOST_HAS_LONG_LONG) -namespace boost{ -# ifdef __GNUC__ - __extension__ typedef long long long_long_type; - __extension__ typedef unsigned long long ulong_long_type; -# else - typedef long long long_long_type; - typedef unsigned long long ulong_long_type; -# endif -} -#endif - -// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// -// -// Some compilers have problems with function templates whose -// template parameters don't appear in the function parameter -// list (basically they just link one instantiation of the -// template in the final executable). These macros provide a -// uniform way to cope with the problem with no effects on the -// calling syntax. - -// Example: -// -// #include -// #include -// #include -// -// template -// void f() { std::cout << n << ' '; } -// -// template -// void g() { std::cout << typeid(T).name() << ' '; } -// -// int main() { -// f<1>(); -// f<2>(); -// -// g(); -// g(); -// } -// -// With VC++ 6.0 the output is: -// -// 2 2 double double -// -// To fix it, write -// -// template -// void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... } -// -// template -// void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... } -// - - -#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS - -# include "boost/type.hpp" -# include "boost/non_type.hpp" - -# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) boost::type* = 0 -# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type* -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type* = 0 -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type* - -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \ - , BOOST_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \ - , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \ - , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \ - , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -#else - -// no workaround needed: expand to nothing - -# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - - -#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS - - -// ---------------------------------------------------------------------------// - -// -// Helper macro BOOST_STRINGIZE: -// Converts the parameter X to a string after macro replacement -// on X has been performed. -// -#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -#define BOOST_DO_STRINGIZE(X) #X - -// -// Helper macro BOOST_JOIN: -// The following piece of macro magic joins the two -// arguments together, even when one of the arguments is -// itself a macro (see 16.3.1 in C++ standard). The key -// is that macro expansion of macro arguments does not -// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN. -// -#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y ) -#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y) -#define BOOST_DO_JOIN2( X, Y ) X##Y - -// -// Set some default values for compiler/library/platform names. -// These are for debugging config setup only: -// -# ifndef BOOST_COMPILER -# define BOOST_COMPILER "Unknown ISO C++ Compiler" -# endif -# ifndef BOOST_STDLIB -# define BOOST_STDLIB "Unknown ISO standard library" -# endif -# ifndef BOOST_PLATFORM -# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) -# define BOOST_PLATFORM "Generic Unix" -# else -# define BOOST_PLATFORM "Unknown" -# endif -# endif - -#endif - - - diff --git a/trunk/paradiseo-eo/contrib/boost/config/user.hpp b/trunk/paradiseo-eo/contrib/boost/config/user.hpp deleted file mode 100644 index 5a4a9d477..000000000 --- a/trunk/paradiseo-eo/contrib/boost/config/user.hpp +++ /dev/null @@ -1,124 +0,0 @@ -// boost/config/user.hpp ---------------------------------------------------// - -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// Do not check in modified versions of this file, -// This file may be customized by the end user, but not by boost. - -// -// Use this file to define a site and compiler specific -// configuration policy: -// - -// define this to locate a compiler config file: -// #define BOOST_COMPILER_CONFIG - -// define this to locate a stdlib config file: -// #define BOOST_STDLIB_CONFIG - -// define this to locate a platform config file: -// #define BOOST_PLATFORM_CONFIG - -// define this to disable compiler config, -// use if your compiler config has nothing to set: -// #define BOOST_NO_COMPILER_CONFIG - -// define this to disable stdlib config, -// use if your stdlib config has nothing to set: -// #define BOOST_NO_STDLIB_CONFIG - -// define this to disable platform config, -// use if your platform config has nothing to set: -// #define BOOST_NO_PLATFORM_CONFIG - -// define this to disable all config options, -// excluding the user config. Use if your -// setup is fully ISO compliant, and has no -// useful extensions, or for autoconf generated -// setups: -// #define BOOST_NO_CONFIG - -// define this to make the config "optimistic" -// about unknown compiler versions. Normally -// unknown compiler versions are assumed to have -// all the defects of the last known version, however -// setting this flag, causes the config to assume -// that unknown compiler versions are fully conformant -// with the standard: -// #define BOOST_STRICT_CONFIG - -// define this to cause the config to halt compilation -// with an #error if it encounters anything unknown -- -// either an unknown compiler version or an unknown -// compiler/platform/library: -// #define BOOST_ASSERT_CONFIG - - -// define if you want to disable threading support, even -// when available: -// #define BOOST_DISABLE_THREADS - -// define when you want to disable Win32 specific features -// even when available: -// #define BOOST_DISABLE_WIN32 - -// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any -// prefix/suffix headers that normally control things like struct -// packing and alignment. -// #define BOOST_DISABLE_ABI_HEADERS - -// BOOST_ABI_PREFIX: A prefix header to include in place of whatever -// boost.config would normally select, any replacement should set up -// struct packing and alignment options as required. -// #define BOOST_ABI_PREFIX my-header-name - -// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever -// boost.config would normally select, any replacement should undo -// the effects of the prefix header. -// #define BOOST_ABI_SUFFIX my-header-name - -// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, -// to be linked as dll's rather than static libraries on Microsoft Windows -// (this macro is used to turn on __declspec(dllimport) modifiers, so that -// the compiler knows which symbols to look for in a dll rather than in a -// static library). Note that there may be some libraries that can only -// be statically linked (Boost.Test for example) and others which may only -// be dynamically linked (Boost.Threads for example), in these cases this -// macro has no effect. -// #define BOOST_ALL_DYN_LINK - -// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll -// rather than a static library on Microsoft Windows: replace the WHATEVER -// part of the macro name with the name of the library that you want to -// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or -// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) -// modifiers, so that the compiler knows which symbols to look for in a dll -// rather than in a static library). -// Note that there may be some libraries that can only be statically linked -// (Boost.Test for example) and others which may only be dynamically linked -// (Boost.Threads for example), in these cases this macro is unsupported. -// #define BOOST_WHATEVER_DYN_LINK - -// BOOST_ALL_NO_LIB: Tells the config system not to automatically select -// which libraries to link against. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, -// simply by the act of including one of that library's headers. -// This macro turns that feature off. -// #define BOOST_ALL_NO_LIB - -// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically -// select which library to link against for library "whatever", -// replace WHATEVER in the macro name with the name of the library; -// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, simply -// by the act of including one of that library's headers. This macro turns -// that feature off. -// #define BOOST_WHATEVER_NO_LIB - - - diff --git a/trunk/paradiseo-eo/contrib/boost/limits.hpp b/trunk/paradiseo-eo/contrib/boost/limits.hpp deleted file mode 100644 index f468dbce7..000000000 --- a/trunk/paradiseo-eo/contrib/boost/limits.hpp +++ /dev/null @@ -1,143 +0,0 @@ - -// (C) Copyright John maddock 1999. -// (C) David Abrahams 2002. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// use this header as a workaround for missing - -// See http://www.boost.org/libs/utility/limits.html for documentation. - -#ifndef BOOST_LIMITS -#define BOOST_LIMITS - -#include - -#ifdef BOOST_NO_LIMITS -# include -#else -# include -#endif - -#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \ - || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)) -// Add missing specializations for numeric_limits: -#ifdef BOOST_HAS_MS_INT64 -# define BOOST_LLT __int64 -# define BOOST_ULLT unsigned __int64 -#else -# define BOOST_LLT ::boost::long_long_type -# define BOOST_ULLT ::boost::ulong_long_type -#endif - -namespace std -{ - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; } -#elif defined(LLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; } -#elif defined(LONGLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; } -#else - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = true); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_LLT epsilon() throw() { return 0; }; - static BOOST_LLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_LLT infinity() throw() { return 0; }; - static BOOST_LLT quiet_NaN() throw() { return 0; }; - static BOOST_LLT signaling_NaN() throw() { return 0; }; - static BOOST_LLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = false); - BOOST_STATIC_CONSTANT(bool, is_modulo = false); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; - - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; } -#elif defined(ULLONG_MAX) && defined(ULLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; } -#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; } -#else - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = false); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_ULLT epsilon() throw() { return 0; }; - static BOOST_ULLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_ULLT infinity() throw() { return 0; }; - static BOOST_ULLT quiet_NaN() throw() { return 0; }; - static BOOST_ULLT signaling_NaN() throw() { return 0; }; - static BOOST_ULLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = false); - BOOST_STATIC_CONSTANT(bool, is_modulo = false); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; -} -#endif - -#endif diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Entries deleted file mode 100644 index dc52fccd1..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/interval.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Entries.Log b/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Entries.Log deleted file mode 100644 index 6c4ec9dda..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Entries.Log +++ /dev/null @@ -1 +0,0 @@ -A D/interval//// diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Repository deleted file mode 100644 index 03c46be7c..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/numeric diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Root b/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval.hpp deleted file mode 100644 index e6f976df0..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Boost interval.hpp header file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_HPP -#define BOOST_NUMERIC_INTERVAL_HPP - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#endif // BOOST_NUMERIC_INTERVAL_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Entries deleted file mode 100644 index 321839ecf..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Entries +++ /dev/null @@ -1,17 +0,0 @@ -/arith.hpp/1.1/Thu Oct 6 12:13:52 2005// -/arith2.hpp/1.1/Thu Oct 6 12:13:52 2005// -/arith3.hpp/1.1/Thu Oct 6 12:13:52 2005// -/checking.hpp/1.1/Thu Oct 6 12:13:52 2005// -/compare.hpp/1.1/Thu Oct 6 12:13:52 2005// -/constants.hpp/1.1/Thu Oct 6 12:13:52 2005// -/hw_rounding.hpp/1.1/Thu Oct 6 12:13:52 2005// -/interval.hpp/1.1/Thu Oct 6 12:13:52 2005// -/io.hpp/1.1/Thu Oct 6 12:13:52 2005// -/limits.hpp/1.1/Thu Oct 6 12:13:52 2005// -/policies.hpp/1.1/Thu Oct 6 12:13:52 2005// -/rounded_arith.hpp/1.1/Thu Oct 6 12:13:52 2005// -/rounded_transc.hpp/1.1/Thu Oct 6 12:13:52 2005// -/rounding.hpp/1.1/Thu Oct 6 12:13:52 2005// -/transc.hpp/1.1/Thu Oct 6 12:13:52 2005// -/utility.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Entries.Log b/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Entries.Log deleted file mode 100644 index ed1afc48d..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Entries.Log +++ /dev/null @@ -1,3 +0,0 @@ -A D/compare//// -A D/detail//// -A D/ext//// diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Repository deleted file mode 100644 index 6841d56cd..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/numeric/interval diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Root b/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith.hpp deleted file mode 100644 index 64a8e97ee..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith.hpp +++ /dev/null @@ -1,305 +0,0 @@ -/* Boost interval/arith.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -/* - * Basic arithmetic operators - */ - -template inline -const interval& operator+(const interval& x) -{ - return x; -} - -template inline -interval operator-(const interval& x) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - return interval(-x.upper(), -x.lower(), true); -} - -template inline -interval& interval::operator+=(const interval& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.add_down(low, r.low), rnd.add_up(up, r.up)); - } - return *this; -} - -template inline -interval& interval::operator+=(const T& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.add_down(low, r), rnd.add_up(up, r)); - } - return *this; -} - -template inline -interval& interval::operator-=(const interval& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.sub_down(low, r.up), rnd.sub_up(up, r.low)); - } - return *this; -} - -template inline -interval& interval::operator-=(const T& r) -{ - if (interval_lib::detail::test_input(*this, r)) - set_empty(); - else { - typename Policies::rounding rnd; - set(rnd.sub_down(low, r), rnd.sub_up(up, r)); - } - return *this; -} - -template inline -interval& interval::operator*=(const interval& r) -{ - return *this = *this * r; -} - -template inline -interval& interval::operator*=(const T& r) -{ - return *this = r * *this; -} - -template inline -interval& interval::operator/=(const interval& r) -{ - return *this = *this / r; -} - -template inline -interval& interval::operator/=(const T& r) -{ - return *this = *this / r; -} - -template inline -interval operator+(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.add_down(x.lower(), y.lower()), - rnd.add_up (x.upper(), y.upper()), true); -} - -template inline -interval operator+(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.add_down(x, y.lower()), - rnd.add_up (x, y.upper()), true); -} - -template inline -interval operator+(const interval& x, const T& y) -{ return y + x; } - -template inline -interval operator-(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), y.upper()), - rnd.sub_up (x.upper(), y.lower()), true); -} - -template inline -interval operator-(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x, y.upper()), - rnd.sub_up (x, y.lower()), true); -} - -template inline -interval operator-(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), y), - rnd.sub_up (x.upper(), y), true); -} - -template inline -interval operator*(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - - if (interval_lib::user::is_neg(xl)) - if (interval_lib::user::is_pos(xu)) - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // M * M - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.mul_down(xl, yu), rnd.mul_down(xu, yl)), - max BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.mul_up (xl, yl), rnd.mul_up (xu, yu)), true); - else // M * N - return I(rnd.mul_down(xu, yl), rnd.mul_up(xl, yl), true); - else - if (interval_lib::user::is_pos(yu)) // M * P - return I(rnd.mul_down(xl, yu), rnd.mul_up(xu, yu), true); - else // M * Z - return I(static_cast(0), static_cast(0), true); - else - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // N * M - return I(rnd.mul_down(xl, yu), rnd.mul_up(xl, yl), true); - else // N * N - return I(rnd.mul_down(xu, yu), rnd.mul_up(xl, yl), true); - else - if (interval_lib::user::is_pos(yu)) // N * P - return I(rnd.mul_down(xl, yu), rnd.mul_up(xu, yl), true); - else // N * Z - return I(static_cast(0), static_cast(0), true); - else - if (interval_lib::user::is_pos(xu)) - if (interval_lib::user::is_neg(yl)) - if (interval_lib::user::is_pos(yu)) // P * M - return I(rnd.mul_down(xu, yl), rnd.mul_up(xu, yu), true); - else // P * N - return I(rnd.mul_down(xu, yl), rnd.mul_up(xl, yu), true); - else - if (interval_lib::user::is_pos(yu)) // P * P - return I(rnd.mul_down(xl, yl), rnd.mul_up(xu, yu), true); - else // P * Z - return I(static_cast(0), static_cast(0), true); - else // Z * ? - return I(static_cast(0), static_cast(0), true); -} - -template inline -interval operator*(const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - const T& yl = y.lower(); - const T& yu = y.upper(); - // x is supposed not to be infinite - if (interval_lib::user::is_neg(x)) - return I(rnd.mul_down(x, yu), rnd.mul_up(x, yl), true); - else if (interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - else - return I(rnd.mul_down(x, yl), rnd.mul_up(x, yu), true); -} - -template inline -interval operator*(const interval& x, const T& y) -{ return y * x; } - -template inline -interval operator/(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - if (in_zero(y)) - if (!interval_lib::user::is_zero(y.lower())) - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_zero(x); - else - return interval_lib::detail::div_negative(x, y.lower()); - else - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_positive(x, y.upper()); - else - return interval::empty(); - else - return interval_lib::detail::div_non_zero(x, y); -} - -template inline -interval operator/(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - if (in_zero(y)) - if (!interval_lib::user::is_zero(y.lower())) - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_zero(x); - else - return interval_lib::detail::div_negative(x, y.lower()); - else - if (!interval_lib::user::is_zero(y.upper())) - return interval_lib::detail::div_positive(x, y.upper()); - else - return interval::empty(); - else - return interval_lib::detail::div_non_zero(x, y); -} - -template inline -interval operator/(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y) || interval_lib::user::is_zero(y)) - return interval::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - if (interval_lib::user::is_neg(y)) - return interval(rnd.div_down(xu, y), rnd.div_up(xl, y), true); - else - return interval(rnd.div_down(xl, y), rnd.div_up(xu, y), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith2.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith2.hpp deleted file mode 100644 index 274a68119..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith2.hpp +++ /dev/null @@ -1,212 +0,0 @@ -/* Boost interval/arith2.hpp template implementation file - * - * This header provides some auxiliary arithmetic - * functions: fmod, sqrt, square, pov, inverse and - * a multi-interval division. - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH2_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH2_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval fmod(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T const &yb = interval_lib::user::is_neg(x.lower()) ? y.lower() : y.upper(); - T n = rnd.int_down(rnd.div_down(x.lower(), yb)); - return (const I&)x - n * (const I&)y; -} - -template inline -interval fmod(const interval& x, const T& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T n = rnd.int_down(rnd.div_down(x.lower(), y)); - return (const I&)x - n * I(y); -} - -template inline -interval fmod(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect >::type I; - T const &yb = interval_lib::user::is_neg(x) ? y.lower() : y.upper(); - T n = rnd.int_down(rnd.div_down(x, yb)); - return x - n * (const I&)y; -} - -namespace interval_lib { - -template inline -interval division_part1(const interval& x, - const interval& y, bool& b) -{ - typedef interval I; - b = false; - if (detail::test_input(x, y)) - return I::empty(); - if (in_zero(y)) - if (!user::is_zero(y.lower())) - if (!user::is_zero(y.upper())) - return detail::div_zero_part1(x, y, b); - else - return detail::div_negative(x, y.lower()); - else - if (!user::is_zero(y.upper())) - return detail::div_positive(x, y.upper()); - else - return I::empty(); - else - return detail::div_non_zero(x, y); -} - -template inline -interval division_part2(const interval& x, - const interval& y, bool b = true) -{ - if (!b) return interval::empty(); - return detail::div_zero_part2(x, y); -} - -template inline -interval multiplicative_inverse(const interval& x) -{ - typedef interval I; - if (detail::test_input(x)) - return I::empty(); - T one = static_cast(1); - typename Policies::rounding rnd; - if (in_zero(x)) { - typedef typename Policies::checking checking; - if (!user::is_zero(x.lower())) - if (!user::is_zero(x.upper())) - return I::whole(); - else - return I(checking::neg_inf(), rnd.div_up(one, x.lower()), true); - else - if (!user::is_zero(x.upper())) - return I(rnd.div_down(one, x.upper()), checking::pos_inf(), true); - else - return I::empty(); - } else - return I(rnd.div_down(one, x.upper()), rnd.div_up(one, x.lower()), true); -} - -namespace detail { - -template inline -T pow_aux(const T& x_, int pwr, Rounding& rnd) // x and pwr are positive -{ - T x = x_; - T y = (pwr & 1) ? x_ : static_cast(1); - pwr >>= 1; - while (pwr > 0) { - x = rnd.mul_up(x, x); - if (pwr & 1) y = rnd.mul_up(x, y); - pwr >>= 1; - } - return y; -} - -} // namespace detail -} // namespace interval_lib - -template inline -interval pow(const interval& x, int pwr) -{ - BOOST_USING_STD_MAX(); - using interval_lib::detail::pow_aux; - typedef interval I; - - if (interval_lib::detail::test_input(x)) - return I::empty(); - - if (pwr == 0) - if (interval_lib::user::is_zero(x.lower()) - && interval_lib::user::is_zero(x.upper())) - return I::empty(); - else - return I(static_cast(1)); - else if (pwr < 0) - return interval_lib::multiplicative_inverse(pow(x, -pwr)); - - typename Policies::rounding rnd; - - if (interval_lib::user::is_neg(x.upper())) { // [-2,-1] - T yl = pow_aux(-x.upper(), pwr, rnd); - T yu = pow_aux(-x.lower(), pwr, rnd); - if (pwr & 1) // [-2,-1]^1 - return I(-yu, -yl, true); - else // [-2,-1]^2 - return I(yl, yu, true); - } else if (interval_lib::user::is_neg(x.lower())) { // [-1,1] - if (pwr & 1) { // [-1,1]^1 - return I(-pow_aux(-x.lower(), pwr, rnd), pow_aux(x.upper(), pwr, rnd), true); - } else { // [-1,1]^2 - return I(static_cast(0), pow_aux(max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()), pwr, rnd), true); - } - } else { // [1,2] - return I(pow_aux(x.lower(), pwr, rnd), pow_aux(x.upper(), pwr, rnd), true); - } -} - -template inline -interval sqrt(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || interval_lib::user::is_neg(x.upper())) - return I::empty(); - typename Policies::rounding rnd; - T l = !interval_lib::user::is_pos(x.lower()) ? static_cast(0) : rnd.sqrt_down(x.lower()); - return I(l, rnd.sqrt_up(x.upper()), true); -} - -template inline -interval square(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - const T& xl = x.lower(); - const T& xu = x.upper(); - if (interval_lib::user::is_neg(xu)) - return I(rnd.mul_down(xu, xu), rnd.mul_up(xl, xl), true); - else if (interval_lib::user::is_pos(x.lower())) - return I(rnd.mul_down(xl, xl), rnd.mul_up(xu, xu), true); - else - return I(static_cast(0), (-xl > xu ? rnd.mul_up(xl, xl) : rnd.mul_up(xu, xu)), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH2_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith3.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith3.hpp deleted file mode 100644 index 518e6182f..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/arith3.hpp +++ /dev/null @@ -1,69 +0,0 @@ -/* Boost interval/arith3.hpp template implementation file - * - * This headers provides arithmetical functions - * which compute an interval given some base - * numbers. The resulting interval encloses the - * real result of the arithmetic operation. - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ARITH3_HPP -#define BOOST_NUMERIC_INTERVAL_ARITH3_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -template inline -I add(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.add_down(x, y), rnd.add_up(x, y), true); -} - -template inline -I sub(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.sub_down(x, y), rnd.sub_up(x, y), true); -} - -template inline -I mul(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.mul_down(x, y), rnd.mul_up(x, y), true); -} - -template inline -I div(const typename I::base_type& x, const typename I::base_type& y) -{ - typedef typename I::traits_type Policies; - if (detail::test_input(x, y) || user::is_zero(y)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.div_down(x, y), rnd.div_up(x, y), true); -} - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ARITH3_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/checking.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/checking.hpp deleted file mode 100644 index 2db486a0b..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/checking.hpp +++ /dev/null @@ -1,130 +0,0 @@ -/* Boost interval/checking.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_CHECKING_HPP -#define BOOST_NUMERIC_INTERVAL_CHECKING_HPP - -#include -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -struct exception_create_empty -{ - void operator()() - { - throw std::runtime_error("boost::interval: empty interval created"); - } -}; - -struct exception_invalid_number -{ - void operator()() - { - throw std::invalid_argument("boost::interval: invalid number"); - } -}; - -template -struct checking_base -{ - static T pos_inf() - { - assert(std::numeric_limits::has_infinity); - return std::numeric_limits::infinity(); - } - static T neg_inf() - { - assert(std::numeric_limits::has_infinity); - return -std::numeric_limits::infinity(); - } - static T nan() - { - assert(std::numeric_limits::has_quiet_NaN); - return std::numeric_limits::quiet_NaN(); - } - static bool is_nan(const T& x) - { - return std::numeric_limits::has_quiet_NaN && (x != x); - } - static T empty_lower() - { - return (std::numeric_limits::has_quiet_NaN ? - std::numeric_limits::quiet_NaN() : static_cast(1)); - } - static T empty_upper() - { - return (std::numeric_limits::has_quiet_NaN ? - std::numeric_limits::quiet_NaN() : static_cast(0)); - } - static bool is_empty(const T& l, const T& u) - { - return !(l <= u); // safety for partial orders - } -}; - -template, - class Exception = exception_create_empty> -struct checking_no_empty: Checking -{ - static T nan() - { - assert(false); - return Checking::nan(); - } - static T empty_lower() - { - Exception()(); - return Checking::empty_lower(); - } - static T empty_upper() - { - Exception()(); - return Checking::empty_upper(); - } - static bool is_empty(const T&, const T&) - { - return false; - } -}; - -template > -struct checking_no_nan: Checking -{ - static bool is_nan(const T&) - { - return false; - } -}; - -template, - class Exception = exception_invalid_number> -struct checking_catch_nan: Checking -{ - static bool is_nan(const T& x) - { - if (Checking::is_nan(x)) Exception()(); - return false; - } -}; - -template -struct checking_strict: - checking_no_nan > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_CHECKING_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare.hpp deleted file mode 100644 index f21753e71..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/* Boost interval/compare.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_HPP - -#include -#include -#include -#include -#include - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Entries deleted file mode 100644 index 9c39a8c8d..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/certain.hpp/1.1/Thu Oct 6 12:13:52 2005// -/explicit.hpp/1.1/Thu Oct 6 12:13:52 2005// -/lexicographic.hpp/1.1/Thu Oct 6 12:13:52 2005// -/possible.hpp/1.1/Thu Oct 6 12:13:52 2005// -/set.hpp/1.1/Thu Oct 6 12:13:52 2005// -/tribool.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Repository deleted file mode 100644 index f9bef5f70..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/numeric/interval/compare diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Root b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/certain.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/certain.hpp deleted file mode 100644 index 9232d5cd8..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/certain.hpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Boost interval/compare/certain.hpp template implementation file - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace certain { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y.lower(); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() <= y.lower(); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() <= y; -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() > y.upper(); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() > y; -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y.upper(); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() == y.lower() && x.lower() == y.upper(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() == y && x.lower() == y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y.lower() || x.lower() > y.upper(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() < y || x.lower() > y; -} - -} // namespace certain -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/explicit.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/explicit.hpp deleted file mode 100644 index 8c68be891..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/explicit.hpp +++ /dev/null @@ -1,248 +0,0 @@ -/* Boost interval/compare/explicit.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Certainly... operations - */ - -template inline -bool cerlt(const interval& x, const interval& y) -{ - return x.upper() < y.lower(); -} - -template inline -bool cerlt(const interval& x, const T& y) -{ - return x.upper() < y; -} - -template inline -bool cerlt(const T& x, const interval& y) -{ - return x < y.lower(); -} - -template inline -bool cerle(const interval& x, const interval& y) -{ - return x.upper() <= y.lower(); -} - -template inline -bool cerle(const interval& x, const T& y) -{ - return x.upper() <= y; -} - -template inline -bool cerle(const T& x, const interval& y) -{ - return x <= y.lower(); -} - -template inline -bool cergt(const interval& x, const interval& y) -{ - return x.lower() > y.upper(); -} - -template inline -bool cergt(const interval& x, const T& y) -{ - return x.lower() > y; -} - -template inline -bool cergt(const T& x, const interval& y) -{ - return x > y.upper(); -} - -template inline -bool cerge(const interval& x, const interval& y) -{ - return x.lower() >= y.upper(); -} - -template inline -bool cerge(const interval& x, const T& y) -{ - return x.lower() >= y; -} - -template inline -bool cerge(const T& x, const interval& y) -{ - return x >= y.upper(); -} - -template inline -bool cereq(const interval& x, const interval& y) -{ - return x.lower() == y.upper() && y.lower() == x.upper(); -} - -template inline -bool cereq(const interval& x, const T& y) -{ - return x.lower() == y && x.upper() == y; -} - -template inline -bool cereq(const T& x, const interval& y) -{ - return x == y.lower() && x == y.upper(); -} - -template inline -bool cerne(const interval& x, const interval& y) -{ - return x.upper() < y.lower() || y.upper() < x.lower(); -} - -template inline -bool cerne(const interval& x, const T& y) -{ - return x.upper() < y || y < x.lower(); -} - -template inline -bool cerne(const T& x, const interval& y) -{ - return x < y.lower() || y.upper() < x; -} - -/* - * Possibly... comparisons - */ - -template inline -bool poslt(const interval& x, const interval& y) -{ - return x.lower() < y.upper(); -} - -template inline -bool poslt(const interval& x, const T& y) -{ - return x.lower() < y; -} - -template inline -bool poslt(const T& x, const interval& y) -{ - return x < y.upper(); -} - -template inline -bool posle(const interval& x, const interval& y) -{ - return x.lower() <= y.upper(); -} - -template inline -bool posle(const interval& x, const T& y) -{ - return x.lower() <= y; -} - -template inline -bool posle(const T& x, const interval& y) -{ - return x <= y.upper(); -} - -template inline -bool posgt(const interval& x, const interval& y) -{ - return x.upper() > y.lower(); -} - -template inline -bool posgt(const interval& x, const T& y) -{ - return x.upper() > y; -} - -template inline -bool posgt(const T& x, const interval & y) -{ - return x > y.lower(); -} - -template inline -bool posge(const interval& x, const interval& y) -{ - return x.upper() >= y.lower(); -} - -template inline -bool posge(const interval& x, const T& y) -{ - return x.upper() >= y; -} - -template inline -bool posge(const T& x, const interval& y) -{ - return x >= y.lower(); -} - -template inline -bool poseq(const interval& x, const interval& y) -{ - return x.upper() >= y.lower() && y.upper() >= x.lower(); -} - -template inline -bool poseq(const interval& x, const T& y) -{ - return x.upper() >= y && y >= x.lower(); -} - -template inline -bool poseq(const T& x, const interval& y) -{ - return x >= y.lower() && y.upper() >= x; -} - -template inline -bool posne(const interval& x, const interval& y) -{ - return x.upper() != y.lower() || y.upper() != x.lower(); -} - -template inline -bool posne(const interval& x, const T& y) -{ - return x.upper() != y || y != x.lower(); -} - -template inline -bool posne(const T& x, const interval& y) -{ - return x != y.lower() || y.upper() != x; -} - -} // namespace interval_lib -} // namespace numeric -} //namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/lexicographic.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/lexicographic.hpp deleted file mode 100644 index 03f6036d2..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/lexicographic.hpp +++ /dev/null @@ -1,122 +0,0 @@ -/* Boost interval/compare/lexicographic.hpp template implementation file - * - * Copyright 2002-2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace lexicographic { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl < yl || (xl == yl && x.upper() < y.upper()); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl < yl || (xl == yl && x.upper() <= y.upper()); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - return xl < y || (xl == y && x.upper() <= y); -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl > yl || (xl == yl && x.upper() > y.upper()); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - return xl > y || (xl == y && x.upper() > y); -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - const T& xl = x.lower(); - const T& yl = y.lower(); - return xl > yl || (xl == yl && x.upper() >= y.upper()); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() == y.lower() && x.upper() == y.upper(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() == y && x.upper() == y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y.lower() || x.upper() != y.upper(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y || x.upper() != y; -} - -} // namespace lexicographic -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/possible.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/possible.hpp deleted file mode 100644 index 59bec31b9..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/possible.hpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Boost interval/compare/possible.hpp template implementation file - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP - -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace possible { - -template inline -bool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y.upper(); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() < y; -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y.upper(); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y; -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() > y.lower(); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() > y; -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() >= y.lower(); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.upper() >= y; -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y.upper() && x.upper() >= y.lower(); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() <= y && x.upper() >= y; -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y.upper() || x.upper() != y.lower(); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - return x.lower() != y || x.upper() != y; -} - -} // namespace possible -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/set.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/set.hpp deleted file mode 100644 index aa4f1716b..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/set.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/* Boost interval/compare/set.hpp template implementation file - * - * Copyright 2002-2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace set { - -template inline -bool operator<(const interval& x, const interval& y) -{ - return proper_subset(x, y); -} - -template inline -bool operator<(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator<=(const interval& x, const interval& y) -{ - return subset(x, y); -} - -template inline -bool operator<=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator>(const interval& x, const interval& y) -{ - return proper_subset(y, x); -} - -template inline -bool operator>(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator>=(const interval& x, const interval& y) -{ - return subset(y, x); -} - -template inline -bool operator>=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator==(const interval& x, const interval& y) -{ - return equal(y, x); -} - -template inline -bool operator==(const interval& x, const T& y) -{ - throw comparison_error(); -} - -template inline -bool operator!=(const interval& x, const interval& y) -{ - return !equal(y, x); -} - -template inline -bool operator!=(const interval& x, const T& y) -{ - throw comparison_error(); -} - -} // namespace set -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/tribool.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/tribool.hpp deleted file mode 100644 index 6e4a83e27..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/compare/tribool.hpp +++ /dev/null @@ -1,138 +0,0 @@ -/* Boost interval/compare/tribool.hpp template implementation file - * - * Copyright 2002-2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP -#define BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace compare { -namespace tribool { - -template inline -logic::tribool operator<(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y.lower()) return true; - if (x.lower() >= y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y) return true; - if (x.lower() >= y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() <= y.lower()) return true; - if (x.lower() > y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator<=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() <= y) return true; - if (x.lower() > y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() > y.upper()) return true; - if (x.upper() <= y.lower()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() > y) return true; - if (x.upper() <= y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() >= y.upper()) return true; - if (x.upper() < y.lower()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator>=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.lower() >= y) return true; - if (x.upper() < y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator==(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() == y.lower() && x.lower() == y.upper()) return true; - if (x.upper() < y.lower() || x.lower() > y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator==(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() == y && x.lower() == y) return true; - if (x.upper() < y || x.lower() > y) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator!=(const interval& x, const interval& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y.lower() || x.lower() > y.upper()) return true; - if (x.upper() == y.lower() && x.lower() == y.upper()) return false; - return logic::indeterminate; -} - -template inline -logic::tribool operator!=(const interval& x, const T& y) -{ - if (detail::test_input(x, y)) throw comparison_error(); - if (x.upper() < y || x.lower() > y) return true; - if (x.upper() == y && x.lower() == y) return false; - return logic::indeterminate; -} - -} // namespace tribool -} // namespace compare -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/constants.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/constants.hpp deleted file mode 100644 index a3a42efec..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/constants.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/* Boost interval/constants.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP -#define BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace constants { - -// These constants should be exactly computed. -// Decimal representations wouldn't do it since the standard doesn't -// specify the rounding (even nearest) that should be used. - -static const float pi_f_l = 13176794.0f/(1<<22); -static const float pi_f_u = 13176795.0f/(1<<22); -static const double pi_d_l = (3373259426.0 + 273688.0 / (1<<21)) / (1<<30); -static const double pi_d_u = (3373259426.0 + 273689.0 / (1<<21)) / (1<<30); - -template inline T pi_lower() { return 3; } -template inline T pi_upper() { return 4; } -template inline T pi_half_lower() { return 1; } -template inline T pi_half_upper() { return 2; } -template inline T pi_twice_lower() { return 6; } -template inline T pi_twice_upper() { return 7; } - -template<> inline float pi_lower() { return pi_f_l; } -template<> inline float pi_upper() { return pi_f_u; } -template<> inline float pi_half_lower() { return pi_f_l / 2; } -template<> inline float pi_half_upper() { return pi_f_u / 2; } -template<> inline float pi_twice_lower() { return pi_f_l * 2; } -template<> inline float pi_twice_upper() { return pi_f_u * 2; } - -template<> inline double pi_lower() { return pi_d_l; } -template<> inline double pi_upper() { return pi_d_u; } -template<> inline double pi_half_lower() { return pi_d_l / 2; } -template<> inline double pi_half_upper() { return pi_d_u / 2; } -template<> inline double pi_twice_lower() { return pi_d_l * 2; } -template<> inline double pi_twice_upper() { return pi_d_u * 2; } - -template<> inline long double pi_lower() { return pi_d_l; } -template<> inline long double pi_upper() { return pi_d_u; } -template<> inline long double pi_half_lower() { return pi_d_l / 2; } -template<> inline long double pi_half_upper() { return pi_d_u / 2; } -template<> inline long double pi_twice_lower() { return pi_d_l * 2; } -template<> inline long double pi_twice_upper() { return pi_d_u * 2; } - -} // namespace constants - -template inline -I pi() -{ - typedef typename I::base_type T; - return I(constants::pi_lower(), - constants::pi_upper(), true); -} - -template inline -I pi_half() -{ - typedef typename I::base_type T; - return I(constants::pi_half_lower(), - constants::pi_half_upper(), true); -} - -template inline -I pi_twice() -{ - typedef typename I::base_type T; - return I(constants::pi_twice_lower(), - constants::pi_twice_upper(), true); -} - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Entries deleted file mode 100644 index 34c839f66..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Entries +++ /dev/null @@ -1,13 +0,0 @@ -/bcc_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -/bugs.hpp/1.1/Thu Oct 6 12:13:52 2005// -/c99_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -/c99sub_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -/division.hpp/1.1/Thu Oct 6 12:13:52 2005// -/interval_prototype.hpp/1.1/Thu Oct 6 12:13:52 2005// -/msvc_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -/ppc_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -/sparc_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -/test_input.hpp/1.1/Thu Oct 6 12:13:52 2005// -/x86_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -/x86gcc_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Repository deleted file mode 100644 index 249fad08b..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/numeric/interval/detail diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Root b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp deleted file mode 100644 index e3aaf046c..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/bcc_rounding_control.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* Boost interval/detail/bcc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP - -#ifndef __BORLANDC__ -# error This header is only intended for Borland C++. -#endif - -#ifndef _M_IX86 -# error This header only works on x86 CPUs. -#endif - -#include // Borland C++ rounding control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -#ifndef BOOST_NUMERIC_INTERVAL_KEEP_EXCEPTIONS_FOR_BCC -extern "C" { unsigned int _RTLENTRY _fm_init(void); } - -struct borland_workaround { - borland_workaround() { _fm_init(); } -}; - -static borland_workaround borland_workaround_exec; -#endif // BOOST_NUMERIC_INTERVAL_KEEP_EXCEPTIONS_FOR_BCC - -__inline double rint(double) -{ __emit__(0xD9); __emit__(0xFC); /* asm FRNDINT */ } - -struct x86_rounding -{ - typedef unsigned int rounding_mode; - static void get_rounding_mode(rounding_mode& mode) - { mode = _control87(0, 0); } - static void set_rounding_mode(const rounding_mode mode) - { _control87(mode, 0xffff); } - static double to_int(const double& x) { return rint(x); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP */ diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/bugs.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/bugs.hpp deleted file mode 100644 index 2058b9aee..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/bugs.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/* Boost interval/detail/bugs.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BUGS -#define BOOST_NUMERIC_INTERVAL_DETAIL_BUGS - -#include - -#if defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_XOPEN_EXTENDED) || defined(__USE_ISOC99)) && !defined(__ICC) -# define BOOST_HAS_INV_HYPERBOLIC -#endif - -#ifdef BOOST_NO_STDC_NAMESPACE -# define BOOST_NUMERIC_INTERVAL_using_math(a) using ::a -# ifdef BOOST_HAS_INV_HYPERBOLIC -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a -# endif -#else -# define BOOST_NUMERIC_INTERVAL_using_math(a) using std::a -# if defined(BOOST_HAS_INV_HYPERBOLIC) -# if defined(__GLIBCPP__) || defined(__GLIBCXX__) -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a -# else -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using std::a -# endif -# endif -#endif - -#if defined(__COMO__) || defined(BOOST_INTEL) -# define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a -#elif defined(BOOST_NO_STDC_NAMESPACE) -# define BOOST_NUMERIC_INTERVAL_using_max(a) using ::a -#else -# define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a -#endif - -#ifndef BOOST_NUMERIC_INTERVAL_using_ahyp -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) -#endif - -#if defined(__GNUC__) && (__GNUC__ <= 2) -// cf PR c++/1981 for a description of the bug -#include -#include -namespace boost { -namespace numeric { - using std::min; - using std::max; - using std::sqrt; - using std::exp; - using std::log; - using std::cos; - using std::tan; - using std::asin; - using std::acos; - using std::atan; - using std::ceil; - using std::floor; - using std::sinh; - using std::cosh; - using std::tanh; -# undef BOOST_NUMERIC_INTERVAL_using_max -# undef BOOST_NUMERIC_INTERVAL_using_math -# define BOOST_NUMERIC_INTERVAL_using_max(a) -# define BOOST_NUMERIC_INTERVAL_using_math(a) -# undef BOOST_NUMERIC_INTERVAL_using_ahyp -# define BOOST_NUMERIC_INTERVAL_using_ahyp(a) -} // namespace numeric -} // namespace boost -#endif - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_BUGS diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp deleted file mode 100644 index 181d28666..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/c99_rounding_control.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/* Boost interval/detail/c99_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct c99_rounding_control: c99_rounding -{ - template - static T force_rounding(const T& r) { volatile T r_ = r; return r_; } -}; - -} // namespace detail - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -template<> -struct rounding_control: - detail::c99_rounding_control { }; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp deleted file mode 100644 index 571c51fcc..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/c99sub_rounding_control.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/* Boost interval/detail/c99sub_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUNDING_CONTROL_HPP - -#include // ISO C 99 rounding mode control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -extern "C" { double rint(double); } - -struct c99_rounding -{ - typedef int rounding_mode; - - static void set_rounding_mode(const rounding_mode mode) { fesetround(mode); } - static void get_rounding_mode(rounding_mode &mode) { mode = fegetround(); } - static void downward() { set_rounding_mode(FE_DOWNWARD); } - static void upward() { set_rounding_mode(FE_UPWARD); } - static void to_nearest() { set_rounding_mode(FE_TONEAREST); } - static void toward_zero() { set_rounding_mode(FE_TOWARDZERO); } - - template - static T to_int(const T& r) { return rint(r); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUBDING_CONTROL_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/division.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/division.hpp deleted file mode 100644 index 24fb025ad..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/division.hpp +++ /dev/null @@ -1,194 +0,0 @@ -/* Boost interval/detail/division.hpp file - * - * Copyright 2003 Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP - -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -template inline -interval div_non_zero(const interval& x, - const interval& y) -{ - // assert(!in_zero(y)); - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - if (::boost::numeric::interval_lib::user::is_neg(xu)) - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yl), rnd.div_up(xl, yu), true); - else - return I(rnd.div_down(xl, yl), rnd.div_up(xu, yu), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yu), rnd.div_up(xl, yu), true); - else - return I(rnd.div_down(xl, yl), rnd.div_up(xu, yl), true); - else - if (::boost::numeric::interval_lib::user::is_neg(yu)) - return I(rnd.div_down(xu, yu), rnd.div_up(xl, yl), true); - else - return I(rnd.div_down(xl, yu), rnd.div_up(xu, yl), true); -} - -template inline -interval div_non_zero(const T& x, const interval& y) -{ - // assert(!in_zero(y)); - typename Policies::rounding rnd; - typedef interval I; - const T& yl = y.lower(); - const T& yu = y.upper(); - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(rnd.div_down(x, yl), rnd.div_up(x, yu), true); - else - return I(rnd.div_down(x, yu), rnd.div_up(x, yl), true); -} - -template inline -interval div_positive(const interval& x, const T& yu) -{ - // assert(::boost::numeric::interval_lib::user::is_pos(yu)); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - return I(checking::neg_inf(), rnd.div_up(xu, yu), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - return I(checking::neg_inf(), checking::pos_inf(), true); - else - return I(rnd.div_down(xl, yu), checking::pos_inf(), true); -} - -template inline -interval div_positive(const T& x, const T& yu) -{ - // assert(::boost::numeric::interval_lib::user::is_pos(yu)); - typedef interval I; - if (::boost::numeric::interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(checking::neg_inf(), rnd.div_up(x, yu), true); - else - return I(rnd.div_down(x, yu), checking::pos_inf(), true); -} - -template inline -interval div_negative(const interval& x, const T& yl) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(yl)); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - return I(rnd.div_down(xu, yl), checking::pos_inf(), true); - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - return I(checking::neg_inf(), checking::pos_inf(), true); - else - return I(checking::neg_inf(), rnd.div_up(xl, yl), true); -} - -template inline -interval div_negative(const T& x, const T& yl) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(yl)); - typedef interval I; - if (::boost::numeric::interval_lib::user::is_zero(x)) - return I(static_cast(0), static_cast(0), true); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x)) - return I(rnd.div_down(x, yl), checking::pos_inf(), true); - else - return I(checking::neg_inf(), rnd.div_up(x, yl), true); -} - -template inline -interval div_zero(const interval& x) -{ - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && - ::boost::numeric::interval_lib::user::is_zero(x.upper())) - return x; - else return interval::whole(); -} - -template inline -interval div_zero(const T& x) -{ - if (::boost::numeric::interval_lib::user::is_zero(x)) - return interval(static_cast(0), static_cast(0), true); - else return interval::whole(); -} - -template inline -interval div_zero_part1(const interval& x, - const interval& y, bool& b) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(y.lower()) && ::boost::numeric::interval_lib::user::is_pos(y.upper())); - if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && ::boost::numeric::interval_lib::user::is_zero(x.upper())) - { b = false; return x; } - typename Policies::rounding rnd; - typedef interval I; - const T& xl = x.lower(); - const T& xu = x.upper(); - const T& yl = y.lower(); - const T& yu = y.upper(); - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(xu)) - { b = true; return I(checking::neg_inf(), rnd.div_up(xu, yu), true); } - else if (::boost::numeric::interval_lib::user::is_neg(xl)) - { b = false; return I(checking::neg_inf(), checking::pos_inf(), true); } - else - { b = true; return I(checking::neg_inf(), rnd.div_up(xl, yl), true); } -} - -template inline -interval div_zero_part2(const interval& x, - const interval& y) -{ - // assert(::boost::numeric::interval_lib::user::is_neg(y.lower()) && ::boost::numeric::interval_lib::user::is_pos(y.upper()) && (div_zero_part1(x, y, b), b)); - typename Policies::rounding rnd; - typedef interval I; - typedef typename Policies::checking checking; - if (::boost::numeric::interval_lib::user::is_neg(x.upper())) - return I(rnd.div_down(x.upper(), y.lower()), checking::pos_inf(), true); - else - return I(rnd.div_down(x.lower(), y.upper()), checking::pos_inf(), true); -} - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp deleted file mode 100644 index ac9029b70..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/interval_prototype.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/* Boost interval/detail/interval_prototype.hpp file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP - -namespace boost { -namespace numeric { - -namespace interval_lib { - -template struct rounded_math; -template struct checking_strict; -class comparison_error; -template struct policies; - -/* - * default policies class - */ - -template -struct default_policies -{ - typedef policies, checking_strict > type; -}; - -} // namespace interval_lib - -template::type > -class interval; - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp deleted file mode 100644 index 2068c934c..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/msvc_rounding_control.hpp +++ /dev/null @@ -1,88 +0,0 @@ -/* Boost interval/detail/msvc_rounding_control.hpp file - * - * Copyright 2000 Maarten Keijzer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP - -#ifndef _MSC_VER -# error This header is only intended for MSVC, but might work for Borland as well -#endif - -#include // MSVC rounding control - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -extern "C" { double rint(double); } - -struct x86_rounding -{ - static unsigned int hard2msvc(unsigned short m) { - unsigned int n = 0; - if (m & 0x01) n |= _EM_INVALID; - if (m & 0x02) n |= _EM_DENORMAL; - if (m & 0x04) n |= _EM_ZERODIVIDE; - if (m & 0x08) n |= _EM_OVERFLOW; - if (m & 0x10) n |= _EM_UNDERFLOW; - if (m & 0x20) n |= _EM_INEXACT; - switch (m & 0x300) { - case 0x000: n |= _PC_24; break; - case 0x200: n |= _PC_53; break; - case 0x300: n |= _PC_64; break; - } - switch (m & 0xC00) { - case 0x000: n |= _RC_NEAR; break; - case 0x400: n |= _RC_DOWN; break; - case 0x800: n |= _RC_UP; break; - case 0xC00: n |= _RC_CHOP; break; - } - if (m & 0x1000) n |= _IC_AFFINE; // only useful on 287 - return n; - } - - static unsigned short msvc2hard(unsigned int n) { - unsigned short m = 0; - if (n & _EM_INVALID) m |= 0x01; - if (n & _EM_DENORMAL) m |= 0x02; - if (n & _EM_ZERODIVIDE) m |= 0x04; - if (n & _EM_OVERFLOW) m |= 0x08; - if (n & _EM_UNDERFLOW) m |= 0x10; - if (n & _EM_INEXACT) m |= 0x20; - switch (n & _MCW_RC) { - case _RC_NEAR: m |= 0x000; break; - case _RC_DOWN: m |= 0x400; break; - case _RC_UP: m |= 0x800; break; - case _RC_CHOP: m |= 0xC00; break; - } - switch (n & _MCW_PC) { - case _PC_24: m |= 0x000; break; - case _PC_53: m |= 0x200; break; - case _PC_64: m |= 0x300; break; - } - if ((n & _MCW_IC) == _IC_AFFINE) m |= 0x1000; - return m; - } - - typedef unsigned short rounding_mode; - static void get_rounding_mode(rounding_mode& mode) - { mode = msvc2hard(_control87(0, 0)); } - static void set_rounding_mode(const rounding_mode mode) - { _control87(hard2msvc(mode), _MCW_EM | _MCW_RC | _MCW_PC | _MCW_IC); } - static double to_int(const double& x) { return rint(x); } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP */ diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp deleted file mode 100644 index 400522a75..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/ppc_rounding_control.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/* Boost interval/detail/ppc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * Copyright 2005 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP - -#if !defined(powerpc) && !defined(__powerpc__) && !defined(__ppc__) -#error This header only works on PPC CPUs. -#endif - -#if defined(__GNUC__ ) || (__IBMCPP__ >= 700) - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -typedef union { - ::boost::long_long_type imode; - double dmode; -} rounding_mode_struct; - -static const rounding_mode_struct mode_upward = { 0xFFF8000000000002LL }; -static const rounding_mode_struct mode_downward = { 0xFFF8000000000003LL }; -static const rounding_mode_struct mode_to_nearest = { 0xFFF8000000000001LL }; -static const rounding_mode_struct mode_toward_zero = { 0xFFF8000000000000LL }; - -struct ppc_rounding_control -{ - typedef double rounding_mode; - - static void set_rounding_mode(const rounding_mode mode) - { __asm__ __volatile__ ("mtfsf 255,%0" : : "f"(mode)); } - - static void get_rounding_mode(rounding_mode& mode) - { __asm__ __volatile__ ("mffs %0" : "=f"(mode)); } - - static void downward() { set_rounding_mode(mode_downward.dmode); } - static void upward() { set_rounding_mode(mode_upward.dmode); } - static void to_nearest() { set_rounding_mode(mode_to_nearest.dmode); } - static void toward_zero() { set_rounding_mode(mode_toward_zero.dmode); } -}; - -} // namespace detail - -extern "C" { - float rintf(float); - double rint(double); -} - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static float force_rounding(const float r) - { - float tmp; - __asm__ __volatile__ ("frsp %0, %1" : "=f" (tmp) : "f" (r)); - return tmp; - } - static float to_int(const float& x) { return rintf(x); } -}; - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static const double & force_rounding(const double& r) { return r; } - static double to_int(const double& r) { return rint(r); } -}; - -template<> -struct rounding_control: - detail::ppc_rounding_control -{ - static const long double & force_rounding(const long double& r) { return r; } - static long double to_int(const long double& r) { return rint(r); } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE -#endif - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP */ diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp deleted file mode 100644 index 6ba5baf03..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/sparc_rounding_control.hpp +++ /dev/null @@ -1,112 +0,0 @@ -/* Boost interval/detail/sparc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - * - * The basic code in this file was kindly provided by Jeremy Siek. - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP - -#if !defined(sparc) && !defined(__sparc__) -# error This header is only intended for SPARC CPUs. -#endif - -#ifdef __SUNPRO_CC -# include -#endif - - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct sparc_rounding_control -{ - typedef unsigned int rounding_mode; - - static void set_rounding_mode(const rounding_mode& mode) - { -# if defined(__GNUC__) - __asm__ __volatile__("ld %0, %%fsr" : : "m"(mode)); -# elif defined (__SUNPRO_CC) - fpsetround(fp_rnd(mode)); -# elif defined(__KCC) - asm("sethi %hi(mode), %o1"); - asm("ld [%o1+%lo(mode)], %fsr"); -# else -# error Unsupported compiler for Sparc rounding control. -# endif - } - - static void get_rounding_mode(rounding_mode& mode) - { -# if defined(__GNUC__) - __asm__ __volatile__("st %%fsr, %0" : "=m"(mode)); -# elif defined (__SUNPRO_CC) - mode = fpgetround(); -# elif defined(__KCC) -# error KCC on Sun SPARC get_round_mode: please fix me - asm("st %fsr, [mode]"); -# else -# error Unsupported compiler for Sparc rounding control. -# endif - } - -#if defined(__SUNPRO_CC) - static void downward() { set_rounding_mode(FP_RM); } - static void upward() { set_rounding_mode(FP_RP); } - static void to_nearest() { set_rounding_mode(FP_RN); } - static void toward_zero() { set_rounding_mode(FP_RZ); } -#else - static void downward() { set_rounding_mode(0xc0000000); } - static void upward() { set_rounding_mode(0x80000000); } - static void to_nearest() { set_rounding_mode(0x00000000); } - static void toward_zero() { set_rounding_mode(0x40000000); } -#endif -}; - -} // namespace detail - -extern "C" { - float rintf(float); - double rint(double); -} - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const float& force_rounding(const float& x) { return x; } - static float to_int(const float& x) { return rintf(x); } -}; - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const double& force_rounding(const double& x) { return x; } - static double to_int(const double& x) { return rint(x); } -}; - -template<> -struct rounding_control: - detail::sparc_rounding_control -{ - static const long double& force_rounding(const long double& x) { return x; } - static long double to_int(const long double& x) { return rint(x); } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP */ diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/test_input.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/test_input.hpp deleted file mode 100644 index 58695fec3..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/test_input.hpp +++ /dev/null @@ -1,76 +0,0 @@ -/* Boost interval/detail/test_input.hpp file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace user { - -template inline -bool is_zero(T const &v) { return v == static_cast(0); } - -template inline -bool is_neg (T const &v) { return v < static_cast(0); } - -template inline -bool is_pos (T const &v) { return v > static_cast(0); } - -} // namespace user - -namespace detail { - -template inline -bool test_input(const interval& x) { - typedef typename Policies::checking checking; - return checking::is_empty(x.lower(), x.upper()); -} - -template inline -bool test_input(const interval& x, const interval& y) { - typedef typename Policies1::checking checking1; - typedef typename Policies2::checking checking2; - return checking1::is_empty(x.lower(), x.upper()) || - checking2::is_empty(y.lower(), y.upper()); -} - -template inline -bool test_input(const T& x, const interval& y) { - typedef typename Policies::checking checking; - return checking::is_nan(x) || checking::is_empty(y.lower(), y.upper()); -} - -template inline -bool test_input(const interval& x, const T& y) { - typedef typename Policies::checking checking; - return checking::is_empty(x.lower(), x.upper()) || checking::is_nan(y); -} - -template inline -bool test_input(const T& x) { - typedef typename Policies::checking checking; - return checking::is_nan(x); -} - -template inline -bool test_input(const T& x, const T& y) { - typedef typename Policies::checking checking; - return checking::is_nan(x) || checking::is_nan(y); -} - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp deleted file mode 100644 index 3eebdbac5..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/x86_rounding_control.hpp +++ /dev/null @@ -1,108 +0,0 @@ -/* Boost interval/detail/x86_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP - -#ifdef __GNUC__ -# include -#elif defined(__BORLANDC__) -# include -#elif defined(_MSC_VER) -# include -#elif defined(__MWERKS__) || defined(__ICC) -# define BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -# include -#else -# error Unsupported C++ compiler. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { - -namespace detail { - -#ifdef BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -typedef c99_rounding x86_rounding_control; -#undef BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM -#else -struct fpu_rounding_modes -{ - unsigned short to_nearest; - unsigned short downward; - unsigned short upward; - unsigned short toward_zero; -}; - -// exceptions masked, extended precision -// hardware default is 0x037f (0x1000 only has a meaning on 287) -static const fpu_rounding_modes rnd_mode = { 0x137f, 0x177f, 0x1b7f, 0x1f7f }; - -struct x86_rounding_control: x86_rounding -{ - static void to_nearest() { set_rounding_mode(rnd_mode.to_nearest); } - static void downward() { set_rounding_mode(rnd_mode.downward); } - static void upward() { set_rounding_mode(rnd_mode.upward); } - static void toward_zero() { set_rounding_mode(rnd_mode.toward_zero); } -}; -#endif // BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM - -} // namespace detail - -template<> -struct rounding_control: detail::x86_rounding_control -{ - static float force_rounding(const float& r) - { volatile float r_ = r; return r_; } -}; - -template<> -struct rounding_control: detail::x86_rounding_control -{ - /*static double force_rounding(double r) - { asm volatile ("" : "+m"(r) : ); return r; }*/ - static double force_rounding(const double& r) - { volatile double r_ = r; return r_; } -}; - -namespace detail { - -template -struct x86_rounding_control_long_double; - -template<> -struct x86_rounding_control_long_double: x86_rounding_control -{ - static long double force_rounding(long double const &r) - { volatile long double r_ = r; return r_; } -}; - -template<> -struct x86_rounding_control_long_double: x86_rounding_control -{ - static long double const &force_rounding(long double const &r) - { return r; } -}; - -} // namespace detail - -template<> -struct rounding_control: - detail::x86_rounding_control_long_double< (sizeof(long double) >= 10) > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP */ diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp deleted file mode 100644 index 079d681df..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/detail/x86gcc_rounding_control.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* Boost interval/detail/x86gcc_rounding_control.hpp file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP - -#ifndef __GNUC__ -# error This header only works with GNU CC. -#endif - -#ifndef __i386__ -# error This header only works on x86 CPUs. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { -namespace detail { - -struct x86_rounding -{ - typedef unsigned short rounding_mode; - - static void set_rounding_mode(const rounding_mode& mode) - { __asm__ __volatile__ ("fldcw %0" : : "m"(mode)); } - - static void get_rounding_mode(rounding_mode& mode) - { __asm__ __volatile__ ("fnstcw %0" : "=m"(mode)); } - - template - static T to_int(T r) - { - T r_; - __asm__ ("frndint" : "=&t"(r_) : "0"(r)); - return r_; - } -}; - -} // namespace detail -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif /* BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP */ diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Entries b/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Entries deleted file mode 100644 index 3439d5415..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/integer.hpp/1.1/Thu Oct 6 12:13:52 2005// -/x86_fast_rounding_control.hpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Repository b/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Repository deleted file mode 100644 index 0282308cb..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/boost/numeric/interval/ext diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Root b/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/integer.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/integer.hpp deleted file mode 100644 index 628a343ac..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/integer.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/* Boost interval/ext/integer.hpp template implementation file - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP -#define BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP - -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval operator+ (const interval& x, int y) -{ - return x + static_cast(y); -} - -template inline -interval operator+ (int x, const interval& y) -{ - return static_cast(x) + y; -} - -template inline -interval operator- (const interval& x, int y) -{ - return x - static_cast(y); -} - -template inline -interval operator- (int x, const interval& y) -{ - return static_cast(x) - y; -} - -template inline -interval operator* (const interval& x, int y) -{ - return x * static_cast(y); -} - -template inline -interval operator* (int x, const interval& y) -{ - return static_cast(x) * y; -} - -template inline -interval operator/ (const interval& x, int y) -{ - return x / static_cast(y); -} - -template inline -interval operator/ (int x, const interval& y) -{ - return static_cast(x) / y; -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp deleted file mode 100644 index 7f89a4e54..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/ext/x86_fast_rounding_control.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/* Boost interval/detail/x86gcc_rounding_control.hpp file - * - * This header provides a rounding control policy - * that avoids flushing results to memory. In - * order for this optimization to be reliable, it - * should be used only when no underflow or - * overflow would happen without it. Indeed, only - * values in range are correctly rounded. - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP -#define BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { - -namespace detail { - -// exceptions masked, expected precision (the mask is 0x0300) -static const fpu_rounding_modes rnd_mode_f = { 0x107f, 0x147f, 0x187f, 0x1c7f }; -static const fpu_rounding_modes rnd_mode_d = { 0x127f, 0x167f, 0x1a7f, 0x1e7f }; -static const fpu_rounding_modes rnd_mode_l = { 0x137f, 0x177f, 0x1b7f, 0x1f7f }; - -} // namespace detail - -template -struct x86_fast_rounding_control; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_f.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_f.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_f.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_f.toward_zero); } - static const float& force_rounding(const float& r) { return r; } -}; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_d.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_d.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_d.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_d.toward_zero); } - static const double& force_rounding(const double& r) { return r; } -}; - -template<> -struct x86_fast_rounding_control: detail::x86_rounding -{ - static void to_nearest() { set_rounding_mode(detail::rnd_mode_l.to_nearest); } - static void downward() { set_rounding_mode(detail::rnd_mode_l.downward); } - static void upward() { set_rounding_mode(detail::rnd_mode_l.upward); } - static void toward_zero() { set_rounding_mode(detail::rnd_mode_l.toward_zero); } - static const long double& force_rounding(const long double& r) { return r; } -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/hw_rounding.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/hw_rounding.hpp deleted file mode 100644 index ed225d405..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/hw_rounding.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/* Boost interval/hw_rounding.hpp template implementation file - * - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * Copyright 2005 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP -#define BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP - -#include -#include - -#define BOOST_NUMERIC_INTERVAL_NO_HARDWARE - -// define appropriate specialization of rounding_control for built-in types -#if defined(__i386__) || defined(_M_IX86) || defined(__BORLANDC__) -# include -#elif defined(powerpc) || defined(__powerpc__) || defined(__ppc__) -# include -#elif defined(sparc) || defined(__sparc__) -# include -#endif - -#if defined(BOOST_NUMERIC_INTERVAL_NO_HARDWARE) && (defined(__USE_ISOC99) || defined(__MSL__)) -# include -#endif - -#if defined(BOOST_NUMERIC_INTERVAL_NO_HARDWARE) -# undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE -# error Boost.Numeric.Interval: Please specify rounding control mechanism. -#endif - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Three specializations of rounded_math - */ - -template<> -struct rounded_math - : save_state > -{}; - -template<> -struct rounded_math - : save_state > -{}; - -template<> -struct rounded_math - : save_state > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/interval.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/interval.hpp deleted file mode 100644 index 0b2d0eec6..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/interval.hpp +++ /dev/null @@ -1,450 +0,0 @@ -/* Boost interval/interval.hpp header file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_INTERVAL_HPP -#define BOOST_NUMERIC_INTERVAL_INTERVAL_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { - -namespace interval_lib { - -class comparison_error - : public std::runtime_error -{ -public: - comparison_error() - : std::runtime_error("boost::interval: uncertain comparison") - { } -}; - -} // namespace interval_lib - -/* - * interval class - */ - -template -class interval -{ -private: - struct interval_holder; - struct number_holder; -public: - typedef T base_type; - typedef Policies traits_type; - - T const &lower() const; - T const &upper() const; - - interval(); - interval(T const &v); - template interval(T1 const &v); - interval(T const &l, T const &u); - template interval(T1 const &l, T2 const &u); - interval(interval const &r); - template interval(interval const &r); - template interval(interval const &r); - - interval &operator=(T const &v); - template interval &operator=(T1 const &v); - interval &operator=(interval const &r); - template interval &operator=(interval const &r); - template interval &operator=(interval const &r); - - void assign(const T& l, const T& u); - - static interval empty(); - static interval whole(); - static interval hull(const T& x, const T& y); - - interval& operator+= (const T& r); - interval& operator+= (const interval& r); - interval& operator-= (const T& r); - interval& operator-= (const interval& r); - interval& operator*= (const T& r); - interval& operator*= (const interval& r); - interval& operator/= (const T& r); - interval& operator/= (const interval& r); - - bool operator< (const interval_holder& r) const; - bool operator> (const interval_holder& r) const; - bool operator<= (const interval_holder& r) const; - bool operator>= (const interval_holder& r) const; - bool operator== (const interval_holder& r) const; - bool operator!= (const interval_holder& r) const; - - bool operator< (const number_holder& r) const; - bool operator> (const number_holder& r) const; - bool operator<= (const number_holder& r) const; - bool operator>= (const number_holder& r) const; - bool operator== (const number_holder& r) const; - bool operator!= (const number_holder& r) const; - - // the following is for internal use only, it is not a published interface - // nevertheless, it's public because friends don't always work correctly. - interval(const T& l, const T& u, bool): low(l), up(u) {} - void set_empty(); - void set_whole(); - void set(const T& l, const T& u); - -private: - struct interval_holder { - template - interval_holder(const interval& r) - : low(r.lower()), up(r.upper()) - { - typedef typename Policies2::checking checking2; - if (checking2::is_empty(low, up)) - throw interval_lib::comparison_error(); - } - - const T& low; - const T& up; - }; - - struct number_holder { - number_holder(const T& r) : val(r) - { - typedef typename Policies::checking checking; - if (checking::is_nan(r)) - throw interval_lib::comparison_error(); - } - - const T& val; - }; - - typedef typename Policies::checking checking; - typedef typename Policies::rounding rounding; - - T low; - T up; -}; - -template inline -interval::interval(): - low(static_cast(0)), up(static_cast(0)) -{} - -template inline -interval::interval(T const &v): low(v), up(v) -{ - if (checking::is_nan(v)) set_empty(); -} - -template template inline -interval::interval(T1 const &v) -{ - if (checking::is_nan(v)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(v); - up = rnd.conv_up (v); - } -} - -template template inline -interval::interval(T1 const &l, T2 const &u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(l); - up = rnd.conv_up (u); - } -} - -template inline -interval::interval(T const &l, T const &u): low(l), up(u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) - set_empty(); -} - - -template inline -interval::interval(interval const &r): low(r.lower()), up(r.upper()) -{} - -template template inline -interval::interval(interval const &r): low(r.lower()), up(r.upper()) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); -} - -template template inline -interval::interval(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(r.lower()); - up = rnd.conv_up (r.upper()); - } -} - -template inline -interval &interval::operator=(T const &v) -{ - if (checking::is_nan(v)) set_empty(); - else low = up = v; - return *this; -} - -template template inline -interval &interval::operator=(T1 const &v) -{ - if (checking::is_nan(v)) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(v); - up = rnd.conv_up (v); - } - return *this; -} - -template inline -interval &interval::operator=(interval const &r) -{ - low = r.lower(); - up = r.upper(); - return *this; -} - -template template inline -interval &interval::operator=(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - low = r.lower(); - up = r.upper(); - } - return *this; -} - -template template inline -interval &interval::operator=(interval const &r) -{ - typedef typename Policies1::checking checking1; - if (checking1::is_empty(r.lower(), r.upper())) set_empty(); - else { - rounding rnd; - low = rnd.conv_down(r.lower()); - up = rnd.conv_up (r.upper()); - } - return *this; -} - -template inline -void interval::assign(const T& l, const T& u) -{ - if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) - set_empty(); - else set(l, u); -} - -template inline -void interval::set(const T& l, const T& u) -{ - low = l; - up = u; -} - -template inline -void interval::set_empty() -{ - low = checking::empty_lower(); - up = checking::empty_upper(); -} - -template inline -void interval::set_whole() -{ - low = checking::neg_inf(); - up = checking::pos_inf(); -} - -template inline -interval interval::hull(const T& x, const T& y) -{ - bool bad_x = checking::is_nan(x); - bool bad_y = checking::is_nan(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return interval(y, y, true); - else - if (bad_y) return interval(x, x, true); - if (x <= y) return interval(x, y, true); - else return interval(y, x, true); -} - -template inline -interval interval::empty() -{ - return interval(checking::empty_lower(), - checking::empty_upper(), true); -} - -template inline -interval interval::whole() -{ - return interval(checking::neg_inf(), checking::pos_inf(), true); -} - -template inline -const T& interval::lower() const -{ - return low; -} - -template inline -const T& interval::upper() const -{ - return up; -} - -/* - * interval/interval comparisons - */ - -template inline -bool interval::operator< (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.low) return true; - else if (low >= r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator> (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low > r.up) return true; - else if (up <= r.low) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator<= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up <= r.low) return true; - else if (low > r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator>= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low >= r.up) return true; - else if (up < r.low) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator== (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up == r.low && low == r.up) return true; - else if (up < r.low || low > r.up) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator!= (const interval_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.low || low > r.up) return true; - else if (up == r.low && low == r.up) return false; - } - throw interval_lib::comparison_error(); -} - -/* - * interval/number comparisons - */ - -template inline -bool interval::operator< (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.val) return true; - else if (low >= r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator> (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low > r.val) return true; - else if (up <= r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator<= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up <= r.val) return true; - else if (low > r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator>= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (low >= r.val) return true; - else if (up < r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator== (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up == r.val && low == r.val) return true; - else if (up < r.val || low > r.val) return false; - } - throw interval_lib::comparison_error(); -} - -template inline -bool interval::operator!= (const number_holder& r) const -{ - if (!checking::is_empty(low, up)) { - if (up < r.val || low > r.val) return true; - else if (up == r.val && low == r.val) return false; - } - throw interval_lib::comparison_error(); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_INTERVAL_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/io.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/io.hpp deleted file mode 100644 index dc4179e52..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/io.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/* Boost interval/io.hpp header file - * - * This file is only meant to provide a quick - * implementation of the output operator. It is - * provided for test programs that aren't even - * interested in the precision of the results. - * A real progam should define its own operators - * and never include this header. - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_IO_HPP -#define BOOST_NUMERIC_INTERVAL_IO_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { - -template -std::basic_ostream &operator<< - (std::basic_ostream &stream, - interval const &value) -{ - if (empty(value)) - return stream << "[]"; - else - return stream << '[' << lower(value) << ',' << upper(value) << ']'; -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_IO_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/limits.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/limits.hpp deleted file mode 100644 index d691ccee2..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/limits.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* Boost interval/limits.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_LIMITS_HPP -#define BOOST_NUMERIC_INTERVAL_LIMITS_HPP - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#include -#include -#include - -namespace std { - -template -class numeric_limits > - : public numeric_limits -{ -private: - typedef boost::numeric::interval I; - typedef numeric_limits bl; -public: - static I min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::min)(), (bl::min)()); } - static I max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::max)(), (bl::max)()); } - static I epsilon() throw() { return I(bl::epsilon(), bl::epsilon()); } - - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_indeterminate); - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - - static I infinity () throw() { return I::whole(); } - static I quiet_NaN() throw() { return I::empty(); } - static I signaling_NaN() throw() - { return I(bl::signaling_NaN(), bl::signaling_Nan()); } - static I denorm_min() throw() - { return I(bl::denorm_min(), bl::denorm_min()); } -private: - static I round_error(); // hide this on purpose, not yet implemented -}; - -} // namespace std - -#endif - -#endif // BOOST_NUMERIC_INTERVAL_LIMITS_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/policies.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/policies.hpp deleted file mode 100644 index 70ad220d9..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/policies.hpp +++ /dev/null @@ -1,75 +0,0 @@ -/* Boost interval/policies.hpp template implementation file - * - * Copyright 2003 Guillaume Melquiond - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_POLICIES_HPP -#define BOOST_NUMERIC_INTERVAL_POLICIES_HPP - -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * policies class - */ - -template -struct policies -{ - typedef Rounding rounding; - typedef Checking checking; -}; - -/* - * policies switching classes - */ - -template -class change_rounding -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::checking checking; -public: - typedef interval > type; -}; - -template -class change_checking -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::rounding rounding; -public: - typedef interval > type; -}; - -/* - * Protect / unprotect: control whether the rounding mode is set/reset - * at each operation, rather than once and for all. - */ - -template -class unprotect -{ - typedef typename OldInterval::base_type T; - typedef typename OldInterval::traits_type p; - typedef typename p::rounding r; - typedef typename r::unprotected_rounding newRounding; -public: - typedef typename change_rounding::type type; -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - - -#endif // BOOST_NUMERIC_INTERVAL_POLICIES_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounded_arith.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounded_arith.hpp deleted file mode 100644 index 6ce5c7f7e..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounded_arith.hpp +++ /dev/null @@ -1,120 +0,0 @@ -/* Boost interval/rounded_arith.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Three classes of rounding: exact, std, opp - * See documentation for details. - */ - -template -struct rounded_arith_exact: Rounding { - void init() { } - template T conv_down(U const &v) { return v; } - template T conv_up (U const &v) { return v; } - T add_down (const T& x, const T& y) { return x + y; } - T add_up (const T& x, const T& y) { return x + y; } - T sub_down (const T& x, const T& y) { return x - y; } - T sub_up (const T& x, const T& y) { return x - y; } - T mul_down (const T& x, const T& y) { return x * y; } - T mul_up (const T& x, const T& y) { return x * y; } - T div_down (const T& x, const T& y) { return x / y; } - T div_up (const T& x, const T& y) { return x / y; } - T median (const T& x, const T& y) { return (x + y) / 2; } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); return sqrt(x); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); return sqrt(x); } - T int_down (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(floor); return floor(x); } - T int_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(ceil); return ceil(x); } -}; - -template -struct rounded_arith_std: Rounding { -# define BOOST_DN(EXPR) this->downward(); return this->force_rounding(EXPR) -# define BOOST_NR(EXPR) this->to_nearest(); return this->force_rounding(EXPR) -# define BOOST_UP(EXPR) this->upward(); return this->force_rounding(EXPR) - void init() { } - template T conv_down(U const &v) { BOOST_DN(v); } - template T conv_up (U const &v) { BOOST_UP(v); } - T add_down(const T& x, const T& y) { BOOST_DN(x + y); } - T sub_down(const T& x, const T& y) { BOOST_DN(x - y); } - T mul_down(const T& x, const T& y) { BOOST_DN(x * y); } - T div_down(const T& x, const T& y) { BOOST_DN(x / y); } - T add_up (const T& x, const T& y) { BOOST_UP(x + y); } - T sub_up (const T& x, const T& y) { BOOST_UP(x - y); } - T mul_up (const T& x, const T& y) { BOOST_UP(x * y); } - T div_up (const T& x, const T& y) { BOOST_UP(x / y); } - T median(const T& x, const T& y) { BOOST_NR((x + y) / 2); } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_DN(sqrt(x)); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_UP(sqrt(x)); } - T int_down(const T& x) { this->downward(); return to_int(x); } - T int_up (const T& x) { this->upward(); return to_int(x); } -# undef BOOST_DN -# undef BOOST_NR -# undef BOOST_UP -}; - -template -struct rounded_arith_opp: Rounding { - void init() { this->upward(); } -# define BOOST_DN(EXPR) \ - this->downward(); \ - T r = this->force_rounding(EXPR); \ - this->upward(); \ - return r -# define BOOST_NR(EXPR) \ - this->to_nearest(); \ - T r = this->force_rounding(EXPR); \ - this->upward(); \ - return r -# define BOOST_UP(EXPR) return this->force_rounding(EXPR) -# define BOOST_UP_NEG(EXPR) return -this->force_rounding(EXPR) - template T conv_down(U const &v) { BOOST_UP_NEG(-v); } - template T conv_up (U const &v) { BOOST_UP(v); } - T add_down(const T& x, const T& y) { BOOST_UP_NEG((-x) - y); } - T sub_down(const T& x, const T& y) { BOOST_UP_NEG(y - x); } - T mul_down(const T& x, const T& y) { BOOST_UP_NEG(x * (-y)); } - T div_down(const T& x, const T& y) { BOOST_UP_NEG(x / (-y)); } - T add_up (const T& x, const T& y) { BOOST_UP(x + y); } - T sub_up (const T& x, const T& y) { BOOST_UP(x - y); } - T mul_up (const T& x, const T& y) { BOOST_UP(x * y); } - T div_up (const T& x, const T& y) { BOOST_UP(x / y); } - T median (const T& x, const T& y) { BOOST_NR((x + y) / 2); } - T sqrt_down(const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_DN(sqrt(x)); } - T sqrt_up (const T& x) - { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_UP(sqrt(x)); } - T int_down(const T& x) { return -to_int(-x); } - T int_up (const T& x) { return to_int(x); } -# undef BOOST_DN -# undef BOOST_NR -# undef BOOST_UP -# undef BOOST_UP_NEG -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounded_transc.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounded_transc.hpp deleted file mode 100644 index e1704f5f2..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounded_transc.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/* Boost interval/rounded_transc.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP - -#include -#include -#include - -namespace boost { -namespace numeric { -namespace interval_lib { - -template -struct rounded_transc_exact: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_math(f); return f(x); } \ - T f##_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(f); return f(x); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(cosh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_ahyp(f); return f(x); } \ - T f##_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_ahyp(f); return f(x); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(acosh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -template -struct rounded_transc_std: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->downward(); return this->force_rounding(f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->upward(); return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(cosh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->downward(); return this->force_rounding(f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->upward(); return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(acosh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -template -struct rounded_transc_opp: Rounding -{ -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - this->downward(); T y = this->force_rounding(f(x)); \ - this->upward(); return y; } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(exp) - BOOST_NUMERIC_INTERVAL_new_func(log) - BOOST_NUMERIC_INTERVAL_new_func(cos) - BOOST_NUMERIC_INTERVAL_new_func(acos) - BOOST_NUMERIC_INTERVAL_new_func(cosh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return -this->force_rounding(-f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_math(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(sin) - BOOST_NUMERIC_INTERVAL_new_func(tan) - BOOST_NUMERIC_INTERVAL_new_func(asin) - BOOST_NUMERIC_INTERVAL_new_func(atan) - BOOST_NUMERIC_INTERVAL_new_func(sinh) - BOOST_NUMERIC_INTERVAL_new_func(tanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - this->downward(); T y = this->force_rounding(f(x)); \ - this->upward(); return y; } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(asinh) - BOOST_NUMERIC_INTERVAL_new_func(atanh) -# undef BOOST_NUMERIC_INTERVAL_new_func -# define BOOST_NUMERIC_INTERVAL_new_func(f) \ - T f##_down(const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return -this->force_rounding(-f(x)); } \ - T f##_up (const T& x) \ - { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ - return this->force_rounding(f(x)); } - BOOST_NUMERIC_INTERVAL_new_func(acosh) -# undef BOOST_NUMERIC_INTERVAL_new_func -}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounding.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounding.hpp deleted file mode 100644 index f69e2e4b5..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/rounding.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/* Boost interval/rounding.hpp template implementation file - * - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_ROUNDING_HPP -#define BOOST_NUMERIC_INTERVAL_ROUNDING_HPP - -namespace boost { -namespace numeric { -namespace interval_lib { - -/* - * Default rounding_control class (does nothing) - */ - -template -struct rounding_control -{ - typedef int rounding_mode; - static void get_rounding_mode(rounding_mode&) {} - static void set_rounding_mode(rounding_mode) {} - static void upward() {} - static void downward() {} - static void to_nearest() {} - static const T& to_int(const T& x) { return x; } - static const T& force_rounding(const T& x) { return x; } -}; - -/* - * A few rounding control classes (exact/std/opp: see documentation) - * rounded_arith_* control the rounding of the arithmetic operators - * rounded_transc_* control the rounding of the transcendental functions - */ - -template > -struct rounded_arith_exact; - -template > -struct rounded_arith_std; - -template > -struct rounded_arith_opp; - -template -struct rounded_transc_dummy; - -template > -struct rounded_transc_exact; - -template > -struct rounded_transc_std; - -template > -struct rounded_transc_opp; - -/* - * State-saving classes: allow to set and reset rounding control - */ - -namespace detail { - -template -struct save_state_unprotected: Rounding -{ - typedef save_state_unprotected unprotected_rounding; -}; - -} // namespace detail - -template -struct save_state: Rounding -{ - typename Rounding::rounding_mode mode; - save_state() { - this->get_rounding_mode(mode); - this->init(); - } - ~save_state() { this->set_rounding_mode(mode); } - typedef detail::save_state_unprotected unprotected_rounding; -}; - -template -struct save_state_nothing: Rounding -{ - typedef save_state_nothing unprotected_rounding; -}; - -template -struct rounded_math: save_state_nothing > -{}; - -} // namespace interval_lib -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_ROUNDING_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/transc.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/transc.hpp deleted file mode 100644 index 88aebd6b3..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/transc.hpp +++ /dev/null @@ -1,232 +0,0 @@ -/* Boost interval/transc.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_TRANSC_HPP -#define BOOST_NUMERIC_INTERVAL_TRANSC_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace numeric { - -template inline -interval exp(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.exp_down(x.lower()), rnd.exp_up(x.upper()), true); -} - -template inline -interval log(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || - !interval_lib::user::is_pos(x.upper())) - return I::empty(); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - T l = !interval_lib::user::is_pos(x.lower()) - ? checking::neg_inf() : rnd.log_down(x.lower()); - return I(l, rnd.log_up(x.upper()), true); -} - -template inline -interval cos(const interval& x) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - typename Policies::rounding rnd; - typedef interval I; - typedef typename interval_lib::unprotect::type R; - - // get lower bound within [0, pi] - const R pi2 = interval_lib::pi_twice(); - R tmp = fmod((const R&)x, pi2); - if (width(tmp) >= pi2.lower()) - return I(static_cast(-1), static_cast(1), true); // we are covering a full period - if (tmp.lower() >= interval_lib::constants::pi_upper()) - return -cos(tmp - interval_lib::pi()); - T l = tmp.lower(); - T u = tmp.upper(); - - BOOST_USING_STD_MIN(); - // separate into monotone subintervals - if (u <= interval_lib::constants::pi_lower()) - return I(rnd.cos_down(u), rnd.cos_up(l), true); - else if (u <= pi2.lower()) - return I(static_cast(-1), rnd.cos_up(min BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.sub_down(pi2.lower(), u), l)), true); - else - return I(static_cast(-1), static_cast(1), true); -} - -template inline -interval sin(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect::type R; - I r = cos((const R&)x - interval_lib::pi_half()); - (void)&rnd; - return r; -} - -template inline -interval tan(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename interval_lib::unprotect::type R; - - // get lower bound within [-pi/2, pi/2] - const R pi = interval_lib::pi(); - R tmp = fmod((const R&)x, pi); - const T pi_half_d = interval_lib::constants::pi_half_lower(); - if (tmp.lower() >= pi_half_d) - tmp -= pi; - if (tmp.lower() <= -pi_half_d || tmp.upper() >= pi_half_d) - return I::whole(); - return I(rnd.tan_down(tmp.lower()), rnd.tan_up(tmp.upper()), true); -} - -template inline -interval asin(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = (x.lower() <= static_cast(-1)) - ? -interval_lib::constants::pi_half_upper() - : rnd.asin_down(x.lower()); - T u = (x.upper() >= static_cast(1) ) - ? interval_lib::constants::pi_half_upper() - : rnd.asin_up (x.upper()); - return I(l, u, true); -} - -template inline -interval acos(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = (x.upper() >= static_cast(1) ) - ? static_cast(0) - : rnd.acos_down(x.upper()); - T u = (x.lower() <= static_cast(-1)) - ? interval_lib::constants::pi_upper() - : rnd.acos_up (x.lower()); - return I(l, u, true); -} - -template inline -interval atan(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.atan_down(x.lower()), rnd.atan_up(x.upper()), true); -} - -template inline -interval sinh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.sinh_down(x.lower()), rnd.sinh_up(x.upper()), true); -} - -template inline -interval cosh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - if (interval_lib::user::is_neg(x.upper())) - return I(rnd.cosh_down(x.upper()), rnd.cosh_up(x.lower()), true); - else if (!interval_lib::user::is_neg(x.lower())) - return I(rnd.cosh_down(x.lower()), rnd.cosh_up(x.upper()), true); - else - return I(static_cast(0), rnd.cosh_up(-x.lower() > x.upper() ? x.lower() : x.upper()), true); -} - -template inline -interval tanh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.tanh_down(x.lower()), rnd.tanh_up(x.upper()), true); -} - -template inline -interval asinh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - typename Policies::rounding rnd; - return I(rnd.asinh_down(x.lower()), rnd.asinh_up(x.upper()), true); -} - -template inline -interval acosh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) || x.upper() < static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - T l = x.lower() <= static_cast(1) ? static_cast(0) : rnd.acosh_down(x.lower()); - return I(l, rnd.acosh_up(x.upper()), true); -} - -template inline -interval atanh(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x) - || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) - return I::empty(); - typename Policies::rounding rnd; - typedef typename Policies::checking checking; - T l = (x.lower() <= static_cast(-1)) - ? checking::neg_inf() : rnd.atanh_down(x.lower()); - T u = (x.upper() >= static_cast(1) ) - ? checking::pos_inf() : rnd.atanh_up (x.upper()); - return I(l, u, true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_TRANSC_HPP diff --git a/trunk/paradiseo-eo/contrib/boost/numeric/interval/utility.hpp b/trunk/paradiseo-eo/contrib/boost/numeric/interval/utility.hpp deleted file mode 100644 index d24d84d7a..000000000 --- a/trunk/paradiseo-eo/contrib/boost/numeric/interval/utility.hpp +++ /dev/null @@ -1,331 +0,0 @@ -/* Boost interval/utility.hpp template implementation file - * - * Copyright 2000 Jens Maurer - * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or - * copy at http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_NUMERIC_INTERVAL_UTILITY_HPP -#define BOOST_NUMERIC_INTERVAL_UTILITY_HPP - -#include -#include -#include -#include -#include -#include - -/* - * Implementation of simple functions - */ - -namespace boost { -namespace numeric { - -/* - * Utility Functions - */ - -template inline -const T& lower(const interval& x) -{ - return x.lower(); -} - -template inline -const T& upper(const interval& x) -{ - return x.upper(); -} - -template inline -T checked_lower(const interval& x) -{ - if (empty(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - return x.lower(); -} - -template inline -T checked_upper(const interval& x) -{ - if (empty(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - return x.upper(); -} - -template inline -T width(const interval& x) -{ - if (interval_lib::detail::test_input(x)) return static_cast(0); - typename Policies::rounding rnd; - return rnd.sub_up(x.upper(), x.lower()); -} - -template inline -T median(const interval& x) -{ - if (interval_lib::detail::test_input(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - typename Policies::rounding rnd; - return rnd.median(x.lower(), x.upper()); -} - -template inline -interval widen(const interval& x, const T& v) -{ - if (interval_lib::detail::test_input(x)) - return interval::empty(); - typename Policies::rounding rnd; - return interval(rnd.sub_down(x.lower(), v), - rnd.add_up (x.upper(), v), true); -} - -/* - * Set-like operations - */ - -template inline -bool empty(const interval& x) -{ - return interval_lib::detail::test_input(x); -} - -template inline -bool in_zero(const interval& x) -{ - if (interval_lib::detail::test_input(x)) return false; - return (!interval_lib::user::is_pos(x.lower())) && - (!interval_lib::user::is_neg(x.upper())); -} - -template inline -bool in(const T& x, const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) return false; - return y.lower() <= x && x <= y.upper(); -} - -template inline -bool subset(const interval& x, - const interval& y) -{ - if (empty(x)) return true; - return !empty(y) && y.lower() <= x.lower() && x.upper() <= y.upper(); -} - -template inline -bool proper_subset(const interval& x, - const interval& y) -{ - if (empty(y)) return false; - if (empty(x)) return true; - return y.lower() <= x.lower() && x.upper() <= y.upper() && - (y.lower() != x.lower() || x.upper() != y.upper()); -} - -template inline -bool overlap(const interval& x, - const interval& y) -{ - if (interval_lib::detail::test_input(x, y)) return false; - return x.lower() <= y.lower() && y.lower() <= x.upper() || - y.lower() <= x.lower() && x.lower() <= y.upper(); -} - -template inline -bool singleton(const interval& x) -{ - return !empty(x) && x.lower() == x.upper(); -} - -template inline -bool equal(const interval& x, const interval& y) -{ - if (empty(x)) return empty(y); - return !empty(y) && x.lower() == y.lower() && x.upper() == y.upper(); -} - -template inline -interval intersect(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - if (interval_lib::detail::test_input(x, y)) - return interval::empty(); - const T& l = max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()); - const T& u = min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()); - if (l <= u) return interval(l, u, true); - else return interval::empty(); -} - -template inline -interval hull(const interval& x, - const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return y; - else - if (bad_y) return x; - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval hull(const interval& x, const T& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_y) - if (bad_x) return interval::empty(); - else return x; - else - if (bad_x) return interval(y, y, true); - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval hull(const T& x, const interval& y) -{ - BOOST_USING_STD_MIN(); - BOOST_USING_STD_MAX(); - bool bad_x = interval_lib::detail::test_input(x); - bool bad_y = interval_lib::detail::test_input(y); - if (bad_x) - if (bad_y) return interval::empty(); - else return y; - else - if (bad_y) return interval(x, x, true); - return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), - max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -template inline -interval hull(const T& x, const T& y) -{ - return interval::hull(x, y); -} - -template inline -std::pair, interval > -bisect(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return std::pair(I::empty(), I::empty()); - const T m = median(x); - return std::pair(I(x.lower(), m, true), I(m, x.upper(), true)); -} - -/* - * Elementary functions - */ - -template inline -T norm(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) { - typedef typename Policies::checking checking; - return checking::nan(); - } - BOOST_USING_STD_MAX(); - return max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()); -} - -template inline -interval abs(const interval& x) -{ - typedef interval I; - if (interval_lib::detail::test_input(x)) - return I::empty(); - if (!interval_lib::user::is_neg(x.lower())) return x; - if (!interval_lib::user::is_pos(x.upper())) return -x; - BOOST_USING_STD_MAX(); - return I(static_cast(0), max BOOST_PREVENT_MACRO_SUBSTITUTION(-x.lower(), x.upper()), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, - const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const T& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MAX(); - return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, - const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const T& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); -} - -template inline -interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const T& x, const interval& y) -{ - typedef interval I; - if (interval_lib::detail::test_input(x, y)) - return I::empty(); - BOOST_USING_STD_MIN(); - return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); -} - -} // namespace numeric -} // namespace boost - -#endif // BOOST_NUMERIC_INTERVAL_UTILITY_HPP diff --git a/trunk/paradiseo-eo/contrib/eoAged.h b/trunk/paradiseo-eo/contrib/eoAged.h deleted file mode 100644 index c4c02fc3f..000000000 --- a/trunk/paradiseo-eo/contrib/eoAged.h +++ /dev/null @@ -1,109 +0,0 @@ -// eoAged.h -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoAge.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOAGED_H -#define EOAGED_H - -//----------------------------------------------------------------------------- - -#include // istream, ostream -#include // para std::string - -using namespace std; - -//----------------------------------------------------------------------------- -// eoAge -//----------------------------------------------------------------------------- - -/** eoAge is a template class that adds an age to an object.\\ -Requisites for template instantiation are that the object must admit a default ctor -and a copy ctor. The Object must be an eoObject, thus, it must have its methods: className, -printOn, readFrom. -@see eoObject -*/ -template -class eoAged: public Object -{ - public: - /// Main ctor from an already built Object. - eoAged( const Object& _o): Object( _o ), age(0) {}; - - /// Copy constructor. - eoAged( const eoAged& _a): Object( _a ), age( _a.age ) {}; - - /// Virtual dtor. They are needed in virtual class hierarchies - virtual ~eoAged() {}; - - - ///returns the age of the object - unsigned long Age() const {return age;} - - /// Increments age - const eoAged& operator ++ () { age++; return *this;} - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eo1d - */ -//@{ - /** Return the class id. This should be redefined in each class; but - it's got code as an example of implementation. Only "leaf" classes - can be non-virtual. - */ - virtual std::string className() const { return std::string("eoAged")+Object::className(); }; - - /** - * Read object. - * @param _is A istream. - * @throw runtime_exception If a valid object can't be read. - */ - virtual void readFrom(istream& _is) { - Object::readFrom( _is ); - _is >> age; - } - - - /** - * Write object. It's called printOn since it prints the object _on_ a stream. - * @param _os A ostream. - */ - virtual void printOn(ostream& _os) const{ - Object::printOn( _os ); - _os << age; - } -//@} - - private: - - /** Default Constructor. \\ - It´s private so that it is not used anywhere; the right way of using this object - is to create an Object and passing it to an aged by means of the copy ctor; that way - it´s turned into an Aged object*/ - eoAged(): Object(), age(0) {}; - - unsigned long age; -}; - -#endif EOAGE_H - diff --git a/trunk/paradiseo-eo/contrib/eoDrawable.h b/trunk/paradiseo-eo/contrib/eoDrawable.h deleted file mode 100644 index 221bf2c1e..000000000 --- a/trunk/paradiseo-eo/contrib/eoDrawable.h +++ /dev/null @@ -1,64 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoDrawable.h -// (c) GeNeura Team, 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EODRAWABLE_H -#define EODRAWABLE_H - -//----------------------------------------------------------------------------- - -using namespace std; - -//----------------------------------------------------------------------------- -// eoDrawable -//----------------------------------------------------------------------------- - -/** eoDrawable is a template class that adds a drawing interface to an object.\\ -Requisites for template instantiation are that the object must admit a default ctor -and a copy ctor. The Object must be an eoObject, thus, it must have its methods: className, -eoDrawables can be drawn on any two-dimensional surface; it can be added to any -object with above characteristics. -@see eoObject -*/ -template -class eoDrawable -{ - public: - /// Main ctor from an already built Object. - eoDrawable( const Object& _o): Object( _o ){}; - - /// Copy constructor. - eoDrawable( const eoDrawable& _d): Object( _d ){}; - - /// Virtual dtor. They are needed in virtual class hierarchies - virtual ~eoDrawable() {}; - - - /**Draws the object. It must be redefined in any subclass, it´s impossible - to have a general drawing method - @param _x, _y coorinates */ - virtual void draw( unsigned _x, unsigned _y) = 0; - -}; - -#endif EODRAWABLE_H diff --git a/trunk/paradiseo-eo/contrib/mathsym/COPYING b/trunk/paradiseo-eo/contrib/mathsym/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/trunk/paradiseo-eo/contrib/mathsym/CVS/Entries b/trunk/paradiseo-eo/contrib/mathsym/CVS/Entries deleted file mode 100644 index 7e30f357d..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/COPYING/1.1/Thu Oct 6 12:13:52 2005// -/GNUmakefile/1.8/Thu Nov 24 09:35:33 2005// -/README/1.3/Thu Nov 24 09:35:33 2005// -/README.TCC/1.1/Thu Oct 6 12:13:52 2005// -/header/1.1/Thu Oct 6 12:13:52 2005// -/shared_ptr.h/1.1/Thu Oct 6 12:13:52 2005// -/symreg.cpp/1.7/Thu Nov 24 09:35:33 2005// -/tcc.tar.gz/1.1/Thu Oct 6 12:13:52 2005/-kb/ -/test_data.txt/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/mathsym/CVS/Entries.Log b/trunk/paradiseo-eo/contrib/mathsym/CVS/Entries.Log deleted file mode 100644 index ef83df9f6..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/CVS/Entries.Log +++ /dev/null @@ -1,7 +0,0 @@ -A D/eo_interface//// -A D/eval//// -A D/fun//// -A D/gen//// -A D/regression//// -A D/sym//// -A D/test//// diff --git a/trunk/paradiseo-eo/contrib/mathsym/CVS/Repository b/trunk/paradiseo-eo/contrib/mathsym/CVS/Repository deleted file mode 100644 index 305d2a9b0..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/mathsym diff --git a/trunk/paradiseo-eo/contrib/mathsym/CVS/Root b/trunk/paradiseo-eo/contrib/mathsym/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/mathsym/GNUmakefile b/trunk/paradiseo-eo/contrib/mathsym/GNUmakefile deleted file mode 100644 index f33c6efc7..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/GNUmakefile +++ /dev/null @@ -1,97 +0,0 @@ -COMPILEFLAGS=-Wno-deprecated -g -Wall -mpreferred-stack-boundary=2 -falign-functions=0#-DINTERVAL_DEBUG -OPTFLAGS= #-O3 -DNDEBUG - -PROFILE_FLAGS=#-pg -LDFLAGS=#-a - -INCLUDES=-I. -Isym -Ifun -Igen -Ieval -Iregression -I../../src -Ieo_interface -I.. - -CPPFLAGS=$(COMPILEFLAGS) $(OPTFLAGS) $(INCLUDES) $(PROFILE_FLAGS) -D__I386__ -DSIZEOF_UNSIGNED_LONG=4 -EXTLIBS=tcc/libtcc.a tcc/libtcc1.a ../../src/libeo.a ../../src/utils/libeoutils.a - -LIBS=${EXTLIBS} -ldl - -SYMLIB=libsym.a - -VPATH=sym fun gen eval regression eo_interface - -CXXSOURCES=FunDef.cpp Sym.cpp SymImpl.cpp SymOps.cpp sym_compile.cpp TreeBuilder.cpp LanguageTable.cpp\ - Dataset.cpp ErrorMeasure.cpp Scaling.cpp TargetInfo.cpp BoundsCheck.cpp util.cpp NodeSelector.cpp\ - eoSymCrossover.cpp sym_operations.cpp eoSymMutate.cpp eoSymLambdaMutate.cpp MultiFunction.cpp - -TESTPROGRAMS=test/test_compile test/testeo test/test_simplify test/test_diff test/test_lambda test/test_mf - -OBJS= $(CXXSOURCES:.cpp=.o) c_compile.o - -all: tcc/ symreg - -include $(CXXSOURCES:.cpp=.d) symreg.d - -clean: - rm *.o *.d $(TESTPROGRAMS) $(SYMLIB) symreg test/*.o || true - -distclean: clean - rm -rf tcc - -symreg: libsym.a symreg.o $(EXTLIBS) - $(CXX) -o symreg symreg.o libsym.a $(LIBS) $(PROFILE_FLAGS) ${LDFLAGS} - -libsym.a: $(OBJS) - rm libsym.a; ar cq $(SYMLIB) $(OBJS) - -check: $(TESTPROGRAMS) - test/test_compile && test/testeo && test/test_simplify && test/test_diff && test/test_lambda && echo "all tests succeeded" - -test/test_compile: test/test_compile.o ${SYMLIB} - $(CXX) -o test/test_compile test/test_compile.o $(SYMLIB) ${LIBS} - -test/testeo: test/testeo.o ${SYMLIB} - $(CXX) -o test/testeo test/testeo.o $(SYMLIB) ${LIBS} - -test/test_simplify: test/test_simplify.o $(SYMLIB) - $(CXX) -o test/test_simplify test/test_simplify.o $(SYMLIB) ${LIBS} - -test/test_diff: test/test_diff.o $(SYMLIB) - $(CXX) -o test/test_diff test/test_diff.o $(SYMLIB) ${LIBS} - -test/test_lambda: test/test_lambda.o $(SYMLIB) - $(CXX) -o test/test_lambda test/test_lambda.o $(SYMLIB) ${LIBS} - -test/test_mf: test/test_mf.o $(SYMLIB) - $(CXX) -o test/test_mf test/test_mf.o $(SYMLIB) ${LIBS} - -# eo -../../src/libeo.a: - make -C ../../src libeo.a - -../../src/utils/libeoutils.a: - make -C ../../src/utils libeoutils.a - -# tiny cc -tcc/: tcc.tar.gz - tar xvfz tcc.tar.gz && cd tcc && ./configure && make - -tcc/Makefile: tcc/ - cd tcc && ./configure - -tcc/libtcc.a: tcc/Makefile - make -Ctcc - -tcc/libtcc1.a: tcc/Makefile - make -Ctcc - -#rules -c_compile.o: eval/c_compile.c - $(CC) -c eval/c_compile.c -I./tcc $(COMPILEFLAGS) $(OPTFLAGS) - -%.o:%.cpp - $(CXX) -o $@ -c $< $(CPPFLAGS) $(INCLUDE) - -%.d: %.cpp - $(SHELL) -ec '$(CXX) -M $(CPPFLAGS) $< | sed "s/$*.o/& $@/g" > $@ ' - - -%.d: %.c - $(SHELL) -ec '$(CXX) -M $(CPPFLAGS) $< | sed "s/$*.o/& $@/g" > $@ ' - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/README b/trunk/paradiseo-eo/contrib/mathsym/README deleted file mode 100644 index 0ac57dbc3..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/README +++ /dev/null @@ -1,198 +0,0 @@ - -This is not yet another gp system (nyagp). For one, it is not general. -It does one thing, find mathematical functions, and tries to do that well. - -So, if you're trying to steer ants on various New Mexico trails, or build your -own tiny block world, you're in the wrong place. However, if you're interested -in finding mathematical functions either through direct application on data or -running it through a simulator, you might find what you're looking for here. - -=== Representation (sym/ + gen/) ======== - -Mathsym has a few interesting characteristics. First and foremost is the -basic representation. It uses trees, but these trees are stored in a -reference counted hashtable. This means that every distinct subtree that is alive -is stored once and only once. -The reference counting mechanism takes care of memory management. - -The idea of using a hashtable (for offline analysis) comes from Walter Tackett, in his -1994 dissertation. The current system is just a real-time implementation of this -idea, adding the reference counting for ease of use. - -The hashtable brings overhead. It's still pretty fast, but a string based representation -would run circles around it. However, by virtue of it storing every subtree only once, it -is fairly tight on memory. This helps tremendously when confronted with excessively growing populations, bloat. -The hashtable implementation can not stop bloat, but does make it more manageable. In a typical -GP run, the number of distinct subtrees is only 10-20% of the total number of subtrees. - -Other advantages of the hashtable are in the ability to examine the run more thoroughly. It is easy -to check how many subtrees are present in the system, and for each subtree you can check the reference -count. - -The basic tree is called a Sym. A Sym is simply a tree, and has children, accessible through args(). -A Sym simply contains an iterator (== decorated pointer) to an entry in the hashtable. -Every time you create a Sym, it is either looked up in the hashtable or added to the hashtable. -A Sym has several members: size, depth, args, etc. One interesting member is the refcount(). -This returns the reference count of the Sym in the hashtable, and thus returns the number -of distinct contexts in which the Sym is used. - -Another nice thing of these hashtable Syms is that a check for equality reduces to a pointer comparison. - -The Sym nodes are identified by a simple token, of type token_t (usually an unsigned int). It -is completely generic and could conceivably be adapted to steer ants. The rest of the library -is however targeted at mathematical functions purely. - -sym/Sym.h is the file to look into for the functionality provided by Sym. The sym/ directory -is where the source files are stored that are relevant for the generic Sym functionality. The -'gen/' directory contains some generic functionality to build and traverse trees, independent of -the function and terminal set. - -The file sym/README.cpp documents the use of the sym library for general GP use. - -=== Function Set (fun/) === - -The standard GP function set of binary functions: addition, multiplication, subtraction and -division is NOT supported. - -What is however supported are the functions of: - -summation: arbitrary arity, arity zero meaning 0.0. Arity 2 is standard addition -product: arbitrary arity, arity zero meaning 1.0. Arity 2 is standard multiplication -inversion: 1.0 / x. Only arity 1 -unary minus: -x. Only arity 1 - -Plus a whole bunch of other functions (see "fun/FunDef.h") - -The reason for this is the observation (actually from a friend of mine, thanks Luuk), -that this set of functions is complete and slightly more orthogonal than a binary set. - -The directory 'fun' contains the functionality for the function and terminal set, together -with ERC's etc. fun/FunDef.cpp contains the definition of the functionality. Stuff can be -added here, but best to contact me if you miss particular functions. - -With the sym and the function set in place, some fairly nice overloading is possible. A quick tour: - -To create a variable that reads the first value from the inputs, do: - -Sym var = SymVar(0); - -To create a constant of value 0.4432, do - -Sym cnst = SymConst(0.4432); - -The constants are also stored uniquely so that: - -Sym cnst2 = SymConst(0.4432) - -will lead to: - -cnst == cnst2 - -to be true (this happens without value compare, they point to the same element in the hashtable) - -To add two values, do - -Sym sym = var + const; - -This will create a tree with tree nodes. All other operations work identically. - -=== Evaluation (eval/) === - -The second important thing is evaluation. Although Syms can be evaluated through an interpreter, -this is not the fastest way to go about with it. The standard way of evaluating a Sym is to -first *compile* it to a function, and then run it in your favourite environment. Compilation -is done through the use of the excellent tinycc compiler, which is blazingly fast and produces -pretty good functions. - -Compilation comes in several flavours: compile a single function and retrieve a pointer to a function -of signature: - -double func(const double* x); - -where x is the input array. Another option is to compile a bunch of functions in one go, and retrieve an array -of such function pointers. The Syms are simply printed and compiled. An example: - -double func(const double* x) { return x*x + x * 1./x; } - -The batch version proceeds significantly more quickly than calling compile every time. The function pointers -can be given to a simulation for extremely quick evaluation. - -A third option is to compile a complete population in one go, and return a single pointer of signature - -void func(const double* x, double* y); - -Where 'y' is the (preallocated) output array. This allows to evaluate a complete population in one function -call, storing the results in 'y'. It uses the hashtable to store every calculation only once. An example -for the two function x*x + x*1./x and x + sin(x*x) is: - -void func(const double* x, double* y) { - double a0 = x; - double a1 = a0 * a0; - double a2 = 1.0; - double a3 = a2 / a0; - double a4 = a2 * a3; - y[0] = a4; - double a5 = sin(a1); - double a6 = a0 + a5; - y[1] = a6; -} - -This is the fastest way to evaluate even humongous populations quickly. You might be surprised at -the amount of code re-use in a GP population. - -The three compilation functions can be found in eval/sym_compile.h - -A limiting factor in tinycc is that the struct TCCState that is used to hold the compilation context, -is not really self-contained. This unfortunately means that with every call to 'compile' ALL previous -pointers that have been produced become unsafe for use. I'm still looking at ways to circumvent this. - -To work with mathsym, a few small changes in tccelf.c were necessary, check README.TCC for details. - -=== Interval Arithmetic (eval/) === - -GP is pretty good at finding mathematical expressions that are numerically unsound. Take for instance -the function '1 / x'. This is well defined only when x is strictly positive, but will lead to problems -when x equals 0. The standard answer is to define some pseudo-arithmetical function called 'protected -division' that will return some value (usually 1) when a division by zero occurs. This leads to a number -of protected functions (sqrt, log, tan, etc.) which all need to be protected. Interpreting results from -GP using such functions is in general hard. - -Interval arithmetic (through another excellent library boost/numeric/interval) is used to calculate -if particular functions can conceivably produce problems. This completely annihilates the use for Koza-style -protected operators and is a more safe and sound method. For interval arithmetic to function, the bounds -on the input variables need to be known. As for every function we can calculate a guarenteed, -though not necessarily tight, output interval given the input intervals, we can check arbitrary functions -for possible problems. If, for example for division, the input interval contains 0, we know that a division -by zero is theoretically possible. It's then best to throw away the entire function. - -Interval Arithmetic is accessible through the class IntervalBoundsCheck (eval/BoundsCheck.h) - -=== More generic support (gen/) === - -The gen subdirectory contains some general utility classes for defining function sets and for -creating trees. The idea is that these functions are generic and only append on the sym/ part -of the library. Unfortunately, the language table currently needs an ERC function, a default -implementation is hidden inside fun/FunDef.cpp. Will fix at some point. - -gen/LanguageTable.cpp -> defines the functions/terminals that can be used -gen/TreeBuilder.cpp -> can create trees based on a LanguageTable - -=== Data and Errors (regression/) === - -The above classes are generic and apply for any type of problem where a mathematical function can be -used to steer some process, run a simulation, whatever. First check the intervals, then compile the -Sym(s) to a (set of) function pointer(s), and use the pointers in some way to evaluate for fitness. -One particular type of problem for which support is built in is 'symbolic regression'. This type of -problem involves finding an mathematical input/output relationship based on some data. - -To enable this, regression/ introduces the class Dataset to contain the data and ErrorMeasure to calculate -error. Currently supported: mean squared error, mean absolute error and mean squared error scaled (proportional -to correlation squared). They use some helper classes such as Scaling and TargetInfo. - -=== EO interface (eo_interface/) === - -Contains the classes to make it all work with EO. Check the root application 'symreg' for ways to use this - - - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/README.TCC b/trunk/paradiseo-eo/contrib/mathsym/README.TCC deleted file mode 100644 index 8441c232f..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/README.TCC +++ /dev/null @@ -1,5 +0,0 @@ - -To refrain tcc from searching for libtcc1.a in the path, uncomment -out the lines looking for that in 'tccelf.c'. Search for libtcc1 and uncomment -these two lines. All should be well. - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Entries b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Entries deleted file mode 100644 index 9795716af..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/eoSym.h/1.4/Thu Nov 24 09:35:34 2005// -/eoSymCrossover.cpp/1.2/Sun Oct 16 15:38:38 2005// -/eoSymCrossover.h/1.1/Thu Oct 6 12:13:52 2005// -/eoSymEval.h/1.3/Thu Nov 24 09:35:34 2005// -/eoSymInit.h/1.1/Thu Oct 6 12:13:52 2005// -/eoSymLambdaMutate.cpp/1.1/Thu Nov 24 09:38:05 2005// -/eoSymLambdaMutate.h/1.1/Thu Nov 24 09:35:34 2005// -/eoSymMutate.cpp/1.3/Thu Nov 24 09:35:34 2005// -/eoSymMutate.h/1.4/Sun Oct 16 15:38:38 2005// -D diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Repository b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Repository deleted file mode 100644 index 6fef177a1..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/mathsym/eo_interface diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Root b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSym.h b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSym.h deleted file mode 100644 index 747850e22..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSym.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef EOSYM_H_ -#define EOSYM_H_ - -#include -#include -#include - - -template -class EoSym : public EO, public Sym { - - public: - - void set(const Sym& sym) { - EO::invalidate(); - static_cast(this)->operator=(sym); - } - - Sym& get() { return static_cast(*this); }; - Sym get() const { return static_cast(*this); }; - - virtual void printOn(std::ostream& os) const; - virtual void readFrom(std::istream& is); -}; - - -template -void EoSym::printOn(std::ostream& os) const { - EO::printOn(os); - os << ' '; - write_raw(os, *this); -} - -template -void EoSym::readFrom(std::istream& is) { - EO::readFrom(is); - read_raw(is, *this); -} - -template -inline std::ostream& operator<<(std::ostream& os, const EoSym& f) { f.printOn(os); return os; } -template -inline std::istream& operator>>(std::istream& is, EoSym& f) { f.readFrom(is); return is; } - - -#endif - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp deleted file mode 100644 index 412ac78ee..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymCrossover.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include -#include - -#include -#include - -bool subtree_quad(Sym& a, Sym& b, NodeSelector& select) { - NodeSelector::NodeSelection sel_a = select.select_node(a); - NodeSelector::NodeSelection sel_b = select.select_node(b); - - Sym aprime = insert_subtree(a, sel_a.idx(), sel_b.subtree() ); - Sym bprime = insert_subtree(b, sel_b.idx(), sel_a.subtree() ); - - a = aprime; - b = bprime; - return true; -} - -bool subtree_bin(Sym& a, const Sym& b, NodeSelector& select) { - NodeSelector::NodeSelection sel_a = select.select_node(a); - NodeSelector::NodeSelection sel_b = select.select_node(b); - - a = insert_subtree(a, sel_a.idx(), sel_b.subtree()); - - return true; -} - -Sym homologous_binimpl(Sym a, Sym b) { - - if(a == b) { return a; } // no point - - bool use_a = rng.random(2); - - token_t head = (use_a? a : b).token(); - SymVec args = use_a?a.args() : b.args(); - - const SymVec& a_args = a.args(); - const SymVec& b_args = b.args(); - unsigned mn = std::min(a_args.size(), b_args.size()); - - bool changed = !use_a; - - for (unsigned i = 0; i < mn; ++i) { - args[i] = homologous_binimpl(a_args[i], b_args[i]); - if (args[i] != a_args[i]) { - changed = true; - } - } - - return changed? Sym(head, args) : a; -} - -bool homologous_bin(Sym& a, const Sym& b) { - if (a==b) return false; - Sym org = a; - a = homologous_binimpl(a,b); - return org != a; -} - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymCrossover.h b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymCrossover.h deleted file mode 100644 index faa9acfaf..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymCrossover.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef EOSYMCROSSOVER_H -#define EOSYMCROSSOVER_H - -class NodeSelector; -class Sym; - -#include - -extern bool subtree_quad(Sym& a, Sym& b, NodeSelector& select); -template -class eoQuadSubtreeCrossover : public eoQuadOp { - NodeSelector& node_selector; - - public: - eoQuadSubtreeCrossover(NodeSelector& _node_selector) : node_selector(_node_selector) {} - - bool operator()(EoType& a, EoType& b) { return subtree_quad(a,b, node_selector); } -}; - - -extern bool subtree_bin(Sym& a, const Sym& b, NodeSelector& select); -template -class eoBinSubtreeCrossover : public eoBinOp { - NodeSelector& node_selector; - - public : - - eoBinSubtreeCrossover(NodeSelector& _node_selector) : node_selector(_node_selector) {} - - bool operator()(EoType& a, const EoType& b) { return subtree_bin(a, b, node_selector); } -}; - -/** Yet another homologous crossover, afaik not particularly - * defined in the literature - */ -extern bool homologous_bin(Sym& a, const Sym& b); -template -class eoBinHomologousCrossover : public eoBinOp { - public: - bool operator()(EoType& a, const EoType& b) { - return homologous_bin(a,b); - } -}; - - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymEval.h b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymEval.h deleted file mode 100644 index 9eb5f15c2..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymEval.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef SYMEVAL_H -#define SYMEVAL_H - -#include -#include -#include -#include - -#include - -template -class eoSymPopEval : public eoPopEvalFunc { - - BoundsCheck& check; - ErrorMeasure& measure; - unsigned size_cap; - - public: - - eoSymPopEval(BoundsCheck& _check, ErrorMeasure& _measure, unsigned _size_cap) : - check(_check), measure(_measure), size_cap(_size_cap) {} - - /** apparently this thing works on two populations, - * - * In any case, currently only implemented the population wide - * evaluation version, as that one is much faster. This because the - * compile going on behind the scenes is much faster when done in one - * go (and using subtree similarity) then when done on a case by case - * basis. - */ - void operator()(eoPop& p1, eoPop& p2) { - - std::vector unevaluated; - std::vector tmppop; - - for (unsigned i = 0; i < p1.size(); ++i) { - if (p1[i].invalid()) { - - if (expand_all(p1[i]).size() < size_cap && check.in_bounds(p1[i])) { - unevaluated.push_back(i); - tmppop.push_back( static_cast(p1[i]) ); - } else { - p1[i].fitness( measure.worst_performance() ); - } - } - } - - for (unsigned i = 0; i < p2.size(); ++i) { - if (p2[i].invalid()) { - - if (expand_all(p2[i]).size() < size_cap && check.in_bounds(p2[i])) { - - unevaluated.push_back(p1.size() + i); - tmppop.push_back( static_cast(p2[i]) ); - - } else { - p2[i].fitness( measure.worst_performance() ); // pretty bad error - } - } - } - - std::vector result = measure.calc_error(tmppop); - - for (unsigned i = 0; i < result.size(); ++i) { - unsigned idx = unevaluated[i]; - - if (idx < p1.size()) { - p1[idx].fitness(result[i].error); - } else { - idx -= p1.size(); - p2[idx].fitness(result[i].error); - } - } - } - -}; - - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymInit.h b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymInit.h deleted file mode 100644 index 591b0050a..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymInit.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef EOSYMINIT_H -#define EOSYMINIT_H - -#include -#include - -/** Default initializer, Koza style */ -template -class eoSymInit : public eoInit { - - TreeBuilder& builder; - - double own_grow_prob; - unsigned own_max_depth; - - - double& grow_prob; - unsigned& max_depth; - - public: - - /** By default build ramped half and half with max depth 6 */ - eoSymInit(TreeBuilder& _builder) - : builder(_builder), - own_grow_prob(0.5), - own_max_depth(6), - grow_prob(own_grow_prob), - max_depth(own_max_depth) - {} - - /** Control the grow_prob and max_depth externally */ - eoSymInit(TreeBuilder& _builder, double& _grow_prob, unsigned& _max_depth) - : builder(_builder), - grow_prob(_grow_prob), - max_depth(_max_depth) - {} - - /** build the tree */ - void operator()(EoType& tree) { - int depth_to_use = rng.random(max_depth-2) + 2; // two levels minimum - builder.build_tree(tree, depth_to_use, rng.flip(grow_prob)); - } - -}; - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp deleted file mode 100644 index e7eeecf58..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include "FunDef.h" -#include "NodeSelector.h" - -Sym compress(Sym sym, NodeSelector& sel) { - - return ::compress(sym); - - NodeSelector::NodeSelection s = sel.select_node(sym); - - Sym f = SymLambda( s.subtree()); - - if (f == s.subtree()) { return sym; } - - return insert_subtree(sym, s.idx(), f); -} - -extern Sym expand(Sym sym, NodeSelector& sel) { - - return ::expand_all(sym); - - NodeSelector::NodeSelection s = sel.select_node(sym); - - Sym f = SymUnlambda( s.subtree()); - - if (f == s.subtree()) { return sym; } - - return insert_subtree(sym, s.idx(), f); -} diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h deleted file mode 100644 index d29111521..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef SYMLAMBDAMUTATE_H -#define SYMLAMBDAMUTATE_H - -#include - -class NodeSelector; -class Sym; -extern Sym compress(Sym, NodeSelector&); -extern Sym expand(Sym, NodeSelector&); - - -template -class eoSymLambdaMutate : public eoMonOp { - NodeSelector& selector; - public : - eoSymLambdaMutate(NodeSelector& s) : selector(s) {} - - bool operator()(EoType& tomutate) { - if (rng.flip()) { - tomutate.set( expand(tomutate, selector)); - } else { - tomutate.set( compress(tomutate, selector)); - } - return true; - } - -}; - - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymMutate.cpp b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymMutate.cpp deleted file mode 100644 index 0ab3f26ba..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymMutate.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include -#include - -using namespace std; - -std::pair do_mutate(Sym sym, double p, const LanguageTable& table) { - - bool changed = false; - SymVec args = sym.args(); - if (rng.flip(p)) { - token_t new_token = table.get_random_function(sym.token(), args.size()); - if (new_token != sym.token()) { - changed = true; - sym = Sym(new_token, args); - } - } - - for (unsigned i = 0; i < args.size(); ++i) { - std::pair r = do_mutate(args[i], p, table); - changed |= r.second; - if (r.second) - args[i] = r.first; - } - - if (changed) - return std::make_pair(Sym(sym.token(), args), true); - // else - return std::make_pair(sym, false); -} - - -// these two can (should?) move to an impl file -bool mutate(Sym& sym, double p, const LanguageTable& table) { - std::pair r = do_mutate(sym, p, table); - sym = r.first; - return r.second; -} - - -bool mutate_constants(Sym& sym, double stdev) { - vector values = get_constants(sym); - - if (values.empty()) { - return false; - } - - for (unsigned i = 0; i < values.size(); ++i) { - values[i] += rng.normal() * stdev; - } - - sym = set_constants(sym, values); - - return true; -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymMutate.h b/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymMutate.h deleted file mode 100644 index aabe9141b..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eo_interface/eoSymMutate.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef SYMMUTATE_H -#define SYMMUTATE_H - -#include -#include - -#include -#include - -template -class eoSymSubtreeMutate : public eoMonOp { - - TreeBuilder& subtree_builder; - NodeSelector& node_selector; - public : - - eoSymSubtreeMutate(TreeBuilder& _subtree_builder, NodeSelector& _node_selector) - : subtree_builder(_subtree_builder), node_selector(_node_selector) {} - - - bool operator()(EoType& tomutate) { - unsigned xover_point = node_selector.select_node(tomutate).idx(); - // create subtree - Sym newtree = subtree_builder.build_tree(6, true); // TODO, parameterize - static_cast(tomutate) = insert_subtree(tomutate, xover_point, newtree); - return true; - } - -}; - -/** Class for doing node mutation - * Two parameters: - * - * mutation_rate (the rate at which to do mutation) - * is_rate_absolute : don't rescale the rate to the size of the tree - */ - -extern bool mutate(Sym& sym, double p, const LanguageTable& table); - -template -class eoSymNodeMutate : public eoMonOp { - - LanguageTable& table; - double own_mutation_rate; - bool own_is_rate_absolute; - - - public: - - double& mutation_rate; - bool& is_rate_absolute; - - eoSymNodeMutate(LanguageTable& _table) - : table(_table), - own_mutation_rate(1.0), - own_is_rate_absolute(false), // this means a probability of node mutation of 1/sym.size() - mutation_rate(own_mutation_rate), - is_rate_absolute(own_is_rate_absolute) - {} - - eoSymNodeMutate(LanguageTable& _table, double& _mutation_rate, bool& _is_rate_absolute) - : table(_table), - mutation_rate(_mutation_rate), - is_rate_absolute(_is_rate_absolute) - {} - - - bool operator()(EoType& _eo) { - double p = mutation_rate; - if (!is_rate_absolute) p /= _eo.size(); - - return mutate(_eo, p, table); - } - -}; - -/** - * Simple constant mutation class, adds gaussian noise (configurable variance) to the individuals - **/ -extern bool mutate_constants(Sym& sym, double stdev); -template -class eoSymConstantMutate : public eoMonOp { - - double& stdev; - - - public : - eoSymConstantMutate(double& _stdev) : stdev(_stdev) {} - - bool operator()(EoType& _eo) { - return mutate_constants(_eo, stdev); - } - - -}; - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/BoundsCheck.cpp b/trunk/paradiseo-eo/contrib/mathsym/eval/BoundsCheck.cpp deleted file mode 100644 index 715ebf524..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/BoundsCheck.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include - -#include "BoundsCheck.h" -#include -#include -#include - -using namespace std; - -class IntervalBoundsCheckImpl { - public : - vector bounds; -}; - -IntervalBoundsCheck::IntervalBoundsCheck(const vector& mins, const vector& maxes) { - pimpl = new IntervalBoundsCheckImpl; - vector& b = pimpl->bounds; - - b.resize( mins.size()); - - for (unsigned i = 0; i < b.size(); ++i) { - b[i] = Interval(mins[i], maxes[i]); - } - -} - -IntervalBoundsCheck::~IntervalBoundsCheck() { delete pimpl; } -IntervalBoundsCheck::IntervalBoundsCheck(const IntervalBoundsCheck& that) { pimpl = new IntervalBoundsCheckImpl(*that.pimpl); } -IntervalBoundsCheck& IntervalBoundsCheck::operator=(const IntervalBoundsCheck& that) { *pimpl = *that.pimpl; return *this; } - -bool IntervalBoundsCheck::in_bounds(const Sym& sym) const { - Interval bounds; - - try { - bounds = eval(sym, pimpl->bounds); - if (!valid(bounds)) return false; - } catch (interval_error) { - return false; - } - return true; -} - -std::string IntervalBoundsCheck::get_bounds(const Sym& sym) const { - - try { - Interval bounds = eval(sym, pimpl->bounds); - if (!valid(bounds)) return "err"; - ostringstream os; - os << bounds; - return os.str(); - } catch (interval_error) { - return "err"; - } -} - - -std::pair IntervalBoundsCheck::calc_bounds(const Sym& sym) const { - - Interval bounds = eval(sym, pimpl->bounds); - return make_pair(bounds.lower(), bounds.upper()); -} - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/BoundsCheck.h b/trunk/paradiseo-eo/contrib/mathsym/eval/BoundsCheck.h deleted file mode 100644 index d484d0293..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/BoundsCheck.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef BOUNDS_CHECK_H_ -#define BOUNDS_CHECK_H_ - -#include - -class IntervalBoundsCheckImpl; -class Sym; - -class BoundsCheck { - public : - virtual ~BoundsCheck() {}; - virtual bool in_bounds(const Sym&) const = 0; - virtual std::string get_bounds(const Sym&) const = 0; -}; - -// checks if a formula keeps within bounds using interval arithmetic -class IntervalBoundsCheck : public BoundsCheck { - - IntervalBoundsCheckImpl* pimpl; - - public: - - IntervalBoundsCheck(const std::vector& minima, const std::vector& maxima); - ~IntervalBoundsCheck(); - IntervalBoundsCheck(const IntervalBoundsCheck&); - IntervalBoundsCheck& operator=(const IntervalBoundsCheck&); - - bool in_bounds(const Sym&) const; - std::string get_bounds(const Sym&) const; - - std::pair calc_bounds(const Sym&) const; -}; - -class NoBoundsCheck : public BoundsCheck { - bool in_bounds(const Sym&) const { return false; } - std::string get_bounds(const Sym&) const { return ""; } -}; - -#endif - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Entries b/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Entries deleted file mode 100644 index 5d2c8c632..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/BoundsCheck.cpp/1.1/Thu Oct 6 12:13:52 2005// -/BoundsCheck.h/1.1/Thu Oct 6 12:13:52 2005// -/Interval.h/1.1/Thu Oct 6 12:13:52 2005// -/MultiFuncs.cpp/1.1/Thu Nov 24 09:35:34 2005// -/MultiFunction.cpp/1.1/Thu Nov 24 09:35:34 2005// -/MultiFunction.h/1.1/Thu Nov 24 09:35:34 2005// -/c_compile.c/1.2/Thu Nov 24 09:35:34 2005// -/sym_compile.cpp/1.7/Thu Nov 24 09:35:34 2005// -/sym_compile.h/1.2/Thu Nov 24 09:35:34 2005// -D diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Repository b/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Repository deleted file mode 100644 index e10acc776..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/mathsym/eval diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Root b/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/Interval.h b/trunk/paradiseo-eo/contrib/mathsym/eval/Interval.h deleted file mode 100644 index 1849af4cd..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/Interval.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef INTERVAL__H__ -#define INTERVAL__H__ - -#include -#include -#include - - -typedef boost::numeric::interval_lib::rounded_transc_exact RoundingTransc; -typedef boost::numeric::interval_lib::save_state Rounding; -typedef boost::numeric::interval_lib::checking_base Checking; -typedef boost::numeric::interval_lib::policies Policy; -typedef boost::numeric::interval Interval; - -struct interval_error{}; - -inline bool valid(const Interval& val) { - if (!finite(val.lower()) || !finite(val.upper())) return false; - - return val.lower() > -1e10 && val.upper() < 1e10; -} - -inline Interval sqrt(const Interval& val) { - if (val.lower() < 0.0) { - return Interval::whole(); - } - - return boost::numeric::sqrt(val); -} - -inline Interval sqr(const Interval& val) { - return square(val); -} - -inline Interval acos(const Interval& val) { - if (val.lower() < 1.0 || val.upper() > 1.0) { - return Interval::whole(); - } - - return boost::numeric::acos(val); -} - -inline Interval asin(const Interval& val) { - if (val.lower() < 1.0 || val.upper() > 1.0) { - return Interval::whole(); - } - - return boost::numeric::asin(val); -} - -inline Interval acosh(const Interval& val) { - if (val.lower() < 1.0) return Interval::whole(); - return boost::numeric::acosh(val); -} - -inline -std::ostream& operator<<(std::ostream& os, const Interval& val) { - os << '[' << val.lower() << ", " << val.upper() << ']'; - return os; -} - -#ifdef TEST_INTERVAL -using namespace std; -using namespace boost::numeric; - -int main() { - Interval a(0, 10); - Interval b(-1.5, 2); - cout << "a = " << a << endl; - cout << "b = " << b << endl; - cout << "a + b = " << a + b << endl; - cout << "a - b = " << a - b << endl; - cout << "b - a = " << b - a << endl; - cout << "-a = " << -a << endl; - cout << "a * b = " << a * b << endl; - cout << "b/(a+1) = " << b / (a + 1.0) << endl; - cout << "b * a = " << b * a << endl; - - cout << "b / a = " << b/a << endl; - - cout << "cos(a) = " << cos(a) << endl; - cout << "cos(b) = " << cos(b) << endl; - - cout << "log(b) = " << log(b) << endl; - - cout << "sqrt(b) = " << sqrt(b) << endl; - cout << "sqrt(a) = " << sqrt(a) << endl; - cout << "sqr(b) = " << sqr(b) << endl; - - cout << "exp(b*a)= " << exp(b*a) << endl; - - cout << "atan(a) = " << atan(a) << endl; - cout << "cosh(b) = " << cosh(b) << endl; - -} -#endif - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFuncs.cpp b/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFuncs.cpp deleted file mode 100644 index a06be64a3..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFuncs.cpp +++ /dev/null @@ -1,26 +0,0 @@ - -namespace multi_function { - -double plus(arg_ptr args) { - return *args[0] + *args[1]; -} - -double mult(arg_ptr args) { - return *args[0] * *args[1]; -} - -double min(arg_ptr args) { - return -**args; -} - -double inv(arg_ptr args) { - return 1 / **args; -} - -//template class F { public: double operator()(double a) { return f(a); } }; - -double exp(arg_ptr args) { - return ::exp(**args); -} - -} // namespace diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFunction.cpp b/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFunction.cpp deleted file mode 100644 index ec1929d29..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFunction.cpp +++ /dev/null @@ -1,341 +0,0 @@ -#include - - -#include "MultiFunction.h" -#include "Sym.h" -#include "FunDef.h" - -using namespace std; - - -typedef vector::const_iterator data_ptr; -typedef vector data_ptrs; -typedef data_ptrs::const_iterator arg_ptr; - -#include "MultiFuncs.cpp" - -typedef double (*fptr)( arg_ptr ); - -string print_function( fptr f) { - if (f == multi_function::plus) return "+"; - if (f == multi_function::mult) return "*"; - if (f == multi_function::min) return "-"; - if (f == multi_function::inv) return "/"; - if (f == multi_function::exp) return "e"; - return "unknown"; -} - - -struct Function { - - fptr function; - arg_ptr args; - - double operator()() const { return function(args); } -}; - -static vector token_2_function; - -Sym make_binary(Sym sym) { - if (sym.args().size() == 2) return sym; - SymVec args = sym.args(); - Sym an = args.back(); - args.pop_back(); - Sym nw = make_binary( Sym( sym.token(), args) ); - args.resize(2); - args[0] = nw; - args[1] = an; - return Sym(sym.token(), args); -} - -class Compiler { - - public: - - enum func_type {constant, variable, function}; - - typedef pair entry; - -#if USE_TR1 - typedef std::tr1::unordered_map HashMap; -#else - typedef hash_map HashMap; -#endif - - HashMap map; - - vector constants; - vector variables; - vector< fptr > functions; - vector< vector > function_args; - - unsigned total_args; - - vector outputs; - - Compiler() : total_args(0) {} - - entry do_add(Sym sym) { - - HashMap::iterator it = map.find(sym); - - if (it == map.end()) { // new entry - - token_t token = sym.token(); - - if (is_constant(token)) { - constants.push_back( get_constant_value(token) ); // set value - entry e = make_pair(constant, constants.size()-1); - map.insert( make_pair(sym, e) ); - return e; - - } else if (is_variable(token)) { - unsigned idx = get_variable_index(token); - variables.push_back(idx); - entry e = make_pair(variable, variables.size()-1); - map.insert( make_pair(sym, e) ); - return e; - } // else - - fptr f; - vector vec; - const SymVec& args = sym.args(); - - switch (token) { - case sum_token: - { - if (args.size() == 0) { - return do_add( SymConst(0.0)); - } - if (args.size() == 1) { - return do_add(args[0]); - } - if (args.size() == 2) { - vec.push_back(do_add(args[0])); - vec.push_back(do_add(args[1])); - f = multi_function::plus; - //cout << "Adding + " << vec[0].second << ' ' << vec[1].second << endl; - break; - - } else { - return do_add( make_binary(sym) ); - } - - } - case prod_token: - { - if (args.size() == 0) { - return do_add( SymConst(1.0)); - } - if (args.size() == 1) { - return do_add(args[0]); - } - if (args.size() == 2) { - vec.push_back(do_add(args[0])); - vec.push_back(do_add(args[1])); - f = multi_function::mult; - //cout << "Adding * " << vec[0].second << ' ' << vec[1].second << endl; - break; - - - } else { - return do_add( make_binary(sym) ); - } - } - case sqr_token: - { - SymVec newargs(2); - newargs[0] = args[0]; - newargs[1] = args[0]; - return do_add( Sym(prod_token, newargs)); - } - default : - { - if (args.size() != 1) { - cerr << "Unknown function " << sym << " encountered" << endl; - exit(1); - } - - vec.push_back(do_add(args[0])); - - switch (token) { - case min_token: f = multi_function::min; break; - case inv_token: f = multi_function::inv; break; - case exp_token :f = multi_function::exp; break; - default : - { - cerr << "Unimplemented token encountered " << sym << endl; - exit(1); - } - } - - //cout << "Adding " << print_function(f) << ' ' << vec[0].second << endl; - - - } - - } - - total_args += vec.size(); - function_args.push_back(vec); - functions.push_back(f); - - entry e = make_pair(function, functions.size()-1); - map.insert( make_pair(sym, e) ); - return e; - - } - - return it->second; // entry - } - - void add(Sym sym) { - entry e = do_add(sym); - outputs.push_back(e); - } - -}; - -class MultiFunctionImpl { - public: - - // input mapping - vector input_idx; - - unsigned constant_offset; - unsigned var_offset; - - // evaluation - vector data; - vector funcs; - data_ptrs args; - - vector output_idx; - - MultiFunctionImpl() {} - - void clear() { - input_idx.clear(); - data.clear(); - funcs.clear(); - args.clear(); - output_idx.clear(); - constant_offset = 0; - } - - void eval(const double* x, double* y) { - unsigned i; - // evaluate variables - for (i = constant_offset; i < constant_offset + input_idx.size(); ++i) { - data[i] = x[input_idx[i-constant_offset]]; - } - - for(; i < data.size(); ++i) { - data[i] = funcs[i-var_offset](); - //cout << i << " " << data[i] << endl; - } - - for (i = 0; i < output_idx.size(); ++i) { - y[i] = data[output_idx[i]]; - } - } - - void eval(const vector& x, vector& y) { - eval(&x[0], &y[0]); - } - - void setup(const vector& pop) { - - clear(); - Compiler compiler; - - for (unsigned i = 0; i < pop.size(); ++i) { - Sym sym = (expand_all(pop[i])); - compiler.add(sym); - } - - // compiler is setup so get the data - constant_offset = compiler.constants.size(); - var_offset = constant_offset + compiler.variables.size(); - int n = var_offset + compiler.functions.size(); - - data.resize(n); - funcs.resize(compiler.functions.size()); - args.resize(compiler.total_args); - - // constants - for (unsigned i = 0; i < constant_offset; ++i) { - data[i] = compiler.constants[i]; - //cout << i << ' ' << data[i] << endl; - } - - // variables - input_idx = compiler.variables; - - //for (unsigned i = constant_offset; i < var_offset; ++i) { - //cout << i << " x" << input_idx[i-constant_offset] << endl; - //} - - // functions - unsigned which_arg = 0; - for (unsigned i = 0; i < funcs.size(); ++i) { - - Function f; - f.function = compiler.functions[i]; - - //cout << i+var_offset << ' ' << print_function(f.function); - - // interpret args - for (unsigned j = 0; j < compiler.function_args[i].size(); ++j) { - - Compiler::entry e = compiler.function_args[i][j]; - - unsigned idx = e.second; - - switch (e.first) { - case Compiler::function: idx += compiler.variables.size(); - case Compiler::variable: idx += compiler.constants.size(); - case Compiler::constant: {} - } - - args[which_arg + j] = data.begin() + idx; - //cout << ' ' << idx << "(" << e.second << ")"; - } - - //cout << endl; - - f.args = args.begin() + which_arg; - which_arg += compiler.function_args[i].size(); - funcs[i] = f; - } - - // output indices - output_idx.resize(compiler.outputs.size()); - for (unsigned i = 0; i < output_idx.size(); ++i) { - output_idx[i] = compiler.outputs[i].second; - switch(compiler.outputs[i].first) { - case Compiler::function: output_idx[i] += compiler.variables.size(); - case Compiler::variable: output_idx[i] += compiler.constants.size(); - case Compiler::constant: {} - } - //cout << "out " << output_idx[i] << endl; - } - } - -}; - - - -MultiFunction::MultiFunction(const std::vector& pop) : pimpl(new MultiFunctionImpl) { - pimpl->setup(pop); -} - -MultiFunction::~MultiFunction() { delete pimpl; } - -void MultiFunction::operator()(const std::vector& x, std::vector& y) { - pimpl->eval(x,y); -} - -void MultiFunction::operator()(const double* x, double* y) { - pimpl->eval(x,y); -} diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFunction.h b/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFunction.h deleted file mode 100644 index bc333915b..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/MultiFunction.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef MULTIFUNCTION_H_ -#define MULTIFUNCTION_H_ - -#include - -class Sym; -class MultiFunctionImpl; - -class MultiFunction { - MultiFunction& operator=(const MultiFunction&); - MultiFunction(const MultiFunction&); - - MultiFunctionImpl* pimpl; - - public: - - MultiFunction(const std::vector& pop); - ~MultiFunction(); - - void operator()(const std::vector& x, std::vector& y); - void operator()(const double* x, double* y); - -}; - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/c_compile.c b/trunk/paradiseo-eo/contrib/mathsym/eval/c_compile.c deleted file mode 100644 index 36ad392a9..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/c_compile.c +++ /dev/null @@ -1,57 +0,0 @@ -#include -#include -#include - -static TCCState* s = 0; - -extern void symc_init() { - if (s != 0) { - tcc_delete(s); - } - s = tcc_new(); - if (s == 0) { - fprintf(stderr, "Tiny cc doesn't function properly"); - exit(1); - } - - tcc_set_output_type(s, TCC_OUTPUT_MEMORY); -} - -extern int symc_compile(const char* func_str) { - //printf("Compiling %s\n", func_str); - int err = tcc_compile_string(s, func_str); - - if (err) { - fprintf(stderr,"Compile failed"); - } - return err; -} - -extern int symc_link() { - int err = tcc_relocate(s); - if (err) { - fprintf(stderr,"Compile failed"); - exit(1); - } - return err; -} - -extern void* symc_get_fun(const char* func_name) { - unsigned long val; - tcc_get_symbol(s, &val, func_name); - - if (val == 0) { - fprintf(stderr,"getfun failed"); - exit(1); - } - - return (void*) val; -} - -extern void* symc_make(const char* func_str, const char* func_name) { - symc_init(); - symc_compile(func_str); - symc_link(); - return symc_get_fun(func_name); -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/sym_compile.cpp b/trunk/paradiseo-eo/contrib/mathsym/eval/sym_compile.cpp deleted file mode 100644 index f75bbd5ce..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/sym_compile.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include "Sym.h" -#include "FunDef.h" -#include "sym_compile.h" - -#include - -using namespace std; - -extern "C" { - void symc_init(); - int symc_compile(const char* func_str); - int symc_link(); - void* symc_get_fun(const char* func_name); - void* symc_make(const char* func_str, const char* func_name); -} - -string make_prototypes() { - string prot = get_prototypes(); - prot += "double sqr(double x) { return x*x; }"; - return prot; -} - -// contains variable names, like 'a0', 'a1', etc. or regular code - -#if USE_TR1 -typedef std::tr1::unordered_map HashMap; -#else -typedef hash_map HashMap; -#endif - -// prints 'num' in reverse notation. Does not matter as it's a unique id -string make_var(unsigned num) { - string str = "a"; - do { - str += char('0' + (num % 10)); - num /= 10; - } while (num); - return str; -} - -template -string to_string(T t) { - ostringstream os; - os << t; - return os.str(); -} - - -HashMap::iterator find_entry(const Sym& sym, string& str, HashMap& map) { - HashMap::iterator result = map.find(sym); - - if (result == map.end()) { // new entry - const SymVec& args = sym.args(); - - vector argstr(args.size()); - for (unsigned i = 0; i < args.size(); ++i) { - argstr[i] = find_entry(args[i], str, map)->second; - } - - string var = make_var(map.size()); // map.size(): unique id - string code; - // write out the code - const FunDef& fun = get_element(sym.token()); - code = fun.c_print(argstr, vector() ); - - str += "double " + var + "=" + code + ";\n"; - result = map.insert( make_pair(sym, var ) ).first; // only want iterator - } - - return result; -} - -void write_entry(const Sym& sym, string& str, HashMap& map, unsigned out) { - HashMap::iterator it = find_entry(sym, str, map); - - str += "y[" + to_string(out) + "]=" + it->second + ";\n"; - //cout << "wrote " << out << '\n'; -} - -#include -multi_function compile(const std::vector& syms) { - - //cout << "Multifunction " << syms.size() << endl; - // static stream to avoid fragmentation of these LARGE strings - static string str; - str.clear(); - str += make_prototypes(); - - str += "extern double func(const double* x, double* y) { \n "; - - multi_function result; - HashMap map(Sym::get_dag().size()); - - for (unsigned i = 0; i < syms.size(); ++i) { - write_entry(syms[i], str, map, i); - } - - str += ";}"; - - - /*static int counter = 0; - ostringstream nm; - nm << "cmp/compiled" << (counter++) << ".c"; - cout << "Saving as " << nm.str() << endl; - ofstream cmp(nm.str().c_str()); - cmp << str; - cmp.close(); - - //cout << "Multifunction " << syms.size() << endl; - cout << "Size of map " << map.size() << endl; -*/ - - result = (multi_function) symc_make(str.c_str(), "func"); - - if (result==0) { // error - cout << "Error in compile " << endl; - } - - return result; -} - -single_function compile(Sym sym) { - - ostringstream os; - - os << make_prototypes(); - os << "double func(const double* x) { return "; - - string code = c_print(sym); - os << code; - os << ";}"; - string func_str = os.str(); - - //cout << "compiling " << func_str << endl; - - return (single_function) symc_make(func_str.c_str(), "func"); -} - -/* finds and inserts the full code in a hashmap */ -HashMap::iterator find_code(Sym sym, HashMap& map) { - HashMap::iterator result = map.find(sym); - - if (result == map.end()) { // new entry - const SymVec& args = sym.args(); - vector argstr(args.size()); - for (unsigned i = 0; i < args.size(); ++i) { - argstr[i] = find_code(args[i], map)->second; - } - - // write out the code - const FunDef& fun = get_element(sym.token()); - string code = fun.c_print(argstr, vector()); - result = map.insert( make_pair(sym, code) ).first; // only want iterator - } - - return result; -} - -string print_code(Sym sym, HashMap& map) { - HashMap::iterator it = find_code(sym, map); - return it->second; -} - -void compile(const std::vector& syms, std::vector& functions) { - symc_init(); - - static ostringstream os; - os.str(""); - - os << make_prototypes(); - HashMap map(Sym::get_dag().size()); - for (unsigned i = 0; i < syms.size(); ++i) { - - os << "double func" << i << "(const double* x) { return "; - os << print_code(syms[i], map); //c_print(syms[i]); - os << ";}\n"; - - //symc_compile(os.str().c_str()); - //cout << "compiling " << os.str() << endl; - } - - os << ends; -#ifdef INTERVAL_DEBUG - //cout << "Compiling " << os.str() << endl; -#endif - - symc_compile(os.str().c_str()); - symc_link(); - - functions.resize(syms.size()); - for (unsigned i = 0; i < syms.size(); ++i) { - ostringstream os2; - os2 << "func" << i; - - functions[i] = (single_function) symc_get_fun(os2.str().c_str()); - } - -} - - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/eval/sym_compile.h b/trunk/paradiseo-eo/contrib/mathsym/eval/sym_compile.h deleted file mode 100644 index a0980d8e8..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/eval/sym_compile.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef SYMCOMPILE_H_ -#define SYMCOMPILE_H_ - -#include - - -typedef double (*single_function)(const double []); -typedef double (*multi_function)(const double[], double[]); - -/* - * Important, after every call of the functions below, the function pointers of the previous - * call are invalidated. Sorry, but that's the way the cookie crumbles (in tcc) - * */ - -single_function compile(Sym sym); -multi_function compile(const std::vector& sym); -void compile(const std::vector& sym, std::vector& functions); - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Entries b/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Entries deleted file mode 100644 index f7db61316..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/FunDef.cpp/1.8/Thu Nov 24 09:35:34 2005// -/FunDef.h/1.7/Thu Nov 24 09:35:34 2005// -/SymOps.cpp/1.1/Thu Oct 6 12:13:52 2005// -/SymOps.h/1.1/Thu Oct 6 12:13:52 2005// -/sym_operations.cpp/1.3/Thu Nov 24 09:35:34 2005// -/util.cpp/1.1/Thu Oct 6 12:13:52 2005// -D diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Repository b/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Repository deleted file mode 100644 index c0a1981e5..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/mathsym/fun diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Root b/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/FunDef.cpp b/trunk/paradiseo-eo/contrib/mathsym/fun/FunDef.cpp deleted file mode 100644 index 9a25afdff..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/FunDef.cpp +++ /dev/null @@ -1,893 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include -#include "Sym.h" -#include "FunDef.h" -#include - -using namespace std; -using namespace boost::numeric; - -vector language; - -token_t add_function(FunDef* function) { - language.push_back(function); - return token_t(language.size()-1); -} - -const FunDef& get_element(token_t token) { return *language[token]; } - -/* Printing */ - -string c_print(const Sym& sym) { - return c_print(sym, vector()); -} - -string c_print(const Sym& sym, const vector& vars) { - const SymVec& args = sym.args(); - vector names(args.size()); - for (unsigned i = 0; i < args.size(); ++i) { - names[i] = c_print(args[i], vars); - } - return language[sym.token()]->c_print(names, vars); -} - -/* Evaluation */ - - -double eval(const Sym& sym, const std::vector& inputs) { - return language[sym.token()]->eval(sym.args(), inputs); -} - - -/* Interval Logic */ -Interval eval(const Sym& sym, const vector& inputs) { - const SymVec& args = sym.args(); - vector interv(args.size()); - for (unsigned i = 0; i < args.size(); ++i) { - interv[i] = eval(args[i], inputs); - - if (!valid(interv[i])) throw interval_error(); - } - return language[sym.token()]->eval(interv, inputs); -} - -/* */ -void add_function_to_table(LanguageTable& table, token_t token) { - const FunDef& fundef = *language[token]; - - if (fundef.has_varargs() == false) { - table.add_function(token, fundef.min_arity()); - } else { // sum or prod (or min or max) - table.add_function(token, 2); - } -} - - -// by default it is eager -double FunDef::eval(const SymVec& args, const vector& inputs) const { - vector values(args.size()); - for (unsigned i = 0; i < args.size(); ++i) { - values[i] = ::eval(args[i], inputs); - } - - return eval(values, inputs); -} - -/* Variable Handling */ -FunDef* make_var(int idx); // defined in FunDefs.h -static vector var_token; - -Sym SymVar(unsigned idx) { - if (var_token.size() <= idx) { - // it is new - var_token.resize(idx+1, token_t(-1)); - var_token[idx] = add_function( make_var(idx) ); - } else if (var_token[idx] == token_t(-1)) { - var_token[idx] = add_function( make_var(idx) ); - } - return Sym(var_token[idx]); -} - - -/* Constant Handling */ - -struct HashDouble{ - size_t operator()(double val) const { - unsigned long h = 0; - char* s = (char*)&val; - for (unsigned i=0 ; i DoubleSet; -typedef std::tr1::unordered_map LambdaSet; -#else -typedef hash_map DoubleSet; -typedef hash_map LambdaSet; -#endif - -static DoubleSet doubleSet; // for quick checking if a constant already exists -static vector token_value; - -static LambdaSet lambdaSet; -static vector token_lambda; - -static std::vector free_list; - -void delete_val(token_t token) { // clean up the information about this value - - if (is_constant(token)) { - //cout << "Deleting constant token " << token << endl; - double value = token_value[token]; - doubleSet.erase(value); - - delete language[token]; - language[token] = 0; - free_list.push_back(token); - } - else if (is_lambda(token)) { - //cout << "Deleting lambda token " << token << endl; - - Sym expression = token_lambda[token]; - lambdaSet.erase(expression); - - delete language[token]; - language[token] = 0; - free_list.push_back(token); - } -} - - -FunDef* make_const(double value); - -void extend_free_list(); - -Sym SymConst(double value) { - - DoubleSet::iterator it = doubleSet.find(value); - - if (it != doubleSet.end()) { - return Sym(it->second); // already exists - } - - - if (free_list.empty()) { // make space for tokens; - extend_free_list(); - } - - token_t token = free_list.back(); - free_list.pop_back(); - //cout << "Creating constant with token " << token << endl; - assert(language[token] == 0); - - language[token] = make_const(value); - - doubleSet[value] = token; - if (token_value.size() < token) token_value.resize(token+1); - token_value[token] = value; - - return Sym(token); -} - -/* LanguageTable depends on this one, XXX move somewhere safe.*/ -#include -extern Sym default_const() { return SymConst(rng.normal()); } - -/* The functions */ -namespace { - -class Var : public FunDef { - public : - unsigned idx; - string default_str; - - Var(unsigned _idx) : idx(_idx) { - ostringstream os; - os << "x[" << idx << ']'; // CompiledCode expects this form - default_str = os.str(); - } - - double eval(const vector& _, const vector& inputs) const { return inputs[idx]; } - double eval(const SymVec& _, const vector& inputs) const { return inputs[idx]; } - string c_print(const vector& _, const vector& names) const { - if (names.empty()) { - return default_str; - } - return names[idx]; - } - - Interval eval(const vector& _, const vector& inputs) const { - return inputs[idx]; - } - - unsigned min_arity() const { return 0; } - - string name() const { return "var"; } - -}; - -class Const : public FunDef { - public: - double value; - string value_str; - - Const(double _value) : value(_value) { - ostringstream os; - os.precision(17); - os.setf(ios::showpoint); - os << '(' << value << ')'; - value_str = os.str(); - } - - - double eval(const vector& _, const vector& inputs) const { return value; } - double eval(const SymVec& _, const vector& inputs) const { return value; } - string c_print(const vector& _, const vector& names) const { - return value_str; - } - - Interval eval(const vector& _, const vector& inputs) const { - // Profil/Bias seems to have a problem with 0 * inf when the Interval is exact zero (fpe) - //if (value == 0.0) return Interval(-BiasEpsilon,BiasEpsilon); - return Interval(value); - } - - unsigned min_arity() const { return 0; } - - string name() const { return "parameter"; } -}; - -} // namespace - -void get_constants(Sym sym, vector& ret) { - token_t token = sym.token(); - if (is_constant(token)) { - double val = static_cast(language[token])->value; - ret.push_back(val); - } - - const SymVec& args = sym.args(); - for (unsigned i = 0; i < args.size(); ++i) { - get_constants(args[i], ret); - } - -} - -double get_constant_value(token_t token) { - return static_cast(language[token])->value; -} - -/** Get out the values for all constants in the expression */ -vector get_constants(Sym sym) { - vector retval; - get_constants(sym, retval); - return retval; -} - -/** Set the values for all constants in the expression. Vector needs to be the same size as the one get_constants returns - * The argument isn't touched, it will return a new sym with the constants set. */ -Sym set_constants(Sym sym, vector::const_iterator& it) { - - token_t token = sym.token(); - if (is_constant(token)) { - return SymConst(*it++); - } - - SymVec args = sym.args(); - for (unsigned i = 0; i < args.size(); ++i) { - args[i] = set_constants(args[i], it); - } - - return Sym(token, args); -} - -Sym set_constants(Sym sym, const vector& constants) { - vector::const_iterator it = constants.begin(); - return set_constants(sym, it); -} - -// Get functions out, excluding Const and Var -vector get_defined_functions() { - vector res; - for (unsigned i = 0; i < language.size(); ++i) { - res.push_back(language[i]); - - if (is_constant(i) || is_variable(i)) { - res.back() = 0; // erase - } - } - - return res; -} - -FunDef* make_var(int idx) { return new Var(idx); } -FunDef* make_const(double value) { return new Const(value); } - -bool is_constant(token_t token) { - const Const* cnst = dynamic_cast( language[token] ); - return cnst != 0; -} - -bool is_variable(token_t token) { - const Var* var = dynamic_cast( language[token] ); - return var != 0; -} - -unsigned get_variable_index(token_t token) { - const Var* var = static_cast( language[token] ); - return var->idx; -} - -namespace { -class Lambda : public FunDef { - public: - Sym expression; - int arity; - - Lambda(Sym expr, int arity_) : expression(expr), arity(arity_) {} - - double eval(const vector& vals, const vector& _) const { - return ::eval(expression, vals); - } - - string c_print(const vector& args, const vector& _) const { - return string("/*f*/") + ::c_print(expression, args) + string("/*eof*/"); - } - - Interval eval(const vector& args, const vector& _) const { - return ::eval(expression, args); - } - - unsigned min_arity() const { return arity; } - string name() const { return "F"; } - -}; - Sym normalize(Sym sym, SymVec& args) { - // check if it's a variable - token_t token = sym.token(); - const Var* var = dynamic_cast< const Var*>(language[token]); - - if (var != 0) { - for (unsigned i = 0; i < args.size(); ++i) { - if (sym == args[i]) { - return SymVar(i); // replace with reference to arg - } - } - - // not replaced, add it - args.push_back(sym); - return SymVar(args.size()-1); - - } - - SymVec a = sym.args(); - for (unsigned i = 0; i < a.size(); ++i) { - a[i] = normalize(a[i], args); - } - - return Sym(token, a); - } -} - -bool is_lambda(token_t token) { - const Lambda* lambda = dynamic_cast( language[token]); - return lambda != 0; -} - -std::ostream& print_list(Sym sym, ostream& os) { - os << sym.token() << ' '; - - const SymVec& args = sym.args(); - for (unsigned i = 0; i < args.size(); ++i) { - print_list(args[i], os); - } - return os; -} - -token_t new_lambda(Sym sym, int arity) { - // check if already present - - LambdaSet::iterator it = lambdaSet.find(sym); - if (it != lambdaSet.end()) { - return it->second; - } - - - // new, insert - Lambda* lambda = new Lambda(sym, arity); - - if (free_list.empty()) { - extend_free_list(); - } - - token_t token = free_list.back(); - free_list.pop_back(); - language[token] = lambda; - - lambdaSet[sym] = token; - if (token_lambda.size() <= token) token_lambda.resize(token+1); - token_lambda[token] = sym; - - return token; -} - -/* Compression */ -typedef hash_map OccMap; - -void count_occurances(Sym sym, OccMap& occ) { - occ[sym]++; - const SymVec& args = sym.args(); - for (unsigned i = 0; i < args.size(); ++i) { - count_occurances(args[i], occ); - } -} - -Sym create_lambda(Sym sym, OccMap& occ, unsigned nvars, vector& args) { - unsigned o = occ[sym]; - unsigned sz = sym.size(); - - if (o * sz > o + sz + nvars || is_variable(sym.token()) ) { - // check if it's already present - for (unsigned i = 0; i < args.size(); ++i) { - if (args[i] == sym) { - return SymVar(i); - } - } - // push_back - args.push_back(sym); - return SymVar(args.size()-1); - } - - SymVec sym_args = sym.args(); - for (unsigned i = 0; i < sym_args.size(); ++i) { - sym_args[i] = create_lambda(sym_args[i], occ, nvars, args); - } - - return Sym(sym.token(), sym_args); - -} - -Sym compress(Sym sym) { - OccMap occ(sym.size()); - count_occurances(sym, occ); - - unsigned nvars = 0; - for (OccMap::iterator it = occ.begin(); it != occ.end(); ++it) { - if (is_variable(it->first.token())) nvars++; - } - - SymVec args; - Sym body = create_lambda(sym, occ, nvars, args); - - - if (body.size() < sym.size()) { - // see if the body can be compressed some more - body = compress(body); - - token_t token = new_lambda(body, args.size()); - - for (unsigned i = 0; i < args.size(); ++i) { - args[i] = compress(args[i]); - } - - Sym result = Sym(token, args); - return compress(result); // see if it can be compressed some more - } - - return sym; -} - -Sym SymLambda(Sym expr) { return compress(expr); } - -Sym expand(Sym expr, const SymVec& args) { - - const Var* var = dynamic_cast( language[expr.token()] ); - if (var != 0) { - return args[var->idx]; - } - - SymVec expr_args = expr.args(); - for (unsigned i = 0; i < expr_args.size(); ++i) { - expr_args[i] = expand(expr_args[i], args); - } - - return Sym(expr.token(), expr_args); -} - -Sym SymUnlambda(Sym sym) { - Sym retval = sym; - const Lambda* lambda = dynamic_cast( language[sym.token()] ); - if (lambda != 0) { - retval = expand(lambda->expression, sym.args()); - } - - return retval; -} - -Sym expand_all(Sym sym) { - SymVec args = sym.args(); - for (unsigned i = 0; i < args.size(); ++i) { - args[i] = expand_all(args[i]); - } - - Sym nw = SymUnlambda( Sym(sym.token(), args) ); - - if (nw != sym) { - nw = expand_all(nw); - } - - return nw; -} - -namespace { - -class Sum : public FunDef { - - public : - - double eval(const vector& vals, const vector& _) const { - double res = 0; - for (unsigned i = 0; i < vals.size(); ++i) res += vals[i]; - return res; - } - - string c_print(const vector& args, const vector& _) const { - if (args.empty()) { return "0.0"; } - - ostringstream os; - os << "(" << args[0]; - for (unsigned i = 1; i < args.size(); ++i) { - os << "+" << args[i]; - } - os << ")"; - return os.str(); - } - - Interval eval(const vector& args, const vector& inputs) const { - Interval interv(0.0); - for (unsigned i = 0; i < args.size(); ++i) { - interv += args[i]; - } - return interv; - } - - unsigned min_arity() const { return 0; } - bool has_varargs() const { return true; } - - string name() const { return "sum"; } -}; - - -class Prod : public FunDef { - - public : - - double eval(const vector& vals, const vector& _) const { - double res = 1; - for (unsigned i = 0; i < vals.size(); ++i) res *= vals[i]; - return res; - } - - string c_print(const vector& args, const vector& _) const { - if (args.empty()) { return "1.0"; } - - ostringstream os; - os << "(" << args[0]; - for (unsigned i = 1; i < args.size(); ++i) { - os << "*" << args[i]; - } - os << ")"; - - return os.str(); - } - - Interval eval(const vector& args, const vector& inputs) const { - Interval interv(1.0); - for (unsigned i = 0; i < args.size(); ++i) { - interv *= args[i]; - } - return interv; - } - - unsigned min_arity() const { return 0; } - bool has_varargs() const { return true; } - - string name() const { return "prod"; } -}; - - -class Power : public FunDef { - public : - double eval(const vector& vals, const vector& _) const { - return pow(vals[0], vals[1]); - } - - string c_print(const vector& args, const vector& _) const { - return "pow(" + args[0] + ',' + args[1] + ')'; - } - - Interval eval(const vector& args, const vector& _) const { - Interval first = args[0]; - Interval second = args[1]; - Interval lg = log(first); - if (!valid(lg)) throw interval_error(); - return exp(second * lg); - } - - unsigned min_arity() const { return 2; } - - string name() const { return "pow"; } -}; - -class IsNeg : public FunDef { - - public: - double eval(const vector& vals, const vector& _) const { - if (vals[0] < 0.0) return vals[1]; - return vals[2]; - } - - double eval(const Sym& sym, const vector& inputs) const { - const SymVec& args = sym.args(); - double arg0 = ::eval(args[0], inputs); - if (arg0 < 0.0) { - return ::eval(args[1], inputs); - } - return ::eval(args[2], inputs); - } - - string c_print(const vector& args, const vector& _) const { - return "((" + args[0] + "<0.0)?" + args[1] + ":" + args[2]+")"; - } - - Interval eval(const vector& args, const vector& _) const { - Interval a0 = args[0]; - if (a0.upper() < 0.0) return args[1]; - if (a0.lower() >= 0.0) return args[2]; - - return Interval( std::min(args[1].lower(), args[2].lower()), std::max(args[1].upper(), args[2].upper())); - } - - unsigned min_arity() const { return 3; } - - string name() const { return "ifltz"; } -}; - -template -class Unary : public FunDef { - - Func un; - - double eval(const vector& vals, const vector& _) const { - return un(vals[0]); - } - - string c_print(const vector& args, const vector& _) const { - return un(args[0]); - } - - Interval eval(const vector& args, const vector& _) const { - return un(args[0]); - } - - unsigned min_arity() const { return 1; } - - string name() const { return un.name(); } - -}; - -struct Inv { - double operator()(double val) const { return 1.0 / val; } - string operator()(string v) const { return "(1./" + v + ")"; } - Interval operator()(Interval v) const { return 1.0 / v; } - - string name() const { return "inv"; } -}; - -struct Min { - double operator()(double val) const { return -val; } - string operator()(string v) const { return "(-" + v + ")"; } - Interval operator()(Interval v) const { return -v; } - - string name() const { return "min"; } -}; - -} // namespace - -string prototypes = "double pow(double, double);"; -string get_prototypes() { return prototypes; } -unsigned add_prototype(string str) { prototypes += string("double ") + str + "(double);"; return prototypes.size(); } - -token_t add_function(FunDef* function, token_t where) { - if (language.size() <= where) language.resize(where+1); - language[where] = function; - return 0; -} - -namespace { - -#define FUNCDEF(funcname) struct funcname##_struct { \ - double operator()(double val) const { return funcname(val); }\ - string operator()(string val) const { return string(#funcname) + '(' + val + ')'; }\ - Interval operator()(Interval val) const { return funcname(val); }\ - string name() const { return string(#funcname); }\ -};\ -static const token_t funcname##_token_static = add_function( new Unary, funcname##_token);\ -unsigned funcname##_size = add_prototype(#funcname); - -static token_t ssum_token = add_function( new Sum , sum_token); -static token_t sprod_token = add_function( new Prod, prod_token); -static token_t sinv_token = add_function( new Unary, inv_token); -static token_t smin_token = add_function( new Unary, min_token); -static token_t spow_token = add_function( new Power, pow_token); -static token_t sifltz_token = add_function( new IsNeg, ifltz_token); - -FUNCDEF(sin); -FUNCDEF(cos); -FUNCDEF(tan); -FUNCDEF(asin); -FUNCDEF(acos); -FUNCDEF(atan); - -FUNCDEF(sinh); -FUNCDEF(cosh); -FUNCDEF(tanh); -FUNCDEF(asinh); -FUNCDEF(acosh); -FUNCDEF(atanh); - -FUNCDEF(exp); -FUNCDEF(log); -} // namespace - -double sqr(double x) { return x*x; } - -namespace { -FUNCDEF(sqr); -FUNCDEF(sqrt); - -const int buildInFunctionOffset = language.size(); -} // namespace - -void add_tokens() { - unsigned sz = language.size(); - language.resize(sz + sz+1); // double - - for (unsigned i = sz; i < language.size(); ++i) { - free_list.push_back(i); - } -} - -void extend_free_list() { - // first check if we can clean up unused tokens; - const vector& refcount = Sym::token_refcount(); - for (unsigned i = buildInFunctionOffset; i < refcount.size(); ++i) { - if (language[i] == 0) continue; - - bool c = is_constant(i); - bool l = is_lambda(i); - - if (refcount[i] == 0 && (c || l)) { - - if (c) { - doubleSet.erase(token_value[i]); - } - - if (l) { - lambdaSet.erase(token_lambda[i]); - } - - delete language[i]; - language[i] = 0; - free_list.push_back(i); - } - } - - // if still empty, add new tokens - if (free_list.empty()) { - add_tokens(); - } -} - - -/* Serialization */ -void write_raw(ostream& os, const Sym& sym) { - token_t token = sym.token(); - const SymVec& args = sym.args(); - - if (is_constant(token)) { - os << "c" << language[token]->c_print(vector(), vector()); - } else { - - const Var* var = dynamic_cast( language[token] ); - - if (var != 0) { - os << "v" << var->idx; - } else { - os << "f" << token << ' ' << args.size(); - } - } - - for (unsigned i = 0; i < args.size(); ++i) { - write_raw(os, args[i]); - } -} - -string write_raw(const Sym& sym) { - - ostringstream os; - write_raw(os, sym); - - return os.str(); -} - -Sym read_raw(istream& is) { - char id = is.get(); - - switch (id) { - case 'c' : - { - double val; - is.get(); // skip '(' - is >> val; - is.get(); // skip ')' - return SymConst(val); - } - case 'v' : - { - unsigned idx; - is >> idx; - return SymVar(idx); - } - case 'f' : - { - token_t token; - unsigned arity; - is >> token; - is >> arity; - SymVec args(arity); - for (unsigned i = 0; i < arity; ++i) { - args[i] = read_raw(is); - } - - return Sym(token, args); - } - default : { - cerr << "Character = " << id << " Could not read formula from stream" << endl; - exit(1); - } - - } - - return Sym(); -} - -Sym read_raw(string str) { - istringstream is(str); - return read_raw(is); -} - -void read_raw(istream& is, Sym& sym) { - sym = read_raw(is); -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/FunDef.h b/trunk/paradiseo-eo/contrib/mathsym/fun/FunDef.h deleted file mode 100644 index 2c88af05c..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/FunDef.h +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef FUNCTION_DEF_H_ -#define FUNCTION_DEF_H_ - -#include -#include -#include -#include - -#include "Sym.h" -#include "Interval.h" - -class FunDef { - public: - - virtual ~FunDef() {} - - // (possibly) lazy evaluation function, default implementation calls 'eager' eval - virtual double eval(const SymVec& args, const std::vector& inputs) const; - - // eager evaluation function - virtual double eval(const std::vector& args, const std::vector& inputs) const = 0; - - // interval evaluation - virtual Interval eval(const std::vector& args, const std::vector& inputs) const = 0; - - // prints 'c' like code - virtual std::string c_print(const std::vector& names, const std::vector& names) const = 0; - - virtual unsigned min_arity() const = 0; - virtual bool has_varargs() const { return false; } // sum, prod, min, max are variable arity - - virtual std::string name() const = 0; - - protected: - -}; - -/** Gets out all function that are defined (excluding constants and variables) */ -extern std::vector get_defined_functions(); - -/** Gets a specific function (including vars and constants) out */ -extern const FunDef& get_element(token_t token); - -/** Single case evaluation */ -extern double eval(const Sym& sym, const std::vector& inputs); - -/** Static analysis through interval arithmetic */ -extern Interval eval(const Sym& sym, const std::vector& inputs); - -/** Pretty printers, second version allows setting of variable names */ -extern std::string c_print(const Sym& sym); - -/** Pretty printers, allows setting of variable names */ -extern std::string c_print(const Sym& sym, const std::vector& var_names); - -/** Pretty printer streamer */ -inline std::ostream& operator<<(std::ostream& os, const Sym& sym) { return os << c_print(sym); } - -/* Support for Ephemeral Random Constants (ERC) */ - -/** Create constant with this value, memory is managed. If reference count drops to zero value is deleted. */ -extern Sym SymConst(double value); -/** Create variable */ -extern Sym SymVar(unsigned idx); - -/** Create 'lambda expression; - * This is a neutral operation. It will replace - * all variables in the expression by arguments, - * wrap the expression in a Lambda function - * and returns a tree applying the lambda function - * to the original variable. - * - * A call like SymLambda( SymVar(1) + SymVar(1) * 3.1) will result in - * a Lambda function (a0 + a0 * 3.1) with one argument: SymVar(1)*/ - -extern Sym SymLambda(Sym expression); - -extern Sym SymUnlambda(Sym sym); - -/** Expands all lambda expressions inline */ -extern Sym expand_all(Sym sym); -extern Sym compress(Sym sym); - -/** Get out the values for all constants in the expression */ -std::vector get_constants(Sym sym); - -/** Set the values for all constants in the expression. Vector needs to be the same size as the one get_constants returns - * The argument isn't touched, it will return a new sym with the constants set. */ -Sym set_constants(Sym sym, const std::vector& constants); - -/** check if a token is a constant */ -extern bool is_constant(token_t token); -extern double get_constant_value(token_t token); -/** check if a token is a variable */ -extern bool is_variable(token_t token); -extern unsigned get_variable_index(token_t token); - -/** check if a token is a user/automatically defined function */ -extern bool is_lambda(token_t token); - - -/** simplifies a sym (sym_operations.cpp) Currently only simplifies constants */ -extern Sym simplify(Sym sym); - -/** differentiates a sym to a token (sym_operations.cpp) - * The token can be a variable or a constant -*/ -extern Sym differentiate(Sym sym, token_t dx); -struct differentiation_error{}; // thrown in case of ifltz - -/* Add function to the language table (and take a guess at the arity) */ -class LanguageTable; -extern void add_function_to_table(LanguageTable& table, token_t token); - -enum { - sum_token, - prod_token, - inv_token, - min_token, - pow_token, - ifltz_token, - sin_token, cos_token, tan_token, - asin_token, acos_token, atan_token, - sinh_token, cosh_token, tanh_token, - acosh_token, asinh_token, atanh_token, - exp_token, log_token, - sqr_token, sqrt_token -}; - -/* Defition of function overloads: for example, this define the function 'Sym sin(Sym)' */ - -#define HEADERFUNC(name) inline Sym name(Sym arg) { return Sym(name##_token, arg); } - -/* This defines the tokens: sin_token, cos_token, etc. */ -HEADERFUNC(inv); -HEADERFUNC(sin); -HEADERFUNC(cos); -HEADERFUNC(tan); -HEADERFUNC(asin); -HEADERFUNC(acos); -HEADERFUNC(atan); - -HEADERFUNC(sinh); -HEADERFUNC(cosh); -HEADERFUNC(tanh); -HEADERFUNC(asinh); -HEADERFUNC(acosh); -HEADERFUNC(atanh); - -HEADERFUNC(exp); -HEADERFUNC(log); - -HEADERFUNC(sqr); -HEADERFUNC(sqrt); - -/* Get the prototype functions out, this is needed for compilation */ -extern std::string get_prototypes(); - -// reading and writing in internal format, no parser for symbolic functions implemented yet -extern std::string write_raw(const Sym& sym); -extern void write_raw(std::ostream& os, const Sym& sym); -extern Sym read_raw(std::string str); -extern Sym read_raw(std::istream& is); -extern void read_raw(std::istream& is, Sym& sym); - -#include "SymOps.h" - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/SymOps.cpp b/trunk/paradiseo-eo/contrib/mathsym/fun/SymOps.cpp deleted file mode 100644 index 2d66b0d05..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/SymOps.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "FunDef.h" -#include "SymOps.h" -#include "Sym.h" - -using namespace std; - -void collect(token_t t, Sym a, SymVec& args) { - - if (a.token() == t) { - const SymVec& a_args = a.args(); - for (unsigned i = 0; i < a_args.size(); ++i) { - collect(t, a_args[i], args); - } - return; - } - - args.push_back(a); -} - -Sym operator+(Sym a, Sym b) { - - SymVec args; - - collect(sum_token, a, args); - collect(sum_token, b, args); - - return Sym(sum_token, args); -} - -Sym operator*(Sym a, Sym b) { - - SymVec args; - - collect(prod_token, a, args); - collect(prod_token, b, args); - - return Sym(prod_token, args); -} - -Sym operator/(Sym a, Sym b) { - - SymVec args; - - collect(prod_token, a, args); - - SymVec args2; - collect(prod_token, b, args2); - - SymVec inv; - inv.push_back(Sym(prod_token, args2)); - - args.push_back( Sym(inv_token, inv) ); - - return Sym(prod_token, args); -} - -Sym operator-(Sym a, Sym b) { - - SymVec args; - - collect(sum_token, a, args); - - SymVec args2; - collect(sum_token, b, args2); - - SymVec min; - min.push_back(Sym(sum_token, args2)); - - args.push_back( Sym(min_token, min) ); - - return Sym(sum_token, args); -} - -Sym operator-(Sym a) { - return Sym(min_token, a); -} - -Sym pow(Sym a, Sym b) { - SymVec args; - args.push_back(a); - args.push_back(b); - return Sym(pow_token, args); -} - -Sym ifltz(Sym a, Sym b, Sym c) { - SymVec args; - args.push_back(a); - args.push_back(b); - args.push_back(c); - return Sym(ifltz_token, args); -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/SymOps.h b/trunk/paradiseo-eo/contrib/mathsym/fun/SymOps.h deleted file mode 100644 index 16eb35fe3..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/SymOps.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef SYMOPS_H -#define SYMOPS_H - -#include "Sym.h" - -extern Sym operator+(Sym a, Sym b); -extern Sym operator*(Sym a, Sym b); -extern Sym operator/(Sym a, Sym b); -extern Sym operator-(Sym a, Sym b); -extern Sym pow(Sym a, Sym b); -extern Sym ifltz(Sym a, Sym b, Sym c); -extern Sym operator-(Sym a); - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/sym_operations.cpp b/trunk/paradiseo-eo/contrib/mathsym/fun/sym_operations.cpp deleted file mode 100644 index 124c657ad..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/sym_operations.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include - -using namespace std; - -Sym simplify_constants(Sym sym) { - - SymVec args = sym.args(); - token_t token = sym.token(); - - bool has_changed = false; - bool all_constants = true; - - for (unsigned i = 0; i < args.size(); ++i) { - - Sym arg = simplify_constants(args[i]); - - if (arg != args[i]) { - has_changed = true; - } - args[i] = arg; - - all_constants &= is_constant(args[i].token()); - } - - if (args.size() == 0) { - - if (sym.token() == sum_token) return SymConst(0.0); - if (sym.token() == prod_token) return SymConst(1.0); - - return sym; // variable or constant - } - - if (all_constants) { - // evaluate - - vector dummy; - - double v = ::eval(sym, dummy); - - Sym result = SymConst(v); - - return result; - } - - if (has_changed) { - return Sym(token, args); - } - - return sym; - -} - -// currently only simplifies constants -Sym simplify(Sym sym) { - - return simplify_constants(sym); - -} - -Sym derivative(token_t token, Sym x) { - Sym one = Sym(prod_token); - - switch (token) { - case inv_token : return Sym(inv_token, sqr(x)); - - case sin_token : return -cos(x); - case cos_token : return sin(x); - case tan_token : return one + sqr(tan(x)); - - case asin_token : return inv( sqrt(one - sqr(x))); - case acos_token: return -inv( sqrt(one - sqr(x))); - case atan_token : return inv( sqrt(one + sqr(x))); - - case cosh_token : return -sinh(x); - case sinh_token : return cosh(x); - case tanh_token : return one - sqr( tanh(x) ); - - case asinh_token : return inv( sqrt( one + sqr(x) )); - case acosh_token : return inv( sqrt(x-one) * sqrt(x + one) ); - case atanh_token : return inv(one - sqr(x)); - - case exp_token : return exp(x); - case log_token : return inv(x); - - case sqr_token : return SymConst(2.0) * x; - case sqrt_token : return SymConst(0.5) * inv( sqrt(x)); - default : - throw differentiation_error(); - } - - return x; -} - -extern Sym differentiate(Sym sym, token_t dx) { - - token_t token = sym.token(); - - Sym zero = Sym(sum_token); - Sym one = Sym(prod_token); - - if (token == dx) { - return one; - } - - SymVec args = sym.args(); - - if (args.size() == 0) { // df/dx with f != x - return zero; - } - - switch (token) { - - case sum_token: - { - for (unsigned i = 0; i < args.size(); ++i) { - args[i] = differentiate(args[i], dx); - } - - if (args.size() == 1) return args[0]; - return Sym(sum_token, args); - } - case min_token : - { - return -differentiate(args[0],dx); - } - case prod_token: - { - if (args.size() == 1) return differentiate(args[0], dx); - - if (args.size() == 2) { - return args[0] * differentiate(args[1], dx) + args[1] * differentiate(args[0], dx); - } - // else - Sym c = args.back(); - args.pop_back(); - Sym f = Sym(prod_token, args); - Sym df = differentiate( f, dx); - - return c * df + f * differentiate(c,dx); - } - case pow_token : - { - return pow(args[0], args[1]) * args[1] * inv(args[0]); - } - case ifltz_token : - { // cannot be differentiated - throw differentiation_error(); // TODO define proper exception - } - - default: // unary function: apply chain rule - { - Sym arg = args[0]; - return derivative(token, arg) * differentiate(arg, dx); - } - } - -} diff --git a/trunk/paradiseo-eo/contrib/mathsym/fun/util.cpp b/trunk/paradiseo-eo/contrib/mathsym/fun/util.cpp deleted file mode 100644 index 83e751dec..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/fun/util.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include - -using namespace std; - -double error(string errstr) { - cerr << "ERROR: " << errstr << endl; - exit(1); -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Entries b/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Entries deleted file mode 100644 index e6fefca34..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/LanguageTable.cpp/1.3/Thu Nov 24 09:35:34 2005// -/LanguageTable.h/1.2/Thu Nov 24 09:35:34 2005// -/NodeSelector.cpp/1.2/Sun Oct 16 15:38:38 2005// -/NodeSelector.h/1.3/Sun Oct 16 15:38:38 2005// -/TreeBuilder.cpp/1.1/Thu Oct 6 12:13:53 2005// -/TreeBuilder.h/1.1/Thu Oct 6 12:13:53 2005// -D diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Repository b/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Repository deleted file mode 100644 index 1dcdfacbb..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/mathsym/gen diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Root b/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/LanguageTable.cpp b/trunk/paradiseo-eo/contrib/mathsym/gen/LanguageTable.cpp deleted file mode 100644 index 293f6569b..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/LanguageTable.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include "LanguageTable.h" -#include "Sym.h" - -#include - -using namespace std; - -extern Sym default_const(); - -class LanguageImpl { - public : - std::vector vars; - LanguageTable::erc_func erc; - - std::vector functions; - std::vector< std::vector > functions_per_arity; - - LanguageImpl() : erc(default_const) {} -}; - -LanguageTable::LanguageTable() { - pimpl = new LanguageImpl; -} - -LanguageTable::~LanguageTable() { - delete pimpl; -} - -LanguageTable::LanguageTable(const LanguageTable& that) { - pimpl = new LanguageImpl(*that.pimpl); -} - -LanguageTable& LanguageTable::operator=(const LanguageTable& that) { - *pimpl = *that.pimpl; - return *this; -} - -void LanguageTable::add_function(token_t token, unsigned arity) { - functor_t f = {token, arity}; - add_function( f ); -} - -void LanguageTable::add_function(functor_t f) { - - if (f.arity > 0) { - pimpl->functions.push_back(f); - - } else { - pimpl->vars.push_back(Sym(f.token)); - } - - if (pimpl->functions_per_arity.size() <= f.arity) pimpl->functions_per_arity.resize(f.arity+1); - pimpl->functions_per_arity[f.arity].push_back(f.token); - -} - -void LanguageTable::set_erc( erc_func func) { pimpl->erc = func; } - -/* Getting info out */ - -extern Sym SymConst(double val); - -Sym LanguageTable::get_random_var() const { return rng.choice(pimpl->vars); } -Sym LanguageTable::get_random_const() const { return pimpl->erc(); } - -functor_t LanguageTable::get_random_function() const -{ - return rng.choice(pimpl->functions); -} - -token_t LanguageTable::get_random_function(token_t token, unsigned arity) const -{ - if (pimpl->functions_per_arity.size() <= arity || pimpl->functions_per_arity[arity].empty()) { - return token; // return original token if no functions of this arity are found - } - return rng.choice(pimpl->functions_per_arity[arity]); -} - - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/LanguageTable.h b/trunk/paradiseo-eo/contrib/mathsym/gen/LanguageTable.h deleted file mode 100644 index dcbb0292f..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/LanguageTable.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef LANGUAGE_TABLE_H -#define LANGUAGE_TABLE_H - -#include "token.h" - -class LanguageImpl; -class Sym; - -class LanguageTable { - - LanguageImpl* pimpl; - - public: - - LanguageTable(); - ~LanguageTable(); - - LanguageTable(const LanguageTable& org); - - LanguageTable& operator=(const LanguageTable& org); - - /* setting it up */ - typedef Sym (*erc_func)(); - - void add_function(token_t token, unsigned arity); - void add_function(functor_t functor); - void set_erc(erc_func func); - - /* Getting info out */ - - Sym get_random_var() const; - Sym get_random_const() const; - - functor_t get_random_function() const; - token_t get_random_function(token_t org, unsigned arity) const; -}; - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/NodeSelector.cpp b/trunk/paradiseo-eo/contrib/mathsym/gen/NodeSelector.cpp deleted file mode 100644 index aefa4dd6f..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/NodeSelector.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "NodeSelector.h" -#include "Sym.h" - -#include - -// If subtree is not set (by randomnodeselector for instance, find it now -Sym NodeSelector::NodeSelection::subtree() { - if (subtree_.empty()) { - subtree_ = get_subtree(root_, subtree_index_); - } - return subtree_; -} - -NodeSelector::NodeSelection RandomNodeSelector::select_node(Sym sym) const { - unsigned idx = rng.random(sym.size()); - return NodeSelection(sym, idx, Sym() ); // empty subtree, find it when needed -} - -NodeSelector::NodeSelection BiasedNodeSelector::select_node(Sym sym) const { - - unsigned p = rng.random(sym.size()); - Sym res; - for (unsigned i = 0; i < nRounds; ++i) { - res = get_subtree(sym, p); - - if (res.args().size() > 0) break; - - p = rng.random(sym.size()); - } - - return NodeSelection(sym, p, res); -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/NodeSelector.h b/trunk/paradiseo-eo/contrib/mathsym/gen/NodeSelector.h deleted file mode 100644 index e30abd9f8..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/NodeSelector.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef NODESELECTOR_H -#define NODESELECTOR_H - -#include - -/** Base class for selecting nodes */ -class NodeSelector { - public: - - class NodeSelection { - Sym root_; - unsigned subtree_index_; - Sym subtree_; - - public : - NodeSelection(Sym r, unsigned idx, Sym s) - : root_(r), subtree_index_(idx), subtree_(s) {} - - Sym root() const { return root_; } - unsigned idx() const { return subtree_index_; } - Sym subtree(); - - }; - - virtual ~NodeSelector() {} - - virtual NodeSelection select_node(Sym sym) const = 0; -}; - - -/** Select nodes uniformly */ -class RandomNodeSelector : public NodeSelector { - public: - NodeSelection select_node(Sym sym) const; -}; - -/** A node selector that does a specified number of rounds ignoring terminals */ -class BiasedNodeSelector : public NodeSelector { - public: - unsigned nRounds; - - BiasedNodeSelector() : nRounds(3) {} // 3: for binary trees 87.5% chance of selecting an internal node - BiasedNodeSelector(unsigned n) : nRounds(n) {} - - NodeSelection select_node(Sym sym) const; -}; - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/TreeBuilder.cpp b/trunk/paradiseo-eo/contrib/mathsym/gen/TreeBuilder.cpp deleted file mode 100644 index 70b7ef53e..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/TreeBuilder.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include "TreeBuilder.h" - -Sym TreeBuilder::make_terminal() const { - if (rng.flip(vcprob)) { - return table.get_random_var(); - } - - return table.get_random_const(); -} - -Sym TreeBuilder::build_tree(unsigned max_depth, bool grow) const { - if (max_depth == 0 || grow && rng.random(2) == 0) { - return make_terminal(); - } - - // pick a random function, no matter what arity - - functor_t func = table.get_random_function(); - - SymVec args(func.arity); - - for (unsigned i = 0; i < args.size(); ++i) { - args[i] = build_tree(max_depth-1, grow); - } - - return Sym(func.token, args); -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/gen/TreeBuilder.h b/trunk/paradiseo-eo/contrib/mathsym/gen/TreeBuilder.h deleted file mode 100644 index 1969a52be..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/gen/TreeBuilder.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef TREEBUILDER_H_ -#define TREEBUILDER_H_ - -#include "Sym.h" -#include "LanguageTable.h" - -class TreeBuilder { - const LanguageTable& table; - - // probability of selecting a var versus a const when the choice boils down to selecting a terminal - double vcprob; - - Sym make_terminal() const; - public: - - TreeBuilder(const LanguageTable& t) : table(t), vcprob(0.9) {}; - TreeBuilder(const LanguageTable& t, double vc) : table(t), vcprob(vc) {}; - - void set_var_vs_const_probability(double p) { vcprob = p; } - - Sym build_tree(unsigned max_depth, bool grow) const; - - void build_tree(Sym& tree, unsigned max_depth, bool grow) const { tree = build_tree(max_depth, grow); } - -}; - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/header b/trunk/paradiseo-eo/contrib/mathsym/header deleted file mode 100644 index a4ea44583..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/header +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Entries b/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Entries deleted file mode 100644 index fd956636a..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/Dataset.cpp/1.1/Thu Oct 6 12:13:53 2005// -/Dataset.h/1.1/Thu Oct 6 12:13:53 2005// -/ErrorMeasure.cpp/1.6/Thu Nov 24 09:35:34 2005// -/ErrorMeasure.h/1.1/Thu Oct 6 12:13:53 2005// -/Scaling.cpp/1.1/Thu Oct 6 12:13:53 2005// -/Scaling.h/1.2/Fri Oct 7 13:31:20 2005// -/TargetInfo.cpp/1.1/Thu Oct 6 12:13:53 2005// -/TargetInfo.h/1.1/Thu Oct 6 12:13:53 2005// -/stats.h/1.1/Wed Oct 12 18:35:13 2005// -D diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Repository b/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Repository deleted file mode 100644 index 4d8357b60..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/mathsym/regression diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Root b/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/Dataset.cpp b/trunk/paradiseo-eo/contrib/mathsym/regression/Dataset.cpp deleted file mode 100644 index bdb314551..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/Dataset.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "Dataset.h" -#include -#include - -#include - -using namespace std; - -class DataSetImpl { - public: - vector< vector > inputs; - vector targets; - - void read_data(vector strings) { - // find the number of inputs - - istringstream cnt(strings[0]); - unsigned n = 0; - for (;;) { - string s; - cnt >> s; - if (!cnt) break; - ++n; - } - - inputs.resize(strings.size(), vector(n-1)); - targets.resize(strings.size()); - - for (unsigned i = 0; i < strings.size(); ++i) { - istringstream is(strings[i]); - for (unsigned j = 0; j < n; ++j) { - - if (!is) { - cerr << "Too few targets in record " << i << endl; - exit(1); - } - - if (j < n-1) { - is >> inputs[i][j]; - } else { - is >> targets[i]; - } - - } - } - - } - -}; - -Dataset::Dataset() { pimpl = new DataSetImpl; } -Dataset::~Dataset() { delete pimpl; } -Dataset::Dataset(const Dataset& that) { pimpl = new DataSetImpl(*that.pimpl); } -Dataset& Dataset::operator=(const Dataset& that) { *pimpl = *that.pimpl; return *this; } - -unsigned Dataset::n_records() const { return pimpl->targets.size(); } -unsigned Dataset::n_fields() const { return pimpl->inputs[0].size(); } -const std::vector& Dataset::get_inputs(unsigned record) const { return pimpl->inputs[record]; } -double Dataset::get_target(unsigned record) const { return pimpl->targets[record]; } - -double error(string errstr); - -void Dataset::load_data(std::string filename) { - vector strings; // first load it in strings - - ifstream is(filename.c_str()); - - for(;;) { - string s; - getline(is, s); - if (!is) break; - - if (s[0] == '#') continue; // comment, skip - - strings.push_back(s); - } - - is.close(); - - if (strings.size() == 0) { - error("No data could be loaded"); - } - - pimpl->read_data(strings); - -} - -std::vector Dataset::input_minima() const { - vector >& in = pimpl->inputs; - - vector mn(in[0].size(), 1e+50); - for (unsigned i = 0; i < in.size(); ++i) { - for (unsigned j = 0; j < in[i].size(); ++j) { - mn[j] = std::min(mn[j], in[i][j]); - } - } - - return mn; -} - -vector Dataset::input_maxima() const { - vector >& in = pimpl->inputs; - - vector mx(in[0].size(), -1e+50); - for (unsigned i = 0; i < in.size(); ++i) { - for (unsigned j = 0; j < in[i].size(); ++j) { - mx[j] = std::max(mx[j], in[i][j]); - } - } - - return mx; -} - - - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/Dataset.h b/trunk/paradiseo-eo/contrib/mathsym/regression/Dataset.h deleted file mode 100644 index 395036db5..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/Dataset.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef DATASET_H_ -#define DATASET_H_ - -#include -#include - -class DataSetImpl; - -class Dataset { - - DataSetImpl* pimpl; - - Dataset& operator=(const Dataset&); // cannot assign - public: - - Dataset(); - ~Dataset(); - Dataset(const Dataset&); - - void load_data(std::string filename); - - unsigned n_records() const; - unsigned n_fields() const; - - const std::vector& get_inputs(unsigned record) const; - double get_target(unsigned record) const; - - std::vector input_minima() const; - std::vector input_maxima() const; - -}; - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/ErrorMeasure.cpp b/trunk/paradiseo-eo/contrib/mathsym/regression/ErrorMeasure.cpp deleted file mode 100644 index 3a33d0d05..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/ErrorMeasure.cpp +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include -#include - -#include "MultiFunction.h" - -#include "ErrorMeasure.h" -#include "Dataset.h" -#include "Sym.h" -#include "FunDef.h" -#include "sym_compile.h" -#include "TargetInfo.h" -#include "stats.h" - -using namespace std; - -#ifdef INTERVAL_DEBUG - -#include -#include - -vector none; -IntervalBoundsCheck bounds(none, none); - -#endif - - - -static double not_a_number = atof("nan"); - -class ErrorMeasureImpl { - public: - const Dataset& data; - TargetInfo train_info; - - ErrorMeasure::measure measure; - - Scaling no_scaling; - - ErrorMeasureImpl(const Dataset& d, double t_p, ErrorMeasure::measure m) : data(d), measure(m) { - -#ifdef INTERVAL_DEBUG - bounds = IntervalBoundsCheck(d.input_minima(), d.input_maxima()); -#endif - - unsigned nrecords = d.n_records(); - unsigned cases = unsigned(t_p * nrecords); - - valarray t(cases); - - for (unsigned i = 0; i < cases; ++i) { - t[i] = data.get_target(i); - } - - train_info = TargetInfo(t); - no_scaling = Scaling(new NoScaling); - } - - ErrorMeasure::result eval(const valarray& y) { - - ErrorMeasure::result result; - result.scaling = no_scaling; - - - switch(measure) { - case ErrorMeasure::mean_squared: - result.error = pow(train_info.targets() - y, 2.0).sum() / y.size(); - return result; - case ErrorMeasure::absolute: - result.error = abs(train_info.targets() - y).sum() / y.size(); - return result; - case ErrorMeasure::mean_squared_scaled: - result.scaling = ols(y, train_info); - result.error = pow(train_info.targets() - result.scaling->transform(y), 2.0).sum() / y.size(); - return result; - default: - cerr << "Unknown measure encountered: " << measure << " " << __FILE__ << " " << __LINE__ << endl; - } - - return result; - } - - unsigned train_cases() const { - return train_info.targets().size(); - } - - vector multi_function_eval(const vector& pop) { - - if (pop.size() == 0) return vector(); - - multi_function all = compile(pop); - //MultiFunction all(pop); - std::vector y(pop.size()); - - Scaling noScaling = Scaling(new NoScaling); - - const std::valarray& t = train_info.targets(); - - cout << "Population size " << pop.size() << endl; - - if (measure == ErrorMeasure::mean_squared_scaled) { - std::vector var(pop.size()); - std::vector cov(pop.size()); - - Var vart; - - for (unsigned i = 0; i < t.size(); ++i) { - vart.update(t[i]); - - all(&data.get_inputs(i)[0], &y[0]); // evalutate - //all(data.get_inputs(i), y); // evalutate - - for (unsigned j = 0; j < pop.size(); ++j) { - var[j].update(y[j]); - cov[j].update(y[j], t[i]); - } - } - - std::vector result(pop.size()); - - for (unsigned i = 0; i < pop.size(); ++i) { - - // calculate scaling - double b = cov[i].get_cov() / var[i].get_var(); - - if (!finite(b)) { - result[i].scaling = noScaling; - result[i].error = vart.get_var(); // largest error - continue; - } - - double a = vart.get_mean() - b * var[i].get_mean(); - - result[i].scaling = Scaling( new LinearScaling(a,b)); - - // calculate error - double c = cov[i].get_cov(); - c *= c; - - double err = vart.get_var() - c / var[i].get_var(); - result[i].error = err; - if (!finite(err)) { - //cout << pop[i] << endl; - cout << "b " << b << endl; - cout << "var t " << vart.get_var() << endl; - cout << "var i " << var[i].get_var() << endl; - cout << "cov " << cov[i].get_cov() << endl; - - for (unsigned j = 0; j < t.size(); ++j) { - all(&data.get_inputs(i)[0], &y[0]); // evalutate - //all(data.get_inputs(j), y); // evalutate - - cout << y[i] << ' ' << ::eval(pop[i], data.get_inputs(j)) << endl; - } - - exit(1); - } - } - - return result; - } - - - std::vector err(pop.size()); - - for (unsigned i = 0; i < train_cases(); ++i) { - // evaluate - all(&data.get_inputs(i)[0], &y[0]); - //all(data.get_inputs(i), y); - - for (unsigned j = 0; j < pop.size(); ++j) { - double diff = y[j] - t[i]; - if (measure == ErrorMeasure::mean_squared) { // branch prediction will probably solve this inefficiency - err[j] += diff * diff; - } else { - err[j] += fabs(diff); - } - - } - - } - - std::vector result(pop.size()); - - double n = train_cases(); - for (unsigned i = 0; i < pop.size(); ++i) { - result[i].error = err[i] / n; - result[i].scaling = noScaling; - } - - return result; - - } - - vector single_function_eval(const vector & pop) { - - vector funcs(pop.size()); - compile(pop, funcs); // get one function pointer for each individual - - valarray y(train_cases()); - vector result(pop.size()); - for (unsigned i = 0; i < funcs.size(); ++i) { - for (unsigned j = 0; j < train_cases(); ++j) { - y[j] = funcs[i](&data.get_inputs(j)[0]); - } - -#ifdef INTERVAL_DEBUG - //cout << "eval func " << i << " " << pop[i] << endl; - pair b = bounds.calc_bounds(pop[i]); - - // check if y is in bounds - for (unsigned j = 0; j < y.size(); ++j) { - if (y[j] < b.first -1e-4 || y[j] > b.second + 1e-4 || !finite(y[j])) { - cout << "Error " << y[j] << " not in " << b.first << ' ' << b.second << endl; - cout << "Function " << pop[i] << endl; - exit(1); - } - } -#endif - - result[i] = eval(y); - } - - return result; - } - - vector calc_error(const vector& pop) { - - // first declone -#if USE_TR1 - typedef std::tr1::unordered_map HashMap; -#else - typedef hash_map HashMap; -#endif - HashMap clone_map; - vector decloned; - decloned.reserve(pop.size()); - - for (unsigned i = 0; i < pop.size(); ++i) { - HashMap::iterator it = clone_map.find(pop[i]); - - if (it == clone_map.end()) { // new - clone_map[ pop[i] ] = decloned.size(); - decloned.push_back(pop[i]); - } - - } - - // evaluate - vector dresult; - // currently we can only accumulate simple measures such as absolute and mean_squared - switch(measure) { - case ErrorMeasure::mean_squared: - case ErrorMeasure::absolute: - dresult = multi_function_eval(decloned); - break; - case ErrorMeasure::mean_squared_scaled: - dresult = multi_function_eval(decloned); - break; - } - - vector result(pop.size()); - for (unsigned i = 0; i < result.size(); ++i) { - result[i] = dresult[ clone_map[pop[i]] ]; - } - - return result; - } - -}; - -ErrorMeasure::result::result() { - error = 0.0; - scaling = Scaling(0); -} - -bool ErrorMeasure::result::valid() const { - return isfinite(error); -} - -ErrorMeasure::ErrorMeasure(const Dataset& data, double train_perc, measure meas) { - pimpl = new ErrorMeasureImpl(data, train_perc, meas); -} - -ErrorMeasure::~ErrorMeasure() { delete pimpl; } -ErrorMeasure::ErrorMeasure(const ErrorMeasure& that) { pimpl = new ErrorMeasureImpl(*that.pimpl); } - - -ErrorMeasure::result ErrorMeasure::calc_error(Sym sym) { - - single_function f = compile(sym); - - valarray y(pimpl->train_cases()); - - for (unsigned i = 0; i < y.size(); ++i) { - - y[i] = f(&pimpl->data.get_inputs(i)[0]); - - if (!finite(y[i])) { - result res; - res.scaling = Scaling(new NoScaling); - res.error = not_a_number; - return res; - } - } - - return pimpl->eval(y); -} - -vector ErrorMeasure::calc_error(const vector& syms) { - return pimpl->calc_error(syms); - -} - -double ErrorMeasure::worst_performance() const { - - if (pimpl->measure == mean_squared_scaled) { - return pimpl->train_info.tvar(); - } - - return 1e+20; -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/ErrorMeasure.h b/trunk/paradiseo-eo/contrib/mathsym/regression/ErrorMeasure.h deleted file mode 100644 index 17619fe97..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/ErrorMeasure.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef ERROR_MEASURE_H -#define ERROR_MEASURE_H - -#include "Scaling.h" - -class ErrorMeasureImpl; -class Sym; -class Dataset; - -class ErrorMeasure { - - ErrorMeasureImpl* pimpl; - - public : - - enum measure { - absolute, - mean_squared, - mean_squared_scaled, - }; - - struct result { - double error; - Scaling scaling; - - result(); - bool valid() const; - }; - - ErrorMeasure(const Dataset& data, double train_perc, measure meas = mean_squared); - - ~ErrorMeasure(); - ErrorMeasure(const ErrorMeasure& that); - ErrorMeasure& operator=(const ErrorMeasure& that); - - result calc_error(Sym sym); - - std::vector calc_error(const std::vector& sym); - - double worst_performance() const; -}; - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/Scaling.cpp b/trunk/paradiseo-eo/contrib/mathsym/regression/Scaling.cpp deleted file mode 100644 index dd6b0d0fc..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/Scaling.cpp +++ /dev/null @@ -1,417 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "Scaling.h" -#include "TargetInfo.h" - -using namespace std; - -Scaling slope(const std::valarray& x, const TargetInfo& targets) { - - double xx = 0.0; - double xy = 0.0; - - const valarray& y = targets.targets(); - - for (unsigned i = 0; i < x.size(); ++i) { - xx += x[i] * x[i]; - xy += x[i] * y[i]; - } - - if (xx < 1e-7) return Scaling(new LinearScaling(0.0,0.0)); - - double b = xy / xx; - - return Scaling(new LinearScaling(0.0, b)); - -} - -// Still needs proper testing with non-trivial lambda -Scaling regularized_least_squares(const std::valarray& inputs, const TargetInfo& targets, double lambda) { - - double n = inputs.size(); - - valarray x = inputs; - - double a,b,d; - a=b=d=0; - - for (unsigned i = 0; i < n; ++i) { - a += 1 + lambda; - b += x[i]; - d += x[i] * x[i] + lambda; - } - - //invert - - double ad_bc = a*d - b * b; - // if ad_bc equals zero there's a problem - - if (ad_bc < 1e-17) return Scaling(new LinearScaling); - - double ai = d/ad_bc; - double bi = -b/ad_bc; - double di = a/ad_bc; - double ci = bi; - - // Now multiply this inverted covariance matrix (C^-1) with x' * t - - std::valarray ones = x; - - // calculate C^-1 * x' ) - for (unsigned i = 0; i < n; ++i) - { - ones[i] = (ai + bi * x[i]); - x[i] = (ci + di * x[i]); - } - - // results are in [ones, x], now multiply with y - - a = 0.0; // intercept - b = 0.0; // slope - - const valarray& t = targets.targets(); - - for (unsigned i = 0; i < n; ++i) - { - a += ones[i] * t[i]; - b += x[i] * t[i]; - } - - return Scaling(new LinearScaling(a,b)); -} - -Scaling ols(const std::valarray& y, const std::valarray& t) { - double n = y.size(); - - double y_mean = y.sum() / n; - double t_mean = t.sum() / n; - - std::valarray y_var = (y - y_mean); - std::valarray t_var = (t - t_mean); - std::valarray cov = t_var * y_var; - - y_var *= y_var; - t_var *= t_var; - - double sumvar = y_var.sum(); - - if (sumvar == 0. || sumvar/n < 1e-7 || sumvar/n > 1e+7) // breakout when numerical problems are likely - return Scaling(new LinearScaling(t_mean,0.)); - - - double b = cov.sum() / sumvar; - double a = t_mean - b * y_mean; - - Scaling s = Scaling(new LinearScaling(a,b)); - - return s; -} - -Scaling ols(const std::valarray& y, const TargetInfo& targets) { - double n = y.size(); - - double y_mean = y.sum() / n; - - std::valarray y_var = (y - y_mean); - std::valarray cov = targets.tcov_part() * y_var; - - y_var *= y_var; - - double sumvar = y_var.sum(); - - if (sumvar == 0. || sumvar/n < 1e-7 || sumvar/n > 1e+7) // breakout when numerical problems are likely - return Scaling(new LinearScaling(targets.tmean(),0.)); - - - double b = cov.sum() / sumvar; - double a = targets.tmean() - b * y_mean; - - if (!finite(b)) { - - cout << a << ' ' << b << endl; - cout << sumvar << endl; - cout << y_mean << endl; - cout << cov.sum() << endl; - exit(1); - } - - Scaling s = Scaling(new LinearScaling(a,b)); - - return s; -} - - -Scaling wls(const std::valarray& inputs, const TargetInfo& targets) { - - std::valarray x = inputs; - const std::valarray& w = targets.weights(); - - unsigned n = x.size(); - // First calculate x'*W (as W is a diagonal matrix it's simply elementwise multiplication - std::valarray wx = targets.weights() * x; - - // Now x'*W is contained in [w,wx], calculate x' * W * x (the covariance) - double a,b,d; - a=b=d=0.0; - - for (unsigned i = 0; i < n; ++i) - { - a += w[i]; - b += wx[i]; - d += x[i] * wx[i]; - } - - //invert - - double ad_bc = a*d - b * b; - // if ad_bc equals zero there's a problem - - if (ad_bc < 1e-17) return Scaling(new LinearScaling); - - double ai = d/ad_bc; - double bi = -b/ad_bc; - double di = a/ad_bc; - double ci = bi; - - // Now multiply this inverted covariance matrix (C^-1) with x' * W * y - - // create alias to reuse the wx we do not need anymore - std::valarray& ones = wx; - - // calculate C^-1 * x' * W (using the fact that W is diagonal) - for (unsigned i = 0; i < n; ++i) - { - ones[i] = w[i]*(ai + bi * x[i]); - x[i] = w[i]*(ci + di * x[i]); - } - - // results are in [ones, x], now multiply with y - - a = 0.0; // intercept - b = 0.0; // slope - - const valarray& t = targets.targets(); - - for (unsigned i = 0; i < n; ++i) - { - a += ones[i] * t[i]; - b += x[i] * t[i]; - } - - return Scaling(new LinearScaling(a,b)); -} - - -//Scaling med(const std::valarray& inputs, const TargetInfo& targets); - -double mse(const std::valarray& y, const TargetInfo& t) { - - valarray residuals = t.targets()-y; - residuals *= residuals; - double sz = residuals.size(); - if (t.has_weights()) { - residuals *= t.weights(); - sz = 1.0; - } - - return residuals.sum() / sz; -} - -double rms(const std::valarray& y, const TargetInfo& t) { - return sqrt(mse(y,t)); -} - -double mae(const std::valarray& y, const TargetInfo& t) { - valarray residuals = abs(t.targets()-y); - if (t.has_weights()) residuals *= t.weights(); - return residuals.sum() / residuals.size(); -} - - -/* - double standard_error(const std::valarray& y, const std::pair& scaling) { - double a = scaling.first; - double b = scaling.second; - double n = y.size(); - double se = sqrt( pow(a+b*y-current_set->targets,2.0).sum() / (n-2)); - - double mean_y = y.sum() / n; - double sxx = pow( y - mean_y, 2.0).sum(); - - return se / sqrt(sxx); - } - - double scaled_mse(const std::valarray& y){ - std::pair scaling; - return scaled_mse(y,scaling); - } - - double scaled_mse(const std::valarray& y, std::pair& scaling) - { - scaling = scale(y); - - double a = scaling.first; - double b = scaling.second; - - std::valarray tmp = current_set->targets - a - b * y; - tmp *= tmp; - - if (weights.size()) - return (weights * tmp).sum(); - - return tmp.sum() / tmp.size(); - } - - double robust_mse(const std::valarray& ny, std::pair& scaling) { - - double smse = scaled_mse(ny,scaling); - - std::valarray y = ny; - // find maximum covariance case - double n = y.size(); - - int largest = 0; - - { - double y_mean = y.sum() / n; - - std::valarray y_var = (y - y_mean); - std::valarray cov = tcov * y_var; - - std::valarray maxcov = cov == cov.max(); - - for (unsigned i = 0; i < maxcov.size(); ++i) { - if (maxcov[i]) { - largest = i; - break; - } - } - } - - double y_mean = (y.sum() - y[largest]) / (n-1); - y[largest] = y_mean; // dissappears from covariance calculation - - std::valarray y_var = (y - y_mean); - std::valarray cov = tcov * y_var; - y_var *= y_var; - - double sumvar = y_var.sum(); - - if (sumvar == 0. || sumvar/n < 1e-7 || sumvar/n > 1e+7) // breakout when numerical problems are likely - return worst_performance(); - - double b = cov.sum() / sumvar; - double a = tmean - b * y_mean; - - std::valarray tmp = current_set->targets - a - b * y; - tmp[largest] = 0.0; - tmp *= tmp; - - double smse2 = tmp.sum() / (tmp.size()-1); - - static std::ofstream os("smse.txt"); - os << smse << ' ' << smse2 << '\n'; - - if (smse2 > smse) { - return worst_performance(); - //std::cerr << "overfit? " << smse << ' ' << smse2 << '\n'; - } - - scaling.first = a; - scaling.second = b; - - return smse2; - } - - class Sorter { - const std::valarray& scores; - public: - Sorter(const std::valarray& _scores) : scores(_scores) {} - - bool operator()(unsigned i, unsigned j) const { - return scores[i] < scores[j]; - } - }; - - double coc(const std::valarray& y) { - std::vector indices(y.size()); - for (unsigned i = 0; i < y.size(); ++i) indices[i] = i; - std::sort(indices.begin(), indices.end(), Sorter(y)); - - const std::valarray& targets = current_set->targets; - - double neg = 1.0 - targets[indices[0]]; - double pos = targets[indices[0]]; - - double cumpos = 0; - double cumneg = 0; - double sum=0; - - double last_score = y[indices[0]]; - - for(unsigned i = 1; i < targets.size(); ++i) { - - if (fabs(y[indices[i]] - last_score) < 1e-9) { // we call it tied - pos += targets[indices[i]]; - neg += 1.0 - targets[indices[i]]; - - if (i < targets.size()-1) - continue; - } - sum += pos * cumneg + (pos * neg) * 0.5; - cumneg += neg; - cumpos += pos; - pos = targets[indices[i]]; - neg = 1.0 - targets[indices[i]]; - last_score = y[indices[i]]; - } - - return sum / (cumneg * cumpos); - } - - // iterative re-weighted least squares (for parameters.classification) - double irls(const std::valarray& scores, std::pair& scaling) { - const std::valarray& t = current_set->targets; - - std::valarray e(scores.size()); - std::valarray u(scores.size()); - std::valarray w(scores.size()); - std::valarray z(scores.size()); - - parameters.use_irls = false; parameters.classification=false; - scaling = scale(scores); - parameters.use_irls=true;parameters.classification=true; - - if (scaling.second == 0.0) return worst_performance(); - - for (unsigned i = 0; i < 10; ++i) { - e = exp(scaling.first + scaling.second*scores); - u = e / (e + exp(-(scaling.first + scaling.second * scores))); - w = u*(1.-u); - z = (t-u)/w; - scaling = wls(scores, u, w); - //double ll = (log(u)*t + (1.-log(u))*(1.-t)).sum(); - //std::cout << "Scale " << i << ' ' << scaling.first << " " << scaling.second << " LL " << 2*ll << std::endl; - } - - // log-likelihood - u = exp(scaling.first + scaling.second*scores) / (1 + exp(scaling.first + scaling.second*scores)); - double ll = (log(u)*t + (1.-log(u))*(1.-t)).sum(); - return 2*ll; - } -*/ diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/Scaling.h b/trunk/paradiseo-eo/contrib/mathsym/regression/Scaling.h deleted file mode 100644 index efa98a01a..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/Scaling.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef SCALING_H_ -#define SCALING_H_ - -#include "shared_ptr.h" - -#include -#include -#include - -class TargetInfo; - -class ScalingBase { - public: - - virtual ~ScalingBase() {} - - std::valarray apply(const std::valarray& x) { - std::valarray xtmp = x; - transform(xtmp); - return xtmp; - } - - virtual double transform(double input) const = 0; - virtual void transform(std::valarray& inputs) const = 0; - virtual std::ostream& print(std::ostream& os, std::string str) const = 0; - virtual std::valarray transform(const std::valarray& inputs) const = 0; -}; - -typedef shared_ptr Scaling; - -class LinearScaling : public ScalingBase { - - double a,b; - - public: - LinearScaling() : a(0.0), b(1.0) {} - LinearScaling(double _a, double _b) : a(_a), b(_b) {} - - double transform(double input) const { input *=b; input += a; return input; } - void transform(std::valarray& inputs) const { inputs *= b; inputs += a; } - std::valarray transform(const std::valarray& inputs) const { - std::valarray y = a + b * inputs; - return y; - } - - double intercept() const { return a; } - double slope() const { return b; } - - std::ostream& print(std::ostream& os, std::string str) const { - os.precision(16); - os << a << " + " << b << " * " << str; - return os; - } -}; - -class NoScaling : public ScalingBase{ - void transform(std::valarray&) const {} - double transform(double input) const { return input; } - std::valarray transform(const std::valarray& inputs) const { return inputs; } - std::ostream& print(std::ostream& os, std::string str) const { return os << str; } -}; - -extern Scaling slope(const std::valarray& inputs, const TargetInfo& targets); // slope only -extern Scaling ols(const std::valarray& inputs, const TargetInfo& targets); -extern Scaling wls(const std::valarray& inputs, const TargetInfo& targets); -extern Scaling med(const std::valarray& inputs, const TargetInfo& targets); - -extern Scaling ols(const std::valarray& inputs, const std::valarray& outputs); - -extern double mse(const std::valarray& y, const TargetInfo& t); -extern double rms(const std::valarray& y, const TargetInfo& t); -extern double mae(const std::valarray& y, const TargetInfo& t); - -// Todo Logistic Scaling - -#endif - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/TargetInfo.cpp b/trunk/paradiseo-eo/contrib/mathsym/regression/TargetInfo.cpp deleted file mode 100644 index 1d386e8c9..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/TargetInfo.cpp +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "TargetInfo.h" - -using namespace std; - -TargetInfo::TargetInfo(const TargetInfo& org) { operator=(org); } - -TargetInfo& TargetInfo::operator=(const TargetInfo& org) { - _targets.resize(org._targets.size()); - _weights.resize(org._weights.size()); - _tcov_part.resize(org._tcov_part.size()); - - _targets = org._targets; - _weights = org._weights; - _tcov_part = org._tcov_part; - - _tmean = org._tmean; - _tvar = org._tvar; - _tstd = org._tstd; - _tmed = org._tmed; - return *this; -} - - -TargetInfo::TargetInfo(const std::valarray& t) { - _weights.resize(0); - _targets.resize(t.size()); - _targets = t; - - _tmean = _targets.sum()/_targets.size(); - - _tcov_part.resize(_targets.size()); - _tcov_part = _targets; - _tcov_part -= _tmean; - - std::valarray tmp = _tcov_part; - tmp = _tcov_part; - tmp *= tmp; - - _tvar = tmp.sum() / (tmp.size()-1); - _tstd = sqrt(_tvar); - _tmed = 0; -} - -TargetInfo::TargetInfo(const std::valarray& t, const std::valarray& w) { - - _targets.resize(t.size()); - _weights.resize(w.size()); - - _targets = t; - _weights = w; - - double sumw = _weights.sum(); - // scale weights so that they'll add up to 1 - _weights /= sumw; - - _tmean = (_targets * _weights).sum(); - _tcov_part.resize(_targets.size()); - _tcov_part = _targets; - _tcov_part -= _tmean; - - _tvar = (pow(_targets - _tmean, 2.0) * _weights).sum(); - _tstd = sqrt(_tvar); - _tmed = 0.; -} - -// calculate the members, now in the context of a mask -void TargetInfo::set_training_mask(const std::valarray& tmask) { - - TargetInfo tmp; - - if (has_weights() ) { - tmp = TargetInfo( _targets[tmask], _weights[tmask]); - } else { - tmp = TargetInfo( _targets[tmask] ); - } - - _tcov_part.resize(tmp._tcov_part.size()); - _tcov_part = tmp._tcov_part; - - _tmean = tmp._tmean; - _tvar = tmp._tvar; - _tstd = tmp._tstd; - _tmed = tmp._tmed; - - _training_mask.resize(tmask.size()); - _training_mask = tmask; -} - -struct SortOnTargets -{ - const valarray& t; - SortOnTargets(const valarray& v) : t(v) {} - - bool operator()(int i, int j) const { - return fabs(t[i]) < fabs(t[j]); - } -}; - -vector TargetInfo::sort() { - - vector ind(_targets.size()); - for (unsigned i = 0; i < ind.size(); ++i) { ind[i] = i; } - - std::sort(ind.begin(), ind.end(), SortOnTargets(_targets)); - - valarray tmptargets = _targets; - valarray tmpweights = _weights; - valarray tmpcov = _tcov_part; - - for (unsigned i = 0; i < ind.size(); ++i) - { - _targets[i] = tmptargets[ ind[i] ]; - _tcov_part[i] = tmpcov[ ind[i] ]; - if (_weights.size()) _weights[i] = tmpweights[ ind[i] ]; - } - - return ind; -} - - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/TargetInfo.h b/trunk/paradiseo-eo/contrib/mathsym/regression/TargetInfo.h deleted file mode 100644 index ee9a307ff..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/TargetInfo.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef TARGETINFO_H_ -#define TARGETINFO_H_ - -#include -#include - -class TargetInfo { - std::valarray _targets; - std::valarray _weights; - std::valarray _training_mask; - - // some stuff for ols - std::valarray _tcov_part; - double _tmean; - double _tvar; - double _tstd; - double _tmed; - - public: - TargetInfo() {} - - TargetInfo(const std::valarray& t); - TargetInfo(const std::valarray& t, const std::valarray& w); - - TargetInfo(const TargetInfo& org); - TargetInfo& operator=(const TargetInfo& org); - ~TargetInfo() {} - - const std::valarray& targets() const { return _targets; } - const std::valarray& weights() const { return _weights; } - const std::valarray& mask() const { return _training_mask; } - - void set_training_mask(const std::valarray& mask); - - bool has_weights() const { return _weights.size(); } - bool has_mask() const { return _training_mask.size(); } - - std::vector sort(); - - const std::valarray& tcov_part() const { return _tcov_part; } - double tmean() const { return _tmean; } - double tvar() const { return _tvar; } - double tstd() const { return _tstd; } - double devmedian() const { return _tmed; } -}; - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/regression/stats.h b/trunk/paradiseo-eo/contrib/mathsym/regression/stats.h deleted file mode 100644 index 0ead60685..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/regression/stats.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include - -class Mean { - - double n; - double mean; - - public: - Mean() : n(0), mean(0) {} - - void update(double v) { - n++; - double d = v - mean; - mean += 1/n * d; - } - - double get_mean() const { return mean; } -}; - -class Var { - double n; - double mean; - double sumvar; - - public: - Var() : n(0), mean(0), sumvar(0) {} - - void update(double v) { - n++; - double d = v - mean; - mean += 1/n * d; - sumvar += (n-1)/n * d * d; - } - - double get_mean() const { return mean; } - double get_var() const { return sumvar / (n-1); } - double get_std() const { return sqrt(get_var()); } -}; - -/** Single covariance between two variates */ -class Cov { - double n; - double meana; - double meanb; - double sumcov; - - public: - Cov() : n(0), meana(0), meanb(0), sumcov(0) {} - - void update(double a, double b) { - ++n; - double da = a - meana; - double db = b - meanb; - - meana += 1/n * da; - meanb += 1/n * db; - - sumcov += (n-1)/n * da * db; - } - - double get_meana() const { return meana; } - double get_meanb() const { return meanb; } - double get_cov() const { return sumcov / (n-1); } -}; - -class CovMatrix { - double n; - std::vector mean; - std::vector< std::vector > sumcov; - - public: - CovMatrix(unsigned dim) : n(0), mean(dim), sumcov(dim , std::vector(dim)) {} - - void update(const std::vector& v) { - n++; - - for (unsigned i = 0; i < v.size(); ++i) { - double d = v[i] - mean[i]; - mean[i] += 1/n * d; - - sumcov[i][i] += (n-1)/n * d * d; - - for (unsigned j = i; j < v.size(); ++j) { - double e = v[j] - mean[j]; // mean[j] is not updated yet - - double upd = (n-1)/n * d * e; - - sumcov[i][j] += upd; - sumcov[j][i] += upd; - - } - } - - } - - double get_mean(int i) const { return mean[i]; } - double get_var(int i ) const { return sumcov[i][i] / (n-1); } - double get_std(int i) const { return sqrt(get_var(i)); } - double get_cov(int i, int j) const { return sumcov[i][j] / (n-1); } - -}; - diff --git a/trunk/paradiseo-eo/contrib/mathsym/shared_ptr.h b/trunk/paradiseo-eo/contrib/mathsym/shared_ptr.h deleted file mode 100644 index 58353fe91..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/shared_ptr.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef _SHARED_PTR_H -#define _SHARED_PTR_H - - -template class weak_ptr; - -template -class shared_ptr { - private: - T* ptr; - unsigned* count; // - - /* special case, null pointer (nil-code) */ - static unsigned* nil() { static unsigned nil_counter(1); return &nil_counter; } - - void decref() { if (--(*count) == 0) { delete ptr; delete count; }} - void incref() { ++(*count); } - - friend class weak_ptr; - - public: - - shared_ptr() : ptr(0), count(nil()) { incref(); } - ~shared_ptr() { decref(); } - - shared_ptr(const shared_ptr& o) : ptr(o.ptr), count(o.count) { incref(); } - shared_ptr(T* p) : ptr(p), count(new unsigned(1)) {} - explicit shared_ptr(const weak_ptr& w) : ptr(w.ptr), count(w.count) { incref(); } - - shared_ptr& operator=(const shared_ptr& o) { - if (ptr == o.ptr) return *this; - decref(); - ptr = o.ptr; - count = o.count; - incref(); - return *this; - } - - T* get() { return ptr; } - T* operator->() { return ptr; } - T& operator*() { return *ptr; } - - const T* get() const { return ptr; } - const T* operator->() const { return ptr; } - const T& operator*() const { return *ptr; } - - bool operator==(const shared_ptr& o) const { return ptr == o.ptr; } - bool operator!=(const shared_ptr& o) const { return ptr != o.ptr; } - bool operator<(const shared_ptr& o) const { return ptr < o.ptr; } - - unsigned refcount() const { return *count; } -}; - -template -class weak_ptr { - T* ptr; - unsigned* count; - - friend class shared_ptr; - - public: - - weak_ptr() : ptr(0), count(shared_ptr::nil()) {} - explicit weak_ptr( const shared_ptr& s) : ptr(s.ptr), count(s.count) {} - - shared_ptr lock() const { return shared_ptr(*this); } - - - T* get() { return ptr; } - T* operator->() { return ptr; } - T& operator*() { return *ptr; } - - const T* get() const { return ptr; } - const T* operator->() const { return ptr; } - const T& operator*() const { return *ptr; } - - bool operator==(const shared_ptr& o) const { return ptr == o.ptr; } - bool operator!=(const shared_ptr& o) const { return ptr != o.ptr; } - bool operator<(const shared_ptr& o) const { return ptr < o.ptr; } - - unsigned refcount() const { return *count; } - -}; - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Entries b/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Entries deleted file mode 100644 index 9acf76824..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/README.cpp/1.1/Thu Oct 6 12:13:53 2005// -/Sym.cpp/1.3/Thu Nov 24 09:35:34 2005// -/Sym.h/1.4/Thu Nov 24 09:35:34 2005// -/SymImpl.cpp/1.2/Sat Oct 15 21:27:47 2005// -/SymImpl.h/1.4/Thu Nov 24 09:35:34 2005// -/token.h/1.1/Thu Oct 6 12:13:53 2005// -D diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Repository b/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Repository deleted file mode 100644 index 96b277661..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/mathsym/sym diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Root b/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/README.cpp b/trunk/paradiseo-eo/contrib/mathsym/sym/README.cpp deleted file mode 100644 index c62e6cbac..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/README.cpp +++ /dev/null @@ -1,364 +0,0 @@ - -/* - DESCRIPTION: - - -The class 'Sym' in this package provides a reference counted, hashed tree structure that can be used in genetic programming. -The hash table behind the scenes makes sure that every subtree in the application is stored only once. -This has a couple of advantages: - -o Memory: all subtrees are stored only once -o Comparison: comparison for equality for two subtrees boils down to a pointer comparison -o Overview: by accessing the hashtable, you get an instant overview of the state of the population - - -The disadvantage of this method is the constant time overhead for computing hashes. In practice, -it seems to be fast enough. - - -===== How to Use this ========= - -In essence, the Sym data structure contains two important pieces of data, -the 'token' (of type token_t = int) and the children, a vector of Sym (called SymVec). -The token should contain all information to be able to figure out which -function/terminal is represented by the node in the tree. By retrieving this token value -and the SymVec it is possible to write recursive traversal routines for evaluation, printing, -etc. - -*/ - -#include -#include "Sym.h" - -using namespace std; - - -/* - * Suppose token value '0' designates our terminal, and token value '1' designates a binary function. - * Later on a ternary function will be used as well, designated with token value '2' - * The function below will create a tree of size three -*/ -Sym test1() { - - SymVec children; - children.push_back( Sym(0) ); // push_back is a member from std::vector, SymVec is derived from std::vector - children.push_back( Sym(0) ); - - Sym tree = Sym(token_t(1), children); // creates the tree - - /* Done, now print some information about the node */ - - cout << "Size = " << tree.size() << endl; // prints 3 - cout << "Depth = " << tree.depth() << endl; // prints 2 - cout << "Refcount = " << tree.refcount() << endl; // prints 1 - - Sym tree2 = tree; // make a copy (this only changes refcount) - - cout << "Refcount now = " << tree.refcount() << endl; // print 2 - - return tree; // tree2 will be deleted and reference count returns to 1 -} - -/* To actually use the tree, evaluate it, the following simple recursive function - * can be used -*/ - -int eval(const Sym& sym) { - if (sym.token() == 0) { // it's a terminal in this example - return 1; - } - // else it's the function - const SymVec& children = sym.args(); // get the children out, children.size() is the arity - - // let's assume that we've also got a ternary function designated by token '2' - - if (sym.token() == token_t(1)) - return eval(children[0]) + eval(children[1]); // evaluate - - return eval(children[0]) + eval(children[1]) * eval(children[2]); // a ternary function -} - -/* Note that you simply use the stored token that was defined above. Simply checking the size of SymVec in - * this particular example could have sufficed, but it's instructive to use the tokens. - * - * And to test this: -*/ - -void test_eval() { - - Sym tree = test1(); - - cout << "Evaluating tree1 returns " << eval(tree) << endl; -} - -/* Writing initialization functions. - * - * As the Sym class is recursive in nature, initialization can simply be done using - * recursive routines as above. As an example, the following code does 'full' initialization. - */ - -Sym init_full(int depth_left) { - if (depth_left == 0) return Sym(0); // create terminal - // else create either a binary or a ternary function - - depth_left--; - - if (rand() % 2 == 0) { // create binary - SymVec vec(2); - vec[0] = init_full(depth_left); - vec[1] = init_full(depth_left); - - return Sym(token_t(1), vec); - - } else { // create ternary tree - SymVec vec(3); - vec[0] = init_full(depth_left); - vec[1] = init_full(depth_left); - vec[2] = init_full(depth_left); - - return Sym(token_t(2), vec); // token value 2 designates a ternary now, even though the arity can simply be read from the size of the 'SymVec' - } - -} - - -/* Examining the hash table. - * - * The hash table is a static member of the Sym class, but can be obtained and inspected - * at any point during the run. The hash table follows the SGI implementation of hashmap (and effectively - * uses it in gcc). An example: - */ - -void inspect_hashtable() { - SymMap& dag = Sym::get_dag(); // get the hashmap - unsigned i = 0; - for (SymMap::iterator it = dag.begin(); it != dag.end(); ++it) { - Sym node(it); // initialize a 'sym' with the iterator - - cout << "Node " << i++ << " size " << node.size(); - cout << " refcount " << node.refcount()-1; // -1: note that by creating the Sym above the refcount is increased - cout << " depth " << node.depth(); - cout << '\n'; - } - -} - -/* The above code effectively examines all distinct subtrees in use in the application and prints some stats for the node */ - -/* Manipulating trees - * - * The Sym class is set up in such a way that you cannot change a Sym, so how do you perform crossover and mutation? - * - * Simple, you create new syms. The Sym class supports two functions to make this easier: 'get_subtree' and 'insert_subtree'. - * These traverse the tree by index, where 0 designates the root and other values are indexed depth first. - */ - -Sym subtree_xover(Sym a, Sym b) { - - Sym to_insert = get_subtree(a, rand() % a.size() ); // select random subtree, will crash if too high a value is given - - /* 'insert' it into b. This will not really insert, it will however create a new sym, - * equal to 'b' but with a's subtree inserted at the designated spot. */ - return insert_subtree(b, rand() % b.size(), to_insert); - -} - -/* Tying it together, we can create a simple genetic programming system. Mutation is not implemented here, - * but would be easy enough to add by using recursion and/or 'set'. */ - -void run_gp() { - - int ngens = 50; - int popsize = 1000; - - cout << "Starting running " << popsize << " individuals for " << ngens << " generations." << endl; - - vector pop(popsize); - - // init population - for (unsigned i = 0; i < pop.size(); ++i) { - pop[i] = init_full(5); - } - - double best = 0.0; - - // do a very simple steady state tournament - for (unsigned gen = 0; gen < ngens * pop.size(); ++gen) { - int sel1 = rand()% pop.size(); - int sel2 = rand() % pop.size(); - int sel3 = rand() % pop.size(); - - double ev1 = eval(pop[sel1]); - double ev3 = eval(pop[sel3]); - - double bst = max(ev1,ev3); - if (bst > best) { - best = bst; - } - - if (ev3 > ev1) { - sel1 = sel3; // selection pressure - } - - Sym child = subtree_xover(pop[sel1], pop[sel2]); - - // Check for uniqueness - if (child.refcount() == 1) pop[ rand() % pop.size() ] = child; - } - - // and at the end: - - inspect_hashtable(); - - // and also count number of nodes in the population - int sz = 0; - for (unsigned i = 0; i < pop.size(); ++i) { sz += pop[i].size(); } - cout << "Number of distinct nodes " << Sym::get_dag().size() << endl; - cout << "Nodes in population " << sz << endl; - cout << "ratio " << double(Sym::get_dag().size())/sz << endl; - cout << "Best fitness " << best << endl; - -} - -/* One extra mechanism is supported to add annotations to nodes. Something derived from - * 'UniqueNodeStats' can be used to attach new information to nodes. For this to function, - * we need to supply a 'factory' function that creates these node-stats; attach this function to the - * Sym class, so that it gets called whenever a new node is created. The constructors of the Sym class - * take care of this. - * - * IMPORTANT: - * in a realistic application, the factory function needs to be set BEFORE any Syms are created - * Mixing Syms creating with and without the factory can lead to unexpected results - * - * First we derive some structure from UniqueNodeStats: */ - -struct MyNodeStats : public UniqueNodeStats { - - int sumsize; - - ~MyNodeStats() { cout << "MyNodeStats::~MyNodeStats, sumsize = " << sumsize << endl; } -}; - -/* then define the factory function. It will get a Sym, which is just created. */ -UniqueNodeStats* create_stats(const Sym& sym) { - MyNodeStats* stats = new MyNodeStats; // Sym will take care of memory management - - int sumsize = sym.size(); - for (unsigned i = 0; i < sym.args().size(); ++i) { - // retrieve the extra node stats of the child - UniqueNodeStats* unique_stats = sym.args()[i].extra_stats(); // extra_stats retrieves the stats - MyNodeStats* child_stats = static_cast(unique_stats); // cast it to the right struct - sumsize += child_stats->sumsize; - } - - stats->sumsize = sumsize; - return stats; // now it will get attached to the node and deleted when its reference count goes to zero -} - -void test_node_stats() { - - if (Sym::get_dag().size() != 0) { - cerr << "Cannot mix nodes with and without factory functions" << endl; - exit(1); - } - - /* Very Important: attach the factory function to the Sym class */ - Sym::set_factory_function(create_stats); - - Sym tree = init_full(5); // create a tree - - // get extra node stats out - MyNodeStats* stats = static_cast( tree.extra_stats() ); - - cout << "Size = " << tree.size() << " SumSize = " << stats->sumsize << endl; - - Sym::clear_factory_function(); // reset -} - - -/* And run the code above */ - -int main() { - srand(time(0)); - cout << "********** TEST EVALUATION **************\n"; - test_eval(); - cout << "********** TEST ALGORITHM ***************\n"; - run_gp(); - - cout << "********** TEST FACTORY ****************\n"; - test_node_stats(); // can work because there are no live nodes - -} - -/* ********** Member function reference: ******************** - * - * Sym() The default constructor will create an undefined node (no token and no children), check for empty() to see if a node is undefined - * - * Sym(token_t) Create a terminal - * - * Sym(token_t, const SymVec&) - * Create a node with token and SymVec as the children - * - * Sym(SymIterator it) - * Create a sym from an iterator (taken from the hashtable directly, or from Sym::iterator) - * - * dtor, copy-ctor and assignment - * - * UniqueNodeStats* extra_stats() - * Returns an UniqueNodeStats pointer (= 0 if no factory is defined) - * - * - * int hashcode() returns the hashcode for the node - * - * int refcount() returns the reference count for the node - * - * bool operator== checks for equality (note that this is a pointer compare, really really fast) - * - * bool empty() returns whether the node is undefined, i.e. created through the default ctor - * - * int arity() shorthand for sym.args().size() - * - * token_t token() return identifying token for the node - * - * const SymVec& args() - * returns the children of the node (in a vector) - * - * unsigned size() returns the size, i.e., number of nodes - * - * unsigned depth() returns the depth - * - * iterator() returns the pointer to the node in the hashtable - * - * - ********** Static functions: ******************** - * - * - * - * SymMap& get_dag() returns the hash table containing all nodes. This should only be used for inspection, - * even though the dag itself is not const. This to enable the use of the ctor Sym(SymIterator) to inspect - * using the Sym interface (rather than the hash table interface). This does allow you to make destructive - * changes to the class, so use with care - * - * set_factory_function( UniqueNodeStats (*)(const Sym&) ) - * Set the factory function - * - * clear_factory_function() - * Clears the factory function, allocated UniqueNodeStats will still be deleted, but no new ones will be created. - * - ********** Utility Functions ******************** - * - * Sym get_subtree(const Sym& org, int i) - * Retreive the i-th subtree from the Sym. Standard depth first ordering, where root has index 0 and the - * rightmost terminal has index sym.size()-1 - * - * Sym insert_subtree(const Sym& org, int i, const Sym& subtree) - * Returns a Sym that is equal to 'org', for which the i-th subtree (same ordering as get_subtree) is replaced - * by the third argument subtree. - * - * Sym next(const Sym&) - * Returns the successor of the argument sym from the hashtable with wrap around. This is implemented just because - * it can be done. It may be an interesting way to mutate... - * - * */ - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/Sym.cpp b/trunk/paradiseo-eo/contrib/mathsym/sym/Sym.cpp deleted file mode 100644 index 4d3c2227d..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/Sym.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include - -#include "Sym.h" - -using namespace std; - -typedef UniqueNodeStats* (*NodeStatFunc)(Sym&); - -UniqueNodeStats* (*Sym::factory)(const Sym&) = 0; - -SymMap Sym::dag(100000); // reserve space for so many nodes -std::vector Sym::token_count; - - -size_t get_size(const SymVec& vec) { - size_t sz = 0; - for (unsigned i = 0; i < vec.size(); ++i) { - sz += vec[i].size(); - } - return sz; -} - -size_t get_depth(const SymVec& vec) { - size_t dp = 1; - for (unsigned i = 0; i < vec.size(); ++i) { - dp = std::max(dp, vec[i].depth()); - } - return dp; -} - -Sym::Sym(token_t tok, const SymVec& args_) : node(dag.end()) -{ - detail::SymKey key(tok, detail::SymArgs(args_)); - detail::SymValue val; - - node = dag.insert(pair(key, val)).first; - - if (__unchecked_refcount() == 0) { // new node, set some stats - node->second.size = 1 + get_size(args_); - node->second.depth = 1 + get_depth(args_); - - // token count - if (tok >= token_count.size()) { - token_count.resize(tok+1); - } - - incref(); - node->first.fixate(); - // call the factory function if available - if (factory) node->second.uniqueNodeStats = factory(*this); - - } - else incref(); -} - -Sym::Sym(token_t tok, const Sym& a) : node(dag.end()) { - SymVec args_; args_.push_back(a); - detail::SymKey key(tok, detail::SymArgs(args_)); - detail::SymValue val; - - node = dag.insert(pair(key, val)).first; - - if (__unchecked_refcount() == 0) { // new node, set some stats - node->second.size = 1 + get_size(args_); - node->second.depth = 1 + get_depth(args_); - - // token count - if (tok >= token_count.size()) { - token_count.resize(tok+1); - } - - incref(); - node->first.fixate(); - // call the factory function if available - if (factory) node->second.uniqueNodeStats = factory(*this); - } - else incref(); -} - -Sym::Sym(token_t tok) : node(dag.end()) { - detail::SymKey key(tok); - detail::SymValue val; - node = dag.insert(pair(key, val)).first; - - if (__unchecked_refcount() == 0) { // new node, set some stats - node->second.size = 1; - node->second.depth = 1; - - // token count - if (tok >= token_count.size()) { - token_count.resize(tok+1); - } - - incref(); - - // call the factory function if available - if (factory) node->second.uniqueNodeStats = factory(*this); - - } - else incref(); -} - -std::pair insert_subtree_impl(const Sym& cur, size_t w, const Sym& nw) { - if (w-- == 0) return make_pair(nw, !(nw == cur)); - - const SymVec& vec = cur.args(); - std::pair result; - unsigned i; - - for (i = 0; i < vec.size(); ++i) { - if (w < vec[i].size()) { - result = insert_subtree_impl(vec[i], w, nw); - if (result.second == false) return std::make_pair(cur, false); // unchanged - break; - } - w -= vec[i].size(); - } - SymVec newvec = cur.args(); - newvec[i] = result.first; - return make_pair(Sym(cur.token(), newvec), true); -} - -Sym insert_subtree(const Sym& cur, size_t w, const Sym& nw) { - return insert_subtree_impl(cur,w,nw).first; -} -Sym get_subtree(const Sym& cur, size_t w) { - if (w-- == 0) return cur; - - const SymVec& vec = cur.args(); - for (unsigned i = 0; i < vec.size(); ++i) { - if (w < vec[i].size()) return get_subtree(vec[i], w); - w-=vec[i].size(); - } - return cur; -} - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/Sym.h b/trunk/paradiseo-eo/contrib/mathsym/sym/Sym.h deleted file mode 100644 index e90882fb9..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/Sym.h +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef SYMNODE_H_ -#define SYMNODE_H_ - -#include - -#if __GNUC__ >= 3 -#include -#elif __GNUC__ < 3 -#include -using std::hash_map; -#endif - -/* Empty 'extra statistics' structure, derive from this to keep other characteristics of nodes */ -struct UniqueNodeStats { virtual ~UniqueNodeStats(){} }; - -#include "SymImpl.h" -#include "token.h" - -#if __GNUC__ == 4 -#define USE_TR1 1 -#else -#define USE_TR1 0 -#endif - -#if USE_TR1 -#include -typedef std::tr1::unordered_map SymMap; -#else -typedef hash_map SymMap; -#endif - -typedef SymMap::iterator SymIterator; - -/* Sym is the tree, for which all the nodes are stored in a hash table. - * This makes checking for equality O(1) */ -class Sym -{ - public: - - Sym() : node(dag.end()) {} - explicit Sym(token_t token, const SymVec& args); - explicit Sym(token_t token, const Sym& args); - explicit Sym(token_t var); - - explicit Sym(SymIterator it) : node(it) { incref(); } - - Sym(const Sym& oth) : node(oth.node) { incref(); } - ~Sym() { decref(); } - - const Sym& operator=(const Sym& oth) { - if (oth.node == node) return *this; - decref(); - node = oth.node; - incref(); - return *this; - } - - /* Unique Stats are user defined */ - UniqueNodeStats* extra_stats() const { return empty()? 0 : node->second.uniqueNodeStats; } - - int hashcode() const { return node->first.get_hash_code(); } //detail::SymKey::Hash hash; return hash(node->first); } - - // Friends, need to touch the node - friend struct detail::SymKey::Hash; - friend struct detail::SymKey; - - unsigned refcount() const { return empty()? 0: node->second.refcount; } - - bool operator==(const Sym& other) const { - return node == other.node; - } - bool operator!=(const Sym& other) const { return !(*this == other); } - - bool empty() const { return node == dag.end(); } - - /* Support for traversing trees */ - unsigned arity() const { return node->first.arity(); } - token_t token() const { return node->first.token; } - - const SymVec& args() const { return node->first.vec(); } - - /* size() - depth */ - unsigned size() const { return empty()? 0 : node->second.size; } - unsigned depth() const { return empty()? 0 : node->second.depth; } - - SymMap::iterator iterator() const { return node; } - - /* Statics accessing some static members */ - static SymMap& get_dag() { return dag; } - - /* This function can be set to create some UniqueNodeStats derivative that can contain extra stats for a node, - * it can for instance be used to create ERC's and what not. */ - static void set_factory_function(UniqueNodeStats* (*f)(const Sym&)) { factory=f; } - static void clear_factory_function() { factory = 0; } - - static const std::vector& token_refcount() { return token_count; } - - unsigned address() const { return reinterpret_cast(&*node); } - - private : - - // implements getting subtrees - Sym private_get(size_t w) const; - - unsigned __unchecked_refcount() const { return node->second.refcount; } - - void incref() { - if (!empty()) { - ++(node->second.refcount); - ++token_count[token()]; - } - } - void decref() { - if (!empty()) { - --token_count[token()]; - if (--(node->second.refcount) == 0) { - dag.erase(node); - } - } - } - - // The one and only data member, an iterator into the static map below - SymIterator node; - - // A static hash_map that contains all live nodes.. - static SymMap dag; - - static std::vector token_count; - - // Factory function for creating extra node stats, default will be 0 - static UniqueNodeStats* (*factory)(const Sym&); - -}; - -/* Utility hash functor for syms */ -class HashSym { - public: - int operator()(const Sym& sym) const { return sym.hashcode(); } -}; - -/* Utility Functions */ - -// get_subtree retrieves a subtree by standard ordering (0=root, and then depth first) -Sym get_subtree(const Sym& org, size_t w); - -// insert_subtree uses the same ordering as get and inserts the second argument, returning a new tree -Sym insert_subtree(const Sym& org, size_t w, const Sym& nw); - -/* Get the successor from the hashtable, no particular purpose other than an interesting way to mutate */ -inline Sym next(const Sym& sym) { - SymIterator it = sym.iterator(); - ++it; - if (it == Sym::get_dag().end()) it = Sym::get_dag().begin(); - return Sym(it); -} - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/SymImpl.cpp b/trunk/paradiseo-eo/contrib/mathsym/sym/SymImpl.cpp deleted file mode 100644 index b2d568a61..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/SymImpl.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include "Sym.h" - -using namespace std; -namespace detail { - -class SymArgsImpl { - public: - std::vector owned_args; -}; - -size_t SymArgs::len() const { - return vec().size(); -} - -SymArgs::SymArgs() : pimpl( new SymArgsImpl ) { - args_ptr = &pimpl->owned_args; -} - -SymArgs::SymArgs(const std::vector& v) : pimpl(0) { - args_ptr = &v; -} - -SymArgs::~SymArgs() { - delete pimpl; -} - -SymArgs::SymArgs(const SymArgs& args) : pimpl(0), args_ptr(args.args_ptr) { - if (args.pimpl && args.args_ptr == &args.pimpl->owned_args) { - pimpl = new SymArgsImpl(*args.pimpl); - args_ptr = &pimpl->owned_args; - } -} - -const SymArgs& SymArgs::operator=(const SymArgs& args) { - if (args.pimpl && args.args_ptr == &args.pimpl->owned_args) { - pimpl = new SymArgsImpl(*args.pimpl); - args_ptr = &pimpl->owned_args; - } else { - args_ptr = args.args_ptr; - } - - return *this; -} - -void SymArgs::fixate() const { - assert(pimpl == 0); - pimpl = new SymArgsImpl; - pimpl->owned_args = *args_ptr; - args_ptr = &pimpl->owned_args; -} - -// For Tackett's hashcode -#define PRIMET 21523 -#define HASHMOD 277218551 - -const int nprimes = 4; -const unsigned long primes[] = {3221225473ul, 201326611ul, 1610612741ul, 805306457ul}; - -int SymKey::calc_hash() const { - unsigned long hash = unsigned(token); - hash *= PRIMET; - - const std::vector& v = args.vec(); - for (unsigned i = 0; i < v.size(); ++i) { - hash += ( (v[i].address() >> 3) * primes[i%nprimes]) % HASHMOD; - } - - return hash;// % HASHMOD; -} - -bool SymKey::operator==(const SymKey& other) const { - if (token != other.token) return false; - return args.vec() == other.args.vec(); -} - -/* Just to store this info somewhere: - * - * Address Based Hash Function Implementation - * uint32 address_hash(char* addr) - * { - * register uint32 key; - * key = (uint32) addr; - * return (key >> 3) * 2654435761; - * } - */ - -SymValue::SymValue() : refcount(0), size(0), depth(0), uniqueNodeStats(0) {} - -SymValue::~SymValue() { delete uniqueNodeStats; } - - - -} // namespace detail diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/SymImpl.h b/trunk/paradiseo-eo/contrib/mathsym/sym/SymImpl.h deleted file mode 100644 index 64251f57c..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/SymImpl.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef __SYM_IMPL_H__ -#define __SYM_IMPL_H__ - -#include - -#include "token.h" - -class Sym; - -#if __GNUC__ > 4 -#include -typedef std::vector > std::vector; -//typedef std::vector SymVec; -#else -typedef std::vector SymVec; -#endif - - -namespace detail { - -class SymArgsImpl; -class SymArgs { - - mutable SymArgsImpl* pimpl; // contains circular reference to vector - mutable const std::vector* args_ptr; - - public: - - SymArgs(); - SymArgs(const std::vector& v); - ~SymArgs(); - - SymArgs(const SymArgs& args); - const SymArgs& SymArgs::operator=(const SymArgs& other); - - size_t len() const; - const std::vector& vec() const { return *args_ptr; } - void fixate() const; -}; - -class SymKey -{ - public: - SymKey(token_t _token) : args(), token(_token), hash_code(calc_hash()) {} - SymKey(token_t _token, const detail::SymArgs& _args) : args(_args), token(_token), hash_code(calc_hash()) {} - - bool operator==(const SymKey& other) const; - - struct Hash - { - int operator()(const SymKey& k) const { return k.calc_hash(); }; - }; - - unsigned arity() const { return args.len(); } - const std::vector& vec() const { return args.vec(); } - - // fixates (i.e. claims memory) for the embedded vector of Syms - void fixate() const { args.fixate(); } - - int get_hash_code() const { return hash_code; } - - detail::SymArgs args; - token_t token; // identifies the function - - private: - int calc_hash() const; - int hash_code; -}; - -struct SymValue -{ - friend class Sym; - - SymValue(); - ~SymValue(); - - unsigned getRefCount() const { return refcount; } - unsigned getSize() const { return size; } - unsigned getDepth() const { return depth; } - - - - // for reference counting - unsigned refcount; - - // some simple stats - unsigned size; - unsigned depth; - UniqueNodeStats* uniqueNodeStats; - -}; - - -} // namespace detail - -#endif - diff --git a/trunk/paradiseo-eo/contrib/mathsym/sym/token.h b/trunk/paradiseo-eo/contrib/mathsym/sym/token.h deleted file mode 100644 index 68008959d..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/sym/token.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef TOKEN_H -#define TOKEN_H - - -typedef unsigned token_t; - -struct functor_t { - token_t token; - unsigned arity; -}; - -#endif diff --git a/trunk/paradiseo-eo/contrib/mathsym/symreg.cpp b/trunk/paradiseo-eo/contrib/mathsym/symreg.cpp deleted file mode 100644 index cc90e4e15..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/symreg.cpp +++ /dev/null @@ -1,393 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include -#include -#include -#include - -#include -#include -#include -#include -//#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -using namespace std; - -typedef EoSym EoType; - -static int functions_added = 0; - -void add_function(LanguageTable& table, eoParser& parser, string name, unsigned arity, token_t token, const FunDef& fun); -void setup_language(LanguageTable& table, eoParser& parser); - -template -T& select(bool check, T& a, T& b) { if (check) return a; return b; } - -class eoBestIndividualStat : public eoSortedStat { - public: - eoBestIndividualStat() : eoSortedStat("", "best individual") {} - - void operator()(const vector& _pop) { - ostringstream os; - os << (Sym) *_pop[0]; - value() = os.str(); - } - -}; - -class AverageSizeStat : public eoStat { - public: - AverageSizeStat() : eoStat(0.0, "Average size population") {} - - void operator()(const eoPop& _pop) { - double total = 0.0; - for (unsigned i = 0; i < _pop.size(); ++i) { - total += _pop[i].size(); - } - value() = total/_pop.size(); - } -}; - -class SumSizeStat : public eoStat { - public: - SumSizeStat() : eoStat(0u, "Number of subtrees") {} - - void operator()(const eoPop& _pop) { - unsigned total = 0; - for (unsigned i = 0; i < _pop.size(); ++i) { - total += _pop[i].size(); - } - value() = total; - } -}; - -class DagSizeStat : public eoStat { - public: - DagSizeStat() : eoStat(0u, "Number of distinct subtrees") {} - - void operator()(const eoPop& _pop) { - value() = Sym::get_dag().size(); - } -}; - -int main(int argc, char* argv[]) { - - eoParser parser(argc, argv); - - /* Language */ - LanguageTable table; - setup_language(table, parser); - - /* Data */ - - eoValueParam datafile = parser.createParam(string(""), "datafile", "Training data", 'd', string("Regression"), true); // mandatory - double train_percentage = parser.createParam(1.0, "trainperc", "Percentage of data used for training", 0, string("Regression")).value(); - - /* Population */ - - unsigned pop_size = parser.createParam(1500u, "population-size", "Population Size", 'p', string("Population")).value(); - - uint32_t seed = parser.createParam( uint32_t(time(0)), "random-seed", "Seed for rng", 'D').value(); - - cout << "Seed " << seed << endl; - rng.reseed(seed); - - double var_prob = parser.createParam( - 0.9, - "var-prob", - "Probability of selecting a var vs. const when creating a terminal", - 0, - "Population").value(); - - - double grow_prob = parser.createParam( - 0.5, - "grow-prob", - "Probability of selecting 'grow' method instead of 'full' in initialization and mutation", - 0, - "Population").value(); - - unsigned max_depth = parser.createParam( - 8u, - "max-depth", - "Maximum depth used in initialization and mutation", - 0, - "Population").value(); - - - bool use_uniform = parser.createParam( - false, - "use-uniform", - "Use uniform node selection instead of bias towards internal nodes (functions)", - 0, - "Population").value(); - - double constant_mut_prob = parser.createParam( - 0.1, - "constant-mut-rate", - "Probability of performing constant mutation", - 0, - "Population").value(); - - - double subtree_mut_prob = parser.createParam( - 0.2, - "subtree-mut-rate", - "Probability of performing subtree mutation", - 0, - "Population").value(); - - double node_mut_prob = parser.createParam( - 0.2, - "node-mut-rate", - "Probability of performing node mutation", - 0, - "Population").value(); - -/* double lambda_mut_prob = parser.createParam( - 1.0, - "lambda-mut-rate", - "Probability of performing (neutral) lambda extraction/expansion", - 0, - "Population").value(); -*/ - double subtree_xover_prob = parser.createParam( - 0.4, - "xover-rate", - "Probability of performing subtree crossover", - 0, - "Population").value(); - - double homologous_prob = parser.createParam( - 0.4, - "homologous-rate", - "Probability of performing homologous crossover", - 0, - "Population").value(); - - unsigned max_gens = parser.createParam( - 50, - "max-gens", - "Maximum number of generations to run", - 'g', - "Population").value(); - - unsigned tournamentsize = parser.createParam( - 5, - "tournament-size", - "Tournament size used for selection", - 't', - "Population").value(); - - unsigned maximumSize = parser.createParam( - -1u, - "maximum-size", - "Maximum size after crossover", - 's', - "Population").value(); - - unsigned meas_param = parser.createParam( - 2u, - "measure", - "Error measure:\n\ - 0 -> absolute error\n\ - 1 -> mean squared error\n\ - 2 -> mean squared error scaled (equivalent with correlation)\n\ - ", - 'm', - "Regression").value(); - - - ErrorMeasure::measure meas = ErrorMeasure::mean_squared_scaled; - if (meas_param == 0) meas = ErrorMeasure::absolute; - if (meas_param == 1) meas = ErrorMeasure::mean_squared; - - - /* End parsing */ - if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - return 1; - } - - if (functions_added == 0) { - cout << "ERROR: no functions defined" << endl; - exit(1); - } - - - Dataset dataset; - dataset.load_data(datafile.value()); - - cout << "Data " << datafile.value() << " loaded " << endl; - - /* Add Variables */ - unsigned nvars = dataset.n_fields(); - for (unsigned i = 0; i < nvars; ++i) { - table.add_function( SymVar(i).token(), 0); - } - - TreeBuilder builder(table, var_prob); - eoSymInit init(builder, grow_prob, max_depth); - - eoPop pop(pop_size, init); - - BiasedNodeSelector biased_sel; - RandomNodeSelector random_sel; - - NodeSelector& node_selector = select(use_uniform, random_sel, biased_sel); - - //eoProportionalOp genetic_operator; - eoSequentialOp genetic_operator; - - eoSymSubtreeMutate submutate(builder, node_selector); - genetic_operator.add( submutate, subtree_mut_prob); - - // todo, make this parameter, etc - double std = 0.01; - eoSymConstantMutate constmutate(std); - genetic_operator.add(constmutate, constant_mut_prob); - - eoSymNodeMutate nodemutate(table); - genetic_operator.add(nodemutate, node_mut_prob); - -// eoSymLambdaMutate lambda_mutate(node_selector); -// genetic_operator.add(lambda_mutate, lambda_mut_prob); // TODO: prob should be settable - - //eoQuadSubtreeCrossover quad(node_selector); - eoBinSubtreeCrossover bin(node_selector); - genetic_operator.add(bin, subtree_xover_prob); - - eoBinHomologousCrossover hom; - genetic_operator.add(hom, homologous_prob); - - - IntervalBoundsCheck check(dataset.input_minima(), dataset.input_maxima()); - ErrorMeasure measure(dataset, train_percentage, meas); - - eoSymPopEval evaluator(check, measure, maximumSize); - - eoDetTournamentSelect selectOne(tournamentsize); - eoGeneralBreeder breeder(selectOne, genetic_operator); - eoPlusReplacement replace; - - // Terminators - eoGenContinue term(max_gens); - eoCheckPoint checkpoint(term); - - eoBestFitnessStat beststat; - checkpoint.add(beststat); - - eoBestIndividualStat printer; - AverageSizeStat avgSize; - DagSizeStat dagSize; - SumSizeStat sumSize; - - checkpoint.add(printer); - checkpoint.add(avgSize); - checkpoint.add(dagSize); - checkpoint.add(sumSize); - - eoStdoutMonitor genmon; - genmon.add(beststat); - genmon.add(printer); - genmon.add(avgSize); - genmon.add(dagSize); - genmon.add(sumSize); - genmon.add(term); // add generation counter - - checkpoint.add(genmon); - - eoPop dummy; - evaluator(pop, dummy); - - eoEasyEA ea(checkpoint, evaluator, breeder, replace); - - ea(pop); // run - -} - -void add_function(LanguageTable& table, eoParser& parser, string name, unsigned arity, token_t token, const FunDef& fun, bool all) { - ostringstream desc; - desc << "Enable function " << name << " arity = " << arity; - bool enabled = parser.createParam(false, name, desc.str(), 0, "Language").value(); - - if (enabled || all) { - cout << "Func " << name << " enabled" << endl; - table.add_function(token, arity); - if (arity > 0) functions_added++; - } -} - -void setup_language(LanguageTable& table, eoParser& parser) { - - bool all = parser.createParam(false,"all", "Enable all functions").value(); - bool ratio = parser.createParam(false,"ratio","Enable rational functions (inv,min,sum,prod)").value(); - bool poly = parser.createParam(false,"poly","Enable polynomial functions (min,sum,prod)").value(); - - // assumes that at this point all tokens are defined (none are zeroed out, which can happen with ERCs) - vector lang = get_defined_functions(); - - for (token_t i = 0; i < lang.size(); ++i) { - - if (lang[i] == 0) continue; - - bool is_poly = false; - if (poly && (i == prod_token || i == sum_token || i == min_token) ) { - is_poly = true; - } - - bool is_ratio = false; - if (ratio && (is_poly || i == inv_token)) { - is_ratio = true; - } - - const FunDef& fun = *lang[i]; - - if (fun.has_varargs() ) { - - for (unsigned j = fun.min_arity(); j < fun.min_arity() + 8; ++j) { - if (j==1) continue; // prod 1 and sum 1 are useless - ostringstream nm; - nm << fun.name() << j; - bool addanyway = (all || is_ratio || is_poly) && j == 2; - add_function(table, parser, nm.str(), j, i, fun, addanyway); - } - } - else { - add_function(table, parser, fun.name(), fun.min_arity(), i, fun, all || is_ratio || is_poly); - } - } -} - - diff --git a/trunk/paradiseo-eo/contrib/mathsym/tcc.tar.gz b/trunk/paradiseo-eo/contrib/mathsym/tcc.tar.gz deleted file mode 100644 index 5b9354733..000000000 Binary files a/trunk/paradiseo-eo/contrib/mathsym/tcc.tar.gz and /dev/null differ diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Entries b/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Entries deleted file mode 100644 index 67db073ed..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/test_compile.cpp/1.2/Sun Oct 9 07:03:35 2005// -/test_diff.cpp/1.1/Tue Oct 11 08:15:29 2005// -/test_lambda.cpp/1.1/Sun Oct 16 15:38:38 2005// -/test_mf.cpp/1.1/Thu Nov 24 09:35:34 2005// -/test_simplify.cpp/1.2/Thu Nov 24 09:35:34 2005// -/testeo.cpp/1.3/Tue Oct 11 08:15:29 2005// -D diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Repository b/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Repository deleted file mode 100644 index ea3fd5e9a..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/contrib/mathsym/test diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Root b/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/test_compile.cpp b/trunk/paradiseo-eo/contrib/mathsym/test/test_compile.cpp deleted file mode 100644 index 2c2f02ae5..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/test_compile.cpp +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include - -#include -#include - -#include -#include -#include -#include -#include - -#include - -using namespace std; - -void test_xover(); - -int main() { - Dataset dataset; - dataset.load_data("test_data.txt"); - - cout << "Records/Fields " << dataset.n_records() << ' ' << dataset.n_fields() << endl; - - LanguageTable table; - table.add_function(sum_token, 2); - table.add_function(prod_token, 2); - table.add_function(sum_token, 0); - table.add_function(prod_token, 0); - table.add_function(inv_token, 1); - table.add_function(min_token, 1); - - for (unsigned i = 0; i < dataset.n_fields(); ++i) { - table.add_function( SymVar(i).token(), 0); - } - - TreeBuilder builder(table); - - IntervalBoundsCheck bounds(dataset.input_minima(), dataset.input_maxima() ); - ErrorMeasure measure(dataset, 1.0); - - - unsigned n = 1000; - unsigned k = 0; - - vector pop; - double sumsize = 0; - for (unsigned i = 0; i < n; ++i) { - - Sym sym = builder.build_tree(6, i%2); - pop.push_back(sym); - sumsize += sym.size(); - } - - cout << "Size " << sumsize/pop.size() << endl; - - // shuffle - for (unsigned gen = 0; gen < 10; ++gen) { - random_shuffle(pop.begin(), pop.end()); - for (unsigned i = 0; i < pop.size(); i+=2) { - - unsigned p1 = rng.random(pop[i].size()); - unsigned p2 = rng.random(pop[i+1].size()); - - Sym a = insert_subtree(pop[i], p1, get_subtree(pop[i+1], p2)); - Sym b = insert_subtree(pop[i+1], p2, get_subtree(pop[i], p1)); - - pop[i] = a; - pop[i+1] = b; - - } - cout << gen << ' ' << Sym::get_dag().size() << endl; - } - - vector oldpop; - swap(pop,oldpop); - for (unsigned i = 0; i < oldpop.size(); ++i) { - Sym sym = oldpop[i]; - if (!bounds.in_bounds(sym)) { - k++; - continue; - } - pop.push_back(sym); - } - - cout << "Done" << endl; - - // full compilation - - time_t start_time = time(0); - time_t compile_time; - { - multi_function f = compile(pop); - compile_time = time(0); - vector out(pop.size()); - - for (unsigned j = 0; j < dataset.n_records(); ++j) { - f(&dataset.get_inputs(j)[0], &out[0]); - } - } - - time_t end_time = time(0); - - cout << "Evaluated " << n-k << " syms in " << end_time - start_time << " seconds, compile took " << compile_time - start_time << " seconds" << endl; - - start_time = time(0); - vector funcs; - compile(pop, funcs); - compile_time = time(0); - for (unsigned i = 0; i < pop.size(); ++i) { - - single_function f = funcs[i]; - for (unsigned j = 0; j < dataset.n_records(); ++j) { - f(&dataset.get_inputs(j)[0]); - } - - } - - end_time = time(0); - - cout << "Evaluated " << n-k << " syms in " << end_time - start_time << " seconds, compile took " << compile_time - start_time << " seconds" << endl; - return 0; // skip the 'slow' one-by-one method - start_time = time(0); - for (unsigned i = 0; i < pop.size(); ++i) { - - single_function f = compile(pop[i]); - for (unsigned j = 0; j < dataset.n_records(); ++j) { - f(&dataset.get_inputs(j)[0]); - } - - } - - end_time = time(0); - - cout << "Evaluated " << n-k << " syms in " << end_time - start_time << " seconds" << endl; - -} - -void test_xover() { - Sym c = SymVar(0); - Sym x = c + c * c + c; - - cout << c << endl; - cout << x << endl; - - vector pop; - for (unsigned i = 0; i < x.size(); ++i) { - for (unsigned j = 0; j < x.size(); ++j) { - - Sym s = insert_subtree(x, i, get_subtree(x, j)); - pop.push_back(s); - cout << i << ' ' << j << ' ' << s << endl; - } - } - - x = Sym(); - c = Sym(); - - SymMap& dag = Sym::get_dag(); - - for (SymMap::iterator it = dag.begin(); it != dag.end(); ++it) { - Sym s(it); - cout << s << ' ' << s.refcount() << endl; - } - - - -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/test_diff.cpp b/trunk/paradiseo-eo/contrib/mathsym/test/test_diff.cpp deleted file mode 100644 index 09dd292d4..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/test_diff.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -#include - -using namespace std; - -int main() { - - Sym v = SymConst(1.2); - - Sym g = exp(-sqr(v)); - - cout << g << endl; - cout << differentiate(g, v.token()) << endl; - -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/test_lambda.cpp b/trunk/paradiseo-eo/contrib/mathsym/test/test_lambda.cpp deleted file mode 100644 index dc8e1ac70..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/test_lambda.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include - -using namespace std; - -int main() { - - Sym x = SymVar(0); - Sym y = SymVar(1); - - Sym f = y + x*x; - - Sym l = SymLambda(f); - - SymVec args = l.args(); - args[0] = x; - args[1] = y; - l = Sym(l.token(), args); - - vector v(3); - v[0] = 2.0; - v[1] = 3.0; - v[2] = 4.0; - - double v1 = eval(f,v); - double v2 = eval(l,v); - - cout << v1 << ' ' << v2 << endl; - cout << f << endl; - cout << l << endl; - - if (v1 != 7.0) return 1; - if (v2 != 11.0) return 1; -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/test_mf.cpp b/trunk/paradiseo-eo/contrib/mathsym/test/test_mf.cpp deleted file mode 100644 index 8cccfb128..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/test_mf.cpp +++ /dev/null @@ -1,45 +0,0 @@ - -#include "Sym.h" -#include "MultiFunction.h" -#include "FunDef.h" - -using namespace std; - -int main() { - - Sym v = SymVar(0); - Sym c = SymConst(0.1); - - Sym sym = inv(v) + c; - Sym a = sym; - - sym = sym * sym; - Sym b = sym; - sym = sym + sym; - - c = sym; - - vector pop; - pop.push_back(sym); - - MultiFunction m(pop); - - - vector vec(1); - vec[0] = 10.0; - cout << sym << endl; - - cout << "Eval " << eval(sym, vec); - - vector y(1); - - m(vec,y); - - cout << " " << y[0] << endl; - - cout << "3 " << eval(a,vec) << endl; - cout << "4 " << eval(b, vec) << endl; - cout << "5 " << eval(c, vec) << endl; - -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/test_simplify.cpp b/trunk/paradiseo-eo/contrib/mathsym/test/test_simplify.cpp deleted file mode 100644 index 73c920f2a..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/test_simplify.cpp +++ /dev/null @@ -1,21 +0,0 @@ - -#include - -using namespace std; - -int main() { - - Sym c1 = SymConst(0.4); - Sym c2 = SymConst(0.3); - Sym v1 = SymVar(0); - - Sym expr = (c1 + c2) * ( (c1 + c2) * v1); - - cout << expr << endl; - cout << simplify(expr) << endl; - - Sym dv = differentiate( exp(expr) , v1.token()); - cout << dv << endl; - cout << simplify(dv) << endl; -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/test/testeo.cpp b/trunk/paradiseo-eo/contrib/mathsym/test/testeo.cpp deleted file mode 100644 index a15303cb0..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test/testeo.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (C) 2005 Maarten Keijzer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -typedef EoSym EoType; - -int main() { - - LanguageTable table; - table.add_function(sum_token, 2); - table.add_function(prod_token, 2); - table.add_function(inv_token, 1); - table.add_function(min_token, 1); - table.add_function( SymVar(0).token(), 0); - - table.add_function(tan_token, 1); - - table.add_function(sum_token, 0); - table.add_function(prod_token, 0); - - TreeBuilder builder(table); - - eoSymInit init(builder); - - eoPop pop(10, init); - - for (unsigned i = 0; i < pop.size(); ++i) { - // write out pretty printed - cout << (Sym) pop[i] << endl; - } - - BiasedNodeSelector node_selector; - eoSymSubtreeMutate mutate1(builder, node_selector); - eoSymNodeMutate mutate2(table); - - cout << "****** MUTATION ************" << endl; - - for (unsigned i = 0; i < pop.size(); ++i) { - - cout << "Before " << (Sym) pop[i] << endl; - mutate1(pop[i]); - cout << "After 1 " << (Sym) pop[i] << endl; - mutate2(pop[i]); - cout << "After 2 " << (Sym) pop[i] << endl; - } - - cout << "****** CROSSOVER ***********" << endl; - - eoQuadSubtreeCrossover quad(node_selector); - eoBinSubtreeCrossover bin(node_selector); - eoBinHomologousCrossover hom; - - for (unsigned i = 0; i < pop.size()-1; ++i) { - cout << "Before " << (Sym) pop[i] << endl; - cout << "Before " << (Sym) pop[i+1] << endl; - - hom(pop[i], pop[i+1]); - - cout << "After hom " << (Sym) pop[i] << endl; - cout << "After hom " << (Sym) pop[i+1] << endl; - - - quad(pop[i], pop[i+1]); - - cout << "After quad " << (Sym) pop[i] << endl; - cout << "After quad " << (Sym) pop[i+1] << endl; - - bin(pop[i], pop[i+1]); - - cout << "After bin " << (Sym) pop[i] << endl; - cout << "After bin " << (Sym) pop[i+1] << endl; - - cout << endl; - } - - cout << "****** Evaluation **********" << endl; - - Dataset dataset; - dataset.load_data("test_data.txt"); - IntervalBoundsCheck check(dataset.input_minima(), dataset.input_maxima()); - ErrorMeasure measure(dataset, 0.90, ErrorMeasure::mean_squared_scaled); - - eoSymPopEval evaluator(check, measure, 20000); - - eoPop dummy; - evaluator(pop, dummy); - - for (unsigned i = 0; i < pop.size(); ++i) { - cout << pop[i] << endl; - } - -} - diff --git a/trunk/paradiseo-eo/contrib/mathsym/test_data.txt b/trunk/paradiseo-eo/contrib/mathsym/test_data.txt deleted file mode 100644 index a8c792b1a..000000000 --- a/trunk/paradiseo-eo/contrib/mathsym/test_data.txt +++ /dev/null @@ -1,102 +0,0 @@ -# 101 2 nan nan - 0 -0 - 0.1 -8.89903723981037e-05 - 0.2 -0.00122598240763888 - 0.3 -0.00517587564272387 - 0.4 -0.0132382052428645 - 0.5 -0.0254643081877282 - 0.6 -0.0407070337997998 - 0.7 -0.057285499199392 - 0.8 -0.0737562490233578 - 0.9 -0.0892727708954409 - 1 -0.103268200413493 - 1.1 -0.114577577792354 - 1.2 -0.120446083316857 - 1.3 -0.116000062935524 - 1.4 -0.0946298417869761 - 1.5 -0.0493963195458011 - 1.6 0.0248409598316732 - 1.7 0.129207388804052 - 1.8 0.259260510831339 - 1.9 0.404709502287215 - 2 0.550653582802201 - 2.1 0.680124882844178 - 2.2 0.777313232294796 - 2.3 0.830628236863242 - 2.4 0.834788256127692 - 2.5 0.79140362503436 - 2.6 0.707953643967287 - 2.7 0.595509207315954 - 2.8 0.46588939354196 - 2.9 0.329064872475183 - 3 0.191504886385553 - 3.1 0.0558518299407852 - 3.2 -0.0781019284912663 - 3.3 -0.211542824409141 - 3.4 -0.344524221510933 - 3.5 -0.474312294176053 - 3.6 -0.594727989459508 - 3.7 -0.696713721292122 - 3.8 -0.769988957905497 - 3.9 -0.805344773512717 - 4 -0.796949283133396 - 4.1 -0.744036874310458 - 4.2 -0.651525836186196 - 4.3 -0.529396820025977 - 4.4 -0.39098574050144 - 4.5 -0.250612439788816 - 4.6 -0.121113466670896 - 4.7 -0.0118426008551395 - 4.8 0.0724429930487275 - 4.9 0.13163323998176 - 5 0.169341449166714 - 5.1 0.191319990014267 - 5.2 0.203657703492626 - 5.3 0.211210264725322 - 5.4 0.216611758596317 - 5.5 0.220036646440173 - 5.6 0.219677788419796 - 5.7 0.212731354762643 - 5.8 0.196574232374672 - 5.9 0.169803441763318 - 6 0.132875383837662 - 6.1 0.0882099910986659 - 6.2 0.0397733622937463 - 6.3 -0.00771703924831375 - 6.4 -0.0497388405970527 - 6.5 -0.0828196592845663 - 6.6 -0.105101954751146 - 6.7 -0.116508794142315 - 6.8 -0.118508967610477 - 6.9 -0.113576955648085 - 7 -0.104507044103426 - 7.1 -0.0937591677397028 - 7.2 -0.0829871341075209 - 7.3 -0.0728391340503617 - 7.4 -0.0630443677389944 - 7.5 -0.0527284491080759 - 7.6 -0.0408508284036276 - 7.7 -0.0266394584962638 - 7.8 -0.00991225704809318 - 7.9 0.00878546797299183 - 8 0.0282459694154097 - 8.1 0.0468334978875681 - 8.2 0.0628175943181446 - 8.3 0.0747179317764707 - 8.4 0.0815794072993519 - 8.5 0.0831208473565567 - 8.6 0.0797359724522078 - 8.7 0.072361534724142 - 8.8 0.0622560784562081 - 8.9 0.0507477567273995 - 9 0.0390091892966309 - 9.1 0.0279034956336959 - 9.2 0.0179233472968783 - 9.3 0.00922050032813963 - 9.4 0.00170282350837218 - 9.5 -0.00483635091477891 - 9.6 -0.010593872761556 - 9.7 -0.0156676782318098 - 9.8 -0.020019888098685 - 9.9 -0.0234934811028401 - 10 -0.0258701880584331 diff --git a/trunk/paradiseo-eo/doc/.cvsignore b/trunk/paradiseo-eo/doc/.cvsignore deleted file mode 100644 index 23d7e990f..000000000 --- a/trunk/paradiseo-eo/doc/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -Makefile -Makefile.in -eo.doxytag -html -latex -man diff --git a/trunk/paradiseo-eo/doc/CVS/Entries b/trunk/paradiseo-eo/doc/CVS/Entries deleted file mode 100644 index 50869ce7e..000000000 --- a/trunk/paradiseo-eo/doc/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/.cvsignore/5.3/Thu Dec 23 17:26:39 2004// -/EO_EA2001.pdf/1.1/Mon Oct 3 10:06:26 2005/-kb/ -/LeCreusot.pdf/1.1/Sat Oct 1 11:59:13 2005/-kb/ -/Makefile.am/5.8/Fri Sep 24 15:00:42 2004// -/eo.cfg/1.13/Mon Oct 3 09:56:02 2005// -/index.h/1.8/Mon Oct 3 10:56:56 2005// -/mainpage.html/1.20/Tue Jun 13 13:35:26 2006// -/publications.html/1.1/Sat Mar 25 13:03:45 2006// -/sflogo-hammer1.jpg/1.1/Mon Oct 3 10:10:09 2005/-kb/ -D diff --git a/trunk/paradiseo-eo/doc/CVS/Repository b/trunk/paradiseo-eo/doc/CVS/Repository deleted file mode 100644 index 0a569cc73..000000000 --- a/trunk/paradiseo-eo/doc/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/doc diff --git a/trunk/paradiseo-eo/doc/CVS/Root b/trunk/paradiseo-eo/doc/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/doc/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/doc/EO_EA2001.pdf b/trunk/paradiseo-eo/doc/EO_EA2001.pdf deleted file mode 100644 index 2a3116f3d..000000000 Binary files a/trunk/paradiseo-eo/doc/EO_EA2001.pdf and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/LeCreusot.pdf b/trunk/paradiseo-eo/doc/LeCreusot.pdf deleted file mode 100644 index 7c0acb95c..000000000 Binary files a/trunk/paradiseo-eo/doc/LeCreusot.pdf and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/Makefile.am b/trunk/paradiseo-eo/doc/Makefile.am deleted file mode 100644 index 1d82cf01c..000000000 --- a/trunk/paradiseo-eo/doc/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -## Makefile.am for eo/doc - - -EXTRA_DIST = eo.cfg foot.html - -doc: - cd $(srcdir) && $(DOXYGEN) eo.cfg - -clean-local: - cd $(srcdir) && rm -rf html latex man diff --git a/trunk/paradiseo-eo/doc/eo.cfg b/trunk/paradiseo-eo/doc/eo.cfg deleted file mode 100644 index 5fbd7166e..000000000 --- a/trunk/paradiseo-eo/doc/eo.cfg +++ /dev/null @@ -1,1119 +0,0 @@ -# Doxyfile 1.3.6 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = EO - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 0.9.4-cvs - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, -# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en -# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, -# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for -# all platforms other than Windows). - -USE_WINDOWS_ENCODING = NO - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is used -# as the annotated text. Otherwise, the brief description is used as-is. If left -# blank, the following values are used ("$name" is automatically replaced with the -# name of the entity): "The $name class" "The $name widget" "The $name file" -# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited -# members of a class in the documentation of that class as if those members were -# ordinary class members. Constructors, destructors and assignment operators of -# the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. It is allowed to use relative paths in the argument list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = YES - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources -# only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = .. - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp -# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc - -FILE_PATTERNS = *.cpp \ - *.h \ - NEWS README - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = ../src/obsolete - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories -# that are symbolic links (a Unix filesystem feature) are excluded from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. - -EXCLUDE_PATTERNS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. - -INPUT_FILTER = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 3 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = eo - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = YES - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_PREDEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse the -# parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = eo.doxytag - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or -# super classes. Setting the tag to NO turns the diagrams off. Note that this -# option is superseded by the HAVE_DOT option below. This is only a fallback. It is -# recommended to install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found on the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_WIDTH = 1024 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_HEIGHT = 1024 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes that -# lay further from the root node will be omitted. Note that setting this option to -# 1 or 2 may greatly reduce the computation time needed for large code bases. Also -# note that a graph may be further truncated if the graph's image dimensions are -# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). -# If 0 is used for the depth value (the default), the graph is not depth-constrained. - -MAX_DOT_GRAPH_DEPTH = 0 - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = YES diff --git a/trunk/paradiseo-eo/doc/eo.doxytag b/trunk/paradiseo-eo/doc/eo.doxytag deleted file mode 100644 index 091194a11..000000000 --- a/trunk/paradiseo-eo/doc/eo.doxytag +++ /dev/null @@ -1,14501 +0,0 @@ - - - - main - Welcome to Evolving Objects - main - intro - tutorial - install - design - - - eo1PtBitCrossover - classeo1_pt_bit_crossover.html - - - eoAged - classeo_aged.html - Object - - - eoAged - a0 - (const Object &_o) - - - - eoAged - a1 - (const eoAged &_a) - - - virtual - ~eoAged - a2 - () - - - unsigned long - Age - a3 - () const - - - const eoAged & - operator++ - a4 - () - - - virtual std::string - className - z9_0 - () const - - - virtual void - readFrom - z9_1 - (istream &_is) - - - virtual void - printOn - z9_2 - (ostream &_os) const - - - - eoAged - d0 - () - - - unsigned long - age - r0 - - - - - eoAlgo - classeo_algo.html - EOT - eoUF< eoPop< EOT > &, void > - - - eoArithmeticCrossover - classeo_arithmetic_crossover.html - - - eoAssembledFitnessAverageStat - classeo_assembled_fitness_average_stat.html - EOT - eoStat< EOT, double > - - EOT::Fitness - Fitness - w0 - - - - - eoAssembledFitnessAverageStat - a0 - (unsigned _whichTerm=0, std::string _description="Average Fitness") - - - virtual void - operator() - a1 - (const eoPop< EOT > &_pop) - - - unsigned - whichFitnessTerm - r0 - - - - - eoAssembledFitnessBestStat - classeo_assembled_fitness_best_stat.html - EOT - eoStat< EOT, double > - - EOT::Fitness - Fitness - w0 - - - - - eoAssembledFitnessBestStat - a0 - (unsigned _whichTerm=0, std::string _description="Best Fitness") - - - virtual void - operator() - a1 - (const eoPop< EOT > &_pop) - - - unsigned - whichFitnessTerm - r0 - - - - - eoAtomExchange - classeo_atom_exchange.html - Atom - eoBF< unsigned, Atom &, bool > - - virtual void - randomize - a0 - (unsigned int, unsigned int) - - - virtual std::string - className - a1 - () const =0 - - - - eoAverageStat - classeo_average_stat.html - EOT - eoStat< EOT, EOT::Fitness > - - EOT::Fitness - Fitness - w0 - - - - - eoAverageStat - a0 - (std::string _description="Average Fitness") - - - - eoAverageStat - a1 - (double _value, std::string _desc) - - - virtual void - operator() - a2 - (const eoPop< EOT > &_pop) - - - virtual std::string - className - a3 - (void) const - - - Fitness - sumFitness - e0 - (double _sum, const EOT &_eot) - - - void - doit - d0 - (const eoPop< EOT > &_pop, eoParetoFitness< T >) - - - void - doit - d1 - (const eoPop< EOT > &_pop, T) - - - - eoBestFitnessStat - classeo_best_fitness_stat.html - EOT - eoStat< EOT, EOT::Fitness > - - EOT::Fitness - Fitness - w0 - - - - - eoBestFitnessStat - a0 - (std::string _description="Best ") - - - void - operator() - a1 - (const eoPop< EOT > &_pop) - - - virtual std::string - className - a2 - (void) const - - - void - doit - d0 - (const eoPop< EOT > &_pop, eoParetoFitness< T >) - - - void - doit - d1 - (const eoPop< EOT > &_pop, T) - - - - eoBestSelect - classeo_best_select.html - EOT - eoSelectOne< EOT > - - virtual const EOT & - operator() - a0 - (const eoPop< EOT > &_pop) - - - - eoBF - classeo_b_f.html - A1 - A2 - R - eoFunctorBase - - virtual - ~eoBF - a0 - () - - - virtual R - operator() - a1 - (A1, A2)=0 - - - eoFunctorBase::binary_function_tag - functor_category - e0 - () - - - - BiasedNodeSelector - class_biased_node_selector.html - NodeSelector - - - BiasedNodeSelector - a1 - (unsigned n) - - - NodeSelection - select_node - a2 - (Sym sym) const - - - unsigned - nRounds - o0 - - - - - eoBinaryFunctorCounter - classeo_binary_functor_counter.html - BinaryFunctor - eoValueParam< unsigned long > - - - eoBinaryFunctorCounter - a0 - (BinaryFunctor &_func, std::string _name="proc_counter") - - - BinaryFunctor::result_type - operator() - a1 - (typename BinaryFunctor::first_argument_type _arg1, typename BinaryFunctor::second_argument_type _arg2) - - - BinaryFunctor & - func - r0 - - - - - eoBinCloneOp - classeo_bin_clone_op.html - EOT - eoBinOp< EOT > - - - eoBinCloneOp - a0 - () - - - virtual std::string - className - a1 - () const - - - virtual bool - operator() - a2 - (EOT &, const EOT &) - - - - eoBinGenOp - classeo_bin_gen_op.html - EOT - eoGenOp - - - eoBinGenOp - a0 - (eoBinOp< EOT > &_op) - - - unsigned - max_production - a1 - (void) - - - void - apply - a2 - (eoPopulator< EOT > &_pop) - - - virtual std::string - className - a3 - () const - - - eoBinOp< EOT > & - op - r0 - - - - - eoBinOp - classeo_bin_op.html - EOType - eoOp - eoBF< EOType &, const EOType &, bool > - - - eoBinOp - a0 - () - - - virtual std::string - className - a1 - () const - - - - eoBit - classeo_bit.html - FitT - eoVector< FitT, bool > - - - eoBit - a0 - (unsigned size=0, bool value=false) - - - virtual std::string - className - a1 - () const - - - virtual void - printOn - a2 - (std::ostream &os) const - - - virtual void - readFrom - a3 - (std::istream &is) - - - - eoBitBitFlip - classeo_bit_bit_flip.html - - - eoBitGxOver - classeo_bit_gx_over.html - Chrom - eoQuadOp< Chrom > - - - eoBitGxOver - a0 - (const unsigned _gene_size, const unsigned _num_points=2) - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (Chrom &chrom1, Chrom &chrom2) - - - unsigned - gene_size - r0 - - - - unsigned - num_points - r1 - - - - - eoBitInversion - classeo_bit_inversion.html - Chrom - eoMonOp< Chrom > - - virtual std::string - className - a0 - () const - - - bool - operator() - a1 - (Chrom &chrom) - - - - eoBitMutation - classeo_bit_mutation.html - Chrom - eoMonOp< Chrom > - - - eoBitMutation - a0 - (const double &_rate=0.01, bool _normalize=false) - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (Chrom &chrom) - - - double - rate - r0 - - - - bool - normalize - r1 - - - - - eoBitNext - classeo_bit_next.html - Chrom - eoMonOp< Chrom > - - virtual std::string - className - a0 - () const - - - bool - operator() - a1 - (Chrom &chrom) - - - - eoBitOpFactory - classeo_bit_op_factory.html - EOT - eoFactory< EOT > - - virtual eoOp< EOT > * - make - a0 - (std::istream &_is) - - - - eoBitOpFactory - z23_0 - () - - - virtual - ~eoBitOpFactory - z23_1 - () - - - - eoBitPrev - classeo_bit_prev.html - Chrom - eoMonOp< Chrom > - - virtual std::string - className - a0 - () const - - - bool - operator() - a1 - (Chrom &chrom) - - - - boolean_generator - classboolean__generator.html - - - boolean_generator - a0 - (float _bias=0.5, eoRng &_rng=rng) - - - bool - operator() - a1 - (void) - - - float - bias - r0 - - - - eoRng & - gen - r1 - - - - - eoBooleanGenerator - classeo_boolean_generator.html - eoRndGenerator< bool > - - - eoBooleanGenerator - a0 - (float _bias=0.5, eoRng &_rng=rng) - - - bool - operator() - a1 - (void) - - - float - bias - r0 - - - - eoRng & - gen - r1 - - - - - eoBooleanInit - classeo_boolean_init.html - eoInit< bool > - - - eoBooleanInit - a0 - (float _bias=0.5, eoRng &_rng=rng) - - - void - operator() - a1 - (bool &_b) - - - float - bias - r0 - - - - eoRng & - gen - r1 - - - - - eoBoolFlip - classeo_bool_flip.html - eoMonOp< bool > - - bool - operator() - a0 - (bool &_b) - - - virtual string - className - a1 - () const - - - - eoBranchMutation - classeo_branch_mutation.html - FType - Node - eoMonOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoBranchMutation - a0 - (eoInit< EoType > &_init, unsigned _max_length) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoBranchMutation - a2 - () - - - bool - operator() - a3 - (EoType &_eo1) - - - unsigned - max_length - r0 - - - - eoInit< EoType > & - initializer - r1 - - - - - eoBreed - classeo_breed.html - EOT - eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > - - - eoCellularEasyEA - classeo_cellular_easy_e_a.html - EOT - eoAlgo - - - eoCellularEasyEA - a0 - (eoContinue< EOT > &_cont, eoEvalFunc< EOT > &_eval, eoSelectOne< EOT > &_sel_neigh, eoBinOp< EOT > &_cross, eoMonOp< EOT > &_mut, eoSelectOne< EOT > &_sel_repl) - - - - eoCellularEasyEA - a1 - (eoContinue< EOT > &_cont, eoEvalFunc< EOT > &_eval, eoSelectOne< EOT > &_sel_neigh, eoQuadOp< EOT > &_cross, eoMonOp< EOT > &_mut, eoSelectOne< EOT > &_sel_child, eoSelectOne< EOT > &_sel_repl) - - - void - operator() - a2 - (eoPop< EOT > &pop) - - - virtual eoPop< EOT > - neighbours - b0 - (const eoPop< EOT > &pop, int rank)=0 - - - eoContinue< EOT > & - cont - r0 - - - - eoEvalFunc< EOT > & - eval - r1 - - - - eoPopLoopEval< EOT > - popEval - r2 - - - - eoSelectOne< EOT > & - sel_neigh - r3 - - - - eoBF< EOT &, EOT &, bool > & - cross - r4 - - - - eoMonOp< EOT > & - mut - r5 - - - - eoSelectOne< EOT > & - sel_child - r6 - - - - eoSelectOne< EOT > & - sel_repl - r7 - - - - - eoCheckPoint - classeo_check_point.html - EOT - eoContinue - - - eoCheckPoint - a0 - (eoContinue< EOT > &_cont) - - - bool - operator() - a1 - (const eoPop< EOT > &_pop) - - - void - add - a2 - (eoContinue< EOT > &_cont) - - - void - add - a3 - (eoSortedStatBase< EOT > &_stat) - - - void - add - a4 - (eoStatBase< EOT > &_stat) - - - void - add - a5 - (eoMonitor &_mon) - - - void - add - a6 - (eoUpdater &_upd) - - - virtual std::string - className - a7 - (void) const - - - std::string - allClassNames - a8 - () const - - - std::vector< eoContinue< EOT > * > - continuators - r0 - - - - std::vector< eoSortedStatBase< EOT > * > - sorted - r1 - - - - std::vector< eoStatBase< EOT > * > - stats - r2 - - - - std::vector< eoMonitor * > - monitors - r3 - - - - std::vector< eoUpdater * > - updaters - r4 - - - - - eoCMABreed - classeo_c_m_a_breed.html - FitT - eoBreed< eoVector< FitT, double > > - - - eoCMABreed - a0 - (eo::CMAState &state_, unsigned lambda_) - - - void - operator() - a1 - (const eoPop< EOT > &parents, eoPop< EOT > &offspring) - - - eoVector< FitT, double > - EOT - y0 - - - - eo::CMAState & - state - r0 - - - - unsigned - lambda - r1 - - - - - eoCMAInit - classeo_c_m_a_init.html - FitT - eoInit< eoVector< FitT, double > > - - - eoCMAInit - a0 - (const eo::CMAState &state_) - - - void - operator() - a1 - (EOT &v) - - - eoVector< FitT, double > - EOT - y0 - - - - const eo::CMAState & - state - r0 - - - - - eoCollapseSubtreeMutation - classeo_collapse_subtree_mutation.html - FType - Node - eoMonOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoCollapseSubtreeMutation - a0 - (eoInit< EoType > &_init, unsigned _max_length) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoCollapseSubtreeMutation - a2 - () - - - bool - operator() - a3 - (EoType &_eo1) - - - unsigned - max_length - r0 - - - - eoInit< EoType > & - initializer - r1 - - - - - eoCombinedContinue - classeo_combined_continue.html - EOT - eoContinue - - EOT::Fitness - FitnessType - w0 - - - - - eoCombinedContinue - a0 - (eoContinue< EOT > &_cont) - - - - eoCombinedContinue - a1 - (eoContinue< EOT > &_cont1, eoContinue< EOT > &_cont2) - - - void - add - a2 - (eoContinue< EOT > &_cont) - - - void - removeLast - a3 - (void) - - - virtual bool - operator() - a4 - (const eoPop< EOT > &_pop) - - - virtual std::string - className - a5 - (void) const - - - std::vector< eoContinue< EOT > * > - continuators - r0 - - - - - eoCombinedInit - classeo_combined_init.html - EOT - eoInit - - - eoCombinedInit - a0 - (eoInit< EOT > &_init, double _rate) - - - void - add - a1 - (eoInit< EOT > &_init, double _rate, bool _verbose=false) - - - virtual void - printOn - a2 - (std::ostream &_os) - - - virtual void - operator() - a3 - (EOT &_eo) - - - virtual std::string - className - a4 - (void) const - - - std::vector< eoInit< EOT > * > - initializers - r0 - - - - std::vector< double > - rates - r1 - - - - - eoCommaReplacement - classeo_comma_replacement.html - EOT - eoMergeReduce - - eoNoElitism< EOT > - no_elite - r0 - - - - eoTruncate< EOT > - truncate - r1 - - - - - eoContinue - classeo_continue.html - EOT - eoUF< const eoPop< EOT > &, bool > - eoPersistent - - virtual std::string - className - a0 - (void) const - - - void - readFrom - a1 - (std::istream &__is) - - - void - printOn - a2 - (std::ostream &__os) const - - - - eoCountedDynUpdate - classeo_counted_dyn_update.html - eoDynUpdater - - - eoCountedDynUpdate - a0 - (eoUpdatable &_toUpdate, unsigned _interval) - - - void - operator() - a1 - (void) - - - const unsigned - interval - r0 - - - - unsigned - counter - r1 - - - - - eoCountedStateSaver - classeo_counted_state_saver.html - eoUpdater - - - eoCountedStateSaver - a0 - (unsigned _interval, const eoState &_state, std::string _prefix, bool _saveOnLastCall, std::string _extension="sav", unsigned _counter=0) - - - - eoCountedStateSaver - a1 - (unsigned _interval, const eoState &_state, std::string _prefix="state", std::string _extension="sav", unsigned _counter=0) - - - virtual void - lastCall - a2 - (void) - - - void - operator() - a3 - (void) - - - virtual std::string - className - a4 - (void) const - - - void - doItNow - d0 - (void) - - - const eoState & - state - r0 - - - - const unsigned - interval - r1 - - - - unsigned - counter - r2 - - - - bool - saveOnLastCall - r3 - - - - const std::string - prefix - r4 - - - - const std::string - extension - r5 - - - - - Cov - class_cov.html - - void - update - a1 - (double a, double b) - - - double - get_meana - a2 - () const - - - double - get_meanb - a3 - () const - - - double - get_cov - a4 - () const - - - double - n - r0 - - - - double - meana - r1 - - - - double - meanb - r2 - - - - double - sumcov - r3 - - - - - eoCtrlCContinue - classeo_ctrl_c_continue.html - EOT - eoContinue - - - eoCtrlCContinue - a0 - () - - - virtual bool - operator() - a1 - (const eoPop< EOT > &_vEO) - - - virtual std::string - className - a2 - (void) const - - - - eoDetBitFlip - classeo_det_bit_flip.html - Chrom - eoMonOp< Chrom > - - - eoDetBitFlip - a0 - (const unsigned &_num_bit=1) - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (Chrom &chrom) - - - unsigned - num_bit - r0 - - - - - eoDeterministicSaDReplacement - classeo_deterministic_sa_d_replacement.html - EOT - eoReplacement - - - eoDeterministicSaDReplacement - a0 - (eoReduce< EOT > &_reduceGlobal, double _surviveParents, double _dieParents=0, double _surviveOffspring=0, double _dieOffspring=0, bool _interpret_as_rate=true) - - - - eoDeterministicSaDReplacement - a1 - (double _surviveParents, double _dieParents=0, double _surviveOffspring=0, double _dieOffspring=0, bool _interpret_as_rate=true) - - - void - operator() - a2 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoReduce< EOT > & - reduceGlobal - r0 - - - - eoDeterministicSurviveAndDie< EOT > - sAdParents - r1 - - - - eoDeterministicSurviveAndDie< EOT > - sAdOffspring - r2 - - - - eoPlus< EOT > - plus - r3 - - - - eoTruncate< EOT > - truncate - r4 - - - - - eoDeterministicSurviveAndDie - classeo_deterministic_survive_and_die.html - EOT - eoSurviveAndDie - - - eoDeterministicSurviveAndDie - a0 - (double _survive, double _die, bool _interpret_as_rate=true) - - - void - operator() - a1 - (eoPop< EOT > &_pop, eoPop< EOT > &_luckyGuys) - - - - eoDetSelect - classeo_det_select.html - EOT - eoSelect - - - eoDetSelect - a0 - (double _rate=1.0, bool _interpret_as_rate=true) - - - virtual void - operator() - a1 - (const eoPop< EOT > &_source, eoPop< EOT > &_dest) - - - eoHowMany - howMany - r0 - - - - - eoDetTournamentSelect - classeo_det_tournament_select.html - EOT - eoSelectOne< EOT > - - - eoDetTournamentSelect - a0 - (unsigned _tSize=2) - - - virtual const EOT & - operator() - a1 - (const eoPop< EOT > &_pop) - - - unsigned - tSize - r0 - - - - - eoDetTournamentTruncate - classeo_det_tournament_truncate.html - EOT - eoReduce - - - eoDetTournamentTruncate - a0 - (unsigned _t_size) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, unsigned _newsize) - - - unsigned - t_size - r0 - - - - - eoDetTournamentTruncateSplit - classeo_det_tournament_truncate_split.html - EOT - eoReduceSplit - - - eoDetTournamentTruncateSplit - a0 - (unsigned _t_size, eoHowMany _howMany, bool _returnEliminated=false) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated) - - - unsigned - t_size - r0 - - - - eoHowMany - howMany - r1 - - - - bool - returnEliminated - r2 - - - - - eoDetTournamentWorthSelect - classeo_det_tournament_worth_select.html - EOT - WorthT - eoSelectFromWorth< EOT, WorthT > - - std::vector< WorthT >::iterator - worthIterator - w0 - - - - - eoDetTournamentWorthSelect - a0 - (eoPerf2Worth< EOT, WorthT > &perf2Worth, unsigned _tSize) - - - virtual const EOT & - operator() - a1 - (const eoPop< EOT > &pop) - - - unsigned - tSize - r0 - - - - - eoDetUniformMutation - classeo_det_uniform_mutation.html - EOT - eoMonOp< EOT > - - - eoDetUniformMutation - a0 - (const double &_epsilon, const unsigned &_no=1) - - - - eoDetUniformMutation - a1 - (eoRealVectorBounds &_bounds, const double &_epsilon, const unsigned &_no=1) - - - - eoDetUniformMutation - a2 - (eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const unsigned &_no=1) - - - virtual std::string - className - a3 - () const - - - bool - operator() - a4 - (EOT &_eo) - - - bool - homogeneous - r0 - - - - eoRealVectorBounds & - bounds - r1 - - - - std::vector< double > - epsilon - r2 - - - - unsigned - no - r3 - - - - - eoDistance - classeo_distance.html - EOT - eoBF< const EOT &, const EOT &, double > - - - eoDistribUpdater - classeo_distrib_updater.html - EOT - eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > - - virtual void - operator() - a0 - (eoDistribution< EOT > &, eoPop< EOT > &)=0 - - - - eoDistribution - classeo_distribution.html - EOT - eoInit - eoPersistent - eoObject - - virtual void - operator() - a0 - (EOT &)=0 - - - - dMatrix - classd_matrix.html - - - dMatrix - a0 - (unsigned _s) - - - double - operator() - a1 - (unsigned _i, unsigned _j) const - - - double & - operator() - a2 - (unsigned _i, unsigned _j) - - - void - printOn - a3 - (std::ostream &_os) - - - unsigned - rSize - r0 - - - - - eoDominanceMap - classeo_dominance_map.html - EoType - eoUF< const eoPop< EoType > &, void > - - void - clear - a0 - () - - - void - operator() - a1 - (const eoPop< EoType > &_pop) - - - void - remove - a2 - (unsigned i) - - - void - setup - a3 - (const eoPop< EoType > &_pop) - - - std::vector< double > - sum_dominators - a4 - () const - - - std::vector< double > - sum_dominants - a5 - () const - - - std::vector< typename EoType::Fitness > - fitness - r0 - - - - - eoDoubleExchange - classeo_double_exchange.html - eoBinOp< double > - - - eoDoubleExchange - a0 - () - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (double &r1, const double &r2) - - - - eoDoubleIntermediate - classeo_double_intermediate.html - eoBinOp< double > - - - eoDoubleIntermediate - a0 - () - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (double &r1, const double &r2) - - - - eoDrawable - classeo_drawable.html - Object - - - eoDrawable - a0 - (const Object &_o) - - - - eoDrawable - a1 - (const eoDrawable &_d) - - - virtual - ~eoDrawable - a2 - () - - - virtual void - draw - a3 - (unsigned _x, unsigned _y)=0 - - - - Dummy - struct_dummy.html - EO< double > - EO< double > - EO< double > - EO< double > - EO< double > - EO< double > - - double - Type - w0 - - - - double - Type - w1 - - - - double - Type - w2 - - - - double - Type - w3 - - - - double - Type - w4 - - - - double - Type - w5 - - - - - Dummy - a0 - (std::string _s="") - - - void - printOn - a1 - (std::ostream &_os) const - - - void - printOn - a2 - (std::ostream &_os) const - - - void - printOn - a3 - (std::ostream &_os) const - - - void - printOn - a4 - (std::ostream &_os) const - - - std::string - s - o0 - - - - double - xdist - o1 - - - - - eoDynSGATransform - classeo_dyn_s_g_a_transform.html - EOT - eoTransform - - - eoDynSGATransform - a0 - (eoQuadOp< EOT > &_cross, double _cProba, eoMonOp< EOT > &_mutate, double _mProba) - - - - eoDynSGATransform - a1 - (eoQuadOp< EOT > &_cross, double *_cProbaRef, eoMonOp< EOT > &_mutate, double *_mProbaRef) - - - void - operator() - a2 - (eoPop< EOT > &_pop) - - - double & - PCrossHandle - a3 - () - - - double & - PMutHandle - a4 - () - - - eoInvalidateQuadOp< EOT > - cross - r0 - - - - double - crossoverProbaHolder - r1 - - - - double & - crossoverProba - r2 - - - - eoInvalidateMonOp< EOT > - mutate - r3 - - - - double - mutationProbaHolder - r4 - - - - double & - mutationProba - r5 - - - - - eoDynUpdater - classeo_dyn_updater.html - eoUpdater - - - eoDynUpdater - a0 - (eoUpdatable &_toUpdate) - - - virtual void - operator() - a1 - () - - - eoUpdatable & - toUpdate - r0 - - - - - eoEasyEA - classeo_easy_e_a.html - EOT - eoAlgo - - - eoEasyEA - a0 - (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoReplacement< EOT > &_replace) - - - - eoEasyEA - a1 - (eoContinue< EOT > &_continuator, eoPopEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoReplacement< EOT > &_replace) - - - - eoEasyEA - a2 - (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce) - - - - eoEasyEA - a3 - (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoSelect< EOT > &_select, eoTransform< EOT > &_transform, eoReplacement< EOT > &_replace) - - - - eoEasyEA - a4 - (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoSelect< EOT > &_select, eoTransform< EOT > &_transform, eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce) - - - virtual void - operator() - a5 - (eoPop< EOT > &_pop) - - - eoEasyEA::eoDummySelect - dummySelect - p0 - - - - eoEasyEA::eoDummyTransform - dummyTransform - p1 - - - - eoEasyEA::eoDummyEval - dummyEval - p2 - - - - eoContinue< EOT > & - continuator - p3 - - - - eoEvalFunc< EOT > & - eval - p4 - - - - eoPopLoopEval< EOT > - loopEval - p5 - - - - eoPopEvalFunc< EOT > & - popEval - p6 - - - - eoSelectTransform< EOT > - selectTransform - p7 - - - - eoBreed< EOT > & - breed - p8 - - - - eoNoElitism< EOT > - dummyMerge - p9 - - - - eoTruncate< EOT > - dummyReduce - p10 - - - - eoMergeReduce< EOT > - mergeReduce - p11 - - - - eoReplacement< EOT > & - replace - p12 - - - - friend class - eoIslandsEasyEA<EOT> - n0 - - - - friend class - eoDistEvalEasyEA<EOT> - n1 - - - - - eoEDA - classeo_e_d_a.html - EOT - eoUF< eoDistribution< EOT > &, void > - - - eoEliteSequentialSelect - classeo_elite_sequential_select.html - EOT - eoSelectOne< EOT > - - - eoEliteSequentialSelect - a0 - () - - - void - setup - a1 - (const eoPop< EOT > &_pop) - - - virtual const EOT & - operator() - a2 - (const eoPop< EOT > &_pop) - - - unsigned - current - r0 - - - - std::vector< const EOT * > - eoPters - r1 - - - - - eoElitism - classeo_elitism.html - EOT - eoMerge< EOT > - - - eoElitism - a0 - (double _rate, bool _interpret_as_rate=true) - - - void - operator() - a1 - (const eoPop< EOT > &_pop, eoPop< EOT > &_offspring) - - - double - rate - r0 - - - - unsigned - combien - r1 - - - - - EO - class_e_o.html - F - eoObject - eoPersistent - - F - Fitness - w0 - - - - Traits - fitness_traits - w1 - - - - Traits::storage_type - storage_type - w2 - - - - Traits::performance_type - performance_type - w3 - - - - Traits::worth_type - worth_type - w4 - - - - - EO - a0 - () - - - virtual - ~EO - a1 - () - - - Fitness - fitness - a2 - () const - - - void - invalidate - a3 - () - - - void - fitness - a4 - (const Fitness &_fitness) - - - bool - invalid - a5 - () const - - - bool - operator< - a6 - (const EO &_eo2) const - - - bool - operator> - a7 - (const EO &_eo2) const - - - void - fitness - a9 - (performance_type perf) - - - void - performance - a10 - (performance_type perf) - - - performance_type - performance - a11 - (void) const - - - void - worth - a12 - (worth_type worth) - - - worth_type - worth - a13 - (void) const - - - worth_type - fitness - a14 - (void) const - - - void - invalidate - a15 - (void) - - - void - invalidate_worth - a16 - (void) - - - bool - operator< - a17 - (const EO< Fitness, Traits > &other) const - - - bool - operator> - a18 - (const EO< Fitness, Traits > &other) const - - - virtual std::string - className - z10_0 - () const - - - virtual void - readFrom - z10_1 - (std::istream &_is) - - - virtual void - printOn - z10_2 - (std::ostream &_os) const - - - Fitness - repFitness - r0 - - - - bool - invalidFitness - r1 - - - - bool - valid_performance - r2 - - - - bool - valid_worth - r3 - - - - storage_type - rep_fitness - r4 - - - - - eoEPReduce - classeo_e_p_reduce.html - EOT - eoReduce - - EOT::Fitness - Fitness - w0 - - - - std::pair< float, typename eoPop< EOT >::iterator > - EPpair - w1 - - - - - eoEPReduce - a0 - (unsigned _t_size) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, unsigned _newsize) - - - unsigned - t_size - r0 - - - - - eoEPReplacement - classeo_e_p_replacement.html - EOT - eoMergeReduce - - - eoEPReplacement - a0 - (int _tSize) - - - eoPlus< EOT > - plus - r0 - - - - eoEPReduce< EOT > - truncate - r1 - - - - - eoEsChromInit - classeo_es_chrom_init.html - EOT - eoRealInitBounded - - EOT::Fitness - FitT - w0 - - - - - eoEsChromInit - a0 - (eoRealVectorBounds &_bounds, double _sigma=0.3, bool _to_scale=false) - - - - eoEsChromInit - a1 - (eoRealVectorBounds &_bounds, std::vector< double > _vecSigma) - - - void - operator() - a2 - (EOT &_eo) - - - void - create_self_adapt - d0 - (eoReal< FitT > &) - - - void - create_self_adapt - d1 - (eoEsSimple< FitT > &result) - - - void - create_self_adapt - d2 - (eoEsStdev< FitT > &result) - - - void - create_self_adapt - d3 - (eoEsFull< FitT > &result) - - - double - uniqueSigma - r0 - - - - std::vector< double > - vecSigma - r1 - - - - - eoEsFull - classeo_es_full.html - Fit - eoVector< Fit, double > - - double - Type - w0 - - - - virtual std::string - className - a1 - (void) const - - - void - printOn - a2 - (std::ostream &os) const - - - void - readFrom - a3 - (std::istream &is) - - - std::vector< double > - stdevs - o0 - - - - std::vector< double > - correlations - o1 - - - - - eoEsGlobalXover - classeo_es_global_xover.html - EOT - eoGenOp - - EOT::Fitness - FitT - w0 - - - - - eoEsGlobalXover - a0 - (eoBinOp< double > &_crossObj, eoBinOp< double > &_crossMut) - - - virtual std::string - className - a1 - () const - - - unsigned - max_production - a2 - (void) - - - void - apply - a3 - (eoPopulator< EOT > &_plop) - - - void - cross_self_adapt - d0 - (eoEsSimple< FitT > &_parent, const eoPop< eoEsSimple< FitT > > &_pop) - - - void - cross_self_adapt - d1 - (eoEsStdev< FitT > &_parent, const eoPop< eoEsStdev< FitT > > &_pop) - - - void - cross_self_adapt - d2 - (eoEsFull< FitT > &_parent, const eoPop< eoEsFull< FitT > > &_pop) - - - eoRandomSelect< EOT > - sel - r0 - - - - eoBinOp< double > & - crossObj - r1 - - - - eoBinOp< double > & - crossMut - r2 - - - - - eoEsMutate - classeo_es_mutate.html - EOT - eoMonOp< EOT > - - EOT::Fitness - FitT - w0 - - - - - eoEsMutate - a0 - (eoEsMutationInit &_init, eoRealVectorBounds &_bounds) - - - virtual - ~eoEsMutate - a1 - () - - - virtual std::string - className - a2 - () const - - - virtual bool - operator() - a3 - (eoEsSimple< FitT > &_eo) - - - virtual bool - operator() - a4 - (eoEsStdev< FitT > &_eo) - - - virtual bool - operator() - a5 - (eoEsFull< FitT > &_eo) - - - void - init - d0 - (eoEsSimple< FitT >, eoEsMutationInit &_init) - - - void - init - d1 - (eoEsStdev< FitT >, eoEsMutationInit &_init) - - - void - init - d2 - (eoEsFull< FitT >, eoEsMutationInit &_init) - - - double - TauLcl - r0 - - - - double - TauGlb - r1 - - - - double - TauBeta - r2 - - - - eoRealVectorBounds & - bounds - r3 - - - - const double - stdev_eps - v0 - - - - - eoEsMutationInit - classeo_es_mutation_init.html - - - eoEsMutationInit - a0 - (eoParser &_parser, std::string _section="ES mutation parameters") - - - virtual - ~eoEsMutationInit - a1 - () - - - double - TauLcl - a2 - (void) - - - double - TauGlb - a3 - (void) - - - double - TauBeta - a4 - (void) - - - virtual std::string - section - b0 - (void) - - - virtual std::string - TauLclName - b1 - (void) const - - - virtual char - TauLclShort - b2 - (void) const - - - virtual std::string - TauGlbName - b3 - (void) const - - - virtual char - TauGlbShort - b4 - (void) const - - - virtual std::string - TauBetaName - b5 - (void) const - - - virtual char - TauBetaShort - b6 - (void) const - - - eoParser & - parser - r0 - - - - std::string - repSection - r1 - - - - eoValueParam< double > * - TauLclParam - r2 - - - - eoValueParam< double > * - TauGlbParam - r3 - - - - eoValueParam< double > * - TauBetaParam - r4 - - - - - eoEsSimple - classeo_es_simple.html - Fit - eoVector< Fit, double > - - double - Type - w0 - - - - virtual std::string - className - a1 - () const - - - void - printOn - a2 - (std::ostream &os) const - - - void - readFrom - a3 - (std::istream &is) - - - double - stdev - o0 - - - - - eoEsStandardXover - classeo_es_standard_xover.html - EOT - eoBinOp< EOT > - - EOT::Fitness - FitT - w0 - - - - - eoEsStandardXover - a0 - (eoBinOp< double > &_crossObj, eoBinOp< double > &_crossMut) - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (EOT &_eo1, const EOT &_eo2) - - - bool - cross_self_adapt - d0 - (eoEsSimple< FitT > &_parent1, const eoEsSimple< FitT > &_parent2) - - - bool - cross_self_adapt - d1 - (eoEsStdev< FitT > &_parent1, const eoEsStdev< FitT > &_parent2) - - - bool - cross_self_adapt - d2 - (eoEsFull< FitT > &_parent1, const eoEsFull< FitT > &_parent2) - - - eoRandomSelect< EOT > - sel - r0 - - - - eoBinOp< double > & - crossObj - r1 - - - - eoBinOp< double > & - crossMut - r2 - - - - - eoEsStdev - classeo_es_stdev.html - Fit - eoVector< Fit, double > - - double - Type - w0 - - - - virtual std::string - className - a1 - (void) const - - - void - printOn - a2 - (std::ostream &os) const - - - void - readFrom - a3 - (std::istream &is) - - - std::vector< double > - stdevs - o0 - - - - - eoEvalContinue - classeo_eval_continue.html - EOT - eoContinue - - - eoEvalContinue - a0 - (eoEvalFuncCounter< EOT > &_eval, unsigned long _totalEval) - - - virtual bool - operator() - a1 - (const eoPop< EOT > &_vEO) - - - virtual unsigned long - totalEvaluations - a2 - () - - - virtual std::string - className - a3 - (void) const - - - eoEvalFuncCounter< EOT > & - eval - r0 - - - - unsigned long - repTotalEvaluations - r1 - - - - - eoEvalFunc - classeo_eval_func.html - EOT - eoUF< EOT &, void > - - EOT - EOType - w0 - - - - EOT::Fitness - EOFitT - w1 - - - - - eoEvalFuncCounter - classeo_eval_func_counter.html - EOT - eoEvalFunc - eoValueParam< unsigned long > - - - eoEvalFuncCounter - a0 - (eoEvalFunc< EOT > &_func, std::string _name="Eval. ") - - - virtual void - operator() - a1 - (EOT &_eo) - - - eoEvalFunc< EOT > & - func - r0 - - - - - eoEvalFuncPtr - structeo_eval_func_ptr.html - EOT - FitT - FunctionArg - eoEvalFunc - - - eoEvalFuncPtr - a0 - (FitT(*_eval)(FunctionArg)) - - - virtual void - operator() - a1 - (EOT &_eo) - - - FitT(* - evalFunc - r0 - )(FunctionArg) - - - - eoExpansionMutation - classeo_expansion_mutation.html - FType - Node - eoMonOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoExpansionMutation - a0 - (eoInit< EoType > &_init, unsigned _max_length) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoExpansionMutation - a2 - () - - - bool - operator() - a3 - (EoType &_eo1) - - - unsigned - max_length - r0 - - - - eoInit< EoType > & - initializer - r1 - - - - - eoExternalBinOp - classeo_external_bin_op.html - F - External - ExternalEO - eoBinOp< ExternalEO > - - - eoExternalBinOp - a0 - (bool(*_binop)(External &, const External &)) - - - bool - operator() - a1 - (ExternalEO &eo1, const ExternalEO &eo2) - - - bool(* - binop - r0 - )(External &, const External &) - - - - eoExternalEO - classeo_external_e_o.html - Fit - External - EO< Fit > - - - eoExternalEO - a1 - (const External &ext) - - - - eoExternalEO - a2 - (std::istream &is, const External &ext) - - - virtual void - readFrom - a3 - (std::istream &_is) - - - virtual void - printOn - a4 - (std::ostream &_os) const - - - - eoExternalEvalFunc - classeo_external_eval_func.html - F - External - ExternalEO - eoEvalFunc< ExternalEO > - - - eoExternalEvalFunc - a0 - (F(*_eval)(const External &)) - - - void - operator() - a1 - (ExternalEO &eo) - - - F(* - eval - r0 - )(const External &) - - - - eoExternalInit - classeo_external_init.html - F - External - ExternalEO - eoInit< ExternalEO > - - - eoExternalInit - a0 - (External(*_init)(void)) - - - void - operator() - a1 - (ExternalEO &_eo) - - - External(* - init - r0 - )(void) - - - - eoExternalMonOp - classeo_external_mon_op.html - F - External - ExternalEO - eoMonOp< ExternalEO > - - - eoExternalMonOp - a0 - (bool(*_mutate)(External &)) - - - bool - operator() - a1 - (ExternalEO &eo) - - - bool(* - mutate - r0 - )(External &) - - - - eoExternalQuadOp - classeo_external_quad_op.html - F - External - ExternalEO - eoQuadOp< ExternalEO > - - - eoExternalQuadOp - a0 - (bool(*_quadop)(External &, External &)) - - - bool - operator() - a1 - (ExternalEO &eo1, ExternalEO &eo2) - - - bool(* - quadop - r0 - )(External &, External &) - - - - eoF - classeo_f.html - R - eoFunctorBase - - R - result_type - w0 - - - - virtual - ~eoF - a0 - () - - - virtual R - operator() - a1 - ()=0 - - - eoFunctorBase::procedure_tag - functor_category - e0 - () - - - - eoFactory - classeo_factory.html - EOClass - eoObject - - virtual EOClass * - make - a0 - (std::istream &_is)=0 - - - - eoFactory - z11_0 - () - - - virtual - ~eoFactory - z11_1 - () - - - virtual std::string - className - z13_0 - () const - - - - eoFDCFileSnapshot - classeo_f_d_c_file_snapshot.html - EOT - eoFileSnapshot - - - eoFDCFileSnapshot - a0 - (eoFDCStat< EOT > &_FDCstat, std::string _dirname="tmpFDC", unsigned _frequency=1, std::string _filename="FDC", std::string _delim=" ") - - - virtual void - add - a1 - (const eoParam &_param) - - - eoFDCStat< EOT > & - FDCstat - r0 - - - - - eoFDCStat - classeo_f_d_c_stat.html - EOT - eoStat< EOT, double > - - - eoFDCStat - a0 - (eoDistance< EOT > &_dist, std::string _description="FDC") - - - - eoFDCStat - a1 - (eoDistance< EOT > &_dist, EOT &_theBest, std::string _description="FDC") - - - virtual void - operator() - a2 - (const eoPop< EOT > &_pop) - - - const eoValueParam< std::vector< double > > & - theDist - a3 - () - - - const eoValueParam< std::vector< double > > & - theFit - a4 - () - - - eoDistance< EOT > & - dist - r0 - - - - EOT - theBest - r1 - - - - bool - boolOpt - r2 - - - - eoValueParam< std::vector< double > > - distToBest - r3 - - - - eoValueParam< std::vector< double > > - fitnesses - r4 - - - - - eoFileMonitor - classeo_file_monitor.html - eoMonitor - - - eoFileMonitor - a0 - (std::string _filename, std::string _delim=" ", bool _keep=false, bool _header=false) - - - virtual eoMonitor & - operator() - a1 - (void) - - - virtual eoMonitor & - operator() - a2 - (std::ostream &os) - - - void - printHeader - a3 - (void) - - - virtual void - printHeader - a4 - (std::ostream &os) - - - virtual std::string - getFileName - a5 - () - - - std::string - filename - r0 - - - - std::string - delim - r1 - - - - bool - keep - r2 - - - - bool - header - r3 - - - - bool - firstcall - r4 - - - - - eoFileSnapshot - classeo_file_snapshot.html - eoMonitor - - std::vector< double > - vDouble - w0 - - - - eoValueParam< std::vector< double > > - vDoubleParam - w1 - - - - - eoFileSnapshot - a0 - (std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) - - - virtual bool - hasChanged - a1 - () - - - unsigned - getCounter - a2 - () - - - std::string - getFileName - a3 - () - - - void - setCurrentFileName - a4 - () - - - eoMonitor & - operator() - a5 - (void) - - - eoMonitor & - operator() - a6 - (std::ostream &_os) - - - virtual const std::string - getDirName - a7 - () - - - virtual const std::string - baseFileName - a8 - () - - - void - add - a9 - (const eoParam &_param) - - - std::string - dirname - r0 - - - - unsigned - frequency - r1 - - - - std::string - filename - r2 - - - - std::string - delim - r3 - - - - unsigned int - counter - r4 - - - - std::string - currentFileName - r5 - - - - bool - boolChanged - r6 - - - - - eoFitContinue - classeo_fit_continue.html - EOT - eoContinue - - EOT::Fitness - FitnessType - w0 - - - - - eoFitContinue - a0 - (const FitnessType _maximum) - - - virtual bool - operator() - a1 - (const eoPop< EOT > &_pop) - - - virtual std::string - className - a2 - (void) const - - - FitnessType - maximum - r0 - - - - - eoFitnessScalingSelect - classeo_fitness_scaling_select.html - EOT - eoRouletteWorthSelect< EOT, double > - - - eoFitnessScalingSelect - a0 - (double _p=2.0) - - - eoLinearFitScaling< EOT > - scaling - r0 - - - - - eoFitnessStat - classeo_fitness_stat.html - EOT - FitT - eoSortedStat< EOT, std::vector< FitT > > - - - eoFitnessStat - a0 - (std::string _description="AllFitnesses") - - - virtual void - operator() - a1 - (const std::vector< const EOT * > &_popPters) - - - - eoFlOr1ptBinOp - classeo_fl_or1pt_bin_op.html - EOT - eoBinOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoVlUniformBinOp - a0 - () - - - bool - operator() - a1 - (EOT &_eo1, EOT &_eo2) - - - virtual string - className - a2 - () const - - - - eoFlOr1ptQuadOp - classeo_fl_or1pt_quad_op.html - EOT - eoQuadOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoVlUniformQuadOp - a0 - () - - - bool - operator() - a1 - (EOT &_eo1, EOT &_eo2) - - - virtual string - className - a2 - () const - - - - eoFlOrAllAtomBinOp - classeo_fl_or_all_atom_bin_op.html - EOT - eoBinOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoFlOrAllAtomBinOp - a0 - (eoBinOp< AtomType > &_op, float _rate=1.0) - - - bool - operator() - a1 - (EOT &_eo1, const EOT &_eo2) - - - virtual string - className - a2 - () const - - - double - rate - r0 - - - - eoBinOp< AtomType > & - op - r1 - - - - - eoFlOrAllAtomQuadOp - classeo_fl_or_all_atom_quad_op.html - EOT - eoQuadOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoFlOrAllAtomQuadOp - a0 - (eoQuadOp< AtomType > &_op, double _rate=1) - - - bool - operator() - a1 - (EOT &_eo1, EOT &_eo2) - - - virtual string - className - a2 - () const - - - double - rate - r0 - - - - eoQuadOp< AtomType > & - op - r1 - - - - - eoFlOrAllMutation - classeo_fl_or_all_mutation.html - EOT - eoMonOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoFlOrAllMutation - a0 - (eoMonOp< AtomType > &_atomMutation, double _rate=1.0) - - - bool - operator() - a1 - (EOT &_eo) - - - virtual std::string - className - a2 - () const - - - eoMonOp< AtomType > & - atomMutation - r0 - - - - double - rate - r1 - - - - - eoFlOrKAtomBinOp - classeo_fl_or_k_atom_bin_op.html - EOT - eoBinOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoFlOrAtomBinOp - a0 - (eoBinOp< AtomType > &_op, unsigned _k=1) - - - bool - operator() - a1 - (EOT &_eo1, const EOT &_eo2) - - - virtual string - className - a2 - () const - - - unsigned - k - r0 - - - - eoBinOp< AtomType > & - op - r1 - - - - - eoFlOrKAtomQuadOp - classeo_fl_or_k_atom_quad_op.html - EOT - eoQuadOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoFlOrAtomQuadOp - a0 - (eoQuadOp< AtomType > &_op, unsigned _k=1) - - - bool - operator() - a1 - (EOT &_eo1, const EOT &_eo2) - - - virtual string - className - a2 - () const - - - unsigned - k - r0 - - - - eoQuadOp< AtomType > & - op - r1 - - - - - eoFlOrKMutation - classeo_fl_or_k_mutation.html - EOT - eoMonOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoFlOrKMutation - a0 - (eoMonOp< AtomType > &_atomMutation, unsigned _nb=1) - - - bool - operator() - a1 - (EOT &_eo) - - - virtual std::string - className - a2 - () const - - - unsigned - nb - r0 - - - - eoMonOp< AtomType > & - atomMutation - r1 - - - - - eoFlOrUniformBinOp - classeo_fl_or_uniform_bin_op.html - EOT - eoBinOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoFlOrUniformBinOp - a0 - (double _rate=0.5) - - - bool - operator() - a1 - (EOT &_eo1, const EOT &_eo2) - - - virtual string - className - a2 - () const - - - double - rate - r0 - - - - - eoFlOrUniformQuadOp - classeo_fl_or_uniform_quad_op.html - EOT - eoQuadOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoVlUniformQuadOp - a0 - (double _rate=0.5) - - - bool - operator() - a1 - (EOT &_eo1, EOT &_eo2) - - - virtual string - className - a2 - () const - - - double - rate - r0 - - - - - eoFunctorBase - classeo_functor_base.html - - virtual - ~eoFunctorBase - a0 - () - - - - eoFunctorBase::binary_function_tag - structeo_functor_base_1_1binary__function__tag.html - - - eoFunctorBase::procedure_tag - structeo_functor_base_1_1procedure__tag.html - - - eoFunctorBase::unary_function_tag - structeo_functor_base_1_1unary__function__tag.html - - - eoFunctorStore - classeo_functor_store.html - - - eoFunctorStore - a0 - () - - - virtual - ~eoFunctorStore - a1 - () - - - Functor & - storeFunctor - a2 - (Functor *r) - - - - eoFunctorStore - d0 - (const eoFunctorStore &) - - - eoFunctorStore - operator= - d1 - (const eoFunctorStore &) - - - std::vector< eoFunctorBase * > - vec - r0 - - - - - eoG3Replacement - classeo_g3_replacement.html - EOT - eoReplacement - - - eoG3Replacement - a0 - (eoHowMany _howManyEliminatedParents=eoHowMany(2, false)) - - - void - operator() - a1 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoLinearTruncateSplit< EOT > - split - r0 - - - - eoTruncateSplit< EOT > - reduce - r1 - - - - eoPlus< EOT > - plus - r2 - - - - - eoGenContinue - classeo_gen_continue.html - EOT - eoContinue - eoValueParam< unsigned > - - - eoGenContinue - a0 - (unsigned long _totalGens) - - - - eoGenContinue - a1 - (unsigned long _totalGens, unsigned long &_currentGen) - - - virtual bool - operator() - a2 - (const eoPop< EOT > &_vEO) - - - virtual void - totalGenerations - a3 - (unsigned long _tg) - - - virtual unsigned long - totalGenerations - a4 - () - - - virtual std::string - className - a5 - (void) const - - - void - readFrom - a6 - (std::istream &__is) - - - void - printOn - a7 - (std::ostream &__os) const - - - bool - verbose - o0 - - - - unsigned long - repTotalGenerations - r0 - - - - unsigned long - thisGenerationPlaceHolder - r1 - - - - unsigned long & - thisGeneration - r2 - - - - - eoGeneDelChooser - classeo_gene_del_chooser.html - EOT - eoUF< EOT &, unsigned int > - - virtual std::string - className - a0 - () const =0 - - - - eoGeneralBreeder - classeo_general_breeder.html - EOT - eoBreed - - - eoGeneralBreeder - a0 - (eoSelectOne< EOT > &_select, eoGenOp< EOT > &_op, double _rate=1.0, bool _interpret_as_rate=true) - - - - eoGeneralBreeder - a1 - (eoSelectOne< EOT > &_select, eoGenOp< EOT > &_op, eoHowMany _howMany) - - - void - operator() - a2 - (const eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - virtual std::string - className - a3 - () const - - - eoSelectOne< EOT > & - select - r0 - - - - eoGenOp< EOT > & - op - r1 - - - - eoHowMany - howMany - r2 - - - - - eoGeneralIntBounds - classeo_general_int_bounds.html - eoIntBounds - - - eoGeneralIntBounds - a0 - (std::string _s="[-infinity,+infinity]") - - - - eoGeneralIntBounds - a1 - (const eoGeneralIntBounds &_b) - - - eoGeneralIntBounds & - operator= - a2 - (const eoGeneralIntBounds &_b) - - - - ~eoGeneralIntBounds - a3 - () - - - virtual bool - isBounded - a4 - (void) const - - - virtual bool - hasNoBoundAtAll - a5 - (void) const - - - virtual bool - isMinBounded - a6 - (void) const - - - virtual bool - isMaxBounded - a7 - (void) const - - - virtual bool - isInBounds - a8 - (double _x) const - - - virtual void - foldsInBounds - a9 - (double &_x) const - - - virtual void - truncate - a10 - (double &_x) const - - - virtual long int - minimum - a11 - () const - - - virtual long int - maximum - a12 - () const - - - virtual long int - range - a13 - () const - - - virtual double - uniform - a14 - (eoRng &_rng=eo::rng) const - - - virtual long int - random - a15 - (eoRng &_rng=eo::rng) const - - - virtual eoIntBounds * - dup - a16 - () const - - - const eoIntBounds & - theBounds - a17 - () const - - - virtual void - printOn - a18 - (std::ostream &_os) const - - - virtual void - readFrom - a19 - (std::istream &_is) - - - eoIntBounds * - getBoundsFromString - d0 - (std::string) - - - eoIntBounds * - repBound - r0 - - - - - eoGeneralRealBounds - classeo_general_real_bounds.html - eoRealBounds - - - eoGeneralRealBounds - a0 - (std::string _s="[-infinity,+infinity]") - - - - eoGeneralRealBounds - a1 - (const eoGeneralRealBounds &_b) - - - eoGeneralRealBounds & - operator= - a2 - (const eoGeneralRealBounds &_b) - - - - ~eoGeneralRealBounds - a3 - () - - - virtual bool - isBounded - a4 - (void) const - - - virtual bool - hasNoBoundAtAll - a5 - (void) const - - - virtual bool - isMinBounded - a6 - (void) const - - - virtual bool - isMaxBounded - a7 - (void) const - - - virtual bool - isInBounds - a8 - (double _x) const - - - virtual void - foldsInBounds - a9 - (double &_x) const - - - virtual void - truncate - a10 - (double &_x) const - - - virtual double - minimum - a11 - () const - - - virtual double - maximum - a12 - () const - - - virtual double - range - a13 - () const - - - virtual double - uniform - a14 - (eoRng &_rng=eo::rng) const - - - virtual eoRealBounds * - dup - a15 - () const - - - const eoRealBounds & - theBounds - a16 - () const - - - virtual void - printOn - a17 - (std::ostream &_os) const - - - virtual void - readFrom - a18 - (std::istream &_is) - - - eoRealBounds * - getBoundsFromString - d0 - (std::string) - - - eoRealBounds * - repBound - r0 - - - - - eoGenerationalReplacement - classeo_generational_replacement.html - EOT - eoReplacement - - void - operator() - a0 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - - eoGenOp - classeo_gen_op.html - EOT - eoOp< EOT > - eoUF< eoPopulator< EOT > &, void > - - - eoGenOp - a0 - () - - - virtual unsigned - max_production - a1 - (void)=0 - - - virtual std::string - className - a2 - () const =0 - - - void - operator() - a3 - (eoPopulator< EOT > &_pop) - - - virtual void - apply - b0 - (eoPopulator< EOT > &_pop)=0 - - - - eoGnuplot - classeo_gnuplot.html - - - eoGnuplot - a0 - (std::string _title, std::string _extra=std::string("")) - - - virtual - ~eoGnuplot - a1 - () - - - virtual std::string - className - a2 - () const - - - void - gnuplotCommand - a3 - (const char *_command) - - - void - gnuplotCommand - a4 - (std::string _command) - - - void - initGnuPlot - b0 - (std::string _title, std::string _extra) - - - bool - firstTime - p0 - - - - PCom * - gpCom - p1 - - - - unsigned - numWindow - t0 - - - - - eoGnuplot1DMonitor - classeo_gnuplot1_d_monitor.html - eoFileMonitor - eoGnuplot - - - eoGnuplot1DMonitor - a0 - (std::string _filename, bool _top=false) - - - virtual - ~eoGnuplot1DMonitor - a1 - () - - - virtual eoMonitor & - operator() - a2 - () - - - virtual void - FirstPlot - a3 - () - - - virtual std::string - className - a4 - () const - - - - eoGnuplot1DSnapshot - classeo_gnuplot1_d_snapshot.html - eoFileSnapshot - eoGnuplot - - - eoGnuplot1DSnapshot - a0 - (std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) - - - - eoGnuplot1DSnapshot - a1 - (std::string _dirname, eoRealVectorBounds &_bounds, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) - - - - eoGnuplot1DSnapshot - a2 - (eoFileSnapshot &_fSnapshot) - - - - eoGnuplot1DSnapshot - a3 - (eoFileSnapshot &_fSnapshot, eoRealVectorBounds &_bounds) - - - virtual eoMonitor & - operator() - a5 - () - - - virtual std::string - className - a6 - () const - - - virtual void - handleBounds - a7 - (eoRealVectorBounds &_bounds) - - - void - setPointSize - a8 - (unsigned _pointSize) - - - unsigned - pointSize - p0 - - - - - eoHammingDistance - classeo_hamming_distance.html - EOT - eoDistance - - double - operator() - a0 - (const EOT &_v1, const EOT &_v2) - - - - eoHoistMutation - classeo_hoist_mutation.html - FType - Node - eoMonOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoHoistMutation - a0 - () - - - virtual std::string - className - a1 - () const - - - virtual - ~eoHoistMutation - a2 - () - - - bool - operator() - a3 - (EoType &_eo1) - - - - eoHowMany - classeo_how_many.html - eoPersistent - - - eoHowMany - a0 - (double _rate=0.0, bool _interpret_as_rate=true) - - - - eoHowMany - a1 - (int _combien) - - - - eoHowMany - a2 - (unsigned int _combien) - - - virtual - ~eoHowMany - a3 - () - - - unsigned int - operator() - a4 - (unsigned int _size) - - - virtual void - printOn - a5 - (std::ostream &_os) const - - - virtual void - readFrom - a6 - (std::istream &_is) - - - void - readFrom - a7 - (std::string _value) - - - eoHowMany - operator- - a8 - () - - - double - rate - r0 - - - - int - combien - r1 - - - - - eoIncrementor - classeo_incrementor.html - T - eoUpdater - - - eoIncrementor - a0 - (T &_counter, T _stepsize=1) - - - virtual void - operator() - a1 - () - - - virtual std::string - className - a2 - (void) const - - - T & - counter - r0 - - - - T - stepsize - r1 - - - - - eoIncrementorParam - classeo_incrementor_param.html - T - eoUpdater - eoValueParam< T > - - - eoIncrementorParam - a0 - (std::string _name, T _stepsize=1) - - - - eoIncrementorParam - a1 - (std::string _name, T _countValue, T _stepsize) - - - virtual void - operator() - a2 - () - - - virtual std::string - className - a3 - (void) const - - - T - stepsize - r0 - - - - - eoInit - classeo_init.html - EOT - eoUF< EOT &, void > - - virtual std::string - className - a0 - (void) const - - - - eoInitAdaptor - classeo_init_adaptor.html - EOT - eoMonOp< EOT > - - - eoInitAdaptor - a0 - (eoInit< EOT > &_init) - - - bool - operator() - a1 - (EOT &_eot) - - - eoInit< EOT > & - init - r0 - - - - - eoInitFixedLength - classeo_init_fixed_length.html - EOT - eoInit - - EOT::AtomType - AtomType - w0 - - - - - eoInitFixedLength - a0 - (unsigned _combien, eoRndGenerator< AtomType > &_generator) - - - virtual void - operator() - a1 - (EOT &chrom) - - - unsigned - combien - r0 - - - - eoSTLF< AtomType > - generator - r1 - - - - - eoInitGenerator - classeo_init_generator.html - EOT - eoF< EOT > - - - eoInitGenerator - a0 - (eoInit< EOT > &_init) - - - virtual EOT - operator() - a1 - () - - - eoInit< EOT > & - init - r0 - - - - - eoInitVariableLength - classeo_init_variable_length.html - EOT - eoInit - - EOT::AtomType - AtomType - w0 - - - - - eoInitVariableLength - a0 - (unsigned _minSize, unsigned _maxSize, eoInit< AtomType > &_init) - - - virtual void - operator() - a1 - (EOT &_chrom) - - - eoInit< AtomType > & - atomInit - a2 - () - - - unsigned - offset - r0 - - - - unsigned - extent - r1 - - - - eoInit< AtomType > & - init - r2 - - - - - eoInitVirus - classeo_init_virus.html - FitT - eoInit< eoVirus< FitT > > - - - eoInitVirus - a0 - (unsigned _combien, eoRndGenerator< bool > &_generator) - - - virtual void - operator() - a1 - (eoVirus< FitT > &chrom) - - - unsigned - combien - r0 - - - - eoSTLF< bool > - generator - r1 - - - - - eoInitVirus1bit - classeo_init_virus1bit.html - FitT - eoInit< eoVirus< FitT > > - - - eoInitVirus1bit - a0 - (unsigned _combien, eoRndGenerator< bool > &_generator) - - - virtual void - operator() - a1 - (eoVirus< FitT > &chrom) - - - unsigned - combien - r0 - - - - eoSTLF< bool > - generator - r1 - - - - - eoInnerExchangeQuadOp - classeo_inner_exchange_quad_op.html - EOT - eoQuadOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoInnerExchangeQuadOp - a0 - (eoQuadOp< AtomType > &_op, float _rate=0.5) - - - bool - operator() - a1 - (EOT &_eo1, EOT &_eo2) - - - virtual std::string - className - a2 - () const - - - float - rate - r0 - - - - eoQuadOp< AtomType > & - op - r1 - - - - - eoIntAboveBound - classeo_int_above_bound.html - eoIntBounds - - - eoIntAboveBound - a1 - (long int _max=0) - - - virtual long int - maximum - a2 - () const - - - virtual long int - minimum - a3 - () const - - - virtual long int - range - a4 - () const - - - virtual double - uniform - a5 - (eoRng &_rng=eo::rng) const - - - virtual long int - random - a6 - (eoRng &_rng=eo::rng) const - - - virtual bool - isBounded - a7 - (void) const - - - virtual bool - hasNoBoundAtAll - a8 - (void) const - - - virtual bool - isMinBounded - a9 - (void) const - - - virtual bool - isMaxBounded - a10 - (void) const - - - virtual bool - isInBounds - a11 - (double _r) const - - - virtual void - foldsInBounds - a12 - (double &_r) const - - - virtual void - truncate - a13 - (double &_r) const - - - virtual void - readFrom - a14 - (std::istream &_is) - - - virtual void - printOn - a15 - (std::ostream &_os) const - - - virtual eoIntBounds * - dup - a16 - () const - - - long int - repMaximum - r0 - - - - - eoIntBelowBound - classeo_int_below_bound.html - eoIntBounds - - - eoIntBelowBound - a1 - (long int _min=0) - - - virtual long int - minimum - a2 - () const - - - virtual long int - maximum - a3 - () const - - - virtual long int - range - a4 - () const - - - virtual double - uniform - a5 - (eoRng &_rng=eo::rng) const - - - virtual long int - random - a6 - (eoRng &_rng=eo::rng) const - - - virtual bool - isBounded - a7 - (void) const - - - virtual bool - hasNoBoundAtAll - a8 - (void) const - - - virtual bool - isMinBounded - a9 - (void) const - - - virtual bool - isMaxBounded - a10 - (void) const - - - virtual bool - isInBounds - a11 - (double _r) const - - - virtual void - foldsInBounds - a12 - (double &_r) const - - - virtual void - truncate - a13 - (double &_r) const - - - virtual void - readFrom - a14 - (std::istream &_is) - - - virtual void - printOn - a15 - (std::ostream &_os) const - - - virtual eoIntBounds * - dup - a16 - () const - - - long int - repMinimum - r0 - - - - - eoIntBounds - classeo_int_bounds.html - eoPersistent - - virtual bool - isBounded - a1 - (void) const =0 - - - virtual bool - hasNoBoundAtAll - a2 - (void) const =0 - - - virtual bool - isMinBounded - a3 - (void) const =0 - - - virtual bool - isMaxBounded - a4 - (void) const =0 - - - virtual bool - isInBounds - a5 - (double) const =0 - - - virtual void - foldsInBounds - a6 - (double &) const =0 - - - virtual void - foldsInBounds - a7 - (long int &i) const - - - virtual void - truncate - a8 - (double &) const =0 - - - virtual void - truncate - a9 - (long int &i) const - - - virtual long int - minimum - a10 - () const =0 - - - virtual long int - maximum - a11 - () const =0 - - - virtual long int - range - a12 - () const =0 - - - virtual double - uniform - a13 - (eoRng &_rng=eo::rng) const =0 - - - virtual long int - random - a14 - (eoRng &_rng=eo::rng) const =0 - - - virtual eoIntBounds * - dup - a15 - () const =0 - - - - eoIntInterval - classeo_int_interval.html - eoIntBounds - - - eoIntInterval - a1 - (long int _min=0, long int _max=1) - - - virtual long int - minimum - a2 - () const - - - virtual long int - maximum - a3 - () const - - - virtual long int - range - a4 - () const - - - virtual bool - isBounded - a5 - (void) const - - - virtual bool - hasNoBoundAtAll - a6 - (void) const - - - virtual bool - isMinBounded - a7 - (void) const - - - virtual bool - isMaxBounded - a8 - (void) const - - - virtual double - uniform - a9 - (eoRng &_rng=eo::rng) const - - - virtual long int - random - a10 - (eoRng &_rng=eo::rng) const - - - virtual bool - isInBounds - a11 - (double _r) const - - - virtual void - foldsInBounds - a12 - (double &_r) const - - - virtual void - truncate - a13 - (double &_r) const - - - virtual void - readFrom - a14 - (std::istream &_is) - - - virtual void - printOn - a15 - (std::ostream &_os) const - - - virtual eoIntBounds * - dup - a16 - () const - - - long int - repMinimum - r0 - - - - long int - repMaximum - r1 - - - - long int - repRange - r2 - - - - - eoIntNoBounds - classeo_int_no_bounds.html - eoIntBounds - - virtual bool - isBounded - a1 - (void) const - - - virtual bool - hasNoBoundAtAll - a2 - (void) const - - - virtual bool - isMinBounded - a3 - (void) const - - - virtual bool - isMaxBounded - a4 - (void) const - - - virtual void - foldsInBounds - a5 - (double &) const - - - virtual void - truncate - a6 - (double &) const - - - virtual bool - isInBounds - a7 - (double) const - - - virtual long int - minimum - a8 - () const - - - virtual long int - maximum - a9 - () const - - - virtual long int - range - a10 - () const - - - virtual double - uniform - a11 - (eoRng &_rng=eo::rng) const - - - virtual long int - random - a12 - (eoRng &_rng=eo::rng) const - - - virtual void - readFrom - a13 - (std::istream &_is) - - - virtual void - printOn - a14 - (std::ostream &_os) const - - - virtual eoIntBounds * - dup - a15 - () const - - - - eoInvalidateBinOp - classeo_invalidate_bin_op.html - EOT - eoBinOp< EOT > - - - eoInvalidateBinOp - a0 - (eoBinOp< EOT > &_op) - - - bool - operator() - a1 - (EOT &_eo, const EOT &_eo2) - - - eoBinOp< EOT > & - op - r0 - - - - - eoInvalidateMonOp - classeo_invalidate_mon_op.html - EOT - eoMonOp< EOT > - - - eoInvalidateMonOp - a0 - (eoMonOp< EOT > &_op) - - - bool - operator() - a1 - (EOT &_eo) - - - eoMonOp< EOT > & - op - r0 - - - - - eoInvalidateQuadOp - classeo_invalidate_quad_op.html - EOT - eoQuadOp< EOT > - - - eoInvalidateQuadOp - a0 - (eoQuadOp< EOT > &_op) - - - bool - operator() - a1 - (EOT &_eo1, EOT &_eo2) - - - eoQuadOp< EOT > & - op - r0 - - - - - eoLinearFitScaling - classeo_linear_fit_scaling.html - EOT - eoPerf2Worth< EOT > - - - eoLinearFitScaling - a0 - (double _p=2.0) - - - virtual void - operator() - a1 - (const eoPop< EOT > &_pop) - - - double - pressure - r0 - - - - - eoLinearRandomSplit - classeo_linear_random_split.html - EOT - eoReduceSplit - - - eoLinearRandomSplit - a0 - (eoHowMany _howMany, bool _returnEliminated=false) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated) - - - eoHowMany - howMany - r0 - - - - bool - returnEliminated - r1 - - - - - eoLinearTruncate - classeo_linear_truncate.html - EOT - eoReduce - - void - operator() - d0 - (eoPop< EOT > &_newgen, unsigned _newsize) - - - - eoLinearTruncateSplit - classeo_linear_truncate_split.html - EOT - eoReduceSplit - - - eoLinearTruncateSplit - a0 - (eoHowMany _howMany, bool _returnEliminated=false) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated) - - - eoHowMany - howMany - r0 - - - - bool - returnEliminated - r1 - - - - - MemPool - class_mem_pool.html - - - MemPool - a0 - (unsigned int sz) - - - void * - allocate - a2 - () - - - void - deallocate - a3 - (void *b) - - - void - grow - d0 - () - - - Chunk * - chunks - r0 - - - - const unsigned int - esize - r1 - - - - Link * - head - r2 - - - - - eoMerge - classeo_merge.html - Chrom - eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void > - - - eoMergeReduce - classeo_merge_reduce.html - EOT - eoReplacement - - - eoMergeReduce - a0 - (eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce) - - - void - operator() - a1 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoMerge< EOT > & - merge - r0 - - - - eoReduce< EOT > & - reduce - r1 - - - - - eoMGGReplacement - classeo_m_g_g_replacement.html - EOT - eoReplacement - - - eoMGGReplacement - a0 - (eoHowMany _howManyEliminatedParents=eoHowMany(2, false), unsigned _tSize=2) - - - void - operator() - a1 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoLinearTruncateSplit< EOT > - split - r0 - - - - eoPlus< EOT > - plus - r1 - - - - unsigned int - tSize - r2 - - - - - MinimizingTraits - class_minimizing_traits.html - eoParetoFitnessTraits - - bool - maximizing - e0 - (int) - - - - eoMOFitnessStat - classeo_m_o_fitness_stat.html - EOT - PartFitT - eoSortedStat< EOT, std::vector< PartFitT > > - - - eoMOFitnessStat - a0 - (unsigned _objective, std::string _description="MO-Fitness") - - - virtual void - operator() - a1 - (const std::vector< const EOT * > &_popPters) - - - unsigned int - objective - r0 - - - - - eoMonCloneOp - classeo_mon_clone_op.html - EOT - eoMonOp< EOT > - - - eoMonCloneOp - a0 - () - - - virtual std::string - className - a1 - () const - - - virtual bool - operator() - a2 - (EOT &) - - - - eoMonGenOp - classeo_mon_gen_op.html - EOT - eoGenOp - - - eoMonGenOp - a0 - (eoMonOp< EOT > &_op) - - - unsigned - max_production - a1 - (void) - - - void - apply - a2 - (eoPopulator< EOT > &_it) - - - virtual std::string - className - a3 - () const - - - eoMonOp< EOT > & - op - r0 - - - - - eoMonitor - classeo_monitor.html - eoF< eoMonitor & > - - virtual void - lastCall - a0 - () - - - virtual void - add - a1 - (const eoParam &_param) - - - virtual std::string - className - a2 - (void) const - - - std::vector< const eoParam * >::iterator - iterator - x0 - - - - std::vector< const eoParam * > - vec - p0 - - - - - eoMonOp - classeo_mon_op.html - EOType - eoOp - eoUF< EOType &, bool > - - - eoMonOp - a0 - () - - - virtual std::string - className - a1 - () const - - - - eoNDPlusReplacement - classeo_n_d_plus_replacement.html - EOT - WorthT - eoReplacement - eoReplacement - - - eoNDPlusReplacement - a0 - (eoPerf2Worth< EOT, WorthT > &_perf2worth) - - - void - operator() - a1 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - - eoNDPlusReplacement - a2 - (eoPerf2Worth< EOT, WorthT > &_perf2worth) - - - void - operator() - a3 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoPerf2Worth< EOT, WorthT > & - perf2worth - r0 - - - - eoPerf2Worth< EOT, WorthT > & - perf2worth - r1 - - - - - eoNDSorting - classeo_n_d_sorting.html - EOT - eoPerf2WorthCached< EOT, double > - - - eoNDSorting - a0 - (bool nasty_flag_=false) - - - virtual std::vector< double > - niche_penalty - a2 - (const std::vector< unsigned > &current_front, const eoPop< EOT > &_pop)=0 - - - void - calculate_worths - a3 - (const eoPop< EOT > &_pop) - - - bool - nasty_declone_flag_that_only_is_implemented_for_two_objectives - o0 - - - - void - one_objective - d0 - (const eoPop< EOT > &_pop) - - - void - two_objectives - d1 - (const eoPop< EOT > &_pop) - - - void - m_objectives - d2 - (const eoPop< EOT > &_pop) - - - void - rank_to_worth - d3 - () - - - - eoNDSorting::DummyEO - classeo_n_d_sorting_1_1_dummy_e_o.html - EO< EOT::Fitness > - - unsigned - index - o0 - - - - - eoNDSorting_I - classeo_n_d_sorting___i.html - EOT - eoNDSorting - - - eoNDSorting_I - a0 - (double _nicheSize, bool nasty_flag_=false) - - - std::vector< double > - niche_penalty - a1 - (const std::vector< unsigned > &current_front, const eoPop< EOT > &_pop) - - - double - nicheSize - r0 - - - - - eoNDSorting_II - classeo_n_d_sorting___i_i.html - EOT - eoNDSorting - - std::pair< double, unsigned > - double_index_pair - w0 - - - - - eoNDSorting_II - a0 - (bool nasty_flag_=false) - - - std::vector< double > - niche_penalty - a1 - (const std::vector< unsigned > &_cf, const eoPop< EOT > &_pop) - - - - negexp_generator - classnegexp__generator.html - T - - - negexp_generator - a0 - (T _mean=1.0, eoRng &_rng=rng) - - - T - operator() - a1 - (void) - - - T - mean - r0 - - - - eoRng & - negexp - r1 - - - - - eoNegExpGenerator - classeo_neg_exp_generator.html - T - eoRndGenerator - - - eoNegExpGenerator - a0 - (T _mean=1.0, eoRng &_rng=rng) - - - T - operator() - a1 - (void) - - - T - mean - r0 - - - - eoRng & - negexp - r1 - - - - - eoNegExpInit - classeo_neg_exp_init.html - T - eoInit< T > - - - eoNegExpInit - a0 - (T _mean=1.0, eoRng &_rng=rng) - - - void - operator() - a1 - (T &_t) - - - T - mean - r0 - - - - eoRng & - negexp - r1 - - - - - NodeSelector - class_node_selector.html - - virtual NodeSelection - select_node - a1 - (Sym sym) const =0 - - - - eoNoElitism - classeo_no_elitism.html - EOT - eoElitism - - - eoNoPerf2Worth - classeo_no_perf2_worth.html - EOT - eoPerf2Worth< EOT, EOT::Fitness > - - void - operator() - a0 - (const eoPop< EOT > &_pop) - - - - normal_generator - classnormal__generator.html - T - - - normal_generator - a0 - (T _stdev=T(1.0), eoRng &_rng=rng) - - - T - operator() - a1 - (void) - - - T - stdev - r0 - - - - eoRng & - normal - r1 - - - - - eoNormalGenerator - classeo_normal_generator.html - T - eoRndGenerator - - - eoNormalGenerator - a0 - (T _stdev=T(1.0), eoRng &_rng=rng) - - - T - operator() - a1 - (void) - - - T - stdev - r0 - - - - eoRng & - normal - r1 - - - - - eoNormalInit - classeo_normal_init.html - T - eoInit< T > - - - eoNormalInit - a0 - (T _stdev=T(1.0), eoRng &_rng=rng) - - - void - operator() - a1 - (T &_t) - - - T - stdev - r0 - - - - eoRng & - normal - r1 - - - - - eoNormalMutation - classeo_normal_mutation.html - EOT - eoMonOp< EOT > - - - eoNormalMutation - a0 - (double &_sigma, const double &_p_change=1.0) - - - - eoNormalMutation - a1 - (eoRealVectorBounds &_bounds, double _sigma, const double &_p_change=1.0) - - - virtual std::string - className - a2 - () const - - - bool - operator() - a3 - (EOT &_eo) - - - double & - Sigma - a4 - () - - - double & - sigma - r0 - - - - eoRealVectorBounds & - bounds - r1 - - - - double - p_change - r2 - - - - - eoNormalVecMutation - classeo_normal_vec_mutation.html - EOT - eoMonOp< EOT > - - - eoNormalVecMutation - a0 - (double _sigma, const double &_p_change=1.0) - - - - eoNormalVecMutation - a1 - (eoRealVectorBounds &_bounds, double _sigma, const double &_p_change=1.0) - - - virtual std::string - className - a2 - () const - - - bool - operator() - a3 - (EOT &_eo) - - - std::vector< double > - sigma - r0 - - - - eoRealVectorBounds & - bounds - r1 - - - - double - p_change - r2 - - - - - eoNoSelect - classeo_no_select.html - EOT - eoSelectOne< EOT > - - - eoNoSelect - a0 - () - - - virtual const EOT & - operator() - a1 - (const eoPop< EOT > &_pop) - - - unsigned - current - r0 - - - - - eoNPtsBitXover - classeo_n_pts_bit_xover.html - Chrom - eoQuadOp< Chrom > - - - eoNPtsBitXover - a0 - (const unsigned &_num_points=2) - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (Chrom &chrom1, Chrom &chrom2) - - - unsigned - num_points - r0 - - - - - eoNthElementFitnessStat - classeo_nth_element_fitness_stat.html - EOT - eoSortedStat< EOT, EOT::Fitness > - - EOT::Fitness - Fitness - w0 - - - - - eoNthElementFitnessStat - a0 - (unsigned _whichElement, std::string _description="nth element fitness") - - - virtual void - operator() - a1 - (const std::vector< const EOT * > &_pop) - - - virtual std::string - className - a2 - (void) const - - - void - doit - d0 - (const eoPop< EOT > &_pop, eoParetoFitness< T >) - - - void - doit - d1 - (const std::vector< const EOT * > &_pop, T) - - - unsigned - whichElement - r0 - - - - - eoObject - classeo_object.html - - virtual - ~eoObject - a0 - () - - - virtual std::string - className - a1 - () const =0 - - - - eoOneFifthMutation - classeo_one_fifth_mutation.html - EOT - eoNormalMutation - eoUpdatable - - EOT::Fitness - Fitness - w0 - - - - - eoOneFifthMutation - a0 - (eoEvalFunc< EOT > &_eval, double &_sigmaInit, unsigned _windowSize=10, double _updateFactor=0.83, double _threshold=0.2) - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (EOT &_eo) - - - void - update - a3 - () - - - eoEvalFunc< EOT > & - eval - r0 - - - - double - threshold - r1 - - - - double - updateFactor - r2 - - - - std::vector< unsigned > - nbMut - r3 - - - - std::vector< unsigned > - nbSuccess - r4 - - - - unsigned - genIndex - r5 - - - - - eoOneMax - classeo_one_max.html - FitT - EO< FitT > - - - eoOneMax - a0 - () - - - virtual string - className - a2 - () const - - - void - printOn - a3 - (ostream &_os) const - - - void - readFrom - a4 - (istream &_is) - - - void - setB - a5 - (vector< bool > &_b) - - - const vector< bool > & - B - a6 - () - - - std::vector< bool > - b - r0 - - - - - eoOneMaxEvalFunc - classeo_one_max_eval_func.html - EOT - eoEvalFunc - - - eoOneMaxEvalFunc - a0 - () - - - void - operator() - a1 - (EOT &_eo) - - - - eoOneMaxInit - classeo_one_max_init.html - GenotypeT - eoInit< GenotypeT > - - - eoOneMaxInit - a0 - (unsigned _vecSize) - - - void - operator() - a1 - (GenotypeT &_genotype) - - - unsigned - vecSize - r0 - - - - - eoOneMaxMutation - classeo_one_max_mutation.html - GenotypeT - eoMonOp< GenotypeT > - - - eoOneMaxMutation - a0 - () - - - string - className - a1 - () const - - - bool - operator() - a2 - (GenotypeT &_genotype) - - - - eoOneMaxQuadCrossover - classeo_one_max_quad_crossover.html - GenotypeT - eoQuadOp< GenotypeT > - - - eoOneMaxQuadCrossover - a0 - () - - - string - className - a1 - () const - - - bool - operator() - a2 - (GenotypeT &_genotype1, GenotypeT &_genotype2) - - - - eoOp - classeo_op.html - EOType - - - eoOp - z14_1 - (OpType _type) - - - - eoOp - z14_2 - (const eoOp &_eop) - - - virtual - ~eoOp - z14_3 - () - - - OpType - getType - z14_4 - () const - - - OpType - opType - z14_5 - - - - - eoOpContainer - classeo_op_container.html - EOT - eoGenOp - - - eoOpContainer - a0 - () - - - virtual - ~eoOpContainer - a1 - (void) - - - virtual unsigned - max_production - a2 - (void) - - - void - add - a3 - (eoOp< EOT > &_op, double _rate) - - - virtual std::string - className - a4 - () const =0 - - - std::vector< double > - rates - p0 - - - - std::vector< eoGenOp< EOT > * > - ops - p1 - - - - eoFunctorStore - store - r0 - - - - unsigned - max_to_produce - r1 - - - - - eoOpSelMason - classeo_op_sel_mason.html - eoClass - eoFactory< eoOpSelector< eoClass > > - - std::vector< eoOp< eoClass > * > - vOpP - w0 - - - - map< eoOpSelector< eoClass > *, vOpP > - MEV - w1 - - - - virtual eoOpSelector< eoClass > * - make - a0 - (std::istream &_is) - - - - eoOpSelMason - z15_0 - (eoOpFactory< eoClass > &_opFact) - - - virtual - ~eoOpSelMason - z15_1 - () - - - virtual std::string - className - z17_0 - () const - - - map< eoOpSelector< eoClass > *, std::vector< eoOp< eoClass > * > > - allocMap - r0 - - - - eoOpFactory< eoClass > & - operatorFactory - r1 - - - - - eoParam - classeo_param.html - - - eoParam - a0 - () - - - - eoParam - a1 - (std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false) - - - virtual - ~eoParam - a2 - () - - - virtual std::string - getValue - a3 - () const =0 - - - virtual void - setValue - a4 - (const std::string &_value)=0 - - - char - shortName - a5 - () const - - - const std::string & - longName - a6 - () const - - - const std::string & - description - a7 - () const - - - const std::string & - defValue - a8 - () const - - - void - defValue - a9 - (const std::string &str) - - - void - setLongName - a10 - (std::string _longName) - - - bool - required - a11 - () const - - - std::string - repLongName - r0 - - - - std::string - repDefault - r1 - - - - std::string - repDescription - r2 - - - - char - repShortHand - r3 - - - - bool - repRequired - r4 - - - - - eoParameterLoader - classeo_parameter_loader.html - - virtual - ~eoParameterLoader - a0 - () - - - virtual void - processParam - a1 - (eoParam &param, std::string section="")=0 - - - virtual bool - isItThere - a2 - (eoParam &_param) const =0 - - - eoValueParam< ValueType > & - createParam - a3 - (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false) - - - std::vector< eoParam * > - ownedParams - r0 - - - - - eoParamParamType - classeo_param_param_type.html - - - eoParamParamType - a0 - (std::string _value) - - - std::ostream & - printOn - a1 - (std::ostream &_os) const - - - std::istream & - readFrom - a2 - (std::istream &_is) - - - void - readFrom - a3 - (std::string &_value) - - - - eoParetoFitness - classeo_pareto_fitness.html - FitnessTraits - - FitnessTraits - fitness_traits - w0 - - - - - eoParetoFitness - a1 - (std::vector< double > &_v) - - - bool - dominates - a2 - (const eoParetoFitness< FitnessTraits > &_other) const - - - bool - operator< - a3 - (const eoParetoFitness< FitnessTraits > &_other) const - - - bool - operator> - a4 - (const eoParetoFitness< FitnessTraits > &_other) const - - - bool - operator<= - a5 - (const eoParetoFitness< FitnessTraits > &_other) const - - - bool - operator>= - a6 - (const eoParetoFitness< FitnessTraits > &_other) const - - - bool - operator== - a7 - (const eoParetoFitness< FitnessTraits > &_other) const - - - bool - operator!= - a8 - (const eoParetoFitness< FitnessTraits > &_other) const - - - void - setUp - e0 - (unsigned _n, std::vector< bool > &_b) - - - bool - maximizing - e1 - (unsigned _i) - - - - eoParetoFitnessTraits - classeo_pareto_fitness_traits.html - - unsigned - nObjectives - e0 - () - - - double - tol - e1 - () - - - bool - maximizing - e2 - (int which) - - - - eoParetoOneConstraintFitness - classeo_pareto_one_constraint_fitness.html - FitnessTraits - - FitnessTraits - fitness_traits - w0 - - - - - eoParetoOneConstraintFitness - a1 - (std::vector< double > &_v) - - - - eoParetoOneConstraintFitness - a2 - (std::vector< double > &_v, double _c) - - - bool - feasible - a3 - () const - - - double - violation - a4 - () const - - - double - ConstraintValue - a5 - () const - - - void - ConstraintValue - a6 - (double _c) - - - bool - dominates - a7 - (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const - - - bool - operator< - a8 - (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const - - - bool - operator> - a9 - (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const - - - bool - operator<= - a10 - (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const - - - bool - operator>= - a11 - (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const - - - bool - operator== - a12 - (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const - - - bool - operator!= - a13 - (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const - - - void - setUp - e0 - (unsigned _n, std::vector< bool > &_b) - - - bool - maximizing - e1 - (unsigned _i) - - - double - constraintValue - r0 - - - - - eoParetoRanking - classeo_pareto_ranking.html - EOT - eoPerf2WorthCached< EOT, double > - - - eoParetoRanking - a0 - (eoDominanceMap< EOT > &_dominanceMap) - - - void - calculate_worths - a1 - (const eoPop< EOT > &_pop) - - - eoDominanceMap< EOT > & - dominanceMap - r0 - - - - - eoParser - classeo_parser.html - eoParameterLoader - eoObject - eoPersistent - - - eoParser - a0 - (unsigned _argc, char **_argv, std::string _programDescription="", std::string _lFileParamName="param-file", char _shortHand= 'p') - - - void - processParam - a1 - (eoParam &param, std::string section="") - - - void - readFrom - a2 - (std::istream &is) - - - void - printOn - a3 - (std::ostream &os) const - - - std::string - className - a4 - (void) const - - - bool - userNeedsHelp - a5 - (void) - - - void - printHelp - a6 - (std::ostream &os) - - - std::string - ProgramName - a7 - () - - - virtual bool - isItThere - a8 - (eoParam &_param) const - - - eoParam * - getParamWithLongName - a9 - (const std::string &_name) const - - - eoValueParam< ValueType > & - getORcreateParam - a10 - (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false) - - - eoValueParam< ValueType > & - setORcreateParam - a11 - (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false) - - - void - setStopOnUnknownParam - a12 - (bool _b) - - - bool - getStopOnUnknownParam - a13 - () - - - void - setPrefix - a14 - (const std::string &_prefix) - - - void - resetPrefix - a15 - () - - - std::string - getPrefix - a16 - () - - - std::multimap< std::string, eoParam * > - MultiMapType - y0 - - - - std::map< char, std::string > - ShortNameMapType - y1 - - - - std::map< std::string, std::string > - LongNameMapType - y2 - - - - void - doRegisterParam - d0 - (eoParam &param) const - - - std::pair< bool, std::string > - getValue - d1 - (eoParam &_param) const - - - void - updateParameters - d2 - () const - - - MultiMapType - params - r0 - - - - std::string - programName - r1 - - - - std::string - programDescription - r2 - - - - ShortNameMapType - shortNameMap - r3 - - - - LongNameMapType - longNameMap - r4 - - - - eoValueParam< bool > - needHelp - r5 - - - - eoValueParam< bool > - stopOnUnknownParam - r6 - - - - std::vector< std::string > - messages - r7 - - - - std::string - prefix - r8 - - - - - eoParseTree - classeo_parse_tree.html - FType - Node - EO< FType > - - parse_tree< Node >::subtree - Subtree - w0 - - - - Node - reference - w1 - - - - const reference - const_reference - w2 - - - - - eoParseTree - a0 - (void) - - - - eoParseTree - a1 - (const parse_tree< Node > &tree) - - - virtual void - pruneTree - a2 - (unsigned _size) - - - - eoParseTree - a3 - (std::istream &is) - - - std::string - className - a4 - (void) const - - - void - printOn - a5 - (std::ostream &os) const - - - void - readFrom - a6 - (std::istream &is) - - - - eoParseTreeDepthInit - classeo_parse_tree_depth_init.html - FType - Node - eoInit< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoParseTreeDepthInit - a0 - (unsigned _max_depth, const std::vector< Node > &_initializor, bool _grow=true, bool _ramped_half_and_half=false) - - - virtual std::string - className - a1 - () const - - - void - operator() - a2 - (EoType &_tree) - - - void - generate - d0 - (std::list< Node > &sequence, int the_max, int last_terminal=-1) - - - unsigned - max_depth - r0 - - - - std::vector< Node > - initializor - r1 - - - - bool - grow - r2 - - - - bool - ramped_half_and_half - r3 - - - - unsigned - current_depth - r4 - - - - - eoPBILAdditive - classeo_p_b_i_l_additive.html - EOT - eoDistribUpdater - - - eoPBILAdditive - a0 - (double _LRBest, unsigned _nbBest=1, double _tolerance=0.0, double _LRWorst=0.0, unsigned _nbWorst=0) - - - virtual void - operator() - a1 - (eoDistribution< EOT > &_distrib, eoPop< EOT > &_pop) - - - double - maxBound - r0 - - - - double - minBound - r1 - - - - double - LR - r2 - - - - unsigned - nbBest - r3 - - - - unsigned - nbWorst - r4 - - - - double - lrb - r5 - - - - double - lrw - r6 - - - - - eoPBILDistrib - classeo_p_b_i_l_distrib.html - EOT - eoDistribution - eoValueParam< std::vector< double > > - - - eoPBILDistrib - a0 - (unsigned _genomeSize) - - - virtual void - operator() - a1 - (EOT &_eo) - - - unsigned - Size - a2 - () - - - virtual void - printOn - a3 - (std::ostream &os) const - - - virtual void - readFrom - a4 - (std::istream &is) - - - unsigned int - size - a5 - () - - - virtual std::string - className - a6 - () const - - - unsigned - genomeSize - r0 - - - - - eoPBILOrg - classeo_p_b_i_l_org.html - EOT - eoDistribUpdater - - - eoPBILOrg - a0 - (double _LR, double _tolerance=0.0) - - - virtual void - operator() - a1 - (eoDistribution< EOT > &_distrib, eoPop< EOT > &_pop) - - - double - LR - r0 - - - - double - maxBound - r1 - - - - double - minBound - r2 - - - - - eoPerf2Worth - classeo_perf2_worth.html - EOT - WorthT - eoUF< const eoPop< EOT > &, void > - eoValueParam< std::vector< WorthT > > - - - eoPerf2Worth - a0 - (std::string _description="Worths") - - - virtual void - sort_pop - a1 - (eoPop< EOT > &_pop) - - - virtual void - resize - a2 - (eoPop< EOT > &_pop, unsigned sz) - - - virtual void - operator() - a3 - (eoPop< EOT > &_pop) - - - - eoPerf2Worth::compare_worth - classeo_perf2_worth_1_1compare__worth.html - - - compare_worth - a0 - (const std::vector< WorthT > &_worths) - - - bool - operator() - a1 - (unsigned a, unsigned b) const - - - const std::vector< WorthT > & - worths - r0 - - - - - eoPerf2WorthCached - classeo_perf2_worth_cached.html - EOT - WorthT - eoPerf2Worth - - - eoPerf2WorthCached - a0 - (std::string _description="Worths") - - - void - operator() - a1 - (const eoPop< EOT > &_pop) - - - virtual void - calculate_worths - a2 - (const eoPop< EOT > &_pop)=0 - - - virtual void - sort_pop - a3 - (eoPop< EOT > &_pop) - - - virtual void - resize - a4 - (eoPop< EOT > &_pop, unsigned sz) - - - std::vector< typename EOT::Fitness > - fitness_cache - r0 - - - - - eoPerf2WorthCached::compare_worth - classeo_perf2_worth_cached_1_1compare__worth.html - - - compare_worth - a0 - (const std::vector< WorthT > &_worths) - - - bool - operator() - a1 - (unsigned a, unsigned b) const - - - const std::vector< WorthT > & - worths - r0 - - - - - eoPersistent - classeo_persistent.html - eoPrintable - - virtual - ~eoPersistent - a0 - () - - - virtual void - readFrom - a1 - (std::istream &_is)=0 - - - - eoPlus - classeo_plus.html - EOT - eoMerge< EOT > - - void - operator() - a0 - (const eoPop< EOT > &_pop, eoPop< EOT > &_offspring) - - - - eoPlusReplacement - classeo_plus_replacement.html - EOT - eoMergeReduce - - eoPlus< EOT > - plus - r0 - - - - eoTruncate< EOT > - truncate - r1 - - - - - eoPointMutation - classeo_point_mutation.html - FType - Node - eoMonOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoPointMutation - a0 - (std::vector< Node > &_initializor) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoPointMutation - a2 - () - - - bool - operator() - a3 - (EoType &_eo1) - - - std::vector< Node > & - initializor - r0 - - - - - eoPop - classeo_pop.html - EOT - eoObject - eoPersistent - - EOT::Fitness - Fitness - w0 - - - - EOT::fitness_traits - fitness_traits - w1 - - - - - eoPop - a0 - () - - - - eoPop - a1 - (unsigned _popSize, eoInit< EOT > &_chromInit) - - - void - append - a2 - (unsigned _newPopSize, eoInit< EOT > &_chromInit) - - - - eoPop - a3 - (std::istream &_is) - - - virtual - ~eoPop - a4 - () - - - void - sort - a5 - (void) - - - void - sort - a6 - (std::vector< const EOT * > &result) const - - - void - shuffle - a7 - (void) - - - void - shuffle - a8 - (std::vector< const EOT * > &result) const - - - eoPop< EOT >::iterator - it_best_element - a9 - () - - - const EOT & - best_element - a10 - () const - - - const EOT & - worse_element - a11 - () const - - - eoPop< EOT >::iterator - it_worse_element - a12 - () - - - eoPop< EOT >::iterator - nth_element - a13 - (int nth) - - - Fitness - nth_element_fitness - a14 - (int which) const - - - void - nth_element - a15 - (int which, std::vector< const EOT * > &result) const - - - void - swap - a16 - (eoPop< EOT > &other) - - - virtual void - sortedPrintOn - a17 - (std::ostream &_os) const - - - virtual void - printOn - a18 - (std::ostream &_os) const - - - virtual void - invalidate - a19 - () - - - void - sort - a21 - () - - - void - scale - a22 - () - - - void - setPerf2Worth - a23 - (eoPerf2Worth< EOT > &_p2w) - - - void - setPerf2Worth - a24 - (eoPerf2Worth< EOT > *_p2w) - - - eoPerf2Worth< EOT > * - getPerf2Worth - a25 - () - - - void - swap - a26 - (eoPop< EOT > &other) - - - virtual void - readFrom - z19_0 - (std::istream &_is) - - - virtual std::string - className - z19_1 - () const - - - eoPerf2Worth< EOT > * - p2w - r0 - - - - - eoPop::Cmp - structeo_pop_1_1_cmp.html - - bool - operator() - a0 - (const EOT *a, const EOT *b) const - - - - eoPop::Ref - structeo_pop_1_1_ref.html - - const EOT * - operator() - a0 - (const EOT &eot) - - - - eoPopAlgo - classeo_pop_algo.html - EOT - eoUF< eoPop< EOT > &, void > - - - eoPopEvalFunc - classeo_pop_eval_func.html - EOT - eoBF< eoPop< EOT > &, eoPop< EOT > &, void > - - - eoPopLoopEval - classeo_pop_loop_eval.html - EOT - eoPopEvalFunc - - - eoPopLoopEval - a0 - (eoEvalFunc< EOT > &_eval) - - - void - operator() - a1 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoEvalFunc< EOT > & - eval - r0 - - - - - eoPopStat - classeo_pop_stat.html - EOT - eoStat< EOT, std::string > - - - eoPopStat - a0 - (unsigned _howMany=0, std::string _desc="") - - - void - operator() - a1 - (const eoPop< EOT > &_pop) - - - unsigned - combien - r0 - - - - - eoPopulator - classeo_populator.html - EOT - - unsigned - position_type - w0 - - - - - eoPopulator - a0 - (const eoPop< EOT > &_src, eoPop< EOT > &_dest) - - - virtual - ~eoPopulator - a1 - () - - - EOT & - operator * - a2 - (void) - - - eoPopulator & - operator++ - a3 - () - - - void - insert - a4 - (const EOT &_eo) - - - void - reserve - a5 - (int how_many) - - - const eoPop< EOT > & - source - a6 - (void) - - - eoPop< EOT > & - offspring - a7 - (void) - - - position_type - tellp - a8 - () - - - void - seekp - a9 - (position_type pos) - - - bool - exhausted - a10 - (void) - - - virtual const EOT & - select - a11 - ()=0 - - - eoPop< EOT > & - dest - p0 - - - - eoPop< EOT >::iterator - current - p1 - - - - const eoPop< EOT > & - src - p2 - - - - void - get_next - d0 - () - - - - eoPrintable - classeo_printable.html - - virtual - ~eoPrintable - a0 - () - - - virtual void - printOn - a1 - (std::ostream &_os) const =0 - - - - eoProcedureCounter - classeo_procedure_counter.html - Procedure - eoValueParam< unsigned long > - - - eoProcedureCounter - a0 - (Procedure &_proc, std::string _name="proc_counter") - - - Procedure::result_type - operator() - a1 - (void) - - - Procedure & - proc - r0 - - - - - eoPropCombinedBinOp - classeo_prop_combined_bin_op.html - EOT - eoBinOp< EOT > - - - eoPropCombinedBinOp - a0 - (eoBinOp< EOT > &_first, const double _rate) - - - virtual std::string - className - a1 - () const - - - virtual void - add - a2 - (eoBinOp< EOT > &_op, const double _rate, bool _verbose=false) - - - virtual void - operator() - a3 - (EOT &_indi1, const EOT &_indi2) - - - std::vector< eoBinOp< EOT > * > - ops - r0 - - - - std::vector< double > - rates - r1 - - - - - eoPropCombinedMonOp - classeo_prop_combined_mon_op.html - EOT - eoMonOp< EOT > - - - eoPropCombinedMonOp - a0 - (eoMonOp< EOT > &_first, const double _rate) - - - virtual std::string - className - a1 - () const - - - virtual void - add - a2 - (eoMonOp< EOT > &_op, const double _rate, bool _verbose=false) - - - virtual void - printOn - a3 - (std::ostream &_os) - - - virtual bool - operator() - a4 - (EOT &_indi) - - - std::vector< eoMonOp< EOT > * > - ops - p0 - - - - std::vector< double > - rates - p1 - - - - - eoPropCombinedQuadOp - classeo_prop_combined_quad_op.html - EOT - eoQuadOp< EOT > - - - eoPropCombinedQuadOp - a0 - (eoQuadOp< EOT > &_first, const double _rate) - - - virtual std::string - className - a1 - () const - - - virtual void - add - a2 - (eoQuadOp< EOT > &_op, const double _rate, bool _verbose=false) - - - virtual void - printOn - a3 - (std::ostream &_os) - - - virtual bool - operator() - a4 - (EOT &_indi1, EOT &_indi2) - - - std::vector< eoQuadOp< EOT > * > - ops - r0 - - - - std::vector< double > - rates - r1 - - - - - eoPropGAGenOp - classeo_prop_g_a_gen_op.html - EOT - eoGenOp - - - eoPropGAGenOp - a0 - (double _wClone, eoQuadOp< EOT > &_cross, double _wCross, eoMonOp< EOT > &_mut, double _wMut) - - - virtual void - apply - a1 - (eoPopulator< EOT > &_pop) - - - virtual unsigned - max_production - a2 - (void) - - - virtual std::string - className - a3 - () const - - - double - wClone - r0 - - - - eoQuadOp< EOT > & - cross - r1 - - - - double - wCross - r2 - - - - eoMonOp< EOT > & - mut - r3 - - - - double - wMut - r4 - - - - eoProportionalOp< EOT > - propOp - r5 - - - - eoMonCloneOp< EOT > - monClone - r6 - - - - - eoProportionalOp - classeo_proportional_op.html - EOT - eoOpContainer - - void - apply - a0 - (eoPopulator< EOT > &_pop) - - - virtual std::string - className - a1 - () const - - - - eoProportionalSelect - classeo_proportional_select.html - EOT - eoSelectOne< EOT > - - - eoProportionalSelect - a0 - (const eoPop< EOT > &pop=eoPop< EOT >()) - - - void - setup - a1 - (const eoPop< EOT > &_pop) - - - const EOT & - operator() - a2 - (const eoPop< EOT > &_pop) - - - std::vector< typename EOT::Fitness > - FitVec - y0 - - - - FitVec - cumulative - r0 - - - - - eoQuad2BinOp - classeo_quad2_bin_op.html - EOT - eoBinOp< EOT > - - - eoQuad2BinOp - a0 - (eoQuadOp< EOT > &_quadOp) - - - bool - operator() - a1 - (EOT &_eo1, const EOT &_eo2) - - - eoQuadOp< EOT > & - quadOp - r0 - - - - - eoQuadCloneOp - classeo_quad_clone_op.html - EOT - eoQuadOp< EOT > - - - eoQuadCloneOp - a0 - () - - - virtual std::string - className - a1 - () const - - - virtual bool - operator() - a2 - (EOT &, EOT &) - - - - eoQuadDistance - classeo_quad_distance.html - EOT - eoDistance - - double - operator() - a0 - (const EOT &_v1, const EOT &_v2) - - - - eoQuadGenOp - classeo_quad_gen_op.html - EOT - eoGenOp - - - eoQuadGenOp - a0 - (eoQuadOp< EOT > &_op) - - - unsigned - max_production - a1 - (void) - - - void - apply - a2 - (eoPopulator< EOT > &_pop) - - - virtual std::string - className - a3 - () const - - - eoQuadOp< EOT > & - op - r0 - - - - - eoQuadOp - classeo_quad_op.html - EOType - eoOp - eoBF< EOType &, EOType &, bool > - - - eoQuadOp - a0 - () - - - virtual std::string - className - a1 - () const - - - - random_generator - classrandom__generator.html - T - - - random_generator - a0 - (T _max, eoRng &_rng=rng) - - - - random_generator - a1 - (T _min, T _max, eoRng &_rng=rng) - - - T - operator() - a2 - (void) - - - bool - operator() - a3 - (void) - - - T - minim - r0 - - - - T - range - r1 - - - - eoRng & - random - r2 - - - - - RandomNodeSelector - class_random_node_selector.html - NodeSelector - - NodeSelection - select_node - a0 - (Sym sym) const - - - - eoRandomReduce - classeo_random_reduce.html - EOT - eoReduce - - void - operator() - d0 - (eoPop< EOT > &_newgen, unsigned _newsize) - - - - eoRandomSelect - classeo_random_select.html - EOT - eoSelectOne< EOT > - - virtual const EOT & - operator() - a0 - (const eoPop< EOT > &_pop) - - - - eoRandomSplit - classeo_random_split.html - EOT - eoReduceSplit - - - eoRandomSplit - a0 - (eoHowMany _howMany, bool _returnEliminated=false) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated) - - - eoHowMany - howMany - r0 - - - - bool - returnEliminated - r1 - - - - - eoRanking - classeo_ranking.html - EOT - eoPerf2Worth< EOT > - - - eoRanking - a0 - (double _p=2.0, double _e=1.0) - - - int - lookfor - a1 - (const EOT *_eo, const eoPop< EOT > &_pop) - - - virtual void - operator() - a2 - (const eoPop< EOT > &_pop) - - - double - pressure - r0 - - - - double - exponent - r1 - - - - - eoRankingSelect - classeo_ranking_select.html - EOT - eoRouletteWorthSelect< EOT, double > - - - eoRankingSelect - a0 - (double _p=2.0, double _e=1.0) - - - eoRanking< EOT > - ranking - r0 - - - - - eoReal - classeo_real.html - FitT - eoVector< FitT, double > - - - eoReal - a0 - (unsigned size=0, double value=0.0) - - - virtual std::string - className - a1 - () const - - - - eoRealAboveBound - classeo_real_above_bound.html - eoRealBounds - - - eoRealAboveBound - a1 - (double _max=0) - - - virtual double - maximum - a2 - () const - - - virtual double - minimum - a3 - () const - - - virtual double - range - a4 - () const - - - virtual double - uniform - a5 - (eoRng &_rng=eo::rng) const - - - virtual bool - isBounded - a6 - (void) const - - - virtual bool - hasNoBoundAtAll - a7 - (void) const - - - virtual bool - isMinBounded - a8 - (void) const - - - virtual bool - isMaxBounded - a9 - (void) const - - - virtual bool - isInBounds - a10 - (double _r) const - - - virtual void - foldsInBounds - a11 - (double &_r) const - - - virtual void - truncate - a12 - (double &_r) const - - - virtual void - readFrom - a13 - (std::istream &_is) - - - virtual void - printOn - a14 - (std::ostream &_os) const - - - virtual eoRealBounds * - dup - a15 - () const - - - double - repMaximum - r0 - - - - - eoRealBaseVectorBounds - classeo_real_base_vector_bounds.html - - - eoRealBaseVectorBounds - a1 - () - - - - eoRealBaseVectorBounds - a2 - (unsigned _dim, eoRealBounds &_bounds) - - - - eoRealBaseVectorBounds - a3 - (eoRealBounds &_xbounds, eoRealBounds &_ybounds) - - - virtual bool - isBounded - a4 - (unsigned _i) - - - virtual bool - isBounded - a5 - (void) - - - virtual bool - hasNoBoundAtAll - a6 - (unsigned _i) - - - virtual bool - hasNoBoundAtAll - a7 - (void) - - - virtual bool - isMinBounded - a8 - (unsigned _i) - - - virtual bool - isMaxBounded - a9 - (unsigned _i) - - - virtual void - foldsInBounds - a10 - (unsigned _i, double &_r) - - - virtual void - foldsInBounds - a11 - (std::vector< double > &_v) - - - virtual void - truncate - a12 - (unsigned _i, double &_r) - - - virtual void - truncate - a13 - (std::vector< double > &_v) - - - virtual bool - isInBounds - a14 - (unsigned _i, double _r) - - - virtual bool - isInBounds - a15 - (std::vector< double > _v) - - - virtual double - minimum - a16 - (unsigned _i) - - - virtual double - maximum - a17 - (unsigned _i) - - - virtual double - range - a18 - (unsigned _i) - - - virtual double - averageRange - a19 - () - - - virtual double - uniform - a20 - (unsigned _i, eoRng &_rng=eo::rng) - - - void - uniform - a21 - (std::vector< double > &_v, eoRng &_rng=eo::rng) - - - virtual void - printOn - a22 - (std::ostream &_os) const - - - - eoRealBelowBound - classeo_real_below_bound.html - eoRealBounds - - - eoRealBelowBound - a1 - (double _min=0) - - - virtual double - minimum - a2 - () const - - - virtual double - maximum - a3 - () const - - - virtual double - range - a4 - () const - - - virtual double - uniform - a5 - (eoRng &_rng=eo::rng) const - - - virtual bool - isBounded - a6 - (void) const - - - virtual bool - hasNoBoundAtAll - a7 - (void) const - - - virtual bool - isMinBounded - a8 - (void) const - - - virtual bool - isMaxBounded - a9 - (void) const - - - virtual bool - isInBounds - a10 - (double _r) const - - - virtual void - foldsInBounds - a11 - (double &_r) const - - - virtual void - truncate - a12 - (double &_r) const - - - virtual void - readFrom - a13 - (std::istream &_is) - - - virtual void - printOn - a14 - (std::ostream &_os) const - - - virtual eoRealBounds * - dup - a15 - () const - - - double - repMinimum - r0 - - - - - eoRealBounds - classeo_real_bounds.html - eoPersistent - - virtual bool - isBounded - a1 - (void) const =0 - - - virtual bool - hasNoBoundAtAll - a2 - (void) const =0 - - - virtual bool - isMinBounded - a3 - (void) const =0 - - - virtual bool - isMaxBounded - a4 - (void) const =0 - - - virtual bool - isInBounds - a5 - (double) const =0 - - - virtual void - foldsInBounds - a6 - (double &) const =0 - - - virtual void - truncate - a7 - (double &) const =0 - - - virtual double - minimum - a8 - () const =0 - - - virtual double - maximum - a9 - () const =0 - - - virtual double - range - a10 - () const =0 - - - virtual double - uniform - a11 - (eoRng &_rng=eo::rng) const =0 - - - virtual eoRealBounds * - dup - a12 - () const =0 - - - - eoRealInitBounded - classeo_real_init_bounded.html - EOT - eoInit - - - eoRealInitBounded - a0 - (eoRealVectorBounds &_bounds) - - - virtual void - operator() - a1 - (EOT &_eo) - - - virtual eoRealVectorBounds & - theBounds - a2 - () - - - virtual unsigned - size - a3 - () - - - eoRealVectorBounds & - bounds - r0 - - - - - eoRealInterval - classeo_real_interval.html - eoRealBounds - - - eoRealInterval - a1 - (double _min=0, double _max=1) - - - virtual double - minimum - a2 - () const - - - virtual double - maximum - a3 - () const - - - virtual double - range - a4 - () const - - - virtual bool - isBounded - a5 - (void) const - - - virtual bool - hasNoBoundAtAll - a6 - (void) const - - - virtual bool - isMinBounded - a7 - (void) const - - - virtual bool - isMaxBounded - a8 - (void) const - - - virtual double - uniform - a9 - (eoRng &_rng=eo::rng) const - - - virtual bool - isInBounds - a10 - (double _r) const - - - virtual void - foldsInBounds - a11 - (double &_r) const - - - virtual void - truncate - a12 - (double &_r) const - - - virtual void - readFrom - a13 - (std::istream &_is) - - - virtual void - printOn - a14 - (std::ostream &_os) const - - - virtual eoRealBounds * - dup - a15 - () const - - - double - repMinimum - r0 - - - - double - repMaximum - r1 - - - - double - repRange - r2 - - - - - eoRealNoBounds - classeo_real_no_bounds.html - eoRealBounds - - virtual bool - isBounded - a1 - (void) const - - - virtual bool - hasNoBoundAtAll - a2 - (void) const - - - virtual bool - isMinBounded - a3 - (void) const - - - virtual bool - isMaxBounded - a4 - (void) const - - - virtual void - foldsInBounds - a5 - (double &) const - - - virtual void - truncate - a6 - (double &) const - - - virtual bool - isInBounds - a7 - (double) const - - - virtual double - minimum - a8 - () const - - - virtual double - maximum - a9 - () const - - - virtual double - range - a10 - () const - - - virtual double - uniform - a11 - (eoRng &_rng=eo::rng) const - - - virtual void - readFrom - a12 - (std::istream &_is) - - - virtual void - printOn - a13 - (std::ostream &_os) const - - - virtual eoRealBounds * - dup - a14 - () const - - - - eoRealUxOver - classeo_real_ux_over.html - - - eoRealVectorBounds - classeo_real_vector_bounds.html - eoRealBaseVectorBounds - eoPersistent - - - eoRealVectorBounds - a0 - () - - - - eoRealVectorBounds - a1 - (unsigned _dim, eoRealBounds &_bounds) - - - - eoRealVectorBounds - a2 - (eoRealBounds &_xbounds, eoRealBounds &_ybounds) - - - - eoRealVectorBounds - a3 - (unsigned _dim, double _min, double _max) - - - - eoRealVectorBounds - a4 - (std::vector< double > _min, std::vector< double > _max) - - - - eoRealVectorBounds - a5 - (std::string _s) - - - virtual - ~eoRealVectorBounds - a6 - () - - - virtual void - readFrom - a7 - (std::istream &_is) - - - virtual void - readFrom - a8 - (std::string _s) - - - virtual void - printOn - a9 - (std::ostream &_os) const - - - void - adjust_size - a10 - (unsigned _dim) - - - - eoRealVectorBounds - a11 - (const eoRealVectorBounds &) - - - eoRealVectorBounds & - operator= - d0 - (const eoRealVectorBounds &) - - - std::vector< unsigned int > - factor - r0 - - - - std::vector< eoRealBounds * > - ownedBounds - r1 - - - - - eoRealVectorNoBounds - classeo_real_vector_no_bounds.html - eoRealVectorBounds - - - eoRealVectorNoBounds - a1 - (unsigned _dim) - - - virtual bool - isBounded - a2 - (unsigned) - - - virtual bool - isBounded - a3 - (void) - - - virtual bool - hasNoBoundAtAll - a4 - (unsigned) - - - virtual bool - hasNoBoundAtAll - a5 - (void) - - - virtual bool - isMinBounded - a6 - (unsigned) - - - virtual bool - isMaxBounded - a7 - (unsigned) - - - virtual void - foldsInBounds - a8 - (unsigned, double &) - - - virtual void - foldsInBounds - a9 - (std::vector< double > &) - - - virtual void - truncate - a10 - (unsigned, double &) - - - virtual void - truncate - a11 - (std::vector< double > &) - - - virtual bool - isInBounds - a12 - (unsigned, double) - - - virtual bool - isInBounds - a13 - (std::vector< double >) - - - virtual double - minimum - a14 - (unsigned) - - - virtual double - maximum - a15 - (unsigned) - - - virtual double - range - a16 - (unsigned) - - - virtual double - averageRange - a17 - () - - - virtual double - uniform - a18 - (unsigned, eoRng &_rng=eo::rng) - - - void - uniform - a19 - (std::vector< double > &, eoRng &_rng=eo::rng) - - - - eoReduce - classeo_reduce.html - EOT - eoBF< eoPop< EOT > &, unsigned, void > - - - eoReduceMerge - classeo_reduce_merge.html - EOT - eoReplacement - - - eoReduceMerge - a0 - (eoReduce< EOT > &_reduce, eoMerge< EOT > &_merge) - - - void - operator() - a1 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoReduce< EOT > & - reduce - r0 - - - - eoMerge< EOT > & - merge - r1 - - - - - eoReduceMergeReduce - classeo_reduce_merge_reduce.html - EOT - eoReplacement - - - eoReduceMergeReduce - a0 - (eoHowMany _howManyElite, bool _strongElitism, eoHowMany _howManyReducedParents, eoReduce< EOT > &_reduceParents, eoHowMany _howManyReducedOffspring, eoReduce< EOT > &_reduceOffspring, eoReduce< EOT > &_reduceFinal) - - - void - operator() - a1 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoHowMany - howManyElite - r0 - - - - bool - strongElitism - r1 - - - - eoHowMany - howManyReducedParents - r2 - - - - eoHowMany - howManyReducedOffspring - r3 - - - - eoReduce< EOT > & - reduceParents - r4 - - - - eoReduce< EOT > & - reduceOffspring - r5 - - - - eoReduce< EOT > & - reduceFinal - r6 - - - - - eoReduceSplit - classeo_reduce_split.html - EOT - eoBF< eoPop< EOT > &, eoPop< EOT > &, void > - - - eoReplacement - classeo_replacement.html - EOT - eoBF< eoPop< EOT > &, eoPop< EOT > &, void > - - - eoRndGenerator - classeo_rnd_generator.html - T - eoF< T > - - T - AtomType - y0 - - - - - eoRng - classeo_rng.html - eoObject - eoPersistent - - - eoRng - a0 - (uint32_t s) - - - void - reseed - a2 - (uint32_t s) - - - void - oldReseed - a3 - (uint32_t s) - - - double - uniform - a4 - (double m=1.0) - - - uint32_t - random - a5 - (uint32_t m) - - - bool - flip - a6 - (float bias=0.5) - - - double - normal - a7 - (void) - - - double - normal - a8 - (double stdev) - - - double - normal - a9 - (double mean, double stdev) - - - double - negexp - a10 - (double mean) - - - uint32_t - rand - a11 - () - - - uint32_t - rand_max - a12 - (void) const - - - int - roulette_wheel - a13 - (const std::vector< TYPE > &vec, TYPE total=0) - - - const TYPE & - choice - a14 - (const std::vector< TYPE > &vec) const - - - TYPE & - choice - a15 - (std::vector< TYPE > &vec) - - - void - printOn - a16 - (std::ostream &_os) const - - - void - readFrom - a17 - (std::istream &_is) - - - std::string - className - a18 - (void) const - - - uint32_t - restart - d0 - (void) - - - void - initialize - d1 - (uint32_t seed) - - - - eoRng - d2 - (const eoRng &) - - - eoRng & - operator= - d3 - (const eoRng &) - - - uint32_t * - state - r0 - - - - uint32_t * - next - r1 - - - - int - left - r2 - - - - bool - cached - r3 - - - - float - cacheValue - r4 - - - - const int - N - r5 - - - - const int - M - r6 - - - - const uint32_t - K - r7 - - - - - eoRouletteWorthSelect - classeo_roulette_worth_select.html - EOT - WorthT - eoSelectFromWorth< EOT, WorthT > - - std::vector< WorthT >::iterator - worthIterator - w0 - - - - - eoRouletteWorthSelect - a0 - (eoPerf2Worth< EOT, WorthT > &_perf2Worth) - - - virtual void - setup - a1 - (const eoPop< EOT > &_pop) - - - virtual const EOT & - operator() - a2 - (const eoPop< EOT > &_pop) - - - double - total - r0 - - - - - eoScalarFitness - classeo_scalar_fitness.html - ScalarType - Compare - - - eoScalarFitness - a1 - (const eoScalarFitness &other) - - - - eoScalarFitness - a2 - (const ScalarType &v) - - - eoScalarFitness & - operator= - a3 - (const eoScalarFitness &other) - - - eoScalarFitness & - operator= - a4 - (const ScalarType &v) - - - - operator ScalarType - a5 - (void) const - - - bool - operator< - a6 - (const eoScalarFitness &other) const - - - bool - operator> - a7 - (const eoScalarFitness< ScalarType, Compare > &y) const - - - bool - operator<= - a8 - (const eoScalarFitness< ScalarType, Compare > &y) const - - - bool - operator>= - a9 - (const eoScalarFitness< ScalarType, Compare > &y) const - - - ScalarType - value - r0 - - - - - eoScalarFitnessAssembled - classeo_scalar_fitness_assembled.html - ScalarType - Compare - FitnessTraits - - std::vector< ScalarType > - baseVector - w0 - - - - baseVector::size_type - size_type - w1 - - - - - eoScalarFitnessAssembled - a1 - (size_type _n, const ScalarType &_val, const std::string &_descr="Unnamed variable") - - - - eoScalarFitnessAssembled - a2 - (const eoScalarFitnessAssembled &other) - - - eoScalarFitnessAssembled & - operator= - a3 - (const eoScalarFitnessAssembled &other) - - - - eoScalarFitnessAssembled - a4 - (const ScalarType &v) - - - eoScalarFitnessAssembled & - operator= - a5 - (const ScalarType &v) - - - void - push_back - a6 - (const ScalarType &_val) - - - void - push_back - a7 - (const ScalarType &_val, const std::string &_descr) - - - void - resize - a8 - (size_type _n, const ScalarType &_val=ScalarType(), const std::string &_descr="Unnamed variable") - - - void - setDescription - a9 - (size_type _idx, std::string _descr) - - - std::string - getDescription - a10 - (size_type _idx) - - - std::vector< std::string > - getDescriptionVector - a11 - () - - - - operator ScalarType - a12 - (void) const - - - void - printAll - a13 - (std::ostream &os) const - - - bool - operator< - a14 - (const eoScalarFitnessAssembled &other) const - - - bool - operator> - a15 - (const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const - - - bool - operator<= - a16 - (const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const - - - bool - operator>= - a17 - (const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const - - - bool - feasible - o0 - - - - bool - failed - o1 - - - - std::string - msg - o2 - - - - - eoScalarFitnessAssembledTraits - classeo_scalar_fitness_assembled_traits.html - - std::vector< std::string >::size_type - size_type - w0 - - - - void - setDescription - e0 - (size_type _idx, std::string _descr) - - - std::string - getDescription - e1 - (size_type _idx) - - - void - resize - e2 - (size_type _n, const std::string &_descr) - - - size_type - size - e3 - () - - - std::vector< std::string > - getDescriptionVector - e4 - () - - - std::vector< std::string > - TermDescriptions - v0 - - - - - eoScalarFitnessStat - classeo_scalar_fitness_stat.html - EOT - FitT - eoSortedStat< EOT, std::vector< double > > - - - eoScalarFitnessStat - a0 - (std::string _description="FitnessES", eoRealVectorBounds &_bounds=eoDummyVectorNoBounds) - - - virtual void - operator() - a1 - (const std::vector< const EOT * > &_popPters) - - - eoRealBounds & - range - r0 - - - - - eoSecondMomentStats - classeo_second_moment_stats.html - EOT - eoStat< EOT, std::pair< double, double > > - - EOT::Fitness - fitness_type - w0 - - - - std::pair< double, double > - SquarePair - w1 - - - - - eoSecondMomentStats - a0 - (std::string _description="Average & Stdev") - - - virtual void - operator() - a1 - (const eoPop< EOT > &_pop) - - - virtual std::string - className - a2 - (void) const - - - SquarePair - sumOfSquares - e0 - (SquarePair _sq, const EOT &_eo) - - - - eoSegmentCrossover - classeo_segment_crossover.html - EOT - eoQuadOp< EOT > - - - eoSegmentCrossover - a0 - (const double &_alpha=0.0) - - - - eoSegmentCrossover - a1 - (eoRealVectorBounds &_bounds, const double &_alpha=0.0) - - - virtual std::string - className - a2 - () const - - - bool - operator() - a3 - (EOT &_eo1, EOT &_eo2) - - - eoRealVectorBounds & - bounds - p0 - - - - double - alpha - p1 - - - - double - range - p2 - - - - - eoSelBinGenOp - classeo_sel_bin_gen_op.html - EOT - eoGenOp - - - eoSelBinGenOp - a0 - (eoBinOp< EOT > &_op, eoSelectOne< EOT > &_sel) - - - unsigned - max_production - a1 - (void) - - - void - apply - a2 - (eoPopulator< EOT > &_pop) - - - virtual std::string - className - a3 - () const - - - eoBinOp< EOT > & - op - r0 - - - - eoSelectOne< EOT > & - sel - r1 - - - - - eoSelect - classeo_select.html - EOT - eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > - - - eoSelectFactory - classeo_select_factory.html - EOT - eoFactory< eoSelect< EOT > > - - virtual eoSelect< EOT > * - make - a0 - (std::istream &_is) - - - - eoSelectFactory - z20_0 - () - - - virtual - ~eoSelectFactory - z20_1 - () - - - void - printOn - z22_0 - (std::ostream &_os) const - - - void - readFrom - z22_1 - (std::istream &_is) - - - - eoSelectFromWorth - classeo_select_from_worth.html - EOT - WorthType - eoSelectOne< EOT > - - - eoSelectFromWorth - a0 - (eoPerf2Worth< EOT, WorthType > &_perf2Worth) - - - virtual void - setup - a1 - (const eoPop< EOT > &pop) - - - void - check_sync - b0 - (unsigned index, const EOT &_eo) - - - eoPerf2Worth< EOT, WorthType > & - perf2Worth - p0 - - - - std::vector< typename EOT::Fitness > - fitness - p1 - - - - - eoSelectivePopulator - classeo_selective_populator.html - EOT - eoPopulator - - - eoSelectivePopulator - a0 - (const eoPop< EOT > &_pop, eoPop< EOT > &_dest, eoSelectOne< EOT > &_sel) - - - const EOT & - select - a1 - () - - - eoSelectOne< EOT > & - sel - r0 - - - - - eoSelectMany - classeo_select_many.html - EOT - eoSelect - - - eoSelectMany - a0 - (eoSelectOne< EOT > &_select, double _rate, bool _interpret_as_rate=true) - - - - eoSelectMany - a1 - (eoSelectOne< EOT > &_select, eoHowMany _howMany) - - - virtual void - operator() - a2 - (const eoPop< EOT > &_source, eoPop< EOT > &_dest) - - - eoSelectOne< EOT > & - select - r0 - - - - eoHowMany - howMany - r1 - - - - - eoSelectNumber - classeo_select_number.html - EOT - eoSelect - - - eoSelectNumber - a0 - (eoSelectOne< EOT > &_select, unsigned _nb_to_select=1) - - - virtual void - operator() - a1 - (const eoPop< EOT > &_source, eoPop< EOT > &_dest) - - - eoSelectOne< EOT > & - select - r0 - - - - unsigned - nb_to_select - r1 - - - - - eoSelectOne - classeo_select_one.html - EOT - WorthT - eoUF< const eoPop< EOT > &, const EOT & > - - virtual void - setup - a0 - (const eoPop< EOT > &_pop) - - - - eoSelectPerc - classeo_select_perc.html - EOT - eoSelect - - - eoSelectPerc - a0 - (eoSelectOne< EOT > &_select, float _rate=1.0) - - - virtual void - operator() - a1 - (const eoPop< EOT > &_source, eoPop< EOT > &_dest) - - - eoSelectOne< EOT > & - select - r0 - - - - float - rate - r1 - - - - - eoSelectTransform - classeo_select_transform.html - EOT - eoBreed - - - eoSelectTransform - a0 - (eoSelect< EOT > &_select, eoTransform< EOT > &_transform) - - - void - operator() - a1 - (const eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoSelect< EOT > & - select - r0 - - - - eoTransform< EOT > & - transform - r1 - - - - - eoSeqPopulator - classeo_seq_populator.html - EOT - eoPopulator - - - eoSeqPopulator - a0 - (const eoPop< EOT > &_pop, eoPop< EOT > &_dest) - - - const EOT & - select - a1 - (void) - - - unsigned - current - r0 - - - - - eoSequentialOp - classeo_sequential_op.html - EOT - eoOpContainer - - unsigned - position_type - w0 - - - - void - apply - a0 - (eoPopulator< EOT > &_pop) - - - virtual std::string - className - a1 - () const - - - std::vector< size_t > - to_apply - r0 - - - - std::vector< size_t > - production - r1 - - - - - eoSequentialSelect - classeo_sequential_select.html - EOT - eoSelectOne< EOT > - - - eoSequentialSelect - a0 - (bool _ordered=true) - - - void - setup - a1 - (const eoPop< EOT > &_pop) - - - virtual const EOT & - operator() - a2 - (const eoPop< EOT > &_pop) - - - bool - ordered - r0 - - - - unsigned - current - r1 - - - - std::vector< const EOT * > - eoPters - r2 - - - - - eoSGA - classeo_s_g_a.html - EOT - eoAlgo - - - eoSGA - a0 - (eoSelectOne< EOT > &_select, eoQuadOp< EOT > &_cross, float _crate, eoMonOp< EOT > &_mutate, float _mrate, eoEvalFunc< EOT > &_eval, eoContinue< EOT > &_cont) - - - void - operator() - a1 - (eoPop< EOT > &_pop) - - - eoContinue< EOT > & - cont - r0 - - - - eoInvalidateMonOp< EOT > - mutate - r1 - - - - float - mutationRate - r2 - - - - eoInvalidateQuadOp< EOT > - cross - r3 - - - - float - crossoverRate - r4 - - - - eoSelectPerc< EOT > - select - r5 - - - - eoEvalFunc< EOT > & - eval - r6 - - - - - eoSGAGenOp - classeo_s_g_a_gen_op.html - EOT - eoGenOp - - - eoSGAGenOp - a0 - (eoQuadOp< EOT > &_cross, double _pCross, eoMonOp< EOT > &_mut, double _pMut) - - - virtual void - apply - a1 - (eoPopulator< EOT > &_pop) - - - virtual unsigned - max_production - a2 - (void) - - - virtual std::string - className - a3 - () const - - - eoQuadOp< EOT > & - cross - r0 - - - - double - pCross - r1 - - - - eoMonOp< EOT > & - mut - r2 - - - - double - pMut - r3 - - - - eoProportionalOp< EOT > - propOp - r4 - - - - eoQuadCloneOp< EOT > - quadClone - r5 - - - - eoSequentialOp< EOT > - op - r6 - - - - - eoSGATransform - classeo_s_g_a_transform.html - EOT - eoTransform - - - eoSGATransform - a0 - (eoQuadOp< EOT > &_cross, double _cProba, eoMonOp< EOT > &_mutate, double _mProba) - - - void - operator() - a1 - (eoPop< EOT > &_pop) - - - eoInvalidateQuadOp< EOT > - cross - r0 - - - - double - crossoverProba - r1 - - - - eoInvalidateMonOp< EOT > - mutate - r2 - - - - double - mutationProba - r3 - - - - - eoSharing - classeo_sharing.html - EOT - eoPerf2Worth< EOT > - - - eoSharing - a0 - (double _nicheSize, eoDistance< EOT > &_dist) - - - void - operator() - a1 - (const eoPop< EOT > &_pop) - - - double - nicheSize - r0 - - - - eoDistance< EOT > & - dist - r1 - - - - - eoSharingSelect - classeo_sharing_select.html - EOT - eoRouletteWorthSelect< EOT, double > - - - eoSharingSelect - a0 - (double _sigma, eoDistance< EOT > &_dist) - - - eoSharing< EOT > - sharing - r0 - - - - - eoSimpleEDA - classeo_simple_e_d_a.html - EOT - eoEDA - - - eoSimpleEDA - a0 - (eoDistribUpdater< EOT > &_update, eoEvalFunc< EOT > &_eval, unsigned _popSize, eoContinue< EOT > &_continuator) - - - virtual void - operator() - a1 - (eoDistribution< EOT > &_distrib) - - - eoDistribUpdater< EOT > & - update - r0 - - - - eoEvalFunc< EOT > & - eval - r1 - - - - unsigned - popSize - r2 - - - - eoContinue< EOT > & - continuator - r3 - - - - - eoSortedPopStat - classeo_sorted_pop_stat.html - EOT - eoSortedStat< EOT, std::string > - - - eoSortedPopStat - a0 - (unsigned _howMany=0, std::string _desc="") - - - void - operator() - a1 - (const std::vector< const EOT * > &_pop) - - - unsigned - combien - r0 - - - - - eoSortedStat - classeo_sorted_stat.html - EOT - ParamType - eoSortedStatBase - eoValueParam< ParamType > - - - eoSortedStat - a0 - (ParamType _value, std::string _desc) - - - virtual std::string - className - a1 - (void) const - - - - eoSortedStatBase - classeo_sorted_stat_base.html - EOT - eoUF< const std::vector< const EOT * > &, void > - - virtual void - lastCall - a0 - (const std::vector< const EOT * > &) - - - virtual std::string - className - a1 - (void) const - - - - eoSSGADetTournamentReplacement - classeo_s_s_g_a_det_tournament_replacement.html - EOT - eoReduceMerge - - - eoSSGADetTournamentReplacement - a0 - (unsigned _t_size) - - - eoDetTournamentTruncate< EOT > - truncate - r0 - - - - eoPlus< EOT > - plus - r1 - - - - - eoSSGAStochTournamentReplacement - classeo_s_s_g_a_stoch_tournament_replacement.html - EOT - eoReduceMerge - - - eoSSGAStochTournamentReplacement - a0 - (double _t_rate) - - - eoStochTournamentTruncate< EOT > - truncate - r0 - - - - eoPlus< EOT > - plus - r1 - - - - - eoSSGAWorseReplacement - classeo_s_s_g_a_worse_replacement.html - EOT - eoReduceMerge - - eoLinearTruncate< EOT > - truncate - r0 - - - - eoPlus< EOT > - plus - r1 - - - - - eoStat - classeo_stat.html - EOT - T - eoValueParam< T > - eoStatBase - - - eoStat - a0 - (T _value, std::string _description) - - - virtual std::string - className - a1 - (void) const - - - - eoStatBase - classeo_stat_base.html - EOT - eoUF< const eoPop< EOT > &, void > - - virtual void - lastCall - a0 - (const eoPop< EOT > &) - - - virtual std::string - className - a1 - (void) const - - - - eoState - classeo_state.html - eoFunctorStore - - void - registerObject - a2 - (eoPersistent &registrant) - - - T & - takeOwnership - a3 - (const T &persistent) - - - std::string - getCommentString - a4 - (void) const - - - void - load - a5 - (const std::string &_filename) - - - void - load - a6 - (std::istream &is) - - - void - save - a7 - (const std::string &_filename) const - - - void - save - a8 - (std::ostream &os) const - - - std::map< std::string, eoPersistent * > - ObjectMap - y0 - - - - std::string - createObjectName - d0 - (eoObject *obj) - - - - eoState - d1 - (const eoState &) - - - eoState & - operator= - d2 - (const eoState &) - - - ObjectMap - objectMap - r0 - - - - std::vector< ObjectMap::iterator > - creationOrder - r1 - - - - std::vector< eoPersistent * > - ownedObjects - r2 - - - - - eoState::loading_error - structeo_state_1_1loading__error.html - - - loading_error - a0 - (std::string huh="Error while loading") - - - - eoStBranchMutation - classeo_st_branch_mutation.html - FType - Node - eoMonOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoStBranchMutation - a0 - (eoInit< EoType > &_init, unsigned _max_length) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoStBranchMutation - a2 - () - - - bool - operator() - a3 - (EoType &_eo1) - - - unsigned - max_length - r0 - - - - eoInit< EoType > & - initializer - r1 - - - - - eoStdoutMonitor - classeo_stdout_monitor.html - eoMonitor - - - eoStdoutMonitor - a0 - (bool _verbose=true, std::string _delim="\t") - - - eoMonitor & - operator() - a1 - (void) - - - virtual std::string - className - a2 - (void) const - - - bool - verbose - r0 - - - - std::string - delim - r1 - - - - bool - firsttime - r2 - - - - - eoSteadyFitContinue - classeo_steady_fit_continue.html - EOT - eoContinue - - EOT::Fitness - Fitness - w0 - - - - - eoSteadyFitContinue - a0 - (unsigned long _minGens, unsigned long _steadyGens) - - - - eoSteadyFitContinue - a1 - (unsigned long _minGens, unsigned long _steadyGen, unsigned long &_currentGen) - - - virtual bool - operator() - a2 - (const eoPop< EOT > &_vEO) - - - virtual void - totalGenerations - a3 - (unsigned long _mg, unsigned long _sg) - - - virtual void - reset - a4 - () - - - virtual unsigned long - minGenerations - a5 - () - - - virtual unsigned long - steadyGenerations - a6 - () - - - virtual std::string - className - a7 - (void) const - - - unsigned long - repMinGenerations - r0 - - - - unsigned long - repSteadyGenerations - r1 - - - - bool - steadyState - r2 - - - - unsigned long - thisGenerationPlaceHolder - r3 - - - - unsigned long & - thisGeneration - r4 - - - - unsigned int - lastImprovement - r5 - - - - Fitness - bestSoFar - r6 - - - - - eoStHoistMutation - classeo_st_hoist_mutation.html - FType - Node - eoMonOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoStHoistMutation - a0 - (eoInit< EoType > &_init, unsigned _max_length) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoStHoistMutation - a2 - () - - - bool - operator() - a3 - (EoType &_eo1) - - - unsigned - max_length - r0 - - - - eoInit< EoType > & - initializer - r1 - - - - - eoSTLBF - classeo_s_t_l_b_f.html - A1 - A2 - R - - - eoSTLBF - a0 - (eoUF< A1, R > &_f) - - - R - operator() - a1 - (A1 a1, A2 a2) - - - eoBF< A1, A2, R > & - f - r0 - - - - - eoSTLF - classeo_s_t_l_f.html - R - - R - result_type - w0 - - - - - eoSTLF - a0 - (eoF< R > &_f) - - - R - operator() - a1 - (void) - - - eoF< R > & - f - r0 - - - - - eoSTLUF - classeo_s_t_l_u_f.html - A1 - R - - - eoSTLUF - a0 - (eoUF< A1, R > &_f) - - - R - operator() - a1 - (A1 a) - - - eoUF< A1, R > & - f - r0 - - - - - eoStochasticUniversalSelect - classeo_stochastic_universal_select.html - EOT - eoSelectOne< EOT > - - - eoStochasticUniversalSelect - a0 - (const eoPop< EOT > &pop=eoPop< EOT >()) - - - void - setup - a1 - (const eoPop< EOT > &_pop) - - - const EOT & - operator() - a2 - (const eoPop< EOT > &_pop) - - - std::vector< unsigned > - IndexVec - y0 - - - - IndexVec - indices - r0 - - - - - eoStochTournamentSelect - classeo_stoch_tournament_select.html - EOT - eoSelectOne< EOT > - - - eoStochTournamentSelect - a0 - (double _Trate=1.0) - - - virtual const EOT & - operator() - a1 - (const eoPop< EOT > &pop) - - - double - Trate - r0 - - - - - eoStochTournamentTruncate - classeo_stoch_tournament_truncate.html - EOT - eoReduce - - - eoStochTournamentTruncate - a0 - (double _t_rate) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, unsigned _newsize) - - - double - t_rate - r0 - - - - - eoStochTournamentTruncateSplit - classeo_stoch_tournament_truncate_split.html - EOT - eoReduce - - - eoStochTournamentTruncateSplit - a0 - (double _t_rate, eoHowMany _howMany, bool _returnEliminated=false) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated) - - - double - t_rate - r0 - - - - eoHowMany - howMany - r1 - - - - bool - returnEliminated - r2 - - - - - eoStochTournamentWorthSelect - classeo_stoch_tournament_worth_select.html - EOT - WorthT - eoSelectFromWorth< EOT, WorthT > - - std::vector< WorthT >::iterator - worthIterator - w0 - - - - - eoStochTournamentWorthSelect - a0 - (eoPerf2Worth< EOT, WorthT > &_perf2Worth, double _tRate) - - - virtual const EOT & - operator() - a1 - (const eoPop< EOT > &_pop) - - - double - tRate - r0 - - - - - eoStParseTreeDepthInit - classeo_st_parse_tree_depth_init.html - FType - Node - eoInit< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoStParseTreeDepthInit - a0 - (unsigned _max_depth, const std::vector< Node > &_node, const int &_return_type, bool _grow=true) - - - virtual std::string - className - a1 - () const - - - void - operator() - a2 - (EoType &_tree) - - - bool - generate - d0 - (std::list< Node > &sequence, int the_max, int request_type) - - - unsigned - max_depth - r0 - - - - map< int, map< int, std::vector< Node > > > - node - r1 - - - - int - return_type - r2 - - - - bool - grow - r3 - - - - - eoStPointMutation - classeo_st_point_mutation.html - FType - Node - eoMonOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoStPointMutation - a0 - (std::vector< Node > &_node) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoStPointMutation - a2 - () - - - bool - operator() - a3 - (EoType &_eo1) - - - map< int, map< int, std::vector< Node > > > - node - r0 - - - - - eoString - classeo_string.html - fitnessT - EO< fitnessT > - - char - Type - w0 - - - - char - AtomType - w1 - - - - std::string - ContainerType - w2 - - - - - eoString - z24_0 - (const std::string &_str="") - - - virtual void - printOn - z24_1 - (std::ostream &os) const - - - virtual std::string - className - z26_0 - () const - - - - eoStSubtreeXOver - classeo_st_subtree_x_over.html - FType - Node - eoQuadOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoStSubtreeXOver - a0 - (unsigned _max_length) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoStSubtreeXOver - a2 - () - - - bool - operator() - a3 - (EoType &_eo1, EoType &_eo2) - - - unsigned - max_length - r0 - - - - - eoSubtreeXOver - classeo_subtree_x_over.html - FType - Node - eoQuadOp< eoParseTree< FType, Node > > - - eoParseTree< FType, Node > - EoType - w0 - - - - - eoSubtreeXOver - a0 - (unsigned _max_length) - - - virtual std::string - className - a1 - () const - - - virtual - ~eoSubtreeXOver - a2 - () - - - bool - operator() - a3 - (EoType &_eo1, EoType &_eo2) - - - unsigned - max_length - r0 - - - - - eoSurviveAndDie - classeo_survive_and_die.html - EOT - eoBF< eoPop< EOT > &, eoPop< EOT > &, void > - - - eoSurviveAndDie - a0 - (double _survive, double _die, bool _interpret_as_rate=true) - - - eoHowMany - howmanySurvive - p0 - - - - eoHowMany - howmanyDie - p1 - - - - - eoSymInit - classeo_sym_init.html - EoType - eoInit< EoType > - - - eoSymInit - a0 - (TreeBuilder &_builder) - - - - eoSymInit - a1 - (TreeBuilder &_builder, double &_grow_prob, unsigned &_max_depth) - - - void - operator() - a2 - (EoType &tree) - - - TreeBuilder & - builder - r0 - - - - double - own_grow_prob - r1 - - - - unsigned - own_max_depth - r2 - - - - double & - grow_prob - r3 - - - - unsigned & - max_depth - r4 - - - - - T_pickle_suite - struct_t__pickle__suite.html - T - - std::string - print_to_string - e0 - (const T &t) - - - boost::python::tuple - getstate - e1 - (const T &t) - - - void - setstate - e2 - (T &t, boost::python::tuple pickled) - - - - eoTimeCounter - classeo_time_counter.html - eoUpdater - eoValueParam< double > - - virtual void - operator() - a1 - () - - - clock_t - utime - r0 - - - - - eoTimedDynUpdate - classeo_timed_dyn_update.html - eoDynUpdater - - - eoTimedDynUpdate - a0 - (eoUpdatable &_toUpdate, time_t _interval) - - - void - operator() - a1 - (void) - - - const time_t - interval - r0 - - - - time_t - last_time - r1 - - - - const time_t - first_time - r2 - - - - - eoTimedMonitor - classeo_timed_monitor.html - eoMonitor - - - eoTimedMonitor - a0 - (int seconds_) - - - eoMonitor & - operator() - a1 - (void) - - - void - add - a2 - (eoMonitor &mon) - - - virtual std::string - className - a3 - (void) const - - - clock_t - last_tick - r0 - - - - int - seconds - r1 - - - - std::vector< eoMonitor * > - monitors - r2 - - - - - eoTimedStateSaver - classeo_timed_state_saver.html - eoUpdater - - - eoTimedStateSaver - a0 - (time_t _interval, const eoState &_state, std::string _prefix="state", std::string _extension="sav") - - - void - operator() - a1 - (void) - - - virtual std::string - className - a2 - (void) const - - - const eoState & - state - r0 - - - - const time_t - interval - r1 - - - - time_t - last_time - r2 - - - - const time_t - first_time - r3 - - - - const std::string - prefix - r4 - - - - const std::string - extension - r5 - - - - - eoTimeVaryingLoopEval - classeo_time_varying_loop_eval.html - EOT - eoPopEvalFunc - - - eoTimeVaryingLoopEval - a0 - (eoEvalFunc< EOT > &_eval) - - - void - operator() - a1 - (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) - - - eoEvalFunc< EOT > & - eval - r0 - - - - - eoTransform - classeo_transform.html - EOT - eoUF< eoPop< EOT > &, void > - - - eoTruncate - classeo_truncate.html - EOT - eoReduce - - void - operator() - d0 - (eoPop< EOT > &_newgen, unsigned _newsize) - - - - eoTruncatedSelectMany - classeo_truncated_select_many.html - EOT - eoSelect - - - eoTruncatedSelectMany - a0 - (eoSelectOne< EOT > &_select, double _rateGenitors, double _rateFertile, bool _interpret_as_rateG=true, bool _interpret_as_rateF=true) - - - - eoTruncatedSelectMany - a1 - (eoSelectOne< EOT > &_select, eoHowMany _howManyGenitors, eoHowMany _howManyFertile) - - - virtual void - operator() - a2 - (const eoPop< EOT > &_source, eoPop< EOT > &_dest) - - - eoSelectOne< EOT > & - select - r0 - - - - eoHowMany - howManyGenitors - r1 - - - - eoHowMany - howManyFertile - r2 - - - - - eoTruncatedSelectOne - classeo_truncated_select_one.html - EOT - eoSelectOne< EOT > - - - eoTruncatedSelectOne - a0 - (eoSelectOne< EOT > &_select, double _rateFertile, bool _interpret_as_rateF=true) - - - - eoTruncatedSelectOne - a1 - (eoSelectOne< EOT > &_select, eoHowMany _howManyFertile) - - - void - setup - a2 - (const eoPop< EOT > &_source) - - - const EOT & - operator() - a3 - (const eoPop< EOT > &_pop) - - - eoSelectOne< EOT > & - select - r0 - - - - eoHowMany - howManyFertile - r1 - - - - eoPop< EOT > - tmpPop - r2 - - - - eoPop< EOT > & - actualPop - r3 - - - - - eoTruncateSplit - classeo_truncate_split.html - EOT - eoReduceSplit - - - eoTruncateSplit - a0 - (eoHowMany _howMany, bool _returnEliminated=false) - - - void - operator() - a1 - (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated) - - - eoHowMany - howMany - r0 - - - - bool - returnEliminated - r1 - - - - - eoTruncSelect - classeo_trunc_select.html - EOT - eoSelect - - - eoTruncSelect - a0 - (eoSelectOne< EOT > &_select, eoHowMany _howMany) - - - virtual void - operator() - a1 - (const eoPop< EOT > &_source, eoPop< EOT > &_dest) - - - eoSelectOne< EOT > & - select - r0 - - - - eoHowMany - howMany - r1 - - - - - eoUBitXover - classeo_u_bit_xover.html - Chrom - eoQuadOp< Chrom > - - - eoUBitXover - a0 - (const float &_preference=0.5) - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (Chrom &chrom1, Chrom &chrom2) - - - float - preference - r0 - - - - - eoUF - classeo_u_f.html - A1 - R - eoFunctorBase - - virtual - ~eoUF - a0 - () - - - virtual R - operator() - a1 - (A1)=0 - - - eoFunctorBase::unary_function_tag - functor_category - e0 - () - - - - UF_random_generator - class_u_f__random__generator.html - T - - - UF_random_generator - a0 - (eoRng &_rng=rng) - - - T - operator() - a1 - (T _t) - - - eoRng & - random - r0 - - - - - eoUnaryFunctorCounter - classeo_unary_functor_counter.html - UnaryFunctor - eoValueParam< unsigned long > - - - eoUnaryFunctorCounter - a0 - (UnaryFunctor &_func, std::string _name="uf_counter") - - - UnaryFunctor::result_type - operator() - a1 - (typename UnaryFunctor::first_argument_type _arg1) - - - UnaryFunctor & - func - r0 - - - - - uniform_generator - classuniform__generator.html - T - - - uniform_generator - a0 - (T _max=T(1.0), eoRng &_rng=rng) - - - - uniform_generator - a1 - (T _min, T _max, eoRng &_rng=rng) - - - T - operator() - a2 - (void) - - - T - minim - r0 - - - - T - range - r1 - - - - eoRng & - uniform - r2 - - - - - eoUniformAtomExchange - classeo_uniform_atom_exchange.html - Atom - eoAtomExchange - - - eoUniformAtomExchange - a0 - (double _rate=0.5) - - - void - randomize - a1 - (unsigned _size1, unsigned _size2) - - - bool - operator() - a2 - (unsigned _i, Atom &) - - - virtual std::string - className - a3 - () const - - - double - rate - r0 - - - - std::vector< bool > - mask - r1 - - - - - eoUniformGeneChooser - classeo_uniform_gene_chooser.html - EOT - eoGeneDelChooser - - unsigned - operator() - a1 - (EOT &_eo) - - - virtual std::string - className - a2 - () const - - - - eoUniformGenerator - classeo_uniform_generator.html - T - eoRndGenerator - - - eoUniformGenerator - a0 - (T _max=T(1.0), eoRng &_rng=rng) - - - - eoUniformGenerator - a1 - (T _min, T _max, eoRng &_rng=rng) - - - T - operator() - a2 - (void) - - - bool - operator() - a3 - (void) - - - T - minim - r0 - - - - T - range - r1 - - - - eoRng & - uniform - r2 - - - - - eoUniformInit - classeo_uniform_init.html - T - eoInit< T > - - - eoUniformInit - a0 - (T _max=T(1.0), eoRng &_rng=rng) - - - - eoUniformInit - a1 - (eoRealBounds &_bound, eoRng &_rng=rng) - - - - eoUniformInit - a2 - (T _min, T _max, eoRng &_rng=rng) - - - void - operator() - a3 - (T &_t) - - - void - operator() - a4 - (bool &_b) - - - T - minim - r0 - - - - T - range - r1 - - - - eoRng & - uniform - r2 - - - - - eoUniformMutation - classeo_uniform_mutation.html - EOT - eoMonOp< EOT > - - - eoUniformMutation - a0 - (const double &_epsilon, const double &_p_change=1.0) - - - - eoUniformMutation - a1 - (eoRealVectorBounds &_bounds, const double &_epsilon, const double &_p_change=1.0) - - - - eoUniformMutation - a2 - (eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const std::vector< double > &_p_change) - - - virtual std::string - className - a3 - () const - - - bool - operator() - a4 - (EOT &_eo) - - - bool - homogeneous - r0 - - - - eoRealVectorBounds & - bounds - r1 - - - - std::vector< double > - epsilon - r2 - - - - std::vector< double > - p_change - r3 - - - - - eoUpdatable - classeo_updatable.html - - virtual - ~eoUpdatable - a0 - () - - - virtual void - update - a1 - ()=0 - - - - eoUpdater - classeo_updater.html - eoF< void > - - virtual void - lastCall - a0 - () - - - virtual std::string - className - a1 - (void) const - - - - eoValueParam - classeo_value_param.html - ValueType - eoParam - - - eoValueParam - a0 - (void) - - - - eoValueParam - a1 - (ValueType _defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false) - - - ValueType & - value - a2 - () - - - const ValueType & - value - a3 - () const - - - std::string - getValue - a4 - (void) const - - - void - setValue - a5 - (const std::string &_value) - - - ValueType - repValue - p0 - - - - - eoVariableParetoTraits - classeo_variable_pareto_traits.html - eoParetoFitnessTraits - - void - setUp - e0 - (unsigned _n, std::vector< bool > &_b) - - - unsigned - nObjectives - e1 - () - - - bool - maximizing - e2 - (unsigned _i) - - - unsigned - nObj - v0 - - - - std::vector< bool > - bObj - v1 - - - - - eoVector - classeo_vector.html - FitT - GeneType - EO< FitT > - - GeneType - AtomType - w0 - - - - std::vector< GeneType > - ContainerType - w1 - - - - - eoVector - a0 - (unsigned size=0, GeneType value=GeneType()) - - - - eoVector - a1 - (const eoVector< OtherFitnessType, GeneType > &_vec) - - - void - value - a2 - (const std::vector< GeneType > &_v) - - - bool - operator< - a3 - (const eoVector< FitT, GeneType > &_eo) const - - - virtual void - printOn - a4 - (std::ostream &os) const - - - virtual void - readFrom - a5 - (std::istream &is) - - - - VirusBitFlip - class_virus_bit_flip.html - FitT - eoMonOp< eoVirus< FitT > > - - virtual std::string - className - a0 - () const - - - bool - operator() - a1 - (eoVirus< FitT > &_chrom) - - - - VirusShiftMutation - class_virus_shift_mutation.html - FitT - eoMonOp< eoVirus< FitT > > - - - VirusShiftMutation - a0 - () - - - virtual std::string - className - a1 - () const - - - bool - operator() - a2 - (eoVirus< FitT > &_chrom) - - - - eoVlAddMutation - classeo_vl_add_mutation.html - EOT - eoMonOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoVlAddMutation - a0 - (unsigned _nMax, eoInit< AtomType > &_atomInit) - - - bool - operator() - a1 - (EOT &_eo) - - - virtual std::string - className - a2 - () const - - - unsigned - nMax - r0 - - - - eoInit< AtomType > & - atomInit - r1 - - - - - eoVlAtomExchangeQuadOp - classeo_vl_atom_exchange_quad_op.html - EOT - eoQuadOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoVlAtomExchangeQuadOp - a0 - (unsigned _Min, unsigned _Max, eoAtomExchange< AtomType > &_atomExchange) - - - bool - operator() - a1 - (EOT &_eo1, EOT &_eo2) - - - virtual std::string - className - a2 - () const - - - unsigned - Min - r0 - - - - unsigned - Max - r1 - - - - eoAtomExchange< AtomType > & - atomExchange - r2 - - - - - eoVlDelMutation - classeo_vl_del_mutation.html - EOT - eoMonOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoVlDelMutation - a0 - (unsigned _nMin, eoGeneDelChooser< EOT > &_chooser) - - - - eoVlDelMutation - a1 - (unsigned _nMin) - - - bool - operator() - a2 - (EOT &_eo) - - - virtual std::string - className - a3 - () const - - - unsigned - nMin - r0 - - - - eoUniformGeneChooser< EOT > - uChooser - r1 - - - - eoGeneDelChooser< EOT > & - chooser - r2 - - - - - eoVlUniformBinOp - classeo_vl_uniform_bin_op.html - EOT - eoBinOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoVlUniformBinOp - a0 - (unsigned _Min, unsigned _Max, double _rate=0.5) - - - bool - operator() - a1 - (EOT &_eo1, const EOT &_eo2) - - - unsigned - Min - r0 - - - - unsigned - Max - r1 - - - - double - rate - r2 - - - - - eoVlUniformQuadOp - classeo_vl_uniform_quad_op.html - EOT - eoQuadOp< EOT > - - EOT::AtomType - AtomType - w0 - - - - - eoVlUniformQuadOp - a0 - (unsigned _Min, unsigned _Max, double _rate=0.5) - - - bool - operator() - a1 - (EOT &_eo1, EOT &_eo2) - - - unsigned - Min - r0 - - - - unsigned - Max - r1 - - - - double - rate - r2 - - - - - eoWeakElitistReplacement - classeo_weak_elitist_replacement.html - EOT - eoReplacement - - EOT::Fitness - Fitness - w0 - - - - - eoWeakElitistReplacement - a0 - (eoReplacement< EOT > &_replace) - - - void - operator() - a1 - (eoPop< EOT > &_pop, eoPop< EOT > &_offspring) - - - eoReplacement< EOT > & - replace - r0 - - - - - webpages - Related webpages - webpages - - - Related - Projects - related - - - Bitstring - Bitstring - group__bitstring.html - eoBit - eoBit - eoBitBitFlip - eoDetBitFlip - eoBitMutation - eoBitInversion - eoBitNext - eoBitPrev - eo1PtBitCrossover - eoUBitXover - eoNPtsBitXover - eoBitGxOver - - - Operators - Operators - group___operators.html - - - PropCombinedOperators - PropCombinedOperators - group___prop_combined_operators.html - - - ParseTree - ParseTree - group___parse_tree.html - eoParseTree - eoParseTreeDepthInit - eoSubtreeXOver - eoBranchMutation - eoPointMutation - eoExpansionMutation - eoCollapseSubtreeMutation - eoHoistMutation - - void - eoInitRampedHalfAndHalf - ga0 - (eoPop< eoParseTree< FType, Node > > &pop, unsigned int population_size, unsigned int init_max_depth, std::vector< Node > &initializor) - - - - StParseTree - StParseTree - group___st_parse_tree.html - eoStParseTreeDepthInit - eoStSubtreeXOver - eoStBranchMutation - eoStPointMutation - eoStHoistMutation - - - EvolutionStrategies - EvolutionStrategies - group___evolution_strategies.html - eoEsChromInit - eoEsFull - eoEsMutate - eoEsMutationInit - eoEsSimple - eoEsStdev - eoIntBounds - eoRealBounds - - - Selectors - Selectors - group__selectors.html - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/ - dir_000020.html - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ - dir_000007.html - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ - eoAged.h - eoDrawable.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ - dir_000025.html - make_algo_easea.h - make_algo_pareto.h - make_algo_scalar.h - make_checkpoint.h - make_checkpoint_assembled.h - make_checkpoint_FDC.h - make_checkpoint_pareto.h - make_continue.h - make_continue_pareto.h - make_general_replacement.h - make_pop.h - make_run.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/ - dir_000018.html - eoSym.h - eoSymCrossover.cpp - eoSymCrossover.h - eoSymEval.h - eoSymInit.h - eoSymLambdaMutate.cpp - eoSymLambdaMutate.h - eoSymMutate.cpp - eoSymMutate.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ - dir_000010.html - CMAParams.cpp - CMAParams.h - CMAState.cpp - CMAState.h - eig.cpp - eig.h - eoCMABreed.h - eoCMAInit.h - eoEsChromInit.h - eoEsFull.h - eoEsGlobalXover.h - eoEsMutate.h - eoEsMutationInit.h - eoEsSimple.h - eoEsStandardXover.h - eoEsStdev.h - eoNormalMutation.h - eoReal.h - eoRealAtomXover.h - eoRealInitBounded.h - eoRealOp.h - eoSBXcross.h - make_algo_scalar_es.cpp - make_algo_scalar_real.cpp - make_checkpoint_es.cpp - make_checkpoint_real.cpp - make_continue_es.cpp - make_continue_real.cpp - make_es.h - make_genotype_es.cpp - make_genotype_real.cpp - make_genotype_real.h - es/make_op.h - make_op_es.cpp - make_op_es.h - make_op_real.cpp - make_op_real.h - make_pop_es.cpp - make_pop_real.cpp - make_real.h - make_run_es.cpp - make_run_real.cpp - matrices.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ - dir_000009.html - BoundsCheck.cpp - BoundsCheck.h - Interval.h - MultiFuncs.cpp - MultiFunction.cpp - MultiFunction.h - sym_compile.cpp - sym_compile.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ - dir_000022.html - FunDef.cpp - FunDef.h - sym_operations.cpp - SymOps.cpp - SymOps.h - util.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ - dir_000013.html - eoBit.h - eoBitOp.h - eoBitOpFactory.h - eoBoolFlip.h - eoPBILAdditive.h - eoPBILDistrib.h - eoPBILOrg.h - make_algo_scalar_ga.cpp - make_checkpoint_ga.cpp - make_continue_ga.cpp - make_ga.h - make_genotype_ga.cpp - make_genotype_ga.h - ga/make_op.h - make_op_ga.cpp - make_PBILdistrib.h - make_PBILupdate.h - make_pop_ga.cpp - make_run_ga.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ - dir_000024.html - LanguageTable.cpp - LanguageTable.h - NodeSelector.cpp - NodeSelector.h - TreeBuilder.cpp - TreeBuilder.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ - dir_000017.html - eoParseTree.h - eoParseTreeDepthInit.h - eoParseTreeOp.h - eoStParseTreeDepthInit.h - eoStParseTreeOp.h - node_pool.h - parse_tree.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ - dir_000023.html - gprop.cpp - gprop.h - l2.h - mlp.h - mse.h - qp.h - vecop.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ - dir_000021.html - fitness.h - main.cpp - node.h - parameters.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ - dir_000019.html - exercise1.3.cpp - FirstBitGA.cpp - FirstRealGA.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ - dir_000004.html - tutorial/Lesson2/binary_value.h - exercise2.3.cpp - FirstBitEA.cpp - FirstRealEA.cpp - tutorial/Lesson2/real_value.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ - dir_000005.html - tutorial/Lesson3/binary_value.h - exercise3.1.cpp - tutorial/Lesson3/real_value.h - SecondBitEA.cpp - SecondRealEA.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ - dir_000006.html - tutorial/Lesson4/binary_value.h - BitEA.cpp - ESEA.cpp - tutorial/Lesson4/real_value.h - RealEA.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ - dir_000016.html - eoOneMax.h - eoOneMaxEvalFunc.h - eoOneMaxInit.h - eoOneMaxMutation.h - eoOneMaxQuadCrossover.h - make_genotype_OneMax.h - make_OneMax.cpp - make_op_OneMax.h - OneMaxEA.cpp - OneMaxLibEA.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ - dir_000027.html - mastermind.cpp - mastermind.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ - dir_000008.html - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ - contrib/mathsym/README - shared_ptr.h - symreg.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ - dir_000015.html - eoInitVirus.h - eoVirus.h - VirusOp.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ - dir_000014.html - eoExternalEO.h - eoExternalOpFunctions.h - eoString.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ - dir_000001.html - abstract1.cpp - algos.cpp - breeders.cpp - continuators.cpp - def_abstract_functor.h - geneticOps.cpp - mergers.cpp - monitors.cpp - src/pyeo/NEWS - perf2worth.cpp - pickle.h - PyEO.cpp - PyEO.h - random_numbers.cpp - src/pyeo/README - reduce.cpp - replacement.cpp - selectOne.cpp - selectors.cpp - statistics.cpp - valueParam.cpp - valueParam.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ - dir_000012.html - Dataset.cpp - Dataset.h - ErrorMeasure.cpp - ErrorMeasure.h - Scaling.cpp - Scaling.h - stats.h - TargetInfo.cpp - TargetInfo.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/ - dir_000000.html - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ - apply.h - EO.h - eoAlgo.h - eoBreed.h - eoCellularEasyEA.h - eoCloneOps.h - eoCombinedContinue.h - eoCombinedInit.h - eoContinue.h - eoCounter.h - eoCtrlCContinue.cpp - eoCtrlCContinue.h - eoDetSelect.h - eoDetTournamentSelect.h - eoDistribUpdater.h - eoDistribution.h - eoDominanceMap.h - eoEasyEA.h - eoEDA.h - eoEvalContinue.h - eoEvalFunc.h - eoEvalFuncCounter.h - eoEvalFuncPtr.h - eoFactory.h - eoFitContinue.h - eoFitnessScalingSelect.h - eoFlOrBinOp.h - eoFlOrMonOp.h - eoFlOrQuadOp.h - eoFunctor.h - eoFunctorStore.cpp - eoFunctorStore.h - eoG3Replacement.h - eoGenContinue.h - eoGeneralBreeder.h - eoGenOp.h - eoInit.h - eoInvalidateOps.h - eoLinearFitScaling.h - eoMerge.h - eoMergeReduce.h - eoMGGReplacement.h - eoNDSorting.h - eoObject.h - eoOneToOneBreeder.h - eoOp.h - eoOpContainer.h - eoOpSelMason.h - eoParetoConstraintFitness.h - eoParetoFitness.cpp - eoParetoFitness.h - eoParetoRanking.h - eoPerf2Worth.h - eoPeriodicContinue.h - eoPersistent.cpp - eoPersistent.h - eoPop.h - eoPopAlgo.h - eoPopEvalFunc.h - eoPopulator.h - eoPrintable.cpp - eoPrintable.h - eoPropGAGenOp.h - eoProportionalCombinedOp.h - eoProportionalSelect.h - eoRandomSelect.h - eoRanking.h - eoRankingSelect.h - eoReduce.h - eoReduceMerge.h - eoReduceMergeReduce.h - eoReduceSplit.h - eoReplacement.h - eoScalarFitness.h - eoScalarFitnessAssembled.cpp - eoScalarFitnessAssembled.h - eoSelect.h - eoSelectFactory.h - eoSelectFromWorth.h - eoSelectMany.h - eoSelectNumber.h - eoSelectOne.h - eoSelectPerc.h - eoSequentialSelect.h - eoSGA.h - eoSGAGenOp.h - eoSGATransform.h - eoSharing.h - eoSharingSelect.h - eoSimpleEDA.h - eoSteadyFitContinue.h - eoSTLFunctor.h - eoStochasticUniversalSelect.h - eoStochTournamentSelect.h - eoSurviveAndDie.h - eoTransform.h - eoTruncatedSelectMany.h - eoTruncatedSelectOne.h - eoTruncSelect.h - eoVariableLengthCrossover.h - eoVariableLengthMutation.h - eoVector.h - es.h - ga.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ - dir_000028.html - README.cpp - Sym.cpp - Sym.h - SymImpl.cpp - SymImpl.h - token.h - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ - dir_000026.html - make_genotype_MyStruct.h - make_MyStruct.cpp - make_op_MyStruct.h - MyStructEA.cpp - MyStructLibEA.cpp - MyStructSEA.cpp - tutorial/Templates/README - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ - dir_000029.html - test_compile.cpp - test_diff.cpp - test_lambda.cpp - test_mf.cpp - test_simplify.cpp - testeo.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/test/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/test/ - dir_000002.html - test/binary_value.h - fitness_traits.cpp - test/real_value.h - RoyalRoad.h - t-eo.cpp - t-eoAtomOps.cpp - t-eoBaseFunctions.cpp - t-eobin.cpp - t-eobreeder.cpp - t-eoCheckpointing.cpp - t-eoCMAES.cpp - t-eoEasyEA.cpp - t-eoESAll.cpp - t-eoESFull.cpp - t-eoESOps.cpp - t-eoExternalEO.cpp - t-eofitness.cpp - t-eoFitnessAssembled.cpp - t-eoFitnessAssembledEA.cpp - t-eoFunctor.cpp - t-eoGA.cpp - t-eogeneration.cpp - t-eoGenOp.cpp - t-eoGOpSel.cpp - t-eoinclusion.cpp - t-eoinsertion.cpp - t-eolottery.cpp - t-eoNonUniform.cpp - t-eoPareto.cpp - t-eoParetoFitness.cpp - t-eoPBIL.cpp - t-eoproblem.cpp - t-eoRandom.cpp - t-eoReal.cpp - t-eoReplacement.cpp - t-eoRoulette.cpp - t-eoSelect.cpp - t-eoSharing.cpp - t-eoSSGA.cpp - t-eoStateAndParser.cpp - t-eoSymreg.cpp - t-eoUniform.cpp - t-eoVector.cpp - t-eoVirus.cpp - t-MGE-control.cpp - t-MGE.cpp - t-MGE1bit.cpp - t-selectOne.cpp - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ - dir_000003.html - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ - tutorial/README - - - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ - /users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ - dir_000011.html - compatibility.h - eoAssembledFitnessStat.h - eoCheckPoint.h - eoData.cpp - eoData.h - eoDistance.h - eoFDCStat.h - eoFileMonitor.cpp - eoFileMonitor.h - eoFileSnapshot.h - eoGnuplot.cpp - eoGnuplot.h - eoGnuplot1DMonitor.cpp - eoGnuplot1DMonitor.h - eoGnuplot1DSnapshot.cpp - eoGnuplot1DSnapshot.h - eoHowMany.h - eoIntBounds.cpp - eoIntBounds.h - eoMOFitnessStat.h - eoMonitor.h - eoParam.h - eoParser.cpp - eoParser.h - eoPopStat.h - eoRealBounds.cpp - eoRealBounds.h - eoRealVectorBounds.h - eoRndGenerators.h - eoRNG.cpp - eoRNG.h - eoScalarFitnessStat.h - eoStat.h - eoState.cpp - eoState.h - eoStdoutMonitor.cpp - eoStdoutMonitor.h - eoTimeCounter.h - eoTimedMonitor.h - eoUniformInit.h - eoUpdatable.h - eoUpdater.cpp - eoUpdater.h - make_help.cpp - pipecom.cpp - pipecom.h - rnd_generators.h - selectors.h - - - gp_parse_tree - namespacegp__parse__tree.html - gp_parse_tree::MemPool - gp_parse_tree::MemPool::Link - gp_parse_tree::MemPool::Chunk - gp_parse_tree::Node_alloc - gp_parse_tree::Standard_alloc - gp_parse_tree::Standard_Node_alloc - gp_parse_tree::Tree_alloc - gp_parse_tree::parse_tree - gp_parse_tree::parse_tree::subtree - gp_parse_tree::parse_tree::base_iterator - gp_parse_tree::parse_tree::iterator - gp_parse_tree::parse_tree::embedded_iterator - gp_parse_tree::parse_tree::base_const_iterator - gp_parse_tree::parse_tree::const_iterator - gp_parse_tree::parse_tree::embedded_const_iterator - - void - do_the_swap - a0 - (T &a, T &b) - - - - gp_parse_tree::MemPool - classgp__parse__tree_1_1_mem_pool.html - - - MemPool - a0 - (unsigned int sz) - - - void * - allocate - a2 - () - - - void - deallocate - a3 - (void *b) - - - void - grow - d0 - () - - - Chunk * - chunks - r0 - - - - const unsigned int - esize - r1 - - - - Link * - head - r2 - - - - diff --git a/trunk/paradiseo-eo/doc/html/_bit_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_bit_e_a_8cpp-source.html deleted file mode 100644 index c55150c29..000000000 --- a/trunk/paradiseo-eo/doc/html/_bit_e_a_8cpp-source.html +++ /dev/null @@ -1,102 +0,0 @@ - - -EO: BitEA.cpp Source File - - - - - -

BitEA.cpp

00001 #include <iostream>
-00002 
-00003 #include <ga/make_ga.h>
-00004 #include <apply.h>
-00005 
-00006 // EVAL
-00007 #include "binary_value.h"
-00008 
-00009 // GENERAL
-00010 using namespace std;
-00011 
-00012 int main(int argc, char* argv[])
-00013 {     
-00014 
-00015   try
-00016   {
-00017 // REPRESENTATION
-00018 //-----------------------------------------------------------------------------
-00019 // define your genotype and fitness types
-00020   typedef eoBit<double> EOT;
-00021 
-00022 // PARAMETRES
-00023   eoParser parser(argc, argv);  // for user-parameter reading
-00024 
-00025 // GENERAL
-00026   eoState state;    // keeps all things allocated
-00027 
-00030 
-00031 // EVAL
-00032   // The evaluation fn - encapsulated into an eval counter for output 
-00033   eoEvalFuncPtr<EOT, double> mainEval( binary_value<EOT> );
-00034   eoEvalFuncCounter<EOT> eval(mainEval);
-00035 
-00036 // REPRESENTATION
-00037   // the genotype - through a genotype initializer
-00038   eoInit<EOT>& init = make_genotype(parser, state, EOT());
-00039 
-00040   // if you want to do sharing, you'll need a distance.
-00041   // here Hamming distance 
-00042   eoHammingDistance<EOT> dist;
-00043 
-00044 // OPERATORS
-00045   // Build the variation operator (any seq/prop construct)
-00046   eoGenOp<EOT>& op = make_op(parser, state, init);
-00047 
-00048 // GENERAL
-00051 
-00052   // initialize the population - and evaluate
-00053   // yes, this is representation indepedent once you have an eoInit
-00054   eoPop<EOT>& pop   = make_pop(parser, state, init);
-00055 
-00056 // STOP
-00057   // stopping criteria
-00058   eoContinue<EOT> & term = make_continue(parser, state, eval);
-00059   // output
-00060   eoCheckPoint<EOT> & checkpoint = make_checkpoint(parser, state, eval, term);
-00061 // GENERATION
-00062   // algorithm (need the operator!)
-00063   eoAlgo<EOT>& ga = make_algo_scalar(parser, state, eval, checkpoint, op, &dist);
-00064 
-00067 // PARAMETRES
-00068   // to be called AFTER all parameters have been read!!!
-00069   make_help(parser);
-00070 
-00073 // EVAL
-00074   // evaluate intial population AFTER help and status in case it takes time
-00075   apply<EOT>(eval, pop);
-00076 // STOP
-00077   // print it out (sort witout modifying) 
-00078   cout << "Initial Population\n";
-00079   pop.sortedPrintOn(cout);
-00080   cout << endl;
-00081 
-00082 // GENERATION
-00083   run_ea(ga, pop); // run the ga
-00084 // STOP
-00085   // print it out (sort witout modifying) 
-00086   cout << "Final Population\n";
-00087   pop.sortedPrintOn(cout);
-00088   cout << endl;
-00089 // GENERAL
-00090   }
-00091   catch(exception& e)
-00092   {
-00093     cout << e.what() << endl;
-00094   }
-00095 }
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_bounds_check_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_bounds_check_8cpp-source.html deleted file mode 100644 index 43d76baf1..000000000 --- a/trunk/paradiseo-eo/doc/html/_bounds_check_8cpp-source.html +++ /dev/null @@ -1,95 +0,0 @@ - - -EO: BoundsCheck.cpp Source File - - - - - -

BoundsCheck.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include <vector>
-00019 
-00020 #include "BoundsCheck.h"
-00021 #include <Sym.h>
-00022 #include <FunDef.h>
-00023 #include <sstream>
-00024 
-00025 using namespace std;
-00026 
-00027 class IntervalBoundsCheckImpl {
-00028     public :
-00029     vector<Interval> bounds;
-00030 };
-00031 
-00032 IntervalBoundsCheck::IntervalBoundsCheck(const vector<double>& mins, const vector<double>& maxes) {
-00033     pimpl = new IntervalBoundsCheckImpl;
-00034     vector<Interval>& b = pimpl->bounds;
-00035 
-00036     b.resize( mins.size());
-00037    
-00038     for (unsigned i = 0; i < b.size(); ++i) {
-00039         b[i] = Interval(mins[i], maxes[i]);
-00040     }
-00041     
-00042 }
-00043 
-00044 IntervalBoundsCheck::~IntervalBoundsCheck() { delete pimpl; }
-00045 IntervalBoundsCheck::IntervalBoundsCheck(const IntervalBoundsCheck& that) { pimpl = new IntervalBoundsCheckImpl(*that.pimpl); }
-00046 IntervalBoundsCheck& IntervalBoundsCheck::operator=(const IntervalBoundsCheck& that)   { *pimpl = *that.pimpl; return *this; }
-00047 
-00048 bool IntervalBoundsCheck::in_bounds(const Sym& sym) const {
-00049     Interval bounds; 
-00050     
-00051     try {
-00052         bounds = eval(sym, pimpl->bounds);
-00053         if (!valid(bounds)) return false;
-00054     } catch (interval_error) {
-00055         return false;
-00056     }
-00057     return true;
-00058 }
-00059 
-00060 std::string IntervalBoundsCheck::get_bounds(const Sym& sym) const {
-00061     
-00062     try {
-00063         Interval bounds = eval(sym, pimpl->bounds);
-00064         if (!valid(bounds)) return "err";
-00065         ostringstream os;
-00066         os << bounds;
-00067         return os.str();
-00068     } catch (interval_error) {
-00069         return "err";
-00070     }
-00071 }
-00072 
-00073 
-00074 std::pair<double, double> IntervalBoundsCheck::calc_bounds(const Sym& sym) const {
-00075 
-00076     Interval bounds = eval(sym, pimpl->bounds);
-00077     return make_pair(bounds.lower(), bounds.upper());
-00078 }
-00079         
-00080 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_bounds_check_8h-source.html b/trunk/paradiseo-eo/doc/html/_bounds_check_8h-source.html deleted file mode 100644 index ab0ecbee8..000000000 --- a/trunk/paradiseo-eo/doc/html/_bounds_check_8h-source.html +++ /dev/null @@ -1,73 +0,0 @@ - - -EO: BoundsCheck.h Source File - - - - - -

BoundsCheck.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef BOUNDS_CHECK_H_
-00019 #define BOUNDS_CHECK_H_
-00020 
-00021 #include <string>
-00022 
-00023 class IntervalBoundsCheckImpl;
-00024 class Sym;
-00025 
-00026 class BoundsCheck {
-00027     public :
-00028         virtual ~BoundsCheck() {};
-00029         virtual bool in_bounds(const Sym&) const = 0;
-00030         virtual std::string get_bounds(const Sym&) const = 0;
-00031 };
-00032 
-00033 // checks if a formula keeps within bounds using interval arithmetic
-00034 class IntervalBoundsCheck : public BoundsCheck {
-00035 
-00036     IntervalBoundsCheckImpl* pimpl;
-00037     
-00038     public:
-00039 
-00040     IntervalBoundsCheck(const std::vector<double>& minima, const std::vector<double>& maxima);
-00041     ~IntervalBoundsCheck();
-00042     IntervalBoundsCheck(const IntervalBoundsCheck&);
-00043     IntervalBoundsCheck& operator=(const IntervalBoundsCheck&);
-00044     
-00045     bool in_bounds(const Sym&) const;
-00046     std::string get_bounds(const Sym&) const;
-00047     
-00048     std::pair<double, double> calc_bounds(const Sym&) const;
-00049 };
-00050 
-00051 class NoBoundsCheck : public BoundsCheck {
-00052     bool in_bounds(const Sym&) const { return false; }
-00053     std::string get_bounds(const Sym&) const { return ""; }
-00054 };
-00055 
-00056 #endif
-00057 
-00058 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_c_m_a_params_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_c_m_a_params_8cpp-source.html deleted file mode 100644 index da56abf93..000000000 --- a/trunk/paradiseo-eo/doc/html/_c_m_a_params_8cpp-source.html +++ /dev/null @@ -1,249 +0,0 @@ - - -EO: CMAParams.cpp Source File - - - - - -

CMAParams.cpp

00001 
-00002 /*
-00003  * C++ification of Nikolaus Hansen's original C-source code for the
-00004  * CMA-ES
-00005  *
-00006  * C++-ificiation performed by Maarten Keijzer (C) 2005. Licensed under
-00007  * the LGPL. Original copyright of Nikolaus Hansen can be found below
-00008  *
-00009  *
-00010  * 
-00011  */
-00012 
-00013 /* --------------------------------------------------------- */
-00014 /* --------------------------------------------------------- */
-00015 /* --- File: cmaes.c  -------- Author: Nikolaus Hansen   --- */
-00016 /* --------------------------------------------------------- */
-00017 /*
-00018  *      CMA-ES for non-linear function minimization.
-00019  *
-00020  *           Copyright (C) 1996, 2003  Nikolaus Hansen.
-00021  *           e-mail: hansen@bionik.tu-berlin.de
-00022  *
-00023  *           This library is free software; you can redistribute it and/or
-00024  *           modify it under the terms of the GNU Lesser General Public
-00025  *           License as published by the Free Software Foundation; either
-00026  *           version 2.1 of the License, or (at your option) any later
-00027  *           version (see http://www.gnu.org/copyleft/lesser.html).
-00028  *
-00029  *           This library is distributed in the hope that it will be useful,
-00030  *           but WITHOUT ANY WARRANTY; without even the implied warranty of
-00031  *           MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00032  *           Lesser General Public License for more details.
-00033  * 
-00034  *                                                             */
-00035 /* --- Changes : ---
-00036  *   03/03/21: argument const double *rgFunVal of
-00037  *   cmaes_ReestimateDistribution() was treated incorrectly.
-00038  *   03/03/29: restart via cmaes_resume_distribution() implemented.
-00039  *   03/03/30: Always max std dev / largest axis is printed first.
-00040  *   03/08/30: Damping is adjusted for large mueff.
-00041  *   03/10/30: Damping is adjusted for large mueff always.
-00042  *   04/04/22: Cumulation time and damping for step size adjusted.
-00043  *   No iniphase but conditional update of pc.
-00044  *   Version 2.23.
-00045  *                               */
-00046 
-00047 #include <es/CMAParams.h>
-00048 #include <utils/eoParser.h>
-00049 
-00050 #include <string>
-00051 
-00052 using namespace std;
-00053 
-00054 namespace eo {
-00055 
-00056 CMAParams::CMAParams(eoParser& parser, unsigned dimensionality) {
-00057     
-00058     string section = "CMA parameters";
-00059     
-00060     n = parser.createParam(dimensionality, "dimensionality", "Dimensionality (N) of the problem", 'N', section, dimensionality == 0).value();
-00061     
-00062     maxgen = parser.createParam(
-00063             1000,
-00064             "max-gen",
-00065             "Maximum number of generations that the system will run (needed for damping)",
-00066             'M',
-00067             section).value();
-00068     
-00069     
-00070     if (n == 0) {
-00071         return;
-00072     }
-00073     
-00074     defaults(n, maxgen);
-00075     
-00076     /* handle lambda */
-00077     lambda = parser.createParam(
-00078             lambda,
-00079             "lambda",
-00080             "Number of offspring",
-00081             'l',
-00082             section).value();
-00083 
-00084     if (lambda < 2) {
-00085         lambda = 4+(int)(3*log((double) n));
-00086         cerr << "Too small lambda specified, setting it to " << lambda << endl;
-00087     }
-00088     
-00089     /* handle mu */
-00090     mu = parser.createParam(
-00091             mu,
-00092             "mu",
-00093             "Population size",
-00094             'm',
-00095             section).value();
-00096 
-00097     if (mu >= lambda) {
-00098         mu = lambda/2;
-00099         cerr << "Mu set larger/equal to lambda, setting it to " << mu << endl;
-00100     }
-00101     
-00102     /* handle selection weights */
-00103     
-00104     int weight_type = parser.createParam(
-00105             0,
-00106             "weighting",
-00107             "Weighting scheme (for 'selection'): 0 = logarithmic, 1 = equal, 2 = linear",
-00108             'w',
-00109             section).value();
-00110 
-00111     switch (weight_type) {
-00112         case 1: 
-00113             {
-00114                 for (unsigned i = 0; i < weights.size(); ++i) {
-00115                     weights[i] = mu - i;
-00116                 }
-00117             }
-00118         case 2:
-00119             {
-00120                 weights = 1.;
-00121             }
-00122         default : 
-00123             {
-00124                 for (unsigned i = 0; i < weights.size(); ++i) {
-00125                     weights[i] = log(mu+1.)-log(i+1.);
-00126                 }
-00127             }
-00128         
-00129     }
-00130 
-00131     /* Normalize weights and set mu_eff */
-00132     double sumw = weights.sum();
-00133     mueff =  sumw * sumw / (weights * weights).sum();
-00134     weights /= sumw;
-00135     
-00136 
-00137     /* most of the rest depends on mu_eff, so needs to be set again */
-00138     
-00139     /* set the others using Nikolaus logic. If you want to tweak, you can parameterize over these defaults */
-00140     mucov = mueff;
-00141     ccumsig = (mueff + 2.) / (n + mueff + 3.);
-00142     ccumcov = 4. / (n + 4);
-00143     
-00144     double t1 = 2. / ((n+1.4142)*(n+1.4142));
-00145     double t2 = (2.*mucov-1.) / ((n+2.)*(n+2.)+mucov);
-00146     t2 = (t2 > 1) ? 1 : t2;
-00147     t2 = (1./mucov) * t1 + (1.-1./mucov) * t2;
-00148     
-00149     ccov = t2;
-00150 
-00151     damp = 1 + std::max(0.3,(1.-(double)n/(double)maxgen))
-00152               * (1+2*std::max(0.,sqrt((mueff-1.)/(n+1.))-1)) /* limit sigma increase */
-00153                     / ccumsig;
-00154   
-00155     vector<double> mins(1,0.0);
-00156     mins = parser.createParam(
-00157             mins,
-00158             "min-stdev",
-00159             "Array of minimum stdevs, last one will apply for all remaining axes",
-00160             0,
-00161             section).value();
-00162     
-00163     if (mins.size() > n) mins.resize(n);
-00164 
-00165     if (mins.size()) {
-00166         minStdevs = mins.back();
-00167         for (unsigned i = 0; i < mins.size(); ++i) {
-00168             minStdevs[i] = mins[i];
-00169         }
-00170     }
-00171     
-00172     vector<double> inits(1,0.3);
-00173     inits = parser.createParam(
-00174             inits,
-00175             "init-stdev",
-00176             "Array of initial stdevs, last one will apply for all remaining axes",
-00177             0,
-00178             section).value();
-00179     
-00180     if (inits.size() > n) inits.resize(n);
-00181 
-00182     if (inits.size()) {
-00183         initialStdevs = inits.back();
-00184         for (unsigned i = 0; i < inits.size(); ++i) {
-00185             initialStdevs[i] = inits[i];
-00186         }
-00187     }
-00188     
-00189 }
-00190 
-00191 void CMAParams::defaults(unsigned n_, unsigned maxgen_) {
-00192     n = n_;
-00193     maxgen = maxgen_;
-00194 
-00195     lambda = 4+(int)(3*log((double) n));
-00196     mu = lambda / 2;
-00197     
-00198     weights.resize(mu);
-00199     
-00200     for (unsigned i = 0; i < weights.size(); ++i) {
-00201         weights[i] = log(mu+1.)-log(i+1.);
-00202     }
-00203     
-00204     /* Normalize weights and set mu_eff */
-00205     double sumw = weights.sum();
-00206     mueff =  sumw * sumw / (weights * weights).sum();
-00207     weights /= sumw;
-00208     
-00209     mucov = mueff;
-00210     ccumsig *= (mueff + 2.) / (n + mueff + 3.);
-00211     ccumcov = 4. / (n + 4);
-00212     
-00213     double t1 = 2. / ((n+1.4142)*(n+1.4142));
-00214     double t2 = (2.*mucov-1.) / ((n+2.)*(n+2.)+mucov);
-00215     t2 = (t2 > 1) ? 1 : t2;
-00216     t2 = (1./mucov) * t1 + (1.-1./mucov) * t2;
-00217     
-00218     ccov = t2;
-00219 
-00220     damp = 1 + std::max(0.3,(1.-(double)n/maxgen))
-00221               * (1+2*std::max(0.,sqrt((mueff-1.)/(n+1.))-1)) /* limit sigma increase */
-00222                     / ccumsig;
-00223 
-00224     minStdevs.resize(n);
-00225     minStdevs = 0.0;
-00226     
-00227     initialStdevs.resize(n);
-00228     initialStdevs = 0.3;
-00229     
-00230 
-00231 }
-00232 
-00233 
-00234 }// namespace eo
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_c_m_a_params_8h-source.html b/trunk/paradiseo-eo/doc/html/_c_m_a_params_8h-source.html deleted file mode 100644 index dbaf06f10..000000000 --- a/trunk/paradiseo-eo/doc/html/_c_m_a_params_8h-source.html +++ /dev/null @@ -1,67 +0,0 @@ - - -EO: CMAParams.h Source File - - - - - -

CMAParams.h

00001 /*
-00002  * C++ification of Nikolaus Hansen's original C-source code for the
-00003  * CMA-ES. 
-00004  *
-00005  * Copyright (C) 1996, 2003, Nikolaus Hansen
-00006  *           (C) 2005, Maarten Keijzer
-00007  *
-00008  * License: LGPL 
-00009  * 
-00010  */
-00011 
-00012 #ifndef CMAPARAMS_H__
-00013 #define CMAPARAMS_H__
-00014 
-00015 #include <valarray>
-00016 
-00017 class eoParser;
-00018 namespace eo {
-00019 
-00020 class CMAParams {
-00021    
-00022     public:
-00023     
-00024     CMAParams() { /* Call this and all values need to be set by hand */ }
-00025     CMAParams(eoParser& parser, unsigned dimensionality = 0); // 0 dimensionality -> user needs to set it
-00026  
-00027     void defaults(unsigned n_, unsigned maxgen_); /* apply all defaults using n and maxgen */
-00028     
-00029     unsigned n;
-00030     unsigned maxgen;
-00031    
-00032     unsigned lambda;          /* -> mu */
-00033     unsigned mu;              /* -> weights, lambda */
-00034     
-00035     std::valarray<double> weights;     /* <- mu, -> mueff -> mucov -> ccov */
-00036     double mueff;       /* <- weights */
-00037     
-00038     double mucov;
-00039     
-00040     double damp;         /* <- ccumsig, maxeval, lambda */
-00041     double ccumsig;      /* -> damp, <- N */
-00042     double ccumcov;
-00043     double ccov;         /* <- mucov, N */
-00044 
-00045     std::valarray<double> minStdevs;     /* Minimum standard deviations per coordinate (default = 0.0) */
-00046     std::valarray<double> initialStdevs; /* Initial standard deviations per coordinate (default = 0.3) */
-00047 };
-00048 
-00049 } // namespace eo
-00050 
-00051 #endif
-00052 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_c_m_a_state_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_c_m_a_state_8cpp-source.html deleted file mode 100644 index db6958867..000000000 --- a/trunk/paradiseo-eo/doc/html/_c_m_a_state_8cpp-source.html +++ /dev/null @@ -1,380 +0,0 @@ - - -EO: CMAState.cpp Source File - - - - - -

CMAState.cpp

00001 /*
-00002  * C++ification of Nikolaus Hansen's original C-source code for the
-00003  * CMA-ES
-00004  *
-00005  * C++-ificiation performed by Maarten Keijzer (C) 2005. Licensed under
-00006  * the LGPL. Original copyright of Nikolaus Hansen can be found below
-00007  *
-00008  *
-00009  * Some changes have been made to the original flow and logic of the
-00010  * algorithm:
-00011  *
-00012  *      - Numerical issues are now treated 'before' going into the eigenvector decomposition
-00013  *          (this was done out of convenience)
-00014  *      - dMaxSignifiKond (smallest x such that x == x + 1.0) replaced by
-00015  *        numeric_limits<double>::epsilon() (smallest x such that 1.0 != 1.0 + x)
-00016  *        
-00017  * 
-00018  */
-00019 
-00020 /* --------------------------------------------------------- */
-00021 /* --------------------------------------------------------- */
-00022 /* --- File: cmaes.c  -------- Author: Nikolaus Hansen   --- */
-00023 /* --------------------------------------------------------- */
-00024 /*
-00025  *      CMA-ES for non-linear function minimization.
-00026  *
-00027  *           Copyright (C) 1996, 2003  Nikolaus Hansen.
-00028  *           e-mail: hansen@bionik.tu-berlin.de
-00029  *
-00030  *           This library is free software; you can redistribute it and/or
-00031  *           modify it under the terms of the GNU Lesser General Public
-00032  *           License as published by the Free Software Foundation; either
-00033  *           version 2.1 of the License, or (at your option) any later
-00034  *           version (see http://www.gnu.org/copyleft/lesser.html).
-00035  *
-00036  *           This library is distributed in the hope that it will be useful,
-00037  *           but WITHOUT ANY WARRANTY; without even the implied warranty of
-00038  *           MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00039  *           Lesser General Public License for more details.
-00040  * 
-00041  *                                                             */
-00042 /* --- Changes : ---
-00043  *   03/03/21: argument const double *rgFunVal of
-00044  *   cmaes_ReestimateDistribution() was treated incorrectly.
-00045  *   03/03/29: restart via cmaes_resume_distribution() implemented.
-00046  *   03/03/30: Always max std dev / largest axis is printed first.
-00047  *   03/08/30: Damping is adjusted for large mueff.
-00048  *   03/10/30: Damping is adjusted for large mueff always.
-00049  *   04/04/22: Cumulation time and damping for step size adjusted.
-00050  *   No iniphase but conditional update of pc.
-00051  *   Version 2.23.
-00052  *                               */
-00053 
-00054 #include <valarray>
-00055 #include <limits>
-00056 #include <iostream>
-00057 #include <cassert>
-00058 
-00059 #include <utils/eoRNG.h>
-00060 
-00061 #include <es/CMAState.h>
-00062 #include <es/CMAParams.h>
-00063 #include <es/matrices.h>
-00064 #include <es/eig.h>
-00065 
-00066 using namespace std;
-00067 
-00068 namespace eo {
-00069     
-00070 struct CMAStateImpl {
-00071     
-00072     CMAParams p;
-00073     
-00074     lower_triangular_matrix     C; // Covariance matrix
-00075     square_matrix               B; // Eigen vectors (in columns)
-00076     valarray<double>            d; // eigen values (diagonal matrix)
-00077     valarray<double>            pc; // Evolution path
-00078     valarray<double>            ps; // Evolution path for stepsize;
-00079     
-00080     vector<double>              mean; // current mean to sample around
-00081     double                      sigma; // global step size
-00082    
-00083     unsigned                    gen;
-00084     vector<double>              fitnessHistory;
-00085     
-00086     
-00087     CMAStateImpl(const CMAParams& params_, const vector<double>& m, double sigma_) :
-00088         p(params_),
-00089         C(p.n), B(p.n), d(p.n), pc(p.n), ps(p.n), mean(m), sigma(sigma_),
-00090         gen(0), fitnessHistory(3)
-00091     {
-00092         double trace = (p.initialStdevs * p.initialStdevs).sum();
-00093         /* Initialize covariance structure */
-00094         for (unsigned i = 0; i < p.n; ++i)
-00095         {
-00096             B[i][i] = 1.;
-00097             d[i] = p.initialStdevs[i] * sqrt(p.n / trace);
-00098             C[i][i] = d[i] * d[i];
-00099             pc[i] = 0.;
-00100             ps[i] = 0.;
-00101         }
-00102          
-00103     }
-00104 
-00105     void sample(vector<double>& v) {
-00106         unsigned n = p.n;
-00107         v.resize(n);
-00108         
-00109         vector<double> tmp(n);
-00110         for (unsigned i = 0; i < n; ++i)
-00111             tmp[i] = d[i] * rng.normal();
-00112         
-00113         /* add mutation (sigma * B * (D*z)) */
-00114         for (unsigned i = 0; i < n; ++i) {
-00115             double sum = 0;
-00116             for (unsigned j = 0; j < n; ++j) {
-00117                 sum += B[i][j] * tmp[j];
-00118             }
-00119             v[i] = mean[i] + sigma * sum;
-00120         }
-00121     }
-00122     
-00123     void reestimate(const vector<const vector<double>* >& pop, double muBest, double muWorst) {
-00124         
-00125         assert(pop.size() == p.mu);
-00126         
-00127         unsigned n = p.n;
-00128 
-00129         fitnessHistory[gen % fitnessHistory.size()] = muBest; // needed for divergence check
-00130         
-00131         vector<double> oldmean = mean;
-00132         valarray<double> BDz(n);
-00133         
-00134         /* calculate xmean and rgBDz~N(0,C) */
-00135         for (unsigned i = 0; i < n; ++i) {
-00136             mean[i] = 0.;
-00137             for (unsigned j = 0; j < pop.size(); ++j) {
-00138                 mean[i] += p.weights[j] * (*pop[j])[i]; 
-00139             }
-00140             BDz[i] = sqrt(p.mueff)*(mean[i] - oldmean[i])/sigma; 
-00141         }
-00142 
-00143         vector<double> tmp(n);
-00144         /* calculate z := D^(-1) * B^(-1) * rgBDz into rgdTmp */
-00145         for (unsigned i = 0; i < n; ++i) {
-00146             double sum = 0.0;
-00147             for (unsigned j = 0; j < n; ++j) {
-00148                 sum += B[j][i] * BDz[j];
-00149             }
-00150             tmp[i] = sum / d[i];
-00151         }
-00152 
-00153         /* cumulation for sigma (ps) using B*z */
-00154         for (unsigned i = 0; i < n; ++i) {
-00155             double sum = 0.0;
-00156             for (unsigned j = 0; j < n; ++j)
-00157                 sum += B[i][j] * tmp[j];
-00158             
-00159             ps[i] = (1. - p.ccumsig) * ps[i] + sqrt(p.ccumsig * (2. - p.ccumsig)) * sum;
-00160         }
-00161 
-00162         /* calculate norm(ps)^2 */
-00163         double psxps = (ps * ps).sum();
-00164 
-00165         
-00166         double chiN =  sqrt((double) p.n) * (1. - 1./(4.*p.n) + 1./(21.*p.n*p.n));
-00167         /* cumulation for covariance matrix (pc) using B*D*z~N(0,C) */
-00168         double hsig = sqrt(psxps) / sqrt(1. - pow(1.-p.ccumsig, 2.*gen)) / chiN < 1.5 + 1./(p.n-0.5);
-00169         
-00170         pc = (1. - p.ccumcov) * pc + hsig * sqrt(p.ccumcov * (2. - p.ccumcov)) * BDz;
-00171         
-00172         /* stop initial phase (MK, this was not reachable in the org code, deleted) */
-00173 
-00174         /* remove momentum in ps, if ps is large and fitness is getting worse */
-00175 
-00176         if (gen >= fitnessHistory.size()) {
-00177 
-00178             // find direction from muBest and muWorst (muBest == muWorst handled seperately
-00179             double direction = muBest < muWorst? -1.0 : 1.0;
-00180             
-00181             unsigned now = gen % fitnessHistory.size();
-00182             unsigned prev = (gen-1) % fitnessHistory.size();
-00183             unsigned prevprev = (gen-2) % fitnessHistory.size();
-00184 
-00185             bool fitnessWorsens = (muBest == muWorst) || // <- increase norm also when population has converged (this deviates from Hansen's scheme)
-00186                             ( (direction * fitnessHistory[now] < direction * fitnessHistory[prev])
-00187                                             &&
-00188                               (direction * fitnessHistory[now] < direction * fitnessHistory[prevprev]));
-00189         
-00190             if(psxps/p.n > 1.5 + 10.*sqrt(2./p.n) && fitnessWorsens) {
-00191                 double tfac = sqrt((1 + std::max(0., log(psxps/p.n))) * p.n / psxps);
-00192                 ps          *= tfac;
-00193                 psxps   *= tfac*tfac; 
-00194             }
-00195         }
-00196 
-00197         /* update of C  */
-00198         /* Adapt_C(t); not used anymore */
-00199         if (p.ccov != 0.) {
-00200             //flgEigensysIsUptodate = 0;
-00201 
-00202             /* update covariance matrix */
-00203             for (unsigned i = 0; i < n; ++i) {
-00204                 vector<double>::iterator c_row = C[i];
-00205                 for (unsigned j = 0; j <= i; ++j) {
-00206                     c_row[j] = 
-00207                                 (1 - p.ccov) * c_row[j]
-00208                                         +
-00209                                 p.ccov * (1./p.mucov) * pc[i] * pc[j]
-00210                                         +
-00211                                 (1-hsig) * p.ccumcov * (2. - p.ccumcov) * c_row[j];
-00212                     
-00213                     /*C[i][j] = (1 - p.ccov) * C[i][j] 
-00214                         + sp.ccov * (1./sp.mucov) 
-00215                         * (rgpc[i] * rgpc[j] 
-00216                                 + (1-hsig)*sp.ccumcov*(2.-sp.ccumcov) * C[i][j]); */
-00217                     for (unsigned k = 0; k < p.mu; ++k) { /* additional rank mu update */
-00218                         c_row[j] += p.ccov * (1-1./p.mucov) * p.weights[k]  
-00219                             * ( (*pop[k])[i] - oldmean[i])
-00220                             * ( (*pop[k])[j] - oldmean[j])
-00221                             / sigma / sigma;
-00222                     
-00223                            // * (rgrgx[index[k]][i] - rgxold[i]) 
-00224                            // * (rgrgx[index[k]][j] - rgxold[j])
-00225                            // / sigma / sigma; 
-00226                     }
-00227                 }
-00228             }
-00229         }
-00230 
-00231         /* update of sigma */
-00232         sigma *= exp(((sqrt(psxps)/chiN)-1.)/p.damp);
-00233         /* calculate eigensystem, must be done by caller  */
-00234         //cmaes_UpdateEigensystem(0);
-00235 
-00236         
-00237         /* treat minimal standard deviations and numeric problems 
-00238          * Note that in contrast with the original code, some numerical issues are treated *before* we 
-00239          * go into the eigenvalue calculation */
-00240         
-00241         treatNumericalIssues(muBest, muWorst);
-00242 
-00243         gen++; // increase generation
-00244     }
-00245 
-00246     void treatNumericalIssues(double best, double worst) {
-00247         
-00248         /* treat stdevs */
-00249         for (unsigned i = 0; i < p.n; ++i) {
-00250             if (sigma * sqrt(C[i][i]) < p.minStdevs[i]) {
-00251                 // increase stdev
-00252                 sigma *= exp(0.05+1./p.damp);
-00253                 break;
-00254             }
-00255         }
-00256         
-00257         /* treat convergence */
-00258         if (best == worst) {
-00259             sigma *= exp(0.2 + 1./p.damp);
-00260         }
-00261         
-00262         /* Jede Hauptachse i testen, ob x == x + 0.1 * sigma * rgD[i] * B[i] */
-00263         /* Test if all the means are not numerically out of whack with our coordinate system*/
-00264         for (unsigned axis = 0; axis < p.n; ++axis) {
-00265             double fac = 0.1 * sigma * d[axis];
-00266             unsigned coord;
-00267             for (coord = 0; coord < p.n; ++coord) {
-00268                 if (mean[coord] != mean[coord] + fac * B[coord][axis]) {
-00269                     break;
-00270                 }
-00271             }
-00272 
-00273             if (coord == p.n) { // means are way too big (little) for numerical accuraccy. Start rocking the craddle a bit more
-00274                 sigma *= exp(0.2+1./p.damp);
-00275             }
-00276             
-00277         }
-00278             
-00279         /* Testen ob eine Komponente des Objektparameters festhaengt */
-00280         /* Correct issues with scale between objective values and covariances */
-00281         bool theresAnIssue = false;
-00282 
-00283         for (unsigned i = 0; i < p.n; ++i) {
-00284             if (mean[i] == mean[i] + 0.2 * sigma * sqrt(C[i][i])) {
-00285                 C[i][i] *= (1. + p.ccov);
-00286                 theresAnIssue = true;
-00287             }
-00288         }
-00289 
-00290         if (theresAnIssue) {
-00291             sigma *= exp(0.05 + 1./p.damp);
-00292         }
-00293     }
-00294 
-00295     
-00296     bool updateEigenSystem(unsigned max_tries, unsigned max_iters) {
-00297 
-00298         if (max_iters==0) max_iters = 30 * p.n;
-00299         
-00300         static double lastGoodMinimumEigenValue = 1.0;
-00301         
-00302         /* Try to get a valid calculation */
-00303         for (unsigned tries = 0; tries < max_tries; ++tries) {
-00304              
-00305             unsigned iters = eig( p.n, C, d, B, max_iters); 
-00306             if (iters < max_iters) 
-00307             { // all is well
-00308                 
-00309                 /* find largest/smallest eigenvalues */
-00310                 double minEV = d.min(); 
-00311                 double maxEV = d.max(); 
-00312 
-00313                 /* (MK Original comment was) :Limit Condition of C to dMaxSignifKond+1 
-00314                  * replaced dMaxSignifKond with 1./numeric_limits<double>::epsilon()
-00315                  * */
-00316                 if (maxEV * numeric_limits<double>::epsilon() > minEV) {
-00317                     double tmp = maxEV * numeric_limits<double>::epsilon() - minEV;
-00318                     minEV += tmp;
-00319                     for (unsigned i=0;i<p.n;++i) {
-00320                         C[i][i] += tmp;
-00321                         d[i] += tmp;
-00322                     }
-00323                 } /* if */
-00324                 lastGoodMinimumEigenValue = minEV;
-00325 
-00326                 d = sqrt(d);
-00327 
-00328                 //flgEigensysIsUptodate = 1;
-00329                 //genOfEigensysUpdate = gen; 
-00330                 //clockeigensum += clock() - clockeigenbegin;
-00331                 return true;
-00332             } /* if cIterEig < ... */
-00333 
-00334             // numerical problems, ignore them and try again
-00335             
-00336             /* Addition des letzten minEW auf die Diagonale von C */
-00337             /* Add the last known good eigen value to the diagonal of C */
-00338             double summand = lastGoodMinimumEigenValue * exp((double) tries);
-00339             for (unsigned i = 0; i < p.n; ++i)
-00340                 C[i][i] += summand;
-00341 
-00342         } /* for iEigenCalcVers */
-00343         
-00344         return false;
-00345         
-00346     }
-00347     
-00348         
-00349 };
-00350 
-00351 CMAState::CMAState(const CMAParams& params, const std::vector<double>& initial_point, const double initial_sigma) 
-00352     : pimpl(new CMAStateImpl(params, initial_point, initial_sigma)) {}
-00353 
-00354 CMAState::~CMAState() { delete pimpl; }
-00355 CMAState::CMAState(const CMAState& that) : pimpl(new CMAStateImpl(*that.pimpl )) {}
-00356 CMAState& CMAState::operator=(const CMAState& that) { *pimpl = *that.pimpl; return *this; }
-00357 
-00358 void CMAState::sample(vector<double>& v) const {  pimpl->sample(v); }
-00359 
-00360 void CMAState::reestimate(const vector<const vector<double>* >& population, double muBest, double muWorst) { pimpl->reestimate(population, muBest, muWorst); }
-00361 bool CMAState::updateEigenSystem(unsigned max_tries, unsigned max_iters) { return pimpl->updateEigenSystem(max_tries, max_iters); }
-00362 
-00363 
-00364 } // namespace eo
-00365 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_c_m_a_state_8h-source.html b/trunk/paradiseo-eo/doc/html/_c_m_a_state_8h-source.html deleted file mode 100644 index 025a5838d..000000000 --- a/trunk/paradiseo-eo/doc/html/_c_m_a_state_8h-source.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: CMAState.h Source File - - - - - -

CMAState.h

00001 
-00002 /*
-00003  * C++ification of Nikolaus Hansen's original C-source code for the
-00004  * CMA-ES. 
-00005  *
-00006  * Copyright (C) 1996, 2003, Nikolaus Hansen
-00007  *           (C) 2005, Maarten Keijzer
-00008  *
-00009  * License: LGPL (see source file)
-00010  * 
-00011  */
-00012 
-00013 #ifndef CMASTATE_H_
-00014 #define CMASTATE_H_
-00015 
-00016 #include <vector>
-00017 #include <valarray>
-00018 
-00019 namespace eo {
-00020     
-00021 
-00022 class CMAStateImpl;
-00023 class CMAParams;
-00024 class CMAState {
-00025     
-00026     CMAStateImpl* pimpl; /* pointer to implementation, hidden in source file */
-00027     
-00028     public:
-00029 
-00030     CMAState(const CMAParams&, const std::vector<double>& initial_point, const double initial_sigma = 1.0);
-00031     ~CMAState();
-00032     CMAState(const CMAState&);
-00033     CMAState& operator=(const CMAState&);
-00034 
-00051     void sample(std::vector<double>& v) const;
-00052     
-00063     void reestimate(const std::vector<const std::vector<double>* >& sorted_population, double muBest, double muWorst);
-00064     
-00074     bool updateEigenSystem(unsigned max_tries = 1, unsigned max_iters = 0);  
-00075 };
-00076 
-00077 } // namespace eo
-00078 
-00079 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_dataset_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_dataset_8cpp-source.html deleted file mode 100644 index a485ab44c..000000000 --- a/trunk/paradiseo-eo/doc/html/_dataset_8cpp-source.html +++ /dev/null @@ -1,148 +0,0 @@ - - -EO: Dataset.cpp Source File - - - - - -

Dataset.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include "Dataset.h"
-00019 #include <fstream>
-00020 #include <sstream>
-00021 
-00022 #include <iostream>
-00023 
-00024 using namespace std;
-00025 
-00026 class DataSetImpl {
-00027     public: 
-00028     vector< vector<double> > inputs;
-00029     vector<double> targets;
-00030 
-00031     void read_data(vector<string> strings) {
-00032         // find the number of inputs
-00033         
-00034         istringstream cnt(strings[0]);
-00035         unsigned n = 0;
-00036         for (;;) {
-00037             string s;
-00038             cnt >> s;
-00039             if (!cnt) break;
-00040             ++n;
-00041         }
-00042 
-00043         inputs.resize(strings.size(), vector<double>(n-1));
-00044         targets.resize(strings.size());
-00045 
-00046         for (unsigned i = 0; i < strings.size(); ++i) {
-00047             istringstream is(strings[i]);
-00048             for (unsigned j = 0; j < n; ++j) {
-00049                 
-00050                 if (!is) {
-00051                     cerr << "Too few targets in record " << i << endl;
-00052                     exit(1);
-00053                 }
-00054                 
-00055                 if (j < n-1) {
-00056                     is >> inputs[i][j];
-00057                 } else {
-00058                     is >> targets[i];
-00059                 }
-00060                 
-00061             }
-00062         }
-00063         
-00064     }
-00065     
-00066 };
-00067 
-00068 Dataset::Dataset() { pimpl = new DataSetImpl; }
-00069 Dataset::~Dataset() { delete pimpl; }
-00070 Dataset::Dataset(const Dataset& that) { pimpl = new DataSetImpl(*that.pimpl); }
-00071 Dataset& Dataset::operator=(const Dataset& that) { *pimpl = *that.pimpl; return *this; }
-00072 
-00073 unsigned Dataset::n_records() const { return pimpl->targets.size(); }
-00074 unsigned Dataset::n_fields()  const { return pimpl->inputs[0].size(); }
-00075 const std::vector<double>& Dataset::get_inputs(unsigned record) const { return pimpl->inputs[record]; }
-00076 double Dataset::get_target(unsigned record) const { return pimpl->targets[record]; }
-00077 
-00078 double error(string errstr);
-00079 
-00080 void Dataset::load_data(std::string filename) {
-00081     vector<string> strings; // first load it in strings
-00082 
-00083     ifstream is(filename.c_str());
-00084 
-00085     for(;;) {
-00086         string s;
-00087         getline(is, s);
-00088         if (!is) break;
-00089 
-00090         if (s[0] == '#') continue; // comment, skip
-00091 
-00092         strings.push_back(s);
-00093     }
-00094    
-00095     is.close();
-00096 
-00097     if (strings.size() == 0) {
-00098         error("No data could be loaded");
-00099     }
-00100     
-00101     pimpl->read_data(strings);
-00102     
-00103 }
-00104 
-00105 std::vector<double> Dataset::input_minima() const {
-00106     vector<vector<double> >& in = pimpl->inputs;
-00107     
-00108     vector<double> mn(in[0].size(), 1e+50);
-00109     for (unsigned i = 0; i < in.size(); ++i) {
-00110         for (unsigned j = 0; j < in[i].size(); ++j) {
-00111             mn[j] = std::min(mn[j], in[i][j]);
-00112         }
-00113     }
-00114     
-00115     return mn;
-00116 }
-00117 
-00118 vector<double> Dataset::input_maxima() const {
-00119     vector<vector<double> >& in = pimpl->inputs;
-00120     
-00121     vector<double> mx(in[0].size(), -1e+50);
-00122     for (unsigned i = 0; i < in.size(); ++i) {
-00123         for (unsigned j = 0; j < in[i].size(); ++j) {
-00124             mx[j] = std::max(mx[j], in[i][j]);
-00125         }
-00126     }
-00127     
-00128     return mx;
-00129 }
-00130 
-00131 
-00132 
-00133 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_dataset_8h-source.html b/trunk/paradiseo-eo/doc/html/_dataset_8h-source.html deleted file mode 100644 index 57418e1a3..000000000 --- a/trunk/paradiseo-eo/doc/html/_dataset_8h-source.html +++ /dev/null @@ -1,66 +0,0 @@ - - -EO: Dataset.h Source File - - - - - -

Dataset.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef DATASET_H_
-00019 #define DATASET_H_
-00020 
-00021 #include <string>
-00022 #include <vector>
-00023 
-00024 class DataSetImpl;
-00025 
-00026 class Dataset {
-00027     
-00028     DataSetImpl* pimpl;
-00029     
-00030     Dataset& operator=(const Dataset&); // cannot assign
-00031     public:
-00032 
-00033     Dataset();
-00034     ~Dataset();
-00035     Dataset(const Dataset&);
-00036 
-00037     void load_data(std::string filename);
-00038     
-00039     unsigned n_records() const;
-00040     unsigned n_fields() const;
-00041 
-00042     const std::vector<double>& get_inputs(unsigned record) const;
-00043     double get_target(unsigned record) const;
-00044 
-00045     std::vector<double> input_minima() const;
-00046     std::vector<double> input_maxima() const;
-00047     
-00048 };
-00049 
-00050 #endif
-00051 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_e_o_8h-source.html b/trunk/paradiseo-eo/doc/html/_e_o_8h-source.html deleted file mode 100644 index eac179d2f..000000000 --- a/trunk/paradiseo-eo/doc/html/_e_o_8h-source.html +++ /dev/null @@ -1,125 +0,0 @@ - - -EO: EO.h Source File - - - - - -

EO.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // EO.h
-00005 // (c) GeNeura Team 1998
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef EO_H
-00026 #define EO_H
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 #include <stdexcept>       // std::runtime_error
-00031 #include <eoObject.h>      // eoObject
-00032 #include <eoPersistent.h>  // eoPersistent
-00033 
-00034 //-----------------------------------------------------------------------------
-00044 template<class F> class EO: public eoObject, public eoPersistent
-00045 {
-00046 public:
-00047   typedef F Fitness;
-00048 
-00054   EO(): repFitness(Fitness()), invalidFitness(true) {}
-00055 
-00057   virtual ~EO() {};
-00058 
-00060   Fitness fitness() const {
-00061     if (invalid())
-00062       throw std::runtime_error("invalid fitness");
-00063     return repFitness;
-00064   }
-00065 
-00066   // Set fitness as invalid.
-00067   void invalidate() { invalidFitness = true; }
-00068 
-00072   void fitness(const Fitness& _fitness)
-00073   {
-00074     repFitness = _fitness;
-00075     invalidFitness = false;
-00076   }
-00077 
-00081   bool invalid() const { return invalidFitness; }
-00082 
-00086   bool operator<(const EO& _eo2) const { return fitness() < _eo2.fitness(); }
-00087   bool operator>(const EO& _eo2) const { return !(fitness() <= _eo2.fitness()); }
-00088 
-00090 
-00091 
-00095   virtual std::string className() const { return "EO"; }
-00096 
-00105   virtual void readFrom(std::istream& _is) {
-00106      
-00107         // the new version of the reafFrom function.
-00108         // It can distinguish between valid and invalid fitness values. 
-00109         std::string fitness_str;
-00110         int pos = _is.tellg();
-00111         _is >> fitness_str;
-00112 
-00113         if (fitness_str == "INVALID")
-00114         {
-00115                 invalidFitness = true;
-00116         }
-00117         else
-00118         {
-00119                 invalidFitness = false;
-00120                 _is.seekg(pos); // rewind
-00121                 _is >> repFitness;
-00122         }
-00123   }
-00124 
-00129   virtual void printOn(std::ostream& _os) const {
-00130 
-00131 
-00132     // the latest version of the code. Very similar to the old code
-00133     if (invalid()) {
-00134         _os << "INVALID ";
-00135     }
-00136     else
-00137     {
-00138         _os << repFitness << ' ';
-00139     }
-00140               
-00141   }
-00142 
-00144 
-00145 private:
-00146   Fitness repFitness;   // value of fitness for this chromosome
-00147   bool invalidFitness;  // true if the value of fitness is invalid
-00148 };
-00149 
-00150 //-----------------------------------------------------------------------------
-00151 
-00152 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_e_s_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_e_s_e_a_8cpp-source.html deleted file mode 100644 index 73e7c70da..000000000 --- a/trunk/paradiseo-eo/doc/html/_e_s_e_a_8cpp-source.html +++ /dev/null @@ -1,139 +0,0 @@ - - -EO: ESEA.cpp Source File - - - - - -

ESEA.cpp

00001 // Program to test several EO-ES features
-00002 
-00003 #ifdef _MSC_VER
-00004 #pragma warning(disable:4786)
-00005 #endif
-00006 
-00007 #include <algorithm>
-00008 #include <string>
-00009 #include <iostream>
-00010 #include <iterator>
-00011 #include <stdexcept>
-00012 #include <time.h>
-00013 
-00014 using namespace std;
-00015 
-00016 #include <eo>
-00017 
-00018 // representation specific
-00019 #include <es/make_es.h>
-00020 
-00021 #include "real_value.h"         // the sphere fitness
-00022 
-00023 // Now the main 
-00025 typedef eoMinimizingFitness  FitT;
-00026 
-00027 template <class EOT>
-00028 void runAlgorithm(EOT, eoParser& _parser, eoState& _state);
-00029   
-00030 int main_function(int argc, char *argv[]) 
-00031 {
-00032   // Create the command-line parser
-00033   eoParser parser(argc, argv);  // for user-parameter reading
-00034 
-00035   eoState state;    // keeps all things allocated
-00036 
-00037 
-00038   eoValueParam<bool>& simpleParam = parser.createParam(true, "Isotropic", "Isotropic self-adaptive mutation", 'i', "ES mutation");
-00039   eoValueParam<bool>& stdevsParam = parser.createParam(false, "Stdev", "One self-adaptive stDev per variable", 's', "ES mutation");
-00040   eoValueParam<bool>& corrParam = parser.createParam(false, "Correl", "Use correlated mutations", 'c', "ES mutation");
-00041 
-00042     // Run the appropriate algorithm
-00043     if (simpleParam.value() == false)
-00044     {
-00045       cout << "Using eoReal" << endl;
-00046       runAlgorithm(eoReal<FitT>(), parser, state);
-00047     }
-00048     else if (stdevsParam.value() == false)
-00049     {
-00050       cout << "Using eoEsSimple" << endl;
-00051       runAlgorithm(eoEsSimple<FitT>(), parser, state);
-00052     }
-00053     else if (corrParam.value() == false)
-00054     {
-00055       cout << "Using eoEsStdev" << endl;
-00056       runAlgorithm(eoEsStdev<FitT>(), parser, state);
-00057     }
-00058     else 
-00059     {
-00060       cout << "Using eoEsFull" << endl;
-00061       runAlgorithm(eoEsFull<FitT>(), parser, state);
-00062     }
-00063 
-00064         return 0;  
-00065 }
-00066 
-00067 // A main that catches the exceptions
-00068  
-00069 int main(int argc, char **argv)
-00070 {
-00071     try
-00072     {
-00073         main_function(argc, argv);
-00074     }
-00075     catch(exception& e)
-00076     {
-00077         cout << "Exception: " << e.what() << '\n';
-00078     }
-00079  
-00080     return 1;
-00081 }
-00082 
-00087 template <class EOT>
-00088 void runAlgorithm(EOT, eoParser& _parser, eoState& _state)
-00089 {
-00090   typedef typename EOT::Fitness FitT;
-00091 
-00094 
-00095   // The evaluation fn - encapsulated into an eval counter for output 
-00096   eoEvalFuncPtr<EOT, double, const std::vector<double>&> 
-00097                mainEval( real_value );
-00098   eoEvalFuncCounter<EOT> eval(mainEval);
-00099 
-00100   // the genotype - through a genotype initializer
-00101   eoRealInitBounded<EOT>& init = make_genotype(_parser, _state, EOT());
-00102 
-00103   // Build the variation operator (any seq/prop construct)
-00104   eoGenOp<EOT>& op = make_op(_parser, _state, init);
-00105 
-00108 
-00109   // initialize the population - and evaluate
-00110   // yes, this is representation indepedent once you have an eoInit
-00111   eoPop<EOT>& pop   = make_pop(_parser, _state, init);
-00112   apply<EOT>(eval, pop);
-00113 
-00114   // stopping criteria
-00115   eoContinue<EOT> & term = make_continue(_parser, _state, eval);
-00116   // output
-00117   eoCheckPoint<EOT> & checkpoint = make_checkpoint(_parser, _state, eval, term);
-00118   // algorithm (need the operator!)
-00119   eoAlgo<EOT>& ga = make_algo_scalar(_parser, _state, eval, checkpoint, op);
-00120 
-00123   // to be called AFTER all parameters have been read!!!
-00124   make_help(_parser);
-00125 
-00128   cout << "Initial Population\n";
-00129   pop.sortedPrintOn(cout);
-00130   cout << endl;
-00131 
-00132   run_ea(ga, pop); // run the ga
-00133 
-00134   cout << "Final Population\n";
-00135   pop.sortedPrintOn(cout);
-00136   cout << endl;
-00137 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_error_measure_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_error_measure_8cpp-source.html deleted file mode 100644 index a964b455a..000000000 --- a/trunk/paradiseo-eo/doc/html/_error_measure_8cpp-source.html +++ /dev/null @@ -1,355 +0,0 @@ - - -EO: ErrorMeasure.cpp Source File - - - - - -

ErrorMeasure.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 
-00019 #include <vector>
-00020 #include <valarray>
-00021 
-00022 #include "MultiFunction.h"
-00023 
-00024 #include "ErrorMeasure.h"
-00025 #include "Dataset.h"
-00026 #include "Sym.h"
-00027 #include "FunDef.h"
-00028 #include "sym_compile.h"
-00029 #include "TargetInfo.h"
-00030 #include "stats.h"
-00031 
-00032 using namespace std;
-00033 
-00034 #ifdef INTERVAL_DEBUG
-00035 
-00036 #include <BoundsCheck.h>
-00037 #include <FunDef.h>
-00038 
-00039 vector<double> none;
-00040 IntervalBoundsCheck bounds(none, none);
-00041 
-00042 #endif
-00043 
-00044 
-00045 
-00046 static double not_a_number = atof("nan");
-00047 
-00048 class ErrorMeasureImpl {
-00049     public:
-00050         const Dataset& data;
-00051         TargetInfo train_info;
-00052         
-00053         ErrorMeasure::measure measure;
-00054         
-00055         Scaling no_scaling;
-00056         
-00057         ErrorMeasureImpl(const Dataset& d, double t_p, ErrorMeasure::measure m) : data(d), measure(m) {
-00058             
-00059 #ifdef INTERVAL_DEBUG
-00060             bounds = IntervalBoundsCheck(d.input_minima(), d.input_maxima());
-00061 #endif
-00062 
-00063             unsigned nrecords = d.n_records();
-00064             unsigned cases = unsigned(t_p * nrecords);
-00065             
-00066             valarray<double> t(cases);
-00067 
-00068             for (unsigned i = 0; i < cases; ++i) {
-00069                 t[i] = data.get_target(i);
-00070             }
-00071 
-00072             train_info = TargetInfo(t);
-00073             no_scaling = Scaling(new NoScaling);
-00074         }
-00075         
-00076         ErrorMeasure::result eval(const valarray<double>& y) {
-00077             
-00078             ErrorMeasure::result result;
-00079             result.scaling = no_scaling;
-00080             
-00081             
-00082             switch(measure) {
-00083                 case ErrorMeasure::mean_squared:
-00084                     result.error = pow(train_info.targets() - y, 2.0).sum() / y.size();
-00085                     return result;
-00086                 case ErrorMeasure::absolute:
-00087                     result.error = abs(train_info.targets() - y).sum() / y.size();
-00088                     return result;
-00089                 case ErrorMeasure::mean_squared_scaled:
-00090                     result.scaling = ols(y, train_info);
-00091                     result.error  = pow(train_info.targets() - result.scaling->transform(y), 2.0).sum() / y.size();
-00092                     return result;
-00093                 default: 
-00094                     cerr << "Unknown measure encountered: " << measure << " " << __FILE__ << " " << __LINE__ << endl;
-00095             }
-00096             
-00097             return result;
-00098         }   
-00099         
-00100         unsigned train_cases() const {
-00101             return train_info.targets().size();
-00102         }
-00103 
-00104         vector<ErrorMeasure::result> multi_function_eval(const vector<Sym>& pop) {
-00105            
-00106             if (pop.size() == 0) return vector<ErrorMeasure::result>();
-00107             
-00108             multi_function all = compile(pop);
-00109             //MultiFunction all(pop);
-00110             std::vector<double> y(pop.size());
-00111             
-00112             Scaling noScaling = Scaling(new NoScaling);
-00113             
-00114             const std::valarray<double>& t = train_info.targets();
-00115             
-00116             cout << "Population size " << pop.size() << endl;
-00117             
-00118             if (measure == ErrorMeasure::mean_squared_scaled) {
-00119                 std::vector<Var> var(pop.size());
-00120                 std::vector<Cov> cov(pop.size());
-00121             
-00122                 Var vart;
-00123 
-00124                 for (unsigned i = 0; i < t.size(); ++i) {
-00125                     vart.update(t[i]);
-00126                     
-00127                     all(&data.get_inputs(i)[0], &y[0]); // evalutate
-00128                     //all(data.get_inputs(i), y); // evalutate
-00129 
-00130                     for (unsigned j = 0; j < pop.size(); ++j) {
-00131                         var[j].update(y[j]);
-00132                         cov[j].update(y[j], t[i]);
-00133                     }
-00134                 }
-00135                 
-00136                 std::vector<ErrorMeasure::result> result(pop.size());
-00137                 
-00138                 for (unsigned i = 0; i < pop.size(); ++i) {
-00139                     
-00140                     // calculate scaling
-00141                     double b = cov[i].get_cov() / var[i].get_var();
-00142                     
-00143                     if (!finite(b)) {
-00144                         result[i].scaling = noScaling;
-00145                         result[i].error = vart.get_var(); // largest error
-00146                         continue;
-00147                     }
-00148                     
-00149                     double a = vart.get_mean() - b * var[i].get_mean();
-00150                     
-00151                     result[i].scaling = Scaling( new LinearScaling(a,b));
-00152 
-00153                     // calculate error
-00154                     double c = cov[i].get_cov();
-00155                     c *= c;
-00156                     
-00157                     double err = vart.get_var() - c / var[i].get_var();
-00158                     result[i].error = err; 
-00159                     if (!finite(err)) {
-00160                         //cout << pop[i] << endl;
-00161                         cout << "b     " << b << endl;
-00162                         cout << "var t " << vart.get_var() << endl;
-00163                         cout << "var i " << var[i].get_var() << endl;
-00164                         cout << "cov   " << cov[i].get_cov() << endl;
-00165                         
-00166                         for (unsigned j = 0; j < t.size(); ++j) {
-00167                             all(&data.get_inputs(i)[0], &y[0]); // evalutate
-00168                             //all(data.get_inputs(j), y); // evalutate
-00169                             
-00170                             cout << y[i] << ' ' << ::eval(pop[i], data.get_inputs(j)) << endl;
-00171                         }
-00172                         
-00173                         exit(1);
-00174                     }
-00175                 }
-00176         
-00177                 return result;
-00178             }
-00179         
-00180             
-00181             std::vector<double> err(pop.size()); 
-00182             
-00183             for (unsigned i = 0; i < train_cases(); ++i) {
-00184                 // evaluate
-00185                 all(&data.get_inputs(i)[0], &y[0]);
-00186                 //all(data.get_inputs(i), y);
-00187 
-00188                 for (unsigned j = 0; j < pop.size(); ++j) {
-00189                     double diff = y[j] - t[i];
-00190                     if (measure == ErrorMeasure::mean_squared) { // branch prediction will probably solve this inefficiency
-00191                         err[j] += diff * diff;
-00192                     } else {
-00193                         err[j] += fabs(diff);
-00194                     }
-00195                     
-00196                 }
-00197                 
-00198             }
-00199             
-00200             std::vector<ErrorMeasure::result> result(pop.size());
-00201 
-00202             double n = train_cases();
-00203             for (unsigned i = 0; i < pop.size(); ++i) {
-00204                 result[i].error = err[i] / n;
-00205                 result[i].scaling = noScaling;
-00206             }
-00207 
-00208             return result;
-00209             
-00210         }
-00211 
-00212         vector<ErrorMeasure::result> single_function_eval(const vector<Sym> & pop) {
-00213             
-00214             vector<single_function> funcs(pop.size());
-00215             compile(pop, funcs); // get one function pointer for each individual
-00216 
-00217             valarray<double> y(train_cases());
-00218             vector<ErrorMeasure::result> result(pop.size());
-00219             for (unsigned i = 0; i < funcs.size(); ++i) {
-00220                 for (unsigned j = 0; j < train_cases(); ++j) {
-00221                     y[j] = funcs[i](&data.get_inputs(j)[0]);
-00222                 }
-00223         
-00224 #ifdef INTERVAL_DEBUG
-00225                 //cout << "eval func " << i << " " << pop[i] << endl;
-00226                 pair<double, double> b = bounds.calc_bounds(pop[i]);
-00227                 
-00228                 // check if y is in bounds
-00229                 for (unsigned j = 0; j < y.size(); ++j) {
-00230                     if (y[j] < b.first -1e-4 || y[j] > b.second + 1e-4 || !finite(y[j])) {
-00231                         cout << "Error " << y[j] << " not in " << b.first << ' ' << b.second << endl;
-00232                         cout << "Function " << pop[i] << endl;
-00233                         exit(1);
-00234                     }
-00235                 }
-00236 #endif
-00237                 
-00238                 result[i] = eval(y);
-00239             }
-00240             
-00241             return result; 
-00242         }
-00243         
-00244         vector<ErrorMeasure::result> calc_error(const vector<Sym>& pop) {
-00245 
-00246             // first declone
-00247 #if USE_TR1
-00248             typedef std::tr1::unordered_map<Sym, unsigned, HashSym> HashMap;
-00249 #else
-00250             typedef hash_map<Sym, unsigned, HashSym> HashMap;
-00251 #endif      
-00252             HashMap clone_map;
-00253             vector<Sym> decloned; 
-00254             decloned.reserve(pop.size());
-00255             
-00256             for (unsigned i = 0; i < pop.size(); ++i) {
-00257                 HashMap::iterator it = clone_map.find(pop[i]);
-00258 
-00259                 if (it == clone_map.end()) { // new
-00260                     clone_map[ pop[i] ] = decloned.size();
-00261                     decloned.push_back(pop[i]);
-00262                 } 
-00263                 
-00264             }
-00265             
-00266             // evaluate 
-00267             vector<ErrorMeasure::result> dresult;
-00268             // currently we can only accumulate simple measures such as absolute and mean_squared
-00269             switch(measure) {
-00270                 case ErrorMeasure::mean_squared:
-00271                 case ErrorMeasure::absolute:
-00272                     dresult = multi_function_eval(decloned);
-00273                     break;
-00274                 case ErrorMeasure::mean_squared_scaled:
-00275                     dresult = multi_function_eval(decloned);
-00276                     break;
-00277             }
-00278             
-00279             vector<ErrorMeasure::result> result(pop.size());
-00280             for (unsigned i = 0; i < result.size(); ++i) {
-00281                 result[i] = dresult[ clone_map[pop[i]] ];
-00282             }
-00283         
-00284             return result;
-00285         }
-00286         
-00287 };
-00288 
-00289 ErrorMeasure::result::result() {
-00290     error = 0.0;
-00291     scaling = Scaling(0);
-00292 }
-00293 
-00294 bool ErrorMeasure::result::valid() const {
-00295     return isfinite(error);
-00296 }
-00297 
-00298 ErrorMeasure::ErrorMeasure(const Dataset& data, double train_perc, measure meas) {
-00299     pimpl = new ErrorMeasureImpl(data, train_perc, meas);
-00300 }
-00301 
-00302 ErrorMeasure::~ErrorMeasure() { delete pimpl; }
-00303 ErrorMeasure::ErrorMeasure(const ErrorMeasure& that) { pimpl = new ErrorMeasureImpl(*that.pimpl); }
-00304 
-00305 
-00306 ErrorMeasure::result ErrorMeasure::calc_error(Sym sym) {
-00307    
-00308     single_function f = compile(sym);
-00309     
-00310     valarray<double> y(pimpl->train_cases());
-00311      
-00312     for (unsigned i = 0; i < y.size(); ++i) {
-00313 
-00314         y[i] = f(&pimpl->data.get_inputs(i)[0]);
-00315         
-00316         if (!finite(y[i])) {
-00317             result res;
-00318             res.scaling = Scaling(new NoScaling);
-00319             res.error = not_a_number;
-00320             return res;
-00321         }
-00322     }
-00323    
-00324     return pimpl->eval(y); 
-00325 }
-00326 
-00327 vector<ErrorMeasure::result> ErrorMeasure::calc_error(const vector<Sym>& syms) {
-00328     return pimpl->calc_error(syms);
-00329     
-00330 }
-00331 
-00332 double ErrorMeasure::worst_performance() const {
-00333     
-00334     if (pimpl->measure == mean_squared_scaled) {
-00335         return pimpl->train_info.tvar();
-00336     }
-00337     
-00338     return 1e+20; 
-00339 }
-00340 
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_error_measure_8h-source.html b/trunk/paradiseo-eo/doc/html/_error_measure_8h-source.html deleted file mode 100644 index d7bac48f8..000000000 --- a/trunk/paradiseo-eo/doc/html/_error_measure_8h-source.html +++ /dev/null @@ -1,76 +0,0 @@ - - -EO: ErrorMeasure.h Source File - - - - - -

ErrorMeasure.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef ERROR_MEASURE_H
-00019 #define ERROR_MEASURE_H
-00020 
-00021 #include "Scaling.h"
-00022 
-00023 class ErrorMeasureImpl;
-00024 class Sym;
-00025 class Dataset;
-00026 
-00027 class ErrorMeasure {
-00028     
-00029     ErrorMeasureImpl* pimpl;
-00030     
-00031     public :
-00032 
-00033         enum measure {
-00034             absolute,
-00035             mean_squared,
-00036             mean_squared_scaled,
-00037         };
-00038         
-00039         struct result {
-00040             double  error;
-00041             Scaling scaling;
-00042             
-00043             result();
-00044             bool valid() const;
-00045         };
-00046         
-00047         ErrorMeasure(const Dataset& data, double train_perc, measure meas = mean_squared);
-00048         
-00049         ~ErrorMeasure();
-00050         ErrorMeasure(const ErrorMeasure& that);
-00051         ErrorMeasure& operator=(const ErrorMeasure& that);
-00052         
-00053         result calc_error(Sym sym);
-00054 
-00055         std::vector<result> calc_error(const std::vector<Sym>& sym);
-00056         
-00057         double worst_performance() const;
-00058 };
-00059 
-00060 #endif
-00061 
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_first_bit_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_first_bit_e_a_8cpp-source.html deleted file mode 100644 index e6759569b..000000000 --- a/trunk/paradiseo-eo/doc/html/_first_bit_e_a_8cpp-source.html +++ /dev/null @@ -1,194 +0,0 @@ - - -EO: FirstBitEA.cpp Source File - - - - - -

FirstBitEA.cpp

00001 //-----------------------------------------------------------------------------
-00002 // FirstBitEA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 //*
-00005 // Still an instance of a VERY simple Bitstring Genetic Algorithm
-00006 // (see FirstBitGA.cpp) but now with  Breeder - and Combined Ops
-00007 //
-00008 //-----------------------------------------------------------------------------
-00009 #ifdef HAVE_CONFIG_H
-00010 #include <config.h>
-00011 #endif
-00012 
-00013 // standard includes
-00014 #include <stdexcept>  // runtime_error
-00015 #include <iostream>   // cout
-00016 
-00017 // the general include for eo
-00018 #include <eo>
-00019 #include <ga.h>
-00020 
-00021 // Use functions from namespace std
-00022 using namespace std;
-00023 
-00024 // REPRESENTATION
-00025 //-----------------------------------------------------------------------------
-00026 // define your individuals
-00027 typedef eoBit<double> Indi;     // A bitstring with fitness double
-00028 
-00029 // EVALFUNC
-00030 //-----------------------------------------------------------------------------
-00031 // a simple fitness function that computes the number of ones of a bitstring
-00032 // Now in a separate file, and declared as binary_value(const vector<bool> &)
-00033 
-00034 #include "binary_value.h"
-00035 
-00036 // GENERAL
-00037 //-----------------------------------------------------------------------------
-00038 
-00039 void main_function(int argc, char **argv)
-00040 {
-00041 // PARAMETRES
-00042   const unsigned int SEED = 42; // seed for random number generator
-00043   const unsigned int T_SIZE = 3; // size for tournament selection
-00044   const unsigned int VEC_SIZE = 8; // Number of bits in genotypes
-00045   const unsigned int POP_SIZE = 20; // Size of population
-00046 
-00047   const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-00048   const unsigned int MIN_GEN = 10;  // Minimum number of generation before ...
-00049   const unsigned int STEADY_GEN = 50; // stop after STEADY_GEN gen. without improvelent
-00050 
-00051   const double P_CROSS = 0.8;   // Crossover probability
-00052   const double P_MUT = 1.0;     // mutation probability
-00053 
-00054   const double P_MUT_PER_BIT = 0.01;    // internal probability for bit-flip mutation
-00055   // some parameters for chosing among different operators
-00056   const double onePointRate = 0.5;     // rate for 1-pt Xover
-00057   const double twoPointsRate = 0.5;     // rate for 2-pt Xover
-00058   const double URate = 0.5;            // rate for Uniform Xover
-00059   const double bitFlipRate = 0.5;      // rate for bit-flip mutation
-00060   const double oneBitRate = 0.5;       // rate for one-bit mutation
-00061 
-00062 // GENERAL
-00064   //  Random seed
-00066   //reproducible random seed: if you don't change SEED above,
-00067   // you'll aways get the same result, NOT a random run
-00068   rng.reseed(SEED);
-00069 
-00070 // EVAL
-00072   // Fitness function
-00074   // Evaluation: from a plain C++ fn to an EvalFunc Object
-00075   // you need to give the full description of the function
-00076   eoEvalFuncPtr<Indi, double, const vector<bool>& > eval(  binary_value );
-00077 
-00078 // INIT
-00080   // Initilisation of population
-00082 
-00083   // based on boolean_generator class (see utils/eoRndGenerators.h)
-00084   eoUniformGenerator<bool> uGen;
-00085   eoInitFixedLength<Indi> random(VEC_SIZE, uGen);
-00086   // Initialization of the population
-00087   eoPop<Indi> pop(POP_SIZE, random);
-00088 
-00089   // and evaluate it in one loop
-00090   apply<Indi>(eval, pop);       // STL syntax
-00091 
-00092 // OUTPUT
-00093   // sort pop before printing it!
-00094   pop.sort();
-00095   // Print (sorted) intial population (raw printout)
-00096   cout << "Initial Population" << endl;
-00097   cout << pop;
-00098 
-00099 // ENGINE
-00101   // selection and replacement
-00103 // SELECT
-00104   // The robust tournament selection
-00105   eoDetTournamentSelect<Indi> selectOne(T_SIZE);       // T_SIZE in [2,POP_SIZE]
-00106   // is now encapsulated in a eoSelectPerc (entage)
-00107   eoSelectPerc<Indi> select(selectOne);// by default rate==1
-00108 
-00109 // REPLACE
-00110   // And we now have the full slection/replacement - though with
-00111   // no replacement (== generational replacement) at the moment :-)
-00112   eoGenerationalReplacement<Indi> replace;
-00113 
-00114 // OPERATORS
-00116   // The variation operators
-00118 // CROSSOVER
-00119   // 1-point crossover for bitstring
-00120   eo1PtBitXover<Indi> xover1;
-00121   // uniform crossover for bitstring
-00122   eoUBitXover<Indi> xoverU;
-00123   // 2-pots xover
-00124   eoNPtsBitXover<Indi> xover2(2);
-00125   // Combine them with relative rates
-00126   eoPropCombinedQuadOp<Indi> xover(xover1, onePointRate);
-00127   xover.add(xoverU, URate);
-00128   xover.add(xover2, twoPointsRate, true);
-00129 
-00130 // MUTATION
-00131   // standard bit-flip mutation for bitstring
-00132   eoBitMutation<Indi>  mutationBitFlip(P_MUT_PER_BIT);
-00133   // mutate exactly 1 bit per individual
-00134   eoDetBitFlip<Indi> mutationOneBit;
-00135   // Combine them with relative rates
-00136   eoPropCombinedMonOp<Indi> mutation(mutationBitFlip, bitFlipRate);
-00137   mutation.add(mutationOneBit, oneBitRate, true);
-00138 
-00139   // The operators are  encapsulated into an eoTRansform object
-00140   eoSGATransform<Indi> transform(xover, P_CROSS, mutation, P_MUT);
-00141 
-00142 // STOP
-00143 // CHECKPOINT
-00145   // termination conditions: use more than one
-00147   // stop after MAX_GEN generations
-00148   eoGenContinue<Indi> genCont(MAX_GEN);
-00149   // do MIN_GEN gen., then stop after STEADY_GEN gen. without improvement
-00150   eoSteadyFitContinue<Indi> steadyCont(MIN_GEN, STEADY_GEN);
-00151   // stop when fitness reaches a target (here VEC_SIZE)
-00152   eoFitContinue<Indi> fitCont(VEC_SIZE);
-00153   // do stop when one of the above says so
-00154   eoCombinedContinue<Indi> continuator(genCont);
-00155   continuator.add(steadyCont);
-00156   continuator.add(fitCont);
-00157 
-00158 // GENERATION
-00160   // the algorithm
-00162 
-00163   // Easy EA requires
-00164   // selection, transformation, eval, replacement, and stopping criterion
-00165   eoEasyEA<Indi> gga(continuator, eval, select, transform, replace);
-00166 
-00167   // Apply algo to pop - that's it!
-00168   cout << "\n        Here we go\n\n";
-00169   gga(pop);
-00170 
-00171 // OUTPUT
-00172   // Print (sorted) intial population
-00173   pop.sort();
-00174   cout << "FINAL Population\n" << pop << endl;
-00175 // GENERAL
-00176 }
-00177 
-00178 // A main that catches the exceptions
-00179 
-00180 int main(int argc, char **argv)
-00181 {
-00182 
-00183     try
-00184     {
-00185         main_function(argc, argv);
-00186     }
-00187     catch(exception& e)
-00188     {
-00189         cout << "Exception: " << e.what() << '\n';
-00190     }
-00191 
-00192     return 1;
-00193 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_first_bit_g_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_first_bit_g_a_8cpp-source.html deleted file mode 100644 index cf19c6934..000000000 --- a/trunk/paradiseo-eo/doc/html/_first_bit_g_a_8cpp-source.html +++ /dev/null @@ -1,168 +0,0 @@ - - -EO: FirstBitGA.cpp Source File - - - - - -

FirstBitGA.cpp

00001 //-----------------------------------------------------------------------------
-00002 // FirstBitGA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 //*
-00005 // An instance of a VERY simple Bitstring Genetic Algorithm
-00006 //
-00007 //-----------------------------------------------------------------------------
-00008 
-00009 #ifdef HAVE_CONFIG_H
-00010 #include <config.h>
-00011 #endif
-00012 
-00013 #include <stdexcept>
-00014 #include <iostream>
-00015 
-00016 #include <eo>
-00017 #include <ga.h>
-00018 
-00019 // Use functions from namespace std
-00020 using namespace std;
-00021 
-00022 // REPRESENTATION
-00023 //-----------------------------------------------------------------------------
-00024 // define your individuals
-00025 typedef eoBit<double> Indi;     // A bitstring with fitness double
-00026 
-00027 // EVAL
-00028 //-----------------------------------------------------------------------------
-00029 // a simple fitness function that computes the number of ones of a bitstring
-00030 //  @param _indi A biststring individual
-00031 
-00032 double binary_value(const Indi & _indi)
-00033 {
-00034   double sum = 0;
-00035   for (unsigned i = 0; i < _indi.size(); i++)
-00036     sum += _indi[i];
-00037   return sum;
-00038 }
-00039 // GENERAL
-00040 //-----------------------------------------------------------------------------
-00041 void main_function(int argc, char **argv)
-00042 {
-00043 // PARAMETRES
-00044   // all parameters are hard-coded!
-00045   const unsigned int SEED = 42;      // seed for random number generator
-00046   const unsigned int T_SIZE = 3;     // size for tournament selection
-00047   const unsigned int VEC_SIZE = 16;   // Number of bits in genotypes
-00048   const unsigned int POP_SIZE = 100;  // Size of population
-00049   const unsigned int MAX_GEN = 400;  // Maximum number of generation before STOP
-00050   const float CROSS_RATE = 0.8;      // Crossover rate
-00051   const double P_MUT_PER_BIT = 0.01; // probability of bit-flip mutation
-00052   const float MUT_RATE = 1.0;        // mutation rate
-00053 
-00054 // GENERAL
-00056   //  Random seed
-00058   //reproducible random seed: if you don't change SEED above,
-00059   // you'll aways get the same result, NOT a random run
-00060   rng.reseed(SEED);
-00061 
-00062 // EVAL
-00064   // Fitness function
-00066   // Evaluation: from a plain C++ fn to an EvalFunc Object
-00067   eoEvalFuncPtr<Indi> eval(  binary_value );
-00068 
-00069 // INIT
-00071   // Initilisation of population
-00073 
-00074   // declare the population
-00075   eoPop<Indi> pop;
-00076   // fill it!
-00077   for (unsigned int igeno=0; igeno<POP_SIZE; igeno++)
-00078     {
-00079       Indi v;           // void individual, to be filled
-00080       for (unsigned ivar=0; ivar<VEC_SIZE; ivar++)
-00081         {
-00082           bool r = rng.flip(); // new value, random in {0,1}
-00083           v.push_back(r);      // append that random value to v
-00084         }
-00085       eval(v);                 // evaluate it
-00086       pop.push_back(v);        // and put it in the population
-00087     }
-00088 
-00089 // OUTPUT
-00090   // sort pop before printing it!
-00091   pop.sort();
-00092   // Print (sorted) intial population (raw printout)
-00093   cout << "Initial Population" << endl;
-00094   cout << pop;
-00095   // shuffle  - this is a test
-00096   pop.shuffle();
-00097   // Print (sorted) intial population (raw printout)
-00098   cout << "Shuffled Population" << endl;
-00099   cout << pop;
-00100 
-00101 // ENGINE
-00103   // selection and replacement
-00105 // SELECT
-00106   // The robust tournament selection
-00107   eoDetTournamentSelect<Indi> select(T_SIZE);  // T_SIZE in [2,POP_SIZE]
-00108 
-00109 // REPLACE
-00110   // The simple GA evolution engine uses generational replacement
-00111   // so no replacement procedure is needed
-00112 
-00113 // OPERATORS
-00115   // The variation operators
-00117 // CROSSOVER
-00118   // 1-point crossover for bitstring
-00119   eo1PtBitXover<Indi> xover;
-00120 // MUTATION
-00121   // standard bit-flip mutation for bitstring
-00122   eoBitMutation<Indi>  mutation(P_MUT_PER_BIT);
-00123 
-00124 // STOP
-00125 // CHECKPOINT
-00127   // termination condition
-00129   // stop after MAX_GEN generations
-00130   eoGenContinue<Indi> continuator(MAX_GEN);
-00131 
-00132 // GENERATION
-00134   // the algorithm
-00136   // standard Generational GA requires as parameters
-00137   // selection, evaluation, crossover and mutation, stopping criterion
-00138 
-00139 
-00140   eoSGA<Indi> gga(select, xover, CROSS_RATE, mutation, MUT_RATE,
-00141                   eval, continuator);
-00142 
-00143   // Apply algo to pop - that's it!
-00144   gga(pop);
-00145 
-00146 // OUTPUT
-00147   // Print (sorted) intial population
-00148   pop.sort();
-00149   cout << "FINAL Population\n" << pop << endl;
-00150 // GENERAL
-00151 }
-00152  // A main that catches the exceptions
-00153 
-00154 int main(int argc, char **argv)
-00155 {
-00156 
-00157     try
-00158     {
-00159         main_function(argc, argv);
-00160     }
-00161     catch(exception& e)
-00162     {
-00163         cout << "Exception: " << e.what() << '\n';
-00164     }
-00165 
-00166     return 1;
-00167 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_first_real_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_first_real_e_a_8cpp-source.html deleted file mode 100644 index 8323e10df..000000000 --- a/trunk/paradiseo-eo/doc/html/_first_real_e_a_8cpp-source.html +++ /dev/null @@ -1,193 +0,0 @@ - - -EO: FirstRealEA.cpp Source File - - - - - -

FirstRealEA.cpp

00001 //-----------------------------------------------------------------------------
-00002 // FirstRealEA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 //*
-00005 // Still an instance of a VERY simple Real-coded  Genetic Algorithm
-00006 // (see FirstBitGA.cpp) but now with  Breeder - and Combined Ops
-00007 //
-00008 //-----------------------------------------------------------------------------
-00009 #ifdef HAVE_CONFIG_H
-00010 #include <config.h>
-00011 #endif
-00012 
-00013 // standard includes
-00014 #include <stdexcept>  // runtime_error
-00015 #include <iostream>   // cout
-00016 
-00017 // the general include for eo
-00018 #include <eo>
-00019 #include <es.h>
-00020 
-00021 // REPRESENTATION
-00022 //-----------------------------------------------------------------------------
-00023 // define your individuals
-00024 typedef eoReal<double> Indi;
-00025 
-00026 // Use functions from namespace std
-00027 using namespace std;
-00028 
-00029 // EVALFUNC
-00030 //-----------------------------------------------------------------------------
-00031 // a simple fitness function that computes the euclidian norm of a real vector
-00032 // Now in a separate file, and declared as binary_value(const vector<bool> &)
-00033 
-00034 #include "real_value.h"
-00035 
-00036 // GENERAL
-00037 //-----------------------------------------------------------------------------
-00038 
-00039 void main_function(int argc, char **argv)
-00040 {
-00041 // PARAMETRES
-00042   const unsigned int SEED = 42; // seed for random number generator
-00043   const unsigned int T_SIZE = 3; // size for tournament selection
-00044   const unsigned int VEC_SIZE = 8; // Number of object variables in genotypes
-00045   const unsigned int POP_SIZE = 20; // Size of population
-00046 
-00047   const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-00048   const unsigned int MIN_GEN = 10;  // Minimum number of generation before ...
-00049   const unsigned int STEADY_GEN = 50; // stop after STEADY_GEN gen. without improvelent
-00050 
-00051   const float P_CROSS = 0.8;    // Crossover probability
-00052   const float P_MUT = 0.5;      // mutation probability
-00053 
-00054   const double EPSILON = 0.01;  // range for real uniform mutation
-00055   double SIGMA = 0.3;           // std dev. for normal mutation
-00056   // some parameters for chosing among different operators
-00057   const double hypercubeRate = 0.5;     // relative weight for hypercube Xover
-00058   const double segmentRate = 0.5;  // relative weight for segment Xover
-00059   const double uniformMutRate = 0.5;  // relative weight for uniform mutation
-00060   const double detMutRate = 0.5;      // relative weight for det-uniform mutation
-00061   const double normalMutRate = 0.5;   // relative weight for normal mutation
-00062 
-00063 // GENERAL
-00065   //  Random seed
-00067   //reproducible random seed: if you don't change SEED above,
-00068   // you'll aways get the same result, NOT a random run
-00069   rng.reseed(SEED);
-00070 
-00071 // EVAL
-00073   // Fitness function
-00075   // Evaluation: from a plain C++ fn to an EvalFunc Object
-00076   // you need to give the full description of the function
-00077   eoEvalFuncPtr<Indi, double, const vector<double>& > eval(  real_value );
-00078 
-00079 // INIT
-00081   // Initilisation of population
-00083   // based on a uniform generator
-00084   eoUniformGenerator<double> uGen(-1.0, 1.0);
-00085   eoInitFixedLength<Indi> random(VEC_SIZE, uGen);
-00086    // Initialization of the population
-00087   eoPop<Indi> pop(POP_SIZE, random);
-00088 
-00089   // and evaluate it in one loop
-00090   apply<Indi>(eval, pop);       // STL syntax
-00091 
-00092 // OUTPUT
-00093   // sort pop before printing it!
-00094   pop.sort();
-00095   // Print (sorted) intial population (raw printout)
-00096   cout << "Initial Population" << endl;
-00097   cout << pop;
-00098 
-00099 // ENGINE
-00101   // selection and replacement
-00103 // SELECT
-00104   // The robust tournament selection
-00105   eoDetTournamentSelect<Indi> selectOne(T_SIZE);
-00106   // is now encapsulated in a eoSelectPerc (entage)
-00107   eoSelectPerc<Indi> select(selectOne);// by default rate==1
-00108 
-00109 // REPLACE
-00110   // And we now have the full slection/replacement - though with
-00111   // no replacement (== generational replacement) at the moment :-)
-00112   eoGenerationalReplacement<Indi> replace;
-00113 
-00114 // OPERATORS
-00116   // The variation operators
-00118 // CROSSOVER
-00119   // uniform chooce on segment made by the parents
-00120   eoSegmentCrossover<Indi> xoverS;
-00121   // uniform choice in hypercube built by the parents
-00122   eoHypercubeCrossover<Indi> xoverA;
-00123   // Combine them with relative weights
-00124   eoPropCombinedQuadOp<Indi> xover(xoverS, segmentRate);
-00125   xover.add(xoverA, hypercubeRate, true);
-00126 
-00127 // MUTATION
-00128   // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-00129   eoUniformMutation<Indi>  mutationU(EPSILON);
-00130   // k (=1) coordinates of parents are uniformly modified
-00131   eoDetUniformMutation<Indi>  mutationD(EPSILON);
-00132   // all coordinates of parents are normally modified (stDev SIGMA)
-00133   eoNormalMutation<Indi>  mutationN(SIGMA);
-00134   // Combine them with relative weights
-00135   eoPropCombinedMonOp<Indi> mutation(mutationU, uniformMutRate);
-00136   mutation.add(mutationD, detMutRate);
-00137   mutation.add(mutationN, normalMutRate, true);
-00138 
-00139 // STOP
-00140 // CHECKPOINT
-00142   // termination conditions: use more than one
-00144   // stop after MAX_GEN generations
-00145   eoGenContinue<Indi> genCont(MAX_GEN);
-00146   // do MIN_GEN gen., then stop after STEADY_GEN gen. without improvement
-00147   eoSteadyFitContinue<Indi> steadyCont(MIN_GEN, STEADY_GEN);
-00148   // stop when fitness reaches a target (here VEC_SIZE)
-00149   eoFitContinue<Indi> fitCont(0);
-00150   // do stop when one of the above says so
-00151   eoCombinedContinue<Indi> continuator(genCont);
-00152   continuator.add(steadyCont);
-00153   continuator.add(fitCont);
-00154 
-00155   // The operators are  encapsulated into an eoTRansform object
-00156   eoSGATransform<Indi> transform(xover, P_CROSS, mutation, P_MUT);
-00157 
-00158 // GENERATION
-00160   // the algorithm
-00162 
-00163   // Easy EA requires
-00164   // selection, transformation, eval, replacement, and stopping criterion
-00165   eoEasyEA<Indi> gga(continuator, eval, select, transform, replace);
-00166 
-00167   // Apply algo to pop - that's it!
-00168   cout << "\n        Here we go\n\n";
-00169   gga(pop);
-00170 
-00171 // OUTPUT
-00172   // Print (sorted) intial population
-00173   pop.sort();
-00174   cout << "FINAL Population\n" << pop << endl;
-00175 // GENERAL
-00176 }
-00177 
-00178 // A main that catches the exceptions
-00179 
-00180 int main(int argc, char **argv)
-00181 {
-00182     try
-00183     {
-00184         main_function(argc, argv);
-00185     }
-00186     catch(exception& e)
-00187     {
-00188         cout << "Exception: " << e.what() << '\n';
-00189     }
-00190 
-00191     return 1;
-00192 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_first_real_g_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_first_real_g_a_8cpp-source.html deleted file mode 100644 index 3fa1a9eae..000000000 --- a/trunk/paradiseo-eo/doc/html/_first_real_g_a_8cpp-source.html +++ /dev/null @@ -1,163 +0,0 @@ - - -EO: FirstRealGA.cpp Source File - - - - - -

FirstRealGA.cpp

00001 //-----------------------------------------------------------------------------
-00002 // FirstRealGA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 //*
-00005 // An instance of a VERY simple Real-coded Genetic Algorithm
-00006 //
-00007 //-----------------------------------------------------------------------------
-00008 #ifdef HAVE_CONFIG_H
-00009 #include <config.h>
-00010 #endif
-00011 
-00012 #include <stdexcept>
-00013 #include <iostream>
-00014 #include <sstream>
-00015 
-00016 #include <eo>
-00017 #include <es.h>
-00018 
-00019 // Use functions from namespace std
-00020 using namespace std;
-00021 
-00022 // REPRESENTATION
-00023 //-----------------------------------------------------------------------------
-00024 // define your individuals
-00025  typedef eoReal<double> Indi;
-00026 
-00027 // EVAL
-00028 //-----------------------------------------------------------------------------
-00029 // a simple fitness function that computes the euclidian norm of a real vector
-00030 //    @param _indi A real-valued individual
-00031 
-00032 double real_value(const Indi & _indi)
-00033 {
-00034   double sum = 0;
-00035   for (unsigned i = 0; i < _indi.size(); i++)
-00036       sum += _indi[i]*_indi[i];
-00037   return (-sum);            // maximizing only
-00038 }
-00039 // GENERAL
-00040 //-----------------------------------------------------------------------------
-00041 void main_function(int argc, char **argv)
-00042 {
-00043 // PARAMETRES
-00044   // all parameters are hard-coded!
-00045   const unsigned int SEED = 42; // seed for random number generator
-00046   const unsigned int VEC_SIZE = 8; // Number of object variables in genotypes
-00047   const unsigned int POP_SIZE = 20; // Size of population
-00048   const unsigned int T_SIZE = 3; // size for tournament selection
-00049   const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-00050   const float CROSS_RATE = 0.8; // Crossover rate
-00051   const double EPSILON = 0.01;  // range for real uniform mutation
-00052   const float MUT_RATE = 0.5;   // mutation rate
-00053 
-00054 // GENERAL
-00056   //  Random seed
-00058   //reproducible random seed: if you don't change SEED above,
-00059   // you'll aways get the same result, NOT a random run
-00060   rng.reseed(SEED);
-00061 
-00062 // EVAL
-00064   // Fitness function
-00066   // Evaluation: from a plain C++ fn to an EvalFunc Object
-00067   eoEvalFuncPtr<Indi> eval(  real_value );
-00068 
-00069 // INIT
-00071   // Initilisation of population
-00073 
-00074   // declare the population
-00075   eoPop<Indi> pop;
-00076   // fill it!
-00077   for (unsigned int igeno=0; igeno<POP_SIZE; igeno++)
-00078     {
-00079       Indi v;          // void individual, to be filled
-00080       for (unsigned ivar=0; ivar<VEC_SIZE; ivar++)
-00081         {
-00082           double r = 2*rng.uniform() - 1; // new value, random in [-1,1)
-00083           v.push_back(r);       // append that random value to v
-00084         }
-00085       eval(v);                  // evaluate it
-00086       pop.push_back(v);         // and put it in the population
-00087     }
-00088 
-00089 // OUTPUT
-00090   // sort pop before printing it!
-00091   pop.sort();
-00092   // Print (sorted) intial population (raw printout)
-00093   cout << "Initial Population" << endl;
-00094   cout << pop;
-00095 
-00096 // ENGINE
-00098   // selection and replacement
-00100 // SELECT
-00101   // The robust tournament selection
-00102   eoDetTournamentSelect<Indi> select(T_SIZE);       // T_SIZE in [2,POP_SIZE]
-00103 
-00104 // REPLACE
-00105   // eoSGA uses generational replacement by default
-00106   // so no replacement procedure has to be given
-00107 
-00108 // OPERATORS
-00110   // The variation operators
-00112 // CROSSOVER
-00113   // offspring(i) is a linear combination of parent(i)
-00114   eoSegmentCrossover<Indi> xover;
-00115 // MUTATION
-00116   // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-00117   eoUniformMutation<Indi>  mutation(EPSILON);
-00118 
-00119 // STOP
-00120 // CHECKPOINT
-00122   // termination condition
-00124   // stop after MAX_GEN generations
-00125   eoGenContinue<Indi> continuator(MAX_GEN);
-00126 
-00127 // GENERATION
-00129   // the algorithm
-00131   // standard Generational GA requires
-00132   // selection, evaluation, crossover and mutation, stopping criterion
-00133 
-00134 
-00135   eoSGA<Indi> gga(select, xover, CROSS_RATE, mutation, MUT_RATE,
-00136                    eval, continuator);
-00137 
-00138   // Apply algo to pop - that's it!
-00139   gga(pop);
-00140 
-00141 // OUTPUT
-00142   // Print (sorted) intial population
-00143   pop.sort();
-00144   cout << "FINAL Population\n" << pop << endl;
-00145 // GENERAL
-00146 }
-00147 
-00148 // A main that catches the exceptions
-00149 
-00150 int main(int argc, char **argv)
-00151 {
-00152     try
-00153     {
-00154         main_function(argc, argv);
-00155     }
-00156     catch(exception& e)
-00157     {
-00158         cout << "Exception: " << e.what() << '\n';
-00159     }
-00160 
-00161     return 1;
-00162 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_fun_def_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_fun_def_8cpp-source.html deleted file mode 100644 index 21d02c94f..000000000 --- a/trunk/paradiseo-eo/doc/html/_fun_def_8cpp-source.html +++ /dev/null @@ -1,905 +0,0 @@ - - -EO: FunDef.cpp Source File - - - - - -

FunDef.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 
-00019 #include <sstream>
-00020 #include "Sym.h"
-00021 #include "FunDef.h"
-00022 #include <LanguageTable.h>
-00023 
-00024 using namespace std;
-00025 using namespace boost::numeric;
-00026 
-00027 vector<const FunDef*> language; 
-00028 
-00029 token_t add_function(FunDef* function) { 
-00030     language.push_back(function); 
-00031     return token_t(language.size()-1); 
-00032 }
-00033 
-00034 const FunDef& get_element(token_t token) { return *language[token]; }
-00035 
-00036 /* Printing */
-00037 
-00038 string c_print(const Sym& sym) {
-00039     return c_print(sym, vector<string>());
-00040 }
-00041 
-00042 string c_print(const Sym& sym, const vector<string>& vars) {
-00043     const SymVec& args = sym.args();
-00044     vector<string> names(args.size());
-00045     for (unsigned i = 0; i < args.size(); ++i) {
-00046         names[i] = c_print(args[i], vars);
-00047     }
-00048     return language[sym.token()]->c_print(names, vars);
-00049 }
-00050 
-00051 /* Evaluation */
-00052 
-00053 
-00054 double eval(const Sym& sym, const std::vector<double>& inputs) {
-00055     return language[sym.token()]->eval(sym.args(), inputs);
-00056 }
-00057 
-00058 
-00059 /* Interval Logic */
-00060 Interval eval(const Sym& sym, const vector<Interval>& inputs) {
-00061     const SymVec& args = sym.args();
-00062     vector<Interval> interv(args.size());
-00063     for (unsigned i = 0; i < args.size(); ++i) {
-00064         interv[i] = eval(args[i], inputs);
-00065     
-00066         if (!valid(interv[i])) throw interval_error();
-00067     }
-00068     return language[sym.token()]->eval(interv, inputs);
-00069 }
-00070 
-00071 /*  */
-00072 void add_function_to_table(LanguageTable& table, token_t token) {
-00073     const FunDef& fundef = *language[token];
-00074     
-00075     if (fundef.has_varargs() == false) {
-00076         table.add_function(token, fundef.min_arity());
-00077     } else { // sum or prod (or min or max)
-00078         table.add_function(token, 2);
-00079     }
-00080 }
-00081 
-00082 
-00083 // by default it is eager
-00084 double FunDef::eval(const SymVec& args, const vector<double>& inputs) const {
-00085     vector<double> values(args.size());
-00086     for (unsigned i = 0; i < args.size(); ++i) {
-00087         values[i] = ::eval(args[i], inputs);
-00088     }
-00089 
-00090     return eval(values, inputs);
-00091 }
-00092 
-00093 /* Variable Handling */
-00094 FunDef* make_var(int idx); // defined in FunDefs.h
-00095 static vector<token_t> var_token;
-00096 
-00097 Sym SymVar(unsigned idx) {
-00098     if (var_token.size() <= idx) {
-00099         // it is new
-00100         var_token.resize(idx+1, token_t(-1));
-00101         var_token[idx] = add_function( make_var(idx) );
-00102     } else if (var_token[idx] == token_t(-1)) {
-00103         var_token[idx] = add_function( make_var(idx) );
-00104     }
-00105     return Sym(var_token[idx]);
-00106 }
-00107 
-00108 
-00109 /* Constant Handling */
-00110 
-00111 struct HashDouble{
-00112     size_t operator()(double val) const {
-00113         unsigned long h = 0;
-00114         char* s = (char*)&val;
-00115         for (unsigned i=0 ; i<sizeof(double); ++i)
-00116             h = 5*h + s[i];
-00117         return size_t(h);
-00118     }
-00119 };
-00120 
-00121 #if USE_TR1
-00122 typedef std::tr1::unordered_map<double, token_t> DoubleSet;
-00123 typedef std::tr1::unordered_map<Sym, token_t>    LambdaSet;
-00124 #else
-00125 typedef hash_map<double, token_t, HashDouble> DoubleSet;
-00126 typedef hash_map<Sym, token_t, HashSym> LambdaSet;
-00127 #endif
-00128 
-00129 static DoubleSet doubleSet; // for quick checking if a constant already exists
-00130 static vector<double> token_value;
-00131 
-00132 static LambdaSet lambdaSet;
-00133 static vector<Sym> token_lambda;
-00134 
-00135 static std::vector<token_t> free_list;
-00136 
-00137 void delete_val(token_t token) { // clean up the information about this value
-00138      
-00139     if (is_constant(token)) {
-00140         //cout << "Deleting constant token " << token << endl;
-00141         double value = token_value[token];
-00142         doubleSet.erase(value);
-00143         
-00144         delete language[token];
-00145         language[token] = 0;
-00146         free_list.push_back(token);
-00147     }
-00148     else if (is_lambda(token)) {
-00149         //cout << "Deleting lambda token " << token << endl;
-00150         
-00151         Sym expression = token_lambda[token];
-00152         lambdaSet.erase(expression);
-00153         
-00154         delete language[token];
-00155         language[token] = 0;
-00156         free_list.push_back(token);
-00157     }
-00158 }
-00159 
-00160 
-00161 FunDef* make_const(double value);
-00162 
-00163 void extend_free_list();
-00164 
-00165 Sym SymConst(double value) { 
-00166    
-00167     DoubleSet::iterator it = doubleSet.find(value);
-00168     
-00169     if (it != doubleSet.end()) {
-00170         return Sym(it->second); // already exists
-00171     }
-00172        
-00173     
-00174     if (free_list.empty()) { // make space for tokens;
-00175         extend_free_list();
-00176     }
-00177 
-00178     token_t token = free_list.back();
-00179     free_list.pop_back();
-00180     //cout << "Creating constant with token " << token << endl; 
-00181     assert(language[token] == 0);
-00182     
-00183     language[token] = make_const(value);
-00184     
-00185     doubleSet[value] = token;
-00186     if (token_value.size() < token) token_value.resize(token+1);
-00187     token_value[token] = value;
-00188     
-00189     return Sym(token);
-00190 }
-00191 
-00192 /* LanguageTable depends on this one, XXX move somewhere safe.*/
-00193 #include <utils/eoRNG.h>
-00194 extern Sym default_const() { return SymConst(rng.normal()); }
-00195 
-00196 /* The functions */
-00197 namespace {
-00198 
-00199 class Var : public FunDef {
-00200     public :
-00201         unsigned idx;
-00202         string default_str;
-00203 
-00204         Var(unsigned _idx) : idx(_idx) {
-00205             ostringstream os;
-00206             os << "x[" << idx << ']'; // CompiledCode expects this form
-00207             default_str = os.str();
-00208         }
-00209         
-00210         double eval(const vector<double>& _, const vector<double>& inputs) const { return inputs[idx]; }
-00211         double eval(const SymVec& _, const vector<double>& inputs) const { return inputs[idx]; }
-00212         string c_print(const vector<string>& _, const vector<string>& names) const { 
-00213             if (names.empty()) {
-00214                 return default_str;
-00215             }
-00216             return names[idx]; 
-00217         }
-00218 
-00219         Interval eval(const vector<Interval>& _, const vector<Interval>& inputs) const { 
-00220             return inputs[idx]; 
-00221         }
-00222         
-00223         unsigned min_arity() const { return 0; }
-00224 
-00225         string name() const { return "var"; }
-00226         
-00227 };
-00228 
-00229 class Const : public FunDef {
-00230     public:
-00231         double value;
-00232         string value_str;
-00233         
-00234         Const(double _value) : value(_value) {
-00235             ostringstream os;
-00236             os.precision(17);
-00237             os.setf(ios::showpoint);
-00238             os << '(' << value << ')';
-00239             value_str = os.str();       
-00240         }
-00241 
-00242 
-00243         double eval(const vector<double>& _, const vector<double>& inputs) const { return value; }
-00244         double eval(const SymVec& _, const vector<double>& inputs) const { return value; }
-00245         string c_print(const vector<string>& _, const vector<string>& names) const { 
-00246             return value_str; 
-00247         }
-00248         
-00249         Interval eval(const vector<Interval>& _, const vector<Interval>& inputs) const { 
-00250             // Profil/Bias seems to have a problem with 0 * inf when the Interval is exact zero (fpe)
-00251             //if (value == 0.0) return Interval(-BiasEpsilon,BiasEpsilon);
-00252             return Interval(value); 
-00253         }
-00254 
-00255         unsigned min_arity() const { return 0; }
-00256 
-00257         string name() const { return "parameter"; }
-00258 };
-00259 
-00260 } // namespace 
-00261     
-00262 void get_constants(Sym sym, vector<double>& ret) {
-00263     token_t token = sym.token();
-00264     if (is_constant(token)) {
-00265         double val = static_cast<const Const*>(language[token])->value;
-00266         ret.push_back(val);
-00267     }
-00268 
-00269     const SymVec& args = sym.args();
-00270     for (unsigned i = 0; i < args.size(); ++i) {
-00271          get_constants(args[i], ret);
-00272     }
-00273     
-00274 }
-00275 
-00276 double get_constant_value(token_t token) {
-00277     return static_cast<const Const*>(language[token])->value;
-00278 }
-00279 
-00281 vector<double> get_constants(Sym sym) {
-00282     vector<double> retval;
-00283     get_constants(sym, retval);
-00284     return retval;
-00285 }
-00286 
-00289 Sym set_constants(Sym sym, vector<double>::const_iterator& it) {
-00290     
-00291     token_t token = sym.token();
-00292     if (is_constant(token)) {
-00293         return SymConst(*it++);
-00294     }
-00295 
-00296     SymVec args = sym.args();
-00297     for (unsigned i = 0; i < args.size(); ++i) {
-00298          args[i] = set_constants(args[i], it);
-00299     }
-00300     
-00301     return Sym(token, args);
-00302 }
-00303 
-00304 Sym set_constants(Sym sym, const vector<double>& constants) {
-00305     vector<double>::const_iterator it = constants.begin();
-00306     return set_constants(sym, it);
-00307 }
-00308 
-00309 // Get functions out, excluding Const and Var
-00310 vector<const FunDef*> get_defined_functions() {
-00311     vector<const FunDef*> res;
-00312     for (unsigned i = 0; i < language.size(); ++i) {
-00313         res.push_back(language[i]);
-00314 
-00315         if (is_constant(i) || is_variable(i)) {
-00316             res.back() = 0; // erase
-00317         }
-00318     }
-00319 
-00320     return res;
-00321 }
-00322 
-00323 FunDef* make_var(int idx) { return new Var(idx); }
-00324 FunDef* make_const(double value) { return new Const(value); }
-00325 
-00326 bool is_constant(token_t token) {
-00327     const Const* cnst = dynamic_cast<const Const*>( language[token] );
-00328     return cnst != 0;
-00329 }
-00330 
-00331 bool is_variable(token_t token) {
-00332     const Var* var = dynamic_cast<const Var*>( language[token] );
-00333     return var != 0;
-00334 }
-00335 
-00336 unsigned get_variable_index(token_t token) {
-00337     const Var* var = static_cast<const Var*>( language[token] );
-00338     return var->idx;
-00339 }
-00340 
-00341 namespace {
-00342 class Lambda : public FunDef {
-00343     public:
-00344         Sym expression;
-00345         int arity;
-00346     
-00347         Lambda(Sym expr, int arity_) : expression(expr), arity(arity_) {}
-00348         
-00349         double eval(const vector<double>& vals, const vector<double>& _) const {
-00350             return ::eval(expression, vals); 
-00351         }
-00352         
-00353         string c_print(const vector<string>& args, const vector<string>& _) const {
-00354             return string("/*f*/") + ::c_print(expression, args) + string("/*eof*/");
-00355         }
-00356         
-00357         Interval eval(const vector<Interval>& args, const vector<Interval>& _) const { 
-00358             return ::eval(expression, args);
-00359         }
-00360 
-00361         unsigned min_arity() const { return arity; }
-00362         string name() const { return "F"; }
-00363         
-00364 };
-00365     Sym normalize(Sym sym, SymVec& args) {
-00366         // check if it's a variable
-00367         token_t token = sym.token();
-00368         const Var* var = dynamic_cast< const Var*>(language[token]);
-00369     
-00370         if (var != 0) {
-00371             for (unsigned i = 0; i < args.size(); ++i) {
-00372                 if (sym == args[i]) {
-00373                     return SymVar(i); // replace with reference to arg
-00374                 }
-00375             }
-00376 
-00377             // not replaced, add it
-00378             args.push_back(sym);
-00379             return SymVar(args.size()-1);
-00380             
-00381         }
-00382         
-00383         SymVec a = sym.args();
-00384         for (unsigned i = 0; i < a.size(); ++i) {
-00385             a[i] = normalize(a[i], args);
-00386         }
-00387         
-00388         return Sym(token, a);
-00389     }
-00390 }
-00391 
-00392 bool is_lambda(token_t token) {
-00393     const Lambda* lambda = dynamic_cast<const Lambda*>( language[token]); 
-00394     return lambda != 0;
-00395 }
-00396 
-00397 std::ostream& print_list(Sym sym, ostream& os) {
-00398     os << sym.token() << ' ';
-00399     
-00400     const SymVec& args = sym.args();
-00401     for (unsigned i = 0; i < args.size(); ++i) {
-00402         print_list(args[i], os);
-00403     }
-00404     return os;
-00405 }
-00406 
-00407 token_t new_lambda(Sym sym, int arity) {
-00408     // check if already present
-00409 
-00410     LambdaSet::iterator it = lambdaSet.find(sym);
-00411     if (it != lambdaSet.end()) {
-00412         return it->second;
-00413     }
-00414 
-00415     
-00416     // new, insert
-00417     Lambda* lambda = new Lambda(sym, arity);
-00418 
-00419     if (free_list.empty()) {
-00420         extend_free_list();
-00421     }
-00422     
-00423     token_t token = free_list.back();
-00424     free_list.pop_back();
-00425     language[token] = lambda;
-00426     
-00427     lambdaSet[sym] = token;
-00428     if (token_lambda.size() <= token) token_lambda.resize(token+1);
-00429     token_lambda[token] = sym;
-00430     
-00431     return token;
-00432 }
-00433 
-00434 /* Compression */
-00435 typedef hash_map<Sym, unsigned, HashSym> OccMap;
-00436 
-00437 void count_occurances(Sym sym, OccMap& occ) {
-00438     occ[sym]++;
-00439     const SymVec& args = sym.args();
-00440     for (unsigned i = 0; i < args.size(); ++i) {
-00441         count_occurances(args[i], occ);
-00442     }
-00443 }
-00444 
-00445 Sym create_lambda(Sym sym, OccMap& occ, unsigned nvars, vector<Sym>& args) {
-00446     unsigned o = occ[sym];
-00447     unsigned sz = sym.size();
-00448 
-00449     if (o * sz > o + sz + nvars || is_variable(sym.token()) ) {
-00450         // check if it's already present
-00451         for (unsigned i = 0; i < args.size(); ++i) {
-00452             if (args[i] == sym) {
-00453                 return SymVar(i);
-00454             }
-00455         }
-00456         // push_back
-00457         args.push_back(sym);
-00458         return SymVar(args.size()-1);
-00459     }
-00460     
-00461     SymVec sym_args = sym.args();
-00462     for (unsigned i = 0; i < sym_args.size(); ++i) {
-00463         sym_args[i] = create_lambda(sym_args[i], occ, nvars, args);
-00464     }
-00465 
-00466     return Sym(sym.token(), sym_args);
-00467     
-00468 }
-00469 
-00470 Sym compress(Sym sym) { 
-00471     OccMap occ(sym.size());
-00472     count_occurances(sym, occ);
-00473 
-00474     unsigned nvars = 0;
-00475     for (OccMap::iterator it = occ.begin(); it != occ.end(); ++it) {
-00476         if (is_variable(it->first.token())) nvars++;
-00477     }
-00478     
-00479     SymVec args;
-00480     Sym body = create_lambda(sym, occ, nvars, args);
-00481     
-00482     
-00483     if (body.size() < sym.size()) {
-00484         // see if the body can be compressed some more
-00485         body = compress(body);
-00486                 
-00487         token_t token = new_lambda(body, args.size());
-00488         
-00489         for (unsigned i = 0; i < args.size(); ++i) {
-00490             args[i] = compress(args[i]);
-00491         }
-00492 
-00493         Sym result = Sym(token, args);
-00494         return compress(result); // see if it can be compressed some more
-00495     }
-00496     
-00497     return sym; 
-00498 }
-00499 
-00500 Sym SymLambda(Sym expr) { return compress(expr); }
-00501 
-00502 Sym expand(Sym expr, const SymVec& args) {
-00503     
-00504     const Var* var = dynamic_cast<const Var*>( language[expr.token()] );
-00505     if (var != 0) {
-00506         return args[var->idx];
-00507     }
-00508 
-00509     SymVec expr_args = expr.args();
-00510     for (unsigned i = 0; i < expr_args.size(); ++i) {
-00511         expr_args[i] = expand(expr_args[i], args);
-00512     }
-00513     
-00514     return Sym(expr.token(), expr_args);
-00515 }
-00516 
-00517 Sym SymUnlambda(Sym sym) {
-00518     Sym retval = sym;
-00519     const Lambda* lambda = dynamic_cast<const Lambda*>( language[sym.token()] );
-00520     if (lambda != 0) {
-00521         retval = expand(lambda->expression, sym.args());
-00522     }
-00523 
-00524     return retval;
-00525 }
-00526 
-00527 Sym expand_all(Sym sym) {
-00528     SymVec args = sym.args();
-00529     for (unsigned i = 0; i < args.size(); ++i) {
-00530         args[i] = expand_all(args[i]);
-00531     }
-00532     
-00533     Sym nw = SymUnlambda( Sym(sym.token(), args) ); 
-00534     
-00535     if (nw != sym) {
-00536         nw = expand_all(nw);
-00537     }
-00538     
-00539     return nw;
-00540 }
-00541 
-00542 namespace {
-00543 
-00544 class Sum : public FunDef {
-00545 
-00546     public :
-00547         
-00548         double eval(const vector<double>& vals, const vector<double>& _) const { 
-00549             double res = 0;
-00550             for (unsigned i = 0; i < vals.size(); ++i) res += vals[i];
-00551             return res;
-00552         }
-00553         
-00554         string c_print(const vector<string>& args, const vector<string>& _) const { 
-00555             if (args.empty()) { return "0.0"; }
-00556             
-00557             ostringstream os;
-00558             os << "(" << args[0];
-00559             for (unsigned i = 1; i < args.size(); ++i) {
-00560                 os << "+" << args[i];
-00561             }
-00562             os << ")";
-00563             return os.str();
-00564         }
-00565         
-00566         Interval eval(const vector<Interval>& args, const vector<Interval>& inputs) const { 
-00567             Interval interv(0.0); 
-00568             for (unsigned i = 0; i < args.size(); ++i) {
-00569                 interv += args[i];
-00570             }
-00571             return interv;
-00572         }
-00573 
-00574         unsigned min_arity() const { return 0; }
-00575         bool has_varargs() const { return true; }
-00576 
-00577         string name() const { return "sum"; }
-00578 };
-00579 
-00580 
-00581 class Prod : public FunDef {
-00582 
-00583     public :
-00584         
-00585         double eval(const vector<double>& vals, const vector<double>& _) const { 
-00586             double res = 1;
-00587             for (unsigned i = 0; i < vals.size(); ++i) res *= vals[i];
-00588             return res;
-00589         }
-00590         
-00591         string c_print(const vector<string>& args, const vector<string>& _) const { 
-00592             if (args.empty()) { return "1.0"; }
-00593             
-00594             ostringstream os;
-00595             os << "(" << args[0];
-00596             for (unsigned i = 1; i < args.size(); ++i) {
-00597                 os << "*" << args[i];
-00598             }
-00599             os << ")"; 
-00600 
-00601             return os.str();
-00602         }
-00603         
-00604         Interval eval(const vector<Interval>& args, const vector<Interval>& inputs) const { 
-00605             Interval interv(1.0);
-00606             for (unsigned i = 0; i < args.size(); ++i) {
-00607                 interv *= args[i];
-00608             }
-00609             return interv;
-00610         }
-00611 
-00612         unsigned min_arity() const { return 0; }
-00613         bool has_varargs() const { return true; }
-00614 
-00615         string name() const { return "prod"; }
-00616 };
-00617 
-00618 
-00619 class Power : public FunDef {
-00620     public :
-00621         double eval(const vector<double>& vals, const vector<double>& _) const {
-00622             return pow(vals[0], vals[1]);
-00623         }
-00624 
-00625         string c_print(const vector<string>& args, const vector<string>& _) const {
-00626             return "pow(" + args[0] + ',' + args[1] + ')';
-00627         }
-00628 
-00629         Interval eval(const vector<Interval>& args, const vector<Interval>& _) const {
-00630             Interval first = args[0];
-00631             Interval second = args[1];
-00632             Interval lg = log(first);
-00633             if (!valid(lg)) throw interval_error();
-00634             return exp(second * lg); 
-00635         }
-00636 
-00637         unsigned min_arity() const { return 2; }
-00638 
-00639         string name() const { return "pow"; }
-00640 };
-00641 
-00642 class IsNeg : public FunDef {
-00643 
-00644     public:
-00645         double eval(const vector<double>& vals, const vector<double>& _) const {
-00646             if (vals[0] < 0.0) return vals[1];
-00647             return vals[2];
-00648         }
-00649 
-00650         double eval(const Sym& sym, const vector<double>& inputs) const {
-00651             const SymVec& args = sym.args();
-00652             double arg0 = ::eval(args[0], inputs);
-00653             if (arg0 < 0.0) {
-00654                 return ::eval(args[1], inputs);
-00655             }
-00656             return ::eval(args[2], inputs);
-00657         }
-00658 
-00659         string c_print(const vector<string>& args, const vector<string>& _) const {
-00660             return "((" + args[0] + "<0.0)?" + args[1] + ":" + args[2]+")";
-00661         }
-00662         
-00663         Interval eval(const vector<Interval>& args, const vector<Interval>& _) const {
-00664             Interval a0 = args[0];
-00665             if (a0.upper() < 0.0) return args[1]; 
-00666             if (a0.lower() >= 0.0) return args[2];
-00667 
-00668             return Interval( std::min(args[1].lower(), args[2].lower()), std::max(args[1].upper(), args[2].upper()));
-00669         }
-00670 
-00671         unsigned min_arity() const { return 3; }
-00672 
-00673         string name() const { return "ifltz"; }
-00674 };
-00675 
-00676 template <typename Func>
-00677 class Unary : public FunDef {
-00678     
-00679     Func un;
-00680     
-00681     double eval(const vector<double>& vals, const vector<double>& _) const { 
-00682         return un(vals[0]);     
-00683     }
-00684 
-00685     string c_print(const vector<string>& args, const vector<string>& _) const { 
-00686         return un(args[0]);
-00687     }
-00688 
-00689     Interval eval(const vector<Interval>& args, const vector<Interval>& _) const {
-00690         return un(args[0]);
-00691     }
-00692     
-00693     unsigned min_arity() const { return 1; }
-00694 
-00695     string name() const { return un.name(); }
-00696     
-00697 };
-00698 
-00699 struct Inv {
-00700     double operator()(double val) const { return 1.0 / val; }
-00701     string operator()(string v)   const { return "(1./" + v + ")"; }
-00702     Interval operator()(Interval v) const { return 1.0 / v; }
-00703     
-00704     string name() const { return "inv"; }
-00705 };
-00706 
-00707 struct Min {
-00708     double operator()(double val) const { return -val; }
-00709     string operator()(string v) const   { return "(-" + v + ")"; }
-00710     Interval operator()(Interval v) const { return -v; }
-00711 
-00712     string name() const { return "min"; }
-00713 };
-00714 
-00715 } // namespace
-00716 
-00717 string prototypes = "double pow(double, double);";
-00718 string get_prototypes() { return prototypes; }
-00719 unsigned add_prototype(string str) { prototypes += string("double ") + str + "(double);"; return prototypes.size(); }
-00720 
-00721 token_t add_function(FunDef* function, token_t where) {
-00722     if (language.size() <= where) language.resize(where+1);
-00723     language[where] = function;
-00724     return 0;
-00725 }
-00726 
-00727 namespace {
-00728 
-00729 #define FUNCDEF(funcname) struct funcname##_struct { \
-00730     double operator()(double val) const { return funcname(val); }\
-00731     string operator()(string val) const  { return string(#funcname) + '(' + val + ')'; }\
-00732     Interval operator()(Interval val) const { return funcname(val); }\
-00733     string name() const { return string(#funcname); }\
-00734 };\
-00735 static const token_t funcname##_token_static = add_function( new Unary<funcname##_struct>, funcname##_token);\
-00736 unsigned funcname##_size = add_prototype(#funcname);
-00737 
-00738 static token_t ssum_token  = add_function( new Sum , sum_token);
-00739 static token_t sprod_token = add_function( new Prod, prod_token);
-00740 static token_t sinv_token  = add_function( new Unary<Inv>, inv_token);
-00741 static token_t smin_token  = add_function( new Unary<Min>, min_token);
-00742 static token_t spow_token  = add_function( new Power, pow_token);
-00743 static token_t sifltz_token = add_function( new IsNeg, ifltz_token);
-00744 
-00745 FUNCDEF(sin);
-00746 FUNCDEF(cos);
-00747 FUNCDEF(tan);
-00748 FUNCDEF(asin);
-00749 FUNCDEF(acos);
-00750 FUNCDEF(atan);
-00751 
-00752 FUNCDEF(sinh);
-00753 FUNCDEF(cosh);
-00754 FUNCDEF(tanh);
-00755 FUNCDEF(asinh);
-00756 FUNCDEF(acosh);
-00757 FUNCDEF(atanh);
-00758 
-00759 FUNCDEF(exp);
-00760 FUNCDEF(log);
-00761 } // namespace
-00762 
-00763 double sqr(double x) { return x*x; }
-00764 
-00765 namespace {
-00766 FUNCDEF(sqr);
-00767 FUNCDEF(sqrt);
-00768 
-00769 const int buildInFunctionOffset = language.size();
-00770 } // namespace 
-00771 
-00772 void add_tokens() {
-00773     unsigned sz = language.size();
-00774     language.resize(sz + sz+1); // double
-00775     
-00776     for (unsigned i = sz; i < language.size(); ++i) {
-00777        free_list.push_back(i); 
-00778     }
-00779 }
-00780 
-00781 void extend_free_list() {
-00782     // first check if we can clean up unused tokens;
-00783     const vector<unsigned>& refcount = Sym::token_refcount();
-00784     for (unsigned i = buildInFunctionOffset; i < refcount.size(); ++i) {
-00785         if (language[i] == 0) continue;
-00786         
-00787         bool c = is_constant(i);
-00788         bool l = is_lambda(i);
-00789         
-00790         if (refcount[i] == 0 && (c || l)) {
-00791             
-00792             if (c) {
-00793                 doubleSet.erase(token_value[i]);
-00794             }
-00795 
-00796             if (l) {
-00797                 lambdaSet.erase(token_lambda[i]);       
-00798             }
-00799             
-00800             delete language[i];
-00801             language[i] = 0;
-00802             free_list.push_back(i);
-00803         }
-00804     }
-00805 
-00806     // if still empty, add new tokens
-00807     if (free_list.empty()) {
-00808         add_tokens();
-00809     }
-00810 }
-00811 
-00812 
-00813 /* Serialization */
-00814 void write_raw(ostream& os, const Sym& sym) {
-00815     token_t token = sym.token();
-00816     const SymVec& args = sym.args();
-00817     
-00818     if (is_constant(token)) {
-00819         os << "c" << language[token]->c_print(vector<string>(), vector<string>()); 
-00820     } else {
-00821 
-00822         const Var* var = dynamic_cast<const Var*>( language[token] );
-00823         
-00824         if (var != 0) {
-00825             os << "v" << var->idx;
-00826         } else {
-00827             os << "f" << token << ' ' << args.size();
-00828         }
-00829     }
-00830 
-00831     for (unsigned i = 0; i < args.size(); ++i) {
-00832         write_raw(os, args[i]); 
-00833     }
-00834 }
-00835 
-00836 string write_raw(const Sym& sym) {
-00837     
-00838     ostringstream os;
-00839     write_raw(os, sym);
-00840     
-00841     return os.str();
-00842 }
-00843 
-00844 Sym read_raw(istream& is) {
-00845     char id = is.get();
-00846 
-00847     switch (id) {
-00848         case 'c' : 
-00849             {
-00850                 double val;
-00851                 is.get(); // skip '('
-00852                 is >> val;
-00853                 is.get(); // skip ')'
-00854                 return SymConst(val);
-00855             }
-00856         case 'v' : 
-00857             {
-00858                 unsigned idx;
-00859                 is >> idx;
-00860                 return SymVar(idx);
-00861             }
-00862         case 'f' :
-00863             {
-00864                 token_t token;
-00865                 unsigned arity;
-00866                 is >> token;
-00867                 is >> arity;
-00868                 SymVec args(arity);
-00869                 for (unsigned i = 0; i < arity; ++i) {
-00870                     args[i] = read_raw(is);
-00871                 }
-00872 
-00873                 return Sym(token, args);
-00874             }
-00875         default : {
-00876                       cerr << "Character = " << id << " Could not read formula from stream" << endl;
-00877                       exit(1);
-00878                   }
-00879                     
-00880     }
-00881 
-00882     return Sym();
-00883 }
-00884 
-00885 Sym read_raw(string str) {
-00886     istringstream is(str);
-00887     return read_raw(is);
-00888 }
-00889 
-00890 void read_raw(istream& is, Sym& sym) {
-00891     sym = read_raw(is);
-00892 }
-00893 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_fun_def_8h-source.html b/trunk/paradiseo-eo/doc/html/_fun_def_8h-source.html deleted file mode 100644 index 64fe67c48..000000000 --- a/trunk/paradiseo-eo/doc/html/_fun_def_8h-source.html +++ /dev/null @@ -1,171 +0,0 @@ - - -EO: FunDef.h Source File - - - - - -

FunDef.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef FUNCTION_DEF_H_
-00019 #define FUNCTION_DEF_H_
-00020 
-00021 #include <string>
-00022 #include <vector>
-00023 #include <memory>
-00024 #include <iostream>
-00025 
-00026 #include "Sym.h"
-00027 #include "Interval.h"
-00028 
-00029 class FunDef {
-00030     public:
-00031     
-00032     virtual ~FunDef() {}
-00033     
-00034     // (possibly) lazy evaluation function, default implementation calls 'eager' eval
-00035     virtual double eval(const SymVec&   args, const std::vector<double>& inputs) const;
-00036 
-00037     // eager evaluation function 
-00038     virtual double eval(const std::vector<double>& args, const std::vector<double>& inputs) const = 0;
-00039    
-00040     // interval evaluation
-00041     virtual Interval eval(const std::vector<Interval>& args, const std::vector<Interval>& inputs) const = 0; 
-00042     
-00043     // prints 'c' like code
-00044     virtual std::string c_print(const std::vector<std::string>&   names, const std::vector<std::string>& names) const = 0;
-00045 
-00046     virtual unsigned min_arity() const = 0;
-00047     virtual bool has_varargs() const { return false; } // sum, prod, min, max are variable arity
-00048 
-00049     virtual std::string name() const = 0;
-00050     
-00051     protected:
-00052     
-00053 };
-00054 
-00056 extern std::vector<const FunDef*> get_defined_functions();
-00057 
-00059 extern const FunDef& get_element(token_t token);
-00060 
-00062 extern double      eval(const Sym& sym, const std::vector<double>& inputs);
-00063 
-00065 extern Interval eval(const Sym& sym, const std::vector<Interval>& inputs);
-00066 
-00068 extern std::string c_print(const Sym& sym);
-00069 
-00071 extern std::string c_print(const Sym& sym, const std::vector<std::string>& var_names);
-00072 
-00074 inline std::ostream& operator<<(std::ostream& os, const Sym& sym) { return os << c_print(sym); }
-00075 
-00076 /* Support for Ephemeral Random Constants (ERC) */
-00077 
-00079 extern Sym SymConst(double value);
-00081 extern Sym SymVar(unsigned idx);
-00082 
-00093 extern Sym SymLambda(Sym expression);
-00094 
-00095 extern Sym SymUnlambda(Sym sym);
-00096 
-00098 extern Sym expand_all(Sym sym);
-00099 extern Sym compress(Sym sym);
-00100 
-00102 std::vector<double> get_constants(Sym sym);
-00103 
-00106 Sym set_constants(Sym sym, const std::vector<double>& constants);
-00107 
-00109 extern bool is_constant(token_t token);
-00110 extern double get_constant_value(token_t token);
-00112 extern bool is_variable(token_t token);
-00113 extern unsigned get_variable_index(token_t token);
-00114 
-00116 extern bool is_lambda(token_t token);
-00117 
-00118 
-00120 extern Sym simplify(Sym sym);
-00121 
-00125 extern Sym differentiate(Sym sym, token_t dx);
-00126 struct differentiation_error{}; // thrown in case of ifltz
-00127 
-00128 /* Add function to the language table (and take a guess at the arity) */
-00129 class LanguageTable;
-00130 extern void add_function_to_table(LanguageTable& table, token_t token);
-00131 
-00132 enum {
-00133     sum_token,
-00134     prod_token,
-00135     inv_token,
-00136     min_token,
-00137     pow_token,
-00138     ifltz_token,
-00139     sin_token, cos_token, tan_token,
-00140     asin_token, acos_token, atan_token,
-00141     sinh_token, cosh_token, tanh_token,
-00142     acosh_token, asinh_token, atanh_token,
-00143     exp_token, log_token,
-00144     sqr_token, sqrt_token
-00145 };
-00146 
-00147 /* Defition of function overloads: for example, this define the function 'Sym sin(Sym)' */
-00148 
-00149 #define HEADERFUNC(name) inline Sym name(Sym arg) { return Sym(name##_token, arg); }
-00150 
-00151 /* This defines the tokens: sin_token, cos_token, etc. */
-00152 HEADERFUNC(inv);
-00153 HEADERFUNC(sin);
-00154 HEADERFUNC(cos);
-00155 HEADERFUNC(tan);
-00156 HEADERFUNC(asin);
-00157 HEADERFUNC(acos);
-00158 HEADERFUNC(atan);
-00159 
-00160 HEADERFUNC(sinh);
-00161 HEADERFUNC(cosh);
-00162 HEADERFUNC(tanh);
-00163 HEADERFUNC(asinh);
-00164 HEADERFUNC(acosh);
-00165 HEADERFUNC(atanh);
-00166 
-00167 HEADERFUNC(exp);
-00168 HEADERFUNC(log);
-00169 
-00170 HEADERFUNC(sqr);
-00171 HEADERFUNC(sqrt);
-00172 
-00173 /* Get the prototype functions out, this is needed for compilation */
-00174 extern std::string get_prototypes();
-00175 
-00176 // reading and writing in internal format, no parser for symbolic functions implemented yet
-00177 extern std::string write_raw(const Sym& sym);
-00178 extern void write_raw(std::ostream& os, const Sym& sym);
-00179 extern Sym read_raw(std::string str);
-00180 extern Sym read_raw(std::istream& is); 
-00181 extern void read_raw(std::istream& is, Sym& sym); 
-00182 
-00183 #include "SymOps.h"
-00184 
-00185 #endif
-00186 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_interval_8h-source.html b/trunk/paradiseo-eo/doc/html/_interval_8h-source.html deleted file mode 100644 index 027026c46..000000000 --- a/trunk/paradiseo-eo/doc/html/_interval_8h-source.html +++ /dev/null @@ -1,130 +0,0 @@ - - -EO: Interval.h Source File - - - - - -

Interval.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef INTERVAL__H__
-00019 #define INTERVAL__H__
-00020 
-00021 #include <boost/numeric/interval.hpp>
-00022 #include <iostream>
-00023 #include <limits>
-00024 
-00025 
-00026 typedef boost::numeric::interval_lib::rounded_transc_exact<double> RoundingTransc;
-00027 typedef boost::numeric::interval_lib::save_state<RoundingTransc> Rounding;
-00028 typedef boost::numeric::interval_lib::checking_base<double> Checking;
-00029 typedef boost::numeric::interval_lib::policies<Rounding,Checking> Policy;
-00030 typedef boost::numeric::interval<double, Policy> Interval;
-00031 
-00032 struct interval_error{};
-00033 
-00034 inline bool valid(const Interval& val) {
-00035     if (!finite(val.lower()) || !finite(val.upper())) return false;
-00036     
-00037     return val.lower() > -1e10 && val.upper() < 1e10;
-00038 }
-00039 
-00040 inline Interval sqrt(const Interval& val) {
-00041     if (val.lower() < 0.0) {
-00042         return Interval::whole();
-00043     }
-00044 
-00045     return boost::numeric::sqrt(val);
-00046 }
-00047 
-00048 inline Interval sqr(const Interval& val) {
-00049     return square(val);
-00050 }
-00051 
-00052 inline Interval acos(const Interval& val) {
-00053     if (val.lower() < 1.0 || val.upper() > 1.0) {
-00054         return Interval::whole();
-00055     }
-00056 
-00057     return boost::numeric::acos(val);
-00058 }
-00059 
-00060 inline Interval asin(const Interval& val) {
-00061     if (val.lower() < 1.0 || val.upper() > 1.0) {
-00062         return Interval::whole();
-00063     }
-00064 
-00065     return boost::numeric::asin(val);
-00066 }
-00067 
-00068 inline Interval acosh(const Interval& val) {
-00069     if (val.lower() < 1.0) return Interval::whole();
-00070     return boost::numeric::acosh(val);
-00071 }
-00072 
-00073 inline
-00074 std::ostream& operator<<(std::ostream& os, const Interval& val) {
-00075         os << '[' << val.lower() << ", " << val.upper() << ']';
-00076             return os;
-00077 }
-00078 
-00079 #ifdef TEST_INTERVAL
-00080 using namespace std;
-00081 using namespace boost::numeric;
-00082 
-00083 int main() {
-00084     Interval a(0, 10);
-00085     Interval b(-1.5, 2);
-00086     cout << "a       = " << a << endl;
-00087     cout << "b       = " << b << endl;
-00088     cout << "a + b   = " << a + b << endl;
-00089     cout << "a - b   = " << a - b << endl;
-00090     cout << "b - a   = " << b - a << endl;
-00091     cout << "-a      = " << -a << endl;
-00092     cout << "a * b   = " << a * b << endl;
-00093     cout << "b/(a+1) = " << b / (a + 1.0) << endl;
-00094     cout << "b * a   = " << b * a << endl;
-00095 
-00096     cout << "b / a   = " << b/a << endl;
-00097     
-00098     cout << "cos(a)  = " << cos(a) << endl;
-00099     cout << "cos(b)  = " << cos(b) << endl;
-00100    
-00101     cout << "log(b)  = " << log(b) << endl;
-00102     
-00103     cout << "sqrt(b) = " << sqrt(b) << endl;
-00104     cout << "sqrt(a) = " << sqrt(a) << endl;
-00105     cout << "sqr(b)  = " << sqr(b) << endl;
-00106    
-00107     cout << "exp(b*a)= " << exp(b*a) << endl;
-00108    
-00109     cout << "atan(a) = " << atan(a) << endl;
-00110     cout << "cosh(b) = " << cosh(b) << endl;
-00111     
-00112 }
-00113 #endif
-00114 
-00115 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_language_table_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_language_table_8cpp-source.html deleted file mode 100644 index df0234067..000000000 --- a/trunk/paradiseo-eo/doc/html/_language_table_8cpp-source.html +++ /dev/null @@ -1,113 +0,0 @@ - - -EO: LanguageTable.cpp Source File - - - - - -

LanguageTable.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 
-00019 #include "LanguageTable.h"
-00020 #include "Sym.h"
-00021 
-00022 #include <utils/eoRNG.h>
-00023 
-00024 using namespace std;
-00025 
-00026 extern Sym default_const();
-00027 
-00028 class LanguageImpl {
-00029     public :
-00030     std::vector<Sym> vars;
-00031     LanguageTable::erc_func erc;
-00032     
-00033     std::vector<functor_t> functions;
-00034     std::vector< std::vector<token_t> > functions_per_arity;
-00035 
-00036     LanguageImpl() : erc(default_const) {}
-00037 };
-00038 
-00039 LanguageTable::LanguageTable() {
-00040     pimpl = new LanguageImpl;
-00041 }
-00042 
-00043 LanguageTable::~LanguageTable() {
-00044     delete pimpl; 
-00045 }
-00046 
-00047 LanguageTable::LanguageTable(const LanguageTable& that) {
-00048     pimpl = new LanguageImpl(*that.pimpl);
-00049 }
-00050 
-00051 LanguageTable& LanguageTable::operator=(const LanguageTable& that) {
-00052     *pimpl = *that.pimpl;
-00053     return *this;
-00054 }
-00055 
-00056 void LanguageTable::add_function(token_t token, unsigned arity) {
-00057     functor_t f = {token, arity};
-00058     add_function( f );
-00059 }
-00060 
-00061 void LanguageTable::add_function(functor_t f) {
-00062      
-00063     if (f.arity > 0) {
-00064         pimpl->functions.push_back(f);
-00065         
-00066     } else {
-00067         pimpl->vars.push_back(Sym(f.token));
-00068     }
-00069     
-00070     if (pimpl->functions_per_arity.size() <= f.arity) pimpl->functions_per_arity.resize(f.arity+1);
-00071     pimpl->functions_per_arity[f.arity].push_back(f.token);
-00072     
-00073 }
-00074 
-00075 void LanguageTable::set_erc( erc_func func) { pimpl->erc = func; }
-00076 
-00077 /* Getting info out */
-00078 
-00079 extern Sym SymConst(double val);
-00080 
-00081 Sym LanguageTable::get_random_var()   const         { return rng.choice(pimpl->vars); }
-00082 Sym LanguageTable::get_random_const() const         { return pimpl->erc(); }
-00083 
-00084 functor_t LanguageTable::get_random_function() const 
-00085 { 
-00086     return rng.choice(pimpl->functions); 
-00087 }
-00088 
-00089 token_t LanguageTable::get_random_function(token_t token, unsigned arity) const 
-00090 { 
-00091     if (pimpl->functions_per_arity.size() <= arity || pimpl->functions_per_arity[arity].empty()) {
-00092         return token; // return original token if no functions of this arity are found
-00093     }
-00094     return rng.choice(pimpl->functions_per_arity[arity]); 
-00095 }
-00096 
-00097 
-00098 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_language_table_8h-source.html b/trunk/paradiseo-eo/doc/html/_language_table_8h-source.html deleted file mode 100644 index 365906cde..000000000 --- a/trunk/paradiseo-eo/doc/html/_language_table_8h-source.html +++ /dev/null @@ -1,71 +0,0 @@ - - -EO: LanguageTable.h Source File - - - - - -

LanguageTable.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef LANGUAGE_TABLE_H
-00019 #define LANGUAGE_TABLE_H
-00020 
-00021 #include "token.h"
-00022 
-00023 class LanguageImpl;
-00024 class Sym;
-00025 
-00026 class LanguageTable {
-00027     
-00028     LanguageImpl* pimpl;
-00029 
-00030     public:
-00031     
-00032     LanguageTable();
-00033     ~LanguageTable();
-00034 
-00035     LanguageTable(const LanguageTable& org);
-00036 
-00037     LanguageTable& operator=(const LanguageTable& org);
-00038     
-00039     /* setting it up */
-00040     typedef Sym (*erc_func)();
-00041     
-00042     void add_function(token_t token, unsigned arity);
-00043     void add_function(functor_t functor); 
-00044     void set_erc(erc_func func);
-00045     
-00046     /* Getting info out */
-00047     
-00048     Sym get_random_var() const;
-00049     Sym get_random_const() const;
-00050     
-00051     functor_t get_random_function() const;
-00052     token_t  get_random_function(token_t org, unsigned arity) const;
-00053 };
-00054 
-00055 #endif
-00056 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_multi_funcs_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_multi_funcs_8cpp-source.html deleted file mode 100644 index 126ba23b8..000000000 --- a/trunk/paradiseo-eo/doc/html/_multi_funcs_8cpp-source.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: MultiFuncs.cpp Source File - - - - - -

MultiFuncs.cpp

00001 
-00002 namespace multi_function {
-00003     
-00004 double plus(arg_ptr args) {
-00005     return *args[0] + *args[1];
-00006 }
-00007 
-00008 double mult(arg_ptr args) {
-00009     return *args[0] * *args[1];
-00010 }
-00011 
-00012 double min(arg_ptr args) {
-00013     return -**args;
-00014 }
-00015 
-00016 double inv(arg_ptr args) {
-00017     return 1 / **args;
-00018 }   
-00019 
-00020 //template <typename f> class F { public: double operator()(double a) { return f(a); } };
-00021 
-00022 double exp(arg_ptr args) {
-00023     return ::exp(**args);
-00024 }
-00025 
-00026 } // namespace
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_multi_function_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_multi_function_8cpp-source.html deleted file mode 100644 index c1e16356a..000000000 --- a/trunk/paradiseo-eo/doc/html/_multi_function_8cpp-source.html +++ /dev/null @@ -1,356 +0,0 @@ - - -EO: MultiFunction.cpp Source File - - - - - -

MultiFunction.cpp

00001 #include <vector.h>
-00002 
-00003 
-00004 #include "MultiFunction.h"
-00005 #include "Sym.h"
-00006 #include "FunDef.h"
-00007 
-00008 using namespace std;
-00009 
-00010 
-00011 typedef vector<double>::const_iterator data_ptr;
-00012 typedef vector<data_ptr> data_ptrs;
-00013 typedef data_ptrs::const_iterator arg_ptr;
-00014 
-00015 #include "MultiFuncs.cpp"
-00016 
-00017 typedef double (*fptr)( arg_ptr );
-00018 
-00019 string print_function( fptr f) {
-00020     if (f == multi_function::plus) return "+";
-00021     if (f == multi_function::mult) return "*";
-00022     if (f == multi_function::min) return "-";
-00023     if (f == multi_function::inv) return "/";
-00024     if (f == multi_function::exp) return "e";
-00025     return "unknown";
-00026 }
-00027 
-00028 
-00029 struct Function {
-00030     
-00031     fptr function;
-00032     arg_ptr args;
-00033 
-00034     double operator()() const { return function(args); }
-00035 };
-00036 
-00037 static vector<Function> token_2_function;
-00038 
-00039 Sym make_binary(Sym sym) {
-00040     if (sym.args().size() == 2) return sym;
-00041     SymVec args = sym.args();
-00042     Sym an = args.back();
-00043     args.pop_back();
-00044     Sym nw = make_binary( Sym( sym.token(), args) );
-00045     args.resize(2);
-00046     args[0] = nw;
-00047     args[1] = an;
-00048     return Sym(sym.token(), args); 
-00049 }
-00050 
-00051 class Compiler {
-00052     
-00053     public:
-00054 
-00055     enum func_type {constant, variable, function};
-00056     
-00057     typedef pair<func_type, unsigned> entry;
-00058 
-00059 #if USE_TR1
-00060             typedef std::tr1::unordered_map<Sym, entry, HashSym> HashMap;
-00061 #else
-00062             typedef hash_map<Sym, entry, HashSym> HashMap;
-00063 #endif      
-00064    
-00065     HashMap map;
-00066    
-00067     vector<double> constants;
-00068     vector<unsigned> variables;
-00069     vector< fptr > functions;
-00070     vector< vector<entry> > function_args;
-00071     
-00072     unsigned total_args;
-00073     
-00074     vector<entry> outputs;
-00075    
-00076     Compiler() : total_args(0) {}
-00077     
-00078     entry do_add(Sym sym) {
-00079 
-00080         HashMap::iterator it = map.find(sym);
-00081 
-00082         if (it == map.end()) { // new entry
-00083             
-00084             token_t token = sym.token();
-00085 
-00086             if (is_constant(token)) {
-00087                 constants.push_back( get_constant_value(token) ); // set value
-00088                 entry e = make_pair(constant, constants.size()-1);
-00089                 map.insert( make_pair(sym, e) );
-00090                 return e;
-00091                 
-00092             } else if (is_variable(token)) {
-00093                 unsigned idx = get_variable_index(token);
-00094                 variables.push_back(idx);
-00095                 entry e = make_pair(variable, variables.size()-1);
-00096                 map.insert( make_pair(sym, e) );
-00097                 return e;
-00098             } // else 
-00099                 
-00100             fptr f;
-00101             vector<entry> vec;
-00102             const SymVec& args = sym.args();
-00103             
-00104             switch (token) {
-00105                 case sum_token:
-00106                     {
-00107                         if (args.size() == 0) {
-00108                             return do_add( SymConst(0.0));
-00109                         }
-00110                         if (args.size() == 1) {
-00111                             return do_add(args[0]);
-00112                         }
-00113                         if (args.size() == 2) {
-00114                             vec.push_back(do_add(args[0]));
-00115                             vec.push_back(do_add(args[1]));
-00116                             f = multi_function::plus;
-00117                             //cout << "Adding + " << vec[0].second << ' ' << vec[1].second << endl;
-00118                             break;
-00119 
-00120                         } else {
-00121                             return do_add( make_binary(sym) );
-00122                         }
-00123                         
-00124                     }
-00125                 case prod_token:
-00126                     {
-00127                         if (args.size() == 0) {
-00128                             return do_add( SymConst(1.0));
-00129                         }
-00130                         if (args.size() == 1) {
-00131                             return do_add(args[0]);
-00132                         }
-00133                         if (args.size() == 2) {
-00134                             vec.push_back(do_add(args[0]));
-00135                             vec.push_back(do_add(args[1]));
-00136                             f = multi_function::mult;
-00137                             //cout << "Adding * " << vec[0].second << ' ' << vec[1].second << endl;
-00138                             break;
-00139                             
-00140 
-00141                         } else {
-00142                             return do_add( make_binary(sym) );
-00143                         }
-00144                     }
-00145                 case sqr_token: 
-00146                     {
-00147                         SymVec newargs(2);
-00148                         newargs[0] = args[0];
-00149                         newargs[1] = args[0];
-00150                        return do_add( Sym(prod_token, newargs)); 
-00151                     }
-00152                 default :
-00153                     {
-00154                         if (args.size() != 1) {
-00155                             cerr << "Unknown function " << sym << " encountered" << endl;
-00156                             exit(1);
-00157                         }
-00158                         
-00159                         vec.push_back(do_add(args[0]));
-00160 
-00161                         switch (token) {
-00162                             case min_token: f = multi_function::min; break;
-00163                             case inv_token: f = multi_function::inv; break;
-00164                             case exp_token :f = multi_function::exp; break;
-00165                             default :
-00166                                 {
-00167                                     cerr << "Unimplemented token encountered " << sym << endl;
-00168                                     exit(1);
-00169                                 }
-00170                         }
-00171                         
-00172                         //cout << "Adding " << print_function(f) << ' ' << vec[0].second << endl;
-00173                         
-00174                         
-00175                     }
-00176 
-00177             }
-00178             
-00179             total_args += vec.size();
-00180             function_args.push_back(vec);
-00181             functions.push_back(f);
-00182             
-00183             entry e = make_pair(function, functions.size()-1);
-00184             map.insert( make_pair(sym, e) );
-00185             return e;
-00186             
-00187         }
-00188         
-00189         return it->second; // entry
-00190     }
-00191    
-00192     void add(Sym sym) {
-00193         entry e = do_add(sym);
-00194         outputs.push_back(e);
-00195     }
-00196     
-00197 };
-00198 
-00199 class MultiFunctionImpl {
-00200     public:
-00201         
-00202     // input mapping
-00203     vector<unsigned> input_idx;
-00204     
-00205     unsigned constant_offset;
-00206     unsigned var_offset;
-00207 
-00208     // evaluation
-00209     vector<double> data;
-00210     vector<Function> funcs;
-00211     data_ptrs args;     
-00212     
-00213     vector<unsigned> output_idx;
-00214     
-00215     MultiFunctionImpl() {}
-00216 
-00217     void clear() {
-00218         input_idx.clear();
-00219         data.clear();
-00220         funcs.clear();
-00221         args.clear();
-00222         output_idx.clear();
-00223         constant_offset = 0;
-00224     }
-00225     
-00226     void eval(const double* x, double* y) {
-00227         unsigned i;
-00228         // evaluate variables
-00229         for (i = constant_offset; i < constant_offset + input_idx.size(); ++i) {
-00230             data[i] = x[input_idx[i-constant_offset]];
-00231         }
-00232 
-00233         for(; i < data.size(); ++i) {
-00234             data[i] = funcs[i-var_offset]();
-00235             //cout << i << " " << data[i] << endl;
-00236         }
-00237 
-00238         for (i = 0; i < output_idx.size(); ++i) {
-00239             y[i] = data[output_idx[i]];
-00240         }
-00241     }
-00242 
-00243     void eval(const vector<double>& x, vector<double>& y) {
-00244         eval(&x[0], &y[0]);
-00245     }
-00246     
-00247     void setup(const vector<Sym>& pop) {
-00248         
-00249         clear(); 
-00250         Compiler compiler;
-00251         
-00252         for (unsigned i = 0; i < pop.size(); ++i) {
-00253             Sym sym = (expand_all(pop[i]));
-00254             compiler.add(sym);
-00255         }
-00256         
-00257         // compiler is setup so get the data
-00258         constant_offset = compiler.constants.size();
-00259         var_offset = constant_offset + compiler.variables.size();
-00260         int n = var_offset + compiler.functions.size();
-00261 
-00262         data.resize(n);
-00263         funcs.resize(compiler.functions.size());
-00264         args.resize(compiler.total_args);
-00265         
-00266         // constants
-00267         for (unsigned i = 0; i < constant_offset; ++i) {
-00268             data[i] = compiler.constants[i];
-00269             //cout << i << ' ' << data[i] << endl;
-00270         }
-00271         
-00272         // variables
-00273         input_idx = compiler.variables;
-00274 
-00275         //for (unsigned i = constant_offset; i < var_offset; ++i) {
-00276             //cout << i << " x" << input_idx[i-constant_offset] << endl;
-00277         //}
-00278         
-00279         // functions
-00280         unsigned which_arg = 0;
-00281         for (unsigned i = 0; i < funcs.size(); ++i) {
-00282             
-00283             Function f;
-00284             f.function = compiler.functions[i];
-00285             
-00286             //cout << i+var_offset << ' ' << print_function(f.function);
-00287                 
-00288             // interpret args
-00289             for (unsigned j = 0; j < compiler.function_args[i].size(); ++j) {
-00290                 
-00291                 Compiler::entry e = compiler.function_args[i][j];
-00292                 
-00293                 unsigned idx = e.second;
-00294                 
-00295                 switch (e.first) {
-00296                     case Compiler::function: idx += compiler.variables.size();
-00297                     case Compiler::variable: idx += compiler.constants.size();
-00298                     case Compiler::constant: {}
-00299                 }
-00300 
-00301                 args[which_arg + j] = data.begin() + idx;
-00302                 //cout << ' ' << idx << "(" << e.second << ")";
-00303             }
-00304             
-00305             //cout << endl;
-00306 
-00307             f.args = args.begin() + which_arg;
-00308             which_arg += compiler.function_args[i].size();
-00309             funcs[i] = f;    
-00310         }
-00311 
-00312         // output indices
-00313         output_idx.resize(compiler.outputs.size());
-00314         for (unsigned i = 0; i < output_idx.size(); ++i) {
-00315             output_idx[i] = compiler.outputs[i].second;
-00316             switch(compiler.outputs[i].first) {
-00317                     case Compiler::function: output_idx[i] += compiler.variables.size();
-00318                     case Compiler::variable: output_idx[i] += compiler.constants.size();
-00319                     case Compiler::constant: {}
-00320             }
-00321             //cout << "out " << output_idx[i] << endl;
-00322         }
-00323     }
-00324     
-00325 };  
-00326 
-00327 
-00328 
-00329 MultiFunction::MultiFunction(const std::vector<Sym>& pop) : pimpl(new MultiFunctionImpl) {
-00330     pimpl->setup(pop);
-00331 }
-00332 
-00333 MultiFunction::~MultiFunction() { delete pimpl; }
-00334 
-00335 void MultiFunction::operator()(const std::vector<double>& x, std::vector<double>& y) {
-00336     pimpl->eval(x,y);
-00337 }
-00338 
-00339 void MultiFunction::operator()(const double* x, double* y) {
-00340     pimpl->eval(x,y);
-00341 }
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_multi_function_8h-source.html b/trunk/paradiseo-eo/doc/html/_multi_function_8h-source.html deleted file mode 100644 index 08942b731..000000000 --- a/trunk/paradiseo-eo/doc/html/_multi_function_8h-source.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: MultiFunction.h Source File - - - - - -

MultiFunction.h

00001 #ifndef MULTIFUNCTION_H_
-00002 #define MULTIFUNCTION_H_
-00003 
-00004 #include <vector>
-00005 
-00006 class Sym;
-00007 class MultiFunctionImpl;
-00008 
-00009 class MultiFunction {
-00010     MultiFunction& operator=(const MultiFunction&);
-00011     MultiFunction(const MultiFunction&);
-00012 
-00013     MultiFunctionImpl* pimpl;
-00014     
-00015     public:
-00016 
-00017     MultiFunction(const std::vector<Sym>& pop);
-00018     ~MultiFunction();
-00019     
-00020     void operator()(const std::vector<double>& x, std::vector<double>& y);
-00021     void operator()(const double* x, double* y);
-00022     
-00023 };
-00024 
-00025 #endif
-00026 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_my_struct_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_my_struct_e_a_8cpp-source.html deleted file mode 100644 index a0de6e349..000000000 --- a/trunk/paradiseo-eo/doc/html/_my_struct_e_a_8cpp-source.html +++ /dev/null @@ -1,181 +0,0 @@ - - -EO: MyStructEA.cpp Source File - - - - - -

MyStructEA.cpp

00001 
-00006 /*
-00007 Template for creating a new representation in EO
-00008 ================================================
-00009 
-00010 This is the template main file.
-00011 It includes all other files that have been generated by the script create.sh
-00012 so it is the only file to compile.
-00013 
-00014 In case you want to build up a separate library for your new Evolving Object,
-00015 you'll need some work - follow what's done in the src/ga dir, used in the
-00016 main file BitEA in tutorial/Lesson4 dir.
-00017 Or you can wait until we do it :-)
-00018 */
-00019 
-00020 // Miscilaneous include and declaration 
-00021 #include <iostream>
-00022 using namespace std;
-00023 
-00024 // eo general include
-00025 #include "eo"
-00026 // the real bounds (not yet in general eo include)
-00027 #include "utils/eoRealVectorBounds.h"
-00028 
-00029 // include here whatever specific files for your representation
-00030 // Basically, this should include at least the following
-00031 
-00035 #include "eoMyStruct.h"
-00036 
-00040 #include "eoMyStructInit.h"
-00041 
-00047 #include "eoMyStructEvalFunc.h"
-00048 
-00049 // GENOTYPE   eoMyStruct ***MUST*** be templatized over the fitness
-00050 
-00051 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-00052 // START fitness type: double or eoMaximizingFitness if you are maximizing
-00053 //                     eoMinimizingFitness if you are minimizing
-00054 typedef eoMinimizingFitness MyFitT ;    // type of fitness 
-00055 // END fitness type
-00056 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-00057 
-00058 // Then define your EO objects using that fitness type
-00059 typedef eoMyStruct<MyFitT> Indi;      // ***MUST*** derive from EO 
-00060 
-00061 // create an initializer
-00062 #include "make_genotype_MyStruct.h"
-00063 eoInit<Indi> & make_genotype(eoParser& _parser, eoState&_state, Indi _eo)
-00064 {
-00065   return do_make_genotype(_parser, _state, _eo);
-00066 } 
-00067 
-00068 // and the variation operaotrs
-00069 #include "make_op_MyStruct.h"
-00070 eoGenOp<Indi>&  make_op(eoParser& _parser, eoState& _state, eoInit<Indi>& _init)
-00071 {
-00072   return do_make_op(_parser, _state, _init);
-00073 }
-00074 
-00075 // Use existing modules to define representation independent routines
-00076 // These are parser-based definitions of objects
-00077 
-00078 // how to initialize the population 
-00079 // it IS representation independent if an eoInit is given
-00080 #include <do/make_pop.h>
-00081 eoPop<Indi >&  make_pop(eoParser& _parser, eoState& _state, eoInit<Indi> & _init)
-00082 {
-00083   return do_make_pop(_parser, _state, _init);
-00084 }
-00085 
-00086 // the stopping criterion
-00087 #include <do/make_continue.h>
-00088 eoContinue<Indi>& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval)
-00089 {
-00090   return do_make_continue(_parser, _state, _eval);
-00091 }
-00092 
-00093 // outputs (stats, population dumps, ...)
-00094 #include <do/make_checkpoint.h>
-00095 eoCheckPoint<Indi>& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi>& _eval, eoContinue<Indi>& _continue) 
-00096 {
-00097   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00098 }
-00099 
-00100 // evolution engine (selection and replacement)
-00101 #include <do/make_algo_scalar.h>
-00102 eoAlgo<Indi>&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& _continue, eoGenOp<Indi>& _op)
-00103 {
-00104   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00105 }
-00106 
-00107 // simple call to the algo. stays there for consistency reasons 
-00108 // no template for that one
-00109 #include <do/make_run.h>
-00110 // the instanciating fitnesses
-00111 #include <eoScalarFitness.h>
-00112 void run_ea(eoAlgo<Indi>& _ga, eoPop<Indi>& _pop)
-00113 {
-00114   do_run(_ga, _pop);
-00115 }
-00116 
-00117 // checks for help demand, and writes the status file
-00118 // and make_help; in libutils
-00119 void make_help(eoParser & _parser);
-00120 
-00121 // now use all of the above, + representation dependent things
-00122 int main(int argc, char* argv[])
-00123 {
-00124 
-00125   try
-00126   {
-00127   eoParser parser(argc, argv);  // for user-parameter reading
-00128 
-00129   eoState state;    // keeps all things allocated
-00130 
-00131     // The fitness
-00133    eoMyStructEvalFunc<Indi> plainEval/* (varType  _anyVariable) */;
-00134    // turn that object into an evaluation counter
-00135    eoEvalFuncCounter<Indi> eval(plainEval);
-00136 
-00137   // the genotype - through a genotype initializer
-00138   eoInit<Indi>& init = make_genotype(parser, state, Indi());
-00139 
-00140   // Build the variation operator (any seq/prop construct)
-00141   eoGenOp<Indi>& op = make_op(parser, state, init);
-00142 
-00143 
-00145   //
-00146   // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT
-00147   // unless you want to add specific statistics to the checkpoint
-00149 
-00150   // initialize the population
-00151   // yes, this is representation indepedent once you have an eoInit
-00152   eoPop<Indi>& pop   = make_pop(parser, state, init);
-00153 
-00154   // stopping criteria
-00155   eoContinue<Indi> & term = make_continue(parser, state, eval);
-00156   // output
-00157   eoCheckPoint<Indi> & checkpoint = make_checkpoint(parser, state, eval, term);
-00158   // algorithm (need the operator!)
-00159   eoAlgo<Indi>& ga = make_algo_scalar(parser, state, eval, checkpoint, op);
-00160 
-00162 
-00164   // to be called AFTER all parameters have been read!!!
-00165   make_help(parser);
-00166 
-00169   // evaluate intial population AFTER help and status in case it takes time
-00170   apply<Indi>(eval, pop);
-00171   // if you want to print it out
-00172 //   cout << "Initial Population\n";
-00173 //   pop.sortedPrintOn(cout);
-00174 //   cout << endl;
-00175 
-00176   run_ea(ga, pop); // run the ga
-00177 
-00178   cout << "Final Population\n";
-00179   pop.sortedPrintOn(cout);
-00180   cout << endl;
-00181 
-00182   }
-00183   catch(exception& e)
-00184   {
-00185     cout << e.what() << endl;
-00186   }
-00187   return 0;
-00188 }
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_my_struct_lib_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_my_struct_lib_e_a_8cpp-source.html deleted file mode 100644 index be2f0b29a..000000000 --- a/trunk/paradiseo-eo/doc/html/_my_struct_lib_e_a_8cpp-source.html +++ /dev/null @@ -1,155 +0,0 @@ - - -EO: MyStructLibEA.cpp Source File - - - - - -

MyStructLibEA.cpp

00001 
-00006 /*
-00007 Template for creating a new representation in EO
-00008 ================================================
-00009 
-00010 This is the template main file for compiling after creating a
-00011 "library", i.e. putting everything but the fitness in a separate file 
-00012 (make_MyStruct.cpp) and compiling it once and for all.
-00013 */
-00014 
-00015 // Miscilaneous include and declaration 
-00016 #include <iostream>
-00017 using namespace std;
-00018 
-00019 // eo general include
-00020 #include "eo"
-00021 // the real bounds (not yet in general eo include)
-00022 #include "utils/eoRealVectorBounds.h"
-00023 
-00024 // include here whatever specific files for your representation
-00025 // Basically, this should include at least the following
-00026 
-00030 #include "eoMyStruct.h"
-00031 
-00035 #include "eoMyStructInit.h"
-00036 
-00042 #include "eoMyStructEvalFunc.h"
-00043 
-00044 // GENOTYPE   eoMyStruct ***MUST*** be templatized over the fitness
-00045 
-00046 //
-00047 // START fitness type: double or eoMaximizingFitness if you are maximizing
-00048 //                     eoMinimizingFitness if you are minimizing
-00049 typedef eoMinimizingFitness MyFitT ;    // type of fitness 
-00050 // END fitness type
-00051 //
-00052 
-00053 // Then define your EO objects using that fitness type
-00054 typedef eoMyStruct<MyFitT> Indi;      // ***MUST*** derive from EO 
-00055 
-00056 // create an initializer - done here and NOT in make_MyStruct.cpp
-00057 // because it is NOT representation independent
-00058 #include "make_genotype_MyStruct.h"
-00059 eoInit<Indi> & make_genotype(eoParser& _parser, eoState&_state, Indi _eo)
-00060 {
-00061   return do_make_genotype(_parser, _state, _eo);
-00062 } 
-00063 
-00064 // same thing for the variation operaotrs
-00065 #include "make_op_MyStruct.h"
-00066 eoGenOp<Indi>&  make_op(eoParser& _parser, eoState& _state, eoInit<Indi>& _init)
-00067 {
-00068   return do_make_op(_parser, _state, _init);
-00069 }
-00070 
-00071 // The representation independent routines are simply declared here
-00072 
-00073 // how to initialize the population 
-00074 // it IS representation independent if an eoInit is given
-00075 eoPop<Indi >&  make_pop(eoParser& _parser, eoState& _state, eoInit<Indi> & _init);
-00076 
-00077 // the stopping criterion
-00078 eoContinue<Indi>& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval);
-00079 
-00080 // outputs (stats, population dumps, ...)
-00081 eoCheckPoint<Indi>& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi>& _eval, eoContinue<Indi>& _continue);
-00082 
-00083 // evolution engine (selection and replacement)
-00084 eoAlgo<Indi>&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& _continue, eoGenOp<Indi>& _op);
-00085 
-00086 // simple call to the algo. stays there for consistency reasons 
-00087 // no template for that one
-00088 void run_ea(eoAlgo<Indi>& _ga, eoPop<Indi>& _pop);
-00089 
-00090 // checks for help demand, and writes the status file
-00091 // and make_help; in libutils - just a declaration, code in libeoutils.a
-00092 void make_help(eoParser & _parser);
-00093 
-00094 // now use all of the above, + representation dependent things
-00095 // from here on, no difference with eoMyStruct.cpp
-00096 int main(int argc, char* argv[])
-00097 {
-00098 
-00099   try
-00100   {
-00101   eoParser parser(argc, argv);  // for user-parameter reading
-00102 
-00103   eoState state;    // keeps all things allocated
-00104 
-00105     // The fitness
-00107    eoMyStructEvalFunc<Indi> plainEval/* (varType  _anyVariable) */;
-00108    // turn that object into an evaluation counter
-00109    eoEvalFuncCounter<Indi> eval(plainEval);
-00110 
-00111   // the genotype - through a genotype initializer
-00112   eoInit<Indi>& init = make_genotype(parser, state, Indi());
-00113 
-00114   // Build the variation operator (any seq/prop construct)
-00115   eoGenOp<Indi>& op = make_op(parser, state, init);
-00116 
-00117 
-00119   //
-00120   // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT
-00121   // unless you want to add specific statistics to the checkpoint
-00123 
-00124   // initialize the population
-00125   // yes, this is representation indepedent once you have an eoInit
-00126   eoPop<Indi>& pop   = make_pop(parser, state, init);
-00127 
-00128   // stopping criteria
-00129   eoContinue<Indi> & term = make_continue(parser, state, eval);
-00130   // output
-00131   eoCheckPoint<Indi> & checkpoint = make_checkpoint(parser, state, eval, term);
-00132   // algorithm (need the operator!)
-00133   eoAlgo<Indi>& ga = make_algo_scalar(parser, state, eval, checkpoint, op);
-00134 
-00136 
-00138   // to be called AFTER all parameters have been read!!!
-00139   make_help(parser);
-00140 
-00143   // evaluate intial population AFTER help and status in case it takes time
-00144   apply<Indi>(eval, pop);
-00145   // if you want to print it out
-00146    cout << "Initial Population\n";
-00147    pop.sortedPrintOn(cout);
-00148    cout << endl;
-00149 
-00150   run_ea(ga, pop); // run the ga
-00151 
-00152   cout << "Final Population\n";
-00153   pop.sortedPrintOn(cout);
-00154   cout << endl;
-00155 
-00156   }
-00157   catch(exception& e)
-00158   {
-00159     cout << e.what() << endl;
-00160   }
-00161   return 0;
-00162 }
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_my_struct_s_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_my_struct_s_e_a_8cpp-source.html deleted file mode 100644 index 6ed0d7590..000000000 --- a/trunk/paradiseo-eo/doc/html/_my_struct_s_e_a_8cpp-source.html +++ /dev/null @@ -1,338 +0,0 @@ - - -EO: MyStructSEA.cpp Source File - - - - - -

MyStructSEA.cpp

00001 
-00006 /*
-00007 Template for creating a new representation in EO
-00008 ================================================
-00009 
-00010 This is the template main file.
-00011 It includes all other files that have been generated by the script create.sh
-00012 so it is the only file to compile.
-00013 
-00014 In case you want to build up a separate library for your new Evolving Object,
-00015 you'll need some work - follow what's done in the src/ga dir, used in the
-00016 main file BitEA in tutorial/Lesson4 dir.
-00017 Or you can wait until we do it :-)
-00018 */
-00019 
-00020 // Miscilaneous include and declaration
-00021 #include <iostream>
-00022 using namespace std;
-00023 
-00024 // eo general include
-00025 #include "eo"
-00026 // the real bounds (not yet in general eo include)
-00027 #include "utils/eoRealVectorBounds.h"
-00028 
-00029 // include here whatever specific files for your representation
-00030 // Basically, this should include at least the following
-00031 
-00035 #include "eoMyStruct.h"
-00036 
-00040 #include "eoMyStructInit.h"
-00041 
-00047 #include "eoMyStructEvalFunc.h"
-00048 
-00053 #include "eoMyStructQuadCrossover.h"
-00054 #include "eoMyStructMutation.h"
-00055 
-00056 /* and (possibly) your personal statistics */
-00057 #include "eoMyStructStat.h"
-00058 
-00059 // GENOTYPE   eoMyStruct ***MUST*** be templatized over the fitness
-00060 
-00061 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-00062 // START fitness type: double or eoMaximizingFitness if you are maximizing
-00063 //                     eoMinimizingFitness if you are minimizing
-00064 typedef eoMinimizingFitness MyFitT ;    // type of fitness
-00065 // END fitness type
-00066 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-00067 
-00068 // Then define your EO objects using that fitness type
-00069 typedef eoMyStruct<MyFitT> Indi;      // ***MUST*** derive from EO
-00070 
-00071 
-00072 // Use existing modules to define representation independent routines
-00073 
-00074 // how to initialize the population
-00075 // it IS representation independent if an eoInit is given
-00076 #include <do/make_pop.h>
-00077 eoPop<Indi >&  make_pop(eoParser& _parser, eoState& _state, eoInit<Indi> & _init)
-00078 {
-00079   return do_make_pop(_parser, _state, _init);
-00080 }
-00081 
-00082 // the stopping criterion
-00083 #include <do/make_continue.h>
-00084 eoContinue<Indi>& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval)
-00085 {
-00086   return do_make_continue(_parser, _state, _eval);
-00087 }
-00088 
-00089 // outputs (stats, population dumps, ...)
-00090 #include <do/make_checkpoint.h>
-00091 eoCheckPoint<Indi>& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi>& _eval, eoContinue<Indi>& _continue)
-00092 {
-00093   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00094 }
-00095 
-00096 // evolution engine (selection and replacement)
-00097 #include <do/make_algo_scalar.h>
-00098 eoAlgo<Indi>&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& _continue, eoGenOp<Indi>& _op, eoDistance<Indi> *_dist = NULL)
-00099 {
-00100   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist);
-00101 }
-00102 
-00103 // simple call to the algo. stays there for consistency reasons
-00104 // no template for that one
-00105 #include <do/make_run.h>
-00106 // the instanciating fitnesses
-00107 #include <eoScalarFitness.h>
-00108 void run_ea(eoAlgo<Indi>& _ga, eoPop<Indi>& _pop)
-00109 {
-00110   do_run(_ga, _pop);
-00111 }
-00112 
-00113 // checks for help demand, and writes the status file
-00114 // and make_help; in libutils
-00115 void make_help(eoParser & _parser);
-00116 
-00117 // now use all of the above, + representation dependent things
-00118 int main(int argc, char* argv[])
-00119 {
-00120 try
-00121   {
-00122     eoParser parser(argc, argv);  // for user-parameter reading
-00123 
-00124     eoState state;    // keeps all things allocated
-00125 
-00126     // The fitness
-00128     eoMyStructEvalFunc<Indi> plainEval/* (varType  _anyVariable) */;
-00129     // turn that object into an evaluation counter
-00130     eoEvalFuncCounter<Indi> eval(plainEval);
-00131 
-00132     // a genotype initializer
-00133     eoMyStructInit<Indi> init;
-00134     // or, if you need some parameters, you might as well
-00135     // - write a constructor of the eoMyStructInit that uses a parser
-00136     // - call it from here:
-00137     //        eoMyStructInit<Indi> init(parser);
-00138 
-00139     // if you want to do sharing, you'll need a distance.
-00140     // see file utils/eoDistance.h
-00141     //
-00142     // IF you representation has an operator[]() double-castable,
-00143     // then you can use for instance the quadratic distance (L2 norm)
-00144     //    eoQuadDistance<Indi> dist;
-00145     // or the Hamming distance (L1 norm)
-00146     // eoHammingDistance<Indi> dist;
-00147 
-00148 
-00149     // Build the variation operator (any seq/prop construct)
-00150     // here, a simple example with only 1 crossover (2->2, a QuadOp) and
-00151     // one mutation, is given.
-00152     // Hints to have choice among multiple crossovers and mutations are given
-00153 
-00154     // A (first) crossover (possibly use the parser in its Ctor)
-00155     eoMyStructQuadCrossover<Indi> cross /* (eoParser parser) */;
-00156 
-00157     // IF MORE THAN ONE:
-00158 
-00159     // read its relative rate in the combination
-00160 // double cross1Rate = parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", '1', "Variation Operators").value();
-00161 
-00162     // create the combined operator with the first one (rename it cross1 !!!)
-00163 // eoPropCombinedQuadOp<Indi> cross(cross1, cross1Rate);
-00164 
-00165     // and as many as you want the following way:
-00166     // 1- write the new class by mimicking eoMyStructQuadCrossover.h
-00167     // 2- include that file here together with eoMyStructQuadCrossover above
-00168     // 3- uncomment and duplicate the following lines:
-00169     //
-00170 // eoMyStructSecondCrossover<Indi> cross2(eoParser parser);
-00171 // double cross2Rate = parser.createParam(1.0, "cross2Rate", "Relative rate for crossover 2", '2', "Variation Operators").value();
-00172 // cross.add(cross2, cross2Rate);
-00173 
-00174   // NOTE: if you want some gentle output, the last one shoudl be like
-00175   //  cross.add(cross, crossXXXRate, true);
-00176 
-00178 
-00179   // a (first) mutation   (possibly use the parser in its Ctor)
-00180   eoMyStructMutation<Indi> mut /* (parser) */;
-00181 
-00182     // IF MORE THAN ONE:
-00183 
-00184     // read its relative rate in the combination
-00185 // double mut1Rate = parser.createParam(1.0, "mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value();
-00186 
-00187     // create the combined operator with the first one (rename it cross1 !!!)
-00188 // eoPropCombinedMonOp<Indi> mut(mut1, mut1Rate);
-00189 
-00190     // and as many as you want the following way:
-00191     // 1- write the new class by mimicking eoMyStructMutation.h
-00192     // 2- include that file here together with eoMyStructMutation above
-00193     // 3- uncomment and duplicate the following lines:
-00194     //
-00195 // eoMyStructSecondMutation<Indi> mut2(eoParser parser);
-00196 // double mut2Rate = parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value();
-00197 // mut.add(mut2, mut2Rate);
-00198 
-00199   // NOTE: if you want some gentle output, the last one shoudl be like
-00200   //  mut.add(mut, mutXXXRate, true);
-00201 
-00202   // now encapsulate your crossover(s) and mutation(s) into an eoGeneralOp
-00203   // so you can fully benefit of the existing evolution engines
-00204 
-00205   // First read the individual level parameters
-00206     double pCross = parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" ).value();
-00207     // minimum check
-00208     if ( (pCross < 0) || (pCross > 1) )
-00209       throw runtime_error("Invalid pCross");
-00210 
-00211     double pMut = parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" ).value();
-00212     // minimum check
-00213     if ( (pMut < 0) || (pMut > 1) )
-00214       throw runtime_error("Invalid pMut");
-00215 
-00216     // now create the generalOp
-00217     eoSGAGenOp<Indi> op(cross, pCross, mut, pMut);
-00218 
-00219 
-00221     //
-00222     // You do not need to modify anything beyond this point
-00223     // unless you want to add specific statistics to the checkpoint
-00224     // in which case you should uncomment the corresponding block
-00225     // and possibly modify the parameters in the stat object creation
-00227 
-00228   // initialize the population
-00229   // yes, this is representation indepedent once you have an eoInit
-00230   eoPop<Indi>& pop   = make_pop(parser, state, init);
-00231 
-00232   // stopping criteria
-00233   eoContinue<Indi> & term = make_continue(parser, state, eval);
-00234   // output
-00235   eoCheckPoint<Indi> & checkpoint = make_checkpoint(parser, state, eval, term);
-00236 
-00237 
-00238   // UNCOMMENT the following commented block if you want to add you stats
-00239 
-00240   // if uncommented, it is assumed that you will want to print some stat.
-00241   // if not, then the following objects will be created uselessly - but what the heck!
-00242 
-00243   eoMyStructStat<Indi>   myStat;       // or maybe myStat(parser);
-00244   checkpoint.add(myStat);
-00245   // This one is probably redundant with the one in make_checkpoint, but w.t.h.
-00246   eoIncrementorParam<unsigned> generationCounter("Gen.");
-00247   checkpoint.add(generationCounter);
-00248   // need to get the name of the redDir param (if any)
-00249   std::string dirName =  parser.getORcreateParam(std::string("Res"), "resDir", "Directory to store DISK outputs", '\0', "Output - Disk").value() + "/";
-00250 
-00251 
-00252   // those need to be pointers because of the if's
-00253   eoStdoutMonitor *myStdOutMonitor;
-00254   eoFileMonitor   *myFileMonitor;
-00255 #ifdef HAVE_GNUPLOT
-00256   eoGnuplot1DMonitor *myGnuMonitor;
-00257 #endif
-00258 
-00259   // now check how you want to output the stat:
-00260   bool printMyStructStat = parser.createParam(false, "coutMyStructStat", "Prints my stat to screen, one line per generation", '\0', "My application").value();
-00261   bool fileMyStructStat = parser.createParam(false, "fileMyStructStat", "Saves my stat to file (in resDir", '\0', "My application").value();
-00262   bool plotMyStructStat = parser.createParam(false, "plotMyStructStat", "On-line plots my stat using gnuplot", '\0', "My application").value();
-00263 
-00264   // should we write it on StdOut ?
-00265   if (printMyStructStat)
-00266     {
-00267       myStdOutMonitor = new eoStdoutMonitor(false);
-00268       // don't forget to store the memory in the state
-00269       state.storeFunctor(myStdOutMonitor);
-00270       // and of course to add the monitor to the checkpoint
-00271       checkpoint.add(*myStdOutMonitor);
-00272       // and the different fields to the monitor
-00273       myStdOutMonitor->add(generationCounter);
-00274       myStdOutMonitor->add(eval);
-00275       myStdOutMonitor->add(myStat);
-00276     }
-00277 
-00278   // first check the directory (and creates it if not exists already):
-00279   if (fileMyStructStat || plotMyStructStat)
-00280       if (! testDirRes(dirName, true) )
-00281         throw runtime_error("Problem with resDir");
-00282 
-00283   // should we write it to a file ?
-00284   if (fileMyStructStat)
-00285     {
-00286       // the file name is hard-coded - of course you can read
-00287       // a string parameter in the parser if you prefer
-00288       myFileMonitor = new eoFileMonitor(dirName + "myStat.xg");
-00289       // don't forget to store the memory in the state
-00290       state.storeFunctor(myFileMonitor);
-00291       // and of course to add the monitor to the checkpoint
-00292       checkpoint.add(*myFileMonitor);
-00293       // and the different fields to the monitor
-00294       myFileMonitor->add(generationCounter);
-00295       myFileMonitor->add(eval);
-00296       myFileMonitor->add(myStat);
-00297     }
-00298 
-00299 #ifdef HAVE_GNUPLOT
-00300   // should we PLOT it on StdOut ? (one dot per generation, incremental plot)
-00301   if (plotMyStructStat)
-00302     {
-00303       myGnuMonitor = new eoGnuplot1DMonitor(dirName+"plot_myStat.xg",minimizing_fitness<Indi>());
-00304       // NOTE: you cand send commands to gnuplot at any time with the method
-00305       // myGnuMonitor->gnuplotCommand(string)
-00306       // par exemple, gnuplotCommand("set logscale y")
-00307 
-00308       // don't forget to store the memory in the state
-00309       state.storeFunctor(myGnuMonitor);
-00310       // and of course to add the monitor to the checkpoint
-00311       checkpoint.add(*myGnuMonitor);
-00312       // and the different fields to the monitor (X = eval, Y = myStat)
-00313       myGnuMonitor->add(eval);
-00314       myGnuMonitor->add(myStat);
-00315     }
-00316 #endif
-00317 
-00318   // algorithm (need the operator!)
-00319   eoAlgo<Indi>& ga = make_algo_scalar(parser, state, eval, checkpoint, op);
-00320   // and the distance if you want to do sharing
-00321   // eoAlgo<Indi>& ga = make_algo_scalar(parser, state, eval, checkpoint, op, &dist);
-00322 
-00324 
-00326   // to be called AFTER all parameters have been read!!!
-00327   make_help(parser);
-00328 
-00331   // evaluate intial population AFTER help and status in case it takes time
-00332   apply<Indi>(eval, pop);
-00333   // if you want to print it out
-00334 //   cout << "Initial Population\n";
-00335 //   pop.sortedPrintOn(cout);
-00336 //   cout << endl;
-00337 
-00338   run_ea(ga, pop); // run the ga
-00339 
-00340   cout << "Final Population\n";
-00341   pop.sortedPrintOn(cout);
-00342   cout << endl;
-00343 
-00344   }
-00345   catch(exception& e)
-00346   {
-00347     cout << e.what() << endl;
-00348   }
-00349   return 0;
-00350 }
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_n_e_w_s-source.html b/trunk/paradiseo-eo/doc/html/_n_e_w_s-source.html deleted file mode 100644 index 16dbfb947..000000000 --- a/trunk/paradiseo-eo/doc/html/_n_e_w_s-source.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: NEWS Source File - - - - -

NEWS

00001 * release 0.9.4 (not yet released)
-00002   - Update introductory pages of documentation and webpage.
-00003   - Remove support for pre-standard C++ compiler (i.e. gcc-2.x), which allows to
-00004     clean up the code considerably. Assume availability of sstream and limits.
-00005   - Implement CMA-ES.
-00006   
-00007 
-00008 * release 0.9.3z.1 (1. Oct. 2005)
-00009   - Support gcc-3.4 and gcc.4.x.
-00010   - Provide full automake/autoconf/configure support.
-00011 
-00012 
-00013 # Local Variables:
-00014 # coding: iso-8859-1
-00015 # mode: text
-00016 # fill-column: 80
-00017 # End:
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_node_selector_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_node_selector_8cpp-source.html deleted file mode 100644 index cd6a69a5f..000000000 --- a/trunk/paradiseo-eo/doc/html/_node_selector_8cpp-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -EO: NodeSelector.cpp Source File - - - - - -

NodeSelector.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include "NodeSelector.h"
-00019 #include "Sym.h"
-00020 
-00021 #include <utils/eoRNG.h>
-00022 
-00023 // If subtree is not set (by randomnodeselector for instance, find it now
-00024 Sym NodeSelector::NodeSelection::subtree() {
-00025     if (subtree_.empty()) {
-00026         subtree_ = get_subtree(root_, subtree_index_);
-00027     }
-00028     return subtree_;
-00029 }
-00030 
-00031 NodeSelector::NodeSelection RandomNodeSelector::select_node(Sym sym) const {
-00032     unsigned idx = rng.random(sym.size());
-00033     return  NodeSelection(sym, idx, Sym() ); // empty subtree, find it when needed
-00034 }
-00035 
-00036 NodeSelector::NodeSelection BiasedNodeSelector::select_node(Sym sym) const {
-00037     
-00038     unsigned p = rng.random(sym.size());
-00039     Sym res;
-00040     for (unsigned i = 0; i < nRounds; ++i) {
-00041         res = get_subtree(sym, p);
-00042         
-00043         if (res.args().size() > 0) break;
-00044         
-00045         p = rng.random(sym.size());
-00046     }
-00047     
-00048     return NodeSelection(sym, p, res);
-00049 }
-00050 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_node_selector_8h-source.html b/trunk/paradiseo-eo/doc/html/_node_selector_8h-source.html deleted file mode 100644 index 4f26f0cde..000000000 --- a/trunk/paradiseo-eo/doc/html/_node_selector_8h-source.html +++ /dev/null @@ -1,77 +0,0 @@ - - -EO: NodeSelector.h Source File - - - - - -

NodeSelector.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef NODESELECTOR_H
-00019 #define NODESELECTOR_H
-00020 
-00021 #include <Sym.h>
-00022 
-00024 class NodeSelector {
-00025     public:
-00026         
-00027     class NodeSelection {
-00028         Sym root_;
-00029         unsigned subtree_index_;
-00030         Sym subtree_;
-00031 
-00032         public :
-00033             NodeSelection(Sym r, unsigned idx, Sym s) 
-00034                 : root_(r), subtree_index_(idx), subtree_(s) {}
-00035 
-00036             Sym root() const { return root_; }
-00037             unsigned idx()  const { return subtree_index_; }
-00038             Sym subtree(); 
-00039         
-00040     };
-00041 
-00042     virtual ~NodeSelector() {}
-00043         
-00044     virtual NodeSelection select_node(Sym sym) const = 0;  
-00045 };
-00046 
-00047 
-00049 class RandomNodeSelector : public NodeSelector {
-00050     public:
-00051     NodeSelection select_node(Sym sym) const;
-00052 };
-00053 
-00055 class BiasedNodeSelector : public NodeSelector {
-00056     public:
-00057     unsigned nRounds;
-00058 
-00059     BiasedNodeSelector() : nRounds(3) {} // 3: for binary trees 87.5% chance of selecting an internal node
-00060     BiasedNodeSelector(unsigned n) : nRounds(n) {}
-00061     
-00062     NodeSelection select_node(Sym sym) const;
-00063 };
-00064 
-00065 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_one_max_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_one_max_e_a_8cpp-source.html deleted file mode 100644 index 3f5ab841c..000000000 --- a/trunk/paradiseo-eo/doc/html/_one_max_e_a_8cpp-source.html +++ /dev/null @@ -1,181 +0,0 @@ - - -EO: OneMaxEA.cpp Source File - - - - - -

OneMaxEA.cpp

00001 
-00006 /*
-00007 Template for creating a new representation in EO
-00008 ================================================
-00009 
-00010 This is the template main file.
-00011 It includes all other files that have been generated by the script create.sh
-00012 so it is the only file to compile.
-00013 
-00014 In case you want to build up a separate library for your new Evolving Object,
-00015 you'll need some work - follow what's done in the src/ga dir, used in the
-00016 main file BitEA in tutorial/Lesson4 dir.
-00017 Or you can wait until we do it :-)
-00018 */
-00019 
-00020 // Miscilaneous include and declaration 
-00021 #include <iostream>
-00022 using namespace std;
-00023 
-00024 // eo general include
-00025 #include "eo"
-00026 // the real bounds (not yet in general eo include)
-00027 #include "utils/eoRealVectorBounds.h"
-00028 
-00029 // include here whatever specific files for your representation
-00030 // Basically, this should include at least the following
-00031 
-00035 #include "eoOneMax.h"
-00036 
-00040 #include "eoOneMaxInit.h"
-00041 
-00047 #include "eoOneMaxEvalFunc.h"
-00048 
-00049 // GENOTYPE   eoOneMax ***MUST*** be templatized over the fitness
-00050 
-00051 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-00052 // START fitness type: double or eoMaximizingFitness if you are maximizing
-00053 //                     eoMinimizingFitness if you are minimizing
-00054 typedef eoMaximizingFitness MyFitT ;    // type of fitness 
-00055 // END fitness type
-00056 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-00057 
-00058 // Then define your EO objects using that fitness type
-00059 typedef eoOneMax<MyFitT> Indi;      // ***MUST*** derive from EO 
-00060 
-00061 // create an initializer
-00062 #include "make_genotype_OneMax.h"
-00063 eoInit<Indi> & make_genotype(eoParser& _parser, eoState&_state, Indi _eo)
-00064 {
-00065   return do_make_genotype(_parser, _state, _eo);
-00066 } 
-00067 
-00068 // and the variation operaotrs
-00069 #include "make_op_OneMax.h"
-00070 eoGenOp<Indi>&  make_op(eoParser& _parser, eoState& _state, eoInit<Indi>& _init)
-00071 {
-00072   return do_make_op(_parser, _state, _init);
-00073 }
-00074 
-00075 // Use existing modules to define representation independent routines
-00076 // These are parser-based definitions of objects
-00077 
-00078 // how to initialize the population 
-00079 // it IS representation independent if an eoInit is given
-00080 #include <do/make_pop.h>
-00081 eoPop<Indi >&  make_pop(eoParser& _parser, eoState& _state, eoInit<Indi> & _init)
-00082 {
-00083   return do_make_pop(_parser, _state, _init);
-00084 }
-00085 
-00086 // the stopping criterion
-00087 #include <do/make_continue.h>
-00088 eoContinue<Indi>& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval)
-00089 {
-00090   return do_make_continue(_parser, _state, _eval);
-00091 }
-00092 
-00093 // outputs (stats, population dumps, ...)
-00094 #include <do/make_checkpoint.h>
-00095 eoCheckPoint<Indi>& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi>& _eval, eoContinue<Indi>& _continue) 
-00096 {
-00097   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00098 }
-00099 
-00100 // evolution engine (selection and replacement)
-00101 #include <do/make_algo_scalar.h>
-00102 eoAlgo<Indi>&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& _continue, eoGenOp<Indi>& _op)
-00103 {
-00104   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00105 }
-00106 
-00107 // simple call to the algo. stays there for consistency reasons 
-00108 // no template for that one
-00109 #include <do/make_run.h>
-00110 // the instanciating fitnesses
-00111 #include <eoScalarFitness.h>
-00112 void run_ea(eoAlgo<Indi>& _ga, eoPop<Indi>& _pop)
-00113 {
-00114   do_run(_ga, _pop);
-00115 }
-00116 
-00117 // checks for help demand, and writes the status file
-00118 // and make_help; in libutils
-00119 void make_help(eoParser & _parser);
-00120 
-00121 // now use all of the above, + representation dependent things
-00122 int main(int argc, char* argv[])
-00123 {
-00124 
-00125   try
-00126   {
-00127   eoParser parser(argc, argv);  // for user-parameter reading
-00128 
-00129   eoState state;    // keeps all things allocated
-00130 
-00131     // The fitness
-00133    eoOneMaxEvalFunc<Indi> plainEval/* (varType  _anyVariable) */;
-00134    // turn that object into an evaluation counter
-00135    eoEvalFuncCounter<Indi> eval(plainEval);
-00136 
-00137   // the genotype - through a genotype initializer
-00138   eoInit<Indi>& init = make_genotype(parser, state, Indi());
-00139 
-00140   // Build the variation operator (any seq/prop construct)
-00141   eoGenOp<Indi>& op = make_op(parser, state, init);
-00142 
-00143 
-00145   //
-00146   // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT
-00147   // unless you want to add specific statistics to the checkpoint
-00149 
-00150   // initialize the population
-00151   // yes, this is representation indepedent once you have an eoInit
-00152   eoPop<Indi>& pop   = make_pop(parser, state, init);
-00153 
-00154   // stopping criteria
-00155   eoContinue<Indi> & term = make_continue(parser, state, eval);
-00156   // output
-00157   eoCheckPoint<Indi> & checkpoint = make_checkpoint(parser, state, eval, term);
-00158   // algorithm (need the operator!)
-00159   eoAlgo<Indi>& ga = make_algo_scalar(parser, state, eval, checkpoint, op);
-00160 
-00162 
-00164   // to be called AFTER all parameters have been read!!!
-00165   make_help(parser);
-00166 
-00169   // evaluate intial population AFTER help and status in case it takes time
-00170   apply<Indi>(eval, pop);
-00171   // if you want to print it out
-00172    cout << "Initial Population\n";
-00173    pop.sortedPrintOn(cout);
-00174    cout << endl;
-00175 
-00176   run_ea(ga, pop); // run the ga
-00177 
-00178   cout << "Final Population\n";
-00179   pop.sortedPrintOn(cout);
-00180   cout << endl;
-00181 
-00182   }
-00183   catch(exception& e)
-00184   {
-00185     cout << e.what() << endl;
-00186   }
-00187   return 0;
-00188 }
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_one_max_lib_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_one_max_lib_e_a_8cpp-source.html deleted file mode 100644 index 7c924c424..000000000 --- a/trunk/paradiseo-eo/doc/html/_one_max_lib_e_a_8cpp-source.html +++ /dev/null @@ -1,155 +0,0 @@ - - -EO: OneMaxLibEA.cpp Source File - - - - - -

OneMaxLibEA.cpp

00001 
-00006 /*
-00007 Template for creating a new representation in EO
-00008 ================================================
-00009 
-00010 This is the template main file for compiling after creating a
-00011 library. 
-00012 See make_OneMax.cpp file.
-00013 */
-00014 
-00015 // Miscilaneous include and declaration 
-00016 #include <iostream>
-00017 using namespace std;
-00018 
-00019 // eo general include
-00020 #include "eo"
-00021 // the real bounds (not yet in general eo include)
-00022 #include "utils/eoRealVectorBounds.h"
-00023 
-00024 // include here whatever specific files for your representation
-00025 // Basically, this should include at least the following
-00026 
-00030 #include "eoOneMax.h"
-00031 
-00035 #include "eoOneMaxInit.h"
-00036 
-00042 #include "eoOneMaxEvalFunc.h"
-00043 
-00044 // GENOTYPE   eoOneMax ***MUST*** be templatized over the fitness
-00045 
-00046 //
-00047 // START fitness type: double or eoMaximizingFitness if you are maximizing
-00048 //                     eoMinimizingFitness if you are minimizing
-00049 typedef eoMinimizingFitness MyFitT ;    // type of fitness 
-00050 // END fitness type
-00051 //
-00052 
-00053 // Then define your EO objects using that fitness type
-00054 typedef eoOneMax<MyFitT> Indi;      // ***MUST*** derive from EO 
-00055 
-00056 // create an initializer - done here and NOT in make_OneMax.cpp
-00057 // because it is NOT representation independent
-00058 #include "make_genotype_OneMax.h"
-00059 eoInit<Indi> & make_genotype(eoParser& _parser, eoState&_state, Indi _eo)
-00060 {
-00061   return do_make_genotype(_parser, _state, _eo);
-00062 } 
-00063 
-00064 // same thing for the variation operaotrs
-00065 #include "make_op_OneMax.h"
-00066 eoGenOp<Indi>&  make_op(eoParser& _parser, eoState& _state, eoInit<Indi>& _init)
-00067 {
-00068   return do_make_op(_parser, _state, _init);
-00069 }
-00070 
-00071 // The representation independent routines are simply declared here
-00072 
-00073 // how to initialize the population 
-00074 // it IS representation independent if an eoInit is given
-00075 eoPop<Indi >&  make_pop(eoParser& _parser, eoState& _state, eoInit<Indi> & _init);
-00076 
-00077 // the stopping criterion
-00078 eoContinue<Indi>& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval);
-00079 
-00080 // outputs (stats, population dumps, ...)
-00081 eoCheckPoint<Indi>& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi>& _eval, eoContinue<Indi>& _continue);
-00082 
-00083 // evolution engine (selection and replacement)
-00084 eoAlgo<Indi>&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& _continue, eoGenOp<Indi>& _op);
-00085 
-00086 // simple call to the algo. stays there for consistency reasons 
-00087 // no template for that one
-00088 void run_ea(eoAlgo<Indi>& _ga, eoPop<Indi>& _pop);
-00089 
-00090 // checks for help demand, and writes the status file
-00091 // and make_help; in libutils - just a declaration, code in libeoutils.a
-00092 void make_help(eoParser & _parser);
-00093 
-00094 // now use all of the above, + representation dependent things
-00095 // from here on, no difference with eoOneMax.cpp
-00096 int main(int argc, char* argv[])
-00097 {
-00098 
-00099   try
-00100   {
-00101   eoParser parser(argc, argv);  // for user-parameter reading
-00102 
-00103   eoState state;    // keeps all things allocated
-00104 
-00105     // The fitness
-00107    eoOneMaxEvalFunc<Indi> plainEval/* (varType  _anyVariable) */;
-00108    // turn that object into an evaluation counter
-00109    eoEvalFuncCounter<Indi> eval(plainEval);
-00110 
-00111   // the genotype - through a genotype initializer
-00112   eoInit<Indi>& init = make_genotype(parser, state, Indi());
-00113 
-00114   // Build the variation operator (any seq/prop construct)
-00115   eoGenOp<Indi>& op = make_op(parser, state, init);
-00116 
-00117 
-00119   //
-00120   // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT
-00121   // unless you want to add specific statistics to the checkpoint
-00123 
-00124   // initialize the population
-00125   // yes, this is representation indepedent once you have an eoInit
-00126   eoPop<Indi>& pop   = make_pop(parser, state, init);
-00127 
-00128   // stopping criteria
-00129   eoContinue<Indi> & term = make_continue(parser, state, eval);
-00130   // output
-00131   eoCheckPoint<Indi> & checkpoint = make_checkpoint(parser, state, eval, term);
-00132   // algorithm (need the operator!)
-00133   eoAlgo<Indi>& ga = make_algo_scalar(parser, state, eval, checkpoint, op);
-00134 
-00136 
-00138   // to be called AFTER all parameters have been read!!!
-00139   make_help(parser);
-00140 
-00143   // evaluate intial population AFTER help and status in case it takes time
-00144   apply<Indi>(eval, pop);
-00145   // if you want to print it out
-00146    cout << "Initial Population\n";
-00147    pop.sortedPrintOn(cout);
-00148    cout << endl;
-00149 
-00150   run_ea(ga, pop); // run the ga
-00151 
-00152   cout << "Final Population\n";
-00153   pop.sortedPrintOn(cout);
-00154   cout << endl;
-00155 
-00156   }
-00157   catch(exception& e)
-00158   {
-00159     cout << e.what() << endl;
-00160   }
-00161   return 0;
-00162 }
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_py_e_o_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_py_e_o_8cpp-source.html deleted file mode 100644 index 2191adfd6..000000000 --- a/trunk/paradiseo-eo/doc/html/_py_e_o_8cpp-source.html +++ /dev/null @@ -1,245 +0,0 @@ - - -EO: PyEO.cpp Source File - - - - - -

PyEO.cpp

00001 /*
-00002     PyEO
-00003 
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <sstream>
-00022 
-00023 #include "PyEO.h"
-00024 #include <eoPop.h>
-00025 
-00026 
-00027 using namespace std;
-00028 //using namespace boost::python;
-00029 
-00030 // static member, needs to be instantiated somewhere
-00031 std::vector<int> PyFitness::objective_info;
-00032 
-00033 bool PyFitness::dominates(const PyFitness& oth) const
-00034 {
-00035     bool dom = false;
-00036 
-00037     for (unsigned i = 0; i < nObjectives(); ++i)
-00038     {
-00039       int objective = objective_info[i];
-00040 
-00041       if (objective == 0) // ignore
-00042           continue;
-00043 
-00044       bool maxim = objective > 0;
-00045 
-00046       double aval = maxim? (*this)[i] : -(*this)[i];
-00047       double bval = maxim? oth[i] : -oth[i];
-00048 
-00049       if (fabs(aval - bval) > tol())
-00050       {
-00051         if (aval < bval)
-00052         {
-00053           return false; // cannot dominate
-00054         }
-00055         // else aval < bval
-00056         dom = true; // for the moment: goto next objective
-00057       }
-00058       //else they're equal in this objective, goto next
-00059     }
-00060 
-00061     return dom;
-00062 }
-00063 
-00064 bool dominates(const PyEO& a, const PyEO& b)
-00065 {
-00066     return PyFitness(a.fitness()).dominates(b.fitness());
-00067 }
-00068 
-00069 ostream& operator<<(ostream& os, const PyEO& _eo)
-00070 {
-00071     os << _eo.to_string();
-00072     return os;
-00073 }
-00074 
-00075 struct pyPop_pickle_suite : boost::python::pickle_suite
-00076 {
-00077     static boost::python::tuple getstate(const eoPop<PyEO>& _pop)
-00078     {
-00079         boost::python::list entries;
-00080         for (unsigned i = 0; i != _pop.size(); ++i)
-00081             entries.append( PyEO_pickle_suite::getstate(_pop[i]) );
-00082 
-00083         return boost::python::make_tuple(boost::python::object(_pop.size()), entries);
-00084     }
-00085 
-00086     static void setstate( eoPop<PyEO>& _pop, boost::python::tuple pickled)
-00087     {
-00088         int sz = boost::python::extract<int>(pickled[0]);
-00089         boost::python::list entries = boost::python::list(pickled[1]);
-00090         _pop.resize(sz);
-00091         for (unsigned i = 0; i != _pop.size(); ++i)
-00092         {
-00093             PyEO_pickle_suite::setstate(_pop[i], boost::python::tuple(entries[i]) );
-00094         }
-00095     }
-00096 };
-00097 
-00098 
-00099 template <class T>
-00100 boost::python::str to_string(T& _p)
-00101 {
-00102     std::ostringstream os;
-00103     _p.printOn(os);
-00104     return boost::python::str(os.str().c_str());
-00105 }
-00106 
-00107 void pop_sort(eoPop<PyEO>& pop) { pop.sort(); }
-00108 void pop_shuffle(eoPop<PyEO>& pop) { pop.shuffle(); }
-00109 
-00110 void translate_index_error(index_error const& e)
-00111 {
-00112         PyErr_SetString(PyExc_IndexError, e.what.c_str());
-00113 }
-00114 
-00115 PyEO& pop_getitem(eoPop<PyEO>& pop, boost::python::object key)
-00116 {
-00117     boost::python::extract<int> x(key);
-00118     if (!x.check())
-00119         throw index_error("Slicing not allowed");
-00120 
-00121     int i = x();
-00122 
-00123     if (static_cast<unsigned>(i) >= pop.size())
-00124     {
-00125         throw index_error("Index out of bounds");
-00126     }
-00127     return pop[i];
-00128 }
-00129 
-00130 void pop_setitem(eoPop<PyEO>& pop, boost::python::object key, PyEO& value)
-00131 {
-00132     boost::python::extract<int> x(key);
-00133     if (!x.check())
-00134         throw index_error("Slicing not allowed");
-00135 
-00136     int i = x();
-00137 
-00138     if (static_cast<unsigned>(i) >= pop.size())
-00139     {
-00140         throw index_error("Index out of bounds");
-00141     }
-00142 
-00143     pop[i] = value;
-00144 }
-00145 
-00146 void pop_push_back(eoPop<PyEO>& pop, PyEO& p) { pop.push_back(p); }
-00147 void pop_resize(   eoPop<PyEO>& pop, unsigned i) { pop.resize(i); }
-00148 
-00149 extern void abstract1();
-00150 extern void algos();
-00151 extern void random_numbers();
-00152 extern void geneticOps();
-00153 extern void selectOne();
-00154 extern void continuators();
-00155 extern void reduce();
-00156 extern void replacement();
-00157 extern void selectors();
-00158 extern void breeders();
-00159 extern void mergers();
-00160 extern void valueParam();
-00161 extern void perf2worth();
-00162 extern void monitors();
-00163 extern void statistics();
-00164 
-00165 BOOST_PYTHON_MODULE(PyEO)
-00166 {
-00167     using namespace boost::python;
-00168 
-00169     boost::python::register_exception_translator<index_error>(&translate_index_error);
-00170 
-00171     boost::python::class_<PyEO>("EO")
-00172         .add_property("fitness", &PyEO::getFitness, &PyEO::setFitness)
-00173         .add_property("genome", &PyEO::getGenome, &PyEO::setGenome)
-00174         .def_pickle(PyEO_pickle_suite())
-00175         .def("invalidate", &PyEO::invalidate)
-00176         .def("invalid", &PyEO::invalid)
-00177         .def("__str__", &PyEO::to_string)
-00178         ;
-00179 
-00180     boost::python::class_<eoPop<PyEO> >("eoPop", init<>() )
-00181         .def( init< unsigned, eoInit<PyEO>& >()[with_custodian_and_ward<1,3>()] )
-00182         .def("append", &eoPop<PyEO>::append)
-00183         .def("__str__", to_string<eoPop<PyEO> >)
-00184         .def("__len__", &eoPop<PyEO>::size)
-00185         .def("sort",    pop_sort )
-00186         .def("shuffle", pop_shuffle)
-00187         .def("__getitem__", pop_getitem, return_internal_reference<>() )
-00188         .def("__setitem__", pop_setitem)
-00189         .def("best", &eoPop<PyEO>::best_element, return_internal_reference<>() )
-00190         .def("push_back", pop_push_back)
-00191         .def("resize",    pop_resize)
-00192         .def_pickle(pyPop_pickle_suite())
-00193         ;
-00194 
-00195 
-00196     // Other definitions in different compilation units,
-00197     // this to avoid having g++ to choke on the load
-00198     random_numbers();
-00199     valueParam();
-00200     abstract1();
-00201     geneticOps();
-00202     selectOne();
-00203     selectors();
-00204     perf2worth();
-00205     monitors();
-00206     statistics();
-00207     continuators();
-00208     reduce();
-00209     replacement();
-00210     breeders();
-00211     mergers();
-00212     algos();
-00213 
-00214     // The traits class
-00215     class_<PyFitness>("PyFitness");
-00216 
-00217         def("nObjectives", &PyFitness::nObjectives);
-00218         def("tol", &PyFitness::tol);
-00219         def("maximizing", &PyFitness::maximizing);
-00220         def("setObjectivesSize", &PyFitness::setObjectivesSize);
-00221         def("setObjectivesValue", &PyFitness::setObjectivesValue);
-00222         def("dominates", dominates);
-00223 }
-00224 
-00225 
-00226 // to avoid having to build with libeo.a
-00227 ostream & operator << ( ostream& _os, const eoPrintable& _o ) {
-00228             _o.printOn(_os);
-00229                     return _os;
-00230 };
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_py_e_o_8h-source.html b/trunk/paradiseo-eo/doc/html/_py_e_o_8h-source.html deleted file mode 100644 index a572bb9a6..000000000 --- a/trunk/paradiseo-eo/doc/html/_py_e_o_8h-source.html +++ /dev/null @@ -1,171 +0,0 @@ - - -EO: PyEO.h Source File - - - - - -

PyEO.h

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #ifndef PYEO_H
-00022 #define PYEO_H
-00023 
-00024 
-00025 #include <string>
-00026 #include <vector>
-00027 #include <exception>
-00028 #include <boost/python.hpp>
-00029 
-00030 #include <EO.h>
-00031 struct index_error : public std::exception { 
-00032     index_error(std::string w) : what(w) {}; 
-00033     virtual ~index_error() throw() {}
-00034     std::string what; 
-00035 };
-00036 
-00037 class PyFitness : public boost::python::object
-00038 {
-00039     public :
-00040     
-00041     typedef PyFitness fitness_traits; // it's its own traits class :-)
-00042         
-00043     PyFitness() : boost::python::object() {}
-00044     
-00045     template <class T>
-00046     PyFitness(const T& o) : boost::python::object(o) {}
-00047     
-00048     static unsigned nObjectives() { return objective_info.size(); }
-00049     static double tol() { return 1e-6; }
-00050     static bool maximizing(int which) { return objective_info[which] > 0; }
-00051     
-00052     static void setObjectivesSize(int sz) { objective_info.resize(sz, 0); }
-00053     static void setObjectivesValue(unsigned which, int value)
-00054     {
-00055         if (which >= objective_info.size())
-00056         {
-00057             throw index_error("Too few elements allocated, resize objectives first");
-00058         }
-00059 
-00060         objective_info[which] = value;
-00061     }
-00062     
-00063     static std::vector<int> objective_info;
-00064     
-00065     bool dominates(const PyFitness& oth) const;
-00066     
-00067     double operator[](int i) const 
-00068     { 
-00069         boost::python::extract<double> x(object::operator[](i)); 
-00070     
-00071         if (!x.check())
-00072             throw std::runtime_error("PyFitness: does not contain doubles");
-00073         return x();
-00074     }
-00075  
-00076     bool operator<(const PyFitness& other) const 
-00077     { 
-00078         if (objective_info.size() == 0)
-00079         {
-00080             const object& self = *this;
-00081             const object& oth = other;
-00082             return self < oth;
-00083         }
-00084         // otherwise use objective_info
-00085     
-00086         for (unsigned i = 0; i < objective_info.size(); ++i)
-00087         {
-00088             double a = objective_info[i] * operator[](i);
-00089             double b = objective_info[i] * other[i];
-00090 
-00091             if ( fabs(a - b) > tol())
-00092             {
-00093                 if (a < b)
-00094                     return true;
-00095                 return false;
-00096             }
-00097         }
-00098 
-00099         return false;
-00100     }
-00101     
-00102     bool operator>(const PyFitness& other) const 
-00103     { 
-00104         return other.operator<(*this);
-00105     }
-00106     
-00107     void printOn(std::ostream& os) const { const boost::python::object& o = *this; boost::python::api::operator<<(os,o); }
-00108     friend std::ostream& operator<<(std::ostream& os, const PyFitness& p) { p.printOn(os); return os;  }
-00109     friend std::istream& operator>>(std::istream& is, PyFitness& p) { boost::python::object o; is >> o; p = o; return is; }
-00110 };
-00111 
-00112 struct PyEO : public EO< PyFitness  >
-00113 {  
-00114     typedef PyFitness Fitness;
-00115     
-00116     boost::python::object getFitness() const { return invalid()? Fitness(): fitness(); }
-00117     void setFitness(boost::python::object f) { if (f == Fitness()) invalidate(); else fitness(f); }
-00118 
-00119     boost::python::object getGenome() const { return genome; }
-00120     void setGenome(boost::python::object g) { genome = g; }
-00121     boost::python::object genome;
-00122     
-00123     std::string to_string() const
-00124     {
-00125         std::string result;
-00126         result += boost::python::extract<const char*>(boost::python::str(getFitness()));
-00127         result += ' ';
-00128         result += boost::python::extract<const char*>(boost::python::str(genome));
-00129         return result;
-00130     }
-00131 
-00132     bool operator<(const PyEO& other) const { return EO<Fitness>::operator<(other); }
-00133     bool operator>(const PyEO& other) const { return EO<Fitness>::operator>(other); }
-00134 
-00135 };
-00136 
-00137 std::ostream& operator<<(std::ostream& os, const PyEO& _eo);
-00138 
-00139 struct PyEO_pickle_suite : boost::python::pickle_suite
-00140 {
-00141     typedef PyEO::Fitness Fitness;
-00142     
-00143     static
-00144     boost::python::tuple getstate(const PyEO& _eo)
-00145     {
-00146         return boost::python::make_tuple(_eo.getFitness(), _eo.genome);
-00147     }
-00148     static
-00149     void setstate(PyEO& _eo, boost::python::tuple pickled)
-00150     {
-00151         _eo.setFitness( Fitness(pickled[0]) );
-00152         _eo.genome = pickled[1];
-00153     }
-00154 };
-00155 
-00156 #endif
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_r_e_a_d_m_e-source.html b/trunk/paradiseo-eo/doc/html/_r_e_a_d_m_e-source.html deleted file mode 100644 index 40873eadb..000000000 --- a/trunk/paradiseo-eo/doc/html/_r_e_a_d_m_e-source.html +++ /dev/null @@ -1,115 +0,0 @@ - - -EO: README Source File - - - - -

README

00001                       EO README FILE
-00002 =======================================================================
-00003          check latest news at http://eodev.sourceforge.net/
-00004 =======================================================================
-00005 
-00006 Welcome to EO, the Evolving Objects library.
-00007 
-00008 The latest news about EO can be found on the sourceforge repository at
-00009 
-00010 http://eodev.sourceforge.net/
-00011 
-00012 In case of any problem, please e-mail us at
-00013 
-00014 eodev@egroups.com, eodev-main@lists.sourceforge.net
-00015 
-00016 
-00017 ==================================================================
-00018                       BUILDING EO
-00019 ==================================================================
-00020 The basic installation procedure goes the following:
-00021 
-00022 Go to your build-directory and run 
-00023     $(SRCDIR)/configure
-00024     make
-00025     make check
-00026     make install
-00027 where $(SRCDIR) is the top-level source directory of EO, i.e. where
-00028 the sources where unpacked.
-00029 
-00030 See $(SRCDIR)/configure for possible options. You can specify to not
-00031 build example applications, the tutorial, or to build the ParadisEO
-00032 tutorial. You may also change the installation directory that way.
-00033 
-00034 Now you should probably go to the tutorial and start learning about EO
-00035 features and programming.
-00036 
-00037 
-00038 In case of problems, you can read the INSTALL file - but remember this
-00039 is a standard installation file from GNU and that it contains nothing
-00040 specific about EO.
-00041 
-00042 
-00043 ===================================================================
-00044                        DIRECTORY STRUCTURE
-00045 ===================================================================
-00046 After unpacking the archive file, you should end up with the following
-00047 structure:
-00048 
-00049 .../                            the MAIN EO dir, created when unpacking
-00050    |
-00051    +-- src                    SOURCE dir. Contains most EO .h files
-00052    |   |
-00053    |   +- utils          general utilities (e.g. RNG-related source files)
-00054    |   |
-00055    |   +- ga             bistring-genotypes source files
-00056    |   |
-00057    |   +- es             real-valued-genotypes source files  
-00058    |   |
-00059    |   +- gp             Genetic Programming source files
-00060    |   |
-00061    |   +- obsolete       files from old versions - for upward compatibility
-00062    |
-00063    |
-00064    |
-00065    +-- tutorial               TUTORIAL dir (indeed :-)
-00066    |   |
-00067    |   +- html           all html files - start by browsing index.html
-00068    |   | 
-00069    |   +- LessonX        for X=1, 2, 3, ... : example of increasing complexity
-00070    | 
-00071    |
-00072    |
-00073    +-- doc                    DOCUMENTATION dir (generated by Doxygen)
-00074    |   |
-00075    |   +- html             HTML files - start at index.html (see also tutorial)
-00076    |   |
-00077    |   +- latex            latex files - use to generate Poatscript doc.
-00078    |   |
-00079    |   +- man              Unix man format documentation
-00080    |
-00081    |
-00082    +-- test                   TEST files - for debugging purposes only
-00083    |
-00084    |
-00085    +-- app                    APPLICATIONS - one dir per separate application
-00086    |   |
-00087    |   +- gprop            GA/backpropagation for neural nets 
-00088    |   |
-00089    |   +- mastermind       the wellknown MasterMind game
-00090    |
-00091    |
-00092    +-- win                    WINDOWS dir: project files for MS/VC5+
-00093 
-00094 
-00095 
-00096 ===================================================================
-00097               NOTES
-00098 ===================================================================
-00099 If you extracted a fresh snapshot from the cvs-repository, remember
-00100 to run
-00101     ./autogen.sh
-00102 in the source-directory before building the libraries.
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_r_e_a_d_m_e_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_r_e_a_d_m_e_8cpp-source.html deleted file mode 100644 index 26d07b64c..000000000 --- a/trunk/paradiseo-eo/doc/html/_r_e_a_d_m_e_8cpp-source.html +++ /dev/null @@ -1,379 +0,0 @@ - - -EO: README.cpp Source File - - - - - -

README.cpp

00001 
-00002 /* 
-00003         DESCRIPTION:
-00004 
-00005 
-00006 The class 'Sym' in this package provides a reference counted, hashed tree structure that can be used in genetic programming.
-00007 The hash table behind the scenes makes sure that every subtree in the application is stored only once.
-00008 This has a couple of advantages:
-00009 
-00010 o Memory: all subtrees are stored only once
-00011 o Comparison: comparison for equality for two subtrees boils down to a pointer comparison 
-00012 o Overview: by accessing the hashtable, you get an instant overview of the state of the population
-00013 
-00014 
-00015 The disadvantage of this method is the constant time overhead for computing hashes. In practice,
-00016 it seems to be fast enough.
-00017 
-00018 
-00019 ===== How to Use this =========
-00020 
-00021 In essence, the Sym data structure contains two important pieces of data,
-00022 the 'token' (of type token_t = int) and the children, a vector of Sym (called SymVec).
-00023 The token should contain all information to be able to figure out which 
-00024 function/terminal is represented by the node in the tree. By retrieving this token value
-00025 and the SymVec it is possible to write recursive traversal routines for evaluation, printing,
-00026 etc.
-00027 
-00028 */
-00029 
-00030 #include <iostream>
-00031 #include "Sym.h"
-00032 
-00033 using namespace std;
-00034 
-00035 
-00036 /* 
-00037  * Suppose token value '0' designates our terminal, and token value '1' designates a binary function.
-00038  * Later on a ternary function will be used as well, designated with token value '2'
-00039  * The function below will create a tree of size three
-00040 */
-00041 Sym test1() {
-00042     
-00043     SymVec children; 
-00044     children.push_back( Sym(0) ); // push_back is a member from std::vector, SymVec is derived from std::vector
-00045     children.push_back( Sym(0) );
-00046 
-00047     Sym tree = Sym(token_t(1), children); // creates the tree
-00048 
-00049     /* Done, now print some information about the node */
-00050 
-00051     cout << "Size      =  " << tree.size() << endl;     // prints 3
-00052     cout << "Depth     = " << tree.depth() << endl;    // prints 2
-00053     cout << "Refcount  = " << tree.refcount() << endl; // prints 1
-00054 
-00055     Sym tree2 = tree; // make a copy (this only changes refcount)
-00056 
-00057     cout << "Refcount now = " << tree.refcount() << endl; // print 2
-00058     
-00059     return tree; // tree2 will be deleted and reference count returns to 1
-00060 }
-00061 
-00062 /* To actually use the tree, evaluate it, the following simple recursive function
-00063  * can be used
-00064 */
-00065 
-00066 int eval(const Sym& sym) {
-00067     if (sym.token() == 0) { // it's a terminal in this example
-00068         return 1;
-00069     }
-00070     // else it's the function
-00071     const SymVec& children = sym.args(); // get the children out, children.size() is the arity
-00072 
-00073     // let's assume that we've also got a ternary function designated by token '2'
-00074     
-00075     if (sym.token() == token_t(1))
-00076         return eval(children[0]) + eval(children[1]); // evaluate
-00077 
-00078     return eval(children[0]) + eval(children[1]) * eval(children[2]); // a ternary function
-00079 }
-00080 
-00081 /* Note that you simply use the stored token that was defined above. Simply checking the size of SymVec in
-00082  * this particular example could have sufficed, but it's instructive to use the tokens.
-00083  * 
-00084  * And to test this: 
-00085 */
-00086 
-00087 void test_eval() {
-00088     
-00089     Sym tree = test1();
-00090 
-00091     cout << "Evaluating tree1 returns " << eval(tree) << endl;
-00092 }
-00093 
-00094 /* Writing initialization functions.
-00095  *
-00096  * As the Sym class is recursive in nature, initialization can simply be done using 
-00097  * recursive routines as above. As an example, the following code does 'full' initialization.
-00098  */
-00099 
-00100 Sym init_full(int depth_left) {
-00101     if (depth_left == 0) return Sym(0); // create terminal
-00102     // else create either a binary or a ternary function
-00103     
-00104     depth_left--;
-00105     
-00106     if (rand() % 2 == 0) { // create binary
-00107         SymVec vec(2);
-00108         vec[0] = init_full(depth_left);
-00109         vec[1] = init_full(depth_left);
-00110 
-00111         return Sym(token_t(1), vec);
-00112         
-00113     } else { // create ternary tree
-00114         SymVec vec(3);
-00115         vec[0] = init_full(depth_left);
-00116         vec[1] = init_full(depth_left);
-00117         vec[2] = init_full(depth_left);
-00118 
-00119         return Sym(token_t(2), vec); // token value 2 designates a ternary now, even though the arity can simply be read from the size of the 'SymVec'
-00120     }
-00121     
-00122 }
-00123 
-00124 
-00125 /* Examining the hash table.
-00126  *
-00127  * The hash table is a static member of the Sym class, but can be obtained and inspected
-00128  * at any point during the run. The hash table follows the SGI implementation of hashmap (and effectively
-00129  * uses it in gcc). An example:
-00130  */
-00131 
-00132 void inspect_hashtable() {
-00133     SymMap& dag = Sym::get_dag(); // get the hashmap
-00134     unsigned i = 0;
-00135     for (SymMap::iterator it = dag.begin(); it != dag.end(); ++it) {
-00136         Sym node(it); // initialize a 'sym' with the iterator 
-00137 
-00138         cout << "Node " << i++ << " size " << node.size();
-00139         cout << " refcount " << node.refcount()-1; // -1: note that by creating the Sym above the refcount is increased
-00140         cout << " depth " << node.depth();
-00141         cout << '\n';
-00142     }
-00143     
-00144 }
-00145 
-00146 /* The above code effectively examines all distinct subtrees in use in the application and prints some stats for the node */
-00147 
-00148 /* Manipulating trees 
-00149  *
-00150  * The Sym class is set up in such a way that you cannot change a Sym, so how do you perform crossover and mutation?
-00151  *
-00152  * Simple, you create new syms. The Sym class supports two functions to make this easier: 'get_subtree' and 'insert_subtree'.
-00153  * These traverse the tree by index, where 0 designates the root and other values are indexed depth first.
-00154  */
-00155 
-00156 Sym subtree_xover(Sym a, Sym b) {
-00157     
-00158     Sym to_insert = get_subtree(a,  rand() % a.size() ); // select random subtree, will crash if too high a value is given
-00159     
-00160     /* 'insert' it into b. This will not really insert, it will however create a new sym,
-00161      * equal to 'b' but with a's subtree inserted at the designated spot. */
-00162     return insert_subtree(b, rand() % b.size(), to_insert); 
-00163     
-00164 }
-00165 
-00166 /* Tying it together, we can create a simple genetic programming system. Mutation is not implemented here,
-00167  * but would be easy enough to add by using recursion and/or 'set'. */
-00168 
-00169 void run_gp() {
-00170     
-00171     int ngens = 50;
-00172     int popsize = 1000;
-00173 
-00174     cout << "Starting running " << popsize << " individuals for " << ngens << " generations." << endl;
-00175     
-00176     vector<Sym> pop(popsize); 
-00177     
-00178     // init population
-00179     for (unsigned i = 0; i < pop.size(); ++i) {
-00180         pop[i] = init_full(5); 
-00181     }
-00182     
-00183     double best = 0.0;
-00184     
-00185     // do a very simple steady state tournament 
-00186     for (unsigned gen = 0; gen < ngens * pop.size(); ++gen) {
-00187         int sel1 = rand()% pop.size();
-00188         int sel2 = rand() % pop.size();
-00189         int sel3 = rand() % pop.size();
-00190 
-00191         double ev1 = eval(pop[sel1]);
-00192         double ev3 = eval(pop[sel3]);
-00193         
-00194         double bst = max(ev1,ev3);
-00195         if (bst > best) {
-00196             best = bst;
-00197         }
-00198         
-00199         if (ev3 > ev1) {
-00200             sel1 = sel3; // selection pressure
-00201         }
-00202 
-00203         Sym child = subtree_xover(pop[sel1], pop[sel2]);
-00204         
-00205         // Check for uniqueness
-00206         if (child.refcount() == 1) pop[ rand() % pop.size() ] = child;
-00207     }
-00208     
-00209     // and at the end:
-00210     
-00211     inspect_hashtable();
-00212 
-00213     // and also count number of nodes in the population
-00214     int sz = 0;
-00215     for (unsigned i = 0; i < pop.size(); ++i) { sz += pop[i].size(); }
-00216     cout << "Number of distinct nodes " << Sym::get_dag().size() << endl;
-00217     cout << "Nodes in population      " << sz << endl;
-00218     cout << "ratio                    " << double(Sym::get_dag().size())/sz << endl;
-00219     cout << "Best fitness             " << best << endl;
-00220     
-00221 }
-00222 
-00223 /* One extra mechanism is supported to add annotations to nodes. Something derived from
-00224  * 'UniqueNodeStats' can be used to attach new information to nodes. For this to function,
-00225  * we need to supply a 'factory' function that creates these node-stats; attach this function to the 
-00226  * Sym class, so that it gets called whenever a new node is created. The constructors of the Sym class
-00227  * take care of this.
-00228  *
-00229  * IMPORTANT: 
-00230  *      in a realistic application, the factory function needs to be set BEFORE any Syms are created
-00231  *      Mixing Syms creating with and without the factory can lead to unexpected results    
-00232  *
-00233  * First we derive some structure from UniqueNodeStats: */
-00234 
-00235 struct MyNodeStats : public UniqueNodeStats {
-00236     
-00237     int sumsize;
-00238     
-00239     ~MyNodeStats() { cout << "MyNodeStats::~MyNodeStats, sumsize = " << sumsize << endl; }
-00240 };
-00241 
-00242 /* then define the factory function. It will get a Sym, which is just created.  */
-00243 UniqueNodeStats* create_stats(const Sym& sym) {
-00244     MyNodeStats* stats = new MyNodeStats; // Sym will take care of memory management
-00245     
-00246     int sumsize = sym.size();
-00247     for (unsigned i = 0; i < sym.args().size(); ++i) {
-00248         // retrieve the extra node stats of the child
-00249         UniqueNodeStats* unique_stats = sym.args()[i].extra_stats(); // extra_stats retrieves the stats
-00250         MyNodeStats* child_stats = static_cast<MyNodeStats*>(unique_stats); // cast it to the right struct
-00251         sumsize += child_stats->sumsize;
-00252     }
-00253     
-00254     stats->sumsize = sumsize;
-00255     return stats; // now it will get attached to the node and deleted when its reference count goes to zero
-00256 }
-00257 
-00258 void test_node_stats() {
-00259     
-00260     if (Sym::get_dag().size() != 0) {
-00261         cerr << "Cannot mix nodes with and without factory functions" << endl;
-00262         exit(1);
-00263     }
-00264     
-00265     /* Very Important: attach the factory function to the Sym class */
-00266     Sym::set_factory_function(create_stats);
-00267 
-00268     Sym tree = init_full(5); // create a tree
-00269     
-00270     // get extra node stats out
-00271     MyNodeStats* stats = static_cast<MyNodeStats*>( tree.extra_stats() );
-00272 
-00273     cout << "Size = " << tree.size() << " SumSize = " << stats->sumsize << endl;
-00274     
-00275     Sym::clear_factory_function(); // reset
-00276 }
-00277 
-00278 
-00279 /* And run the code above */
-00280 
-00281 int main() {
-00282     srand(time(0));
-00283     cout << "********** TEST EVALUATION **************\n";
-00284     test_eval();
-00285     cout << "********** TEST ALGORITHM ***************\n";
-00286     run_gp();
-00287 
-00288     cout << "********** TEST FACTORY  ****************\n";
-00289     test_node_stats(); // can work because there are no live nodes
-00290 
-00291 }
-00292 
-00293 /* ********** Member function reference: ********************
-00294  *
-00295  * Sym()            The default constructor will create an undefined node (no token and no children), check for empty() to see if a node is undefined
-00296  * 
-00297  * Sym(token_t)     Create a terminal
-00298  *
-00299  * Sym(token_t, const SymVec&)
-00300  *                  Create a node with token and SymVec as the children
-00301  * 
-00302  * Sym(SymIterator it)
-00303  *                  Create a sym from an iterator (taken from the hashtable directly, or from Sym::iterator)
-00304  *
-00305  * dtor, copy-ctor and assignment
-00306  *
-00307  * UniqueNodeStats* extra_stats()    
-00308  *                  Returns an UniqueNodeStats pointer (= 0 if no factory is defined)
-00309  * 
-00310  * 
-00311  * int hashcode()   returns the hashcode for the node
-00312  * 
-00313  * int refcount()   returns the reference count for the node
-00314  * 
-00315  * bool operator==  checks for equality (note that this is a pointer compare, really really fast)
-00316  * 
-00317  * bool empty()     returns whether the node is undefined, i.e. created through the default ctor 
-00318  * 
-00319  * int arity()      shorthand for sym.args().size()
-00320  * 
-00321  * token_t token()  return identifying token for the node
-00322  * 
-00323  * const SymVec& args()
-00324  *                  returns the children of the node (in a vector<Sym>)
-00325  *                  
-00326  * unsigned size()  returns the size, i.e., number of nodes
-00327  * 
-00328  * unsigned depth() returns the depth
-00329  * 
-00330  * iterator()       returns the pointer to the node in the hashtable
-00331  *
-00332  * 
-00333  ********** Static functions: ********************
-00334  *
-00335  *
-00336  * 
-00337  * SymMap& get_dag()    returns the hash table containing all nodes. This should only be used for inspection,
-00338  *                      even though the dag itself is not const. This to enable the use of the ctor Sym(SymIterator) to inspect
-00339  *                      using the Sym interface (rather than the hash table interface). This does allow you to make destructive
-00340  *                      changes to the class, so use with care
-00341  *
-00342  * set_factory_function( UniqueNodeStats (*)(const Sym&) )
-00343  *                      Set the factory function
-00344  *
-00345  *  clear_factory_function()    
-00346  *                      Clears the factory function, allocated UniqueNodeStats will still be deleted, but no new ones will be created.
-00347  *
-00348  ********** Utility Functions ******************** 
-00349  * 
-00350  * Sym get_subtree(const Sym& org, int i)
-00351  *                      Retreive the i-th subtree from the Sym. Standard depth first ordering, where root has index 0 and the
-00352  *                      rightmost terminal has index sym.size()-1
-00353  *
-00354  * Sym insert_subtree(const Sym& org, int i, const Sym& subtree)
-00355  *                      Returns a Sym that is equal to 'org', for which the i-th subtree (same ordering as get_subtree) is replaced
-00356  *                      by the third argument subtree.
-00357  * 
-00358  * Sym next(const Sym&)
-00359  *                      Returns the successor of the argument sym from the hashtable with wrap around. This is implemented just because
-00360  *                      it can be done. It may be an interesting way to mutate...
-00361  * 
-00362  * */
-00363 
-00364 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_real_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_real_e_a_8cpp-source.html deleted file mode 100644 index 000c93bdf..000000000 --- a/trunk/paradiseo-eo/doc/html/_real_e_a_8cpp-source.html +++ /dev/null @@ -1,79 +0,0 @@ - - -EO: RealEA.cpp Source File - - - - - -

RealEA.cpp

00001 #include <iostream>
-00002 
-00003 #include <es/make_real.h>
-00004 #include "real_value.h"
-00005 #include <apply.h>
-00006 
-00007 using namespace std;
-00008 
-00009 int main(int argc, char* argv[])
-00010 {
-00011 
-00012   try
-00013   {
-00014   typedef eoReal<eoMinimizingFitness> EOT;
-00015 
-00016   eoParser parser(argc, argv);  // for user-parameter reading
-00017 
-00018   eoState state;    // keeps all things allocated
-00019 
-00022 
-00023   // The evaluation fn - encapsulated into an eval counter for output 
-00024   eoEvalFuncPtr<EOT, double, const std::vector<double>&> 
-00025                mainEval( real_value );
-00026   eoEvalFuncCounter<EOT> eval(mainEval);
-00027 
-00028   // the genotype - through a genotype initializer
-00029   eoRealInitBounded<EOT>& init = make_genotype(parser, state, EOT());
-00030 
-00031   // Build the variation operator (any seq/prop construct)
-00032   eoGenOp<EOT>& op = make_op(parser, state, init);
-00033 
-00036 
-00037   // initialize the population - and evaluate
-00038   // yes, this is representation indepedent once you have an eoInit
-00039   eoPop<EOT>& pop   = make_pop(parser, state, init);
-00040 
-00041   // stopping criteria
-00042   eoContinue<EOT> & term = make_continue(parser, state, eval);
-00043   // output
-00044   eoCheckPoint<EOT> & checkpoint = make_checkpoint(parser, state, eval, term);
-00045   // algorithm (need the operator!)
-00046   eoAlgo<EOT>& ea = make_algo_scalar(parser, state, eval, checkpoint, op);
-00047 
-00050   // to be called AFTER all parameters have been read!!!
-00051   make_help(parser);
-00052 
-00055   // evaluate intial population AFTER help and status in case it takes time
-00056   apply<EOT>(eval, pop);
-00057   // print it out
-00058   cout << "Initial Population\n";
-00059   pop.sortedPrintOn(cout);
-00060   cout << endl;
-00061 
-00062   run_ea(ea, pop); // run the ea
-00063 
-00064   cout << "Final Population\n";
-00065   pop.sortedPrintOn(cout);
-00066   cout << endl;
-00067   }
-00068   catch(exception& e)
-00069   {
-00070     cout << e.what() << endl;
-00071   }
-00072 }
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_royal_road_8h-source.html b/trunk/paradiseo-eo/doc/html/_royal_road_8h-source.html deleted file mode 100644 index b7c19c038..000000000 --- a/trunk/paradiseo-eo/doc/html/_royal_road_8h-source.html +++ /dev/null @@ -1,74 +0,0 @@ - - -EO: RoyalRoad.h Source File - - - - - -

RoyalRoad.h

00001 /*
-00002    RoyalRoad.h
-00003    -- Implementation of the Royal Road function for any length and block size
-00004    (c) GeNeura Team 2001, Marc Schoenauer 2000
-00005 
-00006     This library is free software; you can redistribute it and/or
-00007     modify it under the terms of the GNU Lesser General Public
-00008     License as published by the Free Software Foundation; either
-00009     version 2 of the License, or (at your option) any later version.
-00010 
-00011     This library is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00014     Lesser General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU Lesser General Public
-00017     License along with this library; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 
-00020     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00021              Marc.Schoenauer@polytechnique.fr
-00022 CVS Info: $Date: 2001/06/21 12:03:17 $ $Header: /cvsroot/eodev/eo/test/RoyalRoad.h,v 1.3 2001/06/21 12:03:17 jmerelo Exp $ $Author: jmerelo $
-00023 */
-00024 
-00025 #ifndef RoyalRoad_h
-00026 #define RoyalRoad_h
-00027 
-00028 template<class EOT>
-00029 class RoyalRoad: public eoEvalFunc<EOT> {
-00030 
-00031  public:
-00032 
-00033   typedef typename EOT::Fitness FitT;
-00034 
-00036   RoyalRoad( unsigned _div ): eoEvalFunc<EOT >(), div( _div ) {};
-00037 
-00038   // Applies the function
-00039   virtual void operator() ( EOT & _eo )  {
-00040         FitT fitness = 0;
-00041     if (_eo.invalid()) {
-00042           for ( unsigned i = 0; i < _eo.size()/div; i ++ ) {
-00043                 bool block = true;
-00044                 for ( unsigned j = 0; j < div; j ++ ) {
-00045                   block &= _eo[i*div+j];
-00046                 }
-00047                 if (block) {
-00048                   fitness += div;
-00049                 }
-00050           }
-00051           _eo.fitness( fitness );
-00052         }
-00053   };
-00054         
-00055   private:
-00056         unsigned div;
-00057 
-00058 };
-00059 
-00060 #endif
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_scaling_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_scaling_8cpp-source.html deleted file mode 100644 index 8870ceaa7..000000000 --- a/trunk/paradiseo-eo/doc/html/_scaling_8cpp-source.html +++ /dev/null @@ -1,432 +0,0 @@ - - -EO: Scaling.cpp Source File - - - - - -

Scaling.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include "Scaling.h"
-00019 #include "TargetInfo.h"
-00020 
-00021 using namespace std;
-00022 
-00023 Scaling slope(const std::valarray<double>& x, const TargetInfo& targets) {
-00024     
-00025     double xx = 0.0;
-00026     double xy = 0.0;
-00027     
-00028     const valarray<double>& y = targets.targets();
-00029     
-00030     for (unsigned i = 0; i < x.size(); ++i) {
-00031         xx += x[i] * x[i];
-00032         xy += x[i] * y[i];
-00033     }
-00034     
-00035     if (xx < 1e-7) return Scaling(new LinearScaling(0.0,0.0));
-00036     
-00037     double b = xy / xx;
-00038    
-00039     return Scaling(new LinearScaling(0.0, b));
-00040     
-00041 }
-00042 
-00043 // Still needs proper testing with non-trivial lambda
-00044 Scaling regularized_least_squares(const std::valarray<double>& inputs, const TargetInfo& targets, double lambda) {
-00045     
-00046     double n = inputs.size();
-00047     
-00048     valarray<double> x = inputs;
-00049 
-00050     double a,b,d;
-00051     a=b=d=0;
-00052 
-00053     for (unsigned i = 0; i < n; ++i) {
-00054         a += 1 + lambda;
-00055         b += x[i];
-00056         d += x[i] * x[i] + lambda;
-00057     }
-00058     
-00059     //invert
-00060     
-00061     double ad_bc = a*d - b * b;
-00062     // if ad_bc equals zero there's a problem
-00063    
-00064     if (ad_bc < 1e-17) return Scaling(new LinearScaling);
-00065     
-00066     double ai = d/ad_bc;
-00067     double bi = -b/ad_bc;
-00068     double di = a/ad_bc;
-00069     double ci = bi;
-00070     
-00071     // Now multiply this inverted covariance matrix (C^-1) with x' * t
-00072     
-00073     std::valarray<double> ones = x;
-00074     
-00075     // calculate C^-1 * x' )
-00076     for (unsigned i = 0; i < n; ++i) 
-00077     {
-00078         ones[i] = (ai + bi * x[i]);
-00079         x[i]    = (ci + di * x[i]);
-00080     }
-00081 
-00082     // results are in [ones, x], now multiply with y
-00083 
-00084     a = 0.0; // intercept
-00085     b = 0.0; // slope
-00086     
-00087     const valarray<double>& t = targets.targets();
-00088     
-00089     for (unsigned i = 0; i < n; ++i)
-00090     {
-00091         a += ones[i] * t[i];
-00092         b += x[i] * t[i];
-00093     }
-00094     
-00095     return Scaling(new LinearScaling(a,b));
-00096 }
-00097 
-00098 Scaling ols(const std::valarray<double>& y, const std::valarray<double>& t) {
-00099     double n = y.size();
-00100     
-00101     double y_mean = y.sum() / n;
-00102     double t_mean = t.sum() / n;
-00103    
-00104     std::valarray<double> y_var = (y - y_mean);
-00105     std::valarray<double> t_var = (t - t_mean);
-00106     std::valarray<double> cov = t_var * y_var;
-00107     
-00108     y_var *= y_var;
-00109     t_var *= t_var;
-00110     
-00111     double sumvar = y_var.sum();
-00112     
-00113     if (sumvar == 0. || sumvar/n < 1e-7 || sumvar/n > 1e+7) // breakout when numerical problems are likely
-00114         return Scaling(new LinearScaling(t_mean,0.));
-00115 
-00116     
-00117     double b = cov.sum() / sumvar;
-00118     double a = t_mean - b * y_mean;
-00119     
-00120     Scaling s = Scaling(new LinearScaling(a,b));
-00121 
-00122     return s;
-00123 }
-00124 
-00125 Scaling ols(const std::valarray<double>& y, const TargetInfo& targets) {
-00126     double n = y.size();
-00127     
-00128     double y_mean = y.sum() / n;
-00129     
-00130     std::valarray<double> y_var = (y - y_mean);
-00131     std::valarray<double> cov = targets.tcov_part() * y_var;
-00132     
-00133     y_var *= y_var;
-00134 
-00135     double sumvar = y_var.sum();
-00136     
-00137     if (sumvar == 0. || sumvar/n < 1e-7 || sumvar/n > 1e+7) // breakout when numerical problems are likely
-00138         return Scaling(new LinearScaling(targets.tmean(),0.));
-00139 
-00140     
-00141     double b = cov.sum() / sumvar;
-00142     double a = targets.tmean() - b * y_mean;
-00143     
-00144     if (!finite(b)) {
-00145         
-00146         cout << a << ' ' << b << endl;
-00147         cout << sumvar << endl;
-00148         cout << y_mean << endl;
-00149         cout << cov.sum() << endl;
-00150         exit(1);
-00151     }
-00152         
-00153     Scaling s = Scaling(new LinearScaling(a,b));
-00154 
-00155     return s;
-00156 }
-00157 
-00158 
-00159 Scaling wls(const std::valarray<double>& inputs, const TargetInfo& targets) {
-00160     
-00161     std::valarray<double> x = inputs;
-00162     const std::valarray<double>& w = targets.weights();
-00163     
-00164     unsigned n = x.size();
-00165     // First calculate x'*W (as W is a diagonal matrix it's simply elementwise multiplication
-00166     std::valarray<double> wx = targets.weights() * x;
-00167     
-00168     // Now x'*W is contained in [w,wx], calculate x' * W * x (the covariance)
-00169     double a,b,d;
-00170     a=b=d=0.0;
-00171     
-00172     for (unsigned i = 0; i < n; ++i)
-00173     {
-00174         a += w[i];
-00175         b += wx[i];
-00176         d += x[i] * wx[i];
-00177     }
-00178  
-00179     //invert
-00180     
-00181     double ad_bc = a*d - b * b;
-00182     // if ad_bc equals zero there's a problem
-00183    
-00184     if (ad_bc < 1e-17) return Scaling(new LinearScaling);
-00185     
-00186     double ai = d/ad_bc;
-00187     double bi = -b/ad_bc;
-00188     double di = a/ad_bc;
-00189     double ci = bi;
-00190     
-00191     // Now multiply this inverted covariance matrix (C^-1) with x' * W * y
-00192     
-00193     // create alias to reuse the wx we do not need anymore
-00194     std::valarray<double>& ones = wx;
-00195     
-00196     // calculate C^-1 * x' * W (using the fact that W is diagonal)
-00197     for (unsigned i = 0; i < n; ++i) 
-00198     {
-00199         ones[i] = w[i]*(ai + bi * x[i]);
-00200         x[i]    = w[i]*(ci + di * x[i]);
-00201     }
-00202 
-00203     // results are in [ones, x], now multiply with y
-00204 
-00205     a = 0.0; // intercept
-00206     b = 0.0; // slope
-00207     
-00208     const valarray<double>& t = targets.targets();
-00209     
-00210     for (unsigned i = 0; i < n; ++i)
-00211     {
-00212         a += ones[i] * t[i];
-00213         b += x[i] * t[i];
-00214     }
-00215     
-00216     return Scaling(new LinearScaling(a,b));
-00217 }
-00218 
-00219 
-00220 //Scaling med(const std::valarray<double>& inputs, const TargetInfo& targets);
-00221 
-00222 double mse(const std::valarray<double>& y, const TargetInfo& t) {
-00223 
-00224     valarray<double> residuals = t.targets()-y;
-00225     residuals *= residuals;
-00226     double sz = residuals.size();
-00227     if (t.has_weights()) {
-00228         residuals *= t.weights();
-00229         sz = 1.0;
-00230     }
-00231         
-00232     return residuals.sum() / sz;
-00233 }
-00234 
-00235 double rms(const std::valarray<double>& y, const TargetInfo& t) {
-00236     return sqrt(mse(y,t));
-00237 }
-00238     
-00239 double mae(const std::valarray<double>& y, const TargetInfo& t) {
-00240     valarray<double> residuals = abs(t.targets()-y);
-00241     if (t.has_weights()) residuals *= t.weights();
-00242     return residuals.sum() / residuals.size();
-00243 }
-00244 
-00245 
-00246 /*
-00247     double standard_error(const std::valarray<double>& y, const std::pair<double,double>& scaling) {
-00248         double a = scaling.first;
-00249         double b = scaling.second;
-00250         double n = y.size();
-00251         double se = sqrt( pow(a+b*y-current_set->targets,2.0).sum() / (n-2));
-00252         
-00253         double mean_y = y.sum() / n;
-00254         double sxx = pow( y - mean_y, 2.0).sum();
-00255 
-00256         return se / sqrt(sxx);
-00257     }
-00258   
-00259     double scaled_mse(const std::valarray<double>& y){
-00260         std::pair<double,double> scaling;
-00261         return scaled_mse(y,scaling);
-00262     }
-00263     
-00264     double scaled_mse(const std::valarray<double>& y, std::pair<double, double>& scaling)
-00265     {
-00266         scaling = scale(y);
-00267         
-00268         double a = scaling.first;
-00269         double b = scaling.second;
-00270         
-00271         std::valarray<double> tmp = current_set->targets - a - b * y;
-00272         tmp *= tmp;
-00273         
-00274         if (weights.size())
-00275             return (weights * tmp).sum();
-00276 
-00277         return tmp.sum() / tmp.size();
-00278     }
-00279    
-00280     double robust_mse(const std::valarray<double>& ny, std::pair<double, double>& scaling) {
-00281         
-00282         double smse = scaled_mse(ny,scaling);
-00283 
-00284         std::valarray<double> y = ny;
-00285         // find maximum covariance case 
-00286         double n = y.size();
-00287 
-00288         int largest = 0;
-00289         
-00290         {
-00291             double y_mean = y.sum() / n;
-00292         
-00293             std::valarray<double> y_var = (y - y_mean);
-00294             std::valarray<double> cov = tcov * y_var;
-00295         
-00296             std::valarray<bool> maxcov = cov == cov.max();
-00297         
-00298             for (unsigned i = 0; i < maxcov.size(); ++i) {
-00299                 if (maxcov[i]) {
-00300                     largest = i;
-00301                     break;
-00302                 }
-00303             }
-00304         }
-00305         
-00306         double y_mean = (y.sum() - y[largest]) / (n-1);
-00307         y[largest] = y_mean; // dissappears from covariance calculation
-00308         
-00309         std::valarray<double> y_var = (y - y_mean);
-00310         std::valarray<double> cov = tcov * y_var;
-00311         y_var *= y_var;
-00312 
-00313         double sumvar = y_var.sum();
-00314         
-00315         if (sumvar == 0. || sumvar/n < 1e-7 || sumvar/n > 1e+7) // breakout when numerical problems are likely
-00316             return worst_performance();
-00317         
-00318         double b = cov.sum() / sumvar;
-00319         double a = tmean - b * y_mean;
-00320         
-00321         std::valarray<double> tmp = current_set->targets - a - b * y;
-00322         tmp[largest] = 0.0;
-00323         tmp *= tmp;
-00324         
-00325         double smse2 = tmp.sum() / (tmp.size()-1);
-00326         
-00327         static std::ofstream os("smse.txt");
-00328         os << smse << ' ' << smse2 << '\n';
-00329         
-00330         if (smse2 > smse) {
-00331             return worst_performance();
-00332             //std::cerr << "overfit? " << smse << ' ' << smse2 << '\n';
-00333         }
-00334         
-00335         scaling.first = a;
-00336         scaling.second = b;
-00337         
-00338         return smse2;
-00339     }
-00340     
-00341     class Sorter {
-00342         const std::valarray<double>& scores;
-00343         public:
-00344             Sorter(const std::valarray<double>& _scores) : scores(_scores) {}
-00345             
-00346             bool operator()(unsigned i, unsigned j) const {
-00347                 return scores[i] < scores[j];
-00348             }
-00349     };
-00350     
-00351     double coc(const std::valarray<double>& y) {
-00352         std::vector<unsigned> indices(y.size());
-00353         for (unsigned i = 0; i < y.size(); ++i) indices[i] = i;
-00354         std::sort(indices.begin(), indices.end(), Sorter(y));
-00355         
-00356         const std::valarray<double>& targets = current_set->targets;
-00357         
-00358         double neg = 1.0 - targets[indices[0]];
-00359         double pos = targets[indices[0]];
-00360         
-00361         double cumpos = 0;
-00362         double cumneg = 0;
-00363         double sum=0;
-00364         
-00365         double last_score = y[indices[0]];
-00366         
-00367         for(unsigned i = 1; i < targets.size(); ++i) {
-00368                 
-00369             if (fabs(y[indices[i]] - last_score) < 1e-9) { // we call it tied
-00370                 pos += targets[indices[i]];
-00371                 neg += 1.0 - targets[indices[i]];
-00372                 
-00373                 if (i < targets.size()-1)
-00374                     continue;
-00375             }
-00376             sum += pos * cumneg + (pos * neg) * 0.5;
-00377             cumneg += neg;
-00378             cumpos += pos;
-00379             pos = targets[indices[i]];
-00380             neg = 1.0 - targets[indices[i]];
-00381             last_score = y[indices[i]];
-00382         }
-00383         
-00384         return sum / (cumneg * cumpos);
-00385     }
-00386    
-00387     // iterative re-weighted least squares (for parameters.classification)
-00388     double irls(const std::valarray<double>& scores, std::pair<double,double>& scaling) {
-00389         const std::valarray<double>& t = current_set->targets;
-00390         
-00391         std::valarray<double> e(scores.size());
-00392         std::valarray<double> u(scores.size()); 
-00393         std::valarray<double> w(scores.size());
-00394         std::valarray<double> z(scores.size());
-00395         
-00396         parameters.use_irls = false; parameters.classification=false;
-00397         scaling = scale(scores);
-00398         parameters.use_irls=true;parameters.classification=true;
-00399         
-00400         if (scaling.second == 0.0) return worst_performance(); 
-00401         
-00402         for (unsigned i = 0; i < 10; ++i) {
-00403             e = exp(scaling.first + scaling.second*scores);
-00404             u = e / (e + exp(-(scaling.first + scaling.second * scores)));
-00405             w = u*(1.-u);
-00406             z = (t-u)/w;
-00407             scaling = wls(scores, u, w);
-00408             //double ll = (log(u)*t + (1.-log(u))*(1.-t)).sum();
-00409             //std::cout << "Scale " << i << ' ' << scaling.first << " " << scaling.second << " LL " << 2*ll << std::endl;
-00410         }
-00411 
-00412         // log-likelihood
-00413         u = exp(scaling.first + scaling.second*scores) / (1 + exp(scaling.first + scaling.second*scores));
-00414         double ll = (log(u)*t + (1.-log(u))*(1.-t)).sum();
-00415         return 2*ll;
-00416     }
-00417 */
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_scaling_8h-source.html b/trunk/paradiseo-eo/doc/html/_scaling_8h-source.html deleted file mode 100644 index f083c2c35..000000000 --- a/trunk/paradiseo-eo/doc/html/_scaling_8h-source.html +++ /dev/null @@ -1,110 +0,0 @@ - - -EO: Scaling.h Source File - - - - - -

Scaling.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef SCALING_H_
-00019 #define SCALING_H_
-00020 
-00021 #include "shared_ptr.h"
-00022 
-00023 #include <valarray>
-00024 #include <iostream>
-00025 #include <string>
-00026 
-00027 class TargetInfo;
-00028 
-00029 class ScalingBase {
-00030     public:
-00031     
-00032     virtual ~ScalingBase() {}
-00033         
-00034     std::valarray<double> apply(const std::valarray<double>& x) { 
-00035         std::valarray<double> xtmp = x;
-00036         transform(xtmp);
-00037         return xtmp;
-00038     }
-00039         
-00040     virtual double transform(double input) const = 0;
-00041     virtual void transform(std::valarray<double>& inputs) const = 0;
-00042     virtual std::ostream& print(std::ostream& os, std::string str) const = 0;
-00043     virtual std::valarray<double> transform(const std::valarray<double>& inputs) const = 0;
-00044 };
-00045 
-00046 typedef shared_ptr<ScalingBase> Scaling;
-00047 
-00048 class LinearScaling : public ScalingBase {
-00049     
-00050     double a,b;
-00051     
-00052     public:
-00053     LinearScaling() : a(0.0), b(1.0) {}
-00054     LinearScaling(double _a, double _b) : a(_a), b(_b) {}
-00055 
-00056     double transform(double input) const { input *=b; input += a; return input; }
-00057     void transform(std::valarray<double>& inputs) const { inputs *= b; inputs += a; }
-00058     std::valarray<double> transform(const std::valarray<double>& inputs) const { 
-00059         std::valarray<double> y = a + b * inputs;
-00060         return y;
-00061     }
-00062     
-00063     double intercept() const { return a; }
-00064     double slope()     const { return b; }
-00065     
-00066     std::ostream& print(std::ostream& os, std::string str) const {
-00067         os.precision(16);
-00068         os << a << " + " << b << " * " << str;
-00069         return os;
-00070     }
-00071 };
-00072 
-00073 class NoScaling : public ScalingBase{
-00074     void transform(std::valarray<double>&) const {}
-00075     double transform(double input) const { return input; }
-00076     std::valarray<double> transform(const std::valarray<double>& inputs) const { return inputs; }
-00077     std::ostream& print(std::ostream& os, std::string str) const { return os << str; }
-00078 };
-00079 
-00080 extern Scaling slope(const std::valarray<double>& inputs, const TargetInfo& targets); // slope only
-00081 extern Scaling ols(const std::valarray<double>& inputs, const TargetInfo& targets);
-00082 extern Scaling wls(const std::valarray<double>& inputs, const TargetInfo& targets);
-00083 extern Scaling med(const std::valarray<double>& inputs, const TargetInfo& targets);
-00084 
-00085 extern Scaling ols(const std::valarray<double>& inputs, const std::valarray<double>& outputs);
-00086 
-00087 extern double mse(const std::valarray<double>& y, const TargetInfo& t);
-00088 extern double rms(const std::valarray<double>& y, const TargetInfo& t);
-00089 extern double mae(const std::valarray<double>& y, const TargetInfo& t);
-00090 
-00091 // Todo Logistic Scaling
-00092 
-00093 #endif
-00094 
-00095 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_second_bit_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_second_bit_e_a_8cpp-source.html deleted file mode 100644 index d0e75d5c1..000000000 --- a/trunk/paradiseo-eo/doc/html/_second_bit_e_a_8cpp-source.html +++ /dev/null @@ -1,351 +0,0 @@ - - -EO: SecondBitEA.cpp Source File - - - - - -

SecondBitEA.cpp

00001 //-----------------------------------------------------------------------------
-00002 // SecondGA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 //*
-00005 // Same code than FirstBitEA as far as Evolutionary Computation is concerned
-00006 // but now you learn to enter the parameters in a more flexible way
-00007 // and to twidle the output to your preferences!
-00008 //-----------------------------------------------------------------------------
-00009 #ifdef HAVE_CONFIG_H
-00010 #include <config.h>
-00011 #endif
-00012 
-00013 // standard includes
-00014 #include <fstream>
-00015 #include <iostream>   // cout
-00016 #include <stdexcept>  // runtime_error
-00017 
-00018 // the general include for eo
-00019 #include <eo>
-00020 #include <ga.h>
-00021 
-00022 // Use functions from namespace std
-00023 using namespace std;
-00024 
-00025 // EVAL
-00026 #include "binary_value.h"
-00027 
-00028 // REPRESENTATION
-00029 //-----------------------------------------------------------------------------
-00030 // define your genotype and fitness types
-00031 typedef eoBit<double> Indi;
-00032 
-00033 // the main_function: nothing changed(!), except variable initialization
-00034 void main_function(int argc, char **argv)
-00035 {
-00036 // PARAMETRES
-00037 //-----------------------------------------------------------------------------
-00038 // instead of having all values of useful parameters as constants, read them:
-00039 // either on the command line (--option=value or -o=value)
-00040 //     or in a parameter file (same syntax, order independent,
-00041 //                             # = usual comment character
-00042 //     or in the environment (TODO)
-00043 
-00044   // First define a parser from the command-line arguments
-00045     eoParser parser(argc, argv);
-00046 
-00047     // For each parameter, define Parameter, read it through the parser,
-00048     // and assign the value to the variable
-00049 
-00050     eoValueParam<uint32_t> seedParam(time(0), "seed", "Random number seed", 'S');
-00051     parser.processParam( seedParam );
-00052     unsigned seed = seedParam.value();
-00053 
-00054    // description of genotype
-00055     eoValueParam<unsigned int> vecSizeParam(8, "vecSize", "Genotype size",'V');
-00056     parser.processParam( vecSizeParam, "Representation" );
-00057     unsigned vecSize = vecSizeParam.value();
-00058 
-00059    // parameters for evolution engine
-00060     eoValueParam<unsigned int> popSizeParam(10, "popSize", "Population size",'P');
-00061     parser.processParam( popSizeParam, "Evolution engine" );
-00062     unsigned popSize = popSizeParam.value();
-00063 
-00064     eoValueParam<unsigned int> tSizeParam(10, "tSize", "Tournament size",'T');
-00065     parser.processParam( tSizeParam, "Evolution Engine" );
-00066     unsigned tSize = tSizeParam.value();
-00067 
-00068    // init and stop
-00069     eoValueParam<string> loadNameParam("", "Load","A save file to restart from",'L');
-00070     parser.processParam( loadNameParam, "Persistence" );
-00071     string loadName = loadNameParam.value();
-00072 
-00073     eoValueParam<unsigned int> maxGenParam(100, "maxGen", "Maximum number of generations",'G');
-00074     parser.processParam( maxGenParam, "Stopping criterion" );
-00075     unsigned maxGen = maxGenParam.value();
-00076 
-00077     eoValueParam<unsigned int> minGenParam(100, "minGen", "Minimum number of generations",'g');
-00078     parser.processParam( minGenParam, "Stopping criterion" );
-00079     unsigned minGen = minGenParam.value();
-00080 
-00081     eoValueParam<unsigned int> steadyGenParam(100, "steadyGen", "Number of generations with no improvement",'s');
-00082     parser.processParam( steadyGenParam, "Stopping criterion" );
-00083     unsigned steadyGen = steadyGenParam.value();
-00084 
-00085    // operators probabilities at the algorithm level
-00086     eoValueParam<double> pCrossParam(0.6, "pCross", "Probability of Crossover", 'C');
-00087     parser.processParam( pCrossParam, "Genetic Operators" );
-00088     double pCross = pCrossParam.value();
-00089 
-00090     eoValueParam<double> pMutParam(0.1, "pMut", "Probability of Mutation", 'M');
-00091     parser.processParam( pMutParam, "Genetic Operators" );
-00092     double pMut = pMutParam.value();
-00093 
-00094    // relative rates for crossovers
-00095     eoValueParam<double> onePointRateParam(1, "onePointRate", "Relative rate for one point crossover", '1');
-00096     parser.processParam( onePointRateParam, "Genetic Operators" );
-00097     double onePointRate = onePointRateParam.value();
-00098 
-00099     eoValueParam<double> twoPointsRateParam(1, "twoPointRate", "Relative rate for two point crossover", '2');
-00100     parser.processParam( twoPointsRateParam, "Genetic Operators" );
-00101     double twoPointsRate = twoPointsRateParam.value();
-00102 
-00103     eoValueParam<double> uRateParam(2, "uRate", "Relative rate for uniform crossover", 'U');
-00104     parser.processParam( uRateParam, "Genetic Operators" );
-00105     double URate =  uRateParam.value();
-00106 
-00107    // relative rates and private parameters for mutations;
-00108     eoValueParam<double> pMutPerBitParam(0.01, "pMutPerBit", "Probability of flipping 1 bit in bit-flip mutation", 'b');
-00109     parser.processParam( pMutPerBitParam, "Genetic Operators" );
-00110     double pMutPerBit = pMutPerBitParam.value();
-00111 
-00112     eoValueParam<double> bitFlipRateParam(0.01, "bitFlipRate", "Relative rate for bit-flip mutation", 'B');
-00113     parser.processParam( bitFlipRateParam, "Genetic Operators" );
-00114     double bitFlipRate =  bitFlipRateParam.value();
-00115 
-00116     eoValueParam<double> oneBitRateParam(0.01, "oneBitRate", "Relative rate for deterministic bit-flip mutation", 'D');
-00117     parser.processParam( oneBitRateParam, "Genetic Operators" );
-00118     double oneBitRate = oneBitRateParam.value();
-00119 
-00120     // the name of the "status" file where all actual parameter values will be saved
-00121     string str_status = parser.ProgramName() + ".status"; // default value
-00122     eoValueParam<string> statusParam(str_status.c_str(), "status","Status file",'S');
-00123     parser.processParam( statusParam, "Persistence" );
-00124 
-00125    // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED
-00126    // i.e. in case you need parameters somewhere else, postpone these
-00127     if (parser.userNeedsHelp())
-00128       {
-00129         parser.printHelp(cout);
-00130         exit(1);
-00131       }
-00132     if (statusParam.value() != "")
-00133       {
-00134         ofstream os(statusParam.value().c_str());
-00135         os << parser;           // and you can use that file as parameter file
-00136       }
-00137 
-00138 // EVAL
-00140   // Fitness function
-00142   // Evaluation: from a plain C++ fn to an EvalFunc Object ...
-00143   eoEvalFuncPtr<Indi, double, const vector<bool>& > plainEval( binary_value );
-00144   // ... to an object that counts the nb of actual evaluations
-00145   eoEvalFuncCounter<Indi> eval(plainEval);
-00146 
-00147 // INIT
-00149   // Initilisation of population
-00151   // Either load or initialize
-00152   // create an empty pop
-00153   eoPop<Indi> pop;
-00154   // create a state for reading
-00155   eoState inState;              // a state for loading - WITHOUT the parser
-00156   // register the rng and the pop in the state, so they can be loaded,
-00157   // and the present run will be the exact conitnuation of the saved run
-00158   // eventually with different parameters
-00159   inState.registerObject(rng);
-00160   inState.registerObject(pop);
-00161 
-00162   if (loadName != "")
-00163     {
-00164       inState.load(loadName); //  load the pop and the rng
-00165       // the fitness is read in the file:
-00166       // do only evaluate the pop if the fitness has changed
-00167     }
-00168   else
-00169     {
-00170       rng.reseed(seed);
-00171       // a Indi random initializer
-00172       // based on boolean_generator class (see utils/rnd_generator.h)
-00173       eoUniformGenerator<bool> uGen;
-00174       eoInitFixedLength<Indi> random(vecSize, uGen);
-00175 
-00176       // Init pop from the randomizer: need to use the append function
-00177       pop.append(popSize, random);
-00178       // and evaluate pop (STL syntax)
-00179       apply<Indi>(eval, pop);
-00180     } // end of initializatio of the population
-00181 
-00182 // OUTPUT
-00183   // sort pop for pretty printout
-00184   pop.sort();
-00185   // Print (sorted) intial population (raw printout)
-00186   cout << "Initial Population" << endl << pop << endl;
-00187 
-00188 // ENGINE
-00190   // selection and replacement
-00192 // SELECT
-00193   // The robust tournament selection
-00194   eoDetTournamentSelect<Indi> selectOne(tSize);       // tSize in [2,POPSIZE]
-00195   // is now encapsulated in a eoSelectPerc (stands for Percentage)
-00196   eoSelectPerc<Indi> select(selectOne);
-00197 
-00198 // REPLACE
-00199   // And we now have the full slection/replacement - though with
-00200   // the same generational replacement at the moment :-)
-00201   eoGenerationalReplacement<Indi> replace;
-00202 
-00203 // OPERATORS
-00205   // The variation operators
-00207 // CROSSOVER
-00208   // 1-point crossover for bitstring
-00209   eo1PtBitXover<Indi> xover1;
-00210   // uniform crossover for bitstring
-00211   eoUBitXover<Indi> xoverU;
-00212   // 2-pots xover
-00213   eoNPtsBitXover<Indi> xover2(2);
-00214   // Combine them with relative rates
-00215   eoPropCombinedQuadOp<Indi> xover(xover1, onePointRate);
-00216   xover.add(xoverU, URate);
-00217   xover.add(xover2, twoPointsRate, true);
-00218 
-00219 // MUTATION
-00220   // standard bit-flip mutation for bitstring
-00221   eoBitMutation<Indi>  mutationBitFlip(pMutPerBit);
-00222   // mutate exactly 1 bit per individual
-00223   eoDetBitFlip<Indi> mutationOneBit;
-00224   // Combine them with relative rates
-00225   eoPropCombinedMonOp<Indi> mutation(mutationBitFlip, bitFlipRate);
-00226   mutation.add(mutationOneBit, oneBitRate, true);
-00227 
-00228   // The operators are  encapsulated into an eoTRansform object
-00229   eoSGATransform<Indi> transform(xover, pCross, mutation, pMut);
-00230 
-00231 // STOP
-00233   // termination condition see FirstBitEA.cpp
-00235   eoGenContinue<Indi> genCont(maxGen);
-00236   eoSteadyFitContinue<Indi> steadyCont(minGen, steadyGen);
-00237   eoFitContinue<Indi> fitCont(vecSize);
-00238   eoCombinedContinue<Indi> continuator(genCont);
-00239   continuator.add(steadyCont);
-00240   continuator.add(fitCont);
-00241 
-00242 
-00243 // CHECKPOINT
-00244   // but now you want to make many different things every generation
-00245   // (e.g. statistics, plots, ...).
-00246   // the class eoCheckPoint is dedicated to just that:
-00247 
-00248   // Declare a checkpoint (from a continuator: an eoCheckPoint
-00249   // IS AN eoContinue and will be called in the loop of all algorithms)
-00250   eoCheckPoint<Indi> checkpoint(continuator);
-00251 
-00252     // Create a counter parameter
-00253     eoValueParam<unsigned> generationCounter(0, "Gen.");
-00254 
-00255     // Create an incrementor (sub-class of eoUpdater). Note that the
-00256     // parameter's value is passed by reference,
-00257     // so every time the incrementer is updated (every generation),
-00258     // the data in generationCounter will change.
-00259     eoIncrementor<unsigned> increment(generationCounter.value());
-00260 
-00261     // Add it to the checkpoint,
-00262     // so the counter is updated (here, incremented) every generation
-00263     checkpoint.add(increment);
-00264 
-00265     // now some statistics on the population:
-00266     // Best fitness in population
-00267     eoBestFitnessStat<Indi> bestStat;
-00268     // Second moment stats: average and stdev
-00269     eoSecondMomentStats<Indi> SecondStat;
-00270 
-00271     // Add them to the checkpoint to get them called at the appropriate time
-00272     checkpoint.add(bestStat);
-00273     checkpoint.add(SecondStat);
-00274 
-00275     // The Stdout monitor will print parameters to the screen ...
-00276     eoStdoutMonitor monitor(false);
-00277 
-00278     // when called by the checkpoint (i.e. at every generation)
-00279     checkpoint.add(monitor);
-00280 
-00281     // the monitor will output a series of parameters: add them
-00282     monitor.add(generationCounter);
-00283     monitor.add(eval);          // because now eval is an eoEvalFuncCounter!
-00284     monitor.add(bestStat);
-00285     monitor.add(SecondStat);
-00286 
-00287     // A file monitor: will print parameters to ... a File, yes, you got it!
-00288     eoFileMonitor fileMonitor("stats.xg", " ");
-00289 
-00290     // the checkpoint mechanism can handle multiple monitors
-00291     checkpoint.add(fileMonitor);
-00292 
-00293     // the fileMonitor can monitor parameters, too, but you must tell it!
-00294     fileMonitor.add(generationCounter);
-00295     fileMonitor.add(bestStat);
-00296     fileMonitor.add(SecondStat);
-00297 
-00298     // Last type of item the eoCheckpoint can handle: state savers:
-00299     eoState outState;
-00300     // Register the algorithm into the state (so it has something to save!!)
-00301     outState.registerObject(parser);
-00302     outState.registerObject(pop);
-00303     outState.registerObject(rng);
-00304 
-00305     // and feed the state to state savers
-00306     // save state every 100th  generation
-00307     eoCountedStateSaver stateSaver1(20, outState, "generation");
-00308     // save state every 1 seconds
-00309     eoTimedStateSaver   stateSaver2(1, outState, "time");
-00310 
-00311     // Don't forget to add the two savers to the checkpoint
-00312     checkpoint.add(stateSaver1);
-00313     checkpoint.add(stateSaver2);
-00314     // and that's it for the (control and) output
-00315 
-00316 // GENERATION
-00318   // the algorithm
-00320 
-00321   // Easy EA requires
-00322   // stopping criterion, eval, selection, transformation, replacement
-00323   eoEasyEA<Indi> gga(checkpoint, eval, select, transform, replace);
-00324 
-00325   // Apply algo to pop - that's it!
-00326   gga(pop);
-00327 
-00328 // OUTPUT
-00329   // Print (sorted) intial population
-00330   pop.sort();
-00331   cout << "FINAL Population\n" << pop << endl;
-00332 // GENERAL
-00333 }
-00334 
-00335 // A main that catches the exceptions
-00336 int main(int argc, char **argv)
-00337 {
-00338     try
-00339     {
-00340         main_function(argc, argv);
-00341     }
-00342     catch(exception& e)
-00343     {
-00344         cout << "Exception: " << e.what() << '\n';
-00345     }
-00346 
-00347     return 1;
-00348 }
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_second_real_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_second_real_e_a_8cpp-source.html deleted file mode 100644 index d18993234..000000000 --- a/trunk/paradiseo-eo/doc/html/_second_real_e_a_8cpp-source.html +++ /dev/null @@ -1,332 +0,0 @@ - - -EO: SecondRealEA.cpp Source File - - - - - -

SecondRealEA.cpp

00001 //-----------------------------------------------------------------------------
-00002 // SecondRealEA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 //*
-00005 // Same code than FirstBitEA as far as Evolutionary Computation is concerned
-00006 // but now you learn to enter the parameters in a more flexible way
-00007 // (also slightly different than in SecondBitEA.cpp)
-00008 // and to twidle the output to your preferences (as in SecondBitEA.cpp)
-00009 //
-00010 //-----------------------------------------------------------------------------
-00011 #ifdef HAVE_CONFIG_H
-00012 #include <config.h>
-00013 #endif
-00014 
-00015 // standard includes
-00016 #include <fstream>
-00017 #include <iostream>   // cout
-00018 #include <stdexcept>  // runtime_error
-00019 
-00020 // the general include for eo
-00021 #include <eo>
-00022 #include <es.h>
-00023 
-00024 // REPRESENTATION
-00025 //-----------------------------------------------------------------------------
-00026 // define your individuals
-00027 typedef eoReal<eoMinimizingFitness> Indi;
-00028 
-00029 // Use functions from namespace std
-00030 using namespace std;
-00031 
-00032 // EVALFUNC
-00033 //-----------------------------------------------------------------------------
-00034 // a simple fitness function that computes the euclidian norm of a real vector
-00035 // Now in a separate file, and declared as binary_value(const vector<bool> &)
-00036 
-00037 #include "real_value.h"
-00038 
-00039 // GENERAL
-00040 //-----------------------------------------------------------------------------
-00041 
-00042 void main_function(int argc, char **argv)
-00043 {
-00044 // PARAMETRES
-00045 //-----------------------------------------------------------------------------
-00046 // instead of having all values of useful parameters as constants, read them:
-00047 // either on the command line (--option=value or -o=value)
-00048 //     or in a parameter file (same syntax, order independent,
-00049 //                             # = usual comment character
-00050 //     or in the environment (TODO)
-00051 
-00052   // First define a parser from the command-line arguments
-00053   eoParser parser(argc, argv);
-00054 
-00055   // For each parameter, you can in on single line
-00056   // define the parameter, read it through the parser, and assign it
-00057 
-00058   unsigned seed = parser.createParam(unsigned(time(0)), "seed", "Random number seed", 'S').value(); // will be in default section General
-00059 
-00060   // description of genotype
-00061   unsigned vecSize = parser.createParam(unsigned(8), "vecSize", "Genotype size",'V', "Representation" ).value();
-00062 
-00063    // parameters for evolution engine
-00064     unsigned popSize = parser.createParam(unsigned(10), "popSize", "Population size",'P', "Evolution engine" ).value();
-00065 
-00066     unsigned tSize = parser.createParam(unsigned(2), "tSize", "Tournament size",'T', "Evolution Engine" ).value();
-00067 
-00068    // init and stop
-00069     string loadName = parser.createParam(string(""), "Load","A save file to restart from",'L', "Persistence" ).value();
-00070 
-00071     unsigned maxGen = parser.createParam(unsigned(100), "maxGen", "Maximum number of generations",'G', "Stopping criterion" ).value();
-00072 
-00073     unsigned minGen = parser.createParam(unsigned(100), "minGen", "Minimum number of generations",'g', "Stopping criterion" ).value();
-00074 
-00075     unsigned steadyGen = parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion" ).value();
-00076 
-00077    // operators probabilities at the algorithm level
-00078     double pCross = parser.createParam(double(0.6), "pCross", "Probability of Crossover", 'C', "Genetic Operators" ).value();
-00079 
-00080     double pMut = parser.createParam(double(0.1), "pMut", "Probability of Mutation", 'M', "Genetic Operators" ).value();
-00081 
-00082    // relative rates for crossovers
-00083     double hypercubeRate = parser.createParam(double(1), "hypercubeRate", "Relative rate for hypercube crossover", '\0', "Genetic Operators" ).value();
-00084 
-00085     double segmentRate = parser.createParam(double(1), "segmentRate", "Relative rate for segment crossover", '\0', "Genetic Operators" ).value();
-00086 
-00087     // internal parameters for the mutations
-00088     double EPSILON = parser.createParam(double(0.01), "EPSILON", "Width for uniform mutation", '\0', "Genetic Operators" ).value();
-00089 
-00090     double SIGMA = parser.createParam(double(0.3), "SIGMA", "Sigma for normal mutation", '\0', "Genetic Operators" ).value();
-00091 
-00092    // relative rates for mutations
-00093     double uniformMutRate = parser.createParam(double(1), "uniformMutRate", "Relative rate for uniform mutation", '\0', "Genetic Operators" ).value();
-00094 
-00095     double detMutRate = parser.createParam(double(1), "detMutRate", "Relative rate for det-uniform mutation", '\0', "Genetic Operators" ).value();
-00096 
-00097     double normalMutRate = parser.createParam(double(1), "normalMutRate", "Relative rate for normal mutation", '\0', "Genetic Operators" ).value();
-00098 
-00099     // the name of the "status" file where all actual parameter values will be saved
-00100     string str_status = parser.ProgramName() + ".status"; // default value
-00101     string statusName = parser.createParam(str_status, "status","Status file",'S', "Persistence" ).value();
-00102 
-00103    // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED
-00104    // i.e. in case you need parameters somewhere else, postpone these
-00105     if (parser.userNeedsHelp())
-00106       {
-00107         parser.printHelp(cout);
-00108         exit(1);
-00109       }
-00110     if (statusName != "")
-00111       {
-00112         ofstream os(statusName.c_str());
-00113         os << parser;           // and you can use that file as parameter file
-00114       }
-00115 
-00116 // EVAL
-00118   // Fitness function
-00120   // Evaluation: from a plain C++ fn to an EvalFunc Object
-00121   // you need to give the full description of the function
-00122   eoEvalFuncPtr<Indi, double, const vector<double>& > plainEval(  real_value );
-00123   // ... to an object that counts the nb of actual evaluations
-00124   eoEvalFuncCounter<Indi> eval(plainEval);
-00125 
-00126 // INIT
-00128   // Initilisation of population
-00130   // Either load or initialize
-00131   // create an empty pop
-00132   eoPop<Indi> pop;
-00133   // create a state for reading
-00134   eoState inState;              // a state for loading - WITHOUT the parser
-00135   // register the rng and the pop in the state, so they can be loaded,
-00136   // and the present run will be the exact conitnuation of the saved run
-00137   // eventually with different parameters
-00138   inState.registerObject(rng);
-00139   inState.registerObject(pop);
-00140 
-00141   if (loadName != "")
-00142     {
-00143       inState.load(loadName); //  load the pop and the rng
-00144       // the fitness is read in the file:
-00145       // do only evaluate the pop if the fitness has changed
-00146     }
-00147   else
-00148     {
-00149       rng.reseed(seed);
-00150       // a Indi random initializer
-00151       // based on boolean_generator class (see utils/rnd_generator.h)
-00152       eoUniformGenerator<double> uGen(-1.0, 1.0);
-00153       eoInitFixedLength<Indi> random(vecSize, uGen);
-00154 
-00155       // Init pop from the randomizer: need to use the append function
-00156       pop.append(popSize, random);
-00157       // and evaluate pop (STL syntax)
-00158       apply<Indi>(eval, pop);
-00159     } // end of initializatio of the population
-00160 
-00161 // OUTPUT
-00162   // sort pop before printing it!
-00163   pop.sort();
-00164   // Print (sorted) intial population (raw printout)
-00165   cout << "Initial Population" << endl;
-00166   cout << pop;
-00167 
-00168 // ENGINE
-00170   // selection and replacement
-00172 // SELECT
-00173   // The robust tournament selection
-00174   eoDetTournamentSelect<Indi> selectOne(tSize);
-00175   // is now encapsulated in a eoSelectPerc (entage)
-00176   eoSelectPerc<Indi> select(selectOne);// by default rate==1
-00177 
-00178 // REPLACE
-00179   // And we now have the full slection/replacement - though with
-00180   // no replacement (== generational replacement) at the moment :-)
-00181   eoGenerationalReplacement<Indi> replace;
-00182 
-00183 // OPERATORS
-00185   // The variation operators
-00187 // CROSSOVER
-00188   // uniform chooce on segment made by the parents
-00189   eoSegmentCrossover<Indi> xoverS;
-00190   // uniform choice in hypercube built by the parents
-00191   eoHypercubeCrossover<Indi> xoverA;
-00192   // Combine them with relative weights
-00193   eoPropCombinedQuadOp<Indi> xover(xoverS, segmentRate);
-00194   xover.add(xoverA, hypercubeRate, true);
-00195 
-00196 // MUTATION
-00197   // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-00198   eoUniformMutation<Indi>  mutationU(EPSILON);
-00199   // k (=1) coordinates of parents are uniformly modified
-00200   eoDetUniformMutation<Indi>  mutationD(EPSILON);
-00201   // all coordinates of parents are normally modified (stDev SIGMA)
-00202   eoNormalMutation<Indi>  mutationN(SIGMA);
-00203   // Combine them with relative weights
-00204   eoPropCombinedMonOp<Indi> mutation(mutationU, uniformMutRate);
-00205   mutation.add(mutationD, detMutRate);
-00206   mutation.add(mutationN, normalMutRate, true);
-00207 
-00208   // The operators are  encapsulated into an eoTRansform object
-00209   eoSGATransform<Indi> transform(xover, pCross, mutation, pMut);
-00210 
-00211 // STOP
-00213   // termination condition see FirstBitEA.cpp
-00215   eoGenContinue<Indi> genCont(maxGen);
-00216   eoSteadyFitContinue<Indi> steadyCont(minGen, steadyGen);
-00217   eoFitContinue<Indi> fitCont(0);
-00218   eoCombinedContinue<Indi> continuator(genCont);
-00219   continuator.add(steadyCont);
-00220   continuator.add(fitCont);
-00221 
-00222 
-00223 // CHECKPOINT
-00224   // but now you want to make many different things every generation
-00225   // (e.g. statistics, plots, ...).
-00226   // the class eoCheckPoint is dedicated to just that:
-00227 
-00228   // Declare a checkpoint (from a continuator: an eoCheckPoint
-00229   // IS AN eoContinue and will be called in the loop of all algorithms)
-00230   eoCheckPoint<Indi> checkpoint(continuator);
-00231 
-00232     // Create a counter parameter
-00233     eoValueParam<unsigned> generationCounter(0, "Gen.");
-00234 
-00235     // Create an incrementor (sub-class of eoUpdater). Note that the
-00236     // parameter's value is passed by reference,
-00237     // so every time the incrementer is updated (every generation),
-00238     // the data in generationCounter will change.
-00239     eoIncrementor<unsigned> increment(generationCounter.value());
-00240 
-00241     // Add it to the checkpoint,
-00242     // so the counter is updated (here, incremented) every generation
-00243     checkpoint.add(increment);
-00244 
-00245     // now some statistics on the population:
-00246     // Best fitness in population
-00247     eoBestFitnessStat<Indi> bestStat;
-00248     // Second moment stats: average and stdev
-00249     eoSecondMomentStats<Indi> SecondStat;
-00250 
-00251     // Add them to the checkpoint to get them called at the appropriate time
-00252     checkpoint.add(bestStat);
-00253     checkpoint.add(SecondStat);
-00254 
-00255     // The Stdout monitor will print parameters to the screen ...
-00256     eoStdoutMonitor monitor(false);
-00257 
-00258     // when called by the checkpoint (i.e. at every generation)
-00259     checkpoint.add(monitor);
-00260 
-00261     // the monitor will output a series of parameters: add them
-00262     monitor.add(generationCounter);
-00263     monitor.add(eval);          // because now eval is an eoEvalFuncCounter!
-00264     monitor.add(bestStat);
-00265     monitor.add(SecondStat);
-00266 
-00267     // A file monitor: will print parameters to ... a File, yes, you got it!
-00268     eoFileMonitor fileMonitor("stats.xg", " ");
-00269 
-00270     // the checkpoint mechanism can handle multiple monitors
-00271     checkpoint.add(fileMonitor);
-00272 
-00273     // the fileMonitor can monitor parameters, too, but you must tell it!
-00274     fileMonitor.add(generationCounter);
-00275     fileMonitor.add(bestStat);
-00276     fileMonitor.add(SecondStat);
-00277 
-00278     // Last type of item the eoCheckpoint can handle: state savers:
-00279     eoState outState;
-00280     // Register the algorithm into the state (so it has something to save!!)
-00281     outState.registerObject(parser);
-00282     outState.registerObject(pop);
-00283     outState.registerObject(rng);
-00284 
-00285     // and feed the state to state savers
-00286     // save state every 100th  generation
-00287     eoCountedStateSaver stateSaver1(20, outState, "generation");
-00288     // save state every 1 seconds
-00289     eoTimedStateSaver   stateSaver2(1, outState, "time");
-00290 
-00291     // Don't forget to add the two savers to the checkpoint
-00292     checkpoint.add(stateSaver1);
-00293     checkpoint.add(stateSaver2);
-00294     // and that's it for the (control and) output
-00295 
-00296 // GENERATION
-00298   // the algorithm
-00300 
-00301   // Easy EA requires
-00302   // stopping criterion, eval, selection, transformation, replacement
-00303   eoEasyEA<Indi> gga(checkpoint, eval, select, transform, replace);
-00304 
-00305   // Apply algo to pop - that's it!
-00306   gga(pop);
-00307 
-00308 // OUTPUT
-00309   // Print (sorted) intial population
-00310   pop.sort();
-00311   cout << "FINAL Population\n" << pop << endl;
-00312 // GENERAL
-00313 }
-00314 
-00315 // A main that catches the exceptions
-00316 
-00317 int main(int argc, char **argv)
-00318 {
-00319     try
-00320     {
-00321         main_function(argc, argv);
-00322     }
-00323     catch(exception& e)
-00324     {
-00325         cout << "Exception: " << e.what() << '\n';
-00326     }
-00327 
-00328     return 1;
-00329 }
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_sym_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_sym_8cpp-source.html deleted file mode 100644 index db34a2f59..000000000 --- a/trunk/paradiseo-eo/doc/html/_sym_8cpp-source.html +++ /dev/null @@ -1,170 +0,0 @@ - - -EO: Sym.cpp Source File - - - - - -

Sym.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include <sstream>
-00019 #include <vector>
-00020 
-00021 #include "Sym.h"
-00022 
-00023 using namespace std;
-00024 
-00025 typedef UniqueNodeStats* (*NodeStatFunc)(Sym&);
-00026 
-00027 UniqueNodeStats* (*Sym::factory)(const Sym&) = 0;
-00028 
-00029 SymMap Sym::dag(100000); // reserve space for so many nodes
-00030 std::vector<unsigned> Sym::token_count;
-00031         
-00032 
-00033 size_t get_size(const SymVec& vec) {
-00034     size_t sz = 0;
-00035     for (unsigned i = 0; i < vec.size(); ++i) {
-00036         sz += vec[i].size();
-00037     }
-00038     return sz;
-00039 }
-00040 
-00041 size_t get_depth(const SymVec& vec) {
-00042     size_t dp = 1;
-00043     for (unsigned i = 0; i < vec.size(); ++i) {
-00044         dp = std::max(dp, vec[i].depth());
-00045     }
-00046     return dp;
-00047 }
-00048 
-00049 Sym::Sym(token_t tok, const SymVec& args_) : node(dag.end())
-00050 {
-00051     detail::SymKey key(tok, detail::SymArgs(args_));
-00052     detail::SymValue val;
-00053 
-00054     node = dag.insert(pair<const detail::SymKey, detail::SymValue>(key, val)).first; 
-00055     
-00056     if (__unchecked_refcount() == 0) { // new node, set some stats 
-00057         node->second.size  = 1 + get_size(args_);
-00058         node->second.depth = 1 + get_depth(args_);
-00059         
-00060         // token count
-00061         if (tok >= token_count.size()) {
-00062             token_count.resize(tok+1);
-00063         }
-00064         
-00065         incref();
-00066         node->first.fixate();   
-00067         // call the factory function if available
-00068         if (factory) node->second.uniqueNodeStats = factory(*this);
-00069     
-00070     }
-00071     else incref();
-00072 }
-00073 
-00074 Sym::Sym(token_t tok, const Sym& a) : node(dag.end()) { 
-00075     SymVec args_; args_.push_back(a); 
-00076     detail::SymKey key(tok, detail::SymArgs(args_));
-00077     detail::SymValue val;
-00078 
-00079     node = dag.insert(pair<const detail::SymKey, detail::SymValue>(key, val)).first; 
-00080     
-00081     if (__unchecked_refcount() == 0) { // new node, set some stats 
-00082         node->second.size = 1 + get_size(args_);
-00083         node->second.depth = 1 + get_depth(args_);
-00084         
-00085         // token count
-00086         if (tok >= token_count.size()) {
-00087             token_count.resize(tok+1);
-00088         }
-00089         
-00090         incref();
-00091         node->first.fixate();
-00092         // call the factory function if available
-00093         if (factory) node->second.uniqueNodeStats = factory(*this);
-00094     }
-00095     else incref();
-00096 }
-00097 
-00098 Sym::Sym(token_t tok) : node(dag.end()) {
-00099     detail::SymKey key(tok);
-00100     detail::SymValue val;
-00101     node = dag.insert(pair<const detail::SymKey, detail::SymValue>(key, val)).first; 
-00102     
-00103     if (__unchecked_refcount() == 0) { // new node, set some stats 
-00104         node->second.size = 1;
-00105         node->second.depth = 1;
-00106         
-00107         // token count
-00108         if (tok >= token_count.size()) {
-00109             token_count.resize(tok+1);
-00110         }
-00111         
-00112         incref();
-00113 
-00114         // call the factory function if available
-00115         if (factory) node->second.uniqueNodeStats = factory(*this);
-00116         
-00117     }
-00118     else incref();
-00119 }
-00120 
-00121 std::pair<Sym,bool> insert_subtree_impl(const Sym& cur, size_t w, const Sym& nw) {
-00122     if (w-- == 0) return make_pair(nw, !(nw == cur));
-00123     
-00124     const SymVec& vec = cur.args();
-00125     std::pair<Sym,bool> result;
-00126     unsigned i; 
-00127     
-00128     for (i = 0; i < vec.size(); ++i) {
-00129         if (w < vec[i].size()) {
-00130             result = insert_subtree_impl(vec[i], w, nw);
-00131             if (result.second == false) return std::make_pair(cur, false); // unchanged
-00132             break;
-00133         }
-00134         w -= vec[i].size();
-00135     }
-00136     SymVec newvec = cur.args();
-00137     newvec[i] = result.first;
-00138     return make_pair(Sym(cur.token(), newvec), true);
-00139 }
-00140 
-00141 Sym insert_subtree(const Sym& cur, size_t w, const Sym& nw) {
-00142     return insert_subtree_impl(cur,w,nw).first;
-00143 }
-00144 Sym get_subtree(const Sym& cur, size_t w) {
-00145     if (w-- == 0) return cur;
-00146     
-00147     const SymVec& vec = cur.args();
-00148     for (unsigned i = 0; i < vec.size(); ++i) {
-00149         if (w < vec[i].size()) return get_subtree(vec[i], w);
-00150         w-=vec[i].size();
-00151     }
-00152     return cur;
-00153 }
-00154 
-00155 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_sym_8h-source.html b/trunk/paradiseo-eo/doc/html/_sym_8h-source.html deleted file mode 100644 index 5d1984c1d..000000000 --- a/trunk/paradiseo-eo/doc/html/_sym_8h-source.html +++ /dev/null @@ -1,189 +0,0 @@ - - -EO: Sym.h Source File - - - - - -

Sym.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef SYMNODE_H_
-00019 #define SYMNODE_H_
-00020 
-00021 #include <cassert>
-00022 
-00023 #if __GNUC__ >= 3
-00024 #include <backward/hash_map.h>
-00025 #elif __GNUC__ < 3
-00026 #include <hash_map.h>
-00027 using std::hash_map;
-00028 #endif
-00029 
-00030 /* Empty 'extra statistics' structure, derive from this to keep other characteristics of nodes */
-00031 struct UniqueNodeStats { virtual ~UniqueNodeStats(){} };
-00032 
-00033 #include "SymImpl.h"
-00034 #include "token.h"
-00035 
-00036 #if __GNUC__ == 4
-00037 #define USE_TR1 1
-00038 #else
-00039 #define USE_TR1 0
-00040 #endif
-00041 
-00042 #if USE_TR1
-00043 #include <tr1/unordered_map>
-00044 typedef std::tr1::unordered_map<detail::SymKey, detail::SymValue, detail::SymKey::Hash> SymMap;
-00045 #else
-00046 typedef hash_map<detail::SymKey, detail::SymValue, detail::SymKey::Hash> SymMap;
-00047 #endif
-00048 
-00049 typedef SymMap::iterator SymIterator;
-00050 
-00051 /* Sym is the tree, for which all the nodes are stored in a hash table. 
-00052  * This makes checking for equality O(1) */
-00053 class Sym
-00054 {
-00055     public:
-00056         
-00057         Sym() : node(dag.end()) {}
-00058         explicit Sym(token_t token, const SymVec& args);
-00059         explicit Sym(token_t token, const Sym& args);
-00060         explicit Sym(token_t var);
-00061         
-00062         explicit Sym(SymIterator it) : node(it) { incref(); }
-00063         
-00064         Sym(const Sym& oth) : node(oth.node) { incref(); }
-00065         ~Sym() { decref(); }
-00066         
-00067         const Sym& operator=(const Sym& oth) {
-00068             if (oth.node == node) return *this;
-00069             decref();
-00070             node = oth.node;
-00071             incref();
-00072             return *this;
-00073         }
-00074 
-00075         /* Unique Stats are user defined */
-00076         UniqueNodeStats* extra_stats() const { return empty()? 0 : node->second.uniqueNodeStats; }
-00077         
-00078         int hashcode() const { return node->first.get_hash_code(); } //detail::SymKey::Hash hash; return hash(node->first); }
-00079         
-00080         // Friends, need to touch the node
-00081         friend struct detail::SymKey::Hash;
-00082         friend struct detail::SymKey;
-00083         
-00084         unsigned refcount() const { return empty()? 0: node->second.refcount; }
-00085 
-00086         bool operator==(const Sym& other) const {
-00087             return node == other.node;
-00088         }
-00089         bool operator!=(const Sym& other) const { return !(*this == other); }
-00090 
-00091         bool empty() const { return node == dag.end(); }
-00092 
-00093         /* Support for traversing trees */
-00094         unsigned arity() const { return node->first.arity(); }
-00095         token_t    token() const { return node->first.token; }
-00096         
-00097         const SymVec& args() const { return node->first.vec(); }
-00098         
-00099         /* size() - depth */
-00100         unsigned size() const { return empty()? 0 : node->second.size; }
-00101         unsigned depth() const { return empty()? 0 : node->second.depth; }
-00102         
-00103         SymMap::iterator iterator() const { return node; }
-00104 
-00105         /* Statics accessing some static members */
-00106         static SymMap& get_dag() { return dag; }
-00107         
-00108         /* This function can be set to create some UniqueNodeStats derivative that can contain extra stats for a node,
-00109          * it can for instance be used to create ERC's and what not. */
-00110         static void set_factory_function(UniqueNodeStats* (*f)(const Sym&)) { factory=f; } 
-00111         static void clear_factory_function() { factory = 0; }
-00112         
-00113         static const std::vector<unsigned>& token_refcount() { return token_count; }
-00114         
-00115         unsigned address() const { return reinterpret_cast<unsigned>(&*node); }
-00116         
-00117     private :
-00118         
-00119         // implements getting subtrees
-00120         Sym private_get(size_t w) const; 
-00121         
-00122         unsigned __unchecked_refcount() const { return node->second.refcount; }
-00123         
-00124         void incref() {
-00125             if (!empty()) {
-00126                 ++(node->second.refcount);
-00127                 ++token_count[token()];
-00128             }
-00129         }
-00130         void decref() {
-00131             if (!empty()) {
-00132                 --token_count[token()];
-00133                 if (--(node->second.refcount) == 0) {
-00134                     dag.erase(node);
-00135                 }
-00136             }
-00137         }
-00138 
-00139         // The one and only data member, an iterator into the static map below
-00140         SymIterator node;
-00141         
-00142         // A static hash_map that contains all live nodes.. 
-00143         static SymMap dag;
-00144         
-00145         static std::vector<unsigned> token_count;
-00146         
-00147         // Factory function for creating extra node stats, default will be 0
-00148         static UniqueNodeStats* (*factory)(const Sym&);
-00149         
-00150 };
-00151 
-00152 /* Utility hash functor for syms */
-00153 class HashSym {
-00154     public:
-00155     int operator()(const Sym& sym) const { return sym.hashcode(); }
-00156 };
-00157 
-00158 /* Utility Functions */
-00159 
-00160 // get_subtree retrieves a subtree by standard ordering (0=root, and then depth first)
-00161 Sym get_subtree(const Sym& org, size_t w); 
-00162 
-00163 // insert_subtree uses the same ordering as get and inserts the second argument, returning a new tree
-00164 Sym insert_subtree(const Sym& org, size_t w, const Sym& nw);
-00165 
-00166 /* Get the successor from the hashtable, no particular purpose other than an interesting way to mutate */
-00167 inline Sym next(const Sym& sym) {
-00168     SymIterator it = sym.iterator();
-00169     ++it;
-00170     if (it == Sym::get_dag().end()) it = Sym::get_dag().begin();
-00171     return Sym(it);
-00172 }
-00173 
-00174 #endif
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_sym_impl_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_sym_impl_8cpp-source.html deleted file mode 100644 index 7295a2ac7..000000000 --- a/trunk/paradiseo-eo/doc/html/_sym_impl_8cpp-source.html +++ /dev/null @@ -1,124 +0,0 @@ - - -EO: SymImpl.cpp Source File - - - - - -

SymImpl.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 #include "Sym.h"
-00018 
-00019 using namespace std;
-00020 namespace detail {
-00021     
-00022 class SymArgsImpl {
-00023     public:
-00024     std::vector<Sym> owned_args;
-00025 };
-00026 
-00027 size_t SymArgs::len() const { 
-00028     return vec().size(); 
-00029 }
-00030 
-00031 SymArgs::SymArgs() : pimpl( new SymArgsImpl ) {
-00032     args_ptr = &pimpl->owned_args;
-00033 }
-00034 
-00035 SymArgs::SymArgs(const std::vector<Sym>& v) : pimpl(0) {
-00036     args_ptr = &v;
-00037 }
-00038 
-00039 SymArgs::~SymArgs() { 
-00040     delete pimpl; 
-00041 }
-00042 
-00043 SymArgs::SymArgs(const SymArgs& args) : pimpl(0), args_ptr(args.args_ptr) {
-00044     if (args.pimpl && args.args_ptr == &args.pimpl->owned_args) {
-00045         pimpl = new SymArgsImpl(*args.pimpl);
-00046         args_ptr = &pimpl->owned_args; 
-00047     } 
-00048 }
-00049 
-00050 const SymArgs& SymArgs::operator=(const SymArgs& args) {
-00051     if (args.pimpl && args.args_ptr == &args.pimpl->owned_args) {
-00052         pimpl = new SymArgsImpl(*args.pimpl);
-00053         args_ptr = &pimpl->owned_args;
-00054     } else {
-00055         args_ptr = args.args_ptr;
-00056     }
-00057 
-00058     return *this;
-00059 }
-00060 
-00061 void SymArgs::fixate() const {
-00062     assert(pimpl == 0);
-00063     pimpl = new SymArgsImpl;
-00064     pimpl->owned_args = *args_ptr;
-00065     args_ptr = &pimpl->owned_args;
-00066 }
-00067 
-00068 // For Tackett's hashcode
-00069 #define PRIMET 21523
-00070 #define HASHMOD 277218551
-00071 
-00072 const int nprimes = 4;
-00073 const unsigned long primes[] = {3221225473ul, 201326611ul, 1610612741ul, 805306457ul};
-00074     
-00075 int SymKey::calc_hash() const {
-00076     unsigned long hash = unsigned(token);
-00077     hash *= PRIMET;
-00078     
-00079     const std::vector<Sym>& v = args.vec();
-00080     for (unsigned i = 0; i < v.size(); ++i) {
-00081         hash += ( (v[i].address() >> 3) * primes[i%nprimes]) % HASHMOD;
-00082     }
-00083 
-00084     return hash;// % HASHMOD;
-00085 }
-00086 
-00087 bool SymKey::operator==(const SymKey& other) const {
-00088     if (token != other.token) return false;
-00089     return args.vec() == other.args.vec();
-00090 }
-00091 
-00092 /* Just to store this info somewhere:
-00093  * 
-00094  * Address Based Hash Function Implementation
-00095  * uint32 address_hash(char* addr)
-00096  * {
-00097  *   register uint32 key;
-00098  *     key = (uint32) addr;
-00099  *       return (key >> 3) * 2654435761;
-00100  *  }
-00101  */     
-00102 
-00103 SymValue::SymValue() : refcount(0), size(0), depth(0), uniqueNodeStats(0)  {}
-00104 
-00105 SymValue::~SymValue() { delete uniqueNodeStats; }
-00106 
-00107 
-00108 
-00109 } // namespace detail
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_sym_impl_8h-source.html b/trunk/paradiseo-eo/doc/html/_sym_impl_8h-source.html deleted file mode 100644 index a99e18f99..000000000 --- a/trunk/paradiseo-eo/doc/html/_sym_impl_8h-source.html +++ /dev/null @@ -1,128 +0,0 @@ - - -EO: SymImpl.h Source File - - - - - -

SymImpl.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 #ifndef __SYM_IMPL_H__
-00018 #define __SYM_IMPL_H__
-00019 
-00020 #include <vector>
-00021 
-00022 #include "token.h"
-00023 
-00024 class Sym;
-00025 
-00026 #if __GNUC__ > 4 
-00027 #include <ext/pool_allocator.h>
-00028 typedef std::vector<Sym, __gnu_cxx::__pool_alloc<Sym> > std::vector<Sym>;
-00029 //typedef std::vector<Sym> SymVec;
-00030 #else
-00031 typedef std::vector<Sym> SymVec;
-00032 #endif
-00033 
-00034 
-00035 namespace detail {
-00036 
-00037 class SymArgsImpl;
-00038 class SymArgs {
-00039     
-00040     mutable SymArgsImpl* pimpl; // contains circular reference to vector<Sym>
-00041     mutable const std::vector<Sym>* args_ptr;
-00042     
-00043     public:
-00044 
-00045     SymArgs();
-00046     SymArgs(const std::vector<Sym>& v);
-00047     ~SymArgs();
-00048 
-00049     SymArgs(const SymArgs& args);
-00050     const SymArgs& SymArgs::operator=(const SymArgs& other);
-00051 
-00052     size_t len() const;
-00053     const std::vector<Sym>& vec() const { return *args_ptr; }
-00054     void fixate() const;
-00055 };
-00056 
-00057 class SymKey
-00058 {
-00059     public:
-00060         SymKey(token_t _token) : args(), token(_token), hash_code(calc_hash()) {}
-00061         SymKey(token_t _token, const detail::SymArgs& _args) : args(_args), token(_token), hash_code(calc_hash()) {}
-00062         
-00063         bool operator==(const SymKey& other) const;
-00064         
-00065         struct Hash
-00066         {
-00067             int operator()(const SymKey& k) const { return k.calc_hash(); }; 
-00068         };
-00069         
-00070         unsigned arity() const { return args.len(); }
-00071         const std::vector<Sym>& vec() const { return args.vec(); }
-00072         
-00073         // fixates (i.e. claims memory) for the embedded vector of Syms
-00074         void fixate() const { args.fixate(); }
-00075         
-00076         int get_hash_code() const { return hash_code; }
-00077         
-00078         detail::SymArgs args;
-00079         token_t token;     // identifies the function
-00080 
-00081     private:
-00082         int calc_hash() const;
-00083         int hash_code;
-00084 };
-00085 
-00086 struct SymValue
-00087 {
-00088     friend class Sym;
-00089      
-00090     SymValue();
-00091     ~SymValue(); 
-00092     
-00093     unsigned getRefCount() const { return refcount; }
-00094     unsigned getSize() const     { return size; }
-00095     unsigned getDepth() const    { return depth; }
-00096     
-00097      
-00098     
-00099     // for reference counting
-00100     unsigned refcount;
-00101     
-00102     // some simple stats
-00103     unsigned size;
-00104     unsigned depth;
-00105     UniqueNodeStats* uniqueNodeStats;
-00106     
-00107 };
-00108 
-00109 
-00110 } // namespace detail
-00111 
-00112 #endif
-00113 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_sym_ops_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_sym_ops_8cpp-source.html deleted file mode 100644 index b6d7d7ee5..000000000 --- a/trunk/paradiseo-eo/doc/html/_sym_ops_8cpp-source.html +++ /dev/null @@ -1,124 +0,0 @@ - - -EO: SymOps.cpp Source File - - - - - -

SymOps.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include "FunDef.h"
-00019 #include "SymOps.h"
-00020 #include "Sym.h"
-00021 
-00022 using namespace std;
-00023 
-00024 void collect(token_t t, Sym a, SymVec& args) {
-00025     
-00026     if (a.token() == t) {
-00027         const SymVec& a_args = a.args();
-00028         for (unsigned i = 0; i < a_args.size(); ++i) {
-00029             collect(t, a_args[i], args);
-00030         }
-00031         return;
-00032     }
-00033      
-00034     args.push_back(a);
-00035 }
-00036 
-00037 Sym operator+(Sym a, Sym b) {
-00038     
-00039     SymVec args;
-00040 
-00041     collect(sum_token, a, args);
-00042     collect(sum_token, b, args);
-00043     
-00044     return Sym(sum_token, args);
-00045 }
-00046 
-00047 Sym operator*(Sym a, Sym b) {
-00048     
-00049     SymVec args;
-00050 
-00051     collect(prod_token, a, args);
-00052     collect(prod_token, b, args);
-00053     
-00054     return Sym(prod_token, args);
-00055 }
-00056 
-00057 Sym operator/(Sym a, Sym b) {
-00058     
-00059     SymVec args;
-00060 
-00061     collect(prod_token, a, args);
-00062     
-00063     SymVec args2;
-00064     collect(prod_token, b, args2);
-00065     
-00066     SymVec inv;
-00067     inv.push_back(Sym(prod_token, args2));
-00068     
-00069     args.push_back( Sym(inv_token, inv) );
-00070 
-00071     return Sym(prod_token, args);
-00072 }
-00073 
-00074 Sym operator-(Sym a, Sym b) {
-00075     
-00076     SymVec args;
-00077 
-00078     collect(sum_token, a, args);
-00079     
-00080     SymVec args2;
-00081     collect(sum_token, b, args2);
-00082     
-00083     SymVec min;
-00084     min.push_back(Sym(sum_token, args2));
-00085     
-00086     args.push_back( Sym(min_token, min) );
-00087 
-00088     return Sym(sum_token, args);
-00089 }
-00090 
-00091 Sym operator-(Sym a) {
-00092     return Sym(min_token, a);
-00093 }
-00094 
-00095 Sym pow(Sym a, Sym b) {
-00096     SymVec args;
-00097     args.push_back(a);
-00098     args.push_back(b);
-00099     return Sym(pow_token, args);
-00100 }
-00101 
-00102 Sym ifltz(Sym a, Sym b, Sym c) {
-00103     SymVec args;
-00104     args.push_back(a);
-00105     args.push_back(b);
-00106     args.push_back(c);
-00107     return Sym(ifltz_token, args);
-00108 }
-00109 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_sym_ops_8h-source.html b/trunk/paradiseo-eo/doc/html/_sym_ops_8h-source.html deleted file mode 100644 index 4ce36a5fb..000000000 --- a/trunk/paradiseo-eo/doc/html/_sym_ops_8h-source.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: SymOps.h Source File - - - - - -

SymOps.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef SYMOPS_H
-00019 #define SYMOPS_H
-00020 
-00021 #include "Sym.h"
-00022 
-00023 extern Sym operator+(Sym a, Sym b);
-00024 extern Sym operator*(Sym a, Sym b);
-00025 extern Sym operator/(Sym a, Sym b);
-00026 extern Sym operator-(Sym a, Sym b);
-00027 extern Sym pow(Sym a, Sym b);
-00028 extern Sym ifltz(Sym a, Sym b, Sym c);
-00029 extern Sym operator-(Sym a);
-00030 
-00031 #endif
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_target_info_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_target_info_8cpp-source.html deleted file mode 100644 index dfd336b79..000000000 --- a/trunk/paradiseo-eo/doc/html/_target_info_8cpp-source.html +++ /dev/null @@ -1,153 +0,0 @@ - - -EO: TargetInfo.cpp Source File - - - - - -

TargetInfo.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include "TargetInfo.h"
-00019 
-00020 using namespace std;
-00021 
-00022 TargetInfo::TargetInfo(const TargetInfo& org) { operator=(org); }
-00023 
-00024 TargetInfo& TargetInfo::operator=(const TargetInfo& org) {
-00025     _targets.resize(org._targets.size());
-00026     _weights.resize(org._weights.size());
-00027     _tcov_part.resize(org._tcov_part.size());
-00028     
-00029     _targets = org._targets;
-00030     _weights = org._weights;
-00031     _tcov_part = org._tcov_part;
-00032 
-00033     _tmean = org._tmean;
-00034     _tvar  = org._tvar;
-00035     _tstd  = org._tstd;
-00036     _tmed = org._tmed;
-00037     return *this;
-00038 }
-00039       
-00040 
-00041 TargetInfo::TargetInfo(const std::valarray<double>& t) {
-00042     _weights.resize(0);
-00043     _targets.resize(t.size());
-00044     _targets = t;
-00045     
-00046     _tmean = _targets.sum()/_targets.size();
-00047     
-00048     _tcov_part.resize(_targets.size());
-00049     _tcov_part = _targets;
-00050     _tcov_part -= _tmean;
-00051         
-00052     std::valarray<double> tmp = _tcov_part;
-00053     tmp = _tcov_part;
-00054     tmp *= tmp;
-00055         
-00056     _tvar = tmp.sum() / (tmp.size()-1);
-00057     _tstd = sqrt(_tvar);
-00058     _tmed = 0;
-00059 }
-00060 
-00061 TargetInfo::TargetInfo(const std::valarray<double>& t, const std::valarray<double>& w) {
-00062 
-00063     _targets.resize(t.size());
-00064     _weights.resize(w.size());
-00065 
-00066     _targets = t;
-00067     _weights = w;
-00068     
-00069     double sumw = _weights.sum();
-00070         // scale weights so that they'll add up to 1
-00071     _weights /= sumw;
-00072         
-00073     _tmean = (_targets * _weights).sum();
-00074     _tcov_part.resize(_targets.size());
-00075     _tcov_part = _targets;
-00076     _tcov_part -= _tmean;
-00077 
-00078     _tvar = (pow(_targets - _tmean, 2.0) * _weights).sum();
-00079     _tstd = sqrt(_tvar);
-00080     _tmed = 0.;
-00081 }
-00082 
-00083 // calculate the members, now in the context of a mask
-00084 void TargetInfo::set_training_mask(const std::valarray<bool>& tmask) {
-00085     
-00086     TargetInfo tmp;
-00087     
-00088     if (has_weights() ) {
-00089         tmp = TargetInfo( _targets[tmask], _weights[tmask]);
-00090     } else {
-00091         tmp = TargetInfo( _targets[tmask] );
-00092     }
-00093     
-00094     _tcov_part.resize(tmp._tcov_part.size());
-00095     _tcov_part = tmp._tcov_part;
-00096 
-00097     _tmean = tmp._tmean;
-00098     _tvar  = tmp._tvar;
-00099     _tstd  = tmp._tstd;
-00100     _tmed =  tmp._tmed;
-00101 
-00102     _training_mask.resize(tmask.size());
-00103     _training_mask = tmask;
-00104 }
-00105 
-00106 struct SortOnTargets
-00107 {
-00108     const valarray<double>& t;
-00109     SortOnTargets(const valarray<double>& v) : t(v) {}
-00110 
-00111     bool operator()(int i, int j) const {
-00112         return fabs(t[i]) < fabs(t[j]);
-00113     }
-00114 };
-00115     
-00116 vector<int> TargetInfo::sort() {
-00117     
-00118     vector<int> ind(_targets.size());
-00119     for (unsigned i = 0; i < ind.size(); ++i) { ind[i] = i; }
-00120 
-00121     std::sort(ind.begin(), ind.end(), SortOnTargets(_targets));
-00122 
-00123     valarray<double> tmptargets = _targets;
-00124     valarray<double> tmpweights = _weights;
-00125     valarray<double> tmpcov     = _tcov_part;
-00126     
-00127     for (unsigned i = 0; i < ind.size(); ++i) 
-00128     {
-00129         _targets[i] = tmptargets[ ind[i] ];
-00130         _tcov_part[i] = tmpcov[ ind[i] ];       
-00131         if (_weights.size()) _weights[i] = tmpweights[ ind[i] ];
-00132     }
-00133 
-00134     return ind;
-00135 }
-00136 
-00137 
-00138 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_target_info_8h-source.html b/trunk/paradiseo-eo/doc/html/_target_info_8h-source.html deleted file mode 100644 index 2cc40c34c..000000000 --- a/trunk/paradiseo-eo/doc/html/_target_info_8h-source.html +++ /dev/null @@ -1,80 +0,0 @@ - - -EO: TargetInfo.h Source File - - - - - -

TargetInfo.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef TARGETINFO_H_
-00019 #define TARGETINFO_H_
-00020 
-00021 #include <valarray>
-00022 #include <vector>
-00023 
-00024 class TargetInfo {
-00025     std::valarray<double> _targets;
-00026     std::valarray<double> _weights;
-00027     std::valarray<bool>   _training_mask;
-00028 
-00029     // some stuff for ols
-00030     std::valarray<double> _tcov_part;
-00031     double _tmean;
-00032     double _tvar;
-00033     double _tstd;
-00034     double _tmed;
-00035 
-00036     public:
-00037     TargetInfo() {}
-00038 
-00039     TargetInfo(const std::valarray<double>& t);
-00040     TargetInfo(const std::valarray<double>& t, const std::valarray<double>& w);
-00041 
-00042     TargetInfo(const TargetInfo& org);
-00043     TargetInfo& operator=(const TargetInfo& org);
-00044     ~TargetInfo() {}
-00045 
-00046     const std::valarray<double>& targets() const { return _targets; }
-00047     const std::valarray<double>& weights() const { return _weights; }
-00048     const std::valarray<bool>&   mask() const { return _training_mask; }
-00049 
-00050     void set_training_mask(const std::valarray<bool>& mask);
-00051 
-00052     bool has_weights() const { return _weights.size(); }
-00053     bool has_mask()    const { return _training_mask.size(); }
-00054 
-00055     std::vector<int> sort();
-00056 
-00057     const std::valarray<double>& tcov_part() const { return _tcov_part; }
-00058     double tmean() const { return _tmean; }
-00059     double tvar()  const { return _tvar; }
-00060     double tstd()  const { return _tstd; }
-00061     double devmedian() const { return _tmed; }
-00062 };
-00063 
-00064 #endif
-00065 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_tree_builder_8cpp-source.html b/trunk/paradiseo-eo/doc/html/_tree_builder_8cpp-source.html deleted file mode 100644 index 1e6789f4b..000000000 --- a/trunk/paradiseo-eo/doc/html/_tree_builder_8cpp-source.html +++ /dev/null @@ -1,61 +0,0 @@ - - -EO: TreeBuilder.cpp Source File - - - - - -

TreeBuilder.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include <utils/eoRNG.h>
-00019 #include "TreeBuilder.h"
-00020 
-00021 Sym TreeBuilder::make_terminal() const {
-00022     if (rng.flip(vcprob)) {
-00023         return table.get_random_var();
-00024     }
-00025 
-00026     return table.get_random_const();
-00027 }
-00028 
-00029 Sym TreeBuilder::build_tree(unsigned max_depth,  bool grow) const {
-00030     if (max_depth == 0 || grow && rng.random(2) == 0) { 
-00031         return make_terminal();
-00032     }
-00033 
-00034     // pick a random function, no matter what arity
-00035     
-00036     functor_t func = table.get_random_function();
-00037     
-00038     SymVec args(func.arity);
-00039     
-00040     for (unsigned i = 0; i < args.size(); ++i) {
-00041         args[i] = build_tree(max_depth-1, grow);
-00042     }
-00043 
-00044     return Sym(func.token, args);
-00045 }
-00046 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_tree_builder_8h-source.html b/trunk/paradiseo-eo/doc/html/_tree_builder_8h-source.html deleted file mode 100644 index b99b02916..000000000 --- a/trunk/paradiseo-eo/doc/html/_tree_builder_8h-source.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: TreeBuilder.h Source File - - - - - -

TreeBuilder.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef TREEBUILDER_H_
-00019 #define TREEBUILDER_H_
-00020 
-00021 #include "Sym.h"
-00022 #include "LanguageTable.h"
-00023 
-00024 class TreeBuilder {
-00025     const LanguageTable& table;
-00026 
-00027     // probability of selecting a var versus a const when the choice boils down to selecting a terminal
-00028     double vcprob;
-00029     
-00030     Sym make_terminal() const;
-00031     public:
-00032 
-00033     TreeBuilder(const LanguageTable& t) : table(t), vcprob(0.9) {};
-00034     TreeBuilder(const LanguageTable& t, double vc) : table(t), vcprob(vc) {};
-00035     
-00036     void set_var_vs_const_probability(double p) { vcprob = p; }
-00037     
-00038     Sym build_tree(unsigned max_depth, bool grow) const;
-00039 
-00040     void build_tree(Sym& tree, unsigned max_depth, bool grow) const { tree = build_tree(max_depth, grow); }
-00041     
-00042 };
-00043 
-00044 #endif
-00045 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/_virus_op_8h-source.html b/trunk/paradiseo-eo/doc/html/_virus_op_8h-source.html deleted file mode 100644 index c4fe325aa..000000000 --- a/trunk/paradiseo-eo/doc/html/_virus_op_8h-source.html +++ /dev/null @@ -1,133 +0,0 @@ - - -EO: VirusOp.h Source File - - - - - -

VirusOp.h

00001 /*
-00002    ViruOp.h
-00003    (c) GeNeura Team 2001, Marc Schoenauer 2000
-00004 
-00005     This library is free software; you can redistribute it and/or
-00006     modify it under the terms of the GNU Lesser General Public
-00007     License as published by the Free Software Foundation; either
-00008     version 2 of the License, or (at your option) any later version.
-00009 
-00010     This library is distributed in the hope that it will be useful,
-00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00013     Lesser General Public License for more details.
-00014 
-00015     You should have received a copy of the GNU Lesser General Public
-00016     License along with this library; if not, write to the Free Software
-00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00018 
-00019     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00020              Marc.Schoenauer@polytechnique.fr
-00021 CVS Info: $Date: 2003/02/27 19:26:43 $ $Header: /cvsroot/eodev/eo/contrib/MGE/VirusOp.h,v 1.3 2003/02/27 19:26:43 okoenig Exp $ $Author: okoenig $
-00022 */
-00023 
-00024 #ifndef VirusOp_h
-00025 #define VirusOp_h
-00026 
-00027 //-----------------------------------------------------------------------------
-00028 
-00029 #include <iostream>    // ostream, istream
-00030 #include <functional>  // bind2nd
-00031 #include <string>      // std::string
-00032 
-00033 #include <utils/eoRNG.h>
-00034 #include "../contrib/MGE/eoVirus.h"
-00035 
-00039 template<class FitT>
-00040 class VirusBitFlip: public eoMonOp<eoVirus<FitT> > {
-00041  public:
-00043   virtual std::string className() const { return "VirusBitFlip"; };
-00044 
-00049   bool operator()(eoVirus<FitT>& _chrom) {
-00050       unsigned i = eo::rng.random(_chrom.size());
-00051       _chrom.virusBitSet(i, _chrom.virusBit(i) ? false : true );
-00052       return true;
-00053   }
-00054 };
-00055 
-00056 template<class FitT>
-00057 class VirusMutation: public eoMonOp<eoVirus<FitT> > {
-00058  public:
-00060   virtual std::string className() const { return "VirusMutation"; };
-00061 
-00066   bool operator()(eoVirus<FitT>& _chrom) {
-00067         // Search for virus bits
-00068         std::vector<unsigned> bitsSet;
-00069         for ( unsigned i = 0; i < _chrom.size(); i ++ ) {
-00070           if ( _chrom.virusBit(i) ) {
-00071                 bitsSet.push_back( i );
-00072           }
-00073         }
-00074         if ( !bitsSet.size() ) {
-00075           return false;
-00076         }
-00077     unsigned flipSite = eo::rng.random(bitsSet.size());
-00078         unsigned flipValue = bitsSet[ flipSite ];
-00079         _chrom[flipValue] = _chrom[flipValue] ? false : true;
-00080         return true;
-00081   }
-00082 };
-00083 
-00085 template<class FitT>
-00086 class VirusShiftMutation: public eoMonOp<eoVirus<FitT> > {
-00087  public:
-00088 
-00090   VirusShiftMutation( ) {};
-00091 
-00093   virtual std::string className() const { return "VirusShiftMutation"; };
-00094 
-00099   bool operator()(eoVirus<FitT>& _chrom) {
-00100         // Search for virus bits
-00101         eoBooleanGenerator gen;
-00102         for ( unsigned i = 0; i < _chrom.size(); i ++ ) {
-00103           if ( _chrom.virusBit(i) ) {
-00104                 if ( gen() ) {
-00105                   if ( i + 1 < _chrom.size() ) {
-00106                         _chrom.virusBitSet(i+1,true);
-00107                         _chrom.virusBitSet(i, false);
-00108                   }
-00109                 } else {
-00110                   if ( i - 1 > 0 ) {
-00111                         _chrom.virusBitSet(i-1,true);
-00112                         _chrom.virusBitSet(i, false);
-00113                   }
-00114                 }
-00115           }
-00116         }
-00117         return true;
-00118   }
-00119 
-00120  private:
-00121 };
-00122 
-00123 
-00124 template<class FitT>
-00125 class VirusTransmission: public eoBinOp<eoVirus<FitT> > {
-00126  public:
-00128   virtual std::string className() const { return "VirusTransmission"; };
-00129 
-00135   bool operator()(eoVirus<FitT>& _chrom,const eoVirus<FitT>& _chrom2) {
-00136         // Search for virus bits
-00137         for ( unsigned i = 0; i < _chrom.size(); i ++ ) {
-00138           _chrom.virusBitSet(i, _chrom2.virusBit(i) );
-00139         }
-00140         return true;
-00141   }
-00142 };
-00143 
-00144 #endif //VirusOp_h
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/abstract1_8cpp-source.html b/trunk/paradiseo-eo/doc/html/abstract1_8cpp-source.html deleted file mode 100644 index 55e3a4c94..000000000 --- a/trunk/paradiseo-eo/doc/html/abstract1_8cpp-source.html +++ /dev/null @@ -1,61 +0,0 @@ - - -EO: abstract1.cpp Source File - - - - - -

abstract1.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoEvalFunc.h>
-00022 #include <eoInit.h>
-00023 #include <eoTransform.h>
-00024 #include <eoSGATransform.h>
-00025 #include <eoPopEvalFunc.h>
-00026 
-00027 #include "PyEO.h"
-00028 #include "def_abstract_functor.h"
-00029 
-00030 using namespace boost::python;
-00031 
-00032 void abstract1()
-00033 {
-00034     /* Abstract Classes: overrideble from python */
-00035     def_abstract_functor<eoEvalFunc<PyEO> >("eoEvalFunc");
-00036     def_abstract_functor<eoInit< PyEO > >("eoInit");
-00037   
-00038     def_abstract_functor<eoTransform<PyEO> >("eoTransform");
-00039     
-00040     class_<eoSGATransform<PyEO>, bases<eoTransform<PyEO> > >("eoSGATransform",
-00041             init< eoQuadOp<PyEO>&, double,
-00042                   eoMonOp<PyEO>&, double>())
-00043         .def("__call__", &eoSGATransform<PyEO>::operator());
-00044     
-00045     def_abstract_functor<eoPopEvalFunc<PyEO> >("eoPopEvalFunc");
-00046 }  
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/algos_8cpp-source.html b/trunk/paradiseo-eo/doc/html/algos_8cpp-source.html deleted file mode 100644 index f47d97cdb..000000000 --- a/trunk/paradiseo-eo/doc/html/algos_8cpp-source.html +++ /dev/null @@ -1,121 +0,0 @@ - - -EO: algos.cpp Source File - - - - - -

algos.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoSGA.h>
-00022 #include <eoEasyEA.h>
-00023 #include <eoDetSelect.h>
-00024 #include <eoCellularEasyEA.h>
-00025 
-00026 #include "PyEO.h"
-00027 #include "def_abstract_functor.h"
-00028 
-00029 using namespace boost::python;
-00030 
-00031 void algos()
-00032 {
-00033     def_abstract_functor<eoAlgo<PyEO> >("eoAlgo");
-00034     
-00035     /* Algorithms */
-00036     class_<eoSGA<PyEO>, bases<eoAlgo<PyEO> >, boost::noncopyable>("eoSGA", 
-00037             init<eoSelectOne<PyEO>&, 
-00038             eoQuadOp<PyEO>&, float,
-00039             eoMonOp<PyEO>&, float,
-00040             eoEvalFunc<PyEO>&, 
-00041             eoContinue<PyEO>&>()
-00042             [
-00043             with_custodian_and_ward<1,2,
-00044                 with_custodian_and_ward<1,3,
-00045                     with_custodian_and_ward<1,5,
-00046                         with_custodian_and_ward<1,7,
-00047                             with_custodian_and_ward<1,8>
-00048                         >
-00049                     >
-00050                 >
-00051             >()
-00052             ])
-00053         .def("__call__", &eoSGA<PyEO>::operator())
-00054         ;
-00055    
-00056     class_<eoEasyEA<PyEO>, bases<eoAlgo<PyEO> > >("eoEasyEA",
-00057               init<
-00058                 eoContinue<PyEO>&,
-00059                 eoEvalFunc<PyEO>&,
-00060                 eoBreed<PyEO>&,
-00061                 eoReplacement<PyEO>& >() )
-00062         .def( init<
-00063                 eoContinue<PyEO>&,
-00064                 eoPopEvalFunc<PyEO>&,
-00065                 eoBreed<PyEO>&,
-00066                 eoReplacement<PyEO>&>() )
-00067         .def( init<
-00068                 eoContinue<PyEO>&,
-00069                 eoEvalFunc<PyEO>&,
-00070                 eoBreed<PyEO>&,
-00071                 eoMerge<PyEO>&,
-00072                 eoReduce<PyEO>& >() )
-00073         .def( init<
-00074                 eoContinue<PyEO>&,
-00075                 eoEvalFunc<PyEO>&,
-00076                 eoSelect<PyEO>&,
-00077                 eoTransform<PyEO>&,
-00078                 eoReplacement<PyEO>&>())
-00079         .def( init<
-00080                 eoContinue<PyEO>&,
-00081                 eoEvalFunc<PyEO>&,
-00082                 eoSelect<PyEO>&,
-00083                 eoTransform<PyEO>&,
-00084                 eoMerge<PyEO>&,
-00085                 eoReduce<PyEO>&>())
-00086         .def("__call__", &eoEasyEA<PyEO>::operator())
-00087         ;
-00088    
-00089     /*
-00090     class_<eoCellularEasyEA<PyEO>, bases< eoAlgo<PyEO> > >("eoCellularEasyEA", 
-00091             init<   eoContinue<PyEO>&,
-00092                     eoEvalFunc<PyEO>&,
-00093                     eoSelectOne<PyEO>&,
-00094                     eoBinOp<PyEO>&,
-00095                     eoMonOp<PyEO>&,
-00096                     eoSelectOne<PyEO>&>())
-00097         .def(
-00098             init<   eoContinue<PyEO>&,
-00099                     eoEvalFunc<PyEO>&,
-00100                     eoSelectOne<PyEO>&,
-00101                     eoQuadOp<PyEO>&,
-00102                     eoMonOp<PyEO>&,
-00103                     eoSelectOne<PyEO>&>())
-00104         ;
-00105     */
-00106 }
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/annotated.html b/trunk/paradiseo-eo/doc/html/annotated.html deleted file mode 100644 index 86fc02b7a..000000000 --- a/trunk/paradiseo-eo/doc/html/annotated.html +++ /dev/null @@ -1,361 +0,0 @@ - - -EO: Class List - - - - -

EO Class List

Here are the classes, structs, unions and interfaces with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
eo1PtBitCrossoverEo1PtBitXover --> classic 1-point crossover
eoAged< Object >EoAge is a template class that adds an age to an object.\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor
eoAlgo< EOT >This is a generic class for population-transforming algorithms
eoArithmeticCrossoverEoHypercubeCrossover --> uniform choice in hypercube == arithmetical with different values for each coordinate
eoAssembledFitnessAverageStat< EOT >Average fitness values of a population, where the fitness is of type eoScalarAssembledFitness
eoAssembledFitnessBestStat< EOT >Fitness values of best individuum in a population, where the fitness is of type eoScalarAssembledFitness
eoAtomExchange< Atom >A helper class for choosing which genes to exchange
eoAverageStat< EOT >Average fitness of a population
eoBestFitnessStat< EOT >Best fitness of a population
eoBestSelect< EOT >EoBestSelect: a selection method that always return the best (mainly for testing purposes)
eoBF< A1, A2, R >Basic Binary Functor
BiasedNodeSelectorA node selector that does a specified number of rounds ignoring terminals
eoBinaryFunctorCounter< BinaryFunctor >Generic counter class that counts the number of times a binary function is used
eoBinCloneOp< EOT >Binary clone: two operands, only the first could be modified
eoBinGenOp< EOT >Wrapper for binop: here we use select method of eoPopulator but we could also have an embedded selector to select the second parent
eoBinOp< EOType >Binary genetic operator: subclasses eoOp, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content
eoBit< FitT >Implementation of bitstring chromosome
eoBitBitFlipEoBitFlip --> changes 1 bit
eoBitGxOver< Chrom >EoBitGxOver --> Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-)
eoBitInversion< Chrom >EoBitInversion: inverts the bits of the chromosome between an interval
eoBitMutation< Chrom >EoBitMutation --> classical mutation
eoBitNext< Chrom >EoBitNext --> next value when bitstring considered as binary value
eoBitOpFactory< EOT >EO Factory
eoBitPrev< Chrom >EoBitPrev --> previous value when bitstring treated as binary value
boolean_generatorThe class boolean_generator can be used in the STL generate function to easily generate random booleans with a specified bias
eoBooleanGeneratorThe class eoBooleanGenerator can be used in the STL generate function to easily generate random booleans with a specified bias
eoBooleanInitThe class eoBooleanInit can be used in the STL apply function to easily generate random booleans with a specified bias
eoBoolFlipSimple boolean mutation - to be used in generic eoOp's
eoBranchMutation< FType, Node >EoBranchMutation --> replace a subtree with a randomly created subtree
eoBreed< EOT >Breeding: combination of selecting and transforming a population
eoCellularEasyEA< EOT >The abstract cellular easy algorithm
eoCheckPoint< EOT >EoCheckPoint is a container class
eoCMABreed< FitT >TODO, handle bounds
eoCMAInit< FitT >TODO, handle bounds
eoCollapseSubtreeMutation< FType, Node >EoCollapseSubtree --> replace a subtree with a randomly chosen terminal
eoCombinedContinue< EOT >Combined continuators - logical AND: Continues until one of the embedded continuators says halt!
eoCombinedInit< EOT >Combined INIT: a proportional recombination of eoInit objects
eoCommaReplacement< EOT >ES type of replacement strategy: ignore parents, truncate offspring
eoContinue< EOT >Termination condition for the genetic algorithm Takes the population as input, returns true for continue, false for termination
eoCountedDynUpdateAn eoUpdater to update an eoUpdatable object every given tic
eoCountedStateSaverEoUpdater that saves a state every given generations
CovSingle covariance between two variates
eoCtrlCContinue< EOT >Ctrl C handling: this eoContinue tells whether the user pressed Ctrl C
eoDetBitFlip< Chrom >EoDetBitFlip --> changes exactly k bits
eoDeterministicSaDReplacement< EOT >EoDeterministicSaDReplacement: replacement strategy that is just, in sequence saves best and kill worse from parents + saves best and kill worse from offspring + merge remaining (neither save nor killed) parents and offspring + reduce that merged population = returns reduced pop + best parents + best offspring
eoDeterministicSurviveAndDie< EOT >An instance (theonly one as of today, Dec
eoDetSelect< EOT >EoDetSelect selects many individuals determinisctically
eoDetTournamentSelect< EOT >EoDetTournamentSelect: a selection method that selects ONE individual by deterministic tournament -MS- 24/10/99
eoDetTournamentTruncate< EOT >Truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g
eoDetTournamentTruncateSplit< EOT >ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g
eoDetTournamentWorthSelect< EOT, WorthT >An instance of eoSelectPerf2Worth that does selection from the Worthes using a ..
eoDetUniformMutation< EOT >EoDetUniformMutation --> changes exactly k values of the std::vector by uniform choice with range epsilon
eoDistance< EOT >This is a generic class for distance functors: takes 2 things ane returns a double
eoDistribUpdater< EOT >Base class for Distribution Evolution Algorithms within EO: the update rule of distribution
eoDistribution< EOT >Abstract class for Distribution Evolution Algorithms within EO: the distribution itself
dMatrixA helper class for Sharing - to hold distances
eoDominanceMap< EoType >EoDominanceMap, utility class to calculate and maintain a map (std::vector<std::vector<bool> >) of pareto dominance statistics
eoDoubleExchangeDiscrete crossover == exchange of values
eoDoubleIntermediateIntermediate crossover == linear combination
eoDrawable< Object >EoDrawable is a template class that adds a drawing interface to an object.\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor
DummyTest program for the general operator - millenium version! uses dummy individuals
eoDynSGATransform< EOT >EoDynSGATransform: transforms a population using genetic operators
eoDynUpdaterA base class to actually update an eoUpdatable object
eoEasyEA< EOT >An easy-to-use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-algorithms
eoEDA< EOT >EoEDA: Estimation of Distribution Algorithm within EO
eoEliteSequentialSelect< EOT >All Individuals in order
eoElitism< EOT >Straightforward elitism class, specify the number of individuals to copy into new geneneration or the rate w.r.t
EO< F >EO is a base class for evolvable objects, that is, the subjects of evolution
eoEPReduce< EOT >EP truncation method (some global stochastic tournament + sort) Softer selective pressure than pure truncate
eoEPReplacement< EOT >EP type of replacement strategy: first add parents to population, then truncate using EP tournament
eoEsChromInit< EOT >Random Es-chromosome initializer (therefore derived from eoInit)
eoEsFull< Fit >The most complex evolutionary strategy representation
eoEsGlobalXover< EOT >Gloabl crossover operator for ES genotypes
eoEsMutate< EOT >ES-style mutation in the large
eoEsMutationInitInitialize Mutation operator
eoEsSimple< Fit >Simple Evolution Strategy
eoEsStandardXover< EOT >Standard (i.e
eoEsStdev< Fit >Evolutionary Strategy with a standard deviation per parameter
eoEvalContinue< EOT >Continues until a number of evaluations has been made
eoEvalFunc< EOT >Evaluate: takes one EO and sets its "fitness" property returning this fitness also
eoEvalFuncCounter< EOT >Counts the number of evaluations actually performed, thus checks first if it has to evaluate.
eoEvalFuncPtr< EOT, FitT, FunctionArg >EOEvalFuncPtr: This class takes an existing function pointer and converts it into a evaluation function class
eoExpansionMutation< FType, Node >EoExpansionMutation --> replace a terminal with a randomly created subtree
eoExternalBinOp< F, External, ExternalEO >Crossover of external struct, ctor expects a function of the following signature:
eoExternalEO< Fit, External >Definition of an object that allows an external struct to be inserted in EO
eoExternalEvalFunc< F, External, ExternalEO >Evaluation of external struct, ctor expects a function of the following signature:
eoExternalInit< F, External, ExternalEO >Initialization of external struct, ctor expects a function of the following signature:
eoExternalMonOp< F, External, ExternalEO >Mutation of external struct, ctor expects a function of the following signature:
eoExternalQuadOp< F, External, ExternalEO >Crossover of external struct, ctor expects a function of the following signature:
eoF< R >Basic Function
eoFactory< EOClass >EO Factory
eoFDCFileSnapshot< EOT >Specific class for FDCStat monitoring: As I failed to have FDC stat as an eoStat, this is the trick to put the 2 eoParam<std::vector<double> > into a monitor This class does nothing else
eoFDCStat< EOT >The FDC computation - stores the values into eoValueParam<EOT,double> so they can be snapshot by some eoGnuplotSnapshot ..
eoFileMonitorPrints statistics to file
eoFileSnapshotPrints snapshots of fitnesses to a (new) file every N generations
eoFitContinue< EOT >Fitness continuation:
eoFitnessScalingSelect< EOT >EoFitnessScalingSelect: select an individual proportional to the linearly scaled fitness that is computed by the private eoLinearFitScaling object
eoFitnessStat< EOT, FitT >The fitnesses of a whole population, as a vector
eoFlOr1ptBinOp< EOT >The 1pt crossover (just in case someone wants it some day!)
eoFlOr1ptQuadOp< EOT >The 1pt crossover (just in case someone wants it some day!)
eoFlOrAllAtomBinOp< EOT >Bin Crossover using an Atom Crossover that is applied to a ALL components with given rate
eoFlOrAllAtomQuadOp< EOT >Quad Crossover using an Atom Crossover
eoFlOrAllMutation< EOT >Applies an atomic mutation to all the components with a given rate
eoFlOrKAtomBinOp< EOT >Bin Crossover using an Atom Crossover that is applied to a FIXED NB of components
eoFlOrKAtomQuadOp< EOT >Quad Crossover using an Atom Crossover that is applied to a FIXED NB of components
eoFlOrKMutation< EOT >Applies an atomic mutation to a fixed number of components (1 by default)
eoFlOrUniformBinOp< EOT >The uniform crossover - exchanges atoms uniformly !
eoFlOrUniformQuadOp< EOT >The uniform crossover - exchanges atoms uniformly !
eoFunctorBaseBase class for functors to get a nice hierarchy diagram
eoFunctorBase::binary_function_tagTag to identify a binary function in compile time function selection functor_category
eoFunctorBase::procedure_tagTag to identify a procedure in compile time function selection functor_category
eoFunctorBase::unary_function_tagTag to identify a unary function in compile time function selection functor_category
eoFunctorStoreEoFunctorStore is a class that stores functors that are allocated on the heap
eoG3Replacement< EOT >EoG3Replacement is an eoReplacement: - no strong elitism (is suppposed to be within a steady-state engine) - choose N (2) parents RANDOMLY - remove them from the parent population - merge offspring and the N removed parents - select best N of this merged population - put them back into parent population
eoGenContinue< EOT >Generational continuator: continues until a number of generations is reached
eoGeneDelChooser< EOT >A helper class for choosing which site to delete
eoGeneralBreeder< EOT >Base class for breeders using generalized operators
eoGeneralIntBoundsA class that encapsulate all possible eoIntBounds
eoGeneralRealBoundsA class that encapsulate all possible eoIntBounds
eoGenerationalReplacement< EOT >Generational replacement == swap populations
eoGenOp< EOT >The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the eoMonOp, eoBinOp, eoQuadOp classification
eoGnuplotBase class for calls to gnuplot
eoGnuplot1DMonitorPlot eoStat
eoGnuplot1DSnapshotPlot stats through gnuplot
eoHammingDistance< EOT >This is a generic class for L1 distance computation: assumes the 2 things are std::vectors of something that is double-castable For bitstrings, this is the Hamming distance
eoHoistMutation< FType, Node >EoHoistMutation --> replace the individual with one of its subtree's
eoHowManyA helper class, to determine a number of individuals from another one Typically, is used in selection / replacement procedures, e.g
eoIncrementor< T >EoUpdater that simply increments a counter
eoIncrementorParam< T >EoUpdater that is an eoValueParam (and thus OWNS its counter) Mandatory for generation counter in make_checkpoint
eoInit< EOT >Base (name) class for Initialization of chromosomes, used in a population contructor
eoInitAdaptor< EOT >EoInitAdaptor changes the place in the hierarchy from eoInit to eoMonOp
eoInitFixedLength< EOT >Initializer for fixed length representations with a single type
eoInitGenerator< EOT >Turning an eoInit into a generator probably we should only use genrators - and suppress eoInit ??? MS - July 2001
eoInitVariableLength< EOT >Initializer for variable length representations with a single type
eoInitVirus< FitT >Initializer for binary chromosome with MGE
eoInitVirus1bit< FitT >Inits the virus with one bit to the left set to one
eoInnerExchangeQuadOp< EOT >Crossover using an AtomCrossover
eoIntAboveBoundAn eoIntBound bounded from above only
eoIntBelowBoundEoIntBound bounded from below only
eoIntBoundsDefines bound classes for real numbers
eoIntIntervalFully bounded eoIntBound == interval
eoIntNoBoundsA default class for unbounded variables
eoInvalidateBinOp< EOT >One of the invalidator operators
eoInvalidateMonOp< EOT >One of the invalidator operators
eoInvalidateQuadOp< EOT >One of the invalidator operators
eoLinearFitScaling< EOT >An instance of eoPerf2Worth COmputes the linearly scaled fitnesses with given selective pressure Pselect(Best) == pressure/sizePop Pselect(average) == 1.0/sizePop truncate negative values to 0 -
eoLinearRandomSplit< EOT >Random truncation - linear version
eoLinearTruncate< EOT >Truncate class that does not sort, but repeatidely kills the worse
eoLinearTruncateSplit< EOT >ReduceSplit class that does not sort, but repeatidely kills the worse
MemPoolPool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000
gp_parse_tree::MemPoolPool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000
eoMerge< Chrom >EoMerge: Base class for elitist replacement algorithms
eoMergeReduce< EOT >EoMergeReduce: abstract replacement strategy that is just an application of an embedded merge, followed by an embedded reduce
eoMGGReplacement< EOT >EoMGGReplacement is an eoReplacement: - choose N (2) parents RANDOMLY - remove them from the parent population - select best offspring, add to parents - merge (other?) offspring and the N removed parents - select best N-1 of this merged population (detTournament only at the moment) - put them back into parent population
MinimizingTraitsTest program for Pareto Fitness
eoMOFitnessStat< EOT, PartFitT >For multi-objective fitness, we need to translate a stat<vector<double> > into a vector<stat>, so each objective gets a seperate stat
eoMonCloneOp< EOT >Mon clone: one argument
eoMonGenOp< EOT >Wrapper for eoMonOp
eoMonitorThe abstract monitor class is a std::vector of parameter pointers
eoMonOp< EOType >EoMonOp is the monary operator: genetic operator that takes only one EO
eoNDPlusReplacement< EOT, WorthT >An elitist non-dominated sorted replacement scheme
eoNDSorting< EOT >Non dominated sorting, it *is a* std::vector of doubles, the integer part is the rank (to which front it belongs), the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into the bits
eoNDSorting< EOT >::DummyEOUsed in fast nondominated sorting DummyEO is just a storage place for fitnesses and to store the original index
eoNDSorting_I< EOT >The original Non Dominated Sorting algorithm from Srinivas and Deb
eoNDSorting_II< EOT >Fast Elitist Non-Dominant Sorting Genetic Algorithm
negexp_generator< T >The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles
eoNegExpGenerator< T >The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles
eoNegExpInit< T >The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles
NodeSelectorBase class for selecting nodes
eoNoElitism< EOT >No elite
eoNoPerf2Worth< EOT >A dummy perf2worth, just in case you need it
normal_generator< T >The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles
eoNormalGenerator< T >The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles
eoNormalInit< T >The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles
eoNormalMutation< EOT >Simple normal mutation of a std::vector of real values
eoNormalVecMutation< EOT >Simple normal mutation of a std::vector of real values
eoNoSelect< EOT >EoNoSelect: returns all individual in order WITHOUT USING FITNESS!!! looping back to the beginning when exhasuted
eoNPtsBitXover< Chrom >EoNPtsBitXover --> n-point crossover
eoNthElementFitnessStat< EOT >The n_th element fitness in the population (see eoBestFitnessStat)
eoObjectEoObject used to be the base class for the whole hierarchy, but this has changed
eoOneFifthMutation< EOT >Dynamic version: just say it is updatable - and write the update() method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !)
eoOneMax< FitT >Always write a comment in this format before class definition if you want the class to be documented by Doxygen
eoOneMaxEvalFunc< EOT >Always write a comment in this format before class definition if you want the class to be documented by Doxygen
eoOneMaxInit< GenotypeT >Always write a comment in this format before class definition if you want the class to be documented by Doxygen
eoOneMaxMutation< GenotypeT >Always write a comment in this format before class definition if you want the class to be documented by Doxygen
eoOneMaxQuadCrossover< GenotypeT >Always write a comment in this format before class definition if you want the class to be documented by Doxygen
eoOp< EOType >Abstract data types for EO operators
eoOpContainer< EOT >EoOpContainer is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated
eoOpSelMason< eoClass >EO Mason, or builder, for operator selectors
eoParamEoParam: Base class for monitoring and parsing parameters
eoParameterLoaderParameter saving and loading
eoParamParamTypeAnother helper class for parsing parameters like Keyword(arg1, arg2, ...)
eoParetoFitness< FitnessTraits >EoParetoFitness class: std::vector of doubles with overloaded comparison operators
eoParetoFitnessTraitsEoFitnessTraits: a traits class to specify the number of objectives and which one are maximizing or not See test/t-eoParetoFitness for its use
eoParetoOneConstraintFitness< FitnessTraits >EoParetoOneConstraintFitness class: std::vector of doubles + constraint value
eoParetoRanking< EOT >Straightforward pareto ranking
eoParserEoParser: command line parser and configuration file reader This class is persistent, so it can be stored and reloaded to restore parameter settings
eoParseTree< FType, Node >Implementation of parse-tree for genetic programming
eoParseTreeDepthInit< FType, Node >EoParseTreeDepthInit : the initializer class for eoParseTree
eoPBILAdditive< EOT >Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96)
eoPBILDistrib< EOT >Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96)
eoPBILOrg< EOT >Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 95)
eoPerf2Worth< EOT, WorthT >Base class to transform raw fitnesses into fitness for selection
eoPerf2Worth< EOT, WorthT >::compare_worthHelper class used to sort indices into populations/worths
eoPerf2WorthCached< EOT, WorthT >Perf2Worth with fitness cache
eoPerf2WorthCached< EOT, WorthT >::compare_worthHelper class used to sort indices into populations/worths
eoPersistentAn persistent object that knows how to write (through functions inherited from eoPrintable#) and read itself
eoPlus< EOT >Very elitist class, copies entire population into next gen
eoPlusReplacement< EOT >ES type of replacement strategy: first add parents to population, then truncate
eoPointMutation< FType, Node >EoPointMutation --> replace a Node with a Node of the same arity
eoPop< EOT >A std::vector of EO object, to be used in all algorithms (selectors, operators, replacements, ...)
eoPop< EOT >::CmpHelper struct for comparing on pointers
eoPop< EOT >::RefHelper struct for getting a pointer
eoPopAlgo< EOT >For all "population transforming" algos ..
eoPopEvalFunc< EOT >EoPopEvalFunc: This abstract class is for GLOBAL evaluators of a population after variation
eoPopLoopEval< EOT >EoPopLoopEval: an instance of eoPopEvalFunc that simply applies a private eoEvalFunc to all offspring
eoPopStat< EOT >Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats
eoPopulator< EOT >EoPopulator is a helper class for general operators eoGenOp It is an eoPop but also behaves like an eoPop::iterator as far as operator* and operator++ are concerned
eoPrintableBase class for objects that can print themselves (printOn#)
eoProcedureCounter< Procedure >Generic counter class that counts the number of times a procedure is used
eoPropCombinedBinOp< EOT >COmbined Binary genetic operator: operator() has two operands, only the first one can be modified
eoPropCombinedMonOp< EOT >EoMonOp is the monary operator: genetic operator that takes only one EO
eoPropCombinedQuadOp< EOT >Combined quad genetic operator: operator() has two operands, both can be modified
eoPropGAGenOp< EOT >*************************************************************************** eoPropGAGenOp (for Simple GA, but Proportional) choice between Crossover, mutation or cloining with respect to given relatve weights
eoProportionalOp< EOT >The proportional versions: easy!
eoProportionalSelect< EOT >EoProportionalSelect: select an individual proportional to her stored fitness value
eoQuad2BinOp< EOT >Turning an eoQuadOp into an eoBinOp: simply don't touch the second arg!
eoQuadCloneOp< EOT >Quad clone: two operands, both could be modified - but are not!
eoQuadDistance< EOT >This is a generic class for Euclidain distance (L2 norm) computation: assumes the 2 things are std::vectors of something that is double-castable
eoQuadGenOp< EOT >Wrapper for quadop: easy as pie
eoQuadOp< EOType >Quad genetic operator: subclasses eoOp, and defines basically the operator() with two operands, both can be modified
random_generator< T >The class random_generator can be used in the STL generate function to easily generate random ints either between [0, _max) if only one value (_max) is given to the ctor or in [_min,_max) if 2 values are given (_min, _max)
RandomNodeSelectorSelect nodes uniformly
eoRandomReduce< EOT >Random truncation
eoRandomSelect< EOT >EoRandomSelect: a selection method that selects ONE individual randomly
eoRandomSplit< EOT >Random truncation - batch version
eoRanking< EOT >An instance of eoPerfFromWorth COmputes the ranked fitness: fitnesses range in [m,M] with m=2-pressure/popSize and M=pressure/popSize
eoRankingSelect< EOT >EoRankingSelect: select an individual by roulette wheel on its rank is an eoRouletteWorthSelect, i.e
eoReal< FitT >EoReal: implementation of simple real-valued chromosome
eoRealAboveBoundAn eoRealBound bounded from above only
eoRealBaseVectorBoundsVector type for bounds (see eoRealBounds.h for scalar types) ------------ Class eoRealVectorBounds implements the std::vectorized version: it is basically a std::vector of eoRealBounds * and forwards all request to the elements of the std::vector
eoRealBelowBoundEoRealBound bounded from below only
eoRealBoundsDefines bound classes for real numbers
eoRealInitBounded< EOT >Simple initialization for any EOT that derives from std::vector<double> uniformly in some bounds
eoRealIntervalFully bounded eoRealBound == interval
eoRealNoBoundsA default class for unbounded variables
eoRealUxOverEoRealUxOver --> Uniform crossover, also termed intermediate crossover
eoRealVectorBoundsNow a derived class, for parser reading It holds some of the bounds (and destroy them when dying)
eoRealVectorNoBoundsDummy unbounded eoRealVectorBounds: usefull if you don't need bounds! everything is inlined
eoReduce< EOT >EoReduce: .reduce the new generation to the specified size At the moment, limited to truncation - with 2 different methods, one that sorts the whole population, and one that repeatidely kills the worst
eoReduceMerge< EOT >EoReduceMerge: Replacement strategies that start by reducing the parents, then merge with the offspring
eoReduceMergeReduce< EOT >EoReduceMergeReduce is an eoReplacement: - saves possible elite parents - reduces rest of parents - reduces offspring - merges reduced populations - reduces resulting merged pop if necessary
eoReduceSplit< EOT >EoReduceSplit: reduce the pop to the specified size AND eventually returns the eliminated guys
eoReplacement< EOT >
eoRndGenerator< T >By popular demand re-introducing a base class for a family of random number generators
eoRngRandom Number Generator
eoRouletteWorthSelect< EOT, WorthT >An instance of eoSelectPerf2Worth that does selection from the Worthes using a ..
eoScalarFitness< ScalarType, Compare >EoScalarFitness<ScalarType, Compare = less<ScalarType> >: Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less<ScalarType>) or minimizing (using greater<ScalarType>)
eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >Implements fitness as std::vector, storing all values that might occur during fitness assembly
eoScalarFitnessAssembledTraitsDefines properties of eoScalarFitnessAssembled
eoScalarFitnessStat< EOT, FitT >The fitnesses of a whole population, as a std::vector
eoSecondMomentStats< EOT >Average fitness + Std
eoSegmentCrossover< EOT >EoSegmentCrossover --> uniform choice in segment == arithmetical with same value along all coordinates
eoSelBinGenOp< EOT >Wrapper for eoBinOp with a selector
eoSelect< EOT >EoSelect selects a number of individuals from the first argument and puts it in the second
eoSelectFactory< EOT >EO Factory.An instance of the factory class to create selectors, that is, eoSelect objects
eoSelectFromWorth< EOT, WorthType >Selects one element from a population (is an eoSelectOne) but the selection is based on a std::vector of Worth that is different from the fitnesses (e.g
eoSelectivePopulator< EOT >SelectivePopulator an eoPoplator that uses an eoSelectOne to select guys
eoSelectMany< EOT >EoSelectMany selects many individuals using eoSelectOne as it's mechanism
eoSelectNumber< EOT >EoSelectNumber selects many individuals using eoSelectOne as it's mechanism
eoSelectOne< EOT, WorthT >EoSelectOne selects only one element from a whole population
eoSelectPerc< EOT >EoSelectPerc selects many individuals using eoSelectOne as it's mechanism
eoSelectTransform< EOT >Embedded select, followed by an embedded transform
eoSeqPopulator< EOT >SeqPopulator: an eoPopulator that sequentially goes through the population is supposed to be used after a batch select of a whole bunch or genitors
eoSequentialOp< EOT >Sequential selection: note the mark, rewind, unmark cycle here operators are repeatedly applied on the same individual(s) not all too elegant, but it sort of works..
eoSequentialSelect< EOT >All Individuals in order
eoSGA< EOT >The Simple Genetic Algorithm, following Holland and Goldberg
eoSGAGenOp< EOT >*************************************************************************** eoSGAGenOp (for Simple GA) mimicks the usual crossover with proba pCross + mutation with proba pMut inside an eoGeneralOp It does it exactly as class eoSGATransform, i.e
eoSGATransform< EOT >EoSGATransform: transforms a population using genetic operators
eoSharing< EOT >Sharing is a perf2worth class that implements Goldberg and Richardson's basic sharing see eoSharingSelect for how to use it and test/t-eoSharing.cpp for a sample use of both
eoSharingSelect< EOT >EoSharingSelect: select an individual by roulette wheel on its SHARED fitness
eoSimpleEDA< EOT >EoSimpleEDA: a very simple Estimation of Distribution Algorithm
eoSortedPopStat< EOT >Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats
eoSortedStat< EOT, ParamType >The actual class that will be used as base for all statistics that need to be calculated over the sorted population It's an eoSortedStatBase AND an eoValueParam so it can be used in Monitors
eoSortedStatBase< EOT >Base class for statistics calculated over a sorted snapshot of the population
eoSSGADetTournamentReplacement< EOT >SSGA deterministic tournament replacement
eoSSGAStochTournamentReplacement< EOT >SSGA stochastic tournament replacement
eoSSGAWorseReplacement< EOT >SSGA replace worst
eoStat< EOT, T >The actual class that will be used as base for all statistics that need to be calculated over the (unsorted) population It is an eoStatBase AND an eoValueParam so it can be used in Monitors
eoStatBase< EOT >Base class for all statistics that need to be calculated over the (unsorted) population (I guess it is not really necessary? MS
eoStateEoState can be used to register derivants of eoPersistent
eoState::loading_errorLoading error thrown when nothing seems to work
eoStBranchMutation< FType, Node >EoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree
eoStdoutMonitorPrints statistics to stdout
eoSteadyFitContinue< EOT >A continuator: does a minimum number of generations, then stops whenever a given number of generations takes place without improvement
eoStHoistMutation< FType, Node >EoStHoistMutation --> replace the individual with one of its strongly typed subtree's
eoSTLBF< A1, A2, R >Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e
eoSTLF< R >Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e
eoSTLUF< A1, R >Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e
eoStochasticUniversalSelect< EOT >EoStochasticUniversalSelect: select an individual proportional to her stored fitness value, but in contrast with eoStochasticUniversalSelect, get rid of most finite sampling effects by doing all selections in one go, using a single random number
eoStochTournamentSelect< EOT >EoStochTournamentSelect: a selection method that selects ONE individual by binary stochastic tournament -MS- 24/10/99
eoStochTournamentTruncate< EOT >Truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g
eoStochTournamentTruncateSplit< EOT >ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g
eoStochTournamentWorthSelect< EOT, WorthT >An instance of eoSelectPerf2Worth that does selection from the Worthes using a ..
eoStParseTreeDepthInit< FType, Node >EoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming
eoStPointMutation< FType, Node >EoStPointMutation --> replace a Node with a Node of the same arity and type
eoString< fitnessT >Adaptor that turns an STL std::string into an EO
eoStSubtreeXOver< FType, Node >EoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming
eoSubtreeXOver< FType, Node >EoSubtreeXOver --> subtree xover
eoSurviveAndDie< EOT >EoSurviveAndDie A pure abstract class, to store the howmany's
eoSymInit< EoType >Default initializer, Koza style
T_pickle_suite< T >Implements pickle support for eoPersistent derivatives
eoTimeCounterAn eoStat that simply gives the user time since first generation It has to be tempatized by EOT because it must be an eoStat
eoTimedDynUpdateAn eoUpdater to update an eoUpdatable object every given time interval
eoTimedMonitorHolds a collection of monitors and only fires them when a time limit has been reached
eoTimedStateSaverEoUpdater that saves a state every given time interval
eoTimeVaryingLoopEval< EOT >EoPopLoopEval: an instance of eoPopEvalFunc that simply applies a private eoEvalFunc to all offspring AND ALL PARENTS as the fitness is supposed here to vary
eoTransform< EOT >EoTransform transforms a population by applying genetic operators on it
eoTruncate< EOT >Truncation method using sort
eoTruncatedSelectMany< EOT >EoTruncatedSelectMany selects many individuals using eoSelectOne as it's mechanism
eoTruncatedSelectOne< EOT >EoTruncatedSelectOne selects one individual using eoSelectOne as it's mechanism
eoTruncateSplit< EOT >Deterministic truncation method using sort
eoTruncSelect< EOT >EoTruncSelect selects individuals after truncating the population using eoSelectOne as it's mechanism
eoUBitXover< Chrom >EoUBitXover --> classic Uniform crossover
eoUF< A1, R >Basic Unary Functor
UF_random_generator< T >Another class random_generator that can be used in the STL random_shuffle function (see eoPop::shuffle): its operator() takes an unsigned argument m and must return an unsigned uniformly distributed in [0,m}
eoUnaryFunctorCounter< UnaryFunctor >Generic counter class that counts the number of times a unary function is used
uniform_generator< T >The class uniform_generator can be used in the STL generate function to easily generate random floats and doubles either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max)
eoUniformAtomExchange< Atom >Uniform crossover - well, not really, efficient for FixedLength
eoUniformGeneChooser< EOT >Uniform choice of gene to delete
eoUniformGenerator< T >The class eoUniform can be used in the STL generate function to easily generate random floats and doubles
eoUniformInit< T >The class eoUniformInit can be used in the STL apply function to easily randomize floats and doubles
eoUniformMutation< EOT >EoUniformMutation --> changes all values of the std::vector by uniform choice with range epsilon with probability p_change per variable
eoUpdatableEoUpdatable is a generic class for adding updatation to an existing class Just says it has an update() method
eoUpdaterEoUpdater is a generic procudere for updating whatever you want
eoValueParam< ValueType >EoValueParam<ValueType>: templatized derivation of eoParam
eoVariableParetoTraitsEoVariableParetoTraits : an eoParetoFitnessTraits whose characteristics can be set at run-time (nb objectives and min/max's) Why bother? For didactical purposes (and EASEA implementation :-)
eoVector< FitT, GeneType >Base class for fixed length chromosomes, just derives from EO and std::vector and redirects the smaller than operator to EO (fitness based comparison)
VirusBitFlip< FitT >VirusBitFlip --> changes 1 bit
VirusShiftMutation< FitT >Works for 1-bit virus; shifts the one to the right or left
eoVlAddMutation< EOT >Addition of a gene Is inserted at a random position - so can be applied to both order-dependent and order-independent
eoVlAtomExchangeQuadOp< EOT >Exchange Crossover using an AtomExchange
eoVlDelMutation< EOT >Deletion of a gene By default at a random position, but a "chooser" can be specified can of course be applied to both order-dependent and order-independent
eoVlUniformBinOp< EOT >Direct Uniform Exchange of genes for Variable Length, BINARY version
eoVlUniformQuadOp< EOT >Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons
eoWeakElitistReplacement< EOT >EoWeakElitistReplacement: a wrapper for other replacement procedures
-
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/apply_8h-source.html b/trunk/paradiseo-eo/doc/html/apply_8h-source.html deleted file mode 100644 index 4c8e9bb28..000000000 --- a/trunk/paradiseo-eo/doc/html/apply_8h-source.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: apply.h Source File - - - - - -

apply.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoApply.h
-00005 // (c) Maarten Keijzer 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              mak@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _apply_h
-00027 #define _apply_h
-00028 
-00029 #include <eoFunctor.h>
-00030 #include <vector>
-00031 
-00035 template <class EOT>
-00036 void apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
-00037 {
-00038     for (unsigned i = 0; i < _pop.size(); ++i)
-00039     {
-00040         _proc(_pop[i]);
-00041     }
-00042 }
-00043 
-00044 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/breeders_8cpp-source.html b/trunk/paradiseo-eo/doc/html/breeders_8cpp-source.html deleted file mode 100644 index 4865516b9..000000000 --- a/trunk/paradiseo-eo/doc/html/breeders_8cpp-source.html +++ /dev/null @@ -1,66 +0,0 @@ - - -EO: breeders.cpp Source File - - - - - -

breeders.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoBreed.h>
-00022 #include <eoGeneralBreeder.h>
-00023 #include <eoOneToOneBreeder.h>
-00024 
-00025 #include "PyEO.h"
-00026 #include "def_abstract_functor.h"
-00027 
-00028 using namespace boost::python;
-00029 
-00030 #define DEF3(x, i1, i2) class_<x<PyEO>, bases<eoBreed<PyEO > > >(#x, \
-00031         init<i1, i2 >()[with_custodian_and_ward<1,2,with_custodian_and_ward<1,3> >()])\
-00032         .def("__call__", &eoBreed<PyEO>::operator())
-00033 
-00034 void breeders()
-00035 {
-00036     def_abstract_functor<eoBreed<PyEO> >("eoBreed");
-00037 
-00038     DEF3(eoSelectTransform, eoSelect<PyEO>&, eoTransform<PyEO>&);
-00039 
-00040     DEF3(eoGeneralBreeder, eoSelectOne<PyEO>&, eoGenOp<PyEO>&)
-00041         .def( init<eoSelectOne<PyEO>&, eoGenOp<PyEO>&, double>()[WC2])
-00042         .def( init<eoSelectOne<PyEO>&, eoGenOp<PyEO>&, double, bool>()[WC2] )
-00043         .def( init<eoSelectOne<PyEO>&, eoGenOp<PyEO>&, eoHowMany>() );
-00044 
-00045 
-00046     DEF3(eoOneToOneBreeder, eoGenOp<PyEO>&, eoEvalFunc<PyEO>&)
-00047         .def( init<eoGenOp<PyEO>&, eoEvalFunc<PyEO>&, double>()[WC2] )
-00048         .def( init<eoGenOp<PyEO>&, eoEvalFunc<PyEO>&, double, eoHowMany>()[WC2] );
-00049 
-00050 }
-00051 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_biased_node_selector-members.html b/trunk/paradiseo-eo/doc/html/class_biased_node_selector-members.html deleted file mode 100644 index e5bbedd9b..000000000 --- a/trunk/paradiseo-eo/doc/html/class_biased_node_selector-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

BiasedNodeSelector Member List

This is the complete list of members for BiasedNodeSelector, including all inherited members.

- - - - - -
BiasedNodeSelector() (defined in BiasedNodeSelector)BiasedNodeSelector [inline]
BiasedNodeSelector(unsigned n) (defined in BiasedNodeSelector)BiasedNodeSelector [inline]
nRounds (defined in BiasedNodeSelector)BiasedNodeSelector
select_node(Sym sym) const (defined in BiasedNodeSelector)BiasedNodeSelector [virtual]
~NodeSelector() (defined in NodeSelector)NodeSelector [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_biased_node_selector.html b/trunk/paradiseo-eo/doc/html/class_biased_node_selector.html deleted file mode 100644 index 931fc5884..000000000 --- a/trunk/paradiseo-eo/doc/html/class_biased_node_selector.html +++ /dev/null @@ -1,44 +0,0 @@ - - -EO: BiasedNodeSelector Class Reference - - - - -

BiasedNodeSelector Class Reference

A node selector that does a specified number of rounds ignoring terminals. -More... -

-#include <NodeSelector.h> -

-

Inheritance diagram for BiasedNodeSelector: -

- -NodeSelector - -List of all members. - - - - - - - - - -

Public Member Functions

BiasedNodeSelector (unsigned n)
-NodeSelection select_node (Sym sym) const

Public Attributes

-unsigned nRounds
-

Detailed Description

-A node selector that does a specified number of rounds ignoring terminals. -

- -

-Definition at line 55 of file NodeSelector.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_biased_node_selector.png b/trunk/paradiseo-eo/doc/html/class_biased_node_selector.png deleted file mode 100644 index 19141e01b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/class_biased_node_selector.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/class_cov-members.html b/trunk/paradiseo-eo/doc/html/class_cov-members.html deleted file mode 100644 index e4db6cdfd..000000000 --- a/trunk/paradiseo-eo/doc/html/class_cov-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

Cov Member List

This is the complete list of members for Cov, including all inherited members.

- - - - - - - - - -
Cov() (defined in Cov)Cov [inline]
get_cov() const (defined in Cov)Cov [inline]
get_meana() const (defined in Cov)Cov [inline]
get_meanb() const (defined in Cov)Cov [inline]
meana (defined in Cov)Cov [private]
meanb (defined in Cov)Cov [private]
n (defined in Cov)Cov [private]
sumcov (defined in Cov)Cov [private]
update(double a, double b) (defined in Cov)Cov [inline]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_cov.html b/trunk/paradiseo-eo/doc/html/class_cov.html deleted file mode 100644 index 8f4786bec..000000000 --- a/trunk/paradiseo-eo/doc/html/class_cov.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: Cov Class Reference - - - - -

Cov Class Reference

Single covariance between two variates. -More... -

-#include <stats.h> -

-List of all members. - - - - - - - - - - - - - - - - - - - -

Public Member Functions

-void update (double a, double b)
-double get_meana () const
-double get_meanb () const
-double get_cov () const

Private Attributes

-double n
-double meana
-double meanb
-double sumcov
-


Detailed Description

-Single covariance between two variates. -

- -

-Definition at line 58 of file stats.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_e_o-members.html b/trunk/paradiseo-eo/doc/html/class_e_o-members.html deleted file mode 100644 index 92757b7a8..000000000 --- a/trunk/paradiseo-eo/doc/html/class_e_o-members.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: Member List - - - - -

EO< F > Member List

This is the complete list of members for EO< F >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className() const EO< F > [inline, virtual]
EO()EO< F > [inline]
EO() (defined in EO< F >)EO< F > [inline]
Fitness typedef (defined in EO< F >)EO< F >
fitness() const EO< F > [inline]
fitness(const Fitness &_fitness)EO< F > [inline]
fitness(performance_type perf) (defined in EO< F >)EO< F > [inline]
fitness(void) const (defined in EO< F >)EO< F > [inline]
fitness_traits typedef (defined in EO< F >)EO< F >
invalid() const EO< F > [inline]
invalidate() (defined in EO< F >)EO< F > [inline]
invalidate(void) (defined in EO< F >)EO< F > [inline]
invalidate_worth(void) (defined in EO< F >)EO< F > [inline]
invalidFitness (defined in EO< F >)EO< F > [private]
operator<(const EO &_eo2) const EO< F > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< F >)EO< F > [inline]
operator>(const EO &_eo2) const (defined in EO< F >)EO< F > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< F >)EO< F > [inline]
performance(performance_type perf) (defined in EO< F >)EO< F > [inline]
performance(void) const (defined in EO< F >)EO< F > [inline]
performance_type typedef (defined in EO< F >)EO< F >
printOn(std::ostream &_os) const EO< F > [inline, virtual]
readFrom(std::istream &_is)EO< F > [inline, virtual]
rep_fitness (defined in EO< F >)EO< F > [private]
repFitness (defined in EO< F >)EO< F > [private]
storage_type typedef (defined in EO< F >)EO< F >
valid_performance (defined in EO< F >)EO< F > [private]
valid_worth (defined in EO< F >)EO< F > [private]
worth(worth_type worth) (defined in EO< F >)EO< F > [inline]
worth(void) const (defined in EO< F >)EO< F > [inline]
worth_type typedef (defined in EO< F >)EO< F >
~EO()EO< F > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_e_o.html b/trunk/paradiseo-eo/doc/html/class_e_o.html deleted file mode 100644 index dc699a815..000000000 --- a/trunk/paradiseo-eo/doc/html/class_e_o.html +++ /dev/null @@ -1,434 +0,0 @@ - - -EO: EO< F > Class Template Reference - - - - -

EO< F > Class Template Reference

EO is a base class for evolvable objects, that is, the subjects of evolution. -More... -

-#include <EO.h> -

-

Inheritance diagram for EO< F >: -

- -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef F Fitness
-typedef Traits fitness_traits
-typedef Traits::storage_type storage_type
-typedef Traits::performance_type performance_type
-typedef Traits::worth_type worth_type

Public Member Functions

 EO ()
 Default constructor.
-virtual ~EO ()
 Virtual dtor.
-Fitness fitness () const
 Return fitness value.
-void invalidate ()
void fitness (const Fitness &_fitness)
 Set fitness.
bool invalid () const
 Return true If fitness value is invalid, false otherwise.
bool operator< (const EO &_eo2) const
 Returns true if.
-bool operator> (const EO &_eo2) const
-void fitness (performance_type perf)
-void performance (performance_type perf)
-performance_type performance (void) const
-void worth (worth_type worth)
-worth_type worth (void) const
-worth_type fitness (void) const
-void invalidate (void)
-void invalidate_worth (void)
-bool operator< (const EO< Fitness, Traits > &other) const
-bool operator> (const EO< Fitness, Traits > &other) const
virtual std::string className () const
 Return the class id.
virtual void readFrom (std::istream &_is)
 Read object.\ Calls base class, just in case that one had something to do.
virtual void printOn (std::ostream &_os) const
 Write object.

Private Attributes

-Fitness repFitness
-bool invalidFitness
-bool valid_performance
-bool valid_worth
-storage_type rep_fitness
-

Detailed Description

-

template<class F>
- class EO< F >

- -EO is a base class for evolvable objects, that is, the subjects of evolution. -

-EOs have only got a fitness, which at the same time needs to be only an object with the operation less than (<) defined. Fitness says how good is the object; evolution or change of these objects is left to the genetic operators. A fitness less than another means a worse fitness, in whatever the context; thus, fitness is always maximized; although it can be minimized with a proper definition of the < operator. The fitness object must have, besides an void ctor, a copy ctor. -

- -

-Definition at line 44 of file EO.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - -
-template<class F>
EO< F >::EO  )  [inline]
-
- - - - - -
-   - - -

-Default constructor. -

-Fitness must have a ctor which takes 0 as a value; we can not use void ctors here since default types like float have no void initializer. VC++ allows it, but gcc does not -

-Definition at line 54 of file EO.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class F>
void EO< F >::fitness const Fitness &  _fitness  )  [inline]
-
- - - - - -
-   - - -

-Set fitness. -

-At the same time, validates it.

Parameters:
- - -
_fitness New fitness value.
-
- -

-Definition at line 72 of file EO.h.

-

- - - - -
- - - - - - - - - - - -
-template<class F>
bool EO< F >::invalid  )  const [inline]
-
- - - - - -
-   - - -

-Return true If fitness value is invalid, false otherwise. -

-

Returns:
true If fitness is invalid.
- -

-Definition at line 81 of file EO.h. -

-Referenced by EO< PyFitness >::fitness(), eoOneMaxEvalFunc< EOT >::operator()(), eoOneFifthMutation< EOT >::operator()(), eoEvalFuncPtr< EOT, FitT, FunctionArg >::operator()(), eoEvalFuncCounter< EOT >::operator()(), and EO< PyFitness >::printOn().

-

- - - - -
- - - - - - - - - - - - -
-template<class F>
bool EO< F >::operator< const EO< F > &  _eo2  )  const [inline]
-
- - - - - -
-   - - -

-Returns true if. -

-

Returns:
true if the fitness is higher
- -

-Definition at line 86 of file EO.h. -

-Referenced by eoVector< FitT, bool >::operator<().

-

- - - - -
- - - - - - - - - - - - -
-template<class F>
virtual std::string EO< F >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Return the class id. -

-

Returns:
the class name as a std::string
- -

-Implements eoObject. -

-Reimplemented in eoEsFull< Fit >, eoEsSimple< Fit >, eoEsStdev< Fit >, eoReal< FitT >, eoBit< FitT >, eoParseTree< FType, Node >, eoString< fitnessT >, and eoOneMax< FitT >. -

-Definition at line 95 of file EO.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class F>
virtual void EO< F >::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object.\ Calls base class, just in case that one had something to do. -

-The read and print methods should be compatible and have the same format. In principle, format is "plain": they just print a number

Parameters:
- - -
_is a std::istream.
-
-
Exceptions:
- - -
runtime_std::exception If a valid object can't be read.
-
- -

-Implements eoPersistent. -

-Reimplemented in eoVector< FitT, GeneType >, eoEsFull< Fit >, eoEsSimple< Fit >, eoEsStdev< Fit >, eoBit< FitT >, eoParseTree< FType, Node >, eoExternalEO< Fit, External >, eoVector< Fit, double >, eoVector< FitT, double >, and eoVector< FitT, bool >. -

-Definition at line 105 of file EO.h. -

-Referenced by eoVector< FitT, bool >::readFrom(), eoPop< Dummy >::readFrom(), eoParseTree< FType, Node >::readFrom(), eoOneMax< FitT >::readFrom(), eoExternalEO< Fit, External >::readFrom(), and eoBit< FitT >::readFrom().

-

- - - - -
- - - - - - - - - - - - -
-template<class F>
virtual void EO< F >::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-Called printOn since it prints the object _on_ a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Reimplemented in eoVector< FitT, GeneType >, eoEsFull< Fit >, eoEsSimple< Fit >, eoEsStdev< Fit >, eoBit< FitT >, eoParseTree< FType, Node >, eoExternalEO< Fit, External >, eoString< fitnessT >, Dummy, Dummy, Dummy, Dummy, eoVector< Fit, double >, eoVector< FitT, double >, and eoVector< FitT, bool >. -

-Definition at line 129 of file EO.h. -

-Referenced by Dummy::printOn(), eoVector< FitT, bool >::printOn(), eoString< fitnessT >::printOn(), eoParseTree< FType, Node >::printOn(), eoOneMax< FitT >::printOn(), eoExternalEO< Fit, External >::printOn(), and eoBit< FitT >::printOn().

-


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_e_o.png b/trunk/paradiseo-eo/doc/html/class_e_o.png deleted file mode 100644 index b1cb6c623..000000000 Binary files a/trunk/paradiseo-eo/doc/html/class_e_o.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/class_mem_pool-members.html b/trunk/paradiseo-eo/doc/html/class_mem_pool-members.html deleted file mode 100644 index 4992a88a1..000000000 --- a/trunk/paradiseo-eo/doc/html/class_mem_pool-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

MemPool Member List

This is the complete list of members for MemPool, including all inherited members.

- - - - - - - - -
allocate() (defined in MemPool)MemPool [inline]
chunks (defined in MemPool)MemPool [private]
deallocate(void *b) (defined in MemPool)MemPool [inline]
esize (defined in MemPool)MemPool [private]
grow() (defined in MemPool)MemPool [inline, private]
head (defined in MemPool)MemPool [private]
MemPool(unsigned int sz) (defined in MemPool)MemPool [inline]
~MemPool() (defined in MemPool)MemPool [inline]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_mem_pool.html b/trunk/paradiseo-eo/doc/html/class_mem_pool.html deleted file mode 100644 index 683173dd4..000000000 --- a/trunk/paradiseo-eo/doc/html/class_mem_pool.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: MemPool Class Reference - - - - -

MemPool Class Reference

Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. -More... -

-#include <node_pool.h> -

-List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

MemPool (unsigned int sz)
-void * allocate ()
-void deallocate (void *b)

Private Member Functions

-void grow ()

Private Attributes

-Chunk * chunks
-const unsigned int esize
-Link * head
-


Detailed Description

-Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. -

-Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.

-Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. -

- -

-Definition at line 21 of file node_pool.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_minimizing_traits-members.html b/trunk/paradiseo-eo/doc/html/class_minimizing_traits-members.html deleted file mode 100644 index 1e39b4859..000000000 --- a/trunk/paradiseo-eo/doc/html/class_minimizing_traits-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Member List - - - - -

MinimizingTraits Member List

This is the complete list of members for MinimizingTraits, including all inherited members.

- - - -
maximizing(int) (defined in MinimizingTraits)MinimizingTraits [inline, static]
nObjectives() (defined in eoParetoFitnessTraits)eoParetoFitnessTraits [inline, static]
tol() (defined in eoParetoFitnessTraits)eoParetoFitnessTraits [inline, static]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_minimizing_traits.html b/trunk/paradiseo-eo/doc/html/class_minimizing_traits.html deleted file mode 100644 index 6d2396b09..000000000 --- a/trunk/paradiseo-eo/doc/html/class_minimizing_traits.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: MinimizingTraits Class Reference - - - - -

MinimizingTraits Class Reference

test program for Pareto Fitness -More... -

-

Inheritance diagram for MinimizingTraits: -

- -eoParetoFitnessTraits - -List of all members. - - - - -

Static Public Member Functions

-bool maximizing (int)
-

Detailed Description

-test program for Pareto Fitness -

- -

-Definition at line 36 of file t-eoParetoFitness.cpp.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_minimizing_traits.png b/trunk/paradiseo-eo/doc/html/class_minimizing_traits.png deleted file mode 100644 index 60c147544..000000000 Binary files a/trunk/paradiseo-eo/doc/html/class_minimizing_traits.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/class_node_selector-members.html b/trunk/paradiseo-eo/doc/html/class_node_selector-members.html deleted file mode 100644 index 37aa423c6..000000000 --- a/trunk/paradiseo-eo/doc/html/class_node_selector-members.html +++ /dev/null @@ -1,16 +0,0 @@ - - -EO: Member List - - - - -

NodeSelector Member List

This is the complete list of members for NodeSelector, including all inherited members.

- - -
select_node(Sym sym) const =0 (defined in NodeSelector)NodeSelector [pure virtual]
~NodeSelector() (defined in NodeSelector)NodeSelector [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_node_selector.html b/trunk/paradiseo-eo/doc/html/class_node_selector.html deleted file mode 100644 index 8cf6f50c0..000000000 --- a/trunk/paradiseo-eo/doc/html/class_node_selector.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: NodeSelector Class Reference - - - - -

NodeSelector Class Reference

Base class for selecting nodes. -More... -

-#include <NodeSelector.h> -

-

Inheritance diagram for NodeSelector: -

- -BiasedNodeSelector -RandomNodeSelector - -List of all members. - - - - -

Public Member Functions

-virtual NodeSelection select_node (Sym sym) const =0
-

Detailed Description

-Base class for selecting nodes. -

- -

-Definition at line 24 of file NodeSelector.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_node_selector.png b/trunk/paradiseo-eo/doc/html/class_node_selector.png deleted file mode 100644 index 7d4222956..000000000 Binary files a/trunk/paradiseo-eo/doc/html/class_node_selector.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/class_random_node_selector-members.html b/trunk/paradiseo-eo/doc/html/class_random_node_selector-members.html deleted file mode 100644 index 72e499eaa..000000000 --- a/trunk/paradiseo-eo/doc/html/class_random_node_selector-members.html +++ /dev/null @@ -1,16 +0,0 @@ - - -EO: Member List - - - - -

RandomNodeSelector Member List

This is the complete list of members for RandomNodeSelector, including all inherited members.

- - -
select_node(Sym sym) const (defined in RandomNodeSelector)RandomNodeSelector [virtual]
~NodeSelector() (defined in NodeSelector)NodeSelector [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_random_node_selector.html b/trunk/paradiseo-eo/doc/html/class_random_node_selector.html deleted file mode 100644 index 97dc363d4..000000000 --- a/trunk/paradiseo-eo/doc/html/class_random_node_selector.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: RandomNodeSelector Class Reference - - - - -

RandomNodeSelector Class Reference

Select nodes uniformly. -More... -

-#include <NodeSelector.h> -

-

Inheritance diagram for RandomNodeSelector: -

- -NodeSelector - -List of all members. - - - - -

Public Member Functions

-NodeSelection select_node (Sym sym) const
-

Detailed Description

-Select nodes uniformly. -

- -

-Definition at line 49 of file NodeSelector.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_random_node_selector.png b/trunk/paradiseo-eo/doc/html/class_random_node_selector.png deleted file mode 100644 index eb9f9a9a3..000000000 Binary files a/trunk/paradiseo-eo/doc/html/class_random_node_selector.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/class_u_f__random__generator-members.html b/trunk/paradiseo-eo/doc/html/class_u_f__random__generator-members.html deleted file mode 100644 index 78c78cc11..000000000 --- a/trunk/paradiseo-eo/doc/html/class_u_f__random__generator-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Member List - - - - -

UF_random_generator< T > Member List

This is the complete list of members for UF_random_generator< T >, including all inherited members.

- - - -
operator()(T _t) (defined in UF_random_generator< T >)UF_random_generator< T > [inline]
random (defined in UF_random_generator< T >)UF_random_generator< T > [private]
UF_random_generator(eoRng &_rng=rng) (defined in UF_random_generator< T >)UF_random_generator< T > [inline]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_u_f__random__generator.html b/trunk/paradiseo-eo/doc/html/class_u_f__random__generator.html deleted file mode 100644 index 28f520f0f..000000000 --- a/trunk/paradiseo-eo/doc/html/class_u_f__random__generator.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: UF_random_generator< T > Class Template Reference - - - - -

UF_random_generator< T > Class Template Reference

Another class random_generator that can be used in the STL random_shuffle function (see eoPop::shuffle): its operator() takes an unsigned argument m and must return an unsigned uniformly distributed in [0,m}. -More... -

-#include <rnd_generators.h> -

-List of all members. - - - - - - - - - -

Public Member Functions

UF_random_generator (eoRng &_rng=rng)
-T operator() (T _t)

Private Attributes

-eoRngrandom
-


Detailed Description

-

template<class T = uint32_t>
- class UF_random_generator< T >

- -Another class random_generator that can be used in the STL random_shuffle function (see eoPop::shuffle): its operator() takes an unsigned argument m and must return an unsigned uniformly distributed in [0,m}. -

- -

-Definition at line 121 of file rnd_generators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_virus_bit_flip-members.html b/trunk/paradiseo-eo/doc/html/class_virus_bit_flip-members.html deleted file mode 100644 index 486b38159..000000000 --- a/trunk/paradiseo-eo/doc/html/class_virus_bit_flip-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

VirusBitFlip< FitT > Member List

This is the complete list of members for VirusBitFlip< FitT >, including all inherited members.

- - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoVirus< FitT > >)eoOp< eoVirus< FitT > >
className() const VirusBitFlip< FitT > [inline, virtual]
eoMonOp()eoMonOp< eoVirus< FitT > > [inline]
eoOp(OpType _type)eoOp< eoVirus< FitT > > [inline]
eoOp(const eoOp &_eop)eoOp< eoVirus< FitT > > [inline]
functor_category()eoUF< eoVirus< FitT > &, bool > [inline, static]
general enum value (defined in eoOp< eoVirus< FitT > >)eoOp< eoVirus< FitT > >
getType() const eoOp< eoVirus< FitT > > [inline]
operator()(eoVirus< FitT > &_chrom)VirusBitFlip< FitT > [inline, virtual]
quadratic enum value (defined in eoOp< eoVirus< FitT > >)eoOp< eoVirus< FitT > >
unary enum value (defined in eoOp< eoVirus< FitT > >)eoOp< eoVirus< FitT > >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoVirus< FitT > > [inline, virtual]
~eoUF()eoUF< eoVirus< FitT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:59 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_virus_bit_flip.html b/trunk/paradiseo-eo/doc/html/class_virus_bit_flip.html deleted file mode 100644 index 5f9407a7b..000000000 --- a/trunk/paradiseo-eo/doc/html/class_virus_bit_flip.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: VirusBitFlip< FitT > Class Template Reference - - - - -

VirusBitFlip< FitT > Class Template Reference

VirusBitFlip --> changes 1 bit. -More... -

-#include <VirusOp.h> -

-

Inheritance diagram for VirusBitFlip< FitT >: -

- -eoMonOp< eoVirus< FitT > > -eoOp< eoVirus< FitT > > -eoUF< eoVirus< FitT > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

-virtual std::string className () const
 The class name.
bool operator() (eoVirus< FitT > &_chrom)
 Change one bit.
-

Detailed Description

-

template<class FitT>
- class VirusBitFlip< FitT >

- -VirusBitFlip --> changes 1 bit. -

- -

-Definition at line 40 of file VirusOp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FitT>
bool VirusBitFlip< FitT >::operator() eoVirus< FitT > &  _chrom  )  [inline, virtual]
-
- - - - - -
-   - - -

-Change one bit. -

-

Parameters:
- - -
chrom The cromosome which one bit is going to be changed.
-
- -

-Implements eoUF< eoVirus< FitT > &, bool >. -

-Definition at line 49 of file VirusOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:59 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_virus_bit_flip.png b/trunk/paradiseo-eo/doc/html/class_virus_bit_flip.png deleted file mode 100644 index 6bfcd2b2b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/class_virus_bit_flip.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation-members.html b/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation-members.html deleted file mode 100644 index c981c75c0..000000000 --- a/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

VirusShiftMutation< FitT > Member List

This is the complete list of members for VirusShiftMutation< FitT >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoVirus< FitT > >)eoOp< eoVirus< FitT > >
className() const VirusShiftMutation< FitT > [inline, virtual]
eoMonOp()eoMonOp< eoVirus< FitT > > [inline]
eoOp(OpType _type)eoOp< eoVirus< FitT > > [inline]
eoOp(const eoOp &_eop)eoOp< eoVirus< FitT > > [inline]
functor_category()eoUF< eoVirus< FitT > &, bool > [inline, static]
general enum value (defined in eoOp< eoVirus< FitT > >)eoOp< eoVirus< FitT > >
getType() const eoOp< eoVirus< FitT > > [inline]
operator()(eoVirus< FitT > &_chrom)VirusShiftMutation< FitT > [inline, virtual]
quadratic enum value (defined in eoOp< eoVirus< FitT > >)eoOp< eoVirus< FitT > >
unary enum value (defined in eoOp< eoVirus< FitT > >)eoOp< eoVirus< FitT > >
VirusShiftMutation()VirusShiftMutation< FitT > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoVirus< FitT > > [inline, virtual]
~eoUF()eoUF< eoVirus< FitT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:07:00 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation.html b/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation.html deleted file mode 100644 index b29062bc7..000000000 --- a/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation.html +++ /dev/null @@ -1,95 +0,0 @@ - - -EO: VirusShiftMutation< FitT > Class Template Reference - - - - -

VirusShiftMutation< FitT > Class Template Reference

Works for 1-bit virus; shifts the one to the right or left. -More... -

-#include <VirusOp.h> -

-

Inheritance diagram for VirusShiftMutation< FitT >: -

- -eoMonOp< eoVirus< FitT > > -eoOp< eoVirus< FitT > > -eoUF< eoVirus< FitT > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

VirusShiftMutation ()
 Ctor.
-virtual std::string className () const
 The class name.
bool operator() (eoVirus< FitT > &_chrom)
 Change one bit.
-

Detailed Description

-

template<class FitT>
- class VirusShiftMutation< FitT >

- -Works for 1-bit virus; shifts the one to the right or left. -

- -

-Definition at line 86 of file VirusOp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FitT>
bool VirusShiftMutation< FitT >::operator() eoVirus< FitT > &  _chrom  )  [inline, virtual]
-
- - - - - -
-   - - -

-Change one bit. -

-

Parameters:
- - -
chrom The cromosome which one bit is going to be changed.
-
- -

-Implements eoUF< eoVirus< FitT > &, bool >. -

-Definition at line 99 of file VirusOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:07:00 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation.png b/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation.png deleted file mode 100644 index 7b4563478..000000000 Binary files a/trunk/paradiseo-eo/doc/html/class_virus_shift_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classboolean__generator-members.html b/trunk/paradiseo-eo/doc/html/classboolean__generator-members.html deleted file mode 100644 index 45cef102f..000000000 --- a/trunk/paradiseo-eo/doc/html/classboolean__generator-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

boolean_generator Member List

This is the complete list of members for boolean_generator, including all inherited members.

- - - - -
bias (defined in boolean_generator)boolean_generator [private]
boolean_generator(float _bias=0.5, eoRng &_rng=rng) (defined in boolean_generator)boolean_generator [inline]
gen (defined in boolean_generator)boolean_generator [private]
operator()(void) (defined in boolean_generator)boolean_generator [inline]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classboolean__generator.html b/trunk/paradiseo-eo/doc/html/classboolean__generator.html deleted file mode 100644 index 44e2c2ad0..000000000 --- a/trunk/paradiseo-eo/doc/html/classboolean__generator.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: boolean_generator Class Reference - - - - -

boolean_generator Class Reference

The class boolean_generator can be used in the STL generate function to easily generate random booleans with a specified bias. -More... -

-#include <rnd_generators.h> -

-List of all members. - - - - - - - - - - - -

Public Member Functions

boolean_generator (float _bias=0.5, eoRng &_rng=rng)
-bool operator() (void)

Private Attributes

-float bias
-eoRnggen
-


Detailed Description

-The class boolean_generator can be used in the STL generate function to easily generate random booleans with a specified bias. -

- -

-Definition at line 70 of file rnd_generators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classd_matrix-members.html b/trunk/paradiseo-eo/doc/html/classd_matrix-members.html deleted file mode 100644 index 56bed7a86..000000000 --- a/trunk/paradiseo-eo/doc/html/classd_matrix-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

dMatrix Member List

This is the complete list of members for dMatrix, including all inherited members.

- - - - - -
dMatrix(unsigned _s) (defined in dMatrix)dMatrix [inline]
operator()(unsigned _i, unsigned _j) const dMatrix [inline]
operator()(unsigned _i, unsigned _j)dMatrix [inline]
printOn(std::ostream &_os)dMatrix [inline]
rSize (defined in dMatrix)dMatrix [private]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classd_matrix.html b/trunk/paradiseo-eo/doc/html/classd_matrix.html deleted file mode 100644 index b2c651a24..000000000 --- a/trunk/paradiseo-eo/doc/html/classd_matrix.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: dMatrix Class Reference - - - - -

dMatrix Class Reference

A helper class for Sharing - to hold distances. -More... -

-#include <eoSharing.h> -

-List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

dMatrix (unsigned _s)
-double operator() (unsigned _i, unsigned _j) const
 simple accessor
-double & operator() (unsigned _i, unsigned _j)
 reference - to set values
-void printOn (std::ostream &_os)
 just in case

Private Attributes

-unsigned rSize
-


Detailed Description

-A helper class for Sharing - to hold distances. -

- -

-Definition at line 37 of file eoSharing.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo1_pt_bit_crossover.html b/trunk/paradiseo-eo/doc/html/classeo1_pt_bit_crossover.html deleted file mode 100644 index 6bb32543b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo1_pt_bit_crossover.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: eo1PtBitCrossover Class Reference - - - - -

eo1PtBitCrossover Class Reference
- -[Bitstring] -

eo1PtBitXover --> classic 1-point crossover -More... -

-#include <ga/eoBitOp.h> -

- - -
-


Detailed Description

-eo1PtBitXover --> classic 1-point crossover -

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_aged-members.html b/trunk/paradiseo-eo/doc/html/classeo_aged-members.html deleted file mode 100644 index 44b36cf0c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_aged-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -EO: Member List - - - - -

eoAged< Object > Member List

This is the complete list of members for eoAged< Object >, including all inherited members.

- - - - - - - - - - -
age (defined in eoAged< Object >)eoAged< Object > [private]
Age() const eoAged< Object > [inline]
className() const eoAged< Object > [inline, virtual]
eoAged(const Object &_o)eoAged< Object > [inline]
eoAged(const eoAged &_a)eoAged< Object > [inline]
eoAged()eoAged< Object > [inline, private]
operator++()eoAged< Object > [inline]
printOn(ostream &_os) const eoAged< Object > [inline, virtual]
readFrom(istream &_is)eoAged< Object > [inline, virtual]
~eoAged()eoAged< Object > [inline, virtual]


Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_aged.html b/trunk/paradiseo-eo/doc/html/classeo_aged.html deleted file mode 100644 index adf521dee..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_aged.html +++ /dev/null @@ -1,233 +0,0 @@ - - -EO: eoAged< Object > Class Template Reference - - - - -

eoAged< Object > Class Template Reference

eoAge is a template class that adds an age to an object.\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. -More... -

-#include <eoAged.h> -

-List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoAged (const Object &_o)
 Main ctor from an already built Object.
eoAged (const eoAged &_a)
 Copy constructor.
-virtual ~eoAged ()
 Virtual dtor. They are needed in virtual class hierarchies.
-unsigned long Age () const
 returns the age of the object
-const eoAgedoperator++ ()
 Increments age.
Methods from eoObject
readFrom and printOn are directly inherited from eo1d

virtual std::string className () const
 Return the class id.
virtual void readFrom (istream &_is)
 Read object.
virtual void printOn (ostream &_os) const
 Write object.

Private Member Functions

 eoAged ()
 Default Constructor.

Private Attributes

-unsigned long age
-


Detailed Description

-

template<class Object>
- class eoAged< Object >

- -eoAge is a template class that adds an age to an object.\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. -

-The Object must be an eoObject, thus, it must have its methods: className, printOn, readFrom.

See also:
eoObject
- -

- -

-Definition at line 47 of file eoAged.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - -
-template<class Object>
eoAged< Object >::eoAged  )  [inline, private]
-
- - - - - -
-   - - -

-Default Constructor. -

-\ It´s private so that it is not used anywhere; the right way of using this object is to create an Object and passing it to an aged by means of the copy ctor; that way it´s turned into an Aged object -

-Definition at line 103 of file eoAged.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - -
-template<class Object>
virtual std::string eoAged< Object >::className  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Return the class id. -

-This should be redefined in each class; but it's got code as an example of implementation. Only "leaf" classes can be non-virtual. -

-Definition at line 74 of file eoAged.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class Object>
virtual void eoAged< Object >::readFrom istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A istream.
-
-
Exceptions:
- - -
runtime_exception If a valid object can't be read.
-
- -

-Definition at line 81 of file eoAged.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class Object>
virtual void eoAged< Object >::printOn ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object _on_ a stream.

Parameters:
- - -
_os A ostream.
-
- -

-Definition at line 91 of file eoAged.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_algo-members.html b/trunk/paradiseo-eo/doc/html/classeo_algo-members.html deleted file mode 100644 index 365d81547..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_algo-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoAlgo< EOT > Member List

This is the complete list of members for eoAlgo< EOT >, including all inherited members.

- - - - -
functor_category()eoUF< eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &)=0eoUF< eoPop< EOT > &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_algo.html b/trunk/paradiseo-eo/doc/html/classeo_algo.html deleted file mode 100644 index 79018973b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_algo.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: eoAlgo< EOT > Class Template Reference - - - - -

eoAlgo< EOT > Class Template Reference

This is a generic class for population-transforming algorithms. -More... -

-#include <eoAlgo.h> -

-

Inheritance diagram for eoAlgo< EOT >: -

- -eoUF< eoPop< EOT > &, void > -eoFunctorBase -eoCellularEasyEA< EOT > -eoEasyEA< EOT > -eoSGA< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoAlgo< EOT >

- -This is a generic class for population-transforming algorithms. -

-There is only one operator defined, which takes a population and does stuff to it. It needn't be a complete algorithm, can be also a step of an algorithm. This class just gives a common interface to linear population-transforming algorithms. -

- -

-Definition at line 39 of file eoAlgo.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_algo.png b/trunk/paradiseo-eo/doc/html/classeo_algo.png deleted file mode 100644 index 55ce8a00d..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_algo.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_arithmetic_crossover.html b/trunk/paradiseo-eo/doc/html/classeo_arithmetic_crossover.html deleted file mode 100644 index 8c8ebc7d8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_arithmetic_crossover.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: eoArithmeticCrossover Class Reference - - - - -

eoArithmeticCrossover Class Reference

eoHypercubeCrossover --> uniform choice in hypercube == arithmetical with different values for each coordinate -More... -

-#include <Tutorial/eoRealOp.h> -

- - -
-


Detailed Description

-eoHypercubeCrossover --> uniform choice in hypercube == arithmetical with different values for each coordinate -

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat-members.html deleted file mode 100644 index 47e394579..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: Member List - - - - -

eoAssembledFitnessAverageStat< EOT > Member List

This is the complete list of members for eoAssembledFitnessAverageStat< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoStat< EOT, double >)eoStat< EOT, double > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoAssembledFitnessAverageStat(unsigned _whichTerm=0, std::string _description="Average Fitness") (defined in eoAssembledFitnessAverageStat< EOT >)eoAssembledFitnessAverageStat< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoStat(double_value, std::string _description) (defined in eoStat< EOT, double >)eoStat< EOT, double > [inline]
eoValueParam(void)eoValueParam< double > [inline]
eoValueParam(double_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< double > [inline]
Fitness typedef (defined in eoAssembledFitnessAverageStat< EOT >)eoAssembledFitnessAverageStat< EOT >
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< double > [inline, virtual]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoAssembledFitnessAverageStat< EOT > [inline, virtual]
repValue (defined in eoValueParam< double >)eoValueParam< double > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< double > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< double > [inline]
value() const eoValueParam< double > [inline]
whichFitnessTerm (defined in eoAssembledFitnessAverageStat< EOT >)eoAssembledFitnessAverageStat< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat.html b/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat.html deleted file mode 100644 index 08483e277..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoAssembledFitnessAverageStat< EOT > Class Template Reference - - - - -

eoAssembledFitnessAverageStat< EOT > Class Template Reference

Average fitness values of a population, where the fitness is of type eoScalarAssembledFitness. -More... -

-#include <eoAssembledFitnessStat.h> -

-

Inheritance diagram for eoAssembledFitnessAverageStat< EOT >: -

- -eoStat< EOT, double > -eoValueParam< double > -eoStatBase< EOT > -eoParam -eoUF< const eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness

Public Member Functions

eoAssembledFitnessAverageStat (unsigned _whichTerm=0, std::string _description="Average Fitness")
-virtual void operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned whichFitnessTerm
-

Detailed Description

-

template<class EOT>
- class eoAssembledFitnessAverageStat< EOT >

- -Average fitness values of a population, where the fitness is of type eoScalarAssembledFitness. -

-Specify in the constructor, for which fitness term (index) the average should be evaluated. Only values of object where the failed boolean = false is set are counted. -

- -

-Definition at line 46 of file eoAssembledFitnessStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat.png b/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat.png deleted file mode 100644 index 8f9b32e96..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_average_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat-members.html deleted file mode 100644 index 3dc81e430..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: Member List - - - - -

eoAssembledFitnessBestStat< EOT > Member List

This is the complete list of members for eoAssembledFitnessBestStat< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoStat< EOT, double >)eoStat< EOT, double > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoAssembledFitnessBestStat(unsigned _whichTerm=0, std::string _description="Best Fitness") (defined in eoAssembledFitnessBestStat< EOT >)eoAssembledFitnessBestStat< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoStat(double_value, std::string _description) (defined in eoStat< EOT, double >)eoStat< EOT, double > [inline]
eoValueParam(void)eoValueParam< double > [inline]
eoValueParam(double_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< double > [inline]
Fitness typedef (defined in eoAssembledFitnessBestStat< EOT >)eoAssembledFitnessBestStat< EOT >
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< double > [inline, virtual]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoAssembledFitnessBestStat< EOT > [inline, virtual]
repValue (defined in eoValueParam< double >)eoValueParam< double > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< double > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< double > [inline]
value() const eoValueParam< double > [inline]
whichFitnessTerm (defined in eoAssembledFitnessBestStat< EOT >)eoAssembledFitnessBestStat< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat.html b/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat.html deleted file mode 100644 index 4e8fcb596..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoAssembledFitnessBestStat< EOT > Class Template Reference - - - - -

eoAssembledFitnessBestStat< EOT > Class Template Reference

Fitness values of best individuum in a population, where the fitness is of type eoScalarAssembledFitness. -More... -

-#include <eoAssembledFitnessStat.h> -

-

Inheritance diagram for eoAssembledFitnessBestStat< EOT >: -

- -eoStat< EOT, double > -eoValueParam< double > -eoStatBase< EOT > -eoParam -eoUF< const eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness

Public Member Functions

eoAssembledFitnessBestStat (unsigned _whichTerm=0, std::string _description="Best Fitness")
-virtual void operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned whichFitnessTerm
-

Detailed Description

-

template<class EOT>
- class eoAssembledFitnessBestStat< EOT >

- -Fitness values of best individuum in a population, where the fitness is of type eoScalarAssembledFitness. -

-Specify in the constructor, for which fitness term (index) the value should be evaluated. -

- -

-Definition at line 87 of file eoAssembledFitnessStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat.png b/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat.png deleted file mode 100644 index 798d68236..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_assembled_fitness_best_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_atom_exchange-members.html b/trunk/paradiseo-eo/doc/html/classeo_atom_exchange-members.html deleted file mode 100644 index 54bca79ee..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_atom_exchange-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoAtomExchange< Atom > Member List

This is the complete list of members for eoAtomExchange< Atom >, including all inherited members.

- - - - - - -
className() const =0eoAtomExchange< Atom > [pure virtual]
functor_category()eoBF< unsigned, Atom &, bool > [inline, static]
operator()(unsigned, Atom &)=0eoBF< unsigned, Atom &, bool > [pure virtual]
randomize(unsigned int, unsigned int)eoAtomExchange< Atom > [inline, virtual]
~eoBF()eoBF< unsigned, Atom &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_atom_exchange.html b/trunk/paradiseo-eo/doc/html/classeo_atom_exchange.html deleted file mode 100644 index 6cd5b79f6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_atom_exchange.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: eoAtomExchange< Atom > Class Template Reference - - - - -

eoAtomExchange< Atom > Class Template Reference

A helper class for choosing which genes to exchange. -More... -

-#include <eoVariableLengthCrossover.h> -

-

Inheritance diagram for eoAtomExchange< Atom >: -

- -eoBF< unsigned, Atom &, bool > -eoFunctorBase -eoUniformAtomExchange< Atom > - -List of all members. - - - - - - - - -

Public Member Functions

-virtual void randomize (unsigned int, unsigned int)
 a function to initlialize - to be called before every crossover
-virtual std::string className () const =0
 the inherited className()
-

Detailed Description

-

template<class Atom>
- class eoAtomExchange< Atom >

- -A helper class for choosing which genes to exchange. -

- -

-Definition at line 41 of file eoVariableLengthCrossover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_atom_exchange.png b/trunk/paradiseo-eo/doc/html/classeo_atom_exchange.png deleted file mode 100644 index 125fc68e7..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_atom_exchange.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_average_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_average_stat-members.html deleted file mode 100644 index 22a2d3c47..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_average_stat-members.html +++ /dev/null @@ -1,44 +0,0 @@ - - -EO: Member List - - - - -

eoAverageStat< EOT > Member List

This is the complete list of members for eoAverageStat< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoAverageStat< EOT >)eoAverageStat< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
doit(const eoPop< EOT > &_pop, eoParetoFitness< T >) (defined in eoAverageStat< EOT >)eoAverageStat< EOT > [inline, private]
doit(const eoPop< EOT > &_pop, T) (defined in eoAverageStat< EOT >)eoAverageStat< EOT > [inline, private]
eoAverageStat(std::string _description="Average Fitness") (defined in eoAverageStat< EOT >)eoAverageStat< EOT > [inline]
eoAverageStat(double _value, std::string _desc) (defined in eoAverageStat< EOT >)eoAverageStat< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoStat(EOT::Fitness_value, std::string _description) (defined in eoStat< EOT, EOT::Fitness >)eoStat< EOT, EOT::Fitness > [inline]
eoValueParam(void)eoValueParam< EOT::Fitness > [inline]
eoValueParam(EOT::Fitness_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< EOT::Fitness > [inline]
Fitness typedef (defined in eoAverageStat< EOT >)eoAverageStat< EOT >
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< EOT::Fitness > [inline, virtual]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoAverageStat< EOT > [inline, virtual]
repValue (defined in eoValueParam< EOT::Fitness >)eoValueParam< EOT::Fitness > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< EOT::Fitness > [inline, virtual]
shortName() const eoParam [inline]
sumFitness(double _sum, const EOT &_eot) (defined in eoAverageStat< EOT >)eoAverageStat< EOT > [inline, static]
value()eoValueParam< EOT::Fitness > [inline]
value() const eoValueParam< EOT::Fitness > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_average_stat.html b/trunk/paradiseo-eo/doc/html/classeo_average_stat.html deleted file mode 100644 index 8ced7d89d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_average_stat.html +++ /dev/null @@ -1,77 +0,0 @@ - - -EO: eoAverageStat< EOT > Class Template Reference - - - - -

eoAverageStat< EOT > Class Template Reference

Average fitness of a population. -More... -

-#include <eoStat.h> -

-

Inheritance diagram for eoAverageStat< EOT >: -

- -eoStat< EOT, EOT::Fitness > -eoValueParam< EOT::Fitness > -eoStatBase< EOT > -eoParam -eoUF< const eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness

Public Member Functions

eoAverageStat (std::string _description="Average Fitness")
eoAverageStat (double _value, std::string _desc)
-virtual void operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className (void) const

Static Public Member Functions

-Fitness sumFitness (double _sum, const EOT &_eot)

Private Member Functions

-template<class T>
void doit (const eoPop< EOT > &_pop, eoParetoFitness< T >)
-template<class T>
void doit (const eoPop< EOT > &_pop, T)
-

Detailed Description

-

template<class EOT>
- class eoAverageStat< EOT >

- -Average fitness of a population. -

-Fitness can be:

    -
  • double
  • eoMinimizingFitness or eoMaximizingFitness
  • eoParetoFitness: The average of each objective is evaluated.
-

-( For eoScalarFitnessAssembled user eoAssembledFitnessStat classes.) -

- -

-Definition at line 108 of file eoStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_average_stat.png b/trunk/paradiseo-eo/doc/html/classeo_average_stat.png deleted file mode 100644 index 964429d04..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_average_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_b_f-members.html b/trunk/paradiseo-eo/doc/html/classeo_b_f-members.html deleted file mode 100644 index af6498a16..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_b_f-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoBF< A1, A2, R > Member List

This is the complete list of members for eoBF< A1, A2, R >, including all inherited members.

- - - - -
functor_category()eoBF< A1, A2, R > [inline, static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_b_f.html b/trunk/paradiseo-eo/doc/html/classeo_b_f.html deleted file mode 100644 index 96b8ba45a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_b_f.html +++ /dev/null @@ -1,52 +0,0 @@ - - -EO: eoBF< A1, A2, R > Class Template Reference - - - - -

eoBF< A1, A2, R > Class Template Reference

Basic Binary Functor. -More... -

-#include <eoFunctor.h> -

-

Inheritance diagram for eoBF< A1, A2, R >: -

- -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

-virtual ~eoBF ()
 virtual dtor here so there is no need to define it in derived classes
-virtual R operator() (A1, A2)=0
 The pure virtual function that needs to be implemented by the subclass.

Static Public Member Functions

-eoFunctorBase::binary_function_tag functor_category ()
 tag to identify a procedure in compile time function selection functor_category
-

Detailed Description

-

template<class A1, class A2, class R>
- class eoBF< A1, A2, R >

- -Basic Binary Functor. -

-Derive from this class when defining any binary function. First template argument is result_type, second is first_argument_type, third is second_argument_type. Argument and result types can be any type including void for result_type -

- -

-Definition at line 145 of file eoFunctor.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_b_f.png b/trunk/paradiseo-eo/doc/html/classeo_b_f.png deleted file mode 100644 index 5f2ad1c9a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_b_f.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat-members.html deleted file mode 100644 index 05908d9c8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat-members.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: Member List - - - - -

eoBestFitnessStat< EOT > Member List

This is the complete list of members for eoBestFitnessStat< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoBestFitnessStat< EOT >)eoBestFitnessStat< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
doit(const eoPop< EOT > &_pop, eoParetoFitness< T >) (defined in eoBestFitnessStat< EOT >)eoBestFitnessStat< EOT > [inline, private]
doit(const eoPop< EOT > &_pop, T) (defined in eoBestFitnessStat< EOT >)eoBestFitnessStat< EOT > [inline, private]
eoBestFitnessStat(std::string _description="Best ") (defined in eoBestFitnessStat< EOT >)eoBestFitnessStat< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoStat(EOT::Fitness_value, std::string _description) (defined in eoStat< EOT, EOT::Fitness >)eoStat< EOT, EOT::Fitness > [inline]
eoValueParam(void)eoValueParam< EOT::Fitness > [inline]
eoValueParam(EOT::Fitness_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< EOT::Fitness > [inline]
Fitness typedef (defined in eoBestFitnessStat< EOT >)eoBestFitnessStat< EOT >
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< EOT::Fitness > [inline, virtual]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoBestFitnessStat< EOT > [inline, virtual]
repValue (defined in eoValueParam< EOT::Fitness >)eoValueParam< EOT::Fitness > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< EOT::Fitness > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< EOT::Fitness > [inline]
value() const eoValueParam< EOT::Fitness > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat.html b/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat.html deleted file mode 100644 index 765de184d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat.html +++ /dev/null @@ -1,70 +0,0 @@ - - -EO: eoBestFitnessStat< EOT > Class Template Reference - - - - -

eoBestFitnessStat< EOT > Class Template Reference

Best fitness of a population. -More... -

-#include <eoStat.h> -

-

Inheritance diagram for eoBestFitnessStat< EOT >: -

- -eoStat< EOT, EOT::Fitness > -eoValueParam< EOT::Fitness > -eoStatBase< EOT > -eoParam -eoUF< const eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness

Public Member Functions

eoBestFitnessStat (std::string _description="Best ")
-void operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className (void) const

Private Member Functions

-template<class T>
void doit (const eoPop< EOT > &_pop, eoParetoFitness< T >)
-template<class T>
void doit (const eoPop< EOT > &_pop, T)
-

Detailed Description

-

template<class EOT>
- class eoBestFitnessStat< EOT >

- -Best fitness of a population. -

-Fitness can be:

-

-( For eoScalarFitnessAssembled look at eoAssembledFitnessStat ) -

- -

-Definition at line 316 of file eoStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat.png b/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat.png deleted file mode 100644 index fba901880..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_best_fitness_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_best_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_best_select-members.html deleted file mode 100644 index 4f75ba970..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_best_select-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

eoBestSelect< EOT > Member List

This is the complete list of members for eoBestSelect< EOT >, including all inherited members.

- - - - - -
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoBestSelect< EOT > [inline, virtual]
setup(const eoPop< EOT > &_pop)eoSelectOne< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_best_select.html b/trunk/paradiseo-eo/doc/html/classeo_best_select.html deleted file mode 100644 index 6cae325ee..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_best_select.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoBestSelect< EOT > Class Template Reference - - - - -

eoBestSelect< EOT > Class Template Reference

eoBestSelect: a selection method that always return the best (mainly for testing purposes) -More... -

-#include <eoRandomSelect.h> -

-

Inheritance diagram for eoBestSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - -

Public Member Functions

-virtual const EOToperator() (const eoPop< EOT > &_pop)
 not a big deal!!!
-

Detailed Description

-

template<class EOT>
- class eoBestSelect< EOT >

- -eoBestSelect: a selection method that always return the best (mainly for testing purposes) -

- -

-Definition at line 60 of file eoRandomSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_best_select.png b/trunk/paradiseo-eo/doc/html/classeo_best_select.png deleted file mode 100644 index d60f6fe14..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_best_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op-members.html deleted file mode 100644 index 9a3ab2418..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoBinCloneOp< EOT > Member List

This is the complete list of members for eoBinCloneOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoBinCloneOp< EOT >)eoBinCloneOp< EOT > [inline, virtual]
eoBinCloneOp()eoBinCloneOp< EOT > [inline]
eoBinOp()eoBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &, const EOT &)eoBinCloneOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op.html b/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op.html deleted file mode 100644 index fd768eb02..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoBinCloneOp< EOT > Class Template Reference - - - - -

eoBinCloneOp< EOT > Class Template Reference

Binary clone: two operands, only the first could be modified. -More... -

-#include <eoCloneOps.h> -

-

Inheritance diagram for eoBinCloneOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoBinCloneOp ()
 Ctor.
-virtual std::string className () const
-virtual bool operator() (EOT &, const EOT &)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoBinCloneOp< EOT >

- -Binary clone: two operands, only the first could be modified. -

- -

-Definition at line 57 of file eoCloneOps.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op.png b/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op.png deleted file mode 100644 index 80a5b788c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bin_clone_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op-members.html deleted file mode 100644 index 7da7d7fff..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoBinGenOp< EOT > Member List

This is the complete list of members for eoBinGenOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
apply(eoPopulator< EOT > &_pop)eoBinGenOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoBinGenOp< EOT >)eoBinGenOp< EOT > [inline, virtual]
eoBinGenOp(eoBinOp< EOT > &_op) (defined in eoBinGenOp< EOT >)eoBinGenOp< EOT > [inline]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoBinGenOp< EOT > [inline, virtual]
op (defined in eoBinGenOp< EOT >)eoBinGenOp< EOT > [private]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op.html b/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op.html deleted file mode 100644 index fd43752c4..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoBinGenOp< EOT > Class Template Reference - - - - -

eoBinGenOp< EOT > Class Template Reference

Wrapper for binop: here we use select method of eoPopulator but we could also have an embedded selector to select the second parent. -More... -

-#include <eoGenOp.h> -

-

Inheritance diagram for eoBinGenOp< EOT >: -

- -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoBinGenOp (eoBinOp< EOT > &_op)
-unsigned max_production (void)
 Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash.
-void apply (eoPopulator< EOT > &_pop)
 do the work: get 2 individuals from the population, modifies only one (it's a eoBinOp)
-virtual std::string className () const

Private Attributes

-eoBinOp< EOT > & op
-

Detailed Description

-

template<class EOT>
- class eoBinGenOp< EOT >

- -Wrapper for binop: here we use select method of eoPopulator but we could also have an embedded selector to select the second parent. -

- -

-Definition at line 107 of file eoGenOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op.png b/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op.png deleted file mode 100644 index 989e54e65..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bin_gen_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_bin_op-members.html deleted file mode 100644 index 7aa8a62ae..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bin_op-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoBinOp< EOType > Member List

This is the complete list of members for eoBinOp< EOType >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOType >)eoOp< EOType >
className() const (defined in eoBinOp< EOType >)eoBinOp< EOType > [inline, virtual]
eoBinOp()eoBinOp< EOType > [inline]
eoOp(OpType _type)eoOp< EOType > [inline]
eoOp(const eoOp &_eop)eoOp< EOType > [inline]
functor_category()eoBF< EOType &, const EOType &, bool > [inline, static]
general enum value (defined in eoOp< EOType >)eoOp< EOType >
getType() const eoOp< EOType > [inline]
operator()(EOType &, const EOType &)=0eoBF< EOType &, const EOType &, bool > [pure virtual]
OpType enum name (defined in eoOp< EOType >)eoOp< EOType >
quadratic enum value (defined in eoOp< EOType >)eoOp< EOType >
unary enum value (defined in eoOp< EOType >)eoOp< EOType >
~eoBF()eoBF< EOType &, const EOType &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOType > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_bin_op.html deleted file mode 100644 index b82afacea..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bin_op.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoBinOp< EOType > Class Template Reference - - - - -

eoBinOp< EOType > Class Template Reference

Binary genetic operator: subclasses eoOp, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content. -More... -

-#include <eoOp.h> -

-

Inheritance diagram for eoBinOp< EOType >: -

- -eoOp< EOType > -eoBF< EOType &, const EOType &, bool > -eoFunctorBase - -List of all members. - - - - - - - -

Public Member Functions

eoBinOp ()
 Ctor.
-virtual std::string className () const
-

Detailed Description

-

template<class EOType>
- class eoBinOp< EOType >

- -Binary genetic operator: subclasses eoOp, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content. -

- -

-Definition at line 117 of file eoOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_bin_op.png deleted file mode 100644 index 104541ed2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter-members.html b/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter-members.html deleted file mode 100644 index 20c23a6d2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoBinaryFunctorCounter< BinaryFunctor > Member List

This is the complete list of members for eoBinaryFunctorCounter< BinaryFunctor >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoBinaryFunctorCounter(BinaryFunctor &_func, std::string _name="proc_counter") (defined in eoBinaryFunctorCounter< BinaryFunctor >)eoBinaryFunctorCounter< BinaryFunctor > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoValueParam(void)eoValueParam< unsigned long > [inline]
eoValueParam(unsigned long_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< unsigned long > [inline]
func (defined in eoBinaryFunctorCounter< BinaryFunctor >)eoBinaryFunctorCounter< BinaryFunctor > [private]
getValue(void) const eoValueParam< unsigned long > [inline, virtual]
longName() const eoParam [inline]
operator()(typename BinaryFunctor::first_argument_type _arg1, typename BinaryFunctor::second_argument_type _arg2)eoBinaryFunctorCounter< BinaryFunctor > [inline]
repValue (defined in eoValueParam< unsigned long >)eoValueParam< unsigned long > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< unsigned long > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< unsigned long > [inline]
value() const eoValueParam< unsigned long > [inline]
~eoParam()eoParam [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter.html b/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter.html deleted file mode 100644 index a31810e8b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter.html +++ /dev/null @@ -1,102 +0,0 @@ - - -EO: eoBinaryFunctorCounter< BinaryFunctor > Class Template Reference - - - - -

eoBinaryFunctorCounter< BinaryFunctor > Class Template Reference

Generic counter class that counts the number of times a binary function is used. -More... -

-#include <eoCounter.h> -

-

Inheritance diagram for eoBinaryFunctorCounter< BinaryFunctor >: -

- -eoValueParam< unsigned long > -eoParam - -List of all members. - - - - - - - - - - -

Public Member Functions

eoBinaryFunctorCounter (BinaryFunctor &_func, std::string _name="proc_counter")
BinaryFunctor::result_type operator() (typename BinaryFunctor::first_argument_type _arg1, typename BinaryFunctor::second_argument_type _arg2)
 Calls the embedded function and increments the counter.

Private Attributes

-BinaryFunctor & func
-

Detailed Description

-

template<class BinaryFunctor>
- class eoBinaryFunctorCounter< BinaryFunctor >

- -Generic counter class that counts the number of times a binary function is used. -

-Add a binary function through its ctor and use this class instead of it.

-It is derived from eoValueParam so you can add it to a monitor. -

- -

-Definition at line 142 of file eoCounter.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class BinaryFunctor>
BinaryFunctor::result_type eoBinaryFunctorCounter< BinaryFunctor >::operator() typename BinaryFunctor::first_argument_type  _arg1,
typename BinaryFunctor::second_argument_type  _arg2
[inline]
-
- - - - - -
-   - - -

-Calls the embedded function and increments the counter. -

-Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like "return void;" is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet.

-We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in EO most functors return void, it was chosen to support void.

-But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then.

-You happy GNU (and other compiler) users will not have a problem with this. -

-Definition at line 166 of file eoCounter.h. -

-References eoValueParam< unsigned long >::value().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter.png b/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter.png deleted file mode 100644 index b4eb1de0a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_binary_functor_counter.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit-members.html b/trunk/paradiseo-eo/doc/html/classeo_bit-members.html deleted file mode 100644 index 047e13c96..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: Member List - - - - -

eoBit< FitT > Member List

This is the complete list of members for eoBit< FitT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVector< FitT, bool >)eoVector< FitT, bool >
className() const eoBit< FitT > [inline, virtual]
ContainerType typedef (defined in eoVector< FitT, bool >)eoVector< FitT, bool >
EO()EO< FitT > [inline]
EO() (defined in EO< FitT >)EO< FitT > [inline]
eoBit(unsigned size=0, bool value=false)eoBit< FitT > [inline]
eoVector(unsigned size=0, boolvalue=bool())eoVector< FitT, bool > [inline]
eoVector(const eoVector< OtherFitnessType, bool > &_vec)eoVector< FitT, bool > [inline]
Fitness typedef (defined in EO< FitT >)EO< FitT >
fitness() const EO< FitT > [inline]
fitness(const Fitness &_fitness)EO< FitT > [inline]
fitness(performance_type perf) (defined in EO< FitT >)EO< FitT > [inline]
fitness(void) const (defined in EO< FitT >)EO< FitT > [inline]
fitness_traits typedef (defined in EO< FitT >)EO< FitT >
invalid() const EO< FitT > [inline]
invalidate() (defined in EO< FitT >)EO< FitT > [inline]
invalidate(void) (defined in EO< FitT >)EO< FitT > [inline]
invalidate_worth(void) (defined in EO< FitT >)EO< FitT > [inline]
operator<(const eoVector< FitT, bool > &_eo) const eoVector< FitT, bool > [inline]
EO< FitT >::operator<(const EO &_eo2) const EO< FitT > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< FitT >)EO< FitT > [inline]
operator>(const EO &_eo2) const (defined in EO< FitT >)EO< FitT > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< FitT >)EO< FitT > [inline]
performance(performance_type perf) (defined in EO< FitT >)EO< FitT > [inline]
performance(void) const (defined in EO< FitT >)EO< FitT > [inline]
performance_type typedef (defined in EO< FitT >)EO< FitT >
printOn(std::ostream &os) const eoBit< FitT > [inline, virtual]
readFrom(std::istream &is)eoBit< FitT > [inline, virtual]
storage_type typedef (defined in EO< FitT >)EO< FitT >
value(const std::vector< bool > &_v) (defined in eoVector< FitT, bool >)eoVector< FitT, bool > [inline]
worth(worth_type worth) (defined in EO< FitT >)EO< FitT > [inline]
worth(void) const (defined in EO< FitT >)EO< FitT > [inline]
worth_type typedef (defined in EO< FitT >)EO< FitT >
~EO()EO< FitT > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit.html b/trunk/paradiseo-eo/doc/html/classeo_bit.html deleted file mode 100644 index b9e218bd6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit.html +++ /dev/null @@ -1,201 +0,0 @@ - - -EO: eoBit< FitT > Class Template Reference - - - - -

eoBit< FitT > Class Template Reference
- -[BitstringBitstring] -

Implementation of bitstring chromosome. -More... -

-#include <ga/eoBit.h> -

-

Inheritance diagram for eoBit< FitT >: -

- -eoVector< FitT, bool > -EO< FitT > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

 eoBit (unsigned size=0, bool value=false)
 (Default) Constructor.
-virtual std::string className () const
 My class name.
virtual void printOn (std::ostream &os) const
 To print me on a stream.
virtual void readFrom (std::istream &is)
 To read me from a stream.
-

Detailed Description

-

template<class FitT>
- class eoBit< FitT >

- -Implementation of bitstring chromosome. -

-Based on STL's vector<bool> specialization. -

- -

-Definition at line 56 of file eoBit.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class FitT>
eoBit< FitT >::eoBit unsigned  size = 0,
bool  value = false
[inline]
-
- - - - - -
-   - - -

-(Default) Constructor. -

-

Parameters:
- - -
size Size of the binary std::string.
-
- -

-Definition at line 69 of file eoBit.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FitT>
virtual void eoBit< FitT >::printOn std::ostream &  os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-To print me on a stream. -

-

Parameters:
- - -
os The std::ostream.
-
- -

-Reimplemented from eoVector< FitT, bool >. -

-Definition at line 82 of file eoBit.h. -

-References EO< F >::printOn().

-

- - - - -
- - - - - - - - - - - - -
-template<class FitT>
virtual void eoBit< FitT >::readFrom std::istream &  is  )  [inline, virtual]
-
- - - - - -
-   - - -

-To read me from a stream. -

-

Parameters:
- - -
is The std::istream.
-
- -

-Reimplemented from eoVector< FitT, bool >. -

-Definition at line 94 of file eoBit.h. -

-References EO< F >::readFrom().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit.png b/trunk/paradiseo-eo/doc/html/classeo_bit.png deleted file mode 100644 index 67d7e7105..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bit.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_bit_flip.html b/trunk/paradiseo-eo/doc/html/classeo_bit_bit_flip.html deleted file mode 100644 index 5f8d08d36..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_bit_flip.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: eoBitBitFlip Class Reference - - - - -

eoBitBitFlip Class Reference
- -[Bitstring] -

eoBitFlip --> changes 1 bit -More... -

-#include <ga/eoBitOp.h> -

- - -
-


Detailed Description

-eoBitFlip --> changes 1 bit -

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over-members.html b/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over-members.html deleted file mode 100644 index 5a18bbadb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoBitGxOver< Chrom > Member List

This is the complete list of members for eoBitGxOver< Chrom >, including all inherited members.

- - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
className() const eoBitGxOver< Chrom > [inline, virtual]
eoBitGxOver(const unsigned _gene_size, const unsigned _num_points=2)eoBitGxOver< Chrom > [inline]
eoOp(OpType _type)eoOp< Chrom > [inline]
eoOp(const eoOp &_eop)eoOp< Chrom > [inline]
eoQuadOp()eoQuadOp< Chrom > [inline]
functor_category()eoBF< Chrom &, Chrom &, bool > [inline, static]
gene_size (defined in eoBitGxOver< Chrom >)eoBitGxOver< Chrom > [private]
general enum value (defined in eoOp< Chrom >)eoOp< Chrom >
getType() const eoOp< Chrom > [inline]
num_points (defined in eoBitGxOver< Chrom >)eoBitGxOver< Chrom > [private]
operator()(Chrom &chrom1, Chrom &chrom2)eoBitGxOver< Chrom > [inline, virtual]
quadratic enum value (defined in eoOp< Chrom >)eoOp< Chrom >
unary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
~eoBF()eoBF< Chrom &, Chrom &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< Chrom > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over.html b/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over.html deleted file mode 100644 index cd1378a2a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over.html +++ /dev/null @@ -1,115 +0,0 @@ - - -EO: eoBitGxOver< Chrom > Class Template Reference - - - - -

eoBitGxOver< Chrom > Class Template Reference
- -[Bitstring] -

eoBitGxOver --> Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) -More... -

-#include <ga/eoBitOp.h> -

-

Inheritance diagram for eoBitGxOver< Chrom >: -

- -eoQuadOp< Chrom > -eoOp< Chrom > -eoBF< Chrom &, Chrom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

eoBitGxOver (const unsigned _gene_size, const unsigned _num_points=2)
 Constructor.
-virtual std::string className () const
 The class name.
bool operator() (Chrom &chrom1, Chrom &chrom2)
 Gene crossover for binary chromosomes.

Private Attributes

-unsigned gene_size
-unsigned num_points
-

Detailed Description

-

template<class Chrom>
- class eoBitGxOver< Chrom >

- -eoBitGxOver --> Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) -

- -

-Definition at line 388 of file eoBitOp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class Chrom>
bool eoBitGxOver< Chrom >::operator() Chrom &  chrom1,
Chrom &  chrom2
[inline, virtual]
-
- - - - - -
-   - - -

-Gene crossover for binary chromosomes. -

-

Parameters:
- - - -
chrom1 The first chromosome.
chrom2 The first chromosome.
-
- -

-Implements eoBF< Chrom &, Chrom &, bool >. -

-Definition at line 409 of file eoBitOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over.png b/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over.png deleted file mode 100644 index f39cc793b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bit_gx_over.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_inversion-members.html b/trunk/paradiseo-eo/doc/html/classeo_bit_inversion-members.html deleted file mode 100644 index b72783b59..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_inversion-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

eoBitInversion< Chrom > Member List

This is the complete list of members for eoBitInversion< Chrom >, including all inherited members.

- - - - - - - - - - - - - - -
binary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
className() const eoBitInversion< Chrom > [inline, virtual]
eoMonOp()eoMonOp< Chrom > [inline]
eoOp(OpType _type)eoOp< Chrom > [inline]
eoOp(const eoOp &_eop)eoOp< Chrom > [inline]
functor_category()eoUF< Chrom &, bool > [inline, static]
general enum value (defined in eoOp< Chrom >)eoOp< Chrom >
getType() const eoOp< Chrom > [inline]
operator()(Chrom &chrom)eoBitInversion< Chrom > [inline, virtual]
quadratic enum value (defined in eoOp< Chrom >)eoOp< Chrom >
unary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< Chrom > [inline, virtual]
~eoUF()eoUF< Chrom &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_inversion.html b/trunk/paradiseo-eo/doc/html/classeo_bit_inversion.html deleted file mode 100644 index 980581042..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_inversion.html +++ /dev/null @@ -1,94 +0,0 @@ - - -EO: eoBitInversion< Chrom > Class Template Reference - - - - -

eoBitInversion< Chrom > Class Template Reference
- -[Bitstring] -

eoBitInversion: inverts the bits of the chromosome between an interval -More... -

-#include <ga/eoBitOp.h> -

-

Inheritance diagram for eoBitInversion< Chrom >: -

- -eoMonOp< Chrom > -eoOp< Chrom > -eoUF< Chrom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

-virtual std::string className () const
 The class name.
bool operator() (Chrom &chrom)
 Inverts a range of bits in a binary chromosome.
-

Detailed Description

-

template<class Chrom>
- class eoBitInversion< Chrom >

- -eoBitInversion: inverts the bits of the chromosome between an interval -

- -

-Definition at line 146 of file eoBitOp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Chrom>
bool eoBitInversion< Chrom >::operator() Chrom &  chrom  )  [inline, virtual]
-
- - - - - -
-   - - -

-Inverts a range of bits in a binary chromosome. -

-

Parameters:
- - -
chrom The chromosome whos bits are going to be inverted (a range).
-
- -

-Implements eoUF< Chrom &, bool >. -

-Definition at line 156 of file eoBitOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_inversion.png b/trunk/paradiseo-eo/doc/html/classeo_bit_inversion.png deleted file mode 100644 index 58f9c1744..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bit_inversion.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_bit_mutation-members.html deleted file mode 100644 index bef558a2a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_mutation-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoBitMutation< Chrom > Member List

This is the complete list of members for eoBitMutation< Chrom >, including all inherited members.

- - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
className() const eoBitMutation< Chrom > [inline, virtual]
eoBitMutation(const double &_rate=0.01, bool _normalize=false)eoBitMutation< Chrom > [inline]
eoMonOp()eoMonOp< Chrom > [inline]
eoOp(OpType _type)eoOp< Chrom > [inline]
eoOp(const eoOp &_eop)eoOp< Chrom > [inline]
functor_category()eoUF< Chrom &, bool > [inline, static]
general enum value (defined in eoOp< Chrom >)eoOp< Chrom >
getType() const eoOp< Chrom > [inline]
normalize (defined in eoBitMutation< Chrom >)eoBitMutation< Chrom > [private]
operator()(Chrom &chrom)eoBitMutation< Chrom > [inline, virtual]
quadratic enum value (defined in eoOp< Chrom >)eoOp< Chrom >
rate (defined in eoBitMutation< Chrom >)eoBitMutation< Chrom > [private]
unary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< Chrom > [inline, virtual]
~eoUF()eoUF< Chrom &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_bit_mutation.html deleted file mode 100644 index a7067448c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_mutation.html +++ /dev/null @@ -1,155 +0,0 @@ - - -EO: eoBitMutation< Chrom > Class Template Reference - - - - -

eoBitMutation< Chrom > Class Template Reference
- -[Bitstring] -

eoBitMutation --> classical mutation -More... -

-#include <ga/eoBitOp.h> -

-

Inheritance diagram for eoBitMutation< Chrom >: -

- -eoMonOp< Chrom > -eoOp< Chrom > -eoUF< Chrom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

 eoBitMutation (const double &_rate=0.01, bool _normalize=false)
 (Default) Constructor.
-virtual std::string className () const
 The class name.
bool operator() (Chrom &chrom)
 Mutate a chromosome.

Private Attributes

-double rate
-bool normalize
-

Detailed Description

-

template<class Chrom>
- class eoBitMutation< Chrom >

- -eoBitMutation --> classical mutation -

- -

-Definition at line 104 of file eoBitOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class Chrom>
eoBitMutation< Chrom >::eoBitMutation const double &  _rate = 0.01,
bool  _normalize = false
[inline]
-
- - - - - -
-   - - -

-(Default) Constructor. -

-

Parameters:
- - -
_rate Rate of mutation.
-
- -

-Definition at line 111 of file eoBitOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Chrom>
bool eoBitMutation< Chrom >::operator() Chrom &  chrom  )  [inline, virtual]
-
- - - - - -
-   - - -

-Mutate a chromosome. -

-

Parameters:
- - -
chrom The chromosome to be mutated.
-
- -

-Implements eoUF< Chrom &, bool >. -

-Definition at line 121 of file eoBitOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_bit_mutation.png deleted file mode 100644 index bc9f7c767..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bit_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_next-members.html b/trunk/paradiseo-eo/doc/html/classeo_bit_next-members.html deleted file mode 100644 index 87bb5d3b7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_next-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

eoBitNext< Chrom > Member List

This is the complete list of members for eoBitNext< Chrom >, including all inherited members.

- - - - - - - - - - - - - - -
binary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
className() const eoBitNext< Chrom > [inline, virtual]
eoMonOp()eoMonOp< Chrom > [inline]
eoOp(OpType _type)eoOp< Chrom > [inline]
eoOp(const eoOp &_eop)eoOp< Chrom > [inline]
functor_category()eoUF< Chrom &, bool > [inline, static]
general enum value (defined in eoOp< Chrom >)eoOp< Chrom >
getType() const eoOp< Chrom > [inline]
operator()(Chrom &chrom)eoBitNext< Chrom > [inline, virtual]
quadratic enum value (defined in eoOp< Chrom >)eoOp< Chrom >
unary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< Chrom > [inline, virtual]
~eoUF()eoUF< Chrom &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_next.html b/trunk/paradiseo-eo/doc/html/classeo_bit_next.html deleted file mode 100644 index 56f32ce37..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_next.html +++ /dev/null @@ -1,94 +0,0 @@ - - -EO: eoBitNext< Chrom > Class Template Reference - - - - -

eoBitNext< Chrom > Class Template Reference
- -[Bitstring] -

eoBitNext --> next value when bitstring considered as binary value -More... -

-#include <ga/eoBitOp.h> -

-

Inheritance diagram for eoBitNext< Chrom >: -

- -eoMonOp< Chrom > -eoOp< Chrom > -eoUF< Chrom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

-virtual std::string className () const
 The class name.
bool operator() (Chrom &chrom)
 Change the bit std::string x to be x+1.
-

Detailed Description

-

template<class Chrom>
- class eoBitNext< Chrom >

- -eoBitNext --> next value when bitstring considered as binary value -

- -

-Definition at line 174 of file eoBitOp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Chrom>
bool eoBitNext< Chrom >::operator() Chrom &  chrom  )  [inline, virtual]
-
- - - - - -
-   - - -

-Change the bit std::string x to be x+1. -

-

Parameters:
- - -
chrom The chromosome to be added one.
-
- -

-Implements eoUF< Chrom &, bool >. -

-Definition at line 184 of file eoBitOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_next.png b/trunk/paradiseo-eo/doc/html/classeo_bit_next.png deleted file mode 100644 index 718af96c2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bit_next.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory-members.html b/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory-members.html deleted file mode 100644 index f9798b924..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoBitOpFactory< EOT > Member List

This is the complete list of members for eoBitOpFactory< EOT >, including all inherited members.

- - - - - - - -
className() const eoFactory< EOT > [inline, virtual]
eoBitOpFactory()eoBitOpFactory< EOT > [inline]
eoFactory()eoFactory< EOT > [inline]
make(std::istream &_is)eoBitOpFactory< EOT > [inline, virtual]
~eoBitOpFactory()eoBitOpFactory< EOT > [inline, virtual]
~eoFactory()eoFactory< EOT > [inline, virtual]
~eoObject()eoObject [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory.html b/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory.html deleted file mode 100644 index 01b9314cf..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory.html +++ /dev/null @@ -1,104 +0,0 @@ - - -EO: eoBitOpFactory< EOT > Class Template Reference - - - - -

eoBitOpFactory< EOT > Class Template Reference

EO Factory. -More... -

-#include <eoBitOpFactory.h> -

-

Inheritance diagram for eoBitOpFactory< EOT >: -

- -eoFactory< EOT > -eoObject - -List of all members. - - - - - - - - - - - - -

Public Member Functions

virtual eoOp< EOT > * make (std::istream &_is)
 Another factory method: creates an object from an std::istream, reading from it whatever is needed to create the object.
ctors and dtors
eoBitOpFactory ()
 constructor
-virtual ~eoBitOpFactory ()
 destructor
-

Detailed Description

-

template<class EOT>
- class eoBitOpFactory< EOT >

- -EO Factory. -

-An instance of the factory class to create operators that act on bitstring chromosomes. Only those chromosomes can instantiate the operators that are created here

See also:
eoSelect
- -

- -

-Definition at line 39 of file eoBitOpFactory.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual eoOp<EOT>* eoBitOpFactory< EOT >::make std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Another factory method: creates an object from an std::istream, reading from it whatever is needed to create the object. -

-Usually, the format for the std::istream will be\ objectType parameter1 parameter2 ... parametern\ If there are problems, an std::exception is raised; it should be caught at the upper level, because it might be something for that level\ At the same time, it catches std::exceptions thrown at a lower level, which will indicate that whatever is in the stream is for this method to process

Parameters:
- - -
_is an stream from where a single line will be read
-
-
Exceptions:
- - -
runtime_std::exception if the object type is not known
-
- -

-Implements eoFactory< EOT >. -

-Definition at line 63 of file eoBitOpFactory.h. -

-References eoFactory< EOClass >::make().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory.png b/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory.png deleted file mode 100644 index c8370ff73..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bit_op_factory.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_prev-members.html b/trunk/paradiseo-eo/doc/html/classeo_bit_prev-members.html deleted file mode 100644 index 7d5b9b364..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_prev-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

eoBitPrev< Chrom > Member List

This is the complete list of members for eoBitPrev< Chrom >, including all inherited members.

- - - - - - - - - - - - - - -
binary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
className() const eoBitPrev< Chrom > [inline, virtual]
eoMonOp()eoMonOp< Chrom > [inline]
eoOp(OpType _type)eoOp< Chrom > [inline]
eoOp(const eoOp &_eop)eoOp< Chrom > [inline]
functor_category()eoUF< Chrom &, bool > [inline, static]
general enum value (defined in eoOp< Chrom >)eoOp< Chrom >
getType() const eoOp< Chrom > [inline]
operator()(Chrom &chrom)eoBitPrev< Chrom > [inline, virtual]
quadratic enum value (defined in eoOp< Chrom >)eoOp< Chrom >
unary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< Chrom > [inline, virtual]
~eoUF()eoUF< Chrom &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_prev.html b/trunk/paradiseo-eo/doc/html/classeo_bit_prev.html deleted file mode 100644 index 580869ff9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bit_prev.html +++ /dev/null @@ -1,94 +0,0 @@ - - -EO: eoBitPrev< Chrom > Class Template Reference - - - - -

eoBitPrev< Chrom > Class Template Reference
- -[Bitstring] -

eoBitPrev --> previous value when bitstring treated as binary value -More... -

-#include <ga/eoBitOp.h> -

-

Inheritance diagram for eoBitPrev< Chrom >: -

- -eoMonOp< Chrom > -eoOp< Chrom > -eoUF< Chrom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

-virtual std::string className () const
 The class name.
bool operator() (Chrom &chrom)
 Change the bit std::string x to be x-1.
-

Detailed Description

-

template<class Chrom>
- class eoBitPrev< Chrom >

- -eoBitPrev --> previous value when bitstring treated as binary value -

- -

-Definition at line 208 of file eoBitOp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Chrom>
bool eoBitPrev< Chrom >::operator() Chrom &  chrom  )  [inline, virtual]
-
- - - - - -
-   - - -

-Change the bit std::string x to be x-1. -

-

Parameters:
- - -
chrom The chromosome to be substracted one.
-
- -

-Implements eoUF< Chrom &, bool >. -

-Definition at line 218 of file eoBitOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bit_prev.png b/trunk/paradiseo-eo/doc/html/classeo_bit_prev.png deleted file mode 100644 index 1fd4eb0e2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bit_prev.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_bool_flip-members.html b/trunk/paradiseo-eo/doc/html/classeo_bool_flip-members.html deleted file mode 100644 index e93754b7d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bool_flip-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

eoBoolFlip Member List

This is the complete list of members for eoBoolFlip, including all inherited members.

- - - - - - - - - - - - - - -
binary enum value (defined in eoOp< bool >)eoOp< bool >
className() const eoBoolFlip [inline, virtual]
eoMonOp()eoMonOp< bool > [inline]
eoOp(OpType _type)eoOp< bool > [inline]
eoOp(const eoOp &_eop)eoOp< bool > [inline]
functor_category()eoUF< bool &, bool > [inline, static]
general enum value (defined in eoOp< bool >)eoOp< bool >
getType() const eoOp< bool > [inline]
operator()(bool &_b)eoBoolFlip [inline, virtual]
quadratic enum value (defined in eoOp< bool >)eoOp< bool >
unary enum value (defined in eoOp< bool >)eoOp< bool >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< bool > [inline, virtual]
~eoUF()eoUF< bool &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bool_flip.html b/trunk/paradiseo-eo/doc/html/classeo_bool_flip.html deleted file mode 100644 index 3ea9724db..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_bool_flip.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoBoolFlip Class Reference - - - - -

eoBoolFlip Class Reference

a simple boolean mutation - to be used in generic eoOp's -More... -

-#include <eoBoolFlip.h> -

-

Inheritance diagram for eoBoolFlip: -

- -eoMonOp< bool > -eoOp< bool > -eoUF< bool &, bool > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

-bool operator() (bool &_b)
 simply flips the boolean argument
-virtual string className () const
 inherited className()
-

Detailed Description

-a simple boolean mutation - to be used in generic eoOp's -

- -

-Definition at line 32 of file eoBoolFlip.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_bool_flip.png b/trunk/paradiseo-eo/doc/html/classeo_bool_flip.png deleted file mode 100644 index 73b2d3449..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_bool_flip.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_boolean_generator-members.html b/trunk/paradiseo-eo/doc/html/classeo_boolean_generator-members.html deleted file mode 100644 index cc1507403..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_boolean_generator-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoBooleanGenerator Member List

This is the complete list of members for eoBooleanGenerator, including all inherited members.

- - - - - - - - -
bias (defined in eoBooleanGenerator)eoBooleanGenerator [private]
eoBooleanGenerator(float _bias=0.5, eoRng &_rng=rng) (defined in eoBooleanGenerator)eoBooleanGenerator [inline]
functor_category()eoF< bool > [inline, static]
gen (defined in eoBooleanGenerator)eoBooleanGenerator [private]
operator()(void)eoBooleanGenerator [inline, virtual]
result_type typedefeoF< bool >
~eoF()eoF< bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_boolean_generator.html b/trunk/paradiseo-eo/doc/html/classeo_boolean_generator.html deleted file mode 100644 index 3dfe59929..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_boolean_generator.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoBooleanGenerator Class Reference - - - - -

eoBooleanGenerator Class Reference

The class eoBooleanGenerator can be used in the STL generate function to easily generate random booleans with a specified bias. -More... -

-#include <eoRndGenerators.h> -

-

Inheritance diagram for eoBooleanGenerator: -

- -eoRndGenerator< bool > -eoF< bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoBooleanGenerator (float _bias=0.5, eoRng &_rng=rng)
-bool operator() (void)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-float bias
-eoRnggen
-

Detailed Description

-The class eoBooleanGenerator can be used in the STL generate function to easily generate random booleans with a specified bias. -

- -

-Definition at line 104 of file eoRndGenerators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_boolean_generator.png b/trunk/paradiseo-eo/doc/html/classeo_boolean_generator.png deleted file mode 100644 index 8dd832787..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_boolean_generator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_boolean_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_boolean_init-members.html deleted file mode 100644 index 005ea56d6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_boolean_init-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoBooleanInit Member List

This is the complete list of members for eoBooleanInit, including all inherited members.

- - - - - - - - -
bias (defined in eoBooleanInit)eoBooleanInit [private]
className(void) const eoInit< bool > [inline, virtual]
eoBooleanInit(float _bias=0.5, eoRng &_rng=rng) (defined in eoBooleanInit)eoBooleanInit [inline]
functor_category()eoUF< bool &, void > [inline, static]
gen (defined in eoBooleanInit)eoBooleanInit [private]
operator()(bool &_b)eoBooleanInit [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< bool &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_boolean_init.html b/trunk/paradiseo-eo/doc/html/classeo_boolean_init.html deleted file mode 100644 index 6816f8e6c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_boolean_init.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoBooleanInit Class Reference - - - - -

eoBooleanInit Class Reference

The class eoBooleanInit can be used in the STL apply function to easily generate random booleans with a specified bias. -More... -

-#include <eoUniformInit.h> -

-

Inheritance diagram for eoBooleanInit: -

- -eoInit< bool > -eoUF< bool &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoBooleanInit (float _bias=0.5, eoRng &_rng=rng)
-void operator() (bool &_b)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-float bias
-eoRnggen
-

Detailed Description

-The class eoBooleanInit can be used in the STL apply function to easily generate random booleans with a specified bias. -

- -

-Definition at line 110 of file eoUniformInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_boolean_init.png b/trunk/paradiseo-eo/doc/html/classeo_boolean_init.png deleted file mode 100644 index 198c8b10c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_boolean_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_branch_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_branch_mutation-members.html deleted file mode 100644 index 012eba756..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_branch_mutation-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoBranchMutation< FType, Node > Member List

This is the complete list of members for eoBranchMutation< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoBranchMutation< FType, Node > [inline, virtual]
eoBranchMutation(eoInit< EoType > &_init, unsigned _max_length)eoBranchMutation< FType, Node > [inline]
eoMonOp()eoMonOp< eoParseTree< FType, Node > > [inline]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
EoType typedef (defined in eoBranchMutation< FType, Node >)eoBranchMutation< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
initializer (defined in eoBranchMutation< FType, Node >)eoBranchMutation< FType, Node > [private]
max_length (defined in eoBranchMutation< FType, Node >)eoBranchMutation< FType, Node > [private]
operator()(EoType &_eo1)eoBranchMutation< FType, Node > [inline]
eoMonOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoBranchMutation()eoBranchMutation< FType, Node > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_branch_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_branch_mutation.html deleted file mode 100644 index 9928b53ec..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_branch_mutation.html +++ /dev/null @@ -1,165 +0,0 @@ - - -EO: eoBranchMutation< FType, Node > Class Template Reference - - - - -

eoBranchMutation< FType, Node > Class Template Reference
- -[ParseTree] -

eoBranchMutation --> replace a subtree with a randomly created subtree -More... -

-#include <gp/eoParseTreeOp.h> -

-

Inheritance diagram for eoBranchMutation< FType, Node >: -

- -eoMonOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoBranchMutation (eoInit< EoType > &_init, unsigned _max_length)
 Constructor.
-virtual std::string className () const
 the class name
-virtual ~eoBranchMutation ()
 Dtor.
bool operator() (EoType &_eo1)
 Mutate an individual.

Private Attributes

-unsigned max_length
-eoInit< EoType > & initializer
-

Detailed Description

-

template<class FType, class Node>
- class eoBranchMutation< FType, Node >

- -eoBranchMutation --> replace a subtree with a randomly created subtree -

- -

-Definition at line 87 of file eoParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class FType, class Node>
eoBranchMutation< FType, Node >::eoBranchMutation eoInit< EoType > &  _init,
unsigned  _max_length
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - - -
_init An instantiation of eoGpDepthInitializer
_max_length the maximum size of an individual
-
- -

-Definition at line 97 of file eoParseTreeOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
bool eoBranchMutation< FType, Node >::operator() EoType _eo1  )  [inline]
-
- - - - - -
-   - - -

-Mutate an individual. -

-

Parameters:
- - -
_eo1 The individual that is to be changed
-
- -

-Definition at line 111 of file eoParseTreeOp.h. -

-References eoParseTree< FType, Node >::pruneTree(), and eoRng::random().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_branch_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_branch_mutation.png deleted file mode 100644 index bf6ee4e93..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_branch_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_breed-members.html b/trunk/paradiseo-eo/doc/html/classeo_breed-members.html deleted file mode 100644 index 95487681f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_breed-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoBreed< EOT > Member List

This is the complete list of members for eoBreed< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(const eoPop< EOT > &, eoPop< EOT > &)=0eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [pure virtual]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_breed.html b/trunk/paradiseo-eo/doc/html/classeo_breed.html deleted file mode 100644 index e6181a218..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_breed.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoBreed< EOT > Class Template Reference - - - - -

eoBreed< EOT > Class Template Reference

Breeding: combination of selecting and transforming a population. -More... -

-#include <eoBreed.h> -

-

Inheritance diagram for eoBreed< EOT >: -

- -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoGeneralBreeder< EOT > -eoSelectTransform< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoBreed< EOT >

- -Breeding: combination of selecting and transforming a population. -

-Breeding is thought of a combination of selecting and transforming a population. For efficiency reasons you might want to build your own eoBreed derived class rather than relying on a seperate select and transform function.

-

See also:
eoSelect, eoTransform, eoSelectTransform
- -

- -

-Definition at line 46 of file eoBreed.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_breed.png b/trunk/paradiseo-eo/doc/html/classeo_breed.png deleted file mode 100644 index 44349666e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_breed.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed-members.html b/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed-members.html deleted file mode 100644 index 936f360fe..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoCMABreed< FitT > Member List

This is the complete list of members for eoCMABreed< FitT >, including all inherited members.

- - - - - - - - - -
eoCMABreed(eo::CMAState &state_, unsigned lambda_) (defined in eoCMABreed< FitT >)eoCMABreed< FitT > [inline]
EOT typedef (defined in eoCMABreed< FitT >)eoCMABreed< FitT > [private]
functor_category()eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void > [inline, static]
lambda (defined in eoCMABreed< FitT >)eoCMABreed< FitT > [private]
operator()(const eoPop< EOT > &parents, eoPop< EOT > &offspring) (defined in eoCMABreed< FitT >)eoCMABreed< FitT > [inline]
eoBreed< eoVector< FitT, double > >::operator()(const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &)=0eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void > [pure virtual]
state (defined in eoCMABreed< FitT >)eoCMABreed< FitT > [private]
~eoBF()eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed.html b/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed.html deleted file mode 100644 index 655357604..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoCMABreed< FitT > Class Template Reference - - - - -

eoCMABreed< FitT > Class Template Reference

TODO, handle bounds. -More... -

-#include <eoCMABreed.h> -

-

Inheritance diagram for eoCMABreed< FitT >: -

- -eoBreed< eoVector< FitT, double > > -eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

eoCMABreed (eo::CMAState &state_, unsigned lambda_)
-void operator() (const eoPop< EOT > &parents, eoPop< EOT > &offspring)

Private Types

-typedef eoVector< FitT, double > EOT

Private Attributes

-eo::CMAState & state
-unsigned lambda
-

Detailed Description

-

template<class FitT>
- class eoCMABreed< FitT >

- -TODO, handle bounds. -

- -

-Definition at line 36 of file eoCMABreed.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed.png b/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed.png deleted file mode 100644 index 0dace2958..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_breed.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init-members.html deleted file mode 100644 index 3eb1d80e7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoCMAInit< FitT > Member List

This is the complete list of members for eoCMAInit< FitT >, including all inherited members.

- - - - - - - - - -
className(void) const eoInit< eoVector< FitT, double > > [inline, virtual]
eoCMAInit(const eo::CMAState &state_) (defined in eoCMAInit< FitT >)eoCMAInit< FitT > [inline]
EOT typedef (defined in eoCMAInit< FitT >)eoCMAInit< FitT > [private]
functor_category()eoUF< eoVector< FitT, double > &, void > [inline, static]
operator()(EOT &v) (defined in eoCMAInit< FitT >)eoCMAInit< FitT > [inline]
eoInit< eoVector< FitT, double > >::operator()(eoVector< FitT, double > &)=0eoUF< eoVector< FitT, double > &, void > [pure virtual]
state (defined in eoCMAInit< FitT >)eoCMAInit< FitT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoVector< FitT, double > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init.html b/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init.html deleted file mode 100644 index 433fead02..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoCMAInit< FitT > Class Template Reference - - - - -

eoCMAInit< FitT > Class Template Reference

TODO, handle bounds. -More... -

-#include <eoCMAInit.h> -

-

Inheritance diagram for eoCMAInit< FitT >: -

- -eoInit< eoVector< FitT, double > > -eoUF< eoVector< FitT, double > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoCMAInit (const eo::CMAState &state_)
-void operator() (EOT &v)

Private Types

-typedef eoVector< FitT, double > EOT

Private Attributes

-const eo::CMAState & state
-

Detailed Description

-

template<class FitT>
- class eoCMAInit< FitT >

- -TODO, handle bounds. -

- -

-Definition at line 37 of file eoCMAInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init.png b/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init.png deleted file mode 100644 index ef9a110ea..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_c_m_a_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a-members.html b/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a-members.html deleted file mode 100644 index 21c56e815..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoCellularEasyEA< EOT > Member List

This is the complete list of members for eoCellularEasyEA< EOT >, including all inherited members.

- - - - - - - - - - - - - - - -
cont (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [private]
cross (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [private]
eoCellularEasyEA(eoContinue< EOT > &_cont, eoEvalFunc< EOT > &_eval, eoSelectOne< EOT > &_sel_neigh, eoBinOp< EOT > &_cross, eoMonOp< EOT > &_mut, eoSelectOne< EOT > &_sel_repl)eoCellularEasyEA< EOT > [inline]
eoCellularEasyEA(eoContinue< EOT > &_cont, eoEvalFunc< EOT > &_eval, eoSelectOne< EOT > &_sel_neigh, eoQuadOp< EOT > &_cross, eoMonOp< EOT > &_mut, eoSelectOne< EOT > &_sel_child, eoSelectOne< EOT > &_sel_repl) (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [inline]
eval (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [private]
functor_category()eoUF< eoPop< EOT > &, void > [inline, static]
mut (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [private]
neighbours(const eoPop< EOT > &pop, int rank)=0 (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [protected, pure virtual]
operator()(eoPop< EOT > &pop)eoCellularEasyEA< EOT > [inline, virtual]
popEval (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [private]
sel_child (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [private]
sel_neigh (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [private]
sel_repl (defined in eoCellularEasyEA< EOT >)eoCellularEasyEA< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a.html b/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a.html deleted file mode 100644 index 01c3ce4cb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a.html +++ /dev/null @@ -1,79 +0,0 @@ - - -EO: eoCellularEasyEA< EOT > Class Template Reference - - - - -

eoCellularEasyEA< EOT > Class Template Reference

The abstract cellular easy algorithm. -More... -

-#include <eoCellularEasyEA.h> -

-

Inheritance diagram for eoCellularEasyEA< EOT >: -

- -eoAlgo< EOT > -eoUF< eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoCellularEasyEA (eoContinue< EOT > &_cont, eoEvalFunc< EOT > &_eval, eoSelectOne< EOT > &_sel_neigh, eoBinOp< EOT > &_cross, eoMonOp< EOT > &_mut, eoSelectOne< EOT > &_sel_repl)
 Two constructors.
eoCellularEasyEA (eoContinue< EOT > &_cont, eoEvalFunc< EOT > &_eval, eoSelectOne< EOT > &_sel_neigh, eoQuadOp< EOT > &_cross, eoMonOp< EOT > &_mut, eoSelectOne< EOT > &_sel_child, eoSelectOne< EOT > &_sel_repl)
-void operator() (eoPop< EOT > &pop)
 For a given population.

Protected Member Functions

-virtual eoPop< EOTneighbours (const eoPop< EOT > &pop, int rank)=0

Private Attributes

-eoContinue< EOT > & cont
-eoEvalFunc< EOT > & eval
-eoPopLoopEval< EOTpopEval
-eoSelectOne< EOT > & sel_neigh
-eoBF< EOT &, EOT &, bool > & cross
-eoMonOp< EOT > & mut
-eoSelectOne< EOT > & sel_child
-eoSelectOne< EOT > & sel_repl
-

Detailed Description

-

template<class EOT>
- class eoCellularEasyEA< EOT >

- -The abstract cellular easy algorithm. -

- -

-Definition at line 38 of file eoCellularEasyEA.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:45 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a.png b/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a.png deleted file mode 100644 index f61a07dfa..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_cellular_easy_e_a.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_check_point-members.html b/trunk/paradiseo-eo/doc/html/classeo_check_point-members.html deleted file mode 100644 index 9b9ed6368..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_check_point-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: Member List - - - - -

eoCheckPoint< EOT > Member List

This is the complete list of members for eoCheckPoint< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
add(eoContinue< EOT > &_cont) (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [inline]
add(eoSortedStatBase< EOT > &_stat) (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [inline]
add(eoStatBase< EOT > &_stat) (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [inline]
add(eoMonitor &_mon) (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [inline]
add(eoUpdater &_upd) (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [inline]
allClassNames() const eoCheckPoint< EOT >
className(void) const (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [inline, virtual]
continuators (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [private]
eoCheckPoint(eoContinue< EOT > &_cont) (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [inline]
functor_category()eoUF< const eoPop< EOT > &, bool > [inline, static]
monitors (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [private]
operator()(const eoPop< EOT > &_pop)eoCheckPoint< EOT > [virtual]
printOn(std::ostream &__os) const eoContinue< EOT > [inline, virtual]
readFrom(std::istream &__is)eoContinue< EOT > [inline, virtual]
sorted (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [private]
stats (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [private]
updaters (defined in eoCheckPoint< EOT >)eoCheckPoint< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_check_point.html b/trunk/paradiseo-eo/doc/html/classeo_check_point.html deleted file mode 100644 index b9156e543..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_check_point.html +++ /dev/null @@ -1,89 +0,0 @@ - - -EO: eoCheckPoint< EOT > Class Template Reference - - - - -

eoCheckPoint< EOT > Class Template Reference

eoCheckPoint is a container class. -More... -

-#include <eoCheckPoint.h> -

-

Inheritance diagram for eoCheckPoint< EOT >: -

- -eoContinue< EOT > -eoUF< const eoPop< EOT > &, bool > -eoPersistent -eoFunctorBase -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoCheckPoint (eoContinue< EOT > &_cont)
-bool operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.
-void add (eoContinue< EOT > &_cont)
-void add (eoSortedStatBase< EOT > &_stat)
-void add (eoStatBase< EOT > &_stat)
-void add (eoMonitor &_mon)
-void add (eoUpdater &_upd)
-virtual std::string className (void) const
-std::string allClassNames () const
 returns a string with all className() of data separated with "\n" (for debugging)

Private Attributes

-std::vector< eoContinue< EOT > * > continuators
-std::vector< eoSortedStatBase<
- EOT > * > 
sorted
-std::vector< eoStatBase< EOT > * > stats
-std::vector< eoMonitor * > monitors
-std::vector< eoUpdater * > updaters
-

Detailed Description

-

template<class EOT>
- class eoCheckPoint< EOT >

- -eoCheckPoint is a container class. -

-It contains std::vectors of (pointers to) eoContinue (modif. MS July 16. 2002) eoStats, eoUpdater and eoMonitor it is an eoContinue, so its operator() will be called every generation - and will return the contained-combined-eoContinue result but before that it will call in turn every single {statistics, updaters, monitors} that it has been given, and after that, if stopping, all lastCall methods of the above. -

- -

-Definition at line 46 of file eoCheckPoint.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_check_point.png b/trunk/paradiseo-eo/doc/html/classeo_check_point.png deleted file mode 100644 index bd9de6a7e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_check_point.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation-members.html deleted file mode 100644 index f401cf889..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoCollapseSubtreeMutation< FType, Node > Member List

This is the complete list of members for eoCollapseSubtreeMutation< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoCollapseSubtreeMutation< FType, Node > [inline, virtual]
eoCollapseSubtreeMutation(eoInit< EoType > &_init, unsigned _max_length)eoCollapseSubtreeMutation< FType, Node > [inline]
eoMonOp()eoMonOp< eoParseTree< FType, Node > > [inline]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
EoType typedef (defined in eoCollapseSubtreeMutation< FType, Node >)eoCollapseSubtreeMutation< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
initializer (defined in eoCollapseSubtreeMutation< FType, Node >)eoCollapseSubtreeMutation< FType, Node > [private]
max_length (defined in eoCollapseSubtreeMutation< FType, Node >)eoCollapseSubtreeMutation< FType, Node > [private]
operator()(EoType &_eo1)eoCollapseSubtreeMutation< FType, Node > [inline]
eoMonOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoCollapseSubtreeMutation()eoCollapseSubtreeMutation< FType, Node > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation.html deleted file mode 100644 index f499defa5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation.html +++ /dev/null @@ -1,165 +0,0 @@ - - -EO: eoCollapseSubtreeMutation< FType, Node > Class Template Reference - - - - -

eoCollapseSubtreeMutation< FType, Node > Class Template Reference
- -[ParseTree] -

eoCollapseSubtree --> replace a subtree with a randomly chosen terminal -More... -

-#include <gp/eoParseTreeOp.h> -

-

Inheritance diagram for eoCollapseSubtreeMutation< FType, Node >: -

- -eoMonOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoCollapseSubtreeMutation (eoInit< EoType > &_init, unsigned _max_length)
 Constructor.
-virtual std::string className () const
 The class name.
-virtual ~eoCollapseSubtreeMutation ()
 Dtor.
bool operator() (EoType &_eo1)
 Mutate an individual.

Private Attributes

-unsigned max_length
-eoInit< EoType > & initializer
-

Detailed Description

-

template<class FType, class Node>
- class eoCollapseSubtreeMutation< FType, Node >

- -eoCollapseSubtree --> replace a subtree with a randomly chosen terminal -

- -

-Definition at line 272 of file eoParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class FType, class Node>
eoCollapseSubtreeMutation< FType, Node >::eoCollapseSubtreeMutation eoInit< EoType > &  _init,
unsigned  _max_length
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - - -
_init An instantiation of eoGpDepthInitializer
_max_length the maximum size of an individual
-
- -

-Definition at line 282 of file eoParseTreeOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
bool eoCollapseSubtreeMutation< FType, Node >::operator() EoType _eo1  )  [inline]
-
- - - - - -
-   - - -

-Mutate an individual. -

-

Parameters:
- - -
_eo1 The individual that is to be changed
-
- -

-Definition at line 295 of file eoParseTreeOp.h. -

-References eoParseTree< FType, Node >::pruneTree(), and eoRng::random().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation.png deleted file mode 100644 index 31b71eabc..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_collapse_subtree_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_combined_continue-members.html b/trunk/paradiseo-eo/doc/html/classeo_combined_continue-members.html deleted file mode 100644 index 08c8d5bf1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_combined_continue-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoCombinedContinue< EOT > Member List

This is the complete list of members for eoCombinedContinue< EOT >, including all inherited members.

- - - - - - - - - - - - - - - -
add(eoContinue< EOT > &_cont) (defined in eoCombinedContinue< EOT >)eoCombinedContinue< EOT > [inline]
className(void) const (defined in eoCombinedContinue< EOT >)eoCombinedContinue< EOT > [inline, virtual]
continuators (defined in eoCombinedContinue< EOT >)eoCombinedContinue< EOT > [private]
eoCombinedContinue(eoContinue< EOT > &_cont)eoCombinedContinue< EOT > [inline]
eoCombinedContinue(eoContinue< EOT > &_cont1, eoContinue< EOT > &_cont2)eoCombinedContinue< EOT > [inline]
FitnessType typedefeoCombinedContinue< EOT >
functor_category()eoUF< const eoPop< EOT > &, bool > [inline, static]
operator()(const eoPop< EOT > &_pop)eoCombinedContinue< EOT > [inline, virtual]
printOn(std::ostream &__os) const eoContinue< EOT > [inline, virtual]
readFrom(std::istream &__is)eoContinue< EOT > [inline, virtual]
removeLast(void) (defined in eoCombinedContinue< EOT >)eoCombinedContinue< EOT > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_combined_continue.html b/trunk/paradiseo-eo/doc/html/classeo_combined_continue.html deleted file mode 100644 index 9235ca115..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_combined_continue.html +++ /dev/null @@ -1,74 +0,0 @@ - - -EO: eoCombinedContinue< EOT > Class Template Reference - - - - -

eoCombinedContinue< EOT > Class Template Reference

Combined continuators - logical AND: Continues until one of the embedded continuators says halt! -More... -

-#include <eoCombinedContinue.h> -

-

Inheritance diagram for eoCombinedContinue< EOT >: -

- -eoContinue< EOT > -eoUF< const eoPop< EOT > &, bool > -eoPersistent -eoFunctorBase -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness FitnessType
 Define Fitness.

Public Member Functions

eoCombinedContinue (eoContinue< EOT > &_cont)
 Ctor, make sure that at least on continuator is present.
eoCombinedContinue (eoContinue< EOT > &_cont1, eoContinue< EOT > &_cont2)
 Ctor - for historical reasons ... should disspear some day.
-void add (eoContinue< EOT > &_cont)
-void removeLast (void)
-virtual bool operator() (const eoPop< EOT > &_pop)
 Returns false when one of the embedded continuators say so (logical and).
-virtual std::string className (void) const

Private Attributes

-std::vector< eoContinue< EOT > * > continuators
-

Detailed Description

-

template<class EOT>
- class eoCombinedContinue< EOT >

- -Combined continuators - logical AND: Continues until one of the embedded continuators says halt! -

-20/11/00 MS: Changed the 2-continuator construct to a std::vector<eoContinue<EOT> > to be consistent with other Combined constructs and allow to easily handle more than 2 continuators

-02/2003 Ramón Casero Cañas - added the removeLast() method -

- -

-Definition at line 42 of file eoCombinedContinue.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_combined_continue.png b/trunk/paradiseo-eo/doc/html/classeo_combined_continue.png deleted file mode 100644 index 295ead493..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_combined_continue.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_combined_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_combined_init-members.html deleted file mode 100644 index 47f0e715f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_combined_init-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -EO: Member List - - - - -

eoCombinedInit< EOT > Member List

This is the complete list of members for eoCombinedInit< EOT >, including all inherited members.

- - - - - - - - - - -
add(eoInit< EOT > &_init, double _rate, bool _verbose=false)eoCombinedInit< EOT > [inline]
className(void) const eoCombinedInit< EOT > [inline, virtual]
eoCombinedInit(eoInit< EOT > &_init, double _rate)eoCombinedInit< EOT > [inline]
functor_category()eoUF< EOT &, void > [inline, static]
initializers (defined in eoCombinedInit< EOT >)eoCombinedInit< EOT > [private]
operator()(EOT &_eo)eoCombinedInit< EOT > [inline, virtual]
printOn(std::ostream &_os)eoCombinedInit< EOT > [inline, virtual]
rates (defined in eoCombinedInit< EOT >)eoCombinedInit< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_combined_init.html b/trunk/paradiseo-eo/doc/html/classeo_combined_init.html deleted file mode 100644 index 1fa97007a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_combined_init.html +++ /dev/null @@ -1,106 +0,0 @@ - - -EO: eoCombinedInit< EOT > Class Template Reference - - - - -

eoCombinedInit< EOT > Class Template Reference

Combined INIT: a proportional recombination of eoInit objects. -More... -

-#include <eoCombinedInit.h> -

-

Inheritance diagram for eoCombinedInit< EOT >: -

- -eoInit< EOT > -eoUF< EOT &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoCombinedInit (eoInit< EOT > &_init, double _rate)
 Ctor, make sure that at least one eoInit is present.
-void add (eoInit< EOT > &_init, double _rate, bool _verbose=false)
 The usual method to add objects to the combination note the _verbose parameter, that allows to print what's inside the combination with scaled rates.
-virtual void printOn (std::ostream &_os)
 outputs the operators and percentages
-virtual void operator() (EOT &_eo)
 Performs the init: chooses among all initializers using roulette wheel on the rates.
virtual std::string className (void) const
 className: Mandatory because of eoCombinedInit.

Private Attributes

-std::vector< eoInit< EOT > * > initializers
-std::vector< double > rates
-

Detailed Description

-

template<class EOT>
- class eoCombinedInit< EOT >

- -Combined INIT: a proportional recombination of eoInit objects. -

- -

-Definition at line 35 of file eoCombinedInit.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual std::string eoCombinedInit< EOT >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-className: Mandatory because of eoCombinedInit. -

-SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 -

-Reimplemented from eoInit< EOT >. -

-Definition at line 81 of file eoCombinedInit.h. -

-Referenced by eoCombinedInit< EOT >::printOn().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_combined_init.png b/trunk/paradiseo-eo/doc/html/classeo_combined_init.png deleted file mode 100644 index 0000f8273..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_combined_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_comma_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_comma_replacement-members.html deleted file mode 100644 index 6bceceab8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_comma_replacement-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoCommaReplacement< EOT > Member List

This is the complete list of members for eoCommaReplacement< EOT >, including all inherited members.

- - - - - - - - -
eoCommaReplacement() (defined in eoCommaReplacement< EOT >)eoCommaReplacement< EOT > [inline]
eoMergeReduce(eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce) (defined in eoMergeReduce< EOT >)eoMergeReduce< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
no_elite (defined in eoCommaReplacement< EOT >)eoCommaReplacement< EOT > [private]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoMergeReduce< EOT > [inline, virtual]
truncate (defined in eoCommaReplacement< EOT >)eoCommaReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_comma_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_comma_replacement.html deleted file mode 100644 index 04ad81033..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_comma_replacement.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoCommaReplacement< EOT > Class Template Reference - - - - -

eoCommaReplacement< EOT > Class Template Reference

ES type of replacement strategy: ignore parents, truncate offspring. -More... -

-#include <eoMergeReduce.h> -

-

Inheritance diagram for eoCommaReplacement< EOT >: -

- -eoMergeReduce< EOT > -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - -

Private Attributes

-eoNoElitism< EOTno_elite
-eoTruncate< EOTtruncate
-

Detailed Description

-

template<class EOT>
- class eoCommaReplacement< EOT >

- -ES type of replacement strategy: ignore parents, truncate offspring. -

- -

-Definition at line 87 of file eoMergeReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_comma_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_comma_replacement.png deleted file mode 100644 index df6bfe5e1..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_comma_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_continue-members.html b/trunk/paradiseo-eo/doc/html/classeo_continue-members.html deleted file mode 100644 index 3f70ab2b4..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_continue-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoContinue< EOT > Member List

This is the complete list of members for eoContinue< EOT >, including all inherited members.

- - - - - - - - - -
className(void) const (defined in eoContinue< EOT >)eoContinue< EOT > [inline, virtual]
functor_category()eoUF< const eoPop< EOT > &, bool > [inline, static]
operator()(const eoPop< EOT > &)=0eoUF< const eoPop< EOT > &, bool > [pure virtual]
printOn(std::ostream &__os) const eoContinue< EOT > [inline, virtual]
readFrom(std::istream &__is)eoContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_continue.html b/trunk/paradiseo-eo/doc/html/classeo_continue.html deleted file mode 100644 index 73df84cd7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_continue.html +++ /dev/null @@ -1,152 +0,0 @@ - - -EO: eoContinue< EOT > Class Template Reference - - - - -

eoContinue< EOT > Class Template Reference

Termination condition for the genetic algorithm Takes the population as input, returns true for continue, false for termination. -More... -

-#include <eoContinue.h> -

-

Inheritance diagram for eoContinue< EOT >: -

- -eoUF< const eoPop< EOT > &, bool > -eoPersistent -eoFunctorBase -eoPrintable -eoCheckPoint< EOT > -eoCombinedContinue< EOT > -eoCtrlCContinue< EOT > -eoEvalContinue< EOT > -eoFitContinue< EOT > -eoGenContinue< EOT > -eoSteadyFitContinue< EOT > - -List of all members. - - - - - - - - - - -

Public Member Functions

-virtual std::string className (void) const
void readFrom (std::istream &__is)
 Read object.
void printOn (std::ostream &__os) const
 Write object.
-

Detailed Description

-

template<class EOT>
- class eoContinue< EOT >

- -Termination condition for the genetic algorithm Takes the population as input, returns true for continue, false for termination. -

- -

-Definition at line 37 of file eoContinue.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoContinue< EOT >::readFrom std::istream &  __is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream.
-
-
Exceptions:
- - -
runtime_std::exception If a valid object can't be read.
-
- -

-Implements eoPersistent. -

-Reimplemented in eoGenContinue< EOT >. -

-Definition at line 42 of file eoContinue.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoContinue< EOT >::printOn std::ostream &  __os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Reimplemented in eoGenContinue< EOT >. -

-Definition at line 47 of file eoContinue.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_continue.png b/trunk/paradiseo-eo/doc/html/classeo_continue.png deleted file mode 100644 index ceabfe054..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_continue.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update-members.html b/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update-members.html deleted file mode 100644 index 35a4a89ab..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: Member List - - - - -

eoCountedDynUpdate Member List

This is the complete list of members for eoCountedDynUpdate, including all inherited members.

- - - - - - - - - - - -
className(void) const (defined in eoUpdater)eoUpdater [inline, virtual]
counter (defined in eoCountedDynUpdate)eoCountedDynUpdate [private]
eoCountedDynUpdate(eoUpdatable &_toUpdate, unsigned _interval) (defined in eoCountedDynUpdate)eoCountedDynUpdate [inline]
eoDynUpdater(eoUpdatable &_toUpdate) (defined in eoDynUpdater)eoDynUpdater [inline]
functor_category()eoF< void > [inline, static]
interval (defined in eoCountedDynUpdate)eoCountedDynUpdate [private]
lastCall() (defined in eoUpdater)eoUpdater [inline, virtual]
operator()(void)eoCountedDynUpdate [inline, virtual]
result_type typedefeoF< void >
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update.html b/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update.html deleted file mode 100644 index ab4d17015..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoCountedDynUpdate Class Reference - - - - -

eoCountedDynUpdate Class Reference

An eoUpdater to update an eoUpdatable object every given tic. -More... -

-#include <eoUpdatable.h> -

-

Inheritance diagram for eoCountedDynUpdate: -

- -eoDynUpdater -eoUpdater -eoF< void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoCountedDynUpdate (eoUpdatable &_toUpdate, unsigned _interval)
-void operator() (void)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-const unsigned interval
-unsigned counter
-

Detailed Description

-An eoUpdater to update an eoUpdatable object every given tic. -

- -

-Definition at line 93 of file eoUpdatable.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update.png b/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update.png deleted file mode 100644 index 658c2c5eb..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_counted_dyn_update.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver-members.html b/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver-members.html deleted file mode 100644 index b903f6355..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoCountedStateSaver Member List

This is the complete list of members for eoCountedStateSaver, including all inherited members.

- - - - - - - - - - - - - - - - -
className(void) const (defined in eoCountedStateSaver)eoCountedStateSaver [inline, virtual]
counter (defined in eoCountedStateSaver)eoCountedStateSaver [private]
doItNow(void) (defined in eoCountedStateSaver)eoCountedStateSaver [private]
eoCountedStateSaver(unsigned _interval, const eoState &_state, std::string _prefix, bool _saveOnLastCall, std::string _extension="sav", unsigned _counter=0) (defined in eoCountedStateSaver)eoCountedStateSaver [inline]
eoCountedStateSaver(unsigned _interval, const eoState &_state, std::string _prefix="state", std::string _extension="sav", unsigned _counter=0) (defined in eoCountedStateSaver)eoCountedStateSaver [inline]
extension (defined in eoCountedStateSaver)eoCountedStateSaver [private]
functor_category()eoF< void > [inline, static]
interval (defined in eoCountedStateSaver)eoCountedStateSaver [private]
lastCall(void) (defined in eoCountedStateSaver)eoCountedStateSaver [virtual]
operator()(void)eoCountedStateSaver [virtual]
prefix (defined in eoCountedStateSaver)eoCountedStateSaver [private]
result_type typedefeoF< void >
saveOnLastCall (defined in eoCountedStateSaver)eoCountedStateSaver [private]
state (defined in eoCountedStateSaver)eoCountedStateSaver [private]
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver.html b/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver.html deleted file mode 100644 index fec0a6983..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver.html +++ /dev/null @@ -1,75 +0,0 @@ - - -EO: eoCountedStateSaver Class Reference - - - - -

eoCountedStateSaver Class Reference

an eoUpdater that saves a state every given generations -More... -

-#include <eoUpdater.h> -

-

Inheritance diagram for eoCountedStateSaver: -

- -eoUpdater -eoF< void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoCountedStateSaver (unsigned _interval, const eoState &_state, std::string _prefix, bool _saveOnLastCall, std::string _extension="sav", unsigned _counter=0)
eoCountedStateSaver (unsigned _interval, const eoState &_state, std::string _prefix="state", std::string _extension="sav", unsigned _counter=0)
-virtual void lastCall (void)
-void operator() (void)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className (void) const

Private Member Functions

-void doItNow (void)

Private Attributes

-const eoStatestate
-const unsigned interval
-unsigned counter
-bool saveOnLastCall
-const std::string prefix
-const std::string extension
-

Detailed Description

-an eoUpdater that saves a state every given generations -

- -

-Definition at line 127 of file eoUpdater.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver.png b/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver.png deleted file mode 100644 index 91ba36fdd..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_counted_state_saver.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue-members.html b/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue-members.html deleted file mode 100644 index 1edc9259c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -EO: Member List - - - - -

eoCtrlCContinue< EOT > Member List

This is the complete list of members for eoCtrlCContinue< EOT >, including all inherited members.

- - - - - - - - - - -
className(void) const (defined in eoCtrlCContinue< EOT >)eoCtrlCContinue< EOT > [inline, virtual]
eoCtrlCContinue()eoCtrlCContinue< EOT > [inline]
functor_category()eoUF< const eoPop< EOT > &, bool > [inline, static]
operator()(const eoPop< EOT > &_vEO)eoCtrlCContinue< EOT > [inline, virtual]
printOn(std::ostream &__os) const eoContinue< EOT > [inline, virtual]
readFrom(std::istream &__is)eoContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue.html b/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue.html deleted file mode 100644 index f15be87db..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue.html +++ /dev/null @@ -1,52 +0,0 @@ - - -EO: eoCtrlCContinue< EOT > Class Template Reference - - - - -

eoCtrlCContinue< EOT > Class Template Reference

Ctrl C handling: this eoContinue tells whether the user pressed Ctrl C. -More... -

-#include <eoCtrlCContinue.h> -

-

Inheritance diagram for eoCtrlCContinue< EOT >: -

- -eoContinue< EOT > -eoUF< const eoPop< EOT > &, bool > -eoPersistent -eoFunctorBase -eoPrintable - -List of all members. - - - - - - - - - - -

Public Member Functions

eoCtrlCContinue ()
 Ctor : installs the signal handler.
-virtual bool operator() (const eoPop< EOT > &_vEO)
 Returns false when Ctrl C has been typed in reached.
-virtual std::string className (void) const
-

Detailed Description

-

template<class EOT>
- class eoCtrlCContinue< EOT >

- -Ctrl C handling: this eoContinue tells whether the user pressed Ctrl C. -

- -

-Definition at line 45 of file eoCtrlCContinue.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue.png b/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue.png deleted file mode 100644 index d65802c7c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_ctrl_c_continue.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip-members.html b/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip-members.html deleted file mode 100644 index 0a0ea796e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoDetBitFlip< Chrom > Member List

This is the complete list of members for eoDetBitFlip< Chrom >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
className() const eoDetBitFlip< Chrom > [inline, virtual]
eoDetBitFlip(const unsigned &_num_bit=1)eoDetBitFlip< Chrom > [inline]
eoMonOp()eoMonOp< Chrom > [inline]
eoOp(OpType _type)eoOp< Chrom > [inline]
eoOp(const eoOp &_eop)eoOp< Chrom > [inline]
functor_category()eoUF< Chrom &, bool > [inline, static]
general enum value (defined in eoOp< Chrom >)eoOp< Chrom >
getType() const eoOp< Chrom > [inline]
num_bit (defined in eoDetBitFlip< Chrom >)eoDetBitFlip< Chrom > [private]
operator()(Chrom &chrom)eoDetBitFlip< Chrom > [inline, virtual]
quadratic enum value (defined in eoOp< Chrom >)eoOp< Chrom >
unary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< Chrom > [inline, virtual]
~eoUF()eoUF< Chrom &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip.html b/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip.html deleted file mode 100644 index 96a68072a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip.html +++ /dev/null @@ -1,143 +0,0 @@ - - -EO: eoDetBitFlip< Chrom > Class Template Reference - - - - -

eoDetBitFlip< Chrom > Class Template Reference
- -[Bitstring] -

eoDetBitFlip --> changes exactly k bits -More... -

-#include <ga/eoBitOp.h> -

-

Inheritance diagram for eoDetBitFlip< Chrom >: -

- -eoMonOp< Chrom > -eoOp< Chrom > -eoUF< Chrom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

 eoDetBitFlip (const unsigned &_num_bit=1)
 (Default) Constructor.
-virtual std::string className () const
 The class name.
bool operator() (Chrom &chrom)
 Change num_bit bits.

Private Attributes

-unsigned num_bit
-

Detailed Description

-

template<class Chrom>
- class eoDetBitFlip< Chrom >

- -eoDetBitFlip --> changes exactly k bits -

- -

-Definition at line 67 of file eoBitOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Chrom>
eoDetBitFlip< Chrom >::eoDetBitFlip const unsigned &  _num_bit = 1  )  [inline]
-
- - - - - -
-   - - -

-(Default) Constructor. -

-

Parameters:
- - -
_num_bit The number of bits to change default is one - equivalent to eoOneBitFlip then
-
- -

-Definition at line 75 of file eoBitOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Chrom>
bool eoDetBitFlip< Chrom >::operator() Chrom &  chrom  )  [inline, virtual]
-
- - - - - -
-   - - -

-Change num_bit bits. -

-

Parameters:
- - -
chrom The cromosome which one bit is going to be changed.
-
- -

-Implements eoUF< Chrom &, bool >. -

-Definition at line 84 of file eoBitOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip.png b/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip.png deleted file mode 100644 index e40a72719..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_det_bit_flip.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_det_select-members.html deleted file mode 100644 index 2af3f5374..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_select-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoDetSelect< EOT > Member List

This is the complete list of members for eoDetSelect< EOT >, including all inherited members.

- - - - - - -
eoDetSelect(double _rate=1.0, bool _interpret_as_rate=true)eoDetSelect< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoDetSelect< EOT >)eoDetSelect< EOT > [private]
operator()(const eoPop< EOT > &_source, eoPop< EOT > &_dest)eoDetSelect< EOT > [inline, virtual]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_select.html b/trunk/paradiseo-eo/doc/html/classeo_det_select.html deleted file mode 100644 index 7f29ac8e6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_select.html +++ /dev/null @@ -1,101 +0,0 @@ - - -EO: eoDetSelect< EOT > Class Template Reference - - - - -

eoDetSelect< EOT > Class Template Reference

eoDetSelect selects many individuals determinisctically -More... -

-#include <eoDetSelect.h> -

-

Inheritance diagram for eoDetSelect< EOT >: -

- -eoSelect< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoDetSelect (double _rate=1.0, bool _interpret_as_rate=true)
 init
virtual void operator() (const eoPop< EOT > &_source, eoPop< EOT > &_dest)

Private Attributes

-eoHowMany howMany
-

Detailed Description

-

template<class EOT>
- class eoDetSelect< EOT >

- -eoDetSelect selects many individuals determinisctically -

- -

-Definition at line 40 of file eoDetSelect.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
virtual void eoDetSelect< EOT >::operator() const eoPop< EOT > &  _source,
eoPop< EOT > &  _dest
[inline, virtual]
-
- - - - - -
-   - - -

-

Parameters:
- - - -
_source the source population
_dest the resulting population (size of this population is given by the HowMany data It empties the destination and adds the selection into it)
-
- -

-Implements eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >. -

-Definition at line 53 of file eoDetSelect.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_select.png b/trunk/paradiseo-eo/doc/html/classeo_det_select.png deleted file mode 100644 index f1b1bf7c5..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_det_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select-members.html deleted file mode 100644 index b45e607d7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoDetTournamentSelect< EOT > Member List

This is the complete list of members for eoDetTournamentSelect< EOT >, including all inherited members.

- - - - - - - -
eoDetTournamentSelect(unsigned _tSize=2) (defined in eoDetTournamentSelect< EOT >)eoDetTournamentSelect< EOT > [inline]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoDetTournamentSelect< EOT > [inline, virtual]
setup(const eoPop< EOT > &_pop)eoSelectOne< EOT > [inline, virtual]
tSize (defined in eoDetTournamentSelect< EOT >)eoDetTournamentSelect< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select.html b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select.html deleted file mode 100644 index adca8786f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoDetTournamentSelect< EOT > Class Template Reference - - - - -

eoDetTournamentSelect< EOT > Class Template Reference

eoDetTournamentSelect: a selection method that selects ONE individual by deterministic tournament -MS- 24/10/99 -More... -

-#include <eoDetTournamentSelect.h> -

-

Inheritance diagram for eoDetTournamentSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoDetTournamentSelect (unsigned _tSize=2)
-virtual const EOToperator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned tSize
-

Detailed Description

-

template<class EOT>
- class eoDetTournamentSelect< EOT >

- -eoDetTournamentSelect: a selection method that selects ONE individual by deterministic tournament -MS- 24/10/99 -

- -

-Definition at line 44 of file eoDetTournamentSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select.png b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select.png deleted file mode 100644 index 0bde7c97a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate-members.html b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate-members.html deleted file mode 100644 index 13cf98e0d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoDetTournamentTruncate< EOT > Member List

This is the complete list of members for eoDetTournamentTruncate< EOT >, including all inherited members.

- - - - - - -
eoDetTournamentTruncate(unsigned _t_size) (defined in eoDetTournamentTruncate< EOT >)eoDetTournamentTruncate< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, unsigned, void > [inline, static]
operator()(eoPop< EOT > &_newgen, unsigned _newsize)eoDetTournamentTruncate< EOT > [inline, virtual]
t_size (defined in eoDetTournamentTruncate< EOT >)eoDetTournamentTruncate< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, unsigned, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate.html b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate.html deleted file mode 100644 index fa6b5b5bd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate.html +++ /dev/null @@ -1,52 +0,0 @@ - - -EO: eoDetTournamentTruncate< EOT > Class Template Reference - - - - -

eoDetTournamentTruncate< EOT > Class Template Reference

a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. -More... -

-#include <eoReduce.h> -

-

Inheritance diagram for eoDetTournamentTruncate< EOT >: -

- -eoReduce< EOT > -eoBF< eoPop< EOT > &, unsigned, void > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoDetTournamentTruncate (unsigned _t_size)
-void operator() (eoPop< EOT > &_newgen, unsigned _newsize)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned t_size
-

Detailed Description

-

template<class EOT>
- class eoDetTournamentTruncate< EOT >

- -a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. -

-see eoSSGADetTournamentReplacement) -

- -

-Definition at line 188 of file eoReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate.png b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate.png deleted file mode 100644 index 7339cf882..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split-members.html b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split-members.html deleted file mode 100644 index bcb992edc..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoDetTournamentTruncateSplit< EOT > Member List

This is the complete list of members for eoDetTournamentTruncateSplit< EOT >, including all inherited members.

- - - - - - - - -
eoDetTournamentTruncateSplit(unsigned _t_size, eoHowMany _howMany, bool _returnEliminated=false)eoDetTournamentTruncateSplit< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoDetTournamentTruncateSplit< EOT >)eoDetTournamentTruncateSplit< EOT > [private]
operator()(eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)eoDetTournamentTruncateSplit< EOT > [inline, virtual]
returnEliminated (defined in eoDetTournamentTruncateSplit< EOT >)eoDetTournamentTruncateSplit< EOT > [private]
t_size (defined in eoDetTournamentTruncateSplit< EOT >)eoDetTournamentTruncateSplit< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split.html b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split.html deleted file mode 100644 index dda2da63c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoDetTournamentTruncateSplit< EOT > Class Template Reference - - - - -

eoDetTournamentTruncateSplit< EOT > Class Template Reference

a ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. -More... -

-#include <eoReduceSplit.h> -

-

Inheritance diagram for eoDetTournamentTruncateSplit< EOT >: -

- -eoReduceSplit< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoDetTournamentTruncateSplit (unsigned _t_size, eoHowMany _howMany, bool _returnEliminated=false)
 Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys.
-void operator() (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)
 Performs repeated inverse_deterministic_tournament on the pop.

Private Attributes

-unsigned t_size
-eoHowMany howMany
-bool returnEliminated
-

Detailed Description

-

template<class EOT>
- class eoDetTournamentTruncateSplit< EOT >

- -a ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. -

-see eoSSGADetTournamentReplacement) -

- -

-Definition at line 205 of file eoReduceSplit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split.png b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split.png deleted file mode 100644 index f8b055763..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_truncate_split.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select-members.html deleted file mode 100644 index a62f127c7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoDetTournamentWorthSelect< EOT, WorthT > Member List

This is the complete list of members for eoDetTournamentWorthSelect< EOT, WorthT >, including all inherited members.

- - - - - - - - - - - - -
check_sync(unsigned index, const EOT &_eo) (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [inline, protected]
eoDetTournamentWorthSelect(eoPerf2Worth< EOT, WorthT > &perf2Worth, unsigned _tSize) (defined in eoDetTournamentWorthSelect< EOT, WorthT >)eoDetTournamentWorthSelect< EOT, WorthT > [inline]
eoSelectFromWorth(eoPerf2Worth< EOT, WorthT > &_perf2Worth) (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [inline]
fitness (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [protected]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &pop)eoDetTournamentWorthSelect< EOT, WorthT > [inline, virtual]
perf2Worth (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [protected]
setup(const eoPop< EOT > &pop)eoSelectFromWorth< EOT, WorthT > [inline, virtual]
tSize (defined in eoDetTournamentWorthSelect< EOT, WorthT >)eoDetTournamentWorthSelect< EOT, WorthT > [private]
worthIterator typedef (defined in eoDetTournamentWorthSelect< EOT, WorthT >)eoDetTournamentWorthSelect< EOT, WorthT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select.html b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select.html deleted file mode 100644 index 7359eaed7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoDetTournamentWorthSelect< EOT, WorthT > Class Template Reference - - - - -

eoDetTournamentWorthSelect< EOT, WorthT > Class Template Reference

An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... -More... -

-#include <eoSelectFromWorth.h> -

-

Inheritance diagram for eoDetTournamentWorthSelect< EOT, WorthT >: -

- -eoSelectFromWorth< EOT, WorthT > -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Types

-typedef std::vector< WorthT
->::iterator 
worthIterator

Public Member Functions

eoDetTournamentWorthSelect (eoPerf2Worth< EOT, WorthT > &perf2Worth, unsigned _tSize)
-virtual const EOToperator() (const eoPop< EOT > &pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned tSize
-

Detailed Description

-

template<class EOT, class WorthT = double>
- class eoDetTournamentWorthSelect< EOT, WorthT >

- -An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... -

-determinisitic tournament, yes! -

- -

-Definition at line 91 of file eoSelectFromWorth.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select.png b/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select.png deleted file mode 100644 index 29c7e2709..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_det_tournament_worth_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation-members.html deleted file mode 100644 index 488ed0b7c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: Member List - - - - -

eoDetUniformMutation< EOT > Member List

This is the complete list of members for eoDetUniformMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
bounds (defined in eoDetUniformMutation< EOT >)eoDetUniformMutation< EOT > [private]
className() const eoDetUniformMutation< EOT > [inline, virtual]
eoDetUniformMutation(const double &_epsilon, const unsigned &_no=1)eoDetUniformMutation< EOT > [inline]
eoDetUniformMutation(eoRealVectorBounds &_bounds, const double &_epsilon, const unsigned &_no=1)eoDetUniformMutation< EOT > [inline]
eoDetUniformMutation(eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const unsigned &_no=1)eoDetUniformMutation< EOT > [inline]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
epsilon (defined in eoDetUniformMutation< EOT >)eoDetUniformMutation< EOT > [private]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
homogeneous (defined in eoDetUniformMutation< EOT >)eoDetUniformMutation< EOT > [private]
no (defined in eoDetUniformMutation< EOT >)eoDetUniformMutation< EOT > [private]
operator()(EOT &_eo)eoDetUniformMutation< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation.html deleted file mode 100644 index 35b17a2a1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation.html +++ /dev/null @@ -1,287 +0,0 @@ - - -EO: eoDetUniformMutation< EOT > Class Template Reference - - - - -

eoDetUniformMutation< EOT > Class Template Reference

eoDetUniformMutation --> changes exactly k values of the std::vector by uniform choice with range epsilon -More... -

-#include <Tutorial/eoRealOp.h> -

-

Inheritance diagram for eoDetUniformMutation< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoDetUniformMutation (const double &_epsilon, const unsigned &_no=1)
 (Default) Constructor for homogeneous genotype it's there mostly for backward compatibility
 eoDetUniformMutation (eoRealVectorBounds &_bounds, const double &_epsilon, const unsigned &_no=1)
 Constructor with bounds.
 eoDetUniformMutation (eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const unsigned &_no=1)
 Constructor with bounds and full std::vector of epsilon.
-virtual std::string className () const
 The class name.
bool operator() (EOT &_eo)
 Do it!

Private Attributes

-bool homogeneous
-eoRealVectorBoundsbounds
-std::vector< double > epsilon
-unsigned no
-

Detailed Description

-

template<class EOT>
- class eoDetUniformMutation< EOT >

- -eoDetUniformMutation --> changes exactly k values of the std::vector by uniform choice with range epsilon -

- -

-Definition at line 144 of file eoRealOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoDetUniformMutation< EOT >::eoDetUniformMutation const double &  _epsilon,
const unsigned &  _no = 1
[inline]
-
- - - - - -
-   - - -

-(Default) Constructor for homogeneous genotype it's there mostly for backward compatibility -

-

Parameters:
- - - -
_epsilon the range for uniform nutation
number of coordinate to modify
-
- -

-Definition at line 154 of file eoRealOp.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoDetUniformMutation< EOT >::eoDetUniformMutation eoRealVectorBounds _bounds,
const double &  _epsilon,
const unsigned &  _no = 1
[inline]
-
- - - - - -
-   - - -

-Constructor with bounds. -

-

Parameters:
- - - - -
_bounds an eoRealVectorBounds that contains the bounds
_epsilon the range for uniform nutation (to be scaled if necessary)
number of coordinate to modify
-
- -

-Definition at line 164 of file eoRealOp.h. -

-References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoDetUniformMutation< EOT >::eoDetUniformMutation eoRealVectorBounds _bounds,
const std::vector< double > &  _epsilon,
const unsigned &  _no = 1
[inline]
-
- - - - - -
-   - - -

-Constructor with bounds and full std::vector of epsilon. -

-

Parameters:
- - - - -
_bounds an eoRealVectorBounds that contains the bounds
_epsilon the VECTOR of ranges for uniform mutation
number of coordinate to modify
-
- -

-Definition at line 181 of file eoRealOp.h. -

-References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range().

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
bool eoDetUniformMutation< EOT >::operator() EOT _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Do it! -

-

Parameters:
- - -
_eo The indi undergoing the mutation
-
- -

-Implements eoUF< EOT &, bool >. -

-Definition at line 199 of file eoRealOp.h. -

-References eoRealBaseVectorBounds::isMaxBounded(), eoRealBaseVectorBounds::isMinBounded(), eoRealBaseVectorBounds::maximum(), eoRealBaseVectorBounds::minimum(), eoRng::random(), and eoRng::uniform().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation.png deleted file mode 100644 index 871b76086..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_det_uniform_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement-members.html deleted file mode 100644 index c2becfa64..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: Member List - - - - -

eoDeterministicSaDReplacement< EOT > Member List

This is the complete list of members for eoDeterministicSaDReplacement< EOT >, including all inherited members.

- - - - - - - - - - - -
eoDeterministicSaDReplacement(eoReduce< EOT > &_reduceGlobal, double _surviveParents, double _dieParents=0, double _surviveOffspring=0, double _dieOffspring=0, bool _interpret_as_rate=true)eoDeterministicSaDReplacement< EOT > [inline]
eoDeterministicSaDReplacement(double _surviveParents, double _dieParents=0, double _surviveOffspring=0, double _dieOffspring=0, bool _interpret_as_rate=true)eoDeterministicSaDReplacement< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoDeterministicSaDReplacement< EOT > [inline, virtual]
plus (defined in eoDeterministicSaDReplacement< EOT >)eoDeterministicSaDReplacement< EOT > [private]
reduceGlobal (defined in eoDeterministicSaDReplacement< EOT >)eoDeterministicSaDReplacement< EOT > [private]
sAdOffspring (defined in eoDeterministicSaDReplacement< EOT >)eoDeterministicSaDReplacement< EOT > [private]
sAdParents (defined in eoDeterministicSaDReplacement< EOT >)eoDeterministicSaDReplacement< EOT > [private]
truncate (defined in eoDeterministicSaDReplacement< EOT >)eoDeterministicSaDReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement.html deleted file mode 100644 index 7facb49cf..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement.html +++ /dev/null @@ -1,71 +0,0 @@ - - -EO: eoDeterministicSaDReplacement< EOT > Class Template Reference - - - - -

eoDeterministicSaDReplacement< EOT > Class Template Reference

eoDeterministicSaDReplacement: replacement strategy that is just, in sequence saves best and kill worse from parents + saves best and kill worse from offspring + merge remaining (neither save nor killed) parents and offspring + reduce that merged population = returns reduced pop + best parents + best offspring -More... -

-#include <eoSurviveAndDie.h> -

-

Inheritance diagram for eoDeterministicSaDReplacement< EOT >: -

- -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoDeterministicSaDReplacement (eoReduce< EOT > &_reduceGlobal, double _surviveParents, double _dieParents=0, double _surviveOffspring=0, double _dieOffspring=0, bool _interpret_as_rate=true)
 Constructor with reduce.
eoDeterministicSaDReplacement (double _surviveParents, double _dieParents=0, double _surviveOffspring=0, double _dieOffspring=0, bool _interpret_as_rate=true)
 Constructor with default truncate used as reduce.
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoReduce< EOT > & reduceGlobal
-eoDeterministicSurviveAndDie<
- EOT
sAdParents
-eoDeterministicSurviveAndDie<
- EOT
sAdOffspring
-eoPlus< EOTplus
-eoTruncate< EOTtruncate
-

Detailed Description

-

template<class EOT>
- class eoDeterministicSaDReplacement< EOT >

- -eoDeterministicSaDReplacement: replacement strategy that is just, in sequence saves best and kill worse from parents + saves best and kill worse from offspring + merge remaining (neither save nor killed) parents and offspring + reduce that merged population = returns reduced pop + best parents + best offspring -

-An obvious use is as strong elitist strategy, i.e. preserving best parents, and reducing (either offspring or parents+offspring) -

- -

-Definition at line 132 of file eoSurviveAndDie.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement.png deleted file mode 100644 index 4fc2bd50f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_deterministic_sa_d_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die-members.html b/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die-members.html deleted file mode 100644 index 2aad532a6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoDeterministicSurviveAndDie< EOT > Member List

This is the complete list of members for eoDeterministicSurviveAndDie< EOT >, including all inherited members.

- - - - - - - - -
eoDeterministicSurviveAndDie(double _survive, double _die, bool _interpret_as_rate=true)eoDeterministicSurviveAndDie< EOT > [inline]
eoSurviveAndDie(double _survive, double _die, bool _interpret_as_rate=true) (defined in eoSurviveAndDie< EOT >)eoSurviveAndDie< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howmanyDie (defined in eoSurviveAndDie< EOT >)eoSurviveAndDie< EOT > [protected]
howmanySurvive (defined in eoSurviveAndDie< EOT >)eoSurviveAndDie< EOT > [protected]
operator()(eoPop< EOT > &_pop, eoPop< EOT > &_luckyGuys)eoDeterministicSurviveAndDie< EOT > [inline, virtual]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die.html b/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die.html deleted file mode 100644 index 8ad6e7c03..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoDeterministicSurviveAndDie< EOT > Class Template Reference - - - - -

eoDeterministicSurviveAndDie< EOT > Class Template Reference

An instance (theonly one as of today, Dec. -More... -

-#include <eoSurviveAndDie.h> -

-

Inheritance diagram for eoDeterministicSurviveAndDie< EOT >: -

- -eoSurviveAndDie< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

eoDeterministicSurviveAndDie (double _survive, double _die, bool _interpret_as_rate=true)
 constructor
-void operator() (eoPop< EOT > &_pop, eoPop< EOT > &_luckyGuys)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoDeterministicSurviveAndDie< EOT >

- -An instance (theonly one as of today, Dec. -

-20, 2000) of an eoSurviveAndDie, that does everything deterministically

-Used in eoDeterministicSaDReplacement. -

- -

-Definition at line 73 of file eoSurviveAndDie.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die.png b/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die.png deleted file mode 100644 index cad24d087..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_deterministic_survive_and_die.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_distance-members.html b/trunk/paradiseo-eo/doc/html/classeo_distance-members.html deleted file mode 100644 index ee9e884d9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_distance-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoDistance< EOT > Member List

This is the complete list of members for eoDistance< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< const EOT &, const EOT &, double > [inline, static]
operator()(const EOT &, const EOT &)=0eoBF< const EOT &, const EOT &, double > [pure virtual]
~eoBF()eoBF< const EOT &, const EOT &, double > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_distance.html b/trunk/paradiseo-eo/doc/html/classeo_distance.html deleted file mode 100644 index c04e86abb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_distance.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: eoDistance< EOT > Class Template Reference - - - - -

eoDistance< EOT > Class Template Reference

This is a generic class for distance functors: takes 2 things ane returns a double. -More... -

-#include <eoDistance.h> -

-

Inheritance diagram for eoDistance< EOT >: -

- -eoBF< const EOT &, const EOT &, double > -eoFunctorBase -eoHammingDistance< EOT > -eoQuadDistance< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoDistance< EOT >

- -This is a generic class for distance functors: takes 2 things ane returns a double. -

- -

-Definition at line 35 of file eoDistance.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_distance.png b/trunk/paradiseo-eo/doc/html/classeo_distance.png deleted file mode 100644 index 646922e65..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_distance.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_distrib_updater-members.html b/trunk/paradiseo-eo/doc/html/classeo_distrib_updater-members.html deleted file mode 100644 index e9728195e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_distrib_updater-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoDistribUpdater< EOT > Member List

This is the complete list of members for eoDistribUpdater< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoDistribution< EOT > &, eoPop< EOT > &)=0eoDistribUpdater< EOT > [pure virtual]
~eoBF()eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_distrib_updater.html b/trunk/paradiseo-eo/doc/html/classeo_distrib_updater.html deleted file mode 100644 index a77324e91..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_distrib_updater.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoDistribUpdater< EOT > Class Template Reference - - - - -

eoDistribUpdater< EOT > Class Template Reference

Base class for Distribution Evolution Algorithms within EO: the update rule of distribution. -More... -

-#include <eoDistribUpdater.h> -

-

Inheritance diagram for eoDistribUpdater< EOT >: -

- -eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoPBILAdditive< EOT > -eoPBILOrg< EOT > - -List of all members. - - - - - -

Public Member Functions

-virtual void operator() (eoDistribution< EOT > &, eoPop< EOT > &)=0
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoDistribUpdater< EOT >

- -Base class for Distribution Evolution Algorithms within EO: the update rule of distribution. -

-It takes one distribution and updates it according to one population -

- -

-Definition at line 43 of file eoDistribUpdater.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_distrib_updater.png b/trunk/paradiseo-eo/doc/html/classeo_distrib_updater.png deleted file mode 100644 index 9173e093e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_distrib_updater.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_distribution-members.html b/trunk/paradiseo-eo/doc/html/classeo_distribution-members.html deleted file mode 100644 index ace43bf55..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_distribution-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: Member List - - - - -

eoDistribution< EOT > Member List

This is the complete list of members for eoDistribution< EOT >, including all inherited members.

- - - - - - - - - - - -
eoInit::className(void) const eoInit< EOT > [inline, virtual]
eoObject::className() const =0eoObject [pure virtual]
functor_category()eoUF< EOT &, void > [inline, static]
operator()(EOT &)=0eoDistribution< EOT > [pure virtual]
printOn(std::ostream &_os) const =0eoPrintable [pure virtual]
readFrom(std::istream &_is)=0eoPersistent [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_distribution.html b/trunk/paradiseo-eo/doc/html/classeo_distribution.html deleted file mode 100644 index f8f93da68..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_distribution.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoDistribution< EOT > Class Template Reference - - - - -

eoDistribution< EOT > Class Template Reference

Abstract class for Distribution Evolution Algorithms within EO: the distribution itself. -More... -

-#include <eoDistribution.h> -

-

Inheritance diagram for eoDistribution< EOT >: -

- -eoInit< EOT > -eoPersistent -eoObject -eoUF< EOT &, void > -eoPrintable -eoFunctorBase -eoPBILDistrib< EOT > - -List of all members. - - - - - -

Public Member Functions

-virtual void operator() (EOT &)=0
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoDistribution< EOT >

- -Abstract class for Distribution Evolution Algorithms within EO: the distribution itself. -

-It basically IS AN eoInit - operator()(EOT &) generates new indis

-The instances will probably be eoValueParam of some kind see eoPBILDistrib.h -

- -

-Definition at line 45 of file eoDistribution.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_distribution.png b/trunk/paradiseo-eo/doc/html/classeo_distribution.png deleted file mode 100644 index 29a1f5e6d..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_distribution.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_dominance_map-members.html b/trunk/paradiseo-eo/doc/html/classeo_dominance_map-members.html deleted file mode 100644 index 3ac21f349..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_dominance_map-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -EO: Member List - - - - -

eoDominanceMap< EoType > Member List

This is the complete list of members for eoDominanceMap< EoType >, including all inherited members.

- - - - - - - - - - -
clear()eoDominanceMap< EoType > [inline]
fitness (defined in eoDominanceMap< EoType >)eoDominanceMap< EoType > [private]
functor_category()eoUF< const eoPop< EoType > &, void > [inline, static]
operator()(const eoPop< EoType > &_pop)eoDominanceMap< EoType > [inline, virtual]
remove(unsigned i)eoDominanceMap< EoType > [inline]
setup(const eoPop< EoType > &_pop)eoDominanceMap< EoType > [inline]
sum_dominants() const eoDominanceMap< EoType > [inline]
sum_dominators() const eoDominanceMap< EoType > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EoType > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_dominance_map.html b/trunk/paradiseo-eo/doc/html/classeo_dominance_map.html deleted file mode 100644 index d5712046e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_dominance_map.html +++ /dev/null @@ -1,146 +0,0 @@ - - -EO: eoDominanceMap< EoType > Class Template Reference - - - - -

eoDominanceMap< EoType > Class Template Reference

eoDominanceMap, utility class to calculate and maintain a map (std::vector<std::vector<bool> >) of pareto dominance statistics. -More... -

-#include <eoDominanceMap.h> -

-

Inheritance diagram for eoDominanceMap< EoType >: -

- -eoUF< const eoPop< EoType > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

-void clear ()
 Clears the map.
-void operator() (const eoPop< EoType > &_pop)
 Update or create the dominance map.
-void remove (unsigned i)
 Removes the domination info for a given individual, thus nothing dominates it and it dominates nothing.
void setup (const eoPop< EoType > &_pop)
 Create domination matrix from scratch.
std::vector< double > sum_dominators () const
 For all elements, returns the no.
-std::vector< double > sum_dominants () const
 For all elements, returns the number of elements that the element dominates Thus: higher is better It returns a std::vector<double> cuz that makes subsequent manipulation that much easier.

Private Attributes

-std::vector< typename EoType::Fitness > fitness
-

Detailed Description

-

template<class EoType>
- class eoDominanceMap< EoType >

- -eoDominanceMap, utility class to calculate and maintain a map (std::vector<std::vector<bool> >) of pareto dominance statistics. -

-It is set up such that

-if map[i][j] == true then i dominates j

-The dominance map can be used to perform pareto ranking (eoParetoRanking) or non dominated sorting. For the latter, the remove() member function might come in handy.

-

Todo:
make it an eoStat?
- -

- -

-Definition at line 47 of file eoDominanceMap.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EoType>
void eoDominanceMap< EoType >::setup const eoPop< EoType > &  _pop  )  [inline]
-
- - - - - -
-   - - -

-Create domination matrix from scratch. -

-Complexity O(N^2) -

-Definition at line 81 of file eoDominanceMap.h. -

-Referenced by eoDominanceMap< EOT >::operator()().

-

- - - - -
- - - - - - - - - - - -
-template<class EoType>
std::vector<double> eoDominanceMap< EoType >::sum_dominators  )  const [inline]
-
- - - - - -
-   - - -

-For all elements, returns the no. -

-of elements that dominate the element Thus: lower is better (and 0 is the front). It returns a std::vector<double> cuz that makes subsequent manipulation that much easier -

-Definition at line 118 of file eoDominanceMap.h. -

-Referenced by eoParetoRanking< EOT >::calculate_worths().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:46 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_dominance_map.png b/trunk/paradiseo-eo/doc/html/classeo_dominance_map.png deleted file mode 100644 index 61be94334..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_dominance_map.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_double_exchange-members.html b/trunk/paradiseo-eo/doc/html/classeo_double_exchange-members.html deleted file mode 100644 index 4f581e641..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_double_exchange-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoDoubleExchange Member List

This is the complete list of members for eoDoubleExchange, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< double >)eoOp< double >
className() const eoDoubleExchange [inline, virtual]
eoBinOp()eoBinOp< double > [inline]
eoDoubleExchange()eoDoubleExchange [inline]
eoOp(OpType _type)eoOp< double > [inline]
eoOp(const eoOp &_eop)eoOp< double > [inline]
functor_category()eoBF< double &, const double &, bool > [inline, static]
general enum value (defined in eoOp< double >)eoOp< double >
getType() const eoOp< double > [inline]
operator()(double &r1, const double &r2)eoDoubleExchange [inline, virtual]
quadratic enum value (defined in eoOp< double >)eoOp< double >
unary enum value (defined in eoOp< double >)eoOp< double >
~eoBF()eoBF< double &, const double &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< double > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_double_exchange.html b/trunk/paradiseo-eo/doc/html/classeo_double_exchange.html deleted file mode 100644 index 0a1b2e7b3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_double_exchange.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: eoDoubleExchange Class Reference - - - - -

eoDoubleExchange Class Reference

Discrete crossover == exchange of values. -More... -

-#include <eoRealAtomXover.h> -

-

Inheritance diagram for eoDoubleExchange: -

- -eoBinOp< double > -eoOp< double > -eoBF< double &, const double &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoDoubleExchange ()
 (Default) Constructor.
-virtual std::string className () const
 The class name. Used to display statistics.
-bool operator() (double &r1, const double &r2)
 Exchanges or not the values.
-

Detailed Description

-Discrete crossover == exchange of values. -

- -

-Definition at line 41 of file eoRealAtomXover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_double_exchange.png b/trunk/paradiseo-eo/doc/html/classeo_double_exchange.png deleted file mode 100644 index a22becb42..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_double_exchange.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_double_intermediate-members.html b/trunk/paradiseo-eo/doc/html/classeo_double_intermediate-members.html deleted file mode 100644 index 49877e12c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_double_intermediate-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoDoubleIntermediate Member List

This is the complete list of members for eoDoubleIntermediate, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< double >)eoOp< double >
className() const eoDoubleIntermediate [inline, virtual]
eoBinOp()eoBinOp< double > [inline]
eoDoubleIntermediate()eoDoubleIntermediate [inline]
eoOp(OpType _type)eoOp< double > [inline]
eoOp(const eoOp &_eop)eoOp< double > [inline]
functor_category()eoBF< double &, const double &, bool > [inline, static]
general enum value (defined in eoOp< double >)eoOp< double >
getType() const eoOp< double > [inline]
operator()(double &r1, const double &r2)eoDoubleIntermediate [inline, virtual]
quadratic enum value (defined in eoOp< double >)eoOp< double >
unary enum value (defined in eoOp< double >)eoOp< double >
~eoBF()eoBF< double &, const double &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< double > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_double_intermediate.html b/trunk/paradiseo-eo/doc/html/classeo_double_intermediate.html deleted file mode 100644 index b467a2ba2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_double_intermediate.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: eoDoubleIntermediate Class Reference - - - - -

eoDoubleIntermediate Class Reference

Intermediate crossover == linear combination. -More... -

-#include <eoRealAtomXover.h> -

-

Inheritance diagram for eoDoubleIntermediate: -

- -eoBinOp< double > -eoOp< double > -eoBF< double &, const double &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoDoubleIntermediate ()
 (Default) Constructor.
-virtual std::string className () const
 The class name. Used to display statistics.
-bool operator() (double &r1, const double &r2)
 Linear combination of both parents.
-

Detailed Description

-Intermediate crossover == linear combination. -

- -

-Definition at line 71 of file eoRealAtomXover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_double_intermediate.png b/trunk/paradiseo-eo/doc/html/classeo_double_intermediate.png deleted file mode 100644 index 2650f53b2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_double_intermediate.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_drawable-members.html b/trunk/paradiseo-eo/doc/html/classeo_drawable-members.html deleted file mode 100644 index be8700190..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_drawable-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoDrawable< Object > Member List

This is the complete list of members for eoDrawable< Object >, including all inherited members.

- - - - -
draw(unsigned _x, unsigned _y)=0eoDrawable< Object > [pure virtual]
eoDrawable(const Object &_o)eoDrawable< Object > [inline]
eoDrawable(const eoDrawable &_d)eoDrawable< Object > [inline]
~eoDrawable()eoDrawable< Object > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_drawable.html b/trunk/paradiseo-eo/doc/html/classeo_drawable.html deleted file mode 100644 index 1b799733e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_drawable.html +++ /dev/null @@ -1,99 +0,0 @@ - - -EO: eoDrawable< Object > Class Template Reference - - - - -

eoDrawable< Object > Class Template Reference

eoDrawable is a template class that adds a drawing interface to an object.\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. -More... -

-#include <eoDrawable.h> -

-List of all members. - - - - - - - - - - - - - - -

Public Member Functions

eoDrawable (const Object &_o)
 Main ctor from an already built Object.
eoDrawable (const eoDrawable &_d)
 Copy constructor.
-virtual ~eoDrawable ()
 Virtual dtor. They are needed in virtual class hierarchies.
virtual void draw (unsigned _x, unsigned _y)=0
 Draws the object.
-


Detailed Description

-

template<class Object>
- class eoDrawable< Object >

- -eoDrawable is a template class that adds a drawing interface to an object.\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. -

-The Object must be an eoObject, thus, it must have its methods: className, eoDrawables can be drawn on any two-dimensional surface; it can be added to any object with above characteristics.

See also:
eoObject
- -

- -

-Definition at line 44 of file eoDrawable.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class Object>
virtual void eoDrawable< Object >::draw unsigned  _x,
unsigned  _y
[pure virtual]
-
- - - - - -
-   - - -

-Draws the object. -

-It must be redefined in any subclass, it´s impossible to have a general drawing method

Parameters:
- - -
_x,_y coorinates
-
-
-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform-members.html b/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform-members.html deleted file mode 100644 index b8f051aa5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

eoDynSGATransform< EOT > Member List

This is the complete list of members for eoDynSGATransform< EOT >, including all inherited members.

- - - - - - - - - - - - - - -
cross (defined in eoDynSGATransform< EOT >)eoDynSGATransform< EOT > [private]
crossoverProba (defined in eoDynSGATransform< EOT >)eoDynSGATransform< EOT > [private]
crossoverProbaHolder (defined in eoDynSGATransform< EOT >)eoDynSGATransform< EOT > [private]
eoDynSGATransform(eoQuadOp< EOT > &_cross, double _cProba, eoMonOp< EOT > &_mutate, double _mProba)eoDynSGATransform< EOT > [inline]
eoDynSGATransform(eoQuadOp< EOT > &_cross, double *_cProbaRef, eoMonOp< EOT > &_mutate, double *_mProbaRef)eoDynSGATransform< EOT > [inline]
functor_category()eoUF< eoPop< EOT > &, void > [inline, static]
mutate (defined in eoDynSGATransform< EOT >)eoDynSGATransform< EOT > [private]
mutationProba (defined in eoDynSGATransform< EOT >)eoDynSGATransform< EOT > [private]
mutationProbaHolder (defined in eoDynSGATransform< EOT >)eoDynSGATransform< EOT > [private]
operator()(eoPop< EOT > &_pop)eoDynSGATransform< EOT > [inline, virtual]
PCrossHandle() (defined in eoDynSGATransform< EOT >)eoDynSGATransform< EOT > [inline]
PMutHandle() (defined in eoDynSGATransform< EOT >)eoDynSGATransform< EOT > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform.html b/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform.html deleted file mode 100644 index dfc9fbee7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform.html +++ /dev/null @@ -1,123 +0,0 @@ - - -EO: eoDynSGATransform< EOT > Class Template Reference - - - - -

eoDynSGATransform< EOT > Class Template Reference

eoDynSGATransform: transforms a population using genetic operators. -More... -

-#include <eoSGATransform.h> -

-

Inheritance diagram for eoDynSGATransform< EOT >: -

- -eoTransform< EOT > -eoUF< eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoDynSGATransform (eoQuadOp< EOT > &_cross, double _cProba, eoMonOp< EOT > &_mutate, double _mProba)
 Default constructor - receives values.
eoDynSGATransform (eoQuadOp< EOT > &_cross, double *_cProbaRef, eoMonOp< EOT > &_mutate, double *_mProbaRef)
 This constructor receives pointers.
void operator() (eoPop< EOT > &_pop)
 Transforms a population.
-double & PCrossHandle ()
-double & PMutHandle ()

Private Attributes

-eoInvalidateQuadOp< EOTcross
-double crossoverProbaHolder
-double & crossoverProba
-eoInvalidateMonOp< EOTmutate
-double mutationProbaHolder
-double & mutationProba
-

Detailed Description

-

template<class EOT>
- class eoDynSGATransform< EOT >

- -eoDynSGATransform: transforms a population using genetic operators. -

-It is the Dynamic version of the above eoSGATransform i.e. the operators probabilities can be passed as an eoValueParam, and hence can be modified from outside It is here mainly for tutorial reasons -

- -

-Definition at line 98 of file eoSGATransform.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoDynSGATransform< EOT >::operator() eoPop< EOT > &  _pop  )  [inline, virtual]
-
- - - - - -
-   - - -

-Transforms a population. -

-

Parameters:
- - -
pop The population to be transformed.
-
- -

-Implements eoUF< eoPop< EOT > &, void >. -

-Definition at line 125 of file eoSGATransform.h. -

-References eoRng::flip().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform.png b/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform.png deleted file mode 100644 index d6c7cbeca..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_dyn_s_g_a_transform.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_dyn_updater-members.html b/trunk/paradiseo-eo/doc/html/classeo_dyn_updater-members.html deleted file mode 100644 index f1a86301a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_dyn_updater-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoDynUpdater Member List

This is the complete list of members for eoDynUpdater, including all inherited members.

- - - - - - - - - -
className(void) const (defined in eoUpdater)eoUpdater [inline, virtual]
eoDynUpdater(eoUpdatable &_toUpdate) (defined in eoDynUpdater)eoDynUpdater [inline]
functor_category()eoF< void > [inline, static]
lastCall() (defined in eoUpdater)eoUpdater [inline, virtual]
operator()()eoDynUpdater [inline, virtual]
result_type typedefeoF< void >
toUpdate (defined in eoDynUpdater)eoDynUpdater [private]
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_dyn_updater.html b/trunk/paradiseo-eo/doc/html/classeo_dyn_updater.html deleted file mode 100644 index a49265de1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_dyn_updater.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: eoDynUpdater Class Reference - - - - -

eoDynUpdater Class Reference

A base class to actually update an eoUpdatable object. -More... -

-#include <eoUpdatable.h> -

-

Inheritance diagram for eoDynUpdater: -

- -eoUpdater -eoF< void > -eoFunctorBase -eoCountedDynUpdate -eoTimedDynUpdate - -List of all members. - - - - - - - - - - -

Public Member Functions

eoDynUpdater (eoUpdatable &_toUpdate)
-virtual void operator() ()
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoUpdatabletoUpdate
-

Detailed Description

-A base class to actually update an eoUpdatable object. -

- -

-Definition at line 51 of file eoUpdatable.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_dyn_updater.png b/trunk/paradiseo-eo/doc/html/classeo_dyn_updater.png deleted file mode 100644 index fbe4e3a81..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_dyn_updater.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_d_a-members.html b/trunk/paradiseo-eo/doc/html/classeo_e_d_a-members.html deleted file mode 100644 index 84db385fb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_e_d_a-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoEDA< EOT > Member List

This is the complete list of members for eoEDA< EOT >, including all inherited members.

- - - - -
functor_category()eoUF< eoDistribution< EOT > &, void > [inline, static]
operator()(eoDistribution< EOT > &)=0eoUF< eoDistribution< EOT > &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoDistribution< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_d_a.html b/trunk/paradiseo-eo/doc/html/classeo_e_d_a.html deleted file mode 100644 index 9f2f38559..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_e_d_a.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: eoEDA< EOT > Class Template Reference - - - - -

eoEDA< EOT > Class Template Reference

eoEDA: Estimation of Distribution Algorithm within EO -More... -

-#include <eoEDA.h> -

-

Inheritance diagram for eoEDA< EOT >: -

- -eoUF< eoDistribution< EOT > &, void > -eoFunctorBase -eoSimpleEDA< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoEDA< EOT >

- -eoEDA: Estimation of Distribution Algorithm within EO -

-The abstract class for algorithms that evolve a probability distribution on the spaces of populations rather than a population

-It IS NOT an eoAlgo, as it evolves a distribution, not a population -

- -

-Definition at line 41 of file eoEDA.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_d_a.png b/trunk/paradiseo-eo/doc/html/classeo_e_d_a.png deleted file mode 100644 index 44c527af9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_e_d_a.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce-members.html b/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce-members.html deleted file mode 100644 index 02e3bd417..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoEPReduce< EOT > Member List

This is the complete list of members for eoEPReduce< EOT >, including all inherited members.

- - - - - - - - -
eoEPReduce(unsigned _t_size) (defined in eoEPReduce< EOT >)eoEPReduce< EOT > [inline]
EPpair typedefeoEPReduce< EOT >
Fitness typedef (defined in eoEPReduce< EOT >)eoEPReduce< EOT >
functor_category()eoBF< eoPop< EOT > &, unsigned, void > [inline, static]
operator()(eoPop< EOT > &_newgen, unsigned _newsize)eoEPReduce< EOT > [inline, virtual]
t_size (defined in eoEPReduce< EOT >)eoEPReduce< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, unsigned, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce.html b/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce.html deleted file mode 100644 index 989785c95..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoEPReduce< EOT > Class Template Reference - - - - -

eoEPReduce< EOT > Class Template Reference

EP truncation method (some global stochastic tournament + sort) Softer selective pressure than pure truncate. -More... -

-#include <eoReduce.h> -

-

Inheritance diagram for eoEPReduce< EOT >: -

- -eoReduce< EOT > -eoBF< eoPop< EOT > &, unsigned, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness
-typedef std::pair< float,
- typename eoPop< EOT >::iterator > 
EPpair
 helper struct for comparing on std::pairs

Public Member Functions

eoEPReduce (unsigned _t_size)
-void operator() (eoPop< EOT > &_newgen, unsigned _newsize)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned t_size
-

Detailed Description

-

template<class EOT>
- class eoEPReduce< EOT >

- -EP truncation method (some global stochastic tournament + sort) Softer selective pressure than pure truncate. -

- -

-Definition at line 83 of file eoReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce.png b/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce.png deleted file mode 100644 index 18358d4e3..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_e_p_reduce.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement-members.html deleted file mode 100644 index 9648be55c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoEPReplacement< EOT > Member List

This is the complete list of members for eoEPReplacement< EOT >, including all inherited members.

- - - - - - - - -
eoEPReplacement(int _tSize) (defined in eoEPReplacement< EOT >)eoEPReplacement< EOT > [inline]
eoMergeReduce(eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce) (defined in eoMergeReduce< EOT >)eoMergeReduce< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoMergeReduce< EOT > [inline, virtual]
plus (defined in eoEPReplacement< EOT >)eoEPReplacement< EOT > [private]
truncate (defined in eoEPReplacement< EOT >)eoEPReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement.html deleted file mode 100644 index 3a0a09d6e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoEPReplacement< EOT > Class Template Reference - - - - -

eoEPReplacement< EOT > Class Template Reference

EP type of replacement strategy: first add parents to population, then truncate using EP tournament. -More... -

-#include <eoMergeReduce.h> -

-

Inheritance diagram for eoEPReplacement< EOT >: -

- -eoMergeReduce< EOT > -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - -

Public Member Functions

eoEPReplacement (int _tSize)

Private Attributes

-eoPlus< EOTplus
-eoEPReduce< EOTtruncate
-

Detailed Description

-

template<class EOT>
- class eoEPReplacement< EOT >

- -EP type of replacement strategy: first add parents to population, then truncate using EP tournament. -

- -

-Definition at line 102 of file eoMergeReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement.png deleted file mode 100644 index 29ef2a771..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_e_p_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_easy_e_a-members.html b/trunk/paradiseo-eo/doc/html/classeo_easy_e_a-members.html deleted file mode 100644 index 486c2fa05..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_easy_e_a-members.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Member List - - - - -

eoEasyEA< EOT > Member List

This is the complete list of members for eoEasyEA< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
breed (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
continuator (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
dummyEval (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
dummyMerge (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
dummyReduce (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
dummySelect (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
dummyTransform (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
eoDistEvalEasyEA<EOT> (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [friend]
eoEasyEA(eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoReplacement< EOT > &_replace)eoEasyEA< EOT > [inline]
eoEasyEA(eoContinue< EOT > &_continuator, eoPopEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoReplacement< EOT > &_replace)eoEasyEA< EOT > [inline]
eoEasyEA(eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce)eoEasyEA< EOT > [inline]
eoEasyEA(eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoSelect< EOT > &_select, eoTransform< EOT > &_transform, eoReplacement< EOT > &_replace)eoEasyEA< EOT > [inline]
eoEasyEA(eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoSelect< EOT > &_select, eoTransform< EOT > &_transform, eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce)eoEasyEA< EOT > [inline]
eoIslandsEasyEA<EOT> (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [friend]
eval (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
functor_category()eoUF< eoPop< EOT > &, void > [inline, static]
loopEval (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
mergeReduce (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
operator()(eoPop< EOT > &_pop)eoEasyEA< EOT > [inline, virtual]
popEval (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
replace (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
selectTransform (defined in eoEasyEA< EOT >)eoEasyEA< EOT > [protected]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_easy_e_a.html b/trunk/paradiseo-eo/doc/html/classeo_easy_e_a.html deleted file mode 100644 index 82d90de72..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_easy_e_a.html +++ /dev/null @@ -1,113 +0,0 @@ - - -EO: eoEasyEA< EOT > Class Template Reference - - - - -

eoEasyEA< EOT > Class Template Reference

An easy-to-use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-algorithms. -More... -

-#include <eoEasyEA.h> -

-

Inheritance diagram for eoEasyEA< EOT >: -

- -eoAlgo< EOT > -eoUF< eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoEasyEA (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoReplacement< EOT > &_replace)
 Ctor taking a breed and merge.
eoEasyEA (eoContinue< EOT > &_continuator, eoPopEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoReplacement< EOT > &_replace)
 NEW Ctor taking a breed and merge and an eoPopEval.
eoEasyEA (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoBreed< EOT > &_breed, eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce)
 Ctor eoBreed, eoMerge and eoReduce.
eoEasyEA (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoSelect< EOT > &_select, eoTransform< EOT > &_transform, eoReplacement< EOT > &_replace)
 Ctor eoSelect, eoTransform, and eoReplacement.
eoEasyEA (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoSelect< EOT > &_select, eoTransform< EOT > &_transform, eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce)
 Ctor eoSelect, eoTransform, eoMerge and eoReduce.
-virtual void operator() (eoPop< EOT > &_pop)
 Apply a few generation of evolution to the population.

Protected Attributes

-eoEasyEA::eoDummySelect dummySelect
-eoEasyEA::eoDummyTransform dummyTransform
-eoEasyEA::eoDummyEval dummyEval
-eoContinue< EOT > & continuator
-eoEvalFunc< EOT > & eval
-eoPopLoopEval< EOTloopEval
-eoPopEvalFunc< EOT > & popEval
-eoSelectTransform< EOTselectTransform
-eoBreed< EOT > & breed
-eoNoElitism< EOTdummyMerge
-eoTruncate< EOTdummyReduce
-eoMergeReduce< EOTmergeReduce
-eoReplacement< EOT > & replace

Friends

-class eoIslandsEasyEA<EOT>
-class eoDistEvalEasyEA<EOT>
-

Detailed Description

-

template<class EOT>
- class eoEasyEA< EOT >

- -An easy-to-use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-algorithms. -

-Change (MS, July 3. 2001): Replaced the eoEvalFunc by an eoPopEvalFunc: this immediately allows many useful constructs, such as co-evolution (e.g. game players), parisian approach (the solution to the problem is the whole population) or simple distribution of evaluations on a cluster. In case an eoEvalFunc is passed, it is embedded on an eoPopLoopEval This makes things a little uglier (required an additional "dummy" member

-Note: it looks ugly only because we wanted to authorize many different constructors. Please only look at the operator() and there shall be light -

- -

-Definition at line 63 of file eoEasyEA.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_easy_e_a.png b/trunk/paradiseo-eo/doc/html/classeo_easy_e_a.png deleted file mode 100644 index 530ecd395..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_easy_e_a.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select-members.html deleted file mode 100644 index 31ded276f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoEliteSequentialSelect< EOT > Member List

This is the complete list of members for eoEliteSequentialSelect< EOT >, including all inherited members.

- - - - - - - - -
current (defined in eoEliteSequentialSelect< EOT >)eoEliteSequentialSelect< EOT > [private]
eoEliteSequentialSelect()eoEliteSequentialSelect< EOT > [inline]
eoPters (defined in eoEliteSequentialSelect< EOT >)eoEliteSequentialSelect< EOT > [private]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoEliteSequentialSelect< EOT > [inline, virtual]
setup(const eoPop< EOT > &_pop)eoEliteSequentialSelect< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select.html b/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select.html deleted file mode 100644 index c655322e0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select.html +++ /dev/null @@ -1,61 +0,0 @@ - - -EO: eoEliteSequentialSelect< EOT > Class Template Reference - - - - -

eoEliteSequentialSelect< EOT > Class Template Reference

All Individuals in order. -More... -

-#include <eoSequentialSelect.h> -

-

Inheritance diagram for eoEliteSequentialSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

eoEliteSequentialSelect ()
 Ctor: sets the current pter to numeric_limits<unsigned>::max() so init will take place first time not very elegant, maybe ...
-void setup (const eoPop< EOT > &_pop)
 virtual function to setup some population stats (for instance eoProportional can benefit greatly from this)
-virtual const EOToperator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned current
-std::vector< const EOT * > eoPters
-

Detailed Description

-

template<class EOT>
- class eoEliteSequentialSelect< EOT >

- -All Individuals in order. -

-The best individual first, then the others in sequence (random order). for G3 evolution engine, see Deb, Anad and Joshi, CEC 2002

-As eoSequentialSelect, it is an eoSelectOne to be used within the eoEaseyEA algo, but conceptually it should be a global eoSelect, as it selects a bunch of guys in one go (done in the setup function now) -

- -

-Definition at line 97 of file eoSequentialSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select.png b/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select.png deleted file mode 100644 index cb082ab54..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_elite_sequential_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_elitism-members.html b/trunk/paradiseo-eo/doc/html/classeo_elitism-members.html deleted file mode 100644 index 324cc5420..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_elitism-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoElitism< EOT > Member List

This is the complete list of members for eoElitism< EOT >, including all inherited members.

- - - - - - - -
combien (defined in eoElitism< EOT >)eoElitism< EOT > [private]
eoElitism(double _rate, bool _interpret_as_rate=true) (defined in eoElitism< EOT >)eoElitism< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(const eoPop< EOT > &_pop, eoPop< EOT > &_offspring)eoElitism< EOT > [inline, virtual]
rate (defined in eoElitism< EOT >)eoElitism< EOT > [private]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_elitism.html b/trunk/paradiseo-eo/doc/html/classeo_elitism.html deleted file mode 100644 index 166ddbac8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_elitism.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoElitism< EOT > Class Template Reference - - - - -

eoElitism< EOT > Class Template Reference

Straightforward elitism class, specify the number of individuals to copy into new geneneration or the rate w.r.t. -More... -

-#include <eoMerge.h> -

-

Inheritance diagram for eoElitism< EOT >: -

- -eoMerge< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoNoElitism< EOT > - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoElitism (double _rate, bool _interpret_as_rate=true)
-void operator() (const eoPop< EOT > &_pop, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-double rate
-unsigned combien
-

Detailed Description

-

template<class EOT>
- class eoElitism< EOT >

- -Straightforward elitism class, specify the number of individuals to copy into new geneneration or the rate w.r.t. -

-pop size -

- -

-Definition at line 55 of file eoMerge.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_elitism.png b/trunk/paradiseo-eo/doc/html/classeo_elitism.png deleted file mode 100644 index 6d0b9f86c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_elitism.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init-members.html deleted file mode 100644 index c5f074c6c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoEsChromInit< EOT > Member List

This is the complete list of members for eoEsChromInit< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - -
className(void) const eoInit< EOT > [inline, virtual]
create_self_adapt(eoReal< FitT > &)eoEsChromInit< EOT > [inline, private]
create_self_adapt(eoEsSimple< FitT > &result)eoEsChromInit< EOT > [inline, private]
create_self_adapt(eoEsStdev< FitT > &result)eoEsChromInit< EOT > [inline, private]
create_self_adapt(eoEsFull< FitT > &result)eoEsChromInit< EOT > [inline, private]
eoEsChromInit(eoRealVectorBounds &_bounds, double _sigma=0.3, bool _to_scale=false)eoEsChromInit< EOT > [inline]
eoEsChromInit(eoRealVectorBounds &_bounds, std::vector< double > _vecSigma)eoEsChromInit< EOT > [inline]
eoRealInitBounded(eoRealVectorBounds &_bounds)eoRealInitBounded< EOT > [inline]
FitT typedef (defined in eoEsChromInit< EOT >)eoEsChromInit< EOT >
functor_category()eoUF< EOT &, void > [inline, static]
operator()(EOT &_eo)eoEsChromInit< EOT > [inline, virtual]
size() (defined in eoRealInitBounded< EOT >)eoRealInitBounded< EOT > [inline, virtual]
theBounds()eoRealInitBounded< EOT > [inline, virtual]
uniqueSigmaeoEsChromInit< EOT > [private]
vecSigmaeoEsChromInit< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init.html b/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init.html deleted file mode 100644 index 02ee7f916..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init.html +++ /dev/null @@ -1,360 +0,0 @@ - - -EO: eoEsChromInit< EOT > Class Template Reference - - - - -

eoEsChromInit< EOT > Class Template Reference
- -[EvolutionStrategies] -

Random Es-chromosome initializer (therefore derived from eoInit). -More... -

-#include <eoEsChromInit.h> -

-

Inheritance diagram for eoEsChromInit< EOT >: -

- -eoRealInitBounded< EOT > -eoInit< EOT > -eoUF< EOT &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness FitT

Public Member Functions

 eoEsChromInit (eoRealVectorBounds &_bounds, double _sigma=0.3, bool _to_scale=false)
 Constructor.
 eoEsChromInit (eoRealVectorBounds &_bounds, std::vector< double > _vecSigma)
 Constructor.
-void operator() (EOT &_eo)
 simply passes the argument to the uniform method of the bounds

Private Member Functions

void create_self_adapt (eoReal< FitT > &)
 Create intializer.
void create_self_adapt (eoEsSimple< FitT > &result)
 Create intializer.
void create_self_adapt (eoEsStdev< FitT > &result)
 Create intializer.
void create_self_adapt (eoEsFull< FitT > &result)
 Create intializer.

Private Attributes

-double uniqueSigma
 Initial value in case of a unique sigma.
-std::vector< double > vecSigma
 Initial values in case of a vector of sigmas.
-

Detailed Description

-

template<class EOT>
- class eoEsChromInit< EOT >

- -Random Es-chromosome initializer (therefore derived from eoInit). -

-This class can initialize four types of real-valued genotypes thanks to tempate specialization of private method create:

-

    -
  • eoReal just an eoVector<double>
  • eoEsSimple + one self-adapting single sigma for all variables
  • eoEsStdev a whole std::vector of self-adapting sigmas
  • eoEsFull a full self-adapting correlation matrix
-

-

See also:
eoReal eoEsSimple eoEsStdev eoEsFull eoInit
- -

- -

-Definition at line 55 of file eoEsChromInit.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoEsChromInit< EOT >::eoEsChromInit eoRealVectorBounds _bounds,
double  _sigma = 0.3,
bool  _to_scale = false
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - - - -
_bounds bounds for uniform initialization
_sigma initial value for the stddev
_to_scale wether sigma should be multiplied by the range of each variable added December 2004 - MS (together with the whole comment :-)
-
- -

-Definition at line 71 of file eoEsChromInit.h. -

-References eoRealBaseVectorBounds::range(), eoRealInitBounded< EOT >::theBounds(), eoEsChromInit< EOT >::uniqueSigma, and eoEsChromInit< EOT >::vecSigma.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoEsChromInit< EOT >::eoEsChromInit eoRealVectorBounds _bounds,
std::vector< double >  _vecSigma
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

-Specify individual initial sigmas for each variable.

-

Parameters:
- - - -
_bounds bounds for uniform initialization
_sigma initial value for the stddev
-
- -

-Definition at line 109 of file eoEsChromInit.h. -

-References eoEsChromInit< EOT >::uniqueSigma, and eoEsChromInit< EOT >::vecSigma.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoEsChromInit< EOT >::create_self_adapt eoReal< FitT > &   )  [inline, private]
-
- - - - - -
-   - - -

-Create intializer. -

-No adaptive mutation at all -

-Definition at line 128 of file eoEsChromInit.h. -

-Referenced by eoEsChromInit< EOT >::operator()().

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoEsChromInit< EOT >::create_self_adapt eoEsSimple< FitT > &  result  )  [inline, private]
-
- - - - - -
-   - - -

-Create intializer. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

-Adaptive mutation through a unique sigma -

-Definition at line 139 of file eoEsChromInit.h. -

-References eoEsSimple< Fit >::stdev.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoEsChromInit< EOT >::create_self_adapt eoEsStdev< FitT > &  result  )  [inline, private]
-
- - - - - -
-   - - -

-Create intializer. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

-Adaptive mutation through a std::vector of sigmas

-

Todo:
Should we scale sigmas to the corresponding object variable range?
- -

-Definition at line 155 of file eoEsChromInit.h. -

-References eoEsStdev< Fit >::stdevs.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoEsChromInit< EOT >::create_self_adapt eoEsFull< FitT > &  result  )  [inline, private]
-
- - - - - -
-   - - -

-Create intializer. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

-Adaptive mutation through a whole correlation matrix -

-Definition at line 169 of file eoEsChromInit.h. -

-References eoEsFull< Fit >::correlations, eoEsFull< Fit >::stdevs, and eoRng::uniform().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init.png b/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init.png deleted file mode 100644 index 34b23a48c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_es_chrom_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_full-members.html b/trunk/paradiseo-eo/doc/html/classeo_es_full-members.html deleted file mode 100644 index d31c6dca1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_full-members.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: Member List - - - - -

eoEsFull< Fit > Member List

This is the complete list of members for eoEsFull< Fit >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVector< Fit, double >)eoVector< Fit, double >
className(void) const eoEsFull< Fit > [inline, virtual]
ContainerType typedef (defined in eoVector< Fit, double >)eoVector< Fit, double >
correlations (defined in eoEsFull< Fit >)eoEsFull< Fit >
EO()EO< Fit > [inline]
EO() (defined in EO< Fit >)EO< Fit > [inline]
eoEsFull(void) (defined in eoEsFull< Fit >)eoEsFull< Fit > [inline]
eoVector(unsigned size=0, doublevalue=double())eoVector< Fit, double > [inline]
eoVector(const eoVector< OtherFitnessType, double > &_vec)eoVector< Fit, double > [inline]
Fitness typedef (defined in EO< Fit >)EO< Fit >
fitness() const EO< Fit > [inline]
fitness(const Fitness &_fitness)EO< Fit > [inline]
fitness(performance_type perf) (defined in EO< Fit >)EO< Fit > [inline]
fitness(void) const (defined in EO< Fit >)EO< Fit > [inline]
fitness_traits typedef (defined in EO< Fit >)EO< Fit >
invalid() const EO< Fit > [inline]
invalidate() (defined in EO< Fit >)EO< Fit > [inline]
invalidate(void) (defined in EO< Fit >)EO< Fit > [inline]
invalidate_worth(void) (defined in EO< Fit >)EO< Fit > [inline]
operator<(const eoVector< Fit, double > &_eo) const eoVector< Fit, double > [inline]
EO< Fit >::operator<(const EO &_eo2) const EO< Fit > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< Fit >)EO< Fit > [inline]
operator>(const EO &_eo2) const (defined in EO< Fit >)EO< Fit > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< Fit >)EO< Fit > [inline]
performance(performance_type perf) (defined in EO< Fit >)EO< Fit > [inline]
performance(void) const (defined in EO< Fit >)EO< Fit > [inline]
performance_type typedef (defined in EO< Fit >)EO< Fit >
printOn(std::ostream &os) const eoEsFull< Fit > [inline, virtual]
readFrom(std::istream &is)eoEsFull< Fit > [inline, virtual]
stdevs (defined in eoEsFull< Fit >)eoEsFull< Fit >
storage_type typedef (defined in EO< Fit >)EO< Fit >
Type typedef (defined in eoEsFull< Fit >)eoEsFull< Fit >
value(const std::vector< double > &_v) (defined in eoVector< Fit, double >)eoVector< Fit, double > [inline]
worth(worth_type worth) (defined in EO< Fit >)EO< Fit > [inline]
worth(void) const (defined in EO< Fit >)EO< Fit > [inline]
worth_type typedef (defined in EO< Fit >)EO< Fit >
~EO()EO< Fit > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_full.html b/trunk/paradiseo-eo/doc/html/classeo_es_full.html deleted file mode 100644 index 9f1defd07..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_full.html +++ /dev/null @@ -1,108 +0,0 @@ - - -EO: eoEsFull< Fit > Class Template Reference - - - - -

eoEsFull< Fit > Class Template Reference
- -[EvolutionStrategies] -

The most complex evolutionary strategy representation. -More... -

-#include <eoEsFull.h> -

-

Inheritance diagram for eoEsFull< Fit >: -

- -eoVector< Fit, double > -EO< Fit > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef double Type

Public Member Functions

virtual std::string className (void) const
 Return the class id.
-void printOn (std::ostream &os) const
 printing...
-void readFrom (std::istream &is)
 reading...

Public Attributes

-std::vector< double > stdevs
-std::vector< double > correlations
-

Detailed Description

-

template<class Fit>
- class eoEsFull< Fit >

- -The most complex evolutionary strategy representation. -

-Co-evolving mutation rates and correlated mutations. -

- -

-Definition at line 40 of file eoEsFull.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Fit>
virtual std::string eoEsFull< Fit >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Return the class id. -

-

Returns:
the class name as a std::string
- -

-Reimplemented from EO< Fit >. -

-Definition at line 51 of file eoEsFull.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_full.png b/trunk/paradiseo-eo/doc/html/classeo_es_full.png deleted file mode 100644 index 32a80230a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_es_full.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_global_xover-members.html b/trunk/paradiseo-eo/doc/html/classeo_es_global_xover-members.html deleted file mode 100644 index 707874d13..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_global_xover-members.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Member List - - - - -

eoEsGlobalXover< EOT > Member List

This is the complete list of members for eoEsGlobalXover< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
apply(eoPopulator< EOT > &_plop)eoEsGlobalXover< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoEsGlobalXover< EOT > [inline, virtual]
cross_self_adapt(eoEsSimple< FitT > &_parent, const eoPop< eoEsSimple< FitT > > &_pop)eoEsGlobalXover< EOT > [inline, private]
cross_self_adapt(eoEsStdev< FitT > &_parent, const eoPop< eoEsStdev< FitT > > &_pop)eoEsGlobalXover< EOT > [inline, private]
cross_self_adapt(eoEsFull< FitT > &_parent, const eoPop< eoEsFull< FitT > > &_pop)eoEsGlobalXover< EOT > [inline, private]
crossMut (defined in eoEsGlobalXover< EOT >)eoEsGlobalXover< EOT > [private]
crossObj (defined in eoEsGlobalXover< EOT >)eoEsGlobalXover< EOT > [private]
eoEsGlobalXover(eoBinOp< double > &_crossObj, eoBinOp< double > &_crossMut)eoEsGlobalXover< EOT > [inline]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
FitT typedef (defined in eoEsGlobalXover< EOT >)eoEsGlobalXover< EOT >
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoEsGlobalXover< EOT > [inline, virtual]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
sel (defined in eoEsGlobalXover< EOT >)eoEsGlobalXover< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_global_xover.html b/trunk/paradiseo-eo/doc/html/classeo_es_global_xover.html deleted file mode 100644 index 0fbbc1b89..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_global_xover.html +++ /dev/null @@ -1,270 +0,0 @@ - - -EO: eoEsGlobalXover< EOT > Class Template Reference - - - - -

eoEsGlobalXover< EOT > Class Template Reference

Gloabl crossover operator for ES genotypes. -More... -

-#include <eoEsGlobalXover.h> -

-

Inheritance diagram for eoEsGlobalXover< EOT >: -

- -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness FitT

Public Member Functions

eoEsGlobalXover (eoBinOp< double > &_crossObj, eoBinOp< double > &_crossMut)
 (Default) Constructor.
-virtual std::string className () const
 The class name. Used to display statistics.
-unsigned max_production (void)
 The TOTAL number of offspring (here = nb of parents modified in place).
void apply (eoPopulator< EOT > &_plop)
 modifies one parents in the populator using 2 new parents for each component!

Private Member Functions

void cross_self_adapt (eoEsSimple< FitT > &_parent, const eoPop< eoEsSimple< FitT > > &_pop)
 Method for cross self-adaptation parameters.
void cross_self_adapt (eoEsStdev< FitT > &_parent, const eoPop< eoEsStdev< FitT > > &_pop)
 Method for cross self-adaptation parameters.
void cross_self_adapt (eoEsFull< FitT > &_parent, const eoPop< eoEsFull< FitT > > &_pop)
 Method for cross self-adaptation parameters.

Private Attributes

-eoRandomSelect< EOTsel
-eoBinOp< double > & crossObj
-eoBinOp< double > & crossMut
-

Detailed Description

-

template<class EOT>
- class eoEsGlobalXover< EOT >

- -Gloabl crossover operator for ES genotypes. -

-Uses some Atom crossovers to handle both the object variables and the mutation strategy parameters -

- -

-Definition at line 44 of file eoEsGlobalXover.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoEsGlobalXover< EOT >::apply eoPopulator< EOT > &  _plop  )  [inline, virtual]
-
- - - - - -
-   - - -

-modifies one parents in the populator using 2 new parents for each component! -

-

Parameters:
- - -
_pop a POPULATOR (not a simple population)
-
- -

-Implements eoGenOp< EOT >. -

-Definition at line 67 of file eoEsGlobalXover.h. -

-References eoEsGlobalXover< EOT >::cross_self_adapt(), EO< F >::invalidate(), and eoPopulator< EOT >::source().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
void eoEsGlobalXover< EOT >::cross_self_adapt eoEsSimple< FitT > &  _parent,
const eoPop< eoEsSimple< FitT > > &  _pop
[inline, private]
-
- - - - - -
-   - - -

-Method for cross self-adaptation parameters. -

-Specialization for eoEsSimple. -

-Definition at line 94 of file eoEsGlobalXover.h. -

-References eoEsSimple< Fit >::stdev. -

-Referenced by eoEsGlobalXover< EOT >::apply().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
void eoEsGlobalXover< EOT >::cross_self_adapt eoEsStdev< FitT > &  _parent,
const eoPop< eoEsStdev< FitT > > &  _pop
[inline, private]
-
- - - - - -
-   - - -

-Method for cross self-adaptation parameters. -

-Specialization for eoEsStdev. -

-Definition at line 106 of file eoEsGlobalXover.h. -

-References eoEsStdev< Fit >::stdevs.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
void eoEsGlobalXover< EOT >::cross_self_adapt eoEsFull< FitT > &  _parent,
const eoPop< eoEsFull< FitT > > &  _pop
[inline, private]
-
- - - - - -
-   - - -

-Method for cross self-adaptation parameters. -

-Specialization for eoEsFull. -

-Definition at line 121 of file eoEsGlobalXover.h. -

-References eoEsFull< Fit >::correlations, and eoEsFull< Fit >::stdevs.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_global_xover.png b/trunk/paradiseo-eo/doc/html/classeo_es_global_xover.png deleted file mode 100644 index be4c08688..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_es_global_xover.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_mutate-members.html b/trunk/paradiseo-eo/doc/html/classeo_es_mutate-members.html deleted file mode 100644 index c95d82cbe..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_mutate-members.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: Member List - - - - -

eoEsMutate< EOT > Member List

This is the complete list of members for eoEsMutate< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
boundseoEsMutate< EOT > [private]
className() const eoEsMutate< EOT > [inline, virtual]
eoEsMutate(eoEsMutationInit &_init, eoRealVectorBounds &_bounds)eoEsMutate< EOT > [inline]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
FitT typedefeoEsMutate< EOT >
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
init(eoEsSimple< FitT >, eoEsMutationInit &_init)eoEsMutate< EOT > [inline, private]
init(eoEsStdev< FitT >, eoEsMutationInit &_init)eoEsMutate< EOT > [inline, private]
init(eoEsFull< FitT >, eoEsMutationInit &_init)eoEsMutate< EOT > [inline, private]
operator()(eoEsSimple< FitT > &_eo)eoEsMutate< EOT > [inline, virtual]
operator()(eoEsStdev< FitT > &_eo)eoEsMutate< EOT > [inline, virtual]
operator()(eoEsFull< FitT > &_eo)eoEsMutate< EOT > [inline, virtual]
eoMonOp< EOT >::operator()(EOT &)=0eoUF< EOT &, bool > [pure virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
stdev_epseoEsMutate< EOT > [private, static]
TauBetaeoEsMutate< EOT > [private]
TauGlbeoEsMutate< EOT > [private]
TauLcleoEsMutate< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoEsMutate()eoEsMutate< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_mutate.html b/trunk/paradiseo-eo/doc/html/classeo_es_mutate.html deleted file mode 100644 index 9355a7029..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_mutate.html +++ /dev/null @@ -1,465 +0,0 @@ - - -EO: eoEsMutate< EOT > Class Template Reference - - - - -

eoEsMutate< EOT > Class Template Reference
- -[EvolutionStrategies] -

ES-style mutation in the large. -More... -

-#include <eoEsMutate.h> -

-

Inheritance diagram for eoEsMutate< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness FitT
 Fitness-type.

Public Member Functions

 eoEsMutate (eoEsMutationInit &_init, eoRealVectorBounds &_bounds)
 Initialization.
-virtual ~eoEsMutate ()
 Virtual Destructor.
virtual std::string className () const
 Classname.
virtual bool operator() (eoEsSimple< FitT > &_eo)
 Mutate eoEsSimple.
virtual bool operator() (eoEsStdev< FitT > &_eo)
 Standard mutation in ES.
virtual bool operator() (eoEsFull< FitT > &_eo)
 Correlated mutations in ES.

Private Member Functions

-void init (eoEsSimple< FitT >, eoEsMutationInit &_init)
 Initialization of simple ES.
void init (eoEsStdev< FitT >, eoEsMutationInit &_init)
 Initialization of standard ES.
void init (eoEsFull< FitT >, eoEsMutationInit &_init)
 Initialization of full ES.

Private Attributes

-double TauLcl
 Local factor for mutation of std deviations.
-double TauGlb
 Global factor for mutation of std deviations.
-double TauBeta
 Factor for mutation of correlation parameters.
-eoRealVectorBoundsbounds
 Bounds of parameters.

Static Private Attributes

const double stdev_eps = 1.0e-40
 Minimum stdev.
-

Detailed Description

-

template<class EOT>
- class eoEsMutate< EOT >

- -ES-style mutation in the large. -

-Obviously, valid only for eoES*. It is currently valid for three types of ES chromosomes:

    -
  • eoEsSimple: Exactly one stdandard-deviation
  • eoEsStdev: As many standard deviations as object variables
  • eoEsFull: The whole guacemole: correlations, stdevs and object variables
-

-Each of these three variant has it's own operator() in eoEsMutate and intialization is also split into three cases (that share some commonalities) -

- -

-Definition at line 60 of file eoEsMutate.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoEsMutate< EOT >::eoEsMutate eoEsMutationInit _init,
eoRealVectorBounds _bounds
[inline]
-
- - - - - -
-   - - -

-Initialization. -

-

Parameters:
- - - -
_init Proxy class for initializating the three parameters eoEsMutate needs
_bounds Bounds for the objective variables
-
- -

-Definition at line 74 of file eoEsMutate.h. -

-References eoEsMutate< EOT >::bounds, and eoEsMutate< EOT >::init().

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual std::string eoEsMutate< EOT >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Classname. -

-Inherited from eoObject

See also:
eoObject
-
Returns:
Name of class.
- -

-Reimplemented from eoMonOp< EOT >. -

-Definition at line 90 of file eoEsMutate.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual bool eoEsMutate< EOT >::operator() eoEsSimple< FitT > &  _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Mutate eoEsSimple. -

-

Parameters:
- - -
_eo Individual to mutate.
-
- -

-Definition at line 97 of file eoEsMutate.h. -

-References eoEsMutate< EOT >::bounds, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsSimple< Fit >::stdev, and eoEsMutate< EOT >::TauLcl.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual bool eoEsMutate< EOT >::operator() eoEsStdev< FitT > &  _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Standard mutation in ES. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

-Standard mutation of object variables and standard deviations in ESs.

-If there are fewer different standard deviations available than the dimension of the objective function requires, the last standard deviation is responsible for ALL remaining object variables.

-

Parameters:
- - -
_eo Individual to mutate.
-
-
See also:
Schwefel 1977: Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie, pp. 165 ff.
- -

-Definition at line 128 of file eoEsMutate.h. -

-References eoEsMutate< EOT >::bounds, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsStdev< Fit >::stdevs, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual bool eoEsMutate< EOT >::operator() eoEsFull< FitT > &  _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Correlated mutations in ES. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

-Mutation of object variables, standard deviations, and their correlations in ESs.

-

Parameters:
- - -
_eo Individual to mutate.
-
-
See also:
    -
  • H.-P. Schwefel: Internal Report of KFA Juelich, KFA-STE-IB-3/80, p. 43, 1980.
  • G. Rudolph: Globale Optimierung mit parallelen Evolutionsstrategien, Diploma Thesis, University of Dortmund, 1990.
-
- -

-Definition at line 159 of file eoEsMutate.h. -

-References eoEsMutate< EOT >::bounds, eoEsFull< Fit >::correlations, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsFull< Fit >::stdevs, eoEsMutate< EOT >::TauBeta, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
void eoEsMutate< EOT >::init eoEsStdev< FitT,
eoEsMutationInit _init
[inline, private]
-
- - - - - -
-   - - -

-Initialization of standard ES. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -

-Definition at line 228 of file eoEsMutate.h. -

-References eoEsMutate< EOT >::bounds, eoEsMutationInit::TauGlb(), eoEsMutate< EOT >::TauGlb, eoEsMutationInit::TauLcl(), and eoEsMutate< EOT >::TauLcl.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
void eoEsMutate< EOT >::init eoEsFull< FitT,
eoEsMutationInit _init
[inline, private]
-
- - - - - -
-   - - -

-Initialization of full ES. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -

-Definition at line 244 of file eoEsMutate.h. -

-References eoEsMutate< EOT >::init(), eoEsMutationInit::TauBeta(), eoEsMutate< EOT >::TauBeta, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl.

-


Member Data Documentation

-

- - - - -
- - - - - - - -
-template<class EOT>
const double eoEsMutate< EOT >::stdev_eps = 1.0e-40 [static, private]
-
- - - - - -
-   - - -

-Minimum stdev. -

-If you let the step-size go to 0, self-adaptation stops, therefore we give a lower bound. The actual value used is somewhat arbitrary and the is no theoretical reasoning known for it (Sep 2005).

-The code that we have in EO is a port from a C code that Thomas Bäck kindly donated to the community some years ago. It has been modified by Marc Schoenauer for inclusion in EvolC, than by Maarten Keijzer into EO. The exact value was adjusted based on practice.

-Removing this doesn't work well, but it was never tried to figure out what the best value would be. -

-Definition at line 284 of file eoEsMutate.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_mutate.png b/trunk/paradiseo-eo/doc/html/classeo_es_mutate.png deleted file mode 100644 index 6e3d61c90..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_es_mutate.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_mutation_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_es_mutation_init-members.html deleted file mode 100644 index 5be0ab70e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_mutation_init-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoEsMutationInit Member List

This is the complete list of members for eoEsMutationInit, including all inherited members.

- - - - - - - - - - - - - - - - - -
eoEsMutationInit(eoParser &_parser, std::string _section="ES mutation parameters")eoEsMutationInit [inline]
parser (defined in eoEsMutationInit)eoEsMutationInit [private]
repSection (defined in eoEsMutationInit)eoEsMutationInit [private]
section(void) (defined in eoEsMutationInit)eoEsMutationInit [inline, protected, virtual]
TauBeta(void)eoEsMutationInit [inline]
TauBetaName(void) const (defined in eoEsMutationInit)eoEsMutationInit [inline, protected, virtual]
TauBetaParam (defined in eoEsMutationInit)eoEsMutationInit [private]
TauBetaShort(void) const (defined in eoEsMutationInit)eoEsMutationInit [inline, protected, virtual]
TauGlb(void)eoEsMutationInit [inline]
TauGlbName(void) const (defined in eoEsMutationInit)eoEsMutationInit [inline, protected, virtual]
TauGlbParam (defined in eoEsMutationInit)eoEsMutationInit [private]
TauGlbShort(void) const (defined in eoEsMutationInit)eoEsMutationInit [inline, protected, virtual]
TauLcl(void)eoEsMutationInit [inline]
TauLclName(void) const (defined in eoEsMutationInit)eoEsMutationInit [inline, protected, virtual]
TauLclParam (defined in eoEsMutationInit)eoEsMutationInit [private]
TauLclShort(void) const (defined in eoEsMutationInit)eoEsMutationInit [inline, protected, virtual]
~eoEsMutationInit()eoEsMutationInit [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_mutation_init.html b/trunk/paradiseo-eo/doc/html/classeo_es_mutation_init.html deleted file mode 100644 index 947508c33..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_mutation_init.html +++ /dev/null @@ -1,142 +0,0 @@ - - -EO: eoEsMutationInit Class Reference - - - - -

eoEsMutationInit Class Reference
- -[EvolutionStrategies] -

Initialize Mutation operator. -More... -

-#include <eoEsMutationInit.h> -

-List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoEsMutationInit (eoParser &_parser, std::string _section="ES mutation parameters")
 Constructor.
-virtual ~eoEsMutationInit ()
 Virtual destructor.
-double TauLcl (void)
 local
-double TauGlb (void)
 global tau
-double TauBeta (void)
 correlation's tau

Protected Member Functions

-virtual std::string section (void)
-virtual std::string TauLclName (void) const
-virtual char TauLclShort (void) const
-virtual std::string TauGlbName (void) const
-virtual char TauGlbShort (void) const
-virtual std::string TauBetaName (void) const
-virtual char TauBetaShort (void) const

Private Attributes

-eoParserparser
-std::string repSection
-eoValueParam< double > * TauLclParam
-eoValueParam< double > * TauGlbParam
-eoValueParam< double > * TauBetaParam
-


Detailed Description

-Initialize Mutation operator. -

-Proxy class that is used for initializing the mutation operator. It provides an interface between eoEsMutate and the abstract parameterLoader. It also provides the names for the parameters in this class as virtual protected member functions.

-If you have more than a single ES in a project that need different names in the configuration files, you might consider overriding this class to change the names.

-

See also:
eoEsMutate
- -

- -

-Definition at line 47 of file eoEsMutationInit.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
eoEsMutationInit::eoEsMutationInit eoParser _parser,
std::string  _section = "ES mutation parameters"
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - - -
_parser Parser to read parameters from.
_section Parser section for -parameters.
-
- -

-Definition at line 56 of file eoEsMutationInit.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_simple-members.html b/trunk/paradiseo-eo/doc/html/classeo_es_simple-members.html deleted file mode 100644 index dcbe4b9cd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_simple-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: Member List - - - - -

eoEsSimple< Fit > Member List

This is the complete list of members for eoEsSimple< Fit >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVector< Fit, double >)eoVector< Fit, double >
className() const eoEsSimple< Fit > [inline, virtual]
ContainerType typedef (defined in eoVector< Fit, double >)eoVector< Fit, double >
EO()EO< Fit > [inline]
EO() (defined in EO< Fit >)EO< Fit > [inline]
eoEsSimple() (defined in eoEsSimple< Fit >)eoEsSimple< Fit > [inline]
eoVector(unsigned size=0, doublevalue=double())eoVector< Fit, double > [inline]
eoVector(const eoVector< OtherFitnessType, double > &_vec)eoVector< Fit, double > [inline]
Fitness typedef (defined in EO< Fit >)EO< Fit >
fitness() const EO< Fit > [inline]
fitness(const Fitness &_fitness)EO< Fit > [inline]
fitness(performance_type perf) (defined in EO< Fit >)EO< Fit > [inline]
fitness(void) const (defined in EO< Fit >)EO< Fit > [inline]
fitness_traits typedef (defined in EO< Fit >)EO< Fit >
invalid() const EO< Fit > [inline]
invalidate() (defined in EO< Fit >)EO< Fit > [inline]
invalidate(void) (defined in EO< Fit >)EO< Fit > [inline]
invalidate_worth(void) (defined in EO< Fit >)EO< Fit > [inline]
operator<(const eoVector< Fit, double > &_eo) const eoVector< Fit, double > [inline]
EO< Fit >::operator<(const EO &_eo2) const EO< Fit > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< Fit >)EO< Fit > [inline]
operator>(const EO &_eo2) const (defined in EO< Fit >)EO< Fit > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< Fit >)EO< Fit > [inline]
performance(performance_type perf) (defined in EO< Fit >)EO< Fit > [inline]
performance(void) const (defined in EO< Fit >)EO< Fit > [inline]
performance_type typedef (defined in EO< Fit >)EO< Fit >
printOn(std::ostream &os) const eoEsSimple< Fit > [inline, virtual]
readFrom(std::istream &is)eoEsSimple< Fit > [inline, virtual]
stdev (defined in eoEsSimple< Fit >)eoEsSimple< Fit >
storage_type typedef (defined in EO< Fit >)EO< Fit >
Type typedef (defined in eoEsSimple< Fit >)eoEsSimple< Fit >
value(const std::vector< double > &_v) (defined in eoVector< Fit, double >)eoVector< Fit, double > [inline]
worth(worth_type worth) (defined in EO< Fit >)EO< Fit > [inline]
worth(void) const (defined in EO< Fit >)EO< Fit > [inline]
worth_type typedef (defined in EO< Fit >)EO< Fit >
~EO()EO< Fit > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_simple.html b/trunk/paradiseo-eo/doc/html/classeo_es_simple.html deleted file mode 100644 index 1445a08ca..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_simple.html +++ /dev/null @@ -1,107 +0,0 @@ - - -EO: eoEsSimple< Fit > Class Template Reference - - - - -

eoEsSimple< Fit > Class Template Reference
- -[EvolutionStrategies] -

Simple Evolution Strategy. -More... -

-#include <eoEsSimple.h> -

-

Inheritance diagram for eoEsSimple< Fit >: -

- -eoVector< Fit, double > -EO< Fit > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef double Type

Public Member Functions

virtual std::string className () const
 Return the class id.
-void printOn (std::ostream &os) const
 printing...
-void readFrom (std::istream &is)
 reading...

Public Attributes

-double stdev
-

Detailed Description

-

template<class Fit>
- class eoEsSimple< Fit >

- -Simple Evolution Strategy. -

-One of the more simple evolution strategies, sporting just a single stdeviation for the entire chromosome. For more advanced versions see also eoEsStdev eoEsFull

-

See also:
eoEsStdev eoEsFull
- -

- -

-Definition at line 42 of file eoEsSimple.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Fit>
virtual std::string eoEsSimple< Fit >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Return the class id. -

-

Returns:
the class name as a std::string
- -

-Reimplemented from EO< Fit >. -

-Definition at line 50 of file eoEsSimple.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_simple.png b/trunk/paradiseo-eo/doc/html/classeo_es_simple.png deleted file mode 100644 index 9c88aca36..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_es_simple.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover-members.html b/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover-members.html deleted file mode 100644 index 4c38257dd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover-members.html +++ /dev/null @@ -1,36 +0,0 @@ - - -EO: Member List - - - - -

eoEsStandardXover< EOT > Member List

This is the complete list of members for eoEsStandardXover< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoEsStandardXover< EOT > [inline, virtual]
cross_self_adapt(eoEsSimple< FitT > &_parent1, const eoEsSimple< FitT > &_parent2) (defined in eoEsStandardXover< EOT >)eoEsStandardXover< EOT > [inline, private]
cross_self_adapt(eoEsStdev< FitT > &_parent1, const eoEsStdev< FitT > &_parent2) (defined in eoEsStandardXover< EOT >)eoEsStandardXover< EOT > [inline, private]
cross_self_adapt(eoEsFull< FitT > &_parent1, const eoEsFull< FitT > &_parent2) (defined in eoEsStandardXover< EOT >)eoEsStandardXover< EOT > [inline, private]
crossMut (defined in eoEsStandardXover< EOT >)eoEsStandardXover< EOT > [private]
crossObj (defined in eoEsStandardXover< EOT >)eoEsStandardXover< EOT > [private]
eoBinOp()eoBinOp< EOT > [inline]
eoEsStandardXover(eoBinOp< double > &_crossObj, eoBinOp< double > &_crossMut)eoEsStandardXover< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
FitT typedef (defined in eoEsStandardXover< EOT >)eoEsStandardXover< EOT >
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo1, const EOT &_eo2)eoEsStandardXover< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
sel (defined in eoEsStandardXover< EOT >)eoEsStandardXover< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover.html b/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover.html deleted file mode 100644 index 5de7928ae..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover.html +++ /dev/null @@ -1,78 +0,0 @@ - - -EO: eoEsStandardXover< EOT > Class Template Reference - - - - -

eoEsStandardXover< EOT > Class Template Reference

Standard (i.e. -More... -

-#include <eoEsStandardXover.h> -

-

Inheritance diagram for eoEsStandardXover< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness FitT

Public Member Functions

eoEsStandardXover (eoBinOp< double > &_crossObj, eoBinOp< double > &_crossMut)
 (Default) Constructor.
-virtual std::string className () const
 The class name. Used to display statistics.
-bool operator() (EOT &_eo1, const EOT &_eo2)
 modifies one parents in the populator using a second parent

Private Member Functions

-bool cross_self_adapt (eoEsSimple< FitT > &_parent1, const eoEsSimple< FitT > &_parent2)
-bool cross_self_adapt (eoEsStdev< FitT > &_parent1, const eoEsStdev< FitT > &_parent2)
-bool cross_self_adapt (eoEsFull< FitT > &_parent1, const eoEsFull< FitT > &_parent2)

Private Attributes

-eoRandomSelect< EOTsel
-eoBinOp< double > & crossObj
-eoBinOp< double > & crossMut
-

Detailed Description

-

template<class EOT>
- class eoEsStandardXover< EOT >

- -Standard (i.e. -

-eoBinOp) crossover operator for ES genotypes. Uses some Atom crossovers to handle both the object variables and the mutation strategy parameters It is an eoBinOp and has to be wrapped into an eoGenOp before being used like the global version -

- -

-Definition at line 46 of file eoEsStandardXover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover.png b/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover.png deleted file mode 100644 index a3e0b9645..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_es_standard_xover.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_stdev-members.html b/trunk/paradiseo-eo/doc/html/classeo_es_stdev-members.html deleted file mode 100644 index 789593e98..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_stdev-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: Member List - - - - -

eoEsStdev< Fit > Member List

This is the complete list of members for eoEsStdev< Fit >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVector< Fit, double >)eoVector< Fit, double >
className(void) const eoEsStdev< Fit > [inline, virtual]
ContainerType typedef (defined in eoVector< Fit, double >)eoVector< Fit, double >
EO()EO< Fit > [inline]
EO() (defined in EO< Fit >)EO< Fit > [inline]
eoEsStdev(void) (defined in eoEsStdev< Fit >)eoEsStdev< Fit > [inline]
eoVector(unsigned size=0, doublevalue=double())eoVector< Fit, double > [inline]
eoVector(const eoVector< OtherFitnessType, double > &_vec)eoVector< Fit, double > [inline]
Fitness typedef (defined in EO< Fit >)EO< Fit >
fitness() const EO< Fit > [inline]
fitness(const Fitness &_fitness)EO< Fit > [inline]
fitness(performance_type perf) (defined in EO< Fit >)EO< Fit > [inline]
fitness(void) const (defined in EO< Fit >)EO< Fit > [inline]
fitness_traits typedef (defined in EO< Fit >)EO< Fit >
invalid() const EO< Fit > [inline]
invalidate() (defined in EO< Fit >)EO< Fit > [inline]
invalidate(void) (defined in EO< Fit >)EO< Fit > [inline]
invalidate_worth(void) (defined in EO< Fit >)EO< Fit > [inline]
operator<(const eoVector< Fit, double > &_eo) const eoVector< Fit, double > [inline]
EO< Fit >::operator<(const EO &_eo2) const EO< Fit > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< Fit >)EO< Fit > [inline]
operator>(const EO &_eo2) const (defined in EO< Fit >)EO< Fit > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< Fit >)EO< Fit > [inline]
performance(performance_type perf) (defined in EO< Fit >)EO< Fit > [inline]
performance(void) const (defined in EO< Fit >)EO< Fit > [inline]
performance_type typedef (defined in EO< Fit >)EO< Fit >
printOn(std::ostream &os) const eoEsStdev< Fit > [inline, virtual]
readFrom(std::istream &is)eoEsStdev< Fit > [inline, virtual]
stdevs (defined in eoEsStdev< Fit >)eoEsStdev< Fit >
storage_type typedef (defined in EO< Fit >)EO< Fit >
Type typedef (defined in eoEsStdev< Fit >)eoEsStdev< Fit >
value(const std::vector< double > &_v) (defined in eoVector< Fit, double >)eoVector< Fit, double > [inline]
worth(worth_type worth) (defined in EO< Fit >)EO< Fit > [inline]
worth(void) const (defined in EO< Fit >)EO< Fit > [inline]
worth_type typedef (defined in EO< Fit >)EO< Fit >
~EO()EO< Fit > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_stdev.html b/trunk/paradiseo-eo/doc/html/classeo_es_stdev.html deleted file mode 100644 index 2a8b0394f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_es_stdev.html +++ /dev/null @@ -1,105 +0,0 @@ - - -EO: eoEsStdev< Fit > Class Template Reference - - - - -

eoEsStdev< Fit > Class Template Reference
- -[EvolutionStrategies] -

Evolutionary Strategy with a standard deviation per parameter. -More... -

-#include <eoEsStdev.h> -

-

Inheritance diagram for eoEsStdev< Fit >: -

- -eoVector< Fit, double > -EO< Fit > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef double Type

Public Member Functions

virtual std::string className (void) const
 Return the class id.
-void printOn (std::ostream &os) const
 printing...
-void readFrom (std::istream &is)
 reading...

Public Attributes

-std::vector< double > stdevs
-

Detailed Description

-

template<class Fit>
- class eoEsStdev< Fit >

- -Evolutionary Strategy with a standard deviation per parameter. -

-Evolutionary strategie style representation, supporting co-evolving standard deviations. -

- -

-Definition at line 37 of file eoEsStdev.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Fit>
virtual std::string eoEsStdev< Fit >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Return the class id. -

-

Returns:
the class name as a std::string
- -

-Reimplemented from EO< Fit >. -

-Definition at line 47 of file eoEsStdev.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_es_stdev.png b/trunk/paradiseo-eo/doc/html/classeo_es_stdev.png deleted file mode 100644 index ba7918b92..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_es_stdev.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_continue-members.html b/trunk/paradiseo-eo/doc/html/classeo_eval_continue-members.html deleted file mode 100644 index 3b7c040cd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_eval_continue-members.html +++ /dev/null @@ -1,27 +0,0 @@ - - -EO: Member List - - - - -

eoEvalContinue< EOT > Member List

This is the complete list of members for eoEvalContinue< EOT >, including all inherited members.

- - - - - - - - - - - - - -
className(void) const (defined in eoEvalContinue< EOT >)eoEvalContinue< EOT > [inline, virtual]
eoEvalContinue(eoEvalFuncCounter< EOT > &_eval, unsigned long _totalEval)eoEvalContinue< EOT > [inline]
eval (defined in eoEvalContinue< EOT >)eoEvalContinue< EOT > [private]
functor_category()eoUF< const eoPop< EOT > &, bool > [inline, static]
operator()(const eoPop< EOT > &_vEO)eoEvalContinue< EOT > [inline, virtual]
printOn(std::ostream &__os) const eoContinue< EOT > [inline, virtual]
readFrom(std::istream &__is)eoContinue< EOT > [inline, virtual]
repTotalEvaluations (defined in eoEvalContinue< EOT >)eoEvalContinue< EOT > [private]
totalEvaluations()eoEvalContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_continue.html b/trunk/paradiseo-eo/doc/html/classeo_eval_continue.html deleted file mode 100644 index 0ff8c324f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_eval_continue.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoEvalContinue< EOT > Class Template Reference - - - - -

eoEvalContinue< EOT > Class Template Reference

Continues until a number of evaluations has been made. -More... -

-#include <eoEvalContinue.h> -

-

Inheritance diagram for eoEvalContinue< EOT >: -

- -eoContinue< EOT > -eoUF< const eoPop< EOT > &, bool > -eoPersistent -eoFunctorBase -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoEvalContinue (eoEvalFuncCounter< EOT > &_eval, unsigned long _totalEval)
 Ctor.
-virtual bool operator() (const eoPop< EOT > &_vEO)
 Returns false when a certain number of evaluations has been done.
-virtual unsigned long totalEvaluations ()
 Returns the number of generations to reach.
-virtual std::string className (void) const

Private Attributes

-eoEvalFuncCounter< EOT > & eval
-unsigned long repTotalEvaluations
-

Detailed Description

-

template<class EOT>
- class eoEvalContinue< EOT >

- -Continues until a number of evaluations has been made. -

- -

-Definition at line 36 of file eoEvalContinue.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_continue.png b/trunk/paradiseo-eo/doc/html/classeo_eval_continue.png deleted file mode 100644 index b470cc85b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_eval_continue.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_func-members.html b/trunk/paradiseo-eo/doc/html/classeo_eval_func-members.html deleted file mode 100644 index d35d9142b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_eval_func-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoEvalFunc< EOT > Member List

This is the complete list of members for eoEvalFunc< EOT >, including all inherited members.

- - - - - - -
EOFitT typedef (defined in eoEvalFunc< EOT >)eoEvalFunc< EOT >
EOType typedef (defined in eoEvalFunc< EOT >)eoEvalFunc< EOT >
functor_category()eoUF< EOT &, void > [inline, static]
operator()(EOT &)=0eoUF< EOT &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_func.html b/trunk/paradiseo-eo/doc/html/classeo_eval_func.html deleted file mode 100644 index 37ae3493c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_eval_func.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoEvalFunc< EOT > Class Template Reference - - - - -

eoEvalFunc< EOT > Class Template Reference

Evaluate: takes one EO and sets its "fitness" property returning this fitness also. -More... -

-#include <eoEvalFunc.h> -

-

Inheritance diagram for eoEvalFunc< EOT >: -

- -eoUF< EOT &, void > -eoFunctorBase -eoEvalFuncCounter< EOT > -eoEvalFuncPtr< EOT, FitT, FunctionArg > -eoOneMaxEvalFunc< EOT > - -List of all members. - - - - - - -

Public Types

-typedef EOT EOType
-typedef EOT::Fitness EOFitT
-

Detailed Description

-

template<class EOT>
- class eoEvalFunc< EOT >

- -Evaluate: takes one EO and sets its "fitness" property returning this fitness also. -

-That is why EOT is passed by non-const reference: it must be altered within evaluate.\

-The requirements on the types with which this class is to be instantiated with are null, or else, they depend on the particular class it's going to be applied to; EO does not impose any requirement on it. If you subclass this abstract class, and use it to evaluate an EO, the requirements on this EO will depend on the evaluator. -

- -

-Definition at line 41 of file eoEvalFunc.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_func.png b/trunk/paradiseo-eo/doc/html/classeo_eval_func.png deleted file mode 100644 index 2dc086d6b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_eval_func.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter-members.html b/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter-members.html deleted file mode 100644 index 9256533b5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter-members.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: Member List - - - - -

eoEvalFuncCounter< EOT > Member List

This is the complete list of members for eoEvalFuncCounter< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoEvalFuncCounter(eoEvalFunc< EOT > &_func, std::string _name="Eval. ") (defined in eoEvalFuncCounter< EOT >)eoEvalFuncCounter< EOT > [inline]
EOFitT typedef (defined in eoEvalFunc< EOT >)eoEvalFunc< EOT >
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
EOType typedef (defined in eoEvalFunc< EOT >)eoEvalFunc< EOT >
eoValueParam(void)eoValueParam< unsigned long > [inline]
eoValueParam(unsigned long_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< unsigned long > [inline]
func (defined in eoEvalFuncCounter< EOT >)eoEvalFuncCounter< EOT > [private]
functor_category()eoUF< EOT &, void > [inline, static]
getValue(void) const eoValueParam< unsigned long > [inline, virtual]
longName() const eoParam [inline]
operator()(EOT &_eo)eoEvalFuncCounter< EOT > [inline, virtual]
repValue (defined in eoValueParam< unsigned long >)eoValueParam< unsigned long > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< unsigned long > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< unsigned long > [inline]
value() const eoValueParam< unsigned long > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter.html b/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter.html deleted file mode 100644 index 79efb6020..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoEvalFuncCounter< EOT > Class Template Reference - - - - -

eoEvalFuncCounter< EOT > Class Template Reference

Counts the number of evaluations actually performed, thus checks first if it has to evaluate.. -More... -

-#include <eoEvalFuncCounter.h> -

-

Inheritance diagram for eoEvalFuncCounter< EOT >: -

- -eoEvalFunc< EOT > -eoValueParam< unsigned long > -eoUF< EOT &, void > -eoParam -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoEvalFuncCounter (eoEvalFunc< EOT > &_func, std::string _name="Eval. ")
-virtual void operator() (EOT &_eo)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoEvalFunc< EOT > & func
-

Detailed Description

-

template<class EOT>
- class eoEvalFuncCounter< EOT >

- -Counts the number of evaluations actually performed, thus checks first if it has to evaluate.. -

-etc. -

- -

-Definition at line 37 of file eoEvalFuncCounter.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter.png b/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter.png deleted file mode 100644 index 6c871eb5e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_eval_func_counter.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation-members.html deleted file mode 100644 index d151db761..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoExpansionMutation< FType, Node > Member List

This is the complete list of members for eoExpansionMutation< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoExpansionMutation< FType, Node > [inline, virtual]
eoExpansionMutation(eoInit< EoType > &_init, unsigned _max_length)eoExpansionMutation< FType, Node > [inline]
eoMonOp()eoMonOp< eoParseTree< FType, Node > > [inline]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
EoType typedef (defined in eoExpansionMutation< FType, Node >)eoExpansionMutation< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
initializer (defined in eoExpansionMutation< FType, Node >)eoExpansionMutation< FType, Node > [private]
max_length (defined in eoExpansionMutation< FType, Node >)eoExpansionMutation< FType, Node > [private]
operator()(EoType &_eo1)eoExpansionMutation< FType, Node > [inline]
eoMonOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoExpansionMutation()eoExpansionMutation< FType, Node > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation.html deleted file mode 100644 index 274cea116..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation.html +++ /dev/null @@ -1,165 +0,0 @@ - - -EO: eoExpansionMutation< FType, Node > Class Template Reference - - - - -

eoExpansionMutation< FType, Node > Class Template Reference
- -[ParseTree] -

eoExpansionMutation --> replace a terminal with a randomly created subtree -More... -

-#include <gp/eoParseTreeOp.h> -

-

Inheritance diagram for eoExpansionMutation< FType, Node >: -

- -eoMonOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoExpansionMutation (eoInit< EoType > &_init, unsigned _max_length)
 Constructor.
-virtual std::string className () const
 The class name.
-virtual ~eoExpansionMutation ()
 Dtor.
bool operator() (EoType &_eo1)
 Mutate an individual.

Private Attributes

-unsigned max_length
-eoInit< EoType > & initializer
-

Detailed Description

-

template<class FType, class Node>
- class eoExpansionMutation< FType, Node >

- -eoExpansionMutation --> replace a terminal with a randomly created subtree -

- -

-Definition at line 204 of file eoParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class FType, class Node>
eoExpansionMutation< FType, Node >::eoExpansionMutation eoInit< EoType > &  _init,
unsigned  _max_length
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - - -
_init An instantiation of eoGpDepthInitializer
_max_length the maximum size of an individual
-
- -

-Definition at line 215 of file eoParseTreeOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
bool eoExpansionMutation< FType, Node >::operator() EoType _eo1  )  [inline]
-
- - - - - -
-   - - -

-Mutate an individual. -

-

Parameters:
- - -
_eo1 The individual that is to be changed
-
- -

-Definition at line 228 of file eoParseTreeOp.h. -

-References eoParseTree< FType, Node >::pruneTree(), and eoRng::random().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation.png deleted file mode 100644 index 113a12cd1..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_expansion_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_external_bin_op-members.html deleted file mode 100644 index c145b734f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_bin_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoExternalBinOp< F, External, ExternalEO > Member List

This is the complete list of members for eoExternalBinOp< F, External, ExternalEO >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
binop (defined in eoExternalBinOp< F, External, ExternalEO >)eoExternalBinOp< F, External, ExternalEO > [private]
className() const (defined in eoBinOp< ExternalEO >)eoBinOp< ExternalEO > [inline, virtual]
eoBinOp()eoBinOp< ExternalEO > [inline]
eoExternalBinOp(bool(*_binop)(External &, const External &)) (defined in eoExternalBinOp< F, External, ExternalEO >)eoExternalBinOp< F, External, ExternalEO > [inline]
eoOp(OpType _type)eoOp< ExternalEO > [inline]
eoOp(const eoOp &_eop)eoOp< ExternalEO > [inline]
functor_category()eoBF< ExternalEO &, const ExternalEO &, bool > [inline, static]
general enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
getType() const eoOp< ExternalEO > [inline]
operator()(ExternalEO &eo1, const ExternalEO &eo2)eoExternalBinOp< F, External, ExternalEO > [inline, virtual]
quadratic enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
unary enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
~eoBF()eoBF< ExternalEO &, const ExternalEO &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< ExternalEO > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_external_bin_op.html deleted file mode 100644 index 0a33a228e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_bin_op.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoExternalBinOp< F, External, ExternalEO > Class Template Reference - - - - -

eoExternalBinOp< F, External, ExternalEO > Class Template Reference

Crossover of external struct, ctor expects a function of the following signature:. -More... -

-#include <eoExternalOpFunctions.h> -

-

Inheritance diagram for eoExternalBinOp< F, External, ExternalEO >: -

- -eoBinOp< ExternalEO > -eoOp< ExternalEO > -eoBF< ExternalEO &, const ExternalEO &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoExternalBinOp (bool(*_binop)(External &, const External &))
-bool operator() (ExternalEO &eo1, const ExternalEO &eo2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-bool(* binop )(External &, const External &)
-

Detailed Description

-

template<class F, class External, class ExternalEO = eoExternalEO<F, External>>
- class eoExternalBinOp< F, External, ExternalEO >

- -Crossover of external struct, ctor expects a function of the following signature:. -

-bool func(External&, const External&);

-Where External is the user defined struct or class The function should return true when it changed something, false otherwise -

- -

-Definition at line 128 of file eoExternalOpFunctions.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_external_bin_op.png deleted file mode 100644 index 6944ab177..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_external_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_e_o-members.html b/trunk/paradiseo-eo/doc/html/classeo_external_e_o-members.html deleted file mode 100644 index db5e28854..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_e_o-members.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: Member List - - - - -

eoExternalEO< Fit, External > Member List

This is the complete list of members for eoExternalEO< Fit, External >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className() const EO< Fit > [inline, virtual]
EO()EO< Fit > [inline]
EO() (defined in EO< Fit >)EO< Fit > [inline]
eoExternalEO(void) (defined in eoExternalEO< Fit, External >)eoExternalEO< Fit, External > [inline]
eoExternalEO(const External &ext)eoExternalEO< Fit, External > [inline]
eoExternalEO(std::istream &is, const External &ext) (defined in eoExternalEO< Fit, External >)eoExternalEO< Fit, External > [inline]
fitness() const EO< Fit > [inline]
fitness(const Fitness &_fitness)EO< Fit > [inline]
fitness(performance_type perf) (defined in EO< Fit >)EO< Fit > [inline]
fitness(void) const (defined in EO< Fit >)EO< Fit > [inline]
Fitness typedef (defined in EO< Fit >)EO< Fit >
fitness_traits typedef (defined in EO< Fit >)EO< Fit >
invalid() const EO< Fit > [inline]
invalidate() (defined in EO< Fit >)EO< Fit > [inline]
invalidate(void) (defined in EO< Fit >)EO< Fit > [inline]
invalidate_worth(void) (defined in EO< Fit >)EO< Fit > [inline]
operator<(const EO &_eo2) const EO< Fit > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< Fit >)EO< Fit > [inline]
operator>(const EO &_eo2) const (defined in EO< Fit >)EO< Fit > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< Fit >)EO< Fit > [inline]
performance(performance_type perf) (defined in EO< Fit >)EO< Fit > [inline]
performance(void) const (defined in EO< Fit >)EO< Fit > [inline]
performance_type typedef (defined in EO< Fit >)EO< Fit >
printOn(std::ostream &_os) const eoExternalEO< Fit, External > [inline, virtual]
readFrom(std::istream &_is)eoExternalEO< Fit, External > [inline, virtual]
storage_type typedef (defined in EO< Fit >)EO< Fit >
worth(worth_type worth) (defined in EO< Fit >)EO< Fit > [inline]
worth(void) const (defined in EO< Fit >)EO< Fit > [inline]
worth_type typedef (defined in EO< Fit >)EO< Fit >
~EO()EO< Fit > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_e_o.html b/trunk/paradiseo-eo/doc/html/classeo_external_e_o.html deleted file mode 100644 index 3a4be86c1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_e_o.html +++ /dev/null @@ -1,102 +0,0 @@ - - -EO: eoExternalEO< Fit, External > Class Template Reference - - - - -

eoExternalEO< Fit, External > Class Template Reference

Definition of an object that allows an external struct to be inserted in EO. -More... -

-#include <eoExternalEO.h> -

-

Inheritance diagram for eoExternalEO< Fit, External >: -

- -EO< Fit > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoExternalEO (const External &ext)
 Init externalEo with the struct itself and set fitness to zero.
eoExternalEO (std::istream &is, const External &ext)
-virtual void readFrom (std::istream &_is)
 Read object, the external struct needs to have an operator>> defined.
virtual void printOn (std::ostream &_os) const
 Write object.
-

Detailed Description

-

template<class Fit, class External>
- class eoExternalEO< Fit, External >

- -Definition of an object that allows an external struct to be inserted in EO. -

-This struct or class can be of any form, the only thing this class does is attach a fitness value to it and makes it the appropriate type (derives it from EO). -

- -

-Definition at line 39 of file eoExternalEO.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Fit, class External>
virtual void eoExternalEO< Fit, External >::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-Called printOn since it prints the object _on_ a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Reimplemented from EO< Fit >. -

-Definition at line 69 of file eoExternalEO.h. -

-References EO< F >::printOn().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_e_o.png b/trunk/paradiseo-eo/doc/html/classeo_external_e_o.png deleted file mode 100644 index fa87cb20b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_external_e_o.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_eval_func-members.html b/trunk/paradiseo-eo/doc/html/classeo_external_eval_func-members.html deleted file mode 100644 index f34316446..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_eval_func-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoExternalEvalFunc< F, External, ExternalEO > Member List

This is the complete list of members for eoExternalEvalFunc< F, External, ExternalEO >, including all inherited members.

- - - - - - - - -
eoExternalEvalFunc(F(*_eval)(const External &)) (defined in eoExternalEvalFunc< F, External, ExternalEO >)eoExternalEvalFunc< F, External, ExternalEO > [inline]
EOFitT typedef (defined in eoEvalFunc< ExternalEO >)eoEvalFunc< ExternalEO >
EOType typedef (defined in eoEvalFunc< ExternalEO >)eoEvalFunc< ExternalEO >
eval (defined in eoExternalEvalFunc< F, External, ExternalEO >)eoExternalEvalFunc< F, External, ExternalEO > [private]
functor_category()eoUF< ExternalEO &, void > [inline, static]
operator()(ExternalEO &eo)eoExternalEvalFunc< F, External, ExternalEO > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< ExternalEO &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_eval_func.html b/trunk/paradiseo-eo/doc/html/classeo_external_eval_func.html deleted file mode 100644 index 0e90a4aca..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_eval_func.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoExternalEvalFunc< F, External, ExternalEO > Class Template Reference - - - - -

eoExternalEvalFunc< F, External, ExternalEO > Class Template Reference

Evaluation of external struct, ctor expects a function of the following signature:. -More... -

-#include <eoExternalOpFunctions.h> -

-

Inheritance diagram for eoExternalEvalFunc< F, External, ExternalEO >: -

- -eoEvalFunc< ExternalEO > -eoUF< ExternalEO &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoExternalEvalFunc (F(*_eval)(const External &))
-void operator() (ExternalEO &eo)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-F(* eval )(const External &)
-

Detailed Description

-

template<class F, class External, class ExternalEO = eoExternalEO<F, External>>
- class eoExternalEvalFunc< F, External, ExternalEO >

- -Evaluation of external struct, ctor expects a function of the following signature:. -

-Fit func(External&);

-Where External is the user defined struct or class and Fit the fitness type -

- -

-Definition at line 73 of file eoExternalOpFunctions.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_eval_func.png b/trunk/paradiseo-eo/doc/html/classeo_external_eval_func.png deleted file mode 100644 index 22e189886..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_external_eval_func.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_external_init-members.html deleted file mode 100644 index a0935bdac..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_init-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoExternalInit< F, External, ExternalEO > Member List

This is the complete list of members for eoExternalInit< F, External, ExternalEO >, including all inherited members.

- - - - - - - -
className(void) const eoInit< ExternalEO > [inline, virtual]
eoExternalInit(External(*_init)(void)) (defined in eoExternalInit< F, External, ExternalEO >)eoExternalInit< F, External, ExternalEO > [inline]
functor_category()eoUF< ExternalEO &, void > [inline, static]
init (defined in eoExternalInit< F, External, ExternalEO >)eoExternalInit< F, External, ExternalEO > [private]
operator()(ExternalEO &_eo)eoExternalInit< F, External, ExternalEO > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< ExternalEO &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_init.html b/trunk/paradiseo-eo/doc/html/classeo_external_init.html deleted file mode 100644 index b4fe4cec3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_init.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoExternalInit< F, External, ExternalEO > Class Template Reference - - - - -

eoExternalInit< F, External, ExternalEO > Class Template Reference

Initialization of external struct, ctor expects a function of the following signature:. -More... -

-#include <eoExternalOpFunctions.h> -

-

Inheritance diagram for eoExternalInit< F, External, ExternalEO >: -

- -eoInit< ExternalEO > -eoUF< ExternalEO &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoExternalInit (External(*_init)(void))
-void operator() (ExternalEO &_eo)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-External(* init )(void)
-

Detailed Description

-

template<class F, class External, class ExternalEO = eoExternalEO<F, External>>
- class eoExternalInit< F, External, ExternalEO >

- -Initialization of external struct, ctor expects a function of the following signature:. -

-External func();

-Where External is the user defined struct or class -

- -

-Definition at line 45 of file eoExternalOpFunctions.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_init.png b/trunk/paradiseo-eo/doc/html/classeo_external_init.png deleted file mode 100644 index b989ef2aa..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_external_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_mon_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_external_mon_op-members.html deleted file mode 100644 index 9e8656f37..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_mon_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoExternalMonOp< F, External, ExternalEO > Member List

This is the complete list of members for eoExternalMonOp< F, External, ExternalEO >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
className() const (defined in eoMonOp< ExternalEO >)eoMonOp< ExternalEO > [inline, virtual]
eoExternalMonOp(bool(*_mutate)(External &)) (defined in eoExternalMonOp< F, External, ExternalEO >)eoExternalMonOp< F, External, ExternalEO > [inline]
eoMonOp()eoMonOp< ExternalEO > [inline]
eoOp(OpType _type)eoOp< ExternalEO > [inline]
eoOp(const eoOp &_eop)eoOp< ExternalEO > [inline]
functor_category()eoUF< ExternalEO &, bool > [inline, static]
general enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
getType() const eoOp< ExternalEO > [inline]
mutate (defined in eoExternalMonOp< F, External, ExternalEO >)eoExternalMonOp< F, External, ExternalEO > [private]
operator()(ExternalEO &eo)eoExternalMonOp< F, External, ExternalEO > [inline, virtual]
quadratic enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
unary enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< ExternalEO > [inline, virtual]
~eoUF()eoUF< ExternalEO &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_mon_op.html b/trunk/paradiseo-eo/doc/html/classeo_external_mon_op.html deleted file mode 100644 index 04aeffb6d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_mon_op.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoExternalMonOp< F, External, ExternalEO > Class Template Reference - - - - -

eoExternalMonOp< F, External, ExternalEO > Class Template Reference

Mutation of external struct, ctor expects a function of the following signature:. -More... -

-#include <eoExternalOpFunctions.h> -

-

Inheritance diagram for eoExternalMonOp< F, External, ExternalEO >: -

- -eoMonOp< ExternalEO > -eoOp< ExternalEO > -eoUF< ExternalEO &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoExternalMonOp (bool(*_mutate)(External &))
-bool operator() (ExternalEO &eo)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-bool(* mutate )(External &)
-

Detailed Description

-

template<class F, class External, class ExternalEO = eoExternalEO<F, External>>
- class eoExternalMonOp< F, External, ExternalEO >

- -Mutation of external struct, ctor expects a function of the following signature:. -

-bool func(External&);

-Where External is the user defined struct or class. The function should return true when it changed something, false otherwise -

- -

-Definition at line 102 of file eoExternalOpFunctions.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_mon_op.png b/trunk/paradiseo-eo/doc/html/classeo_external_mon_op.png deleted file mode 100644 index c9e8a0761..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_external_mon_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_external_quad_op-members.html deleted file mode 100644 index 5411bb881..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_quad_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoExternalQuadOp< F, External, ExternalEO > Member List

This is the complete list of members for eoExternalQuadOp< F, External, ExternalEO >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
className() const (defined in eoQuadOp< ExternalEO >)eoQuadOp< ExternalEO > [inline, virtual]
eoExternalQuadOp(bool(*_quadop)(External &, External &)) (defined in eoExternalQuadOp< F, External, ExternalEO >)eoExternalQuadOp< F, External, ExternalEO > [inline]
eoOp(OpType _type)eoOp< ExternalEO > [inline]
eoOp(const eoOp &_eop)eoOp< ExternalEO > [inline]
eoQuadOp()eoQuadOp< ExternalEO > [inline]
functor_category()eoBF< ExternalEO &, ExternalEO &, bool > [inline, static]
general enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
getType() const eoOp< ExternalEO > [inline]
operator()(ExternalEO &eo1, ExternalEO &eo2)eoExternalQuadOp< F, External, ExternalEO > [inline, virtual]
quadop (defined in eoExternalQuadOp< F, External, ExternalEO >)eoExternalQuadOp< F, External, ExternalEO > [private]
quadratic enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
unary enum value (defined in eoOp< ExternalEO >)eoOp< ExternalEO >
~eoBF()eoBF< ExternalEO &, ExternalEO &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< ExternalEO > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_external_quad_op.html deleted file mode 100644 index 0082ad133..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_external_quad_op.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoExternalQuadOp< F, External, ExternalEO > Class Template Reference - - - - -

eoExternalQuadOp< F, External, ExternalEO > Class Template Reference

Crossover of external struct, ctor expects a function of the following signature:. -More... -

-#include <eoExternalOpFunctions.h> -

-

Inheritance diagram for eoExternalQuadOp< F, External, ExternalEO >: -

- -eoQuadOp< ExternalEO > -eoOp< ExternalEO > -eoBF< ExternalEO &, ExternalEO &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoExternalQuadOp (bool(*_quadop)(External &, External &))
-bool operator() (ExternalEO &eo1, ExternalEO &eo2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-bool(* quadop )(External &, External &)
-

Detailed Description

-

template<class F, class External, class ExternalEO = eoExternalEO<F, External>>
- class eoExternalQuadOp< F, External, ExternalEO >

- -Crossover of external struct, ctor expects a function of the following signature:. -

-bool func(External&, External&);

-Where External is the user defined struct or class The function should return true when it changed something, false otherwise -

- -

-Definition at line 154 of file eoExternalOpFunctions.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_external_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_external_quad_op.png deleted file mode 100644 index 5e6a8b31e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_external_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_f-members.html b/trunk/paradiseo-eo/doc/html/classeo_f-members.html deleted file mode 100644 index e019a076d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_f-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

eoF< R > Member List

This is the complete list of members for eoF< R >, including all inherited members.

- - - - - -
functor_category()eoF< R > [inline, static]
operator()()=0eoF< R > [pure virtual]
result_type typedefeoF< R >
~eoF()eoF< R > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_f.html b/trunk/paradiseo-eo/doc/html/classeo_f.html deleted file mode 100644 index ac1e63212..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_f.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: eoF< R > Class Template Reference - - - - -

eoF< R > Class Template Reference

Basic Function. -More... -

-#include <eoFunctor.h> -

-

Inheritance diagram for eoF< R >: -

- -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Types

-typedef R result_type
 the return type - probably useless ....

Public Member Functions

-virtual ~eoF ()
 virtual dtor here so there is no need to define it in derived classes
-virtual R operator() ()=0
 The pure virtual function that needs to be implemented by the subclass.

Static Public Member Functions

-eoFunctorBase::procedure_tag functor_category ()
 tag to identify a procedure in compile time function selection functor_category
-

Detailed Description

-

template<class R>
- class eoF< R >

- -Basic Function. -

-Derive from this class when defining any procedure. It defines a result_type that can be used to determine the return type Argument and result types can be any type including void for result_type -

- -

-Definition at line 68 of file eoFunctor.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_f.png b/trunk/paradiseo-eo/doc/html/classeo_f.png deleted file mode 100644 index 9c1e6dca0..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_f.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot-members.html b/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot-members.html deleted file mode 100644 index 434c4ac14..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot-members.html +++ /dev/null @@ -1,36 +0,0 @@ - - -EO: Member List - - - - -

eoFDCFileSnapshot< EOT > Member List

This is the complete list of members for eoFDCFileSnapshot< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - -
add(const eoParam &_param)eoFDCFileSnapshot< EOT > [inline, virtual]
baseFileName() (defined in eoFileSnapshot)eoFileSnapshot [inline, virtual]
className(void) const (defined in eoMonitor)eoMonitor [inline, virtual]
eoFDCFileSnapshot(eoFDCStat< EOT > &_FDCstat, std::string _dirname="tmpFDC", unsigned _frequency=1, std::string _filename="FDC", std::string _delim=" ")eoFDCFileSnapshot< EOT > [inline]
eoFileSnapshot(std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) (defined in eoFileSnapshot)eoFileSnapshot [inline]
FDCstat (defined in eoFDCFileSnapshot< EOT >)eoFDCFileSnapshot< EOT > [private]
functor_category()eoF< eoMonitor & > [inline, static]
getCounter()eoFileSnapshot [inline]
getDirName() (defined in eoFileSnapshot)eoFileSnapshot [inline, virtual]
getFileName()eoFileSnapshot [inline]
hasChanged()eoFileSnapshot [inline, virtual]
iterator typedef (defined in eoMonitor)eoMonitor [protected]
lastCall() (defined in eoMonitor)eoMonitor [inline, virtual]
operator()(void)eoFileSnapshot [inline, virtual]
operator()(std::ostream &_os)eoFileSnapshot [inline]
result_type typedefeoF< eoMonitor & >
setCurrentFileName()eoFileSnapshot [inline]
vDouble typedef (defined in eoFileSnapshot)eoFileSnapshot
vDoubleParam typedef (defined in eoFileSnapshot)eoFileSnapshot
vec (defined in eoMonitor)eoMonitor [protected]
~eoF()eoF< eoMonitor & > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot.html b/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot.html deleted file mode 100644 index fdb727744..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot.html +++ /dev/null @@ -1,117 +0,0 @@ - - -EO: eoFDCFileSnapshot< EOT > Class Template Reference - - - - -

eoFDCFileSnapshot< EOT > Class Template Reference

Specific class for FDCStat monitoring: As I failed to have FDC stat as an eoStat, this is the trick to put the 2 eoParam<std::vector<double> > into a monitor This class does nothing else. -More... -

-#include <eoFDCStat.h> -

-

Inheritance diagram for eoFDCFileSnapshot< EOT >: -

- -eoFileSnapshot -eoMonitor -eoF< eoMonitor & > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

 eoFDCFileSnapshot (eoFDCStat< EOT > &_FDCstat, std::string _dirname="tmpFDC", unsigned _frequency=1, std::string _filename="FDC", std::string _delim=" ")
 Ctor: in addition to the parameters of the ctor of an eoFileSnapshot we need here an eoFDCStat.
-virtual void add (const eoParam &_param)
 just to be sure the add method is not called further

Private Attributes

-eoFDCStat< EOT > & FDCstat
-

Detailed Description

-

template<class EOT>
- class eoFDCFileSnapshot< EOT >

- -Specific class for FDCStat monitoring: As I failed to have FDC stat as an eoStat, this is the trick to put the 2 eoParam<std::vector<double> > into a monitor This class does nothing else. -

- -

-Definition at line 111 of file eoFDCStat.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoFDCFileSnapshot< EOT >::eoFDCFileSnapshot eoFDCStat< EOT > &  _FDCstat,
std::string  _dirname = "tmpFDC",
unsigned  _frequency = 1,
std::string  _filename = "FDC",
std::string  _delim = " "
[inline]
-
- - - - - -
-   - - -

-Ctor: in addition to the parameters of the ctor of an eoFileSnapshot we need here an eoFDCStat. -

-The 2 std::vectors (distances to optimum and fitnesses) are added to the monitor so they can be processed later to a file - and eventually by gnuplot -

-Definition at line 119 of file eoFDCStat.h. -

-References eoFileSnapshot::add().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot.png b/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot.png deleted file mode 100644 index f5e87a580..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_file_snapshot.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat-members.html deleted file mode 100644 index 6de541260..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat-members.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: Member List - - - - -

eoFDCStat< EOT > Member List

This is the complete list of members for eoFDCStat< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
boolOpt (defined in eoFDCStat< EOT >)eoFDCStat< EOT > [private]
className(void) const (defined in eoStat< EOT, double >)eoStat< EOT, double > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
dist (defined in eoFDCStat< EOT >)eoFDCStat< EOT > [private]
distToBest (defined in eoFDCStat< EOT >)eoFDCStat< EOT > [private]
eoFDCStat(eoDistance< EOT > &_dist, std::string _description="FDC")eoFDCStat< EOT > [inline]
eoFDCStat(eoDistance< EOT > &_dist, EOT &_theBest, std::string _description="FDC")eoFDCStat< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoStat(double_value, std::string _description) (defined in eoStat< EOT, double >)eoStat< EOT, double > [inline]
eoValueParam(void)eoValueParam< double > [inline]
eoValueParam(double_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< double > [inline]
fitnesses (defined in eoFDCStat< EOT >)eoFDCStat< EOT > [private]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< double > [inline, virtual]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoFDCStat< EOT > [inline, virtual]
repValue (defined in eoValueParam< double >)eoValueParam< double > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< double > [inline, virtual]
shortName() const eoParam [inline]
theBest (defined in eoFDCStat< EOT >)eoFDCStat< EOT > [private]
theDist()eoFDCStat< EOT > [inline]
theFit() (defined in eoFDCStat< EOT >)eoFDCStat< EOT > [inline]
value()eoValueParam< double > [inline]
value() const eoValueParam< double > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat.html b/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat.html deleted file mode 100644 index 6a55fa7ce..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat.html +++ /dev/null @@ -1,81 +0,0 @@ - - -EO: eoFDCStat< EOT > Class Template Reference - - - - -

eoFDCStat< EOT > Class Template Reference

The FDC computation - stores the values into eoValueParam<EOT,double> so they can be snapshot by some eoGnuplotSnapshot ... -More... -

-#include <eoFDCStat.h> -

-

Inheritance diagram for eoFDCStat< EOT >: -

- -eoStat< EOT, double > -eoValueParam< double > -eoStatBase< EOT > -eoParam -eoUF< const eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoFDCStat (eoDistance< EOT > &_dist, std::string _description="FDC")
 Ctor without the optimum.
eoFDCStat (eoDistance< EOT > &_dist, EOT &_theBest, std::string _description="FDC")
 Ctor with the optimum.
-virtual void operator() (const eoPop< EOT > &_pop)
 Compute the FDC - either from best in pop, or from absolute best if it was passed in the constructor.
-const eoValueParam< std::vector<
- double > > & 
theDist ()
 accessors to the private eoValueParam<std::vector<double> >
-const eoValueParam< std::vector<
- double > > & 
theFit ()

Private Attributes

-eoDistance< EOT > & dist
-EOT theBest
-bool boolOpt
-eoValueParam< std::vector<
- double > > 
distToBest
-eoValueParam< std::vector<
- double > > 
fitnesses
-

Detailed Description

-

template<class EOT>
- class eoFDCStat< EOT >

- -The FDC computation - stores the values into eoValueParam<EOT,double> so they can be snapshot by some eoGnuplotSnapshot ... -

- -

-Definition at line 39 of file eoFDCStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat.png b/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat.png deleted file mode 100644 index fbd9e1838..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_f_d_c_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_factory-members.html b/trunk/paradiseo-eo/doc/html/classeo_factory-members.html deleted file mode 100644 index ed4aaff03..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_factory-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

eoFactory< EOClass > Member List

This is the complete list of members for eoFactory< EOClass >, including all inherited members.

- - - - - -
className() const eoFactory< EOClass > [inline, virtual]
eoFactory()eoFactory< EOClass > [inline]
make(std::istream &_is)=0eoFactory< EOClass > [pure virtual]
~eoFactory()eoFactory< EOClass > [inline, virtual]
~eoObject()eoObject [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_factory.html b/trunk/paradiseo-eo/doc/html/classeo_factory.html deleted file mode 100644 index 90becd18f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_factory.html +++ /dev/null @@ -1,95 +0,0 @@ - - -EO: eoFactory< EOClass > Class Template Reference - - - - -

eoFactory< EOClass > Class Template Reference

EO Factory. -More... -

-#include <eoFactory.h> -

-

Inheritance diagram for eoFactory< EOClass >: -

- -eoObject - -List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

virtual EOClass * make (std::istream &_is)=0
 Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object.
ctors and dtors
eoFactory ()
 constructor
-virtual ~eoFactory ()
 destructor
eoObject methods
-virtual std::string className () const
 Return the class id.
-

Detailed Description

-

template<class EOClass>
- class eoFactory< EOClass >

- -EO Factory. -

-A factory is used to create other objects. In particular, it can be used so that objects of that kind can´t be created in any other way. It should be instantiated with anything that needs a factory, like selectors or whatever; but the instance class should be the parent class from which all the object that are going to be created descend. This class basically defines an interface, as usual. The base factory class for each hierarchy should be redefined every time a new object is added to the hierarchy, which is not too good, but in any case, some code would have to be modified -

- -

-Definition at line 42 of file eoFactory.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOClass>
virtual EOClass* eoFactory< EOClass >::make std::istream &  _is  )  [pure virtual]
-
- - - - - -
-   - - -

-Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. -

-Usually, the format for the std::istream will be\ objectType parameter1 parameter2 ... parametern\ -

-Implemented in eoOpSelMason< eoClass >, eoSelectFactory< EOT >, and eoBitOpFactory< EOT >. -

-Referenced by eoBitOpFactory< EOT >::make().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_factory.png b/trunk/paradiseo-eo/doc/html/classeo_factory.png deleted file mode 100644 index 2cd043419..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_factory.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_file_monitor-members.html b/trunk/paradiseo-eo/doc/html/classeo_file_monitor-members.html deleted file mode 100644 index 71d0f50dd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_file_monitor-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoFileMonitor Member List

This is the complete list of members for eoFileMonitor, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
add(const eoParam &_param)eoMonitor [inline, virtual]
className(void) const (defined in eoMonitor)eoMonitor [inline, virtual]
delim (defined in eoFileMonitor)eoFileMonitor [private]
eoFileMonitor(std::string _filename, std::string _delim=" ", bool _keep=false, bool _header=false) (defined in eoFileMonitor)eoFileMonitor [inline]
filename (defined in eoFileMonitor)eoFileMonitor [private]
firstcall (defined in eoFileMonitor)eoFileMonitor [private]
functor_category()eoF< eoMonitor & > [inline, static]
getFileName() (defined in eoFileMonitor)eoFileMonitor [inline, virtual]
header (defined in eoFileMonitor)eoFileMonitor [private]
iterator typedef (defined in eoMonitor)eoMonitor [protected]
keep (defined in eoFileMonitor)eoFileMonitor [private]
lastCall() (defined in eoMonitor)eoMonitor [inline, virtual]
operator()(void)eoFileMonitor [virtual]
operator()(std::ostream &os) (defined in eoFileMonitor)eoFileMonitor [virtual]
printHeader(void) (defined in eoFileMonitor)eoFileMonitor
printHeader(std::ostream &os) (defined in eoFileMonitor)eoFileMonitor [virtual]
result_type typedefeoF< eoMonitor & >
vec (defined in eoMonitor)eoMonitor [protected]
~eoF()eoF< eoMonitor & > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_file_monitor.html b/trunk/paradiseo-eo/doc/html/classeo_file_monitor.html deleted file mode 100644 index f4a7b556e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_file_monitor.html +++ /dev/null @@ -1,76 +0,0 @@ - - -EO: eoFileMonitor Class Reference - - - - -

eoFileMonitor Class Reference

Prints statistics to file. -More... -

-#include <eoFileMonitor.h> -

-

Inheritance diagram for eoFileMonitor: -

- -eoMonitor -eoF< eoMonitor & > -eoFunctorBase -eoGnuplot1DMonitor - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoFileMonitor (std::string _filename, std::string _delim=" ", bool _keep=false, bool _header=false)
-virtual eoMonitoroperator() (void)
 The pure virtual function that needs to be implemented by the subclass.
-virtual eoMonitoroperator() (std::ostream &os)
-void printHeader (void)
-virtual void printHeader (std::ostream &os)
-virtual std::string getFileName ()

Private Attributes

-std::string filename
-std::string delim
-bool keep
-bool header
-bool firstcall
-

Detailed Description

-Prints statistics to file. -

-Modified the default behavior, so that it erases existing files. Can be modified in the ctor.

-

Version:
MS 25/11/00
- -

- -

-Definition at line 44 of file eoFileMonitor.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_file_monitor.png b/trunk/paradiseo-eo/doc/html/classeo_file_monitor.png deleted file mode 100644 index d9295a0ac..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_file_monitor.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_file_snapshot-members.html b/trunk/paradiseo-eo/doc/html/classeo_file_snapshot-members.html deleted file mode 100644 index 7a69d7ee2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_file_snapshot-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: Member List - - - - -

eoFileSnapshot Member List

This is the complete list of members for eoFileSnapshot, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
add(const eoParam &_param)eoFileSnapshot [inline, virtual]
baseFileName() (defined in eoFileSnapshot)eoFileSnapshot [inline, virtual]
boolChanged (defined in eoFileSnapshot)eoFileSnapshot [private]
className(void) const (defined in eoMonitor)eoMonitor [inline, virtual]
counter (defined in eoFileSnapshot)eoFileSnapshot [private]
currentFileName (defined in eoFileSnapshot)eoFileSnapshot [private]
delim (defined in eoFileSnapshot)eoFileSnapshot [private]
dirname (defined in eoFileSnapshot)eoFileSnapshot [private]
eoFileSnapshot(std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) (defined in eoFileSnapshot)eoFileSnapshot [inline]
filename (defined in eoFileSnapshot)eoFileSnapshot [private]
frequency (defined in eoFileSnapshot)eoFileSnapshot [private]
functor_category()eoF< eoMonitor & > [inline, static]
getCounter()eoFileSnapshot [inline]
getDirName() (defined in eoFileSnapshot)eoFileSnapshot [inline, virtual]
getFileName()eoFileSnapshot [inline]
hasChanged()eoFileSnapshot [inline, virtual]
iterator typedef (defined in eoMonitor)eoMonitor [protected]
lastCall() (defined in eoMonitor)eoMonitor [inline, virtual]
operator()(void)eoFileSnapshot [inline, virtual]
operator()(std::ostream &_os)eoFileSnapshot [inline]
result_type typedefeoF< eoMonitor & >
setCurrentFileName()eoFileSnapshot [inline]
vDouble typedef (defined in eoFileSnapshot)eoFileSnapshot
vDoubleParam typedef (defined in eoFileSnapshot)eoFileSnapshot
vec (defined in eoMonitor)eoMonitor [protected]
~eoF()eoF< eoMonitor & > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_file_snapshot.html b/trunk/paradiseo-eo/doc/html/classeo_file_snapshot.html deleted file mode 100644 index bcb21e5c9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_file_snapshot.html +++ /dev/null @@ -1,110 +0,0 @@ - - -EO: eoFileSnapshot Class Reference - - - - -

eoFileSnapshot Class Reference

Prints snapshots of fitnesses to a (new) file every N generations. -More... -

-#include <eoFileSnapshot.h> -

-

Inheritance diagram for eoFileSnapshot: -

- -eoMonitor -eoF< eoMonitor & > -eoFunctorBase -eoFDCFileSnapshot< EOT > -eoGnuplot1DSnapshot - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef std::vector< double > vDouble
-typedef eoValueParam< std::vector<
- double > > 
vDoubleParam

Public Member Functions

eoFileSnapshot (std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true)
-virtual bool hasChanged ()
 accessor: has something changed (for gnuplot subclass)
-unsigned getCounter ()
 accessor to the counter: needed by the gnuplot subclass
-std::string getFileName ()
 accessor to the current filename: needed by the gnuplot subclass
-void setCurrentFileName ()
 sets the current filename depending on the counter
-eoMonitoroperator() (void)
 The operator(void): opens the std::ostream and calls the write method.
-eoMonitoroperator() (std::ostream &_os)
 The operator(): write on an std::ostream.
-virtual const std::string getDirName ()
-virtual const std::string baseFileName ()
-void add (const eoParam &_param)
 add checks whether it is a std::vector of doubles

Private Attributes

-std::string dirname
-unsigned frequency
-std::string filename
-std::string delim
-unsigned int counter
-std::string currentFileName
-bool boolChanged
-

Detailed Description

-Prints snapshots of fitnesses to a (new) file every N generations. -

-Assumes that the parameters that are passed to the monitor (method add in eoMonitor.h) are eoValueParam<std::vector<double> > of same size.

-A dir is created and one file per snapshot is created there - so you can later generate a movie!

-TODO: The counter is handled internally, but this should be changed so that you can pass e.g. an evalcounter (minor)

-I failed to templatize everything so that it can handle eoParam<std::vector<T> > for any type T, simply calling their getValue method ... -

- -

-Definition at line 53 of file eoFileSnapshot.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_file_snapshot.png b/trunk/paradiseo-eo/doc/html/classeo_file_snapshot.png deleted file mode 100644 index d00cdfe85..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_file_snapshot.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fit_continue-members.html b/trunk/paradiseo-eo/doc/html/classeo_fit_continue-members.html deleted file mode 100644 index 90259ad35..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fit_continue-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoFitContinue< EOT > Member List

This is the complete list of members for eoFitContinue< EOT >, including all inherited members.

- - - - - - - - - - - - -
className(void) const (defined in eoFitContinue< EOT >)eoFitContinue< EOT > [inline, virtual]
eoFitContinue(const FitnessType _maximum)eoFitContinue< EOT > [inline]
FitnessType typedefeoFitContinue< EOT >
functor_category()eoUF< const eoPop< EOT > &, bool > [inline, static]
maximum (defined in eoFitContinue< EOT >)eoFitContinue< EOT > [private]
operator()(const eoPop< EOT > &_pop)eoFitContinue< EOT > [inline, virtual]
printOn(std::ostream &__os) const eoContinue< EOT > [inline, virtual]
readFrom(std::istream &__is)eoContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fit_continue.html b/trunk/paradiseo-eo/doc/html/classeo_fit_continue.html deleted file mode 100644 index 48c9ea88d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fit_continue.html +++ /dev/null @@ -1,103 +0,0 @@ - - -EO: eoFitContinue< EOT > Class Template Reference - - - - -

eoFitContinue< EOT > Class Template Reference

Fitness continuation:. -More... -

-#include <eoFitContinue.h> -

-

Inheritance diagram for eoFitContinue< EOT >: -

- -eoContinue< EOT > -eoUF< const eoPop< EOT > &, bool > -eoPersistent -eoFunctorBase -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness FitnessType
 Define Fitness.

Public Member Functions

eoFitContinue (const FitnessType _maximum)
 Ctor.
virtual bool operator() (const eoPop< EOT > &_pop)
 Returns false when a fitness criterium is reached.
-virtual std::string className (void) const

Private Attributes

-FitnessType maximum
-

Detailed Description

-

template<class EOT>
- class eoFitContinue< EOT >

- -Fitness continuation:. -

-Continues until the maximum fitness level is reached. -

- -

-Definition at line 36 of file eoFitContinue.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual bool eoFitContinue< EOT >::operator() const eoPop< EOT > &  _pop  )  [inline, virtual]
-
- - - - - -
-   - - -

-Returns false when a fitness criterium is reached. -

-Assumes pop is not sorted! -

-Implements eoUF< const eoPop< EOT > &, bool >. -

-Definition at line 48 of file eoFitContinue.h. -

-References eoPop< EOT >::nth_element_fitness().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fit_continue.png b/trunk/paradiseo-eo/doc/html/classeo_fit_continue.png deleted file mode 100644 index 031393d7f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fit_continue.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select-members.html deleted file mode 100644 index 726a7f733..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select-members.html +++ /dev/null @@ -1,27 +0,0 @@ - - -EO: Member List - - - - -

eoFitnessScalingSelect< EOT > Member List

This is the complete list of members for eoFitnessScalingSelect< EOT >, including all inherited members.

- - - - - - - - - - - - - -
check_sync(unsigned index, const EOT &_eo) (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [inline, protected]
eoFitnessScalingSelect(double _p=2.0)eoFitnessScalingSelect< EOT > [inline]
eoRouletteWorthSelect(eoPerf2Worth< EOT, double > &_perf2Worth) (defined in eoRouletteWorthSelect< EOT, double >)eoRouletteWorthSelect< EOT, double > [inline]
eoSelectFromWorth(eoPerf2Worth< EOT, double > &_perf2Worth) (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [inline]
fitness (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [protected]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoRouletteWorthSelect< EOT, double > [inline, virtual]
perf2Worth (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [protected]
scaling (defined in eoFitnessScalingSelect< EOT >)eoFitnessScalingSelect< EOT > [private]
setup(const eoPop< EOT > &_pop)eoRouletteWorthSelect< EOT, double > [inline, virtual]
worthIterator typedef (defined in eoRouletteWorthSelect< EOT, double >)eoRouletteWorthSelect< EOT, double >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select.html b/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select.html deleted file mode 100644 index 8e30e2833..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select.html +++ /dev/null @@ -1,90 +0,0 @@ - - -EO: eoFitnessScalingSelect< EOT > Class Template Reference - - - - -

eoFitnessScalingSelect< EOT > Class Template Reference

eoFitnessScalingSelect: select an individual proportional to the linearly scaled fitness that is computed by the private eoLinearFitScaling object -More... -

-#include <eoFitnessScalingSelect.h> -

-

Inheritance diagram for eoFitnessScalingSelect< EOT >: -

- -eoRouletteWorthSelect< EOT, double > -eoSelectFromWorth< EOT, double > -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

 eoFitnessScalingSelect (double _p=2.0)
 Ctor:.

Private Attributes

-eoLinearFitScaling< EOTscaling
-

Detailed Description

-

template<class EOT>
- class eoFitnessScalingSelect< EOT >

- -eoFitnessScalingSelect: select an individual proportional to the linearly scaled fitness that is computed by the private eoLinearFitScaling object -

- -

-Definition at line 40 of file eoFitnessScalingSelect.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
eoFitnessScalingSelect< EOT >::eoFitnessScalingSelect double  _p = 2.0  )  [inline]
-
- - - - - -
-   - - -

-Ctor:. -

-

Parameters:
- - -
_p the selective pressure, should be in [1,2] (2 is the default)
-
- -

-Definition at line 46 of file eoFitnessScalingSelect.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select.png b/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select.png deleted file mode 100644 index fc1791814..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fitness_scaling_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fitness_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_fitness_stat-members.html deleted file mode 100644 index 8ab3d325c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fitness_stat-members.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: Member List - - - - -

eoFitnessStat< EOT, FitT > Member List

This is the complete list of members for eoFitnessStat< EOT, FitT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoSortedStat< EOT, std::vector< FitT > >)eoSortedStat< EOT, std::vector< FitT > > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoFitnessStat(std::string _description="AllFitnesses") (defined in eoFitnessStat< EOT, FitT >)eoFitnessStat< EOT, FitT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoSortedStat(std::vector< FitT >_value, std::string _desc) (defined in eoSortedStat< EOT, std::vector< FitT > >)eoSortedStat< EOT, std::vector< FitT > > [inline]
eoValueParam(void)eoValueParam< std::vector< FitT > > [inline]
eoValueParam(std::vector< FitT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< FitT > > [inline]
functor_category()eoUF< const std::vector< const EOT * > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< FitT > > [inline, virtual]
lastCall(const std::vector< const EOT * > &) (defined in eoSortedStatBase< EOT >)eoSortedStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const std::vector< const EOT * > &_popPters)eoFitnessStat< EOT, FitT > [inline, virtual]
repValue (defined in eoValueParam< std::vector< FitT > >)eoValueParam< std::vector< FitT > > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< FitT > > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< std::vector< FitT > > [inline]
value() const eoValueParam< std::vector< FitT > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const std::vector< const EOT * > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fitness_stat.html b/trunk/paradiseo-eo/doc/html/classeo_fitness_stat.html deleted file mode 100644 index 7e6cf8d74..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fitness_stat.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: eoFitnessStat< EOT, FitT > Class Template Reference - - - - -

eoFitnessStat< EOT, FitT > Class Template Reference

The fitnesses of a whole population, as a vector. -More... -

-#include <eoMOFitnessStat.h> -

-

Inheritance diagram for eoFitnessStat< EOT, FitT >: -

- -eoSortedStat< EOT, std::vector< FitT > > -eoSortedStatBase< EOT > -eoValueParam< std::vector< FitT > > -eoUF< const std::vector< const EOT * > &, void > -eoParam -eoFunctorBase - -List of all members. - - - - - - - -

Public Member Functions

eoFitnessStat (std::string _description="AllFitnesses")
-virtual void operator() (const std::vector< const EOT * > &_popPters)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT, class FitT = typename EOT::Fitness>
- class eoFitnessStat< EOT, FitT >

- -The fitnesses of a whole population, as a vector. -

- -

-Definition at line 36 of file eoMOFitnessStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fitness_stat.png b/trunk/paradiseo-eo/doc/html/classeo_fitness_stat.png deleted file mode 100644 index 8a3e0a766..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fitness_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op-members.html deleted file mode 100644 index b524b4f67..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoFlOr1ptBinOp< EOT > Member List

This is the complete list of members for eoFlOr1ptBinOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoFlOr1ptBinOp< EOT >)eoFlOr1ptBinOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOr1ptBinOp< EOT > [inline, virtual]
eoBinOp()eoBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoVlUniformBinOp()eoFlOr1ptBinOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo1, EOT &_eo2)eoFlOr1ptBinOp< EOT > [inline]
eoBinOp< EOT >::operator()(EOT &, const EOT &)=0eoBF< EOT &, const EOT &, bool > [pure virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op.html deleted file mode 100644 index edaa91908..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoFlOr1ptBinOp< EOT > Class Template Reference - - - - -

eoFlOr1ptBinOp< EOT > Class Template Reference

The 1pt crossover (just in case someone wants it some day!). -More... -

-#include <eoFlOrBinOp.h> -

-

Inheritance diagram for eoFlOr1ptBinOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoVlUniformBinOp ()
 default ctor: no argument
-bool operator() (EOT &_eo1, EOT &_eo2)
 exchanges first and second parts of the vectors of Atoms
-virtual string className () const
 inherited className()
-

Detailed Description

-

template<class EOT>
- class eoFlOr1ptBinOp< EOT >

- -The 1pt crossover (just in case someone wants it some day!). -

- -

-Definition at line 181 of file eoFlOrBinOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op.png deleted file mode 100644 index db82d7f37..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op-members.html deleted file mode 100644 index 264883cb9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoFlOr1ptQuadOp< EOT > Member List

This is the complete list of members for eoFlOr1ptQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoFlOr1ptQuadOp< EOT >)eoFlOr1ptQuadOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOr1ptQuadOp< EOT > [inline, virtual]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
eoVlUniformQuadOp()eoFlOr1ptQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo1, EOT &_eo2)eoFlOr1ptQuadOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op.html deleted file mode 100644 index df29401d2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoFlOr1ptQuadOp< EOT > Class Template Reference - - - - -

eoFlOr1ptQuadOp< EOT > Class Template Reference

The 1pt crossover (just in case someone wants it some day!). -More... -

-#include <eoFlOrQuadOp.h> -

-

Inheritance diagram for eoFlOr1ptQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoVlUniformQuadOp ()
 default ctor: no argument
-bool operator() (EOT &_eo1, EOT &_eo2)
 exchanges first and second parts of the vectors of Atoms
-virtual string className () const
 inherited className()
-

Detailed Description

-

template<class EOT>
- class eoFlOr1ptQuadOp< EOT >

- -The 1pt crossover (just in case someone wants it some day!). -

- -

-Definition at line 173 of file eoFlOrQuadOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op.png deleted file mode 100644 index 45c9339a5..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or1pt_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op-members.html deleted file mode 100644 index a3039ada7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoFlOrAllAtomBinOp< EOT > Member List

This is the complete list of members for eoFlOrAllAtomBinOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoFlOrAllAtomBinOp< EOT >)eoFlOrAllAtomBinOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOrAllAtomBinOp< EOT > [inline, virtual]
eoBinOp()eoBinOp< EOT > [inline]
eoFlOrAllAtomBinOp(eoBinOp< AtomType > &_op, float _rate=1.0)eoFlOrAllAtomBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
op (defined in eoFlOrAllAtomBinOp< EOT >)eoFlOrAllAtomBinOp< EOT > [private]
operator()(EOT &_eo1, const EOT &_eo2)eoFlOrAllAtomBinOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rate (defined in eoFlOrAllAtomBinOp< EOT >)eoFlOrAllAtomBinOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op.html deleted file mode 100644 index 44d4d4a7b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoFlOrAllAtomBinOp< EOT > Class Template Reference - - - - -

eoFlOrAllAtomBinOp< EOT > Class Template Reference

Bin Crossover using an Atom Crossover that is applied to a ALL components with given rate. -More... -

-#include <eoFlOrBinOp.h> -

-

Inheritance diagram for eoFlOrAllAtomBinOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoFlOrAllAtomBinOp (eoBinOp< AtomType > &_op, float _rate=1.0)
 default ctor: requires an Atom BinOp
-bool operator() (EOT &_eo1, const EOT &_eo2)
 applies Atom crossover to ALL components with given rate
-virtual string className () const
 inherited className()

Private Attributes

-double rate
-eoBinOp< AtomType > & op
-

Detailed Description

-

template<class EOT>
- class eoFlOrAllAtomBinOp< EOT >

- -Bin Crossover using an Atom Crossover that is applied to a ALL components with given rate. -

- -

-Definition at line 49 of file eoFlOrBinOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op.png deleted file mode 100644 index 0038dd098..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op-members.html deleted file mode 100644 index 0a4d39994..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoFlOrAllAtomQuadOp< EOT > Member List

This is the complete list of members for eoFlOrAllAtomQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoFlOrAllAtomQuadOp< EOT >)eoFlOrAllAtomQuadOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOrAllAtomQuadOp< EOT > [inline, virtual]
eoFlOrAllAtomQuadOp(eoQuadOp< AtomType > &_op, double _rate=1)eoFlOrAllAtomQuadOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
op (defined in eoFlOrAllAtomQuadOp< EOT >)eoFlOrAllAtomQuadOp< EOT > [private]
operator()(EOT &_eo1, EOT &_eo2)eoFlOrAllAtomQuadOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rate (defined in eoFlOrAllAtomQuadOp< EOT >)eoFlOrAllAtomQuadOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op.html deleted file mode 100644 index 44b696523..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoFlOrAllAtomQuadOp< EOT > Class Template Reference - - - - -

eoFlOrAllAtomQuadOp< EOT > Class Template Reference

Quad Crossover using an Atom Crossover. -More... -

-#include <eoFlOrQuadOp.h> -

-

Inheritance diagram for eoFlOrAllAtomQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoFlOrAllAtomQuadOp (eoQuadOp< AtomType > &_op, double _rate=1)
 default ctor: requires an Atom QuadOp
-bool operator() (EOT &_eo1, EOT &_eo2)
 applies Atom crossover to ALL components with given rate
-virtual string className () const
 inherited className()

Private Attributes

-double rate
-eoQuadOp< AtomType > & op
-

Detailed Description

-

template<class EOT>
- class eoFlOrAllAtomQuadOp< EOT >

- -Quad Crossover using an Atom Crossover. -

- -

-Definition at line 46 of file eoFlOrQuadOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op.png deleted file mode 100644 index aba21efdf..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_atom_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation-members.html deleted file mode 100644 index 79051bc29..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoFlOrAllMutation< EOT > Member List

This is the complete list of members for eoFlOrAllMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
atomMutation (defined in eoFlOrAllMutation< EOT >)eoFlOrAllMutation< EOT > [private]
AtomType typedef (defined in eoFlOrAllMutation< EOT >)eoFlOrAllMutation< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOrAllMutation< EOT > [inline, virtual]
eoFlOrAllMutation(eoMonOp< AtomType > &_atomMutation, double _rate=1.0)eoFlOrAllMutation< EOT > [inline]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo)eoFlOrAllMutation< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rate (defined in eoFlOrAllMutation< EOT >)eoFlOrAllMutation< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation.html deleted file mode 100644 index e5d6f4cd3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoFlOrAllMutation< EOT > Class Template Reference - - - - -

eoFlOrAllMutation< EOT > Class Template Reference

applies an atomic mutation to all the components with a given rate -More... -

-#include <eoFlOrMonOp.h> -

-

Inheritance diagram for eoFlOrAllMutation< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoFlOrAllMutation (eoMonOp< AtomType > &_atomMutation, double _rate=1.0)
 default ctor: requires an Atom mutation and a rate
-bool operator() (EOT &_eo)
 applies the atom mutation to all components with given rate
-virtual std::string className () const
 inherited className()

Private Attributes

-eoMonOp< AtomType > & atomMutation
-double rate
-

Detailed Description

-

template<class EOT>
- class eoFlOrAllMutation< EOT >

- -applies an atomic mutation to all the components with a given rate -

- -

-Definition at line 45 of file eoFlOrMonOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation.png deleted file mode 100644 index 1156fb0db..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or_all_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op-members.html deleted file mode 100644 index 2c22a8478..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoFlOrKAtomBinOp< EOT > Member List

This is the complete list of members for eoFlOrKAtomBinOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoFlOrKAtomBinOp< EOT >)eoFlOrKAtomBinOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOrKAtomBinOp< EOT > [inline, virtual]
eoBinOp()eoBinOp< EOT > [inline]
eoFlOrAtomBinOp(eoBinOp< AtomType > &_op, unsigned _k=1)eoFlOrKAtomBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
k (defined in eoFlOrKAtomBinOp< EOT >)eoFlOrKAtomBinOp< EOT > [private]
op (defined in eoFlOrKAtomBinOp< EOT >)eoFlOrKAtomBinOp< EOT > [private]
operator()(EOT &_eo1, const EOT &_eo2)eoFlOrKAtomBinOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op.html deleted file mode 100644 index a794d3c4e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoFlOrKAtomBinOp< EOT > Class Template Reference - - - - -

eoFlOrKAtomBinOp< EOT > Class Template Reference

Bin Crossover using an Atom Crossover that is applied to a FIXED NB of components. -More... -

-#include <eoFlOrBinOp.h> -

-

Inheritance diagram for eoFlOrKAtomBinOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoFlOrAtomBinOp (eoBinOp< AtomType > &_op, unsigned _k=1)
 default ctor: requires an Atom BinOp and an unsigned
-bool operator() (EOT &_eo1, const EOT &_eo2)
 applies the Atom BinOp to some components
-virtual string className () const
 inherited className()

Private Attributes

-unsigned k
-eoBinOp< AtomType > & op
-

Detailed Description

-

template<class EOT>
- class eoFlOrKAtomBinOp< EOT >

- -Bin Crossover using an Atom Crossover that is applied to a FIXED NB of components. -

- -

-Definition at line 92 of file eoFlOrBinOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op.png deleted file mode 100644 index 698a47450..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op-members.html deleted file mode 100644 index 598045353..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoFlOrKAtomQuadOp< EOT > Member List

This is the complete list of members for eoFlOrKAtomQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoFlOrKAtomQuadOp< EOT >)eoFlOrKAtomQuadOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOrKAtomQuadOp< EOT > [inline, virtual]
eoFlOrAtomQuadOp(eoQuadOp< AtomType > &_op, unsigned _k=1)eoFlOrKAtomQuadOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
k (defined in eoFlOrKAtomQuadOp< EOT >)eoFlOrKAtomQuadOp< EOT > [private]
op (defined in eoFlOrKAtomQuadOp< EOT >)eoFlOrKAtomQuadOp< EOT > [private]
operator()(EOT &_eo1, const EOT &_eo2)eoFlOrKAtomQuadOp< EOT > [inline]
eoQuadOp< EOT >::operator()(EOT &, EOT &)=0eoBF< EOT &, EOT &, bool > [pure virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op.html deleted file mode 100644 index 21fcd815c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoFlOrKAtomQuadOp< EOT > Class Template Reference - - - - -

eoFlOrKAtomQuadOp< EOT > Class Template Reference

Quad Crossover using an Atom Crossover that is applied to a FIXED NB of components. -More... -

-#include <eoFlOrQuadOp.h> -

-

Inheritance diagram for eoFlOrKAtomQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoFlOrAtomQuadOp (eoQuadOp< AtomType > &_op, unsigned _k=1)
 default ctor: requires an Atom QuadOp and an unsigned
-bool operator() (EOT &_eo1, const EOT &_eo2)
 applies the Atom QuadOp to some components
-virtual string className () const
 inherited className()

Private Attributes

-unsigned k
-eoQuadOp< AtomType > & op
-

Detailed Description

-

template<class EOT>
- class eoFlOrKAtomQuadOp< EOT >

- -Quad Crossover using an Atom Crossover that is applied to a FIXED NB of components. -

- -

-Definition at line 84 of file eoFlOrQuadOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op.png deleted file mode 100644 index 07da3a390..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_atom_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation-members.html deleted file mode 100644 index d701e1f1e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoFlOrKMutation< EOT > Member List

This is the complete list of members for eoFlOrKMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
atomMutation (defined in eoFlOrKMutation< EOT >)eoFlOrKMutation< EOT > [private]
AtomType typedef (defined in eoFlOrKMutation< EOT >)eoFlOrKMutation< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOrKMutation< EOT > [inline, virtual]
eoFlOrKMutation(eoMonOp< AtomType > &_atomMutation, unsigned _nb=1)eoFlOrKMutation< EOT > [inline]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
nb (defined in eoFlOrKMutation< EOT >)eoFlOrKMutation< EOT > [private]
operator()(EOT &_eo)eoFlOrKMutation< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation.html deleted file mode 100644 index d337aba58..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoFlOrKMutation< EOT > Class Template Reference - - - - -

eoFlOrKMutation< EOT > Class Template Reference

Applies an atomic mutation to a fixed number of components (1 by default). -More... -

-#include <eoFlOrMonOp.h> -

-

Inheritance diagram for eoFlOrKMutation< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoFlOrKMutation (eoMonOp< AtomType > &_atomMutation, unsigned _nb=1)
 default ctor: requires an Atom mutation
-bool operator() (EOT &_eo)
 applies the atom mutation to K randomly selected components
-virtual std::string className () const
 inherited className()

Private Attributes

-unsigned nb
-eoMonOp< AtomType > & atomMutation
-

Detailed Description

-

template<class EOT>
- class eoFlOrKMutation< EOT >

- -Applies an atomic mutation to a fixed number of components (1 by default). -

- -

-Definition at line 82 of file eoFlOrMonOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation.png deleted file mode 100644 index 7e10ffa11..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or_k_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op-members.html deleted file mode 100644 index 19f21af4d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoFlOrUniformBinOp< EOT > Member List

This is the complete list of members for eoFlOrUniformBinOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoFlOrUniformBinOp< EOT >)eoFlOrUniformBinOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOrUniformBinOp< EOT > [inline, virtual]
eoBinOp()eoBinOp< EOT > [inline]
eoFlOrUniformBinOp(double _rate=0.5)eoFlOrUniformBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo1, const EOT &_eo2)eoFlOrUniformBinOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rate (defined in eoFlOrUniformBinOp< EOT >)eoFlOrUniformBinOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op.html deleted file mode 100644 index 47fa5f6a6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: eoFlOrUniformBinOp< EOT > Class Template Reference - - - - -

eoFlOrUniformBinOp< EOT > Class Template Reference

The uniform crossover - exchanges atoms uniformly ! -More... -

-#include <eoFlOrBinOp.h> -

-

Inheritance diagram for eoFlOrUniformBinOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoFlOrUniformBinOp (double _rate=0.5)
 default ctor: requires a rate - 0.5 by default
-bool operator() (EOT &_eo1, const EOT &_eo2)
 excahnges atoms at given rate
-virtual string className () const
 inherited className()

Private Attributes

-double rate
-

Detailed Description

-

template<class EOT>
- class eoFlOrUniformBinOp< EOT >

- -The uniform crossover - exchanges atoms uniformly ! -

- -

-Definition at line 136 of file eoFlOrBinOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op.png deleted file mode 100644 index fafa92a81..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op-members.html deleted file mode 100644 index 7ed4d9807..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoFlOrUniformQuadOp< EOT > Member List

This is the complete list of members for eoFlOrUniformQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoFlOrUniformQuadOp< EOT >)eoFlOrUniformQuadOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoFlOrUniformQuadOp< EOT > [inline, virtual]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
eoVlUniformQuadOp(double _rate=0.5)eoFlOrUniformQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo1, EOT &_eo2)eoFlOrUniformQuadOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rate (defined in eoFlOrUniformQuadOp< EOT >)eoFlOrUniformQuadOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op.html deleted file mode 100644 index dfa3ab32b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: eoFlOrUniformQuadOp< EOT > Class Template Reference - - - - -

eoFlOrUniformQuadOp< EOT > Class Template Reference

The uniform crossover - exchanges atoms uniformly ! -More... -

-#include <eoFlOrQuadOp.h> -

-

Inheritance diagram for eoFlOrUniformQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoVlUniformQuadOp (double _rate=0.5)
 default ctor: requires a rate - 0.5 by default
-bool operator() (EOT &_eo1, EOT &_eo2)
 excahnges atoms at given rate
-virtual string className () const
 inherited className()

Private Attributes

-double rate
-

Detailed Description

-

template<class EOT>
- class eoFlOrUniformQuadOp< EOT >

- -The uniform crossover - exchanges atoms uniformly ! -

- -

-Definition at line 127 of file eoFlOrQuadOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op.png deleted file mode 100644 index 03dec4590..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_fl_or_uniform_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_functor_base-members.html b/trunk/paradiseo-eo/doc/html/classeo_functor_base-members.html deleted file mode 100644 index 66852cce9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_functor_base-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EO: Member List - - - - -

eoFunctorBase Member List

This is the complete list of members for eoFunctorBase, including all inherited members.

- -
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_functor_base.html b/trunk/paradiseo-eo/doc/html/classeo_functor_base.html deleted file mode 100644 index 389309d61..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_functor_base.html +++ /dev/null @@ -1,115 +0,0 @@ - - -EO: eoFunctorBase Class Reference - - - - -

eoFunctorBase Class Reference

Base class for functors to get a nice hierarchy diagram. -More... -

-#include <eoFunctor.h> -

-

Inheritance diagram for eoFunctorBase: -

- -eoBF< A1, A2, R > -eoBF< Chrom &, Chrom &, bool > -eoBF< const Dummy &, const Dummy &, double > -eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void > -eoBF< const EOT &, const EOT &, double > -eoBF< double &, const double &, bool > -eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > -eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoBF< eoPop< EOT > &, unsigned, void > -eoBF< eoPop< EoType > &, eoPop< EoType > &, void > -eoBF< eoPop< PyEO > &, unsigned, void > -eoBF< EOT &, const EOT &, bool > -eoBF< EOT &, EOT &, bool > -eoBF< EOType &, const EOType &, bool > -eoBF< EoType &, const EoType &, bool > -eoBF< EoType &, EoType &, bool > -eoBF< EOType &, EOType &, bool > -eoBF< eoVirus< FitT > &, const eoVirus< FitT > &, bool > -eoBF< ExternalEO &, const ExternalEO &, bool > -eoBF< ExternalEO &, ExternalEO &, bool > -eoBF< GenotypeT &, GenotypeT &, bool > -eoBF< PyEO &, const PyEO &, bool > -eoBF< PyEO &, PyEO &, bool > -eoBF< unsigned, Atom &, bool > -eoF< R > -eoF< bool > -eoF< eoMonitor & > -eoF< EOT > -eoF< int > -eoF< T > -eoF< void > -eoUF< A1, R > -eoUF< bool &, bool > -eoUF< bool &, void > -eoUF< Chrom &, bool > -eoUF< Chrom &, void > -eoUF< const eoPop< EOT > &, bool > -eoUF< const eoPop< EOT > &, const EOT & > -eoUF< const eoPop< EOT > &, void > -eoUF< const eoPop< EoType > &, void > -eoUF< const eoPop< PyEO > &, const PyEO & > -eoUF< const eoPop< PyEO > &, void > -eoUF< const std::vector< const EOT * > &, void > -eoUF< const std::vector< const EoType * > &, void > -eoUF< const std::vector< const PyEO * > &, void > -eoUF< eoDistribution< EOT > &, void > -eoUF< eoDouble &, bool > -eoUF< eoDouble &, void > -eoUF< eoParseTree< FitnessType, Node > &, void > -eoUF< eoParseTree< FType, Node > &, bool > -eoUF< eoParseTree< FType, Node > &, void > -eoUF< eoPop< EOT > &, void > -eoUF< eoPopulator< EOT > &, void > -eoUF< eoPopulator< PyEO > &, void > -eoUF< EOT &, bool > -eoUF< EOT &, unsigned int > -eoUF< EOT &, void > -eoUF< EoType &, bool > -eoUF< EOType &, bool > -eoUF< EoType &, void > -eoUF< eoVector< FitT, double > &, void > -eoUF< eoVirus< FitT > &, bool > -eoUF< eoVirus< FitT > &, void > -eoUF< ExternalEO &, bool > -eoUF< ExternalEO &, void > -eoUF< GenotypeT &, bool > -eoUF< GenotypeT &, void > -eoUF< int &, void > -eoUF< PyEO &, bool > -eoUF< T &, void > - -List of all members. - - - - - -

Public Member Functions

-virtual ~eoFunctorBase ()
 virtual dtor here so there is no need to define it in derived classes
-

Detailed Description

-Base class for functors to get a nice hierarchy diagram. -

-That's actually quite an understatement as it does quite a bit more than just that. By having all functors derive from the same base class, we can do some memory management that would otherwise be very hard.

-The memory management base class is called eoFunctorStore, and it supports a member add() to add a pointer to a functor. When the functorStore is destroyed, it will delete all those pointers. So beware: do not delete the functorStore before you are done with anything that might have been allocated.

-

See also:
eoFunctorStore
- -

- -

-Definition at line 46 of file eoFunctor.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_functor_base.png b/trunk/paradiseo-eo/doc/html/classeo_functor_base.png deleted file mode 100644 index b3ced603b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_functor_base.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_functor_store-members.html b/trunk/paradiseo-eo/doc/html/classeo_functor_store-members.html deleted file mode 100644 index c13ef8802..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_functor_store-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoFunctorStore Member List

This is the complete list of members for eoFunctorStore, including all inherited members.

- - - - - - -
eoFunctorStore()eoFunctorStore [inline]
eoFunctorStore(const eoFunctorStore &)eoFunctorStore [private]
operator=(const eoFunctorStore &)eoFunctorStore [private]
storeFunctor(Functor *r)eoFunctorStore [inline]
vec (defined in eoFunctorStore)eoFunctorStore [private]
~eoFunctorStore()eoFunctorStore [virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_functor_store.html b/trunk/paradiseo-eo/doc/html/classeo_functor_store.html deleted file mode 100644 index e29cb0d58..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_functor_store.html +++ /dev/null @@ -1,62 +0,0 @@ - - -EO: eoFunctorStore Class Reference - - - - -

eoFunctorStore Class Reference

eoFunctorStore is a class that stores functors that are allocated on the heap. -More... -

-#include <eoFunctorStore.h> -

-

Inheritance diagram for eoFunctorStore: -

- -eoState - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoFunctorStore ()
 Default Ctor.
-virtual ~eoFunctorStore ()
 clears the memory
-template<class Functor>
Functor & storeFunctor (Functor *r)
 Add an eoFunctorBase to the store.

Private Member Functions

eoFunctorStore (const eoFunctorStore &)
 no copying allowed
-eoFunctorStore operator= (const eoFunctorStore &)
 no copying allowed

Private Attributes

-std::vector< eoFunctorBase * > vec
-

Detailed Description

-eoFunctorStore is a class that stores functors that are allocated on the heap. -

-This class can be used in factories to store allocated memory for dynamically created functors. -

- -

-Definition at line 39 of file eoFunctorStore.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_functor_store.png b/trunk/paradiseo-eo/doc/html/classeo_functor_store.png deleted file mode 100644 index 28e382d0f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_functor_store.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_g3_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_g3_replacement-members.html deleted file mode 100644 index 0878fd936..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_g3_replacement-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoG3Replacement< EOT > Member List

This is the complete list of members for eoG3Replacement< EOT >, including all inherited members.

- - - - - - - - -
eoG3Replacement(eoHowMany _howManyEliminatedParents=eoHowMany(2, false)) (defined in eoG3Replacement< EOT >)eoG3Replacement< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoG3Replacement< EOT > [inline, virtual]
plus (defined in eoG3Replacement< EOT >)eoG3Replacement< EOT > [private]
reduce (defined in eoG3Replacement< EOT >)eoG3Replacement< EOT > [private]
split (defined in eoG3Replacement< EOT >)eoG3Replacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_g3_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_g3_replacement.html deleted file mode 100644 index a3e7e2ea1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_g3_replacement.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoG3Replacement< EOT > Class Template Reference - - - - -

eoG3Replacement< EOT > Class Template Reference

eoG3Replacement is an eoReplacement: - no strong elitism (is suppposed to be within a steady-state engine) - choose N (2) parents RANDOMLY - remove them from the parent population - merge offspring and the N removed parents - select best N of this merged population - put them back into parent population -More... -

-#include <eoG3Replacement.h> -

-

Inheritance diagram for eoG3Replacement< EOT >: -

- -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

eoG3Replacement (eoHowMany _howManyEliminatedParents=eoHowMany(2, false))
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoLinearTruncateSplit< EOTsplit
-eoTruncateSplit< EOTreduce
-eoPlus< EOTplus
-

Detailed Description

-

template<class EOT>
- class eoG3Replacement< EOT >

- -eoG3Replacement is an eoReplacement: - no strong elitism (is suppposed to be within a steady-state engine) - choose N (2) parents RANDOMLY - remove them from the parent population - merge offspring and the N removed parents - select best N of this merged population - put them back into parent population -

- -

-Definition at line 50 of file eoG3Replacement.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_g3_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_g3_replacement.png deleted file mode 100644 index 617d43018..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_g3_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_gen_continue-members.html b/trunk/paradiseo-eo/doc/html/classeo_gen_continue-members.html deleted file mode 100644 index 889fd0262..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gen_continue-members.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: Member List - - - - -

eoGenContinue< EOT > Member List

This is the complete list of members for eoGenContinue< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoGenContinue< EOT >)eoGenContinue< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoGenContinue(unsigned long _totalGens)eoGenContinue< EOT > [inline]
eoGenContinue(unsigned long _totalGens, unsigned long &_currentGen)eoGenContinue< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoValueParam(void)eoValueParam< unsigned > [inline]
eoValueParam(unsigned_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< unsigned > [inline]
functor_category()eoUF< const eoPop< EOT > &, bool > [inline, static]
getValue(void) const eoValueParam< unsigned > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_vEO)eoGenContinue< EOT > [inline, virtual]
printOn(std::ostream &__os) const eoGenContinue< EOT > [inline, virtual]
readFrom(std::istream &__is)eoGenContinue< EOT > [inline, virtual]
repTotalGenerations (defined in eoGenContinue< EOT >)eoGenContinue< EOT > [private]
repValue (defined in eoValueParam< unsigned >)eoValueParam< unsigned > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< unsigned > [inline, virtual]
shortName() const eoParam [inline]
thisGeneration (defined in eoGenContinue< EOT >)eoGenContinue< EOT > [private]
thisGenerationPlaceHolder (defined in eoGenContinue< EOT >)eoGenContinue< EOT > [private]
totalGenerations(unsigned long _tg)eoGenContinue< EOT > [inline, virtual]
totalGenerations()eoGenContinue< EOT > [inline, virtual]
value()eoValueParam< unsigned > [inline]
value() const eoValueParam< unsigned > [inline]
verbose (defined in eoGenContinue< EOT >)eoGenContinue< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gen_continue.html b/trunk/paradiseo-eo/doc/html/classeo_gen_continue.html deleted file mode 100644 index 7eb3a6656..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gen_continue.html +++ /dev/null @@ -1,178 +0,0 @@ - - -EO: eoGenContinue< EOT > Class Template Reference - - - - -

eoGenContinue< EOT > Class Template Reference

Generational continuator: continues until a number of generations is reached. -More... -

-#include <eoGenContinue.h> -

-

Inheritance diagram for eoGenContinue< EOT >: -

- -eoContinue< EOT > -eoValueParam< unsigned > -eoUF< const eoPop< EOT > &, bool > -eoPersistent -eoParam -eoFunctorBase -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoGenContinue (unsigned long _totalGens)
 Ctor for setting a.
eoGenContinue (unsigned long _totalGens, unsigned long &_currentGen)
 Ctor for enabling the save/load the no. of generations counted.
-virtual bool operator() (const eoPop< EOT > &_vEO)
 Returns false when a certain number of generations is reached.
-virtual void totalGenerations (unsigned long _tg)
 Sets the number of generations to reach and sets the current generation to 0 (the begin).
-virtual unsigned long totalGenerations ()
 Returns the number of generations to reach.
-virtual std::string className (void) const
void readFrom (std::istream &__is)
 Read object.
void printOn (std::ostream &__os) const
 Write object.

Public Attributes

-bool verbose

Private Attributes

-unsigned long repTotalGenerations
-unsigned long thisGenerationPlaceHolder
-unsigned long & thisGeneration
-

Detailed Description

-

template<class EOT>
- class eoGenContinue< EOT >

- -Generational continuator: continues until a number of generations is reached. -

- -

-Definition at line 34 of file eoGenContinue.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoGenContinue< EOT >::readFrom std::istream &  __is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream.
-
-
Exceptions:
- - -
runtime_std::exception If a valid object can't be read.
-
- -

-Reimplemented from eoContinue< EOT >. -

-Definition at line 83 of file eoGenContinue.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoGenContinue< EOT >::printOn std::ostream &  __os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Reimplemented from eoContinue< EOT >. -

-Definition at line 88 of file eoGenContinue.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gen_continue.png b/trunk/paradiseo-eo/doc/html/classeo_gen_continue.png deleted file mode 100644 index a5af96d74..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_gen_continue.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_gen_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_gen_op-members.html deleted file mode 100644 index fa4452f5a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gen_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoGenOp< EOT > Member List

This is the complete list of members for eoGenOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - -
apply(eoPopulator< EOT > &_pop)=0eoGenOp< EOT > [protected, pure virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const =0 (defined in eoGenOp< EOT >)eoGenOp< EOT > [pure virtual]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)=0eoGenOp< EOT > [pure virtual]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gen_op.html b/trunk/paradiseo-eo/doc/html/classeo_gen_op.html deleted file mode 100644 index 86bd5cad1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gen_op.html +++ /dev/null @@ -1,70 +0,0 @@ - - -EO: eoGenOp< EOT > Class Template Reference - - - - -

eoGenOp< EOT > Class Template Reference

The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the eoMonOp, eoBinOp, eoQuadOp classification. -More... -

-#include <eoGenOp.h> -

-

Inheritance diagram for eoGenOp< EOT >: -

- -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase -eoBinGenOp< EOT > -eoEsGlobalXover< EOT > -eoMonGenOp< EOT > -eoOpContainer< EOT > -eoPropGAGenOp< EOT > -eoQuadGenOp< EOT > -eoSelBinGenOp< EOT > -eoSGAGenOp< EOT > - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

eoGenOp ()
 Ctor that honors its superclass.
-virtual unsigned max_production (void)=0
 Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash.
-virtual std::string className () const =0
-void operator() (eoPopulator< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Protected Member Functions

-virtual void apply (eoPopulator< EOT > &_pop)=0
 the function that will do the work
-

Detailed Description

-

template<class EOT>
- class eoGenOp< EOT >

- -The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the eoMonOp, eoBinOp, eoQuadOp classification. -

-The argument the operator will receive is an eoPopulator, which is a wrapper around the original population, is an instantiation of the next population and has often a selection function embedded in it to select new individuals.

-Note that the actual work is performed in the apply function. AND that the apply function is responsible for invalidating the object if necessary -

- -

-Definition at line 57 of file eoGenOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gen_op.png b/trunk/paradiseo-eo/doc/html/classeo_gen_op.png deleted file mode 100644 index dfb48ec37..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_gen_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser-members.html b/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser-members.html deleted file mode 100644 index 80094fe2d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

eoGeneDelChooser< EOT > Member List

This is the complete list of members for eoGeneDelChooser< EOT >, including all inherited members.

- - - - - -
className() const =0 (defined in eoGeneDelChooser< EOT >)eoGeneDelChooser< EOT > [pure virtual]
functor_category()eoUF< EOT &, unsigned int > [inline, static]
operator()(EOT &)=0eoUF< EOT &, unsigned int > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, unsigned int > [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser.html b/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser.html deleted file mode 100644 index c59d73eb0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: eoGeneDelChooser< EOT > Class Template Reference - - - - -

eoGeneDelChooser< EOT > Class Template Reference

A helper class for choosing which site to delete. -More... -

-#include <eoVariableLengthMutation.h> -

-

Inheritance diagram for eoGeneDelChooser< EOT >: -

- -eoUF< EOT &, unsigned int > -eoFunctorBase -eoUniformGeneChooser< EOT > - -List of all members. - - - - -

Public Member Functions

-virtual std::string className () const =0
-

Detailed Description

-

template<class EOT>
- class eoGeneDelChooser< EOT >

- -A helper class for choosing which site to delete. -

- -

-Definition at line 85 of file eoVariableLengthMutation.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser.png b/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser.png deleted file mode 100644 index dbeb51126..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_gene_del_chooser.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_breeder-members.html b/trunk/paradiseo-eo/doc/html/classeo_general_breeder-members.html deleted file mode 100644 index fa316476d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_general_breeder-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -EO: Member List - - - - -

eoGeneralBreeder< EOT > Member List

This is the complete list of members for eoGeneralBreeder< EOT >, including all inherited members.

- - - - - - - - - - -
className() const eoGeneralBreeder< EOT > [inline, virtual]
eoGeneralBreeder(eoSelectOne< EOT > &_select, eoGenOp< EOT > &_op, double _rate=1.0, bool _interpret_as_rate=true)eoGeneralBreeder< EOT > [inline]
eoGeneralBreeder(eoSelectOne< EOT > &_select, eoGenOp< EOT > &_op, eoHowMany _howMany)eoGeneralBreeder< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoGeneralBreeder< EOT >)eoGeneralBreeder< EOT > [private]
op (defined in eoGeneralBreeder< EOT >)eoGeneralBreeder< EOT > [private]
operator()(const eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoGeneralBreeder< EOT > [inline, virtual]
select (defined in eoGeneralBreeder< EOT >)eoGeneralBreeder< EOT > [private]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_breeder.html b/trunk/paradiseo-eo/doc/html/classeo_general_breeder.html deleted file mode 100644 index 57b7af85f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_general_breeder.html +++ /dev/null @@ -1,240 +0,0 @@ - - -EO: eoGeneralBreeder< EOT > Class Template Reference - - - - -

eoGeneralBreeder< EOT > Class Template Reference

Base class for breeders using generalized operators. -More... -

-#include <eoGeneralBreeder.h> -

-

Inheritance diagram for eoGeneralBreeder< EOT >: -

- -eoBreed< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoGeneralBreeder (eoSelectOne< EOT > &_select, eoGenOp< EOT > &_op, double _rate=1.0, bool _interpret_as_rate=true)
 Ctor:.
 eoGeneralBreeder (eoSelectOne< EOT > &_select, eoGenOp< EOT > &_op, eoHowMany _howMany)
 Ctor:.
void operator() (const eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The breeder: simply calls the genOp on a selective populator!
-virtual std::string className () const
 The class name.

Private Attributes

-eoSelectOne< EOT > & select
-eoGenOp< EOT > & op
-eoHowMany howMany
-

Detailed Description

-

template<class EOT>
- class eoGeneralBreeder< EOT >

- -Base class for breeders using generalized operators. -

- -

-Definition at line 46 of file eoGeneralBreeder.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoGeneralBreeder< EOT >::eoGeneralBreeder eoSelectOne< EOT > &  _select,
eoGenOp< EOT > &  _op,
double  _rate = 1.0,
bool  _interpret_as_rate = true
[inline]
-
- - - - - -
-   - - -

-Ctor:. -

-

Parameters:
- - - - - -
_select a selectoOne, to be used for all selections
_op a general operator (will generally be an eoOpContainer)
_rate pour howMany, le nbre d'enfants a generer
_interpret_as_rate explanation
-
- -

-Definition at line 56 of file eoGeneralBreeder.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoGeneralBreeder< EOT >::eoGeneralBreeder eoSelectOne< EOT > &  _select,
eoGenOp< EOT > &  _op,
eoHowMany  _howMany
[inline]
-
- - - - - -
-   - - -

-Ctor:. -

-

Parameters:
- - - - -
_select a selectoOne, to be used for all selections
_op a general operator (will generally be an eoOpContainer)
_howMany an eoHowMany explanation
-
- -

-Definition at line 69 of file eoGeneralBreeder.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
void eoGeneralBreeder< EOT >::operator() const eoPop< EOT > &  _parents,
eoPop< EOT > &  _offspring
[inline, virtual]
-
- - - - - -
-   - - -

-The breeder: simply calls the genOp on a selective populator! -

-

Parameters:
- - - -
_parents the initial population
_offspring the resulting population (content -if any- is lost)
-
- -

-Implements eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >. -

-Definition at line 80 of file eoGeneralBreeder.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_breeder.png b/trunk/paradiseo-eo/doc/html/classeo_general_breeder.png deleted file mode 100644 index 247e09bd9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_general_breeder.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds-members.html deleted file mode 100644 index 5d29e8abe..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: Member List - - - - -

eoGeneralIntBounds Member List

This is the complete list of members for eoGeneralIntBounds, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
dup() const eoGeneralIntBounds [inline, virtual]
eoGeneralIntBounds(std::string _s="[-infinity,+infinity]")eoGeneralIntBounds [inline]
eoGeneralIntBounds(const eoGeneralIntBounds &_b)eoGeneralIntBounds [inline]
foldsInBounds(double &_x) const eoGeneralIntBounds [inline, virtual]
eoIntBounds::foldsInBounds(long int &i) const eoIntBounds [inline, virtual]
getBoundsFromString(std::string)eoGeneralIntBounds [private]
hasNoBoundAtAll(void) const eoGeneralIntBounds [inline, virtual]
isBounded(void) const eoGeneralIntBounds [inline, virtual]
isInBounds(double _x) const eoGeneralIntBounds [inline, virtual]
isMaxBounded(void) const eoGeneralIntBounds [inline, virtual]
isMinBounded(void) const eoGeneralIntBounds [inline, virtual]
maximum() const eoGeneralIntBounds [inline, virtual]
minimum() const eoGeneralIntBounds [inline, virtual]
operator=(const eoGeneralIntBounds &_b) (defined in eoGeneralIntBounds)eoGeneralIntBounds [inline]
printOn(std::ostream &_os) const eoGeneralIntBounds [inline, virtual]
random(eoRng &_rng=eo::rng) const eoGeneralIntBounds [inline, virtual]
range() const eoGeneralIntBounds [inline, virtual]
readFrom(std::istream &_is)eoGeneralIntBounds [inline, virtual]
repBound (defined in eoGeneralIntBounds)eoGeneralIntBounds [private]
theBounds() const eoGeneralIntBounds [inline]
truncate(double &_x) const eoGeneralIntBounds [inline, virtual]
eoIntBounds::truncate(long int &i) const eoIntBounds [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoGeneralIntBounds [inline, virtual]
~eoGeneralIntBounds()eoGeneralIntBounds [inline]
~eoIntBounds() (defined in eoIntBounds)eoIntBounds [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds.html deleted file mode 100644 index 660e93e12..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds.html +++ /dev/null @@ -1,126 +0,0 @@ - - -EO: eoGeneralIntBounds Class Reference - - - - -

eoGeneralIntBounds Class Reference

A class that encapsulate all possible eoIntBounds. -More... -

-#include <eoIntBounds.h> -

-

Inheritance diagram for eoGeneralIntBounds: -

- -eoIntBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoGeneralIntBounds (std::string _s="[-infinity,+infinity]")
 Ctor: from a string, chooses the type of bound.
eoGeneralIntBounds (const eoGeneralIntBounds &_b)
 Need a Cpy Ctor because we are allocating memory.
-eoGeneralIntBoundsoperator= (const eoGeneralIntBounds &_b)
~eoGeneralIntBounds ()
 Need a Dtor because we allocate an actual bound.
-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual bool isInBounds (double _x) const
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &_x) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &_x) const
 Put value back into bounds - by truncating to a boundary value.
-virtual long int minimum () const
 get minimum value ::exception if does not exist
-virtual long int maximum () const
 get maximum value ::exception if does not exist
-virtual long int range () const
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform doubles in bounds ::exception if unbounded
-virtual long int random (eoRng &_rng=eo::rng) const
 random generator of uniform ints in bounds ::exception if unbounded
-virtual eoIntBoundsdup () const
 for memory managements - ugly
-const eoIntBoundstheBounds () const
 for efficiency, it's better to use the embedded boud directly
-virtual void printOn (std::ostream &_os) const
 don't forget the printOn method - again that of the embedded bound
-virtual void readFrom (std::istream &_is)
 no readFrom ??? Have to check that later

Private Member Functions

-eoIntBoundsgetBoundsFromString (std::string)
 the constructor for eoGeneralIntBound - from a string

Private Attributes

-eoIntBoundsrepBound
-

Detailed Description

-A class that encapsulate all possible eoIntBounds. -

-Mandatory in order to read through the parser -

- -

-Definition at line 541 of file eoIntBounds.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds.png deleted file mode 100644 index e081055b9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_general_int_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds-members.html deleted file mode 100644 index a5fc02529..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds-members.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Member List - - - - -

eoGeneralRealBounds Member List

This is the complete list of members for eoGeneralRealBounds, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
dup() const eoGeneralRealBounds [inline, virtual]
eoGeneralRealBounds(std::string _s="[-infinity,+infinity]")eoGeneralRealBounds [inline]
eoGeneralRealBounds(const eoGeneralRealBounds &_b)eoGeneralRealBounds [inline]
foldsInBounds(double &_x) const eoGeneralRealBounds [inline, virtual]
getBoundsFromString(std::string)eoGeneralRealBounds [private]
hasNoBoundAtAll(void) const eoGeneralRealBounds [inline, virtual]
isBounded(void) const eoGeneralRealBounds [inline, virtual]
isInBounds(double _x) const eoGeneralRealBounds [inline, virtual]
isMaxBounded(void) const eoGeneralRealBounds [inline, virtual]
isMinBounded(void) const eoGeneralRealBounds [inline, virtual]
maximum() const eoGeneralRealBounds [inline, virtual]
minimum() const eoGeneralRealBounds [inline, virtual]
operator=(const eoGeneralRealBounds &_b) (defined in eoGeneralRealBounds)eoGeneralRealBounds [inline]
printOn(std::ostream &_os) const eoGeneralRealBounds [inline, virtual]
range() const eoGeneralRealBounds [inline, virtual]
readFrom(std::istream &_is)eoGeneralRealBounds [inline, virtual]
repBound (defined in eoGeneralRealBounds)eoGeneralRealBounds [private]
theBounds() const eoGeneralRealBounds [inline]
truncate(double &_x) const eoGeneralRealBounds [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoGeneralRealBounds [inline, virtual]
~eoGeneralRealBounds()eoGeneralRealBounds [inline]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRealBounds() (defined in eoRealBounds)eoRealBounds [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds.html deleted file mode 100644 index 2c398b8c1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds.html +++ /dev/null @@ -1,122 +0,0 @@ - - -EO: eoGeneralRealBounds Class Reference - - - - -

eoGeneralRealBounds Class Reference

A class that encapsulate all possible eoIntBounds. -More... -

-#include <eoRealBounds.h> -

-

Inheritance diagram for eoGeneralRealBounds: -

- -eoRealBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoGeneralRealBounds (std::string _s="[-infinity,+infinity]")
 Ctor: from a string, chooses the type of bound.
eoGeneralRealBounds (const eoGeneralRealBounds &_b)
 Need a Cpy Ctor because we are allocating memory.
-eoGeneralRealBoundsoperator= (const eoGeneralRealBounds &_b)
~eoGeneralRealBounds ()
 Need a Dtor because we allocate an actual bound.
-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual bool isInBounds (double _x) const
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &_x) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &_x) const
 Put value back into bounds - by truncating to a boundary value.
-virtual double minimum () const
 get minimum value ::exception if does not exist
-virtual double maximum () const
 get maximum value ::exception if does not exist
-virtual double range () const
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds ::exception if unbounded
-virtual eoRealBoundsdup () const
 for memory managements - ugly
-const eoRealBoundstheBounds () const
 for efficiency, it's better to use the embedded boud directly
-virtual void printOn (std::ostream &_os) const
 don't forget the printOn method - again that of the embedded bound
-virtual void readFrom (std::istream &_is)
 no readFrom ??? Have to check that later

Private Member Functions

-eoRealBoundsgetBoundsFromString (std::string)
 the constructor for eoGeneralRealBound - from a string very similar to the eoRealVectorBounds::readFrom above but was written much later so the readFrom does not call this one as it should do

Private Attributes

-eoRealBoundsrepBound
-

Detailed Description

-A class that encapsulate all possible eoIntBounds. -

-Mandatory in order to read through the parser -

- -

-Definition at line 506 of file eoRealBounds.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds.png deleted file mode 100644 index 68df902c5..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_general_real_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_generational_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_generational_replacement-members.html deleted file mode 100644 index 3f3560268..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_generational_replacement-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoGenerationalReplacement< EOT > Member List

This is the complete list of members for eoGenerationalReplacement< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoGenerationalReplacement< EOT > [inline, virtual]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_generational_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_generational_replacement.html deleted file mode 100644 index ba60b1121..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_generational_replacement.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoGenerationalReplacement< EOT > Class Template Reference - - - - -

eoGenerationalReplacement< EOT > Class Template Reference

generational replacement == swap populations -More... -

-#include <eoReplacement.h> -

-

Inheritance diagram for eoGenerationalReplacement< EOT >: -

- -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - -

Public Member Functions

-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 swap
-

Detailed Description

-

template<class EOT>
- class eoGenerationalReplacement< EOT >

- -generational replacement == swap populations -

- -

-Definition at line 84 of file eoReplacement.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_generational_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_generational_replacement.png deleted file mode 100644 index d3597e6fd..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_generational_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot-members.html b/trunk/paradiseo-eo/doc/html/classeo_gnuplot-members.html deleted file mode 100644 index 7210441aa..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gnuplot-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoGnuplot Member List

This is the complete list of members for eoGnuplot, including all inherited members.

- - - - - - - - - -
className() const eoGnuplot [inline, virtual]
eoGnuplot(std::string _title, std::string _extra=std::string(""))eoGnuplot
firstTimeeoGnuplot [protected]
gnuplotCommand(const char *_command)eoGnuplot
gnuplotCommand(std::string _command)eoGnuplot [inline]
gpComeoGnuplot [protected]
initGnuPlot(std::string _title, std::string _extra)eoGnuplot [protected]
numWindoweoGnuplot [protected, static]
~eoGnuplot()eoGnuplot [virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot.html b/trunk/paradiseo-eo/doc/html/classeo_gnuplot.html deleted file mode 100644 index 3a5ddf81e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gnuplot.html +++ /dev/null @@ -1,242 +0,0 @@ - - -EO: eoGnuplot Class Reference - - - - -

eoGnuplot Class Reference

Base class for calls to gnuplot. -More... -

-#include <eoGnuplot.h> -

-

Inheritance diagram for eoGnuplot: -

- -eoGnuplot1DMonitor -eoGnuplot1DSnapshot - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoGnuplot (std::string _title, std::string _extra=std::string(""))
 Open pipe to Gnuplot.
virtual ~eoGnuplot ()
 Destructor.
-virtual std::string className () const
 Class name.
-void gnuplotCommand (const char *_command)
 Send command to gnuplot.
void gnuplotCommand (std::string _command)
 Send command to gnuplot.

Protected Member Functions

void initGnuPlot (std::string _title, std::string _extra)
 Initialize gnuplot.

Protected Attributes

-bool firstTime
 The stats might be unknown in Ctor.
-PCom * gpCom
 Communication with gnuplot OK.

Static Protected Attributes

-unsigned numWindow = 0
 Internal counter for gnuplot windows.
-

Detailed Description

-Base class for calls to gnuplot. -

-This class is the abstract class that will be used by further gnuplot calls to plots what is already written by some eoMonitor into a file

-

Author:
Marc Schoenauer
-
Version:
0.0 (2001)
- -

- -

-Definition at line 38 of file eoGnuplot.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
eoGnuplot::eoGnuplot std::string  _title,
std::string  _extra = std::string("")
-
- - - - - -
-   - - -

-Open pipe to Gnuplot. -

-

Parameters:
- - - -
_title Title for gnuplot window.
_extra Extra parameters to gnuplot (default <none>).
-
- -

-Definition at line 37 of file eoGnuplot.cpp. -

-References initGnuPlot().

-

- - - - -
- - - - - - - - -
eoGnuplot::~eoGnuplot  )  [virtual]
-
- - - - - -
-   - - -

-Destructor. -

-Close the gnuplot windows if pipe was correctly opened -

-Definition at line 45 of file eoGnuplot.cpp. -

-References gpCom.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
void eoGnuplot::gnuplotCommand std::string  _command  )  [inline]
-
- - - - - -
-   - - -

-Send command to gnuplot. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -

-Definition at line 66 of file eoGnuplot.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void eoGnuplot::initGnuPlot std::string  _title,
std::string  _extra
[protected]
-
- - - - - -
-   - - -

-Initialize gnuplot. -

-

Parameters:
- - - -
_title Title for gnuplot window.
_extra Extra parameters to gnuplot.
-
- -

-Definition at line 70 of file eoGnuplot.cpp. -

-References gpCom, and numWindow. -

-Referenced by eoGnuplot().

-


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot.png b/trunk/paradiseo-eo/doc/html/classeo_gnuplot.png deleted file mode 100644 index 70095ac10..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_gnuplot.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor-members.html b/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor-members.html deleted file mode 100644 index ffdea0fee..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor-members.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: Member List - - - - -

eoGnuplot1DMonitor Member List

This is the complete list of members for eoGnuplot1DMonitor, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
add(const eoParam &_param)eoMonitor [inline, virtual]
className() const eoGnuplot1DMonitor [inline, virtual]
eoFileMonitor(std::string _filename, std::string _delim=" ", bool _keep=false, bool _header=false) (defined in eoFileMonitor)eoFileMonitor [inline]
eoGnuplot(std::string _title, std::string _extra=std::string(""))eoGnuplot
eoGnuplot1DMonitor(std::string _filename, bool _top=false)eoGnuplot1DMonitor [inline]
FirstPlot() (defined in eoGnuplot1DMonitor)eoGnuplot1DMonitor [virtual]
firstTimeeoGnuplot [protected]
functor_category()eoF< eoMonitor & > [inline, static]
getFileName() (defined in eoFileMonitor)eoFileMonitor [inline, virtual]
gnuplotCommand(const char *_command)eoGnuplot
gnuplotCommand(std::string _command)eoGnuplot [inline]
gpComeoGnuplot [protected]
initGnuPlot(std::string _title, std::string _extra)eoGnuplot [protected]
iterator typedef (defined in eoMonitor)eoMonitor [protected]
lastCall() (defined in eoMonitor)eoMonitor [inline, virtual]
numWindoweoGnuplot [protected, static]
operator()()eoGnuplot1DMonitor [virtual]
operator()(std::ostream &os) (defined in eoFileMonitor)eoFileMonitor [virtual]
printHeader(void) (defined in eoFileMonitor)eoFileMonitor
printHeader(std::ostream &os) (defined in eoFileMonitor)eoFileMonitor [virtual]
result_type typedefeoF< eoMonitor & >
vec (defined in eoMonitor)eoMonitor [protected]
~eoF()eoF< eoMonitor & > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoGnuplot()eoGnuplot [virtual]
~eoGnuplot1DMonitor()eoGnuplot1DMonitor [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor.html b/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor.html deleted file mode 100644 index 2ded5a566..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoGnuplot1DMonitor Class Reference - - - - -

eoGnuplot1DMonitor Class Reference

Plot eoStat. -More... -

-#include <eoGnuplot1DMonitor.h> -

-

Inheritance diagram for eoGnuplot1DMonitor: -

- -eoFileMonitor -eoGnuplot -eoMonitor -eoF< eoMonitor & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

eoGnuplot1DMonitor (std::string _filename, bool _top=false)
 Constructor.
-virtual ~eoGnuplot1DMonitor ()
 Destructor.
-virtual eoMonitoroperator() ()
 The pure virtual function that needs to be implemented by the subclass.
-virtual void FirstPlot ()
-virtual std::string className () const
 Class name.
-

Detailed Description

-Plot eoStat. -

-

Author:
Marc Schoenauer
-
Version:
0.0 (2000)
-This class plots through gnuplot the eoStat given as argument

-eoGnuplot1DMonitor plots stats through gnuplot

-Assumes that the same file is appened every so and so, and replots it everytime -

- -

-Definition at line 47 of file eoGnuplot1DMonitor.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor.png b/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor.png deleted file mode 100644 index 246d06719..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_monitor.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot-members.html b/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot-members.html deleted file mode 100644 index b7ac5bb34..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot-members.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: Member List - - - - -

eoGnuplot1DSnapshot Member List

This is the complete list of members for eoGnuplot1DSnapshot, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add(const eoParam &_param)eoFileSnapshot [inline, virtual]
baseFileName() (defined in eoFileSnapshot)eoFileSnapshot [inline, virtual]
className() const eoGnuplot1DSnapshot [inline, virtual]
eoFileSnapshot(std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) (defined in eoFileSnapshot)eoFileSnapshot [inline]
eoGnuplot(std::string _title, std::string _extra=std::string(""))eoGnuplot
eoGnuplot1DSnapshot(std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) (defined in eoGnuplot1DSnapshot)eoGnuplot1DSnapshot [inline]
eoGnuplot1DSnapshot(std::string _dirname, eoRealVectorBounds &_bounds, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) (defined in eoGnuplot1DSnapshot)eoGnuplot1DSnapshot [inline]
eoGnuplot1DSnapshot(eoFileSnapshot &_fSnapshot) (defined in eoGnuplot1DSnapshot)eoGnuplot1DSnapshot [inline]
eoGnuplot1DSnapshot(eoFileSnapshot &_fSnapshot, eoRealVectorBounds &_bounds) (defined in eoGnuplot1DSnapshot)eoGnuplot1DSnapshot [inline]
firstTimeeoGnuplot [protected]
functor_category()eoF< eoMonitor & > [inline, static]
getCounter()eoFileSnapshot [inline]
getDirName() (defined in eoFileSnapshot)eoFileSnapshot [inline, virtual]
getFileName()eoFileSnapshot [inline]
gnuplotCommand(const char *_command)eoGnuplot
gnuplotCommand(std::string _command)eoGnuplot [inline]
gpComeoGnuplot [protected]
handleBounds(eoRealVectorBounds &_bounds) (defined in eoGnuplot1DSnapshot)eoGnuplot1DSnapshot [inline, virtual]
hasChanged()eoFileSnapshot [inline, virtual]
initGnuPlot(std::string _title, std::string _extra)eoGnuplot [protected]
iterator typedef (defined in eoMonitor)eoMonitor [protected]
lastCall() (defined in eoMonitor)eoMonitor [inline, virtual]
numWindoweoGnuplot [protected, static]
operator()()eoGnuplot1DSnapshot [virtual]
eoFileSnapshot::operator()(std::ostream &_os)eoFileSnapshot [inline]
pointSize (defined in eoGnuplot1DSnapshot)eoGnuplot1DSnapshot [protected]
result_type typedefeoF< eoMonitor & >
setCurrentFileName()eoFileSnapshot [inline]
setPointSize(unsigned _pointSize) (defined in eoGnuplot1DSnapshot)eoGnuplot1DSnapshot [inline]
vDouble typedef (defined in eoFileSnapshot)eoFileSnapshot
vDoubleParam typedef (defined in eoFileSnapshot)eoFileSnapshot
vec (defined in eoMonitor)eoMonitor [protected]
~eoF()eoF< eoMonitor & > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoGnuplot()eoGnuplot [virtual]
~eoGnuplot1DSnapshot() (defined in eoGnuplot1DSnapshot)eoGnuplot1DSnapshot [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot.html b/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot.html deleted file mode 100644 index c312ad090..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot.html +++ /dev/null @@ -1,73 +0,0 @@ - - -EO: eoGnuplot1DSnapshot Class Reference - - - - -

eoGnuplot1DSnapshot Class Reference

Plot stats through gnuplot. -More... -

-#include <eoGnuplot1DSnapshot.h> -

-

Inheritance diagram for eoGnuplot1DSnapshot: -

- -eoFileSnapshot -eoGnuplot -eoMonitor -eoF< eoMonitor & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoGnuplot1DSnapshot (std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true)
eoGnuplot1DSnapshot (std::string _dirname, eoRealVectorBounds &_bounds, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true)
eoGnuplot1DSnapshot (eoFileSnapshot &_fSnapshot)
eoGnuplot1DSnapshot (eoFileSnapshot &_fSnapshot, eoRealVectorBounds &_bounds)
-virtual eoMonitoroperator() ()
 The operator(void): opens the std::ostream and calls the write method.
-virtual std::string className () const
 Class name.
-virtual void handleBounds (eoRealVectorBounds &_bounds)
-void setPointSize (unsigned _pointSize)

Protected Attributes

-unsigned pointSize
-

Detailed Description

-Plot stats through gnuplot. -

-

Author:
Marc Schoenauer 2000
-
Version:
0.0
-This class plots through gnuplot the eoStat given as argument

-Assumes that the same file is re-written every so and so, and plots it from scratch everytime it's called -

- -

-Definition at line 51 of file eoGnuplot1DSnapshot.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot.png b/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot.png deleted file mode 100644 index 947ca3ed2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_gnuplot1_d_snapshot.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_hamming_distance-members.html b/trunk/paradiseo-eo/doc/html/classeo_hamming_distance-members.html deleted file mode 100644 index b330ef6f5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_hamming_distance-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoHammingDistance< EOT > Member List

This is the complete list of members for eoHammingDistance< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< const EOT &, const EOT &, double > [inline, static]
operator()(const EOT &_v1, const EOT &_v2)eoHammingDistance< EOT > [inline, virtual]
~eoBF()eoBF< const EOT &, const EOT &, double > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_hamming_distance.html b/trunk/paradiseo-eo/doc/html/classeo_hamming_distance.html deleted file mode 100644 index 3de8fd9fd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_hamming_distance.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoHammingDistance< EOT > Class Template Reference - - - - -

eoHammingDistance< EOT > Class Template Reference

This is a generic class for L1 distance computation: assumes the 2 things are std::vectors of something that is double-castable For bitstrings, this is the Hamming distance. -More... -

-#include <eoDistance.h> -

-

Inheritance diagram for eoHammingDistance< EOT >: -

- -eoDistance< EOT > -eoBF< const EOT &, const EOT &, double > -eoFunctorBase - -List of all members. - - - - - -

Public Member Functions

-double operator() (const EOT &_v1, const EOT &_v2)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoHammingDistance< EOT >

- -This is a generic class for L1 distance computation: assumes the 2 things are std::vectors of something that is double-castable For bitstrings, this is the Hamming distance. -

- -

-Definition at line 66 of file eoDistance.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_hamming_distance.png b/trunk/paradiseo-eo/doc/html/classeo_hamming_distance.png deleted file mode 100644 index 35d7bde17..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_hamming_distance.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation-members.html deleted file mode 100644 index f70a9c863..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoHoistMutation< FType, Node > Member List

This is the complete list of members for eoHoistMutation< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoHoistMutation< FType, Node > [inline, virtual]
eoHoistMutation()eoHoistMutation< FType, Node > [inline]
eoMonOp()eoMonOp< eoParseTree< FType, Node > > [inline]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
EoType typedef (defined in eoHoistMutation< FType, Node >)eoHoistMutation< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
operator()(EoType &_eo1)eoHoistMutation< FType, Node > [inline]
eoMonOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoHoistMutation()eoHoistMutation< FType, Node > [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation.html deleted file mode 100644 index db3926f37..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation.html +++ /dev/null @@ -1,147 +0,0 @@ - - -EO: eoHoistMutation< FType, Node > Class Template Reference - - - - -

eoHoistMutation< FType, Node > Class Template Reference
- -[ParseTree] -

eoHoistMutation --> replace the individual with one of its subtree's -More... -

-#include <gp/eoParseTreeOp.h> -

-

Inheritance diagram for eoHoistMutation< FType, Node >: -

- -eoMonOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoHoistMutation ()
 Constructor.
-virtual std::string className () const
 The class name.
-virtual ~eoHoistMutation ()
 Dtor.
bool operator() (EoType &_eo1)
 Mutate an individual.
-

Detailed Description

-

template<class FType, class Node>
- class eoHoistMutation< FType, Node >

- -eoHoistMutation --> replace the individual with one of its subtree's -

- -

-Definition at line 336 of file eoParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - -
-template<class FType, class Node>
eoHoistMutation< FType, Node >::eoHoistMutation  )  [inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - -
none 
-
- -

-Definition at line 345 of file eoParseTreeOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
bool eoHoistMutation< FType, Node >::operator() EoType _eo1  )  [inline]
-
- - - - - -
-   - - -

-Mutate an individual. -

-

Parameters:
- - -
_eo1 The individual that is to be changed
-
- -

-Definition at line 358 of file eoParseTreeOp.h. -

-References eoRng::random().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation.png deleted file mode 100644 index 785816dfd..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_hoist_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_how_many-members.html b/trunk/paradiseo-eo/doc/html/classeo_how_many-members.html deleted file mode 100644 index 982e68f92..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_how_many-members.html +++ /dev/null @@ -1,27 +0,0 @@ - - -EO: Member List - - - - -

eoHowMany Member List

This is the complete list of members for eoHowMany, including all inherited members.

- - - - - - - - - - - - - -
combien (defined in eoHowMany)eoHowMany [private]
eoHowMany(double _rate=0.0, bool _interpret_as_rate=true)eoHowMany [inline]
eoHowMany(int _combien)eoHowMany [inline]
eoHowMany(unsigned int _combien)eoHowMany [inline]
operator()(unsigned int _size)eoHowMany [inline]
operator-()eoHowMany [inline]
printOn(std::ostream &_os) const eoHowMany [inline, virtual]
rate (defined in eoHowMany)eoHowMany [private]
readFrom(std::istream &_is)eoHowMany [inline, virtual]
readFrom(std::string _value) (defined in eoHowMany)eoHowMany [inline]
~eoHowMany()eoHowMany [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_how_many.html b/trunk/paradiseo-eo/doc/html/classeo_how_many.html deleted file mode 100644 index 59b657bad..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_how_many.html +++ /dev/null @@ -1,250 +0,0 @@ - - -EO: eoHowMany Class Reference - - - - -

eoHowMany Class Reference

A helper class, to determine a number of individuals from another one Typically, is used in selection / replacement procedures, e.g. -More... -

-#include <eoHowMany.h> -

-

Inheritance diagram for eoHowMany: -

- -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoHowMany (double _rate=0.0, bool _interpret_as_rate=true)
 Original Ctor from direct rate + bool.
eoHowMany (int _combien)
 Ctor from an int - both from int and unsigned int are needed to avoid ambiguity with the Ctor from a double.
eoHowMany (unsigned int _combien)
 Ctor from an unsigned int - both from int and unsigned int are needed to avoid ambiguity with the Ctor from a double.
-virtual ~eoHowMany ()
 Virtual dtor. They are needed in virtual class hierarchies.
unsigned int operator() (unsigned int _size)
 Does what it was designed for combien==0 : return rate*_size else combien>0 : return combien (regardless of _size) combien<0 : return _size-|combien|.
virtual void printOn (std::ostream &_os) const
 Write object.
virtual void readFrom (std::istream &_is)
 Read object.
-void readFrom (std::string _value)
-eoHowMany operator- ()
 The unary - operator: reverses the computation.

Private Attributes

-double rate
-int combien
-

Detailed Description

-A helper class, to determine a number of individuals from another one Typically, is used in selection / replacement procedures, e.g. -

-the number of offspring from the number of parents, or the number of survivors for an eoReduce functor, ...

-Such construct is very useful because in some cases you might not know the population size that will enter the replacement. For instance, you cannot simply have a pre-computed (double) rate of 1/popSize if you want to select or kill just 1 guy. Using an eoHowMany allows one to modify the population size without touching anything else.

-There are 4 possible way to compute the return value from the argument:

    -
  • an absolute POSITIVE integer --> return it (regardless of popsize)
  • a POSITIVE rate --> return rate*popSize
  • an absolute NEGATIVE integer --> return popsize-rate (if positive)
  • a NEGATIVE rate in [-1,0] --> store and use 1-|rate| (positive) Note that a negative rate should be have been necessary because a rate is relative, but it is there for consistency reasons - and because it is needed in eoG3Replacement
-

-It has 2 private members, a double and an integer to cover all cases

-Example use: in eoGeneralBreeder.h Example reading from parser: in do/make_algo_scalar.h line 141

-MS 10/04/2002: Added the possibility to have a negative number - when treated as a number: returns then (size - combien) Should not modify anything when a positive number is passed in the ctor

-MS 20/06/2002: Added the negative rate and the operator-() (for eoG3Repalcement)

-It is an eoPersistent because we need to be able to use eoParamValue<eoHowMany> -

- -

-Definition at line 69 of file eoHowMany.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
eoHowMany::eoHowMany double  _rate = 0.0,
bool  _interpret_as_rate = true
[inline]
-
- - - - - -
-   - - -

-Original Ctor from direct rate + bool. -

-

Parameters:
- - - -
rate the rate, OR the integer to store, depending on 2nd arg.
_interpret_as_rate to tell whether the rate actually is a rate
-
- -

-Definition at line 76 of file eoHowMany.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
unsigned int eoHowMany::operator() unsigned int  _size  )  [inline]
-
- - - - - -
-   - - -

-Does what it was designed for combien==0 : return rate*_size else combien>0 : return combien (regardless of _size) combien<0 : return _size-|combien|. -

-

    -
  • * - * - * -
- -

-Definition at line 114 of file eoHowMany.h.

-

- - - - -
- - - - - - - - - -
virtual void eoHowMany::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 130 of file eoHowMany.h.

-

- - - - -
- - - - - - - - - -
virtual void eoHowMany::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream.
-
-
Exceptions:
- - -
runtime_std::exception If a valid object can't be read.
-
- -

-Implements eoPersistent. -

-Definition at line 140 of file eoHowMany.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_how_many.png b/trunk/paradiseo-eo/doc/html/classeo_how_many.png deleted file mode 100644 index 9af20f587..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_how_many.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_incrementor-members.html b/trunk/paradiseo-eo/doc/html/classeo_incrementor-members.html deleted file mode 100644 index 984f17915..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_incrementor-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -EO: Member List - - - - -

eoIncrementor< T > Member List

This is the complete list of members for eoIncrementor< T >, including all inherited members.

- - - - - - - - - - -
className(void) const (defined in eoIncrementor< T >)eoIncrementor< T > [inline, virtual]
counter (defined in eoIncrementor< T >)eoIncrementor< T > [private]
eoIncrementor(T &_counter, T _stepsize=1)eoIncrementor< T > [inline]
functor_category()eoF< void > [inline, static]
lastCall() (defined in eoUpdater)eoUpdater [inline, virtual]
operator()()eoIncrementor< T > [inline, virtual]
result_type typedefeoF< void >
stepsize (defined in eoIncrementor< T >)eoIncrementor< T > [private]
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_incrementor.html b/trunk/paradiseo-eo/doc/html/classeo_incrementor.html deleted file mode 100644 index b20353f3a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_incrementor.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: eoIncrementor< T > Class Template Reference - - - - -

eoIncrementor< T > Class Template Reference

an eoUpdater that simply increments a counter -More... -

-#include <eoUpdater.h> -

-

Inheritance diagram for eoIncrementor< T >: -

- -eoUpdater -eoF< void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoIncrementor (T &_counter, T _stepsize=1)
 Default Ctor - requires a reference to the thing to increment.
-virtual void operator() ()
 Simply increments.
-virtual std::string className (void) const

Private Attributes

-T & counter
-T stepsize
-

Detailed Description

-

template<class T>
- class eoIncrementor< T >

- -an eoUpdater that simply increments a counter -

- -

-Definition at line 50 of file eoUpdater.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_incrementor.png b/trunk/paradiseo-eo/doc/html/classeo_incrementor.png deleted file mode 100644 index 63bd4b375..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_incrementor.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_incrementor_param-members.html b/trunk/paradiseo-eo/doc/html/classeo_incrementor_param-members.html deleted file mode 100644 index 841a4123f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_incrementor_param-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: Member List - - - - -

eoIncrementorParam< T > Member List

This is the complete list of members for eoIncrementorParam< T >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoIncrementorParam< T >)eoIncrementorParam< T > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoIncrementorParam(std::string _name, T _stepsize=1)eoIncrementorParam< T > [inline]
eoIncrementorParam(std::string _name, T _countValue, T _stepsize)eoIncrementorParam< T > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoValueParam(void)eoValueParam< T > [inline]
eoValueParam(T_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< T > [inline]
functor_category()eoF< void > [inline, static]
getValue(void) const eoValueParam< T > [inline, virtual]
lastCall() (defined in eoUpdater)eoUpdater [inline, virtual]
longName() const eoParam [inline]
operator()()eoIncrementorParam< T > [inline, virtual]
repValue (defined in eoValueParam< T >)eoValueParam< T > [protected]
required() const eoParam [inline]
result_type typedefeoF< void >
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< T > [inline, virtual]
shortName() const eoParam [inline]
stepsize (defined in eoIncrementorParam< T >)eoIncrementorParam< T > [private]
value()eoValueParam< T > [inline]
value() const eoValueParam< T > [inline]
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_incrementor_param.html b/trunk/paradiseo-eo/doc/html/classeo_incrementor_param.html deleted file mode 100644 index 251a8e7f7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_incrementor_param.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: eoIncrementorParam< T > Class Template Reference - - - - -

eoIncrementorParam< T > Class Template Reference

an eoUpdater that is an eoValueParam (and thus OWNS its counter) Mandatory for generation counter in make_checkpoint -More... -

-#include <eoUpdater.h> -

-

Inheritance diagram for eoIncrementorParam< T >: -

- -eoUpdater -eoValueParam< T > -eoF< void > -eoParam -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

eoIncrementorParam (std::string _name, T _stepsize=1)
 Default Ctor : a name and optionally an increment.
eoIncrementorParam (std::string _name, T _countValue, T _stepsize)
 Ctor with a name and non-zero initial value and mandatory stepSize to remove ambiguity.
-virtual void operator() ()
 Simply increments.
-virtual std::string className (void) const

Private Attributes

-T stepsize
-

Detailed Description

-

template<class T>
- class eoIncrementorParam< T >

- -an eoUpdater that is an eoValueParam (and thus OWNS its counter) Mandatory for generation counter in make_checkpoint -

- -

-Definition at line 71 of file eoUpdater.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_incrementor_param.png b/trunk/paradiseo-eo/doc/html/classeo_incrementor_param.png deleted file mode 100644 index dd5c071d0..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_incrementor_param.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_init-members.html deleted file mode 100644 index a4eb09aae..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

eoInit< EOT > Member List

This is the complete list of members for eoInit< EOT >, including all inherited members.

- - - - - -
className(void) const eoInit< EOT > [inline, virtual]
functor_category()eoUF< EOT &, void > [inline, static]
operator()(EOT &)=0eoUF< EOT &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init.html b/trunk/paradiseo-eo/doc/html/classeo_init.html deleted file mode 100644 index 34990aa00..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: eoInit< EOT > Class Template Reference - - - - -

eoInit< EOT > Class Template Reference

Base (name) class for Initialization of chromosomes, used in a population contructor. -More... -

-#include <eoInit.h> -

-

Inheritance diagram for eoInit< EOT >: -

- -eoUF< EOT &, void > -eoFunctorBase -eoCombinedInit< EOT > -eoDistribution< EOT > -eoInitFixedLength< EOT > -eoInitVariableLength< EOT > -eoRealInitBounded< EOT > -eoPBILDistrib< EOT > -eoEsChromInit< EOT > - -List of all members. - - - - - -

Public Member Functions

virtual std::string className (void) const
 className: Mandatory because of eoCombinedInit.
-

Detailed Description

-

template<class EOT>
- class eoInit< EOT >

- -Base (name) class for Initialization of chromosomes, used in a population contructor. -

-It is derived from eoMonOp, so it can be used inside the algorithm as well.

-

See also:
eoPop
- -

- -

-Definition at line 45 of file eoInit.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual std::string eoInit< EOT >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-className: Mandatory because of eoCombinedInit. -

-SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 -

-Reimplemented in eoCombinedInit< EOT >, eoPBILDistrib< EOT >, eoParseTreeDepthInit< FType, Node >, and eoStParseTreeDepthInit< FType, Node >. -

-Definition at line 52 of file eoInit.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init.png b/trunk/paradiseo-eo/doc/html/classeo_init.png deleted file mode 100644 index a1983a680..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_adaptor-members.html b/trunk/paradiseo-eo/doc/html/classeo_init_adaptor-members.html deleted file mode 100644 index 11210f654..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_adaptor-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoInitAdaptor< EOT > Member List

This is the complete list of members for eoInitAdaptor< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoMonOp< EOT >)eoMonOp< EOT > [inline, virtual]
eoInitAdaptor(eoInit< EOT > &_init) (defined in eoInitAdaptor< EOT >)eoInitAdaptor< EOT > [inline]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
init (defined in eoInitAdaptor< EOT >)eoInitAdaptor< EOT > [private]
operator()(EOT &_eot)eoInitAdaptor< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_adaptor.html b/trunk/paradiseo-eo/doc/html/classeo_init_adaptor.html deleted file mode 100644 index 57064a8bb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_adaptor.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoInitAdaptor< EOT > Class Template Reference - - - - -

eoInitAdaptor< EOT > Class Template Reference

eoInitAdaptor changes the place in the hierarchy from eoInit to eoMonOp. -More... -

-#include <eoInit.h> -

-

Inheritance diagram for eoInitAdaptor< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoInitAdaptor (eoInit< EOT > &_init)
-bool operator() (EOT &_eot)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoInit< EOT > & init
-

Detailed Description

-

template<class EOT>
- class eoInitAdaptor< EOT >

- -eoInitAdaptor changes the place in the hierarchy from eoInit to eoMonOp. -

-This is mainly a type conversion, nothing else

See also:
eoInit, eoMonOp
- -

- -

-Definition at line 157 of file eoInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_adaptor.png b/trunk/paradiseo-eo/doc/html/classeo_init_adaptor.png deleted file mode 100644 index fe9ad4845..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_init_adaptor.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length-members.html b/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length-members.html deleted file mode 100644 index ba0fe78fc..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoInitFixedLength< EOT > Member List

This is the complete list of members for eoInitFixedLength< EOT >, including all inherited members.

- - - - - - - - - -
AtomType typedef (defined in eoInitFixedLength< EOT >)eoInitFixedLength< EOT >
className(void) const eoInit< EOT > [inline, virtual]
combien (defined in eoInitFixedLength< EOT >)eoInitFixedLength< EOT > [private]
eoInitFixedLength(unsigned _combien, eoRndGenerator< AtomType > &_generator) (defined in eoInitFixedLength< EOT >)eoInitFixedLength< EOT > [inline]
functor_category()eoUF< EOT &, void > [inline, static]
generatoreoInitFixedLength< EOT > [private]
operator()(EOT &chrom)eoInitFixedLength< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length.html b/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length.html deleted file mode 100644 index 82fc90bb1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoInitFixedLength< EOT > Class Template Reference - - - - -

eoInitFixedLength< EOT > Class Template Reference

Initializer for fixed length representations with a single type. -More... -

-#include <eoInit.h> -

-

Inheritance diagram for eoInitFixedLength< EOT >: -

- -eoInit< EOT > -eoUF< EOT &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoInitFixedLength (unsigned _combien, eoRndGenerator< AtomType > &_generator)
-virtual void operator() (EOT &chrom)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned combien
-eoSTLF< AtomType > generator
 generic wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics
-

Detailed Description

-

template<class EOT>
- class eoInitFixedLength< EOT >

- -Initializer for fixed length representations with a single type. -

- -

-Definition at line 81 of file eoInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length.png b/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length.png deleted file mode 100644 index 631b72757..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_init_fixed_length.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_generator-members.html b/trunk/paradiseo-eo/doc/html/classeo_init_generator-members.html deleted file mode 100644 index 4102eb7d1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_generator-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoInitGenerator< EOT > Member List

This is the complete list of members for eoInitGenerator< EOT >, including all inherited members.

- - - - - - - -
eoInitGenerator(eoInit< EOT > &_init)eoInitGenerator< EOT > [inline]
functor_category()eoF< EOT > [inline, static]
init (defined in eoInitGenerator< EOT >)eoInitGenerator< EOT > [private]
operator()()eoInitGenerator< EOT > [inline, virtual]
result_type typedefeoF< EOT >
~eoF()eoF< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_generator.html b/trunk/paradiseo-eo/doc/html/classeo_init_generator.html deleted file mode 100644 index c309969ae..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_generator.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoInitGenerator< EOT > Class Template Reference - - - - -

eoInitGenerator< EOT > Class Template Reference

turning an eoInit into a generator probably we should only use genrators - and suppress eoInit ??? MS - July 2001 -More... -

-#include <eoInit.h> -

-

Inheritance diagram for eoInitGenerator< EOT >: -

- -eoF< EOT > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoInitGenerator (eoInit< EOT > &_init)
 Ctor from a plain eoInit.
-virtual EOT operator() ()
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoInit< EOT > & init
-

Detailed Description

-

template<class EOT>
- class eoInitGenerator< EOT >

- -turning an eoInit into a generator probably we should only use genrators - and suppress eoInit ??? MS - July 2001 -

- -

-Definition at line 60 of file eoInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_generator.png b/trunk/paradiseo-eo/doc/html/classeo_init_generator.png deleted file mode 100644 index 8c2b31787..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_init_generator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_variable_length-members.html b/trunk/paradiseo-eo/doc/html/classeo_init_variable_length-members.html deleted file mode 100644 index c137e6319..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_variable_length-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: Member List - - - - -

eoInitVariableLength< EOT > Member List

This is the complete list of members for eoInitVariableLength< EOT >, including all inherited members.

- - - - - - - - - - - -
atomInit() (defined in eoInitVariableLength< EOT >)eoInitVariableLength< EOT > [inline]
AtomType typedef (defined in eoInitVariableLength< EOT >)eoInitVariableLength< EOT >
className(void) const eoInit< EOT > [inline, virtual]
eoInitVariableLength(unsigned _minSize, unsigned _maxSize, eoInit< AtomType > &_init)eoInitVariableLength< EOT > [inline]
extent (defined in eoInitVariableLength< EOT >)eoInitVariableLength< EOT > [private]
functor_category()eoUF< EOT &, void > [inline, static]
init (defined in eoInitVariableLength< EOT >)eoInitVariableLength< EOT > [private]
offset (defined in eoInitVariableLength< EOT >)eoInitVariableLength< EOT > [private]
operator()(EOT &_chrom)eoInitVariableLength< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_variable_length.html b/trunk/paradiseo-eo/doc/html/classeo_init_variable_length.html deleted file mode 100644 index b2d7ed87b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_variable_length.html +++ /dev/null @@ -1,64 +0,0 @@ - - -EO: eoInitVariableLength< EOT > Class Template Reference - - - - -

eoInitVariableLength< EOT > Class Template Reference

Initializer for variable length representations with a single type. -More... -

-#include <eoInit.h> -

-

Inheritance diagram for eoInitVariableLength< EOT >: -

- -eoInit< EOT > -eoUF< EOT &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoInitVariableLength (unsigned _minSize, unsigned _maxSize, eoInit< AtomType > &_init)
 Ctor from an eoInit.
-virtual void operator() (EOT &_chrom)
 The pure virtual function that needs to be implemented by the subclass.
-eoInit< AtomType > & atomInit ()

Private Attributes

-unsigned offset
-unsigned extent
-eoInit< AtomType > & init
-

Detailed Description

-

template<class EOT>
- class eoInitVariableLength< EOT >

- -Initializer for variable length representations with a single type. -

- -

-Definition at line 107 of file eoInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_variable_length.png b/trunk/paradiseo-eo/doc/html/classeo_init_variable_length.png deleted file mode 100644 index 5a5c4e10e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_init_variable_length.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_virus-members.html b/trunk/paradiseo-eo/doc/html/classeo_init_virus-members.html deleted file mode 100644 index d53ca5987..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_virus-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoInitVirus< FitT > Member List

This is the complete list of members for eoInitVirus< FitT >, including all inherited members.

- - - - - - - - -
className(void) const eoInit< eoVirus< FitT > > [inline, virtual]
combien (defined in eoInitVirus< FitT >)eoInitVirus< FitT > [private]
eoInitVirus(unsigned _combien, eoRndGenerator< bool > &_generator) (defined in eoInitVirus< FitT >)eoInitVirus< FitT > [inline]
functor_category()eoUF< eoVirus< FitT > &, void > [inline, static]
generatoreoInitVirus< FitT > [private]
operator()(eoVirus< FitT > &chrom)eoInitVirus< FitT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoVirus< FitT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_virus.html b/trunk/paradiseo-eo/doc/html/classeo_init_virus.html deleted file mode 100644 index 354f18d1f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_virus.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoInitVirus< FitT > Class Template Reference - - - - -

eoInitVirus< FitT > Class Template Reference

Initializer for binary chromosome with MGE. -More... -

-#include <eoInitVirus.h> -

-

Inheritance diagram for eoInitVirus< FitT >: -

- -eoInit< eoVirus< FitT > > -eoUF< eoVirus< FitT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoInitVirus (unsigned _combien, eoRndGenerator< bool > &_generator)
-virtual void operator() (eoVirus< FitT > &chrom)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned combien
-eoSTLF< bool > generator
 generic wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics
-

Detailed Description

-

template<class FitT>
- class eoInitVirus< FitT >

- -Initializer for binary chromosome with MGE. -

- -

-Definition at line 41 of file eoInitVirus.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_virus.png b/trunk/paradiseo-eo/doc/html/classeo_init_virus.png deleted file mode 100644 index 291fa6d44..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_init_virus.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit-members.html b/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit-members.html deleted file mode 100644 index 81885a453..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoInitVirus1bit< FitT > Member List

This is the complete list of members for eoInitVirus1bit< FitT >, including all inherited members.

- - - - - - - - -
className(void) const eoInit< eoVirus< FitT > > [inline, virtual]
combien (defined in eoInitVirus1bit< FitT >)eoInitVirus1bit< FitT > [private]
eoInitVirus1bit(unsigned _combien, eoRndGenerator< bool > &_generator) (defined in eoInitVirus1bit< FitT >)eoInitVirus1bit< FitT > [inline]
functor_category()eoUF< eoVirus< FitT > &, void > [inline, static]
generatoreoInitVirus1bit< FitT > [private]
operator()(eoVirus< FitT > &chrom)eoInitVirus1bit< FitT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoVirus< FitT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit.html b/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit.html deleted file mode 100644 index 5003907dd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoInitVirus1bit< FitT > Class Template Reference - - - - -

eoInitVirus1bit< FitT > Class Template Reference

Inits the virus with one bit to the left set to one. -More... -

-#include <eoInitVirus.h> -

-

Inheritance diagram for eoInitVirus1bit< FitT >: -

- -eoInit< eoVirus< FitT > > -eoUF< eoVirus< FitT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoInitVirus1bit (unsigned _combien, eoRndGenerator< bool > &_generator)
-virtual void operator() (eoVirus< FitT > &chrom)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned combien
-eoSTLF< bool > generator
 generic wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics
-

Detailed Description

-

template<class FitT>
- class eoInitVirus1bit< FitT >

- -Inits the virus with one bit to the left set to one. -

- -

-Definition at line 66 of file eoInitVirus.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit.png b/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit.png deleted file mode 100644 index 10d7c2aad..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_init_virus1bit.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op-members.html deleted file mode 100644 index 8d2b87724..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoInnerExchangeQuadOp< EOT > Member List

This is the complete list of members for eoInnerExchangeQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoInnerExchangeQuadOp< EOT >)eoInnerExchangeQuadOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoInnerExchangeQuadOp< EOT >)eoInnerExchangeQuadOp< EOT > [inline, virtual]
eoInnerExchangeQuadOp(eoQuadOp< AtomType > &_op, float _rate=0.5)eoInnerExchangeQuadOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
op (defined in eoInnerExchangeQuadOp< EOT >)eoInnerExchangeQuadOp< EOT > [private]
operator()(EOT &_eo1, EOT &_eo2)eoInnerExchangeQuadOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rate (defined in eoInnerExchangeQuadOp< EOT >)eoInnerExchangeQuadOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op.html deleted file mode 100644 index 76ef09664..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op.html +++ /dev/null @@ -1,64 +0,0 @@ - - -EO: eoInnerExchangeQuadOp< EOT > Class Template Reference - - - - -

eoInnerExchangeQuadOp< EOT > Class Template Reference

Crossover using an AtomCrossover. -More... -

-#include <eoVariableLengthCrossover.h> -

-

Inheritance diagram for eoInnerExchangeQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoInnerExchangeQuadOp (eoQuadOp< AtomType > &_op, float _rate=0.5)
 default ctor: requires bounds on number of genes + a rate
-bool operator() (EOT &_eo1, EOT &_eo2)
 performs the Atom crossover
-virtual std::string className () const

Private Attributes

-float rate
-eoQuadOp< AtomType > & op
-

Detailed Description

-

template<class EOT>
- class eoInnerExchangeQuadOp< EOT >

- -Crossover using an AtomCrossover. -

-Probably irrelevant in Variable Length - see eoFlOrBinOp.h and eoFlOrQuadOp.h for the similar Fixed Length operators -

- -

-Definition at line 172 of file eoVariableLengthCrossover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op.png deleted file mode 100644 index 8a9335734..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_inner_exchange_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_above_bound-members.html b/trunk/paradiseo-eo/doc/html/classeo_int_above_bound-members.html deleted file mode 100644 index a6cac0564..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_above_bound-members.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: Member List - - - - -

eoIntAboveBound Member List

This is the complete list of members for eoIntAboveBound, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - -
dup() const eoIntAboveBound [inline, virtual]
eoIntAboveBound(long int _max=0)eoIntAboveBound [inline]
foldsInBounds(double &_r) const eoIntAboveBound [inline, virtual]
eoIntBounds::foldsInBounds(long int &i) const eoIntBounds [inline, virtual]
hasNoBoundAtAll(void) const eoIntAboveBound [inline, virtual]
isBounded(void) const eoIntAboveBound [inline, virtual]
isInBounds(double _r) const eoIntAboveBound [inline, virtual]
isMaxBounded(void) const eoIntAboveBound [inline, virtual]
isMinBounded(void) const eoIntAboveBound [inline, virtual]
maximum() const eoIntAboveBound [inline, virtual]
minimum() const eoIntAboveBound [inline, virtual]
printOn(std::ostream &_os) const eoIntAboveBound [inline, virtual]
random(eoRng &_rng=eo::rng) const (defined in eoIntAboveBound)eoIntAboveBound [inline, virtual]
range() const eoIntAboveBound [inline, virtual]
readFrom(std::istream &_is)eoIntAboveBound [inline, virtual]
repMaximum (defined in eoIntAboveBound)eoIntAboveBound [private]
truncate(double &_r) const eoIntAboveBound [inline, virtual]
eoIntBounds::truncate(long int &i) const eoIntBounds [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoIntAboveBound [inline, virtual]
~eoIntAboveBound() (defined in eoIntAboveBound)eoIntAboveBound [inline, virtual]
~eoIntBounds() (defined in eoIntBounds)eoIntBounds [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_above_bound.html b/trunk/paradiseo-eo/doc/html/classeo_int_above_bound.html deleted file mode 100644 index 64caf91e4..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_above_bound.html +++ /dev/null @@ -1,180 +0,0 @@ - - -EO: eoIntAboveBound Class Reference - - - - -

eoIntAboveBound Class Reference

An eoIntBound bounded from above only. -More... -

-#include <eoIntBounds.h> -

-

Inheritance diagram for eoIntAboveBound: -

- -eoIntBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoIntAboveBound (long int _max=0)
 Simple bounds = minimum.
-virtual long int maximum () const
 get maximum value ::exception if does not exist
-virtual long int minimum () const
 get minimum value ::exception if does not exist
-virtual long int range () const
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded
-virtual long int random (eoRng &_rng=eo::rng) const
-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual bool isInBounds (double _r) const
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &_r) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &_r) const
 Put value back into bounds - by truncating to a boundary value.
virtual void readFrom (std::istream &_is)
 Read object.
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual eoIntBoundsdup () const
 for memory managements - ugly

Private Attributes

-long int repMaximum
-

Detailed Description

-An eoIntBound bounded from above only. -

- -

-Definition at line 441 of file eoIntBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoIntAboveBound::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream. but reading should not be done here, because of bound problems see eoIntVectorBounds
-
- -

-Implements eoPersistent. -

-Definition at line 512 of file eoIntBounds.h.

-

- - - - -
- - - - - - - - - -
virtual void eoIntAboveBound::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 521 of file eoIntBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_above_bound.png b/trunk/paradiseo-eo/doc/html/classeo_int_above_bound.png deleted file mode 100644 index 2c2d05944..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_int_above_bound.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_below_bound-members.html b/trunk/paradiseo-eo/doc/html/classeo_int_below_bound-members.html deleted file mode 100644 index 7f4b508bb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_below_bound-members.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: Member List - - - - -

eoIntBelowBound Member List

This is the complete list of members for eoIntBelowBound, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - -
dup() const eoIntBelowBound [inline, virtual]
eoIntBelowBound(long int _min=0)eoIntBelowBound [inline]
foldsInBounds(double &_r) const eoIntBelowBound [inline, virtual]
eoIntBounds::foldsInBounds(long int &i) const eoIntBounds [inline, virtual]
hasNoBoundAtAll(void) const eoIntBelowBound [inline, virtual]
isBounded(void) const eoIntBelowBound [inline, virtual]
isInBounds(double _r) const eoIntBelowBound [inline, virtual]
isMaxBounded(void) const eoIntBelowBound [inline, virtual]
isMinBounded(void) const eoIntBelowBound [inline, virtual]
maximum() const eoIntBelowBound [inline, virtual]
minimum() const eoIntBelowBound [inline, virtual]
printOn(std::ostream &_os) const eoIntBelowBound [inline, virtual]
random(eoRng &_rng=eo::rng) const (defined in eoIntBelowBound)eoIntBelowBound [inline, virtual]
range() const eoIntBelowBound [inline, virtual]
readFrom(std::istream &_is)eoIntBelowBound [inline, virtual]
repMinimum (defined in eoIntBelowBound)eoIntBelowBound [private]
truncate(double &_r) const eoIntBelowBound [inline, virtual]
eoIntBounds::truncate(long int &i) const eoIntBounds [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoIntBelowBound [inline, virtual]
~eoIntBelowBound() (defined in eoIntBelowBound)eoIntBelowBound [inline, virtual]
~eoIntBounds() (defined in eoIntBounds)eoIntBounds [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_below_bound.html b/trunk/paradiseo-eo/doc/html/classeo_int_below_bound.html deleted file mode 100644 index 1d8949936..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_below_bound.html +++ /dev/null @@ -1,180 +0,0 @@ - - -EO: eoIntBelowBound Class Reference - - - - -

eoIntBelowBound Class Reference

an eoIntBound bounded from below only -More... -

-#include <eoIntBounds.h> -

-

Inheritance diagram for eoIntBelowBound: -

- -eoIntBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoIntBelowBound (long int _min=0)
 Simple bounds = minimum.
-virtual long int minimum () const
 get minimum value ::exception if does not exist
-virtual long int maximum () const
 get maximum value ::exception if does not exist
-virtual long int range () const
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded
-virtual long int random (eoRng &_rng=eo::rng) const
-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual bool isInBounds (double _r) const
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &_r) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &_r) const
 Put value back into bounds - by truncating to a boundary value.
virtual void readFrom (std::istream &_is)
 Read object.
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual eoIntBoundsdup () const
 for memory managements - ugly

Private Attributes

-long int repMinimum
-

Detailed Description

-an eoIntBound bounded from below only -

- -

-Definition at line 344 of file eoIntBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoIntBelowBound::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream. but reading should not be done here, because of bound problems see eoIntVectorBounds
-
- -

-Implements eoPersistent. -

-Definition at line 414 of file eoIntBounds.h.

-

- - - - -
- - - - - - - - - -
virtual void eoIntBelowBound::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 423 of file eoIntBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_below_bound.png b/trunk/paradiseo-eo/doc/html/classeo_int_below_bound.png deleted file mode 100644 index 3127fea42..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_int_below_bound.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_int_bounds-members.html deleted file mode 100644 index bbbeefb62..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_bounds-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoIntBounds Member List

This is the complete list of members for eoIntBounds, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
dup() const =0eoIntBounds [pure virtual]
foldsInBounds(double &) const =0eoIntBounds [pure virtual]
foldsInBounds(long int &i) const eoIntBounds [inline, virtual]
hasNoBoundAtAll(void) const =0eoIntBounds [pure virtual]
isBounded(void) const =0eoIntBounds [pure virtual]
isInBounds(double) const =0eoIntBounds [pure virtual]
isMaxBounded(void) const =0eoIntBounds [pure virtual]
isMinBounded(void) const =0eoIntBounds [pure virtual]
maximum() const =0eoIntBounds [pure virtual]
minimum() const =0eoIntBounds [pure virtual]
printOn(std::ostream &_os) const =0eoPrintable [pure virtual]
random(eoRng &_rng=eo::rng) const =0 (defined in eoIntBounds)eoIntBounds [pure virtual]
range() const =0eoIntBounds [pure virtual]
readFrom(std::istream &_is)=0eoPersistent [pure virtual]
truncate(double &) const =0eoIntBounds [pure virtual]
truncate(long int &i) const eoIntBounds [inline, virtual]
uniform(eoRng &_rng=eo::rng) const =0eoIntBounds [pure virtual]
~eoIntBounds() (defined in eoIntBounds)eoIntBounds [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_int_bounds.html deleted file mode 100644 index c225057d5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_bounds.html +++ /dev/null @@ -1,113 +0,0 @@ - - -EO: eoIntBounds Class Reference - - - - -

eoIntBounds Class Reference
- -[EvolutionStrategies] -

Defines bound classes for real numbers. -More... -

-#include <es/eoIntBounds.h> -

-

Inheritance diagram for eoIntBounds: -

- -eoPersistent -eoPrintable -eoGeneralIntBounds -eoIntAboveBound -eoIntBelowBound -eoIntInterval -eoIntNoBounds - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

-virtual bool isBounded (void) const =0
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const =0
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const =0
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const =0
 Self-Test: bounded from above???
-virtual bool isInBounds (double) const =0
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &) const =0
 Put value back into bounds - by folding back and forth.
-virtual void foldsInBounds (long int &i) const
 foldsInBounds for ints: call the method for double and convert back
-virtual void truncate (double &) const =0
 Put value back into bounds - by truncating to a boundary value.
-virtual void truncate (long int &i) const
 truncate for ints: call the method for double and convert back
-virtual long int minimum () const =0
 get minimum value ::exception if does not exist
-virtual long int maximum () const =0
 get maximum value ::exception if does not exist
-virtual long int range () const =0
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const =0
 random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded
-virtual long int random (eoRng &_rng=eo::rng) const =0
-virtual eoIntBoundsdup () const =0
 for memory managements - ugly
-

Detailed Description

-Defines bound classes for real numbers. -

-Scalar type: ------------ Basic class is eoIntBounds, a pure virtual.

-The following pure virtual methods are to be used in mutations:

    -
  • void foldsInBounds(long int &) that folds any value that falls out of the bounds back into the bounds, by bouncing on the limit (if any)
  • bool isInBounds(long int) that simply says whether or not the argument is in the bounds
  • void truncate(long int &) that set the argument to the bound value it it exceeds it
-

-So mutation can choose

    -
  • iterate trying until they fall in bounds,
  • only try once and "restd::pair" by using the foldsInBounds method
  • only try once and restd::pair using the truncate method (will create a huge bias toward the bound if the soluiton is not far from the bounds)
-

-There is also a uniform() method that generates a uniform value (if possible, i.e. if bounded) in the interval.

-Derived class are eoIntInterval that holds a minimum and maximum value, eoIntNoBounds the "unbounded bounds" (-infinity, +infinity) eoIntBelowBound the half-bounded interval [min, +infinity) eoIntAboveBound the half-bounded interval (-infinity, max]

-THis file also contains the declaration of *the* global object that is the unbounded bound -

- -

-Definition at line 75 of file eoIntBounds.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_int_bounds.png deleted file mode 100644 index 4fd29da4b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_int_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_interval-members.html b/trunk/paradiseo-eo/doc/html/classeo_int_interval-members.html deleted file mode 100644 index c9a60a70c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_interval-members.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: Member List - - - - -

eoIntInterval Member List

This is the complete list of members for eoIntInterval, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - -
dup() const eoIntInterval [inline, virtual]
eoIntInterval(long int _min=0, long int _max=1)eoIntInterval [inline]
foldsInBounds(double &_r) const eoIntInterval [inline, virtual]
eoIntBounds::foldsInBounds(long int &i) const eoIntBounds [inline, virtual]
hasNoBoundAtAll(void) const eoIntInterval [inline, virtual]
isBounded(void) const eoIntInterval [inline, virtual]
isInBounds(double _r) const eoIntInterval [inline, virtual]
isMaxBounded(void) const eoIntInterval [inline, virtual]
isMinBounded(void) const eoIntInterval [inline, virtual]
maximum() const eoIntInterval [inline, virtual]
minimum() const eoIntInterval [inline, virtual]
printOn(std::ostream &_os) const eoIntInterval [inline, virtual]
random(eoRng &_rng=eo::rng) const (defined in eoIntInterval)eoIntInterval [inline, virtual]
range() const eoIntInterval [inline, virtual]
readFrom(std::istream &_is)eoIntInterval [inline, virtual]
repMaximum (defined in eoIntInterval)eoIntInterval [private]
repMinimum (defined in eoIntInterval)eoIntInterval [private]
repRange (defined in eoIntInterval)eoIntInterval [private]
truncate(double &_r) const eoIntInterval [inline, virtual]
eoIntBounds::truncate(long int &i) const eoIntBounds [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoIntInterval [inline, virtual]
~eoIntBounds() (defined in eoIntBounds)eoIntBounds [inline, virtual]
~eoIntInterval() (defined in eoIntInterval)eoIntInterval [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_interval.html b/trunk/paradiseo-eo/doc/html/classeo_int_interval.html deleted file mode 100644 index a53163c56..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_interval.html +++ /dev/null @@ -1,186 +0,0 @@ - - -EO: eoIntInterval Class Reference - - - - -

eoIntInterval Class Reference

fully bounded eoIntBound == interval -More... -

-#include <eoIntBounds.h> -

-

Inheritance diagram for eoIntInterval: -

- -eoIntBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoIntInterval (long int _min=0, long int _max=1)
 Simple bounds = minimum and maximum (allowed).
-virtual long int minimum () const
 get minimum value ::exception if does not exist
-virtual long int maximum () const
 get maximum value ::exception if does not exist
-virtual long int range () const
 get range ::exception if unbounded
-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded
-virtual long int random (eoRng &_rng=eo::rng) const
-virtual bool isInBounds (double _r) const
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &_r) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &_r) const
 Put value back into bounds - by truncating to a boundary value.
virtual void readFrom (std::istream &_is)
 Read object.
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual eoIntBoundsdup () const
 for memory managements - ugly

Private Attributes

-long int repMinimum
-long int repMaximum
-long int repRange
-

Detailed Description

-fully bounded eoIntBound == interval -

- -

-Definition at line 223 of file eoIntBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoIntInterval::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream. but reading should not be done here, because of bound problems see eoIntVectorBounds
-
- -

-Implements eoPersistent. -

-Definition at line 315 of file eoIntBounds.h.

-

- - - - -
- - - - - - - - - -
virtual void eoIntInterval::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 324 of file eoIntBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_interval.png b/trunk/paradiseo-eo/doc/html/classeo_int_interval.png deleted file mode 100644 index 4304b80f8..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_int_interval.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds-members.html deleted file mode 100644 index 8f1adb20a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: Member List - - - - -

eoIntNoBounds Member List

This is the complete list of members for eoIntNoBounds, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
dup() const eoIntNoBounds [inline, virtual]
foldsInBounds(double &) const eoIntNoBounds [inline, virtual]
eoIntBounds::foldsInBounds(long int &i) const eoIntBounds [inline, virtual]
hasNoBoundAtAll(void) const eoIntNoBounds [inline, virtual]
isBounded(void) const eoIntNoBounds [inline, virtual]
isInBounds(double) const eoIntNoBounds [inline, virtual]
isMaxBounded(void) const eoIntNoBounds [inline, virtual]
isMinBounded(void) const eoIntNoBounds [inline, virtual]
maximum() const eoIntNoBounds [inline, virtual]
minimum() const eoIntNoBounds [inline, virtual]
printOn(std::ostream &_os) const eoIntNoBounds [inline, virtual]
random(eoRng &_rng=eo::rng) const (defined in eoIntNoBounds)eoIntNoBounds [inline, virtual]
range() const eoIntNoBounds [inline, virtual]
readFrom(std::istream &_is)eoIntNoBounds [inline, virtual]
truncate(double &) const eoIntNoBounds [inline, virtual]
eoIntBounds::truncate(long int &i) const eoIntBounds [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoIntNoBounds [inline, virtual]
~eoIntBounds() (defined in eoIntBounds)eoIntBounds [inline, virtual]
~eoIntNoBounds() (defined in eoIntNoBounds)eoIntNoBounds [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds.html deleted file mode 100644 index 8ebd2b3fd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds.html +++ /dev/null @@ -1,172 +0,0 @@ - - -EO: eoIntNoBounds Class Reference - - - - -

eoIntNoBounds Class Reference

A default class for unbounded variables. -More... -

-#include <eoIntBounds.h> -

-

Inheritance diagram for eoIntNoBounds: -

- -eoIntBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual void foldsInBounds (double &) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &) const
 Put value back into bounds - by truncating to a boundary value.
-virtual bool isInBounds (double) const
 Test on a value: is it in bounds?
-virtual long int minimum () const
 get minimum value ::exception if does not exist
-virtual long int maximum () const
 get maximum value ::exception if does not exist
-virtual long int range () const
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded
-virtual long int random (eoRng &_rng=eo::rng) const
virtual void readFrom (std::istream &_is)
 Read object.
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual eoIntBoundsdup () const
 for memory managements - ugly
-

Detailed Description

-A default class for unbounded variables. -

- -

-Definition at line 153 of file eoIntBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoIntNoBounds::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream. but reading should not be done here, because of bound problems see eoIntVectorBounds
-
- -

-Implements eoPersistent. -

-Definition at line 195 of file eoIntBounds.h.

-

- - - - -
- - - - - - - - - -
virtual void eoIntNoBounds::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 204 of file eoIntBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds.png deleted file mode 100644 index 4b1eaf8d4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_int_no_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op-members.html deleted file mode 100644 index 06f348b9f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoInvalidateBinOp< EOT > Member List

This is the complete list of members for eoInvalidateBinOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoBinOp< EOT >)eoBinOp< EOT > [inline, virtual]
eoBinOp()eoBinOp< EOT > [inline]
eoInvalidateBinOp(eoBinOp< EOT > &_op) (defined in eoInvalidateBinOp< EOT >)eoInvalidateBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
op (defined in eoInvalidateBinOp< EOT >)eoInvalidateBinOp< EOT > [private]
operator()(EOT &_eo, const EOT &_eo2)eoInvalidateBinOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op.html deleted file mode 100644 index c8e1342ab..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoInvalidateBinOp< EOT > Class Template Reference - - - - -

eoInvalidateBinOp< EOT > Class Template Reference

One of the invalidator operators. -More... -

-#include <eoInvalidateOps.h> -

-

Inheritance diagram for eoInvalidateBinOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoInvalidateBinOp (eoBinOp< EOT > &_op)
-bool operator() (EOT &_eo, const EOT &_eo2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoBinOp< EOT > & op
-

Detailed Description

-

template<class EOT>
- class eoInvalidateBinOp< EOT >

- -One of the invalidator operators. -

-Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual.

-This functor is used in algorithms that work with straight eoMonOp, eoBinOp or eoQuadOp operators, for instance eoSGA. Note that eoGenOp derived operators generally do invalidate the fitness of the objects they have changed.

-Return value means "Has_Changed" and not "Needs_To_Be_Invalidated" as successive invalidation are not really a problem -

- -

-Definition at line 80 of file eoInvalidateOps.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op.png deleted file mode 100644 index 321b97e57..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_invalidate_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op-members.html deleted file mode 100644 index 127f0a864..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoInvalidateMonOp< EOT > Member List

This is the complete list of members for eoInvalidateMonOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoMonOp< EOT >)eoMonOp< EOT > [inline, virtual]
eoInvalidateMonOp(eoMonOp< EOT > &_op) (defined in eoInvalidateMonOp< EOT >)eoInvalidateMonOp< EOT > [inline]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
op (defined in eoInvalidateMonOp< EOT >)eoInvalidateMonOp< EOT > [private]
operator()(EOT &_eo)eoInvalidateMonOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op.html b/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op.html deleted file mode 100644 index 1fd854a4a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoInvalidateMonOp< EOT > Class Template Reference - - - - -

eoInvalidateMonOp< EOT > Class Template Reference

One of the invalidator operators. -More... -

-#include <eoInvalidateOps.h> -

-

Inheritance diagram for eoInvalidateMonOp< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoInvalidateMonOp (eoMonOp< EOT > &_op)
-bool operator() (EOT &_eo)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoMonOp< EOT > & op
-

Detailed Description

-

template<class EOT>
- class eoInvalidateMonOp< EOT >

- -One of the invalidator operators. -

-Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual.

-This functor is used in algorithms that work with straight eoMonOp, eoBinOp or eoQuadOp operators, for instance eoSGA. Note that eoGenOp derived operators generally do invalidate the fitness of the objects they have changed.

-Return value means "Has_Changed" and not "Needs_To_Be_Invalidated" as successive invalidation are not really a problem -

- -

-Definition at line 46 of file eoInvalidateOps.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op.png b/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op.png deleted file mode 100644 index 3d0b7591e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_invalidate_mon_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op-members.html deleted file mode 100644 index 083e1f355..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoInvalidateQuadOp< EOT > Member List

This is the complete list of members for eoInvalidateQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoQuadOp< EOT >)eoQuadOp< EOT > [inline, virtual]
eoInvalidateQuadOp(eoQuadOp< EOT > &_op) (defined in eoInvalidateQuadOp< EOT >)eoInvalidateQuadOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
op (defined in eoInvalidateQuadOp< EOT >)eoInvalidateQuadOp< EOT > [private]
operator()(EOT &_eo1, EOT &_eo2)eoInvalidateQuadOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op.html deleted file mode 100644 index 97cabd006..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoInvalidateQuadOp< EOT > Class Template Reference - - - - -

eoInvalidateQuadOp< EOT > Class Template Reference

One of the invalidator operators. -More... -

-#include <eoInvalidateOps.h> -

-

Inheritance diagram for eoInvalidateQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoInvalidateQuadOp (eoQuadOp< EOT > &_op)
-bool operator() (EOT &_eo1, EOT &_eo2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoQuadOp< EOT > & op
-

Detailed Description

-

template<class EOT>
- class eoInvalidateQuadOp< EOT >

- -One of the invalidator operators. -

-Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual.

-This functor is used in algorithms that work with straight eoMonOp, eoBinOp or eoQuadOp operators, for instance eoSGA. Note that eoGenOp derived operators generally do invalidate the fitness of the objects they have changed.

-Return value means "Has_Changed" and not "Needs_To_Be_Invalidated" as successive invalidation are not really a problem -

- -

-Definition at line 114 of file eoInvalidateOps.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op.png deleted file mode 100644 index caba3e89f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_invalidate_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling-members.html b/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling-members.html deleted file mode 100644 index 79dfb601f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: Member List - - - - -

eoLinearFitScaling< EOT > Member List

This is the complete list of members for eoLinearFitScaling< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoLinearFitScaling(double _p=2.0) (defined in eoLinearFitScaling< EOT >)eoLinearFitScaling< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoLinearFitScaling< EOT > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT >)eoPerf2Worth< EOT > [inline, virtual]
pressure (defined in eoLinearFitScaling< EOT >)eoLinearFitScaling< EOT > [private]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2Worth< EOT >)eoPerf2Worth< EOT > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2Worth< EOT > [inline, virtual]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling.html b/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling.html deleted file mode 100644 index 6775d151a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoLinearFitScaling< EOT > Class Template Reference - - - - -

eoLinearFitScaling< EOT > Class Template Reference

An instance of eoPerf2Worth COmputes the linearly scaled fitnesses with given selective pressure Pselect(Best) == pressure/sizePop Pselect(average) == 1.0/sizePop truncate negative values to 0 -. -More... -

-#include <eoLinearFitScaling.h> -

-

Inheritance diagram for eoLinearFitScaling< EOT >: -

- -eoPerf2Worth< EOT > -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< double > > -eoFunctorBase -eoParam - -List of all members. - - - - - - - - - - -

Public Member Functions

eoLinearFitScaling (double _p=2.0)
-virtual void operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-double pressure
-

Detailed Description

-

template<class EOT>
- class eoLinearFitScaling< EOT >

- -An instance of eoPerf2Worth COmputes the linearly scaled fitnesses with given selective pressure Pselect(Best) == pressure/sizePop Pselect(average) == 1.0/sizePop truncate negative values to 0 -. -

-to be used within an eoSelectFromWorth object -

- -

-Definition at line 43 of file eoLinearFitScaling.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling.png b/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling.png deleted file mode 100644 index 3db707334..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_linear_fit_scaling.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_random_split-members.html b/trunk/paradiseo-eo/doc/html/classeo_linear_random_split-members.html deleted file mode 100644 index 83d669b9e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_linear_random_split-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoLinearRandomSplit< EOT > Member List

This is the complete list of members for eoLinearRandomSplit< EOT >, including all inherited members.

- - - - - - - -
eoLinearRandomSplit(eoHowMany _howMany, bool _returnEliminated=false)eoLinearRandomSplit< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoLinearRandomSplit< EOT >)eoLinearRandomSplit< EOT > [private]
operator()(eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)eoLinearRandomSplit< EOT > [inline, virtual]
returnEliminated (defined in eoLinearRandomSplit< EOT >)eoLinearRandomSplit< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_random_split.html b/trunk/paradiseo-eo/doc/html/classeo_linear_random_split.html deleted file mode 100644 index 5ca847201..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_linear_random_split.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoLinearRandomSplit< EOT > Class Template Reference - - - - -

eoLinearRandomSplit< EOT > Class Template Reference

random truncation - linear version -More... -

-#include <eoReduceSplit.h> -

-

Inheritance diagram for eoLinearRandomSplit< EOT >: -

- -eoReduceSplit< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoLinearRandomSplit (eoHowMany _howMany, bool _returnEliminated=false)
 Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys.
-void operator() (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)
 do the job

Private Attributes

-eoHowMany howMany
-bool returnEliminated
-

Detailed Description

-

template<class EOT>
- class eoLinearRandomSplit< EOT >

- -random truncation - linear version -

- -

-Definition at line 163 of file eoReduceSplit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_random_split.png b/trunk/paradiseo-eo/doc/html/classeo_linear_random_split.png deleted file mode 100644 index e2b4842c3..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_linear_random_split.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate-members.html b/trunk/paradiseo-eo/doc/html/classeo_linear_truncate-members.html deleted file mode 100644 index 27dc02c18..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoLinearTruncate< EOT > Member List

This is the complete list of members for eoLinearTruncate< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoPop< EOT > &, unsigned, void > [inline, static]
operator()(eoPop< EOT > &_newgen, unsigned _newsize)eoLinearTruncate< EOT > [inline, private, virtual]
~eoBF()eoBF< eoPop< EOT > &, unsigned, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate.html b/trunk/paradiseo-eo/doc/html/classeo_linear_truncate.html deleted file mode 100644 index bf6542f00..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoLinearTruncate< EOT > Class Template Reference - - - - -

eoLinearTruncate< EOT > Class Template Reference

a truncate class that does not sort, but repeatidely kills the worse. -More... -

-#include <eoReduce.h> -

-

Inheritance diagram for eoLinearTruncate< EOT >: -

- -eoReduce< EOT > -eoBF< eoPop< EOT > &, unsigned, void > -eoFunctorBase - -List of all members. - - - - - -

Private Member Functions

-void operator() (eoPop< EOT > &_newgen, unsigned _newsize)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoLinearTruncate< EOT >

- -a truncate class that does not sort, but repeatidely kills the worse. -

-To be used in SSGA-like replacements (e.g. see eoSSGAWorseReplacement) -

- -

-Definition at line 167 of file eoReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate.png b/trunk/paradiseo-eo/doc/html/classeo_linear_truncate.png deleted file mode 100644 index 7bc64fbb9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split-members.html b/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split-members.html deleted file mode 100644 index 8ac2f161f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoLinearTruncateSplit< EOT > Member List

This is the complete list of members for eoLinearTruncateSplit< EOT >, including all inherited members.

- - - - - - - -
eoLinearTruncateSplit(eoHowMany _howMany, bool _returnEliminated=false)eoLinearTruncateSplit< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoLinearTruncateSplit< EOT >)eoLinearTruncateSplit< EOT > [private]
operator()(eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)eoLinearTruncateSplit< EOT > [inline, virtual]
returnEliminated (defined in eoLinearTruncateSplit< EOT >)eoLinearTruncateSplit< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split.html b/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split.html deleted file mode 100644 index 96b1191b3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoLinearTruncateSplit< EOT > Class Template Reference - - - - -

eoLinearTruncateSplit< EOT > Class Template Reference

a ReduceSplit class that does not sort, but repeatidely kills the worse. -More... -

-#include <eoReduceSplit.h> -

-

Inheritance diagram for eoLinearTruncateSplit< EOT >: -

- -eoReduceSplit< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoLinearTruncateSplit (eoHowMany _howMany, bool _returnEliminated=false)
 Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys.
-void operator() (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)
 do the job

Private Attributes

-eoHowMany howMany
-bool returnEliminated
-

Detailed Description

-

template<class EOT>
- class eoLinearTruncateSplit< EOT >

- -a ReduceSplit class that does not sort, but repeatidely kills the worse. -

-To be used in SSGA-like replacements (e.g. see eoSSGAWorseReplacement) -

- -

-Definition at line 87 of file eoReduceSplit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split.png b/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split.png deleted file mode 100644 index 0aad43d3d..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_linear_truncate_split.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement-members.html deleted file mode 100644 index 744f7e9e2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoMGGReplacement< EOT > Member List

This is the complete list of members for eoMGGReplacement< EOT >, including all inherited members.

- - - - - - - - -
eoMGGReplacement(eoHowMany _howManyEliminatedParents=eoHowMany(2, false), unsigned _tSize=2) (defined in eoMGGReplacement< EOT >)eoMGGReplacement< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoMGGReplacement< EOT > [inline, virtual]
plus (defined in eoMGGReplacement< EOT >)eoMGGReplacement< EOT > [private]
split (defined in eoMGGReplacement< EOT >)eoMGGReplacement< EOT > [private]
tSize (defined in eoMGGReplacement< EOT >)eoMGGReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement.html deleted file mode 100644 index da60c1fd1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoMGGReplacement< EOT > Class Template Reference - - - - -

eoMGGReplacement< EOT > Class Template Reference

eoMGGReplacement is an eoReplacement: - choose N (2) parents RANDOMLY - remove them from the parent population - select best offspring, add to parents - merge (other?) offspring and the N removed parents - select best N-1 of this merged population (detTournament only at the moment) - put them back into parent population -More... -

-#include <eoMGGReplacement.h> -

-

Inheritance diagram for eoMGGReplacement< EOT >: -

- -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

eoMGGReplacement (eoHowMany _howManyEliminatedParents=eoHowMany(2, false), unsigned _tSize=2)
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoLinearTruncateSplit< EOTsplit
-eoPlus< EOTplus
-unsigned int tSize
-

Detailed Description

-

template<class EOT>
- class eoMGGReplacement< EOT >

- -eoMGGReplacement is an eoReplacement: - choose N (2) parents RANDOMLY - remove them from the parent population - select best offspring, add to parents - merge (other?) offspring and the N removed parents - select best N-1 of this merged population (detTournament only at the moment) - put them back into parent population -

- -

-Definition at line 50 of file eoMGGReplacement.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement.png deleted file mode 100644 index 18d559285..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_m_g_g_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat-members.html deleted file mode 100644 index bbb00c0d9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat-members.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: Member List - - - - -

eoMOFitnessStat< EOT, PartFitT > Member List

This is the complete list of members for eoMOFitnessStat< EOT, PartFitT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoSortedStat< EOT, std::vector< PartFitT > >)eoSortedStat< EOT, std::vector< PartFitT > > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoMOFitnessStat(unsigned _objective, std::string _description="MO-Fitness")eoMOFitnessStat< EOT, PartFitT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoSortedStat(std::vector< PartFitT >_value, std::string _desc) (defined in eoSortedStat< EOT, std::vector< PartFitT > >)eoSortedStat< EOT, std::vector< PartFitT > > [inline]
eoValueParam(void)eoValueParam< std::vector< PartFitT > > [inline]
eoValueParam(std::vector< PartFitT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< PartFitT > > [inline]
functor_category()eoUF< const std::vector< const EOT * > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< PartFitT > > [inline, virtual]
lastCall(const std::vector< const EOT * > &) (defined in eoSortedStatBase< EOT >)eoSortedStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
objective (defined in eoMOFitnessStat< EOT, PartFitT >)eoMOFitnessStat< EOT, PartFitT > [private]
operator()(const std::vector< const EOT * > &_popPters)eoMOFitnessStat< EOT, PartFitT > [inline, virtual]
repValue (defined in eoValueParam< std::vector< PartFitT > >)eoValueParam< std::vector< PartFitT > > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< PartFitT > > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< std::vector< PartFitT > > [inline]
value() const eoValueParam< std::vector< PartFitT > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const std::vector< const EOT * > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat.html b/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat.html deleted file mode 100644 index 9b84e3fdc..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoMOFitnessStat< EOT, PartFitT > Class Template Reference - - - - -

eoMOFitnessStat< EOT, PartFitT > Class Template Reference

For multi-objective fitness, we need to translate a stat<vector<double> > into a vector<stat>, so each objective gets a seperate stat. -More... -

-#include <eoMOFitnessStat.h> -

-

Inheritance diagram for eoMOFitnessStat< EOT, PartFitT >: -

- -eoSortedStat< EOT, std::vector< PartFitT > > -eoSortedStatBase< EOT > -eoValueParam< std::vector< PartFitT > > -eoUF< const std::vector< const EOT * > &, void > -eoParam -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoMOFitnessStat (unsigned _objective, std::string _description="MO-Fitness")
 Ctor: say what component you want.
-virtual void operator() (const std::vector< const EOT * > &_popPters)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned int objective
-

Detailed Description

-

template<class EOT, class PartFitT = double>
- class eoMOFitnessStat< EOT, PartFitT >

- -For multi-objective fitness, we need to translate a stat<vector<double> > into a vector<stat>, so each objective gets a seperate stat. -

- -

-Definition at line 64 of file eoMOFitnessStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat.png b/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat.png deleted file mode 100644 index c64d47328..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_m_o_fitness_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_merge-members.html b/trunk/paradiseo-eo/doc/html/classeo_merge-members.html deleted file mode 100644 index 9ddc7b71c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_merge-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoMerge< Chrom > Member List

This is the complete list of members for eoMerge< Chrom >, including all inherited members.

- - - - -
functor_category()eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void > [inline, static]
operator()(const eoPop< Chrom > &, eoPop< Chrom > &)=0eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void > [pure virtual]
~eoBF()eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_merge.html b/trunk/paradiseo-eo/doc/html/classeo_merge.html deleted file mode 100644 index 2b24dcdd1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_merge.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: eoMerge< Chrom > Class Template Reference - - - - -

eoMerge< Chrom > Class Template Reference

eoMerge: Base class for elitist replacement algorithms. -More... -

-#include <eoMerge.h> -

-

Inheritance diagram for eoMerge< Chrom >: -

- -eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void > -eoFunctorBase - -List of all members. - -
-

Detailed Description

-

template<class Chrom>
- class eoMerge< Chrom >

- -eoMerge: Base class for elitist replacement algorithms. -

-Merges the old population (first argument), with the new generation

-Its signature is exactly that of the selection base eoSelect, but its purpose is to merge the two populations into one (the second argument). Note that the algorithms assume that the second argument denotes the next generation. -

- -

-Definition at line 48 of file eoMerge.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:50 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_merge.png b/trunk/paradiseo-eo/doc/html/classeo_merge.png deleted file mode 100644 index 2919bb577..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_merge.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_merge_reduce-members.html b/trunk/paradiseo-eo/doc/html/classeo_merge_reduce-members.html deleted file mode 100644 index a93612f3c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_merge_reduce-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoMergeReduce< EOT > Member List

This is the complete list of members for eoMergeReduce< EOT >, including all inherited members.

- - - - - - - -
eoMergeReduce(eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce) (defined in eoMergeReduce< EOT >)eoMergeReduce< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
merge (defined in eoMergeReduce< EOT >)eoMergeReduce< EOT > [private]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoMergeReduce< EOT > [inline, virtual]
reduce (defined in eoMergeReduce< EOT >)eoMergeReduce< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_merge_reduce.html b/trunk/paradiseo-eo/doc/html/classeo_merge_reduce.html deleted file mode 100644 index 12e79aa26..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_merge_reduce.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoMergeReduce< EOT > Class Template Reference - - - - -

eoMergeReduce< EOT > Class Template Reference

eoMergeReduce: abstract replacement strategy that is just an application of an embedded merge, followed by an embedded reduce -More... -

-#include <eoMergeReduce.h> -

-

Inheritance diagram for eoMergeReduce< EOT >: -

- -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoCommaReplacement< EOT > -eoEPReplacement< EOT > -eoPlusReplacement< EOT > - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoMergeReduce (eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce)
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoMerge< EOT > & merge
-eoReduce< EOT > & reduce
-

Detailed Description

-

template<class EOT>
- class eoMergeReduce< EOT >

- -eoMergeReduce: abstract replacement strategy that is just an application of an embedded merge, followed by an embedded reduce -

- -

-Definition at line 50 of file eoMergeReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_merge_reduce.png b/trunk/paradiseo-eo/doc/html/classeo_merge_reduce.png deleted file mode 100644 index de6b0fbb4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_merge_reduce.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op-members.html deleted file mode 100644 index abf8c1e3c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoMonCloneOp< EOT > Member List

This is the complete list of members for eoMonCloneOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoMonCloneOp< EOT >)eoMonCloneOp< EOT > [inline, virtual]
eoMonCloneOp()eoMonCloneOp< EOT > [inline]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &)eoMonCloneOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op.html b/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op.html deleted file mode 100644 index b9c0ad270..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoMonCloneOp< EOT > Class Template Reference - - - - -

eoMonCloneOp< EOT > Class Template Reference

Mon clone: one argument. -More... -

-#include <eoCloneOps.h> -

-

Inheritance diagram for eoMonCloneOp< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoMonCloneOp ()
 Ctor.
-virtual std::string className () const
-virtual bool operator() (EOT &)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoMonCloneOp< EOT >

- -Mon clone: one argument. -

- -

-Definition at line 44 of file eoCloneOps.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op.png b/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op.png deleted file mode 100644 index e333bf32b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_mon_clone_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op-members.html deleted file mode 100644 index e0e28812d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoMonGenOp< EOT > Member List

This is the complete list of members for eoMonGenOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
apply(eoPopulator< EOT > &_it)eoMonGenOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoMonGenOp< EOT >)eoMonGenOp< EOT > [inline, virtual]
eoGenOp()eoGenOp< EOT > [inline]
eoMonGenOp(eoMonOp< EOT > &_op) (defined in eoMonGenOp< EOT >)eoMonGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoMonGenOp< EOT > [inline, virtual]
op (defined in eoMonGenOp< EOT >)eoMonGenOp< EOT > [private]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op.html b/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op.html deleted file mode 100644 index 866721fde..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoMonGenOp< EOT > Class Template Reference - - - - -

eoMonGenOp< EOT > Class Template Reference

Wrapper for eoMonOp. -More... -

-#include <eoGenOp.h> -

-

Inheritance diagram for eoMonGenOp< EOT >: -

- -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoMonGenOp (eoMonOp< EOT > &_op)
-unsigned max_production (void)
 Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash.
-void apply (eoPopulator< EOT > &_it)
 the function that will do the work
-virtual std::string className () const

Private Attributes

-eoMonOp< EOT > & op
-

Detailed Description

-

template<class EOT>
- class eoMonGenOp< EOT >

- -Wrapper for eoMonOp. -

- -

-Definition at line 85 of file eoGenOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op.png b/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op.png deleted file mode 100644 index b49808873..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_mon_gen_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_mon_op-members.html deleted file mode 100644 index a71304574..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_mon_op-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoMonOp< EOType > Member List

This is the complete list of members for eoMonOp< EOType >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOType >)eoOp< EOType >
className() const (defined in eoMonOp< EOType >)eoMonOp< EOType > [inline, virtual]
eoMonOp()eoMonOp< EOType > [inline]
eoOp(OpType _type)eoOp< EOType > [inline]
eoOp(const eoOp &_eop)eoOp< EOType > [inline]
functor_category()eoUF< EOType &, bool > [inline, static]
general enum value (defined in eoOp< EOType >)eoOp< EOType >
getType() const eoOp< EOType > [inline]
operator()(EOType &)=0eoUF< EOType &, bool > [pure virtual]
OpType enum name (defined in eoOp< EOType >)eoOp< EOType >
quadratic enum value (defined in eoOp< EOType >)eoOp< EOType >
unary enum value (defined in eoOp< EOType >)eoOp< EOType >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOType > [inline, virtual]
~eoUF()eoUF< EOType &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_op.html b/trunk/paradiseo-eo/doc/html/classeo_mon_op.html deleted file mode 100644 index e5050b671..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_mon_op.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: eoMonOp< EOType > Class Template Reference - - - - -

eoMonOp< EOType > Class Template Reference

eoMonOp is the monary operator: genetic operator that takes only one EO. -More... -

-#include <eoOp.h> -

-

Inheritance diagram for eoMonOp< EOType >: -

- -eoOp< EOType > -eoUF< EOType &, bool > -eoFunctorBase - -List of all members. - - - - - - - -

Public Member Functions

eoMonOp ()
 Ctor.
-virtual std::string className () const
-

Detailed Description

-

template<class EOType>
- class eoMonOp< EOType >

- -eoMonOp is the monary operator: genetic operator that takes only one EO. -

-When defining your own, make sure that you return a boolean value indicating that you have changed the content. -

- -

-Definition at line 101 of file eoOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_mon_op.png b/trunk/paradiseo-eo/doc/html/classeo_mon_op.png deleted file mode 100644 index ce523fce3..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_mon_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_monitor-members.html b/trunk/paradiseo-eo/doc/html/classeo_monitor-members.html deleted file mode 100644 index d2f05f8ff..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_monitor-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -EO: Member List - - - - -

eoMonitor Member List

This is the complete list of members for eoMonitor, including all inherited members.

- - - - - - - - - - -
add(const eoParam &_param)eoMonitor [inline, virtual]
className(void) const (defined in eoMonitor)eoMonitor [inline, virtual]
functor_category()eoF< eoMonitor & > [inline, static]
iterator typedef (defined in eoMonitor)eoMonitor [protected]
lastCall() (defined in eoMonitor)eoMonitor [inline, virtual]
operator()()=0eoF< eoMonitor & > [pure virtual]
result_type typedefeoF< eoMonitor & >
vec (defined in eoMonitor)eoMonitor [protected]
~eoF()eoF< eoMonitor & > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_monitor.html b/trunk/paradiseo-eo/doc/html/classeo_monitor.html deleted file mode 100644 index 914c6c78a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_monitor.html +++ /dev/null @@ -1,99 +0,0 @@ - - -EO: eoMonitor Class Reference - - - - -

eoMonitor Class Reference

The abstract monitor class is a std::vector of parameter pointers. -More... -

-#include <eoMonitor.h> -

-

Inheritance diagram for eoMonitor: -

- -eoF< eoMonitor & > -eoFunctorBase -eoFileMonitor -eoFileSnapshot -eoStdoutMonitor -eoTimedMonitor -eoGnuplot1DMonitor -eoFDCFileSnapshot< EOT > -eoGnuplot1DSnapshot - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

-virtual void lastCall ()
virtual void add (const eoParam &_param)
 Adds a parameter to the monitor.
-virtual std::string className (void) const

Protected Types

-typedef std::vector< const
-eoParam * >::iterator 
iterator

Protected Attributes

-std::vector< const eoParam * > vec
-

Detailed Description

-The abstract monitor class is a std::vector of parameter pointers. -

-Use either push_back a pointer or add a reference to a parameter. Derived classes will then implement the operator()(void) which will stream or pipe the current values of the parameters to wherever you want it streamed or piped to. -

- -

-Definition at line 46 of file eoMonitor.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoMonitor::add const eoParam _param  )  [inline, virtual]
-
- - - - - -
-   - - -

-Adds a parameter to the monitor. -

-It is virtual so you can do some type checking in derived classes if you must. -

-Reimplemented in eoFDCFileSnapshot< EOT >, and eoFileSnapshot. -

-Definition at line 56 of file eoMonitor.h. -

-Referenced by eoFileSnapshot::add().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_monitor.png b/trunk/paradiseo-eo/doc/html/classeo_monitor.png deleted file mode 100644 index 402810a99..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_monitor.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement-members.html deleted file mode 100644 index 131753b94..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoNDPlusReplacement< EOT, WorthT > Member List

This is the complete list of members for eoNDPlusReplacement< EOT, WorthT >, including all inherited members.

- - - - - - - - - -
eoNDPlusReplacement(eoPerf2Worth< EOT, WorthT > &_perf2worth) (defined in eoNDPlusReplacement< EOT, WorthT >)eoNDPlusReplacement< EOT, WorthT > [inline]
eoNDPlusReplacement(eoPerf2Worth< EOT, WorthT > &_perf2worth) (defined in eoNDPlusReplacement< EOT, WorthT >)eoNDPlusReplacement< EOT, WorthT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoNDPlusReplacement< EOT, WorthT > [inline, virtual]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoNDPlusReplacement< EOT, WorthT > [inline, virtual]
perf2worth (defined in eoNDPlusReplacement< EOT, WorthT >)eoNDPlusReplacement< EOT, WorthT > [private]
perf2worth (defined in eoNDPlusReplacement< EOT, WorthT >)eoNDPlusReplacement< EOT, WorthT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement.html deleted file mode 100644 index 1e0c8ca9d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoNDPlusReplacement< EOT, WorthT > Class Template Reference - - - - -

eoNDPlusReplacement< EOT, WorthT > Class Template Reference

An elitist non-dominated sorted replacement scheme. -More... -

-

Inheritance diagram for eoNDPlusReplacement< EOT, WorthT >: -

- -eoReplacement< EOT > -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

eoNDPlusReplacement (eoPerf2Worth< EOT, WorthT > &_perf2worth)
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.
eoNDPlusReplacement (eoPerf2Worth< EOT, WorthT > &_perf2worth)
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoPerf2Worth< EOT, WorthT > & perf2worth
-eoPerf2Worth< EOT, WorthT > & perf2worth
-

Detailed Description

-

template<class EOT, class WorthT = double>
- class eoNDPlusReplacement< EOT, WorthT >

- -An elitist non-dominated sorted replacement scheme. -

-Trying out an elitist non-dominated sorted replacement scheme. -

- -

-Definition at line 45 of file make_algo_pareto.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement.png deleted file mode 100644 index af32229cc..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_n_d_plus_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting-members.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting-members.html deleted file mode 100644 index 6269a4c9d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting-members.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: Member List - - - - -

eoNDSorting< EOT > Member List

This is the complete list of members for eoNDSorting< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
calculate_worths(const eoPop< EOT > &_pop)eoNDSorting< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoNDSorting(bool nasty_flag_=false) (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline]
eoNDSorting() (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, double > [inline]
eoPerf2WorthCached(std::string _description="Worths") (defined in eoPerf2WorthCached< EOT, double >)eoPerf2WorthCached< EOT, double > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
longName() const eoParam [inline]
m_objectives(const eoPop< EOT > &_pop) (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline, private]
nasty_declone_flag_that_only_is_implemented_for_two_objectives (defined in eoNDSorting< EOT >)eoNDSorting< EOT >
niche_penalty(const std::vector< unsigned > &current_front, const eoPop< EOT > &_pop)=0eoNDSorting< EOT > [pure virtual]
one_objective(const eoPop< EOT > &_pop) (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline, private]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT, double >)eoPerf2Worth< EOT, double > [inline, virtual]
rank_to_worth() (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline, private]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2WorthCached< EOT, double >)eoPerf2WorthCached< EOT, double > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [inline, virtual]
two_objectives(const eoPop< EOT > &_pop)eoNDSorting< EOT > [inline, private]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting.html deleted file mode 100644 index bba7df72c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting.html +++ /dev/null @@ -1,162 +0,0 @@ - - -EO: eoNDSorting< EOT > Class Template Reference - - - - -

eoNDSorting< EOT > Class Template Reference

Non dominated sorting, it *is a* std::vector of doubles, the integer part is the rank (to which front it belongs), the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into the bits. -More... -

-#include <eoNDSorting.h> -

-

Inheritance diagram for eoNDSorting< EOT >: -

- -eoPerf2WorthCached< EOT, double > -eoPerf2Worth< EOT, double > -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< double > > -eoFunctorBase -eoParam -eoNDSorting_I< EOT > -eoNDSorting_II< EOT > - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoNDSorting (bool nasty_flag_=false)
virtual std::vector< double > niche_penalty (const std::vector< unsigned > &current_front, const eoPop< EOT > &_pop)=0
 Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm.
-void calculate_worths (const eoPop< EOT > &_pop)
 The actual virtual function the derived classes should implement.

Public Attributes

-bool nasty_declone_flag_that_only_is_implemented_for_two_objectives

Private Member Functions

-void one_objective (const eoPop< EOT > &_pop)
void two_objectives (const eoPop< EOT > &_pop)
 Optimization for two objectives.
-void m_objectives (const eoPop< EOT > &_pop)
-void rank_to_worth ()
-

Detailed Description

-

template<class EOT>
- class eoNDSorting< EOT >

- -Non dominated sorting, it *is a* std::vector of doubles, the integer part is the rank (to which front it belongs), the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into the bits. -

- -

-Definition at line 42 of file eoNDSorting.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
virtual std::vector<double> eoNDSorting< EOT >::niche_penalty const std::vector< unsigned > &  current_front,
const eoPop< EOT > &  _pop
[pure virtual]
-
- - - - - -
-   - - -

-Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. -

-The size of the returned std::vector should be equal to the size of the current_front. -

-Implemented in eoNDSorting_I< EOT >, and eoNDSorting_II< EOT >. -

-Referenced by eoNDSorting< EOT >::two_objectives().

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoNDSorting< EOT >::two_objectives const eoPop< EOT > &  _pop  )  [inline, private]
-
- - - - - -
-   - - -

-Optimization for two objectives. -

-Makes the algorithm run in complexity O(n log n) where n is the population size

-This is the same complexity as for a single objective or truncation selection or sorting.

-It will perform a sort on the two objectives seperately, and from the information on the ranks of the individuals on these two objectives, the non-dominated sorting rank is determined. There are then three nlogn operations in place: one sort per objective, plus a binary search procedure to combine the information about the ranks.

-After that it is a simple exercise to calculate the distance penalty -

-Definition at line 140 of file eoNDSorting.h. -

-References eoNDSorting< EOT >::niche_penalty(), and eoValueParam< std::vector< double > >::value(). -

-Referenced by eoNDSorting< EOT >::calculate_worths().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting.png b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting.png deleted file mode 100644 index 39015928a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o-members.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o-members.html deleted file mode 100644 index 5bd978e66..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o-members.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: Member List - - - - -

eoNDSorting< EOT >::DummyEO Member List

This is the complete list of members for eoNDSorting< EOT >::DummyEO, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className() const EO< EOT::Fitness > [inline, virtual]
EO()EO< EOT::Fitness > [inline]
EO() (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
Fitness typedef (defined in EO< EOT::Fitness >)EO< EOT::Fitness >
fitness() const EO< EOT::Fitness > [inline]
fitness(const Fitness &_fitness)EO< EOT::Fitness > [inline]
fitness(performance_type perf) (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
fitness(void) const (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
fitness_traits typedef (defined in EO< EOT::Fitness >)EO< EOT::Fitness >
index (defined in eoNDSorting< EOT >::DummyEO)eoNDSorting< EOT >::DummyEO
invalid() const EO< EOT::Fitness > [inline]
invalidate() (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
invalidate(void) (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
invalidate_worth(void) (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
operator<(const EO &_eo2) const EO< EOT::Fitness > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
operator>(const EO &_eo2) const (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
performance(performance_type perf) (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
performance(void) const (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
performance_type typedef (defined in EO< EOT::Fitness >)EO< EOT::Fitness >
printOn(std::ostream &_os) const EO< EOT::Fitness > [inline, virtual]
readFrom(std::istream &_is)EO< EOT::Fitness > [inline, virtual]
storage_type typedef (defined in EO< EOT::Fitness >)EO< EOT::Fitness >
worth(worth_type worth) (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
worth(void) const (defined in EO< EOT::Fitness >)EO< EOT::Fitness > [inline]
worth_type typedef (defined in EO< EOT::Fitness >)EO< EOT::Fitness >
~EO()EO< EOT::Fitness > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o.html deleted file mode 100644 index 1b23a29bb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: eoNDSorting< EOT >::DummyEO Class Reference - - - - -

eoNDSorting< EOT >::DummyEO Class Reference

used in fast nondominated sorting DummyEO is just a storage place for fitnesses and to store the original index -More... -

-

Inheritance diagram for eoNDSorting< EOT >::DummyEO: -

- -EO< EOT::Fitness > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - -

Public Attributes

-unsigned index
-

Detailed Description

-

template<class EOT>
- class eoNDSorting< EOT >::DummyEO

- -used in fast nondominated sorting DummyEO is just a storage place for fitnesses and to store the original index -

- -

-Definition at line 94 of file eoNDSorting.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o.png b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o.png deleted file mode 100644 index ac59bfa61..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting_1_1_dummy_e_o.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i-members.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i-members.html deleted file mode 100644 index f8bd779b0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i-members.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: Member List - - - - -

eoNDSorting_I< EOT > Member List

This is the complete list of members for eoNDSorting_I< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
calculate_worths(const eoPop< EOT > &_pop)eoNDSorting< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoNDSorting(bool nasty_flag_=false) (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline]
eoNDSorting() (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline]
eoNDSorting_I(double _nicheSize, bool nasty_flag_=false) (defined in eoNDSorting_I< EOT >)eoNDSorting_I< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, double > [inline]
eoPerf2WorthCached(std::string _description="Worths") (defined in eoPerf2WorthCached< EOT, double >)eoPerf2WorthCached< EOT, double > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
longName() const eoParam [inline]
nasty_declone_flag_that_only_is_implemented_for_two_objectives (defined in eoNDSorting< EOT >)eoNDSorting< EOT >
niche_penalty(const std::vector< unsigned > &current_front, const eoPop< EOT > &_pop)eoNDSorting_I< EOT > [inline, virtual]
nicheSize (defined in eoNDSorting_I< EOT >)eoNDSorting_I< EOT > [private]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT, double >)eoPerf2Worth< EOT, double > [inline, virtual]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2WorthCached< EOT, double >)eoPerf2WorthCached< EOT, double > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [inline, virtual]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i.html deleted file mode 100644 index 55df5b6c2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i.html +++ /dev/null @@ -1,101 +0,0 @@ - - -EO: eoNDSorting_I< EOT > Class Template Reference - - - - -

eoNDSorting_I< EOT > Class Template Reference

The original Non Dominated Sorting algorithm from Srinivas and Deb. -More... -

-#include <eoNDSorting.h> -

-

Inheritance diagram for eoNDSorting_I< EOT >: -

- -eoNDSorting< EOT > -eoPerf2WorthCached< EOT, double > -eoPerf2Worth< EOT, double > -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< double > > -eoFunctorBase -eoParam - -List of all members. - - - - - - - - - - -

Public Member Functions

eoNDSorting_I (double _nicheSize, bool nasty_flag_=false)
std::vector< double > niche_penalty (const std::vector< unsigned > &current_front, const eoPop< EOT > &_pop)
 Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm.

Private Attributes

-double nicheSize
-

Detailed Description

-

template<class EOT>
- class eoNDSorting_I< EOT >

- -The original Non Dominated Sorting algorithm from Srinivas and Deb. -

- -

-Definition at line 380 of file eoNDSorting.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
std::vector<double> eoNDSorting_I< EOT >::niche_penalty const std::vector< unsigned > &  current_front,
const eoPop< EOT > &  _pop
[inline, virtual]
-
- - - - - -
-   - - -

-Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. -

-The size of the returned std::vector should be equal to the size of the current_front. -

-Implements eoNDSorting< EOT >. -

-Definition at line 385 of file eoNDSorting.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i.png b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i.png deleted file mode 100644 index 29267c2db..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i-members.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i-members.html deleted file mode 100644 index d4e1eab15..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i-members.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: Member List - - - - -

eoNDSorting_II< EOT > Member List

This is the complete list of members for eoNDSorting_II< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
calculate_worths(const eoPop< EOT > &_pop)eoNDSorting< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
double_index_pair typedef (defined in eoNDSorting_II< EOT >)eoNDSorting_II< EOT >
eoNDSorting(bool nasty_flag_=false) (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline]
eoNDSorting() (defined in eoNDSorting< EOT >)eoNDSorting< EOT > [inline]
eoNDSorting_II(bool nasty_flag_=false) (defined in eoNDSorting_II< EOT >)eoNDSorting_II< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, double > [inline]
eoPerf2WorthCached(std::string _description="Worths") (defined in eoPerf2WorthCached< EOT, double >)eoPerf2WorthCached< EOT, double > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
longName() const eoParam [inline]
nasty_declone_flag_that_only_is_implemented_for_two_objectives (defined in eoNDSorting< EOT >)eoNDSorting< EOT >
niche_penalty(const std::vector< unsigned > &_cf, const eoPop< EOT > &_pop)eoNDSorting_II< EOT > [inline, virtual]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT, double >)eoPerf2Worth< EOT, double > [inline, virtual]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2WorthCached< EOT, double >)eoPerf2WorthCached< EOT, double > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [inline, virtual]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i.html b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i.html deleted file mode 100644 index 7fe3f3816..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoNDSorting_II< EOT > Class Template Reference - - - - -

eoNDSorting_II< EOT > Class Template Reference

Fast Elitist Non-Dominant Sorting Genetic Algorithm. -More... -

-#include <eoNDSorting.h> -

-

Inheritance diagram for eoNDSorting_II< EOT >: -

- -eoNDSorting< EOT > -eoPerf2WorthCached< EOT, double > -eoPerf2Worth< EOT, double > -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< double > > -eoFunctorBase -eoParam - -List of all members. - - - - - - - - - - -

Public Types

-typedef std::pair< double,
- unsigned > 
double_index_pair

Public Member Functions

eoNDSorting_II (bool nasty_flag_=false)
-std::vector< double > niche_penalty (const std::vector< unsigned > &_cf, const eoPop< EOT > &_pop)
 _cf points into the elements that consist of the current front
-

Detailed Description

-

template<class EOT>
- class eoNDSorting_II< EOT >

- -Fast Elitist Non-Dominant Sorting Genetic Algorithm. -

-Adapted from Deb, Agrawal, Pratab and Meyarivan: A Fast Elitist Non-Dominant Sorting Genetic Algorithm for MultiObjective Optimization: NSGA-II KanGAL Report No. 200001

-Note that this class does not do the sorting per se, but the sorting of it worth_std::vector will give the right order

-The crowding distance is calculated as the sum of the distances to the nearest neighbours. As we need to return the penalty value, we have to invert that and invert it again in the base class, but such is life, sigh -

- -

-Definition at line 434 of file eoNDSorting.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i.png b/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i.png deleted file mode 100644 index fd66b23c2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_n_d_sorting___i_i.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover-members.html b/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover-members.html deleted file mode 100644 index 0b3d34913..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoNPtsBitXover< Chrom > Member List

This is the complete list of members for eoNPtsBitXover< Chrom >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
className() const eoNPtsBitXover< Chrom > [inline, virtual]
eoNPtsBitXover(const unsigned &_num_points=2)eoNPtsBitXover< Chrom > [inline]
eoOp(OpType _type)eoOp< Chrom > [inline]
eoOp(const eoOp &_eop)eoOp< Chrom > [inline]
eoQuadOp()eoQuadOp< Chrom > [inline]
functor_category()eoBF< Chrom &, Chrom &, bool > [inline, static]
general enum value (defined in eoOp< Chrom >)eoOp< Chrom >
getType() const eoOp< Chrom > [inline]
num_points (defined in eoNPtsBitXover< Chrom >)eoNPtsBitXover< Chrom > [private]
operator()(Chrom &chrom1, Chrom &chrom2)eoNPtsBitXover< Chrom > [inline, virtual]
quadratic enum value (defined in eoOp< Chrom >)eoOp< Chrom >
unary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
~eoBF()eoBF< Chrom &, Chrom &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< Chrom > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover.html b/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover.html deleted file mode 100644 index d206f2bd6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover.html +++ /dev/null @@ -1,112 +0,0 @@ - - -EO: eoNPtsBitXover< Chrom > Class Template Reference - - - - -

eoNPtsBitXover< Chrom > Class Template Reference
- -[Bitstring] -

eoNPtsBitXover --> n-point crossover -More... -

-#include <ga/eoBitOp.h> -

-

Inheritance diagram for eoNPtsBitXover< Chrom >: -

- -eoQuadOp< Chrom > -eoOp< Chrom > -eoBF< Chrom &, Chrom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

eoNPtsBitXover (const unsigned &_num_points=2)
 (Default) Constructor.
-virtual std::string className () const
 The class name.
bool operator() (Chrom &chrom1, Chrom &chrom2)
 n-point crossover for binary chromosomes.

Private Attributes

-unsigned num_points
-

Detailed Description

-

template<class Chrom>
- class eoNPtsBitXover< Chrom >

- -eoNPtsBitXover --> n-point crossover -

- -

-Definition at line 319 of file eoBitOp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class Chrom>
bool eoNPtsBitXover< Chrom >::operator() Chrom &  chrom1,
Chrom &  chrom2
[inline, virtual]
-
- - - - - -
-   - - -

-n-point crossover for binary chromosomes. -

-

Parameters:
- - - -
chrom1 The first chromosome.
chrom2 The first chromosome.
-
- -

-Implements eoBF< Chrom &, Chrom &, bool >. -

-Definition at line 337 of file eoBitOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover.png b/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover.png deleted file mode 100644 index 807971583..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_n_pts_bit_xover.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator-members.html b/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator-members.html deleted file mode 100644 index ad58ede2c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoNegExpGenerator< T > Member List

This is the complete list of members for eoNegExpGenerator< T >, including all inherited members.

- - - - - - - - -
eoNegExpGenerator(T _mean=1.0, eoRng &_rng=rng) (defined in eoNegExpGenerator< T >)eoNegExpGenerator< T > [inline]
functor_category()eoF< T > [inline, static]
mean (defined in eoNegExpGenerator< T >)eoNegExpGenerator< T > [private]
negexp (defined in eoNegExpGenerator< T >)eoNegExpGenerator< T > [private]
operator()(void)eoNegExpGenerator< T > [inline, virtual]
result_type typedefeoF< T >
~eoF()eoF< T > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator.html b/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator.html deleted file mode 100644 index 423914acc..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoNegExpGenerator< T > Class Template Reference - - - - -

eoNegExpGenerator< T > Class Template Reference

The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. -More... -

-#include <eoRndGenerators.h> -

-

Inheritance diagram for eoNegExpGenerator< T >: -

- -eoRndGenerator< T > -eoF< T > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoNegExpGenerator (T _mean=1.0, eoRng &_rng=rng)
-T operator() (void)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-T mean
-eoRngnegexp
-

Detailed Description

-

template<class T = double>
- class eoNegExpGenerator< T >

- -The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. -

-The user can supply a mean. -

- -

-Definition at line 137 of file eoRndGenerators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator.png b/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator.png deleted file mode 100644 index 304334134..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_generator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init-members.html deleted file mode 100644 index 9782f237b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoNegExpInit< T > Member List

This is the complete list of members for eoNegExpInit< T >, including all inherited members.

- - - - - - - - -
className(void) const eoInit< T > [inline, virtual]
eoNegExpInit(T _mean=1.0, eoRng &_rng=rng) (defined in eoNegExpInit< T >)eoNegExpInit< T > [inline]
functor_category()eoUF< T &, void > [inline, static]
mean (defined in eoNegExpInit< T >)eoNegExpInit< T > [private]
negexp (defined in eoNegExpInit< T >)eoNegExpInit< T > [private]
operator()(T &_t)eoNegExpInit< T > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< T &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init.html b/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init.html deleted file mode 100644 index ea1228f70..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoNegExpInit< T > Class Template Reference - - - - -

eoNegExpInit< T > Class Template Reference

The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. -More... -

-#include <eoUniformInit.h> -

-

Inheritance diagram for eoNegExpInit< T >: -

- -eoInit< T > -eoUF< T &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoNegExpInit (T _mean=1.0, eoRng &_rng=rng)
-void operator() (T &_t)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-T mean
-eoRngnegexp
-

Detailed Description

-

template<class T = double>
- class eoNegExpInit< T >

- -The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. -

-The user can supply a mean. -

- -

-Definition at line 143 of file eoUniformInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init.png b/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init.png deleted file mode 100644 index cda6f6e94..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_neg_exp_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_elitism-members.html b/trunk/paradiseo-eo/doc/html/classeo_no_elitism-members.html deleted file mode 100644 index 2c6934f42..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_no_elitism-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoNoElitism< EOT > Member List

This is the complete list of members for eoNoElitism< EOT >, including all inherited members.

- - - - - - -
eoElitism(double _rate, bool _interpret_as_rate=true) (defined in eoElitism< EOT >)eoElitism< EOT > [inline]
eoNoElitism() (defined in eoNoElitism< EOT >)eoNoElitism< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(const eoPop< EOT > &_pop, eoPop< EOT > &_offspring)eoElitism< EOT > [inline, virtual]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_elitism.html b/trunk/paradiseo-eo/doc/html/classeo_no_elitism.html deleted file mode 100644 index 0040996fa..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_no_elitism.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: eoNoElitism< EOT > Class Template Reference - - - - -

eoNoElitism< EOT > Class Template Reference

No elite. -More... -

-#include <eoMerge.h> -

-

Inheritance diagram for eoNoElitism< EOT >: -

- -eoElitism< EOT > -eoMerge< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoNoElitism< EOT >

- -No elite. -

- -

-Definition at line 107 of file eoMerge.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_elitism.png b/trunk/paradiseo-eo/doc/html/classeo_no_elitism.png deleted file mode 100644 index 78116eeb8..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_no_elitism.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth-members.html b/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth-members.html deleted file mode 100644 index b4e2bbbed..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth-members.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: Member List - - - - -

eoNoPerf2Worth< EOT > Member List

This is the complete list of members for eoNoPerf2Worth< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, EOT::Fitness > [inline]
eoValueParam(void)eoValueParam< ValueType > [inline]
eoValueParam(ValueType _defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< ValueType > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< ValueType > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoNoPerf2Worth< EOT > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT, EOT::Fitness >)eoPerf2Worth< EOT, EOT::Fitness > [inline, virtual]
repValue (defined in eoValueParam< ValueType >)eoValueParam< ValueType > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2Worth< EOT, EOT::Fitness >)eoPerf2Worth< EOT, EOT::Fitness > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< ValueType > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2Worth< EOT, EOT::Fitness > [inline, virtual]
value()eoValueParam< ValueType > [inline]
value() const eoValueParam< ValueType > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth.html b/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth.html deleted file mode 100644 index 785ae693c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoNoPerf2Worth< EOT > Class Template Reference - - - - -

eoNoPerf2Worth< EOT > Class Template Reference

A dummy perf2worth, just in case you need it. -More... -

-#include <eoPerf2Worth.h> -

-

Inheritance diagram for eoNoPerf2Worth< EOT >: -

- -eoPerf2Worth< EOT, EOT::Fitness > -eoUF< const eoPop< EOT > &, void > -eoValueParam< ValueType > -eoFunctorBase -eoParam - -List of all members. - - - - - -

Public Member Functions

-void operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoNoPerf2Worth< EOT >

- -A dummy perf2worth, just in case you need it. -

- -

-Definition at line 230 of file eoPerf2Worth.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth.png b/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth.png deleted file mode 100644 index 11d6a7cac..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_no_perf2_worth.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_no_select-members.html deleted file mode 100644 index 7eaa87e73..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_no_select-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoNoSelect< EOT > Member List

This is the complete list of members for eoNoSelect< EOT >, including all inherited members.

- - - - - - - -
current (defined in eoNoSelect< EOT >)eoNoSelect< EOT > [private]
eoNoSelect()eoNoSelect< EOT > [inline]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoNoSelect< EOT > [inline, virtual]
setup(const eoPop< EOT > &_pop)eoSelectOne< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_select.html b/trunk/paradiseo-eo/doc/html/classeo_no_select.html deleted file mode 100644 index c0de71b7d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_no_select.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoNoSelect< EOT > Class Template Reference - - - - -

eoNoSelect< EOT > Class Template Reference

eoNoSelect: returns all individual in order WITHOUT USING FITNESS!!! looping back to the beginning when exhasuted -More... -

-#include <eoRandomSelect.h> -

-

Inheritance diagram for eoNoSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoNoSelect ()
 Ctor.
-virtual const EOToperator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned current
-

Detailed Description

-

template<class EOT>
- class eoNoSelect< EOT >

- -eoNoSelect: returns all individual in order WITHOUT USING FITNESS!!! looping back to the beginning when exhasuted -

- -

-Definition at line 78 of file eoRandomSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_no_select.png b/trunk/paradiseo-eo/doc/html/classeo_no_select.png deleted file mode 100644 index 3577012e8..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_no_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_generator-members.html b/trunk/paradiseo-eo/doc/html/classeo_normal_generator-members.html deleted file mode 100644 index c52610dd9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_normal_generator-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoNormalGenerator< T > Member List

This is the complete list of members for eoNormalGenerator< T >, including all inherited members.

- - - - - - - - -
eoNormalGenerator(T _stdev=T(1.0), eoRng &_rng=rng) (defined in eoNormalGenerator< T >)eoNormalGenerator< T > [inline]
functor_category()eoF< T > [inline, static]
normal (defined in eoNormalGenerator< T >)eoNormalGenerator< T > [private]
operator()(void)eoNormalGenerator< T > [inline, virtual]
result_type typedefeoF< T >
stdev (defined in eoNormalGenerator< T >)eoNormalGenerator< T > [private]
~eoF()eoF< T > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_generator.html b/trunk/paradiseo-eo/doc/html/classeo_normal_generator.html deleted file mode 100644 index f5c8da146..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_normal_generator.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoNormalGenerator< T > Class Template Reference - - - - -

eoNormalGenerator< T > Class Template Reference

The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. -More... -

-#include <eoRndGenerators.h> -

-

Inheritance diagram for eoNormalGenerator< T >: -

- -eoRndGenerator< T > -eoF< T > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoNormalGenerator (T _stdev=T(1.0), eoRng &_rng=rng)
-T operator() (void)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-T stdev
-eoRngnormal
-

Detailed Description

-

template<class T = double>
- class eoNormalGenerator< T >

- -The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. -

-The user can supply a standard deviation which defaults to 1. -

- -

-Definition at line 120 of file eoRndGenerators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_generator.png b/trunk/paradiseo-eo/doc/html/classeo_normal_generator.png deleted file mode 100644 index 864c323f9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_normal_generator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_normal_init-members.html deleted file mode 100644 index feff6f448..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_normal_init-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoNormalInit< T > Member List

This is the complete list of members for eoNormalInit< T >, including all inherited members.

- - - - - - - - -
className(void) const eoInit< T > [inline, virtual]
eoNormalInit(T _stdev=T(1.0), eoRng &_rng=rng) (defined in eoNormalInit< T >)eoNormalInit< T > [inline]
functor_category()eoUF< T &, void > [inline, static]
normal (defined in eoNormalInit< T >)eoNormalInit< T > [private]
operator()(T &_t)eoNormalInit< T > [inline, virtual]
stdev (defined in eoNormalInit< T >)eoNormalInit< T > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< T &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_init.html b/trunk/paradiseo-eo/doc/html/classeo_normal_init.html deleted file mode 100644 index cbedd28b5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_normal_init.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoNormalInit< T > Class Template Reference - - - - -

eoNormalInit< T > Class Template Reference

The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. -More... -

-#include <eoUniformInit.h> -

-

Inheritance diagram for eoNormalInit< T >: -

- -eoInit< T > -eoUF< T &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoNormalInit (T _stdev=T(1.0), eoRng &_rng=rng)
-void operator() (T &_t)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-T stdev
-eoRngnormal
-

Detailed Description

-

template<class T = double>
- class eoNormalInit< T >

- -The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. -

-The user can supply a standard deviation which defaults to 1. -

- -

-Definition at line 126 of file eoUniformInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_init.png b/trunk/paradiseo-eo/doc/html/classeo_normal_init.png deleted file mode 100644 index 927f230a2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_normal_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_normal_mutation-members.html deleted file mode 100644 index 134f42470..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_normal_mutation-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoNormalMutation< EOT > Member List

This is the complete list of members for eoNormalMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
bounds (defined in eoNormalMutation< EOT >)eoNormalMutation< EOT > [private]
className() const eoNormalMutation< EOT > [inline, virtual]
eoMonOp()eoMonOp< EOT > [inline]
eoNormalMutation(double &_sigma, const double &_p_change=1.0)eoNormalMutation< EOT > [inline]
eoNormalMutation(eoRealVectorBounds &_bounds, double _sigma, const double &_p_change=1.0)eoNormalMutation< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo)eoNormalMutation< EOT > [inline, virtual]
p_change (defined in eoNormalMutation< EOT >)eoNormalMutation< EOT > [private]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
sigma (defined in eoNormalMutation< EOT >)eoNormalMutation< EOT > [private]
Sigma()eoNormalMutation< EOT > [inline]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_normal_mutation.html deleted file mode 100644 index d930e71e9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_normal_mutation.html +++ /dev/null @@ -1,232 +0,0 @@ - - -EO: eoNormalMutation< EOT > Class Template Reference - - - - -

eoNormalMutation< EOT > Class Template Reference

Simple normal mutation of a std::vector of real values. -More... -

-#include <eoNormalMutation.h> -

-

Inheritance diagram for eoNormalMutation< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase -eoOneFifthMutation< EOT > - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoNormalMutation (double &_sigma, const double &_p_change=1.0)
 (Default) Constructor.
 eoNormalMutation (eoRealVectorBounds &_bounds, double _sigma, const double &_p_change=1.0)
 Constructor with bounds.
-virtual std::string className () const
 The class name.
bool operator() (EOT &_eo)
 Do it!
-double & Sigma ()
 Accessor to ref to sigma - for update and monitor.

Private Attributes

-double & sigma
-eoRealVectorBoundsbounds
-double p_change
-

Detailed Description

-

template<class EOT>
- class eoNormalMutation< EOT >

- -Simple normal mutation of a std::vector of real values. -

-The stDev is fixed - but it is passed ans stored as a reference, to enable dynamic mutations (see eoOenFithMutation 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!!! -

- -

-Definition at line 116 of file eoNormalMutation.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoNormalMutation< EOT >::eoNormalMutation double &  _sigma,
const double &  _p_change = 1.0
[inline]
-
- - - - - -
-   - - -

-(Default) Constructor. -

-The bounds are initialized with the global object that says: no bounds.

-

Parameters:
- - - -
_sigma the range for uniform nutation
_p_change the probability to change a given coordinate
-
- -

-Definition at line 127 of file eoNormalMutation.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoNormalMutation< EOT >::eoNormalMutation eoRealVectorBounds _bounds,
double  _sigma,
const double &  _p_change = 1.0
[inline]
-
- - - - - -
-   - - -

-Constructor with bounds. -

-

Parameters:
- - - - -
_bounds an eoRealVectorBounds that contains the bounds
_sigma the range for uniform nutation
_p_change the probability to change a given coordinate
-
- -

-Definition at line 136 of file eoNormalMutation.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
bool eoNormalMutation< EOT >::operator() EOT _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Do it! -

-

Parameters:
- - -
_eo The cromosome undergoing the mutation
-
- -

-Implements eoUF< EOT &, bool >. -

-Reimplemented in eoOneFifthMutation< EOT >. -

-Definition at line 147 of file eoNormalMutation.h. -

-References eoRng::flip(), eoRealBaseVectorBounds::foldsInBounds(), and eoRng::normal(). -

-Referenced by eoOneFifthMutation< EOT >::operator()().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_normal_mutation.png deleted file mode 100644 index 23f8f65c1..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_normal_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation-members.html deleted file mode 100644 index e7f111aad..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoNormalVecMutation< EOT > Member List

This is the complete list of members for eoNormalVecMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
bounds (defined in eoNormalVecMutation< EOT >)eoNormalVecMutation< EOT > [private]
className() const eoNormalVecMutation< EOT > [inline, virtual]
eoMonOp()eoMonOp< EOT > [inline]
eoNormalVecMutation(double _sigma, const double &_p_change=1.0)eoNormalVecMutation< EOT > [inline]
eoNormalVecMutation(eoRealVectorBounds &_bounds, double _sigma, const double &_p_change=1.0)eoNormalVecMutation< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo)eoNormalVecMutation< EOT > [inline, virtual]
p_change (defined in eoNormalVecMutation< EOT >)eoNormalVecMutation< EOT > [private]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
sigma (defined in eoNormalVecMutation< EOT >)eoNormalVecMutation< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation.html deleted file mode 100644 index f1f616df8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation.html +++ /dev/null @@ -1,225 +0,0 @@ - - -EO: eoNormalVecMutation< EOT > Class Template Reference - - - - -

eoNormalVecMutation< EOT > Class Template Reference

Simple normal mutation of a std::vector of real values. -More... -

-#include <eoNormalMutation.h> -

-

Inheritance diagram for eoNormalVecMutation< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoNormalVecMutation (double _sigma, const double &_p_change=1.0)
 (Default) Constructor.
 eoNormalVecMutation (eoRealVectorBounds &_bounds, double _sigma, const double &_p_change=1.0)
 Constructor with bounds.
-virtual std::string className () const
 The class name.
bool operator() (EOT &_eo)
 Do it!

Private Attributes

-std::vector< double > sigma
-eoRealVectorBoundsbounds
-double p_change
-

Detailed Description

-

template<class EOT>
- class eoNormalVecMutation< EOT >

- -Simple normal mutation of a std::vector of real values. -

-The stDev is fixed - but it is passed ans stored as a reference, to enable dynamic mutations (see eoOenFithMutation 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!!! -

- -

-Definition at line 48 of file eoNormalMutation.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoNormalVecMutation< EOT >::eoNormalVecMutation double  _sigma,
const double &  _p_change = 1.0
[inline]
-
- - - - - -
-   - - -

-(Default) Constructor. -

-The bounds are initialized with the global object that says: no bounds.

-

Parameters:
- - - -
_sigma the range for uniform nutation
_p_change the probability to change a given coordinate
-
- -

-Definition at line 58 of file eoNormalMutation.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoNormalVecMutation< EOT >::eoNormalVecMutation eoRealVectorBounds _bounds,
double  _sigma,
const double &  _p_change = 1.0
[inline]
-
- - - - - -
-   - - -

-Constructor with bounds. -

-

Parameters:
- - - - -
_bounds an eoRealVectorBounds that contains the bounds
_sigma the range for uniform nutation
_p_change the probability to change a given coordinate
-
-for each component, the sigma is scaled to the range of the bound, if bounded -

-Definition at line 69 of file eoNormalMutation.h. -

-References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range().

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
bool eoNormalVecMutation< EOT >::operator() EOT _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Do it! -

-

Parameters:
- - -
_eo The cromosome undergoing the mutation
-
- -

-Implements eoUF< EOT &, bool >. -

-Definition at line 86 of file eoNormalMutation.h. -

-References eoRng::flip(), eoRealBaseVectorBounds::foldsInBounds(), and eoRng::normal().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation.png deleted file mode 100644 index 7db19c822..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_normal_vec_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat-members.html deleted file mode 100644 index 20810a635..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat-members.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: Member List - - - - -

eoNthElementFitnessStat< EOT > Member List

This is the complete list of members for eoNthElementFitnessStat< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoNthElementFitnessStat< EOT >)eoNthElementFitnessStat< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
doit(const eoPop< EOT > &_pop, eoParetoFitness< T >) (defined in eoNthElementFitnessStat< EOT >)eoNthElementFitnessStat< EOT > [inline, private]
doit(const std::vector< const EOT * > &_pop, T) (defined in eoNthElementFitnessStat< EOT >)eoNthElementFitnessStat< EOT > [inline, private]
eoNthElementFitnessStat(unsigned _whichElement, std::string _description="nth element fitness") (defined in eoNthElementFitnessStat< EOT >)eoNthElementFitnessStat< EOT > [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoSortedStat(EOT::Fitness_value, std::string _desc) (defined in eoSortedStat< EOT, EOT::Fitness >)eoSortedStat< EOT, EOT::Fitness > [inline]
eoValueParam(void)eoValueParam< EOT::Fitness > [inline]
eoValueParam(EOT::Fitness_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< EOT::Fitness > [inline]
Fitness typedef (defined in eoNthElementFitnessStat< EOT >)eoNthElementFitnessStat< EOT >
functor_category()eoUF< const std::vector< const EOT * > &, void > [inline, static]
getValue(void) const eoValueParam< EOT::Fitness > [inline, virtual]
lastCall(const std::vector< const EOT * > &) (defined in eoSortedStatBase< EOT >)eoSortedStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const std::vector< const EOT * > &_pop)eoNthElementFitnessStat< EOT > [inline, virtual]
repValue (defined in eoValueParam< EOT::Fitness >)eoValueParam< EOT::Fitness > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< EOT::Fitness > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< EOT::Fitness > [inline]
value() const eoValueParam< EOT::Fitness > [inline]
whichElement (defined in eoNthElementFitnessStat< EOT >)eoNthElementFitnessStat< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const std::vector< const EOT * > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat.html b/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat.html deleted file mode 100644 index 876c90bbf..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat.html +++ /dev/null @@ -1,69 +0,0 @@ - - -EO: eoNthElementFitnessStat< EOT > Class Template Reference - - - - -

eoNthElementFitnessStat< EOT > Class Template Reference

The n_th element fitness in the population (see eoBestFitnessStat). -More... -

-#include <eoStat.h> -

-

Inheritance diagram for eoNthElementFitnessStat< EOT >: -

- -eoSortedStat< EOT, EOT::Fitness > -eoSortedStatBase< EOT > -eoValueParam< EOT::Fitness > -eoUF< const std::vector< const EOT * > &, void > -eoParam -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness

Public Member Functions

eoNthElementFitnessStat (unsigned _whichElement, std::string _description="nth element fitness")
-virtual void operator() (const std::vector< const EOT * > &_pop)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className (void) const

Private Member Functions

-template<class T>
void doit (const eoPop< EOT > &_pop, eoParetoFitness< T >)
-template<class T>
void doit (const std::vector< const EOT * > &_pop, T)

Private Attributes

-unsigned whichElement
-

Detailed Description

-

template<class EOT>
- class eoNthElementFitnessStat< EOT >

- -The n_th element fitness in the population (see eoBestFitnessStat). -

- -

-Definition at line 211 of file eoStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat.png b/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat.png deleted file mode 100644 index 2fe8471c1..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_nth_element_fitness_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_object-members.html b/trunk/paradiseo-eo/doc/html/classeo_object-members.html deleted file mode 100644 index 1010ba1f5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_object-members.html +++ /dev/null @@ -1,16 +0,0 @@ - - -EO: Member List - - - - -

eoObject Member List

This is the complete list of members for eoObject, including all inherited members.

- - -
className() const =0eoObject [pure virtual]
~eoObject()eoObject [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_object.html b/trunk/paradiseo-eo/doc/html/classeo_object.html deleted file mode 100644 index fb030380f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_object.html +++ /dev/null @@ -1,100 +0,0 @@ - - -EO: eoObject Class Reference - - - - -

eoObject Class Reference

eoObject used to be the base class for the whole hierarchy, but this has changed. -More... -

-#include <eoObject.h> -

-

Inheritance diagram for eoObject: -

- -EO< F > -EO< double > -EO< EOT::Fitness > -EO< Fit > -EO< Fitness > -EO< fitness_type > -EO< fitnessT > -EO< FitT > -EO< FType > -EO< phenotype > -EO< PyFitness > -eoDistribution< EOT > -eoFactory< EOClass > -eoFactory< eoOpSelector< eoClass > > -eoFactory< eoSelect< EOT > > -eoFactory< EOT > -eoParser -eoPop< EOT > -eoPop< Dummy > -eoPop< PyEO > -eoRng - -List of all members. - - - - - - - - -

Public Member Functions

-virtual ~eoObject ()
 Virtual dtor. They are needed in virtual class hierarchies.
virtual std::string className () const =0
 Return the class id.
-

Detailed Description

-eoObject used to be the base class for the whole hierarchy, but this has changed. -

-eoObject is used to define a name (className#) that is used when loading or saving the state.

-Previously, this object also defined a print and read interface, but it´s been moved to eoPrintable and eoPersistent.

-It is recommended that you only derive from eoObject in concrete classes. Some parts of EO do not implement this yet, but that will change in the future. eoObject, together with eoPersistent and eoPrintable provide a simple persistence framework that is only needed when the classes have state that changes at runtime.

-

See also:
eoPersistent eoPrintable, eoState
- -

- -

-Definition at line 55 of file eoObject.h.


Member Function Documentation

-

- - - - -
- - - - - - - - -
virtual std::string eoObject::className  )  const [pure virtual]
-
- - - - - -
-   - - -

-Return the class id. -

-This should be redefined in each class. Only "leaf" classes can be non-virtual.

-Maarten: removed the default implementation as this proved to be too error-prone: I found several classes that had a typo in className (like classname), which would print eoObject instead of their own. Having it pure will force the implementor to provide a name. -

-Implemented in EO< F >, eoFactory< EOClass >, eoOpSelMason< eoClass >, eoPop< EOT >, eoEsFull< Fit >, eoEsSimple< Fit >, eoEsStdev< Fit >, eoReal< FitT >, eoBit< FitT >, eoPBILDistrib< EOT >, eoParseTree< FType, Node >, eoString< fitnessT >, eoParser, eoRng, eoOneMax< FitT >, EO< double >, EO< EOT::Fitness >, EO< FitT >, EO< phenotype >, EO< fitnessT >, EO< Fit >, EO< FType >, EO< fitness_type >, EO< Fitness >, EO< PyFitness >, eoFactory< eoOpSelector< eoClass > >, eoFactory< EOT >, eoFactory< eoSelect< EOT > >, eoPop< PyEO >, and eoPop< Dummy >.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_object.png b/trunk/paradiseo-eo/doc/html/classeo_object.png deleted file mode 100644 index 20bff00ed..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_object.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation-members.html deleted file mode 100644 index 851ae23b3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: Member List - - - - -

eoOneFifthMutation< EOT > Member List

This is the complete list of members for eoOneFifthMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoOneFifthMutation< EOT > [inline, virtual]
eoMonOp()eoMonOp< EOT > [inline]
eoNormalMutation(double &_sigma, const double &_p_change=1.0)eoNormalMutation< EOT > [inline]
eoNormalMutation(eoRealVectorBounds &_bounds, double _sigma, const double &_p_change=1.0)eoNormalMutation< EOT > [inline]
eoOneFifthMutation(eoEvalFunc< EOT > &_eval, double &_sigmaInit, unsigned _windowSize=10, double _updateFactor=0.83, double _threshold=0.2)eoOneFifthMutation< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eval (defined in eoOneFifthMutation< EOT >)eoOneFifthMutation< EOT > [private]
Fitness typedef (defined in eoOneFifthMutation< EOT >)eoOneFifthMutation< EOT >
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
genIndex (defined in eoOneFifthMutation< EOT >)eoOneFifthMutation< EOT > [private]
getType() const eoOp< EOT > [inline]
nbMut (defined in eoOneFifthMutation< EOT >)eoOneFifthMutation< EOT > [private]
nbSuccess (defined in eoOneFifthMutation< EOT >)eoOneFifthMutation< EOT > [private]
operator()(EOT &_eo)eoOneFifthMutation< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
Sigma()eoNormalMutation< EOT > [inline]
threshold (defined in eoOneFifthMutation< EOT >)eoOneFifthMutation< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
update()eoOneFifthMutation< EOT > [inline, virtual]
updateFactor (defined in eoOneFifthMutation< EOT >)eoOneFifthMutation< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]
~eoUpdatable()eoUpdatable [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation.html deleted file mode 100644 index c223ec005..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation.html +++ /dev/null @@ -1,198 +0,0 @@ - - -EO: eoOneFifthMutation< EOT > Class Template Reference - - - - -

eoOneFifthMutation< EOT > Class Template Reference

the dynamic version: just say it is updatable - and write the update() method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !) -More... -

-#include <eoNormalMutation.h> -

-

Inheritance diagram for eoOneFifthMutation< EOT >: -

- -eoNormalMutation< EOT > -eoUpdatable -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness

Public Member Functions

 eoOneFifthMutation (eoEvalFunc< EOT > &_eval, double &_sigmaInit, unsigned _windowSize=10, double _updateFactor=0.83, double _threshold=0.2)
 (Default) Constructor.
-virtual std::string className () const
 The class name.
bool operator() (EOT &_eo)
 Do it! calls the standard mutation, then checks for success and updates stats.
-void update ()
 the method that will be called every generation if the object is added to the checkpoint

Private Attributes

-eoEvalFunc< EOT > & eval
-double threshold
-double updateFactor
-std::vector< unsigned > nbMut
-std::vector< unsigned > nbSuccess
-unsigned genIndex
-

Detailed Description

-

template<class EOT>
- class eoOneFifthMutation< EOT >

- -the dynamic version: just say it is updatable - and write the update() method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !) -

- -

-Definition at line 177 of file eoNormalMutation.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoOneFifthMutation< EOT >::eoOneFifthMutation eoEvalFunc< EOT > &  _eval,
double &  _sigmaInit,
unsigned  _windowSize = 10,
double  _updateFactor = 0.83,
double  _threshold = 0.2
[inline]
-
- - - - - -
-   - - -

-(Default) Constructor. -

-

Parameters:
- - - - - - -
eval the evaluation function, needed to recompute the fitmess
_sigmaInit the initial value for uniform mutation
_windowSize the size of the window for statistics
_threshold the threshold (the 1/5 - 0.2)
_updateFactor multiplicative update factor for sigma
-
- -

-Definition at line 195 of file eoNormalMutation.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
bool eoOneFifthMutation< EOT >::operator() EOT _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Do it! calls the standard mutation, then checks for success and updates stats. -

-

Parameters:
- - -
_eo The chromosome undergoing the mutation
-
- -

-Reimplemented from eoNormalMutation< EOT >. -

-Definition at line 216 of file eoNormalMutation.h. -

-References EO< F >::fitness(), EO< F >::invalid(), EO< F >::invalidate(), and eoNormalMutation< EOT >::operator()().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation.png deleted file mode 100644 index 5f4e8d6d2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_one_fifth_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max-members.html b/trunk/paradiseo-eo/doc/html/classeo_one_max-members.html deleted file mode 100644 index baed062ad..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: Member List - - - - -

eoOneMax< FitT > Member List

This is the complete list of members for eoOneMax< FitT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b (defined in eoOneMax< FitT >)eoOneMax< FitT > [private]
B() (defined in eoOneMax< FitT >)eoOneMax< FitT > [inline]
className() const eoOneMax< FitT > [inline, virtual]
EO()EO< FitT > [inline]
EO() (defined in EO< FitT >)EO< FitT > [inline]
eoOneMax()eoOneMax< FitT > [inline]
Fitness typedef (defined in EO< FitT >)EO< FitT >
fitness() const EO< FitT > [inline]
fitness(const Fitness &_fitness)EO< FitT > [inline]
fitness(performance_type perf) (defined in EO< FitT >)EO< FitT > [inline]
fitness(void) const (defined in EO< FitT >)EO< FitT > [inline]
fitness_traits typedef (defined in EO< FitT >)EO< FitT >
invalid() const EO< FitT > [inline]
invalidate() (defined in EO< FitT >)EO< FitT > [inline]
invalidate(void) (defined in EO< FitT >)EO< FitT > [inline]
invalidate_worth(void) (defined in EO< FitT >)EO< FitT > [inline]
operator<(const EO &_eo2) const EO< FitT > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< FitT >)EO< FitT > [inline]
operator>(const EO &_eo2) const (defined in EO< FitT >)EO< FitT > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< FitT >)EO< FitT > [inline]
performance(performance_type perf) (defined in EO< FitT >)EO< FitT > [inline]
performance(void) const (defined in EO< FitT >)EO< FitT > [inline]
performance_type typedef (defined in EO< FitT >)EO< FitT >
printOn(ostream &_os) const eoOneMax< FitT > [inline]
EO< FitT >::printOn(std::ostream &_os) const EO< FitT > [inline, virtual]
readFrom(istream &_is)eoOneMax< FitT > [inline]
EO< FitT >::readFrom(std::istream &_is)EO< FitT > [inline, virtual]
setB(vector< bool > &_b) (defined in eoOneMax< FitT >)eoOneMax< FitT > [inline]
storage_type typedef (defined in EO< FitT >)EO< FitT >
worth(worth_type worth) (defined in EO< FitT >)EO< FitT > [inline]
worth(void) const (defined in EO< FitT >)EO< FitT > [inline]
worth_type typedef (defined in EO< FitT >)EO< FitT >
~EO()EO< FitT > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoOneMax() (defined in eoOneMax< FitT >)eoOneMax< FitT > [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max.html b/trunk/paradiseo-eo/doc/html/classeo_one_max.html deleted file mode 100644 index bc4b01f98..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max.html +++ /dev/null @@ -1,219 +0,0 @@ - - -EO: eoOneMax< FitT > Class Template Reference - - - - -

eoOneMax< FitT > Class Template Reference

Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -More... -

-#include <eoOneMax.h> -

-

Inheritance diagram for eoOneMax< FitT >: -

- -EO< FitT > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoOneMax ()
 Ctor: you MUST provide a default ctor.
virtual string className () const
 Return the class id.
void printOn (ostream &_os) const
 printing...
void readFrom (istream &_is)
 reading...
-void setB (vector< bool > &_b)
-const vector< bool > & B ()

Private Attributes

-std::vector< bool > b
-

Detailed Description

-

template<class FitT>
- class eoOneMax< FitT >

- -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -

-Note that you MUST derive your structure from EO<fitT> but you MAY use some other already prepared class in the hierarchy like eoVector for instance, if you handle a vector of something....

-If you create a structure from scratch, the only thing you need to provide are a default constructor IO routines printOn and readFrom

-Note that operator<< and operator>> are defined at EO level using these routines -

- -

-Definition at line 31 of file eoOneMax.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - -
-template<class FitT>
eoOneMax< FitT >::eoOneMax  )  [inline]
-
- - - - - -
-   - - -

-Ctor: you MUST provide a default ctor. -

-though such individuals will generally be processed by some eoInit object -

-Definition at line 37 of file eoOneMax.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FitT>
virtual string eoOneMax< FitT >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Return the class id. -

-

Returns:
the class name as a std::string
- -

-Reimplemented from EO< FitT >. -

-Definition at line 49 of file eoOneMax.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class FitT>
void eoOneMax< FitT >::printOn ostream &  _os  )  const [inline]
-
- - - - - -
-   - - -

-printing... -

-HINTS in EO we systematically write the sizes of things before the things so readFrom is easier to code (see below) -

-Definition at line 52 of file eoOneMax.h. -

-References EO< F >::printOn().

-

- - - - -
- - - - - - - - - - - - -
-template<class FitT>
void eoOneMax< FitT >::readFrom istream &  _is  )  [inline]
-
- - - - - -
-   - - -

-reading... -

-of course, your readFrom must be able to read what printOn writes!!!

-HINTS remember the eoOneMax object will come from the default ctor this is why having the sizes written out is useful -

-Definition at line 72 of file eoOneMax.h. -

-References EO< F >::readFrom().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max.png b/trunk/paradiseo-eo/doc/html/classeo_one_max.png deleted file mode 100644 index 43848a8ef..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_one_max.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func-members.html b/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func-members.html deleted file mode 100644 index 497a13cce..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoOneMaxEvalFunc< EOT > Member List

This is the complete list of members for eoOneMaxEvalFunc< EOT >, including all inherited members.

- - - - - - - -
EOFitT typedef (defined in eoEvalFunc< EOT >)eoEvalFunc< EOT >
eoOneMaxEvalFunc()eoOneMaxEvalFunc< EOT > [inline]
EOType typedef (defined in eoEvalFunc< EOT >)eoEvalFunc< EOT >
functor_category()eoUF< EOT &, void > [inline, static]
operator()(EOT &_eo)eoOneMaxEvalFunc< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func.html b/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func.html deleted file mode 100644 index fb5a7d848..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func.html +++ /dev/null @@ -1,92 +0,0 @@ - - -EO: eoOneMaxEvalFunc< EOT > Class Template Reference - - - - -

eoOneMaxEvalFunc< EOT > Class Template Reference

Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -More... -

-#include <eoOneMaxEvalFunc.h> -

-

Inheritance diagram for eoOneMaxEvalFunc< EOT >: -

- -eoEvalFunc< EOT > -eoUF< EOT &, void > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

eoOneMaxEvalFunc ()
 Ctor - no requirement.
void operator() (EOT &_eo)
 Actually compute the fitness.
-

Detailed Description

-

template<class EOT>
- class eoOneMaxEvalFunc< EOT >

- -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -

- -

-Definition at line 26 of file eoOneMaxEvalFunc.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoOneMaxEvalFunc< EOT >::operator() EOT _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Actually compute the fitness. -

-

Parameters:
- - -
EOT & _eo the EO object to evaluate it should stay templatized to be usable with any fitness type
-
- -

-Implements eoUF< EOT &, void >. -

-Definition at line 45 of file eoOneMaxEvalFunc.h. -

-References EO< F >::fitness(), and EO< F >::invalid().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func.png b/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func.png deleted file mode 100644 index 4bc3cc9de..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_one_max_eval_func.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_one_max_init-members.html deleted file mode 100644 index 549e4f05d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max_init-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoOneMaxInit< GenotypeT > Member List

This is the complete list of members for eoOneMaxInit< GenotypeT >, including all inherited members.

- - - - - - - -
className(void) const eoInit< GenotypeT > [inline, virtual]
eoOneMaxInit(unsigned _vecSize)eoOneMaxInit< GenotypeT > [inline]
functor_category()eoUF< GenotypeT &, void > [inline, static]
operator()(GenotypeT &_genotype)eoOneMaxInit< GenotypeT > [inline, virtual]
vecSize (defined in eoOneMaxInit< GenotypeT >)eoOneMaxInit< GenotypeT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< GenotypeT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_init.html b/trunk/paradiseo-eo/doc/html/classeo_one_max_init.html deleted file mode 100644 index 3101ee24e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max_init.html +++ /dev/null @@ -1,98 +0,0 @@ - - -EO: eoOneMaxInit< GenotypeT > Class Template Reference - - - - -

eoOneMaxInit< GenotypeT > Class Template Reference

Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -More... -

-#include <eoOneMaxInit.h> -

-

Inheritance diagram for eoOneMaxInit< GenotypeT >: -

- -eoInit< GenotypeT > -eoUF< GenotypeT &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoOneMaxInit (unsigned _vecSize)
 Ctor - no requirement.
void operator() (GenotypeT &_genotype)
 initialize a genotype

Private Attributes

-unsigned vecSize
-

Detailed Description

-

template<class GenotypeT>
- class eoOneMaxInit< GenotypeT >

- -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -

-There is NO ASSUMPTION on the class GenoypeT. In particular, it does not need to derive from EO (e.g. to initialize atoms of an eoVector you will need an eoInit<AtomType>) -

- -

-Definition at line 26 of file eoOneMaxInit.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class GenotypeT>
void eoOneMaxInit< GenotypeT >::operator() GenotypeT &  _genotype  )  [inline, virtual]
-
- - - - - -
-   - - -

-initialize a genotype -

-

Parameters:
- - -
_genotype generally a genotype that has been default-constructed whatever it contains will be lost
-
- -

-Implements eoUF< GenotypeT &, void >. -

-Definition at line 44 of file eoOneMaxInit.h. -

-References eoRng::flip().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_init.png b/trunk/paradiseo-eo/doc/html/classeo_one_max_init.png deleted file mode 100644 index 183749fb4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_one_max_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation-members.html deleted file mode 100644 index fa2446f0c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoOneMaxMutation< GenotypeT > Member List

This is the complete list of members for eoOneMaxMutation< GenotypeT >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< GenotypeT >)eoOp< GenotypeT >
className() const eoOneMaxMutation< GenotypeT > [inline, virtual]
eoMonOp()eoMonOp< GenotypeT > [inline]
eoOneMaxMutation()eoOneMaxMutation< GenotypeT > [inline]
eoOp(OpType _type)eoOp< GenotypeT > [inline]
eoOp(const eoOp &_eop)eoOp< GenotypeT > [inline]
functor_category()eoUF< GenotypeT &, bool > [inline, static]
general enum value (defined in eoOp< GenotypeT >)eoOp< GenotypeT >
getType() const eoOp< GenotypeT > [inline]
operator()(GenotypeT &_genotype)eoOneMaxMutation< GenotypeT > [inline, virtual]
quadratic enum value (defined in eoOp< GenotypeT >)eoOp< GenotypeT >
unary enum value (defined in eoOp< GenotypeT >)eoOp< GenotypeT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< GenotypeT > [inline, virtual]
~eoUF()eoUF< GenotypeT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation.html deleted file mode 100644 index 97161cbf9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation.html +++ /dev/null @@ -1,98 +0,0 @@ - - -EO: eoOneMaxMutation< GenotypeT > Class Template Reference - - - - -

eoOneMaxMutation< GenotypeT > Class Template Reference

Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -More... -

-#include <eoOneMaxMutation.h> -

-

Inheritance diagram for eoOneMaxMutation< GenotypeT >: -

- -eoMonOp< GenotypeT > -eoOp< GenotypeT > -eoUF< GenotypeT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoOneMaxMutation ()
 Ctor - no requirement.
-string className () const
 The class name. Used to display statistics.
bool operator() (GenotypeT &_genotype)
 modifies the parent
-

Detailed Description

-

template<class GenotypeT>
- class eoOneMaxMutation< GenotypeT >

- -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -

-THere is NO ASSUMPTION on the class GenoypeT. In particular, it does not need to derive from EO -

- -

-Definition at line 25 of file eoOneMaxMutation.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class GenotypeT>
bool eoOneMaxMutation< GenotypeT >::operator() GenotypeT &  _genotype  )  [inline, virtual]
-
- - - - - -
-   - - -

-modifies the parent -

-

Parameters:
- - -
_genotype The parent genotype (will be modified)
-
-

-Requirement if (_genotype has been modified) isModified = true; else isModified = false; -

-Implements eoUF< GenotypeT &, bool >. -

-Definition at line 47 of file eoOneMaxMutation.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation.png deleted file mode 100644 index 420dadbfb..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_one_max_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover-members.html b/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover-members.html deleted file mode 100644 index 0b0e35ee9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoOneMaxQuadCrossover< GenotypeT > Member List

This is the complete list of members for eoOneMaxQuadCrossover< GenotypeT >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< GenotypeT >)eoOp< GenotypeT >
className() const eoOneMaxQuadCrossover< GenotypeT > [inline, virtual]
eoOneMaxQuadCrossover()eoOneMaxQuadCrossover< GenotypeT > [inline]
eoOp(OpType _type)eoOp< GenotypeT > [inline]
eoOp(const eoOp &_eop)eoOp< GenotypeT > [inline]
eoQuadOp()eoQuadOp< GenotypeT > [inline]
functor_category()eoBF< GenotypeT &, GenotypeT &, bool > [inline, static]
general enum value (defined in eoOp< GenotypeT >)eoOp< GenotypeT >
getType() const eoOp< GenotypeT > [inline]
operator()(GenotypeT &_genotype1, GenotypeT &_genotype2)eoOneMaxQuadCrossover< GenotypeT > [inline, virtual]
quadratic enum value (defined in eoOp< GenotypeT >)eoOp< GenotypeT >
unary enum value (defined in eoOp< GenotypeT >)eoOp< GenotypeT >
~eoBF()eoBF< GenotypeT &, GenotypeT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< GenotypeT > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover.html b/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover.html deleted file mode 100644 index 36858a872..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover.html +++ /dev/null @@ -1,108 +0,0 @@ - - -EO: eoOneMaxQuadCrossover< GenotypeT > Class Template Reference - - - - -

eoOneMaxQuadCrossover< GenotypeT > Class Template Reference

Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -More... -

-#include <eoOneMaxQuadCrossover.h> -

-

Inheritance diagram for eoOneMaxQuadCrossover< GenotypeT >: -

- -eoQuadOp< GenotypeT > -eoOp< GenotypeT > -eoBF< GenotypeT &, GenotypeT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoOneMaxQuadCrossover ()
 Ctor - no requirement.
-string className () const
 The class name. Used to display statistics.
bool operator() (GenotypeT &_genotype1, GenotypeT &_genotype2)
 eoQuad crossover - modifies both parents
-

Detailed Description

-

template<class GenotypeT>
- class eoOneMaxQuadCrossover< GenotypeT >

- -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -

-THere is NO ASSUMPTION on the class GenoypeT. In particular, it does not need to derive from EO -

- -

-Definition at line 26 of file eoOneMaxQuadCrossover.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class GenotypeT>
bool eoOneMaxQuadCrossover< GenotypeT >::operator() GenotypeT &  _genotype1,
GenotypeT &  _genotype2
[inline, virtual]
-
- - - - - -
-   - - -

-eoQuad crossover - modifies both parents -

-

Parameters:
- - - -
_genotype1 The first parent
_genotype2 The second parent
-
-

-Requirement if (at least one genotype has been modified) // no way to distinguish oneAtLeastIsModified = true; else oneAtLeastIsModified = false; -

-Implements eoBF< GenotypeT &, GenotypeT &, bool >. -

-Definition at line 49 of file eoOneMaxQuadCrossover.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover.png b/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover.png deleted file mode 100644 index a0b290a26..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_one_max_quad_crossover.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_op-members.html deleted file mode 100644 index 747611486..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_op-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -EO: Member List - - - - -

eoOp< EOType > Member List

This is the complete list of members for eoOp< EOType >, including all inherited members.

- - - - - - - - - - -
binary enum value (defined in eoOp< EOType >)eoOp< EOType >
eoOp(OpType _type)eoOp< EOType > [inline]
eoOp(const eoOp &_eop)eoOp< EOType > [inline]
general enum value (defined in eoOp< EOType >)eoOp< EOType >
getType() const eoOp< EOType > [inline]
opTypeeoOp< EOType > [private]
OpType enum name (defined in eoOp< EOType >)eoOp< EOType >
quadratic enum value (defined in eoOp< EOType >)eoOp< EOType >
unary enum value (defined in eoOp< EOType >)eoOp< EOType >
~eoOp()eoOp< EOType > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_op.html b/trunk/paradiseo-eo/doc/html/classeo_op.html deleted file mode 100644 index 1e20dcc62..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_op.html +++ /dev/null @@ -1,67 +0,0 @@ - - -EO: eoOp< EOType > Class Template Reference - - - - -

eoOp< EOType > Class Template Reference

Abstract data types for EO operators. -More... -

-#include <eoOp.h> -

-

Inheritance diagram for eoOp< EOType >: -

- -eoBinOp< EOType > -eoMonOp< EOType > -eoQuadOp< EOType > - -List of all members. - - - - - - - - - - - - - - - - - - - -

[NOHEADER]

enum  OpType { unary = 0, -binary = 1, -quadratic = 2, -general = 3 - }
eoOp (OpType _type)
 Ctor.
eoOp (const eoOp &_eop)
 Copy Ctor.
-virtual ~eoOp ()
 Needed virtual destructor.
-OpType getType () const
 getType: number of operands it takes and individuals it produces
-OpType opType
 OpType is the type of the operator: how many operands it takes and how many it produces.
-

Detailed Description

-

template<class EOType>
- class eoOp< EOType >

- -Abstract data types for EO operators. -

-Genetic operators act on chromosomes, changing them. The type to use them on is problem specific. If your genotype is a std::vector<bool>, there are operators that work specifically on std::vector<bool>, but you might also find that generic operators working on std::vector<T> are what you need. -

- -

-Definition at line 68 of file eoOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_op.png b/trunk/paradiseo-eo/doc/html/classeo_op.png deleted file mode 100644 index 0e38ed6e9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_op_container-members.html b/trunk/paradiseo-eo/doc/html/classeo_op_container-members.html deleted file mode 100644 index 98b735c07..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_op_container-members.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: Member List - - - - -

eoOpContainer< EOT > Member List

This is the complete list of members for eoOpContainer< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - -
add(eoOp< EOT > &_op, double _rate)eoOpContainer< EOT > [inline]
apply(eoPopulator< EOT > &_pop)=0eoGenOp< EOT > [protected, pure virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const =0 (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [pure virtual]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoOpContainer()eoOpContainer< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoOpContainer< EOT > [inline, virtual]
max_to_produce (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [private]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
ops (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [protected]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rates (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [protected]
store (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoOpContainer(void)eoOpContainer< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_op_container.html b/trunk/paradiseo-eo/doc/html/classeo_op_container.html deleted file mode 100644 index 841297aed..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_op_container.html +++ /dev/null @@ -1,122 +0,0 @@ - - -EO: eoOpContainer< EOT > Class Template Reference - - - - -

eoOpContainer< EOT > Class Template Reference

eoOpContainer is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated -More... -

-#include <eoOpContainer.h> -

-

Inheritance diagram for eoOpContainer< EOT >: -

- -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase -eoProportionalOp< EOT > -eoSequentialOp< EOT > - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoOpContainer ()
 Ctor: nothing much to do.
-virtual ~eoOpContainer (void)
 Dtor: delete all the GenOps created when wrapping simple ops.
-virtual unsigned max_production (void)
 for memory management (doesn't have to be very precise
void add (eoOp< EOT > &_op, double _rate)
 Add an operator to the container, also give it a rate.
-virtual std::string className () const =0

Protected Attributes

-std::vector< double > rates
-std::vector< eoGenOp< EOT > * > ops

Private Attributes

-eoFunctorStore store
-unsigned max_to_produce
-

Detailed Description

-

template<class EOT>
- class eoOpContainer< EOT >

- -eoOpContainer is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated -

-Warning: all operators are added together with a rate (double) However, the meaning of this rate will be different in the differnet instances of eoOpContainer: an ***absolute*** probability in the sequential version, and a ***relative*** weight in the proportional version -

- -

-Definition at line 42 of file eoOpContainer.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
void eoOpContainer< EOT >::add eoOp< EOT > &  _op,
double  _rate
[inline]
-
- - - - - -
-   - - -

-Add an operator to the container, also give it a rate. -

-(sidenote, it's much less hairy since I added the wrap_op is used) -

-Definition at line 63 of file eoOpContainer.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_op_container.png b/trunk/paradiseo-eo/doc/html/classeo_op_container.png deleted file mode 100644 index 7956e5d64..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_op_container.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason-members.html b/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason-members.html deleted file mode 100644 index 11728f517..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: Member List - - - - -

eoOpSelMason< eoClass > Member List

This is the complete list of members for eoOpSelMason< eoClass >, including all inherited members.

- - - - - - - - - - - -
allocMap (defined in eoOpSelMason< eoClass >)eoOpSelMason< eoClass > [private]
className() const eoOpSelMason< eoClass > [inline, virtual]
eoFactory()eoFactory< eoOpSelector< eoClass > > [inline]
eoOpSelMason(eoOpFactory< eoClass > &_opFact)eoOpSelMason< eoClass > [inline]
make(std::istream &_is)eoOpSelMason< eoClass > [inline, virtual]
MEV typedef (defined in eoOpSelMason< eoClass >)eoOpSelMason< eoClass >
operatorFactory (defined in eoOpSelMason< eoClass >)eoOpSelMason< eoClass > [private]
vOpP typedef (defined in eoOpSelMason< eoClass >)eoOpSelMason< eoClass >
~eoFactory()eoFactory< eoOpSelector< eoClass > > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoOpSelMason()eoOpSelMason< eoClass > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason.html b/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason.html deleted file mode 100644 index 01ce703a5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason.html +++ /dev/null @@ -1,113 +0,0 @@ - - -EO: eoOpSelMason< eoClass > Class Template Reference - - - - -

eoOpSelMason< eoClass > Class Template Reference

EO Mason, or builder, for operator selectors. -More... -

-#include <eoOpSelMason.h> -

-

Inheritance diagram for eoOpSelMason< eoClass >: -

- -eoFactory< eoOpSelector< eoClass > > -eoObject - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef std::vector< eoOp<
- eoClass > * > 
vOpP
-typedef map< eoOpSelector<
- eoClass > *, vOpP > 
MEV

Public Member Functions

virtual eoOpSelector< eoClass > * make (std::istream &_is)
 Factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object.
ctors and dtors
eoOpSelMason (eoOpFactory< eoClass > &_opFact)
 constructor
-virtual ~eoOpSelMason ()
 destructor
eoObject methods
-virtual std::string className () const
 Return the class id.

Private Attributes

-map< eoOpSelector< eoClass > *,
- std::vector< eoOp< eoClass > * > > 
allocMap
-eoOpFactory< eoClass > & operatorFactory
-

Detailed Description

-

template<class eoClass>
- class eoOpSelMason< eoClass >

- -EO Mason, or builder, for operator selectors. -

-A builder must allocate memory to the objects it builds, and then deallocate it when it gets out of scope -

- -

-Definition at line 39 of file eoOpSelMason.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class eoClass>
virtual eoOpSelector<eoClass>* eoOpSelMason< eoClass >::make std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. -

-The format is opSelClassName\ rate 1 operator1\ rate 2 operator2\ ...\ Stores all operators built in a database (#allocMap#), so that somebody can destroy them later. The Mason is in charge or destroying the operators, since the built object can´t do it itself. The objects built must be destroyed from outside, using the #destroy# method -

-Implements eoFactory< eoOpSelector< eoClass > >. -

-Definition at line 65 of file eoOpSelMason.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason.png b/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason.png deleted file mode 100644 index 053f7057b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_op_sel_mason.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive-members.html b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive-members.html deleted file mode 100644 index 08b997e61..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoPBILAdditive< EOT > Member List

This is the complete list of members for eoPBILAdditive< EOT >, including all inherited members.

- - - - - - - - - - - - -
eoPBILAdditive(double _LRBest, unsigned _nbBest=1, double _tolerance=0.0, double _LRWorst=0.0, unsigned _nbWorst=0)eoPBILAdditive< EOT > [inline]
functor_category()eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > [inline, static]
LR (defined in eoPBILAdditive< EOT >)eoPBILAdditive< EOT > [private]
lrb (defined in eoPBILAdditive< EOT >)eoPBILAdditive< EOT > [private]
lrw (defined in eoPBILAdditive< EOT >)eoPBILAdditive< EOT > [private]
maxBound (defined in eoPBILAdditive< EOT >)eoPBILAdditive< EOT > [private]
minBound (defined in eoPBILAdditive< EOT >)eoPBILAdditive< EOT > [private]
nbBest (defined in eoPBILAdditive< EOT >)eoPBILAdditive< EOT > [private]
nbWorst (defined in eoPBILAdditive< EOT >)eoPBILAdditive< EOT > [private]
operator()(eoDistribution< EOT > &_distrib, eoPop< EOT > &_pop)eoPBILAdditive< EOT > [inline, virtual]
~eoBF()eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive.html b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive.html deleted file mode 100644 index 0cb480027..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive.html +++ /dev/null @@ -1,73 +0,0 @@ - - -EO: eoPBILAdditive< EOT > Class Template Reference - - - - -

eoPBILAdditive< EOT > Class Template Reference

Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). -More... -

-#include <eoPBILAdditive.h> -

-

Inheritance diagram for eoPBILAdditive< EOT >: -

- -eoDistribUpdater< EOT > -eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoPBILAdditive (double _LRBest, unsigned _nbBest=1, double _tolerance=0.0, double _LRWorst=0.0, unsigned _nbWorst=0)
 Ctor with parameters using the default values is equivalent to using eoPBILOrg.
-virtual void operator() (eoDistribution< EOT > &_distrib, eoPop< EOT > &_pop)
 Update the distribution from the current population.

Private Attributes

-double maxBound
-double minBound
-double LR
-unsigned nbBest
-unsigned nbWorst
-double lrb
-double lrw
-

Detailed Description

-

template<class EOT>
- class eoPBILAdditive< EOT >

- -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). -

-This class implements an extended update rule: in the original paper, the authors used

-p(i)(t+1) = (1-LR)*p(i)(t) + LR*best(i)

-here the same formula is applied, with some of the best individuals and for some of the worst individuals (with different learning rates) -

- -

-Definition at line 46 of file eoPBILAdditive.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive.png b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive.png deleted file mode 100644 index 86b11a3a7..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_additive.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib-members.html b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib-members.html deleted file mode 100644 index 4c22cffb0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib-members.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: Member List - - - - -

eoPBILDistrib< EOT > Member List

This is the complete list of members for eoPBILDistrib< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className() const eoPBILDistrib< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPBILDistrib(unsigned _genomeSize)eoPBILDistrib< EOT > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
functor_category()eoUF< EOT &, void > [inline, static]
genomeSize (defined in eoPBILDistrib< EOT >)eoPBILDistrib< EOT > [private]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
longName() const eoParam [inline]
operator()(EOT &_eo)eoPBILDistrib< EOT > [inline, virtual]
printOn(std::ostream &os) const eoPBILDistrib< EOT > [inline, virtual]
readFrom(std::istream &is)eoPBILDistrib< EOT > [inline, virtual]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
Size()eoPBILDistrib< EOT > [inline]
size() (defined in eoPBILDistrib< EOT >)eoPBILDistrib< EOT > [inline]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib.html b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib.html deleted file mode 100644 index 24e8124d6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib.html +++ /dev/null @@ -1,118 +0,0 @@ - - -EO: eoPBILDistrib< EOT > Class Template Reference - - - - -

eoPBILDistrib< EOT > Class Template Reference

Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). -More... -

-#include <eoPBILDistrib.h> -

-

Inheritance diagram for eoPBILDistrib< EOT >: -

- -eoDistribution< EOT > -eoValueParam< std::vector< double > > -eoInit< EOT > -eoPersistent -eoObject -eoParam -eoUF< EOT &, void > -eoPrintable -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoPBILDistrib (unsigned _genomeSize)
 Ctor with size of genomes, and update parameters.
-virtual void operator() (EOT &_eo)
 the randomizer of indis
-unsigned Size ()
 Accessor to the genome size.
-virtual void printOn (std::ostream &os) const
 printing...
-virtual void readFrom (std::istream &is)
 reading...
-unsigned int size ()
virtual std::string className () const
 className: Mandatory because of eoCombinedInit.

Private Attributes

-unsigned genomeSize
-

Detailed Description

-

template<class EOT>
- class eoPBILDistrib< EOT >

- -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). -

-It encodes a univariate distribution on the space of bitstrings, i.e. one probability for each bit to be one

-It is an eoValueParam<std::vector<double> > : the std::vector<double> stores the probabilities that each bit is 1

-It is still pure virtual, as the update method needs to be specified -

- -

-Definition at line 44 of file eoPBILDistrib.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual std::string eoPBILDistrib< EOT >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-className: Mandatory because of eoCombinedInit. -

-SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 -

-Reimplemented from eoInit< EOT >. -

-Definition at line 94 of file eoPBILDistrib.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib.png b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib.png deleted file mode 100644 index 7c0667ec4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_distrib.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org-members.html b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org-members.html deleted file mode 100644 index 0fef07f13..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoPBILOrg< EOT > Member List

This is the complete list of members for eoPBILOrg< EOT >, including all inherited members.

- - - - - - - - -
eoPBILOrg(double _LR, double _tolerance=0.0)eoPBILOrg< EOT > [inline]
functor_category()eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > [inline, static]
LR (defined in eoPBILOrg< EOT >)eoPBILOrg< EOT > [private]
maxBound (defined in eoPBILOrg< EOT >)eoPBILOrg< EOT > [private]
minBound (defined in eoPBILOrg< EOT >)eoPBILOrg< EOT > [private]
operator()(eoDistribution< EOT > &_distrib, eoPop< EOT > &_pop)eoPBILOrg< EOT > [inline, virtual]
~eoBF()eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org.html b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org.html deleted file mode 100644 index 72bfb8f03..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: eoPBILOrg< EOT > Class Template Reference - - - - -

eoPBILOrg< EOT > Class Template Reference

Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 95). -More... -

-#include <eoPBILOrg.h> -

-

Inheritance diagram for eoPBILOrg< EOT >: -

- -eoDistribUpdater< EOT > -eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoPBILOrg (double _LR, double _tolerance=0.0)
 Ctor with size of genomes, and update parameters.
-virtual void operator() (eoDistribution< EOT > &_distrib, eoPop< EOT > &_pop)
 Update the distribution from the current population.

Private Attributes

-double LR
-double maxBound
-double minBound
-

Detailed Description

-

template<class EOT>
- class eoPBILOrg< EOT >

- -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 95). -

-This class implements the update rule from the original paper:

-p(i)(t+1) = (1-LR)*p(i)(t) + LR*best(i) -

- -

-Definition at line 42 of file eoPBILOrg.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org.png b/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org.png deleted file mode 100644 index f6d22c3c0..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_p_b_i_l_org.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_param-members.html b/trunk/paradiseo-eo/doc/html/classeo_param-members.html deleted file mode 100644 index 2ede388b2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_param-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoParam Member List

This is the complete list of members for eoParam, including all inherited members.

- - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
getValue() const =0eoParam [pure virtual]
longName() const eoParam [inline]
repDefault (defined in eoParam)eoParam [private]
repDescription (defined in eoParam)eoParam [private]
repLongName (defined in eoParam)eoParam [private]
repRequired (defined in eoParam)eoParam [private]
repShortHand (defined in eoParam)eoParam [private]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)=0eoParam [pure virtual]
shortName() const eoParam [inline]
~eoParam()eoParam [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_param.html b/trunk/paradiseo-eo/doc/html/classeo_param.html deleted file mode 100644 index 6e954a4a8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_param.html +++ /dev/null @@ -1,179 +0,0 @@ - - -EO: eoParam Class Reference - - - - -

eoParam Class Reference

eoParam: Base class for monitoring and parsing parameters -More... -

-#include <eoParam.h> -

-

Inheritance diagram for eoParam: -

- -eoValueParam< ValueType > -eoValueParam< double > -eoValueParam< EOT::Fitness > -eoValueParam< ParamType > -eoValueParam< std::pair< double, double > > -eoValueParam< std::string > -eoValueParam< std::vector< double > > -eoValueParam< std::vector< FitT > > -eoValueParam< std::vector< PartFitT > > -eoValueParam< std::vector< WorthT > > -eoValueParam< string > -eoValueParam< T > -eoValueParam< unsigned > -eoValueParam< unsigned long > - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoParam ()
 Empty constructor - called from outside any parser.
 eoParam (std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)
 Construct a Param.
-virtual ~eoParam ()
 Virtual destructor is needed.
-virtual std::string getValue () const =0
 Pure virtual function to get the value out.
-virtual void setValue (const std::string &_value)=0
 Pure virtual function to set the value.
-char shortName () const
 Returns the short name.
-const std::string & longName () const
 Returns the long name.
-const std::string & description () const
 Returns the description of the argument.
-const std::string & defValue () const
 Returns the default value of the argument.
-void defValue (const std::string &str)
 Sets the default value of the argument,.
-void setLongName (std::string _longName)
 ALlows to change the name (see the prefix in eoParser.h).
-bool required () const
 Returns if required or not.

Private Attributes

-std::string repLongName
-std::string repDefault
-std::string repDescription
-char repShortHand
-bool repRequired
-

Detailed Description

-eoParam: Base class for monitoring and parsing parameters -

- -

-Definition at line 42 of file eoParam.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
eoParam::eoParam std::string  _longName,
std::string  _default,
std::string  _description,
char  _shortName = 0,
bool  _required = false
[inline]
-
- - - - - -
-   - - -

-Construct a Param. -

-

Parameters:
- - - - - - -
_longName Long name of the argument
_default The default value
_description Description of the parameter. What is useful for.
_shortName Short name of the argument (Optional)
_required If it is a necessary parameter or not
-
- -

-Definition at line 60 of file eoParam.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_param.png b/trunk/paradiseo-eo/doc/html/classeo_param.png deleted file mode 100644 index 264468741..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_param.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_param_param_type-members.html b/trunk/paradiseo-eo/doc/html/classeo_param_param_type-members.html deleted file mode 100644 index 8295cf845..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_param_param_type-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoParamParamType Member List

This is the complete list of members for eoParamParamType, including all inherited members.

- - - - -
eoParamParamType(std::string _value) (defined in eoParamParamType)eoParamParamType [inline]
printOn(std::ostream &_os) const (defined in eoParamParamType)eoParamParamType [inline]
readFrom(std::istream &_is) (defined in eoParamParamType)eoParamParamType [inline]
readFrom(std::string &_value) (defined in eoParamParamType)eoParamParamType [inline]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_param_param_type.html b/trunk/paradiseo-eo/doc/html/classeo_param_param_type.html deleted file mode 100644 index 7db654f60..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_param_param_type.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoParamParamType Class Reference - - - - -

eoParamParamType Class Reference

Another helper class for parsing parameters like Keyword(arg1, arg2, ...). -More... -

-#include <eoParam.h> -

-List of all members. - - - - - - - - - - -

Public Member Functions

eoParamParamType (std::string _value)
-std::ostream & printOn (std::ostream &_os) const
-std::istream & readFrom (std::istream &_is)
-void readFrom (std::string &_value)
-


Detailed Description

-Another helper class for parsing parameters like Keyword(arg1, arg2, ...). -

-It is basically a std::pair<std::string,std::vector<std::string> > first std::string is keyword the std::vector<std::string> contains all arguments (as std::strings) See make_algo.h -

- -

-Definition at line 373 of file eoParam.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parameter_loader-members.html b/trunk/paradiseo-eo/doc/html/classeo_parameter_loader-members.html deleted file mode 100644 index 8409265cb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_parameter_loader-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

eoParameterLoader Member List

This is the complete list of members for eoParameterLoader, including all inherited members.

- - - - - -
createParam(ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false)eoParameterLoader [inline]
isItThere(eoParam &_param) const =0eoParameterLoader [pure virtual]
ownedParams (defined in eoParameterLoader)eoParameterLoader [private]
processParam(eoParam &param, std::string section="")=0eoParameterLoader [pure virtual]
~eoParameterLoader()eoParameterLoader [virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parameter_loader.html b/trunk/paradiseo-eo/doc/html/classeo_parameter_loader.html deleted file mode 100644 index 310899f98..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_parameter_loader.html +++ /dev/null @@ -1,185 +0,0 @@ - - -EO: eoParameterLoader Class Reference - - - - -

eoParameterLoader Class Reference

Parameter saving and loading. -More... -

-#include <eoParser.h> -

-

Inheritance diagram for eoParameterLoader: -

- -eoParser - -List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

-virtual ~eoParameterLoader ()
 Need a virtual destructor.
virtual void processParam (eoParam &param, std::string section="")=0
 Register a parameter and set its value if it is known.
-virtual bool isItThere (eoParam &_param) const =0
 checks if _param has been actually entered
template<class ValueType>
eoValueParam< ValueType > & createParam (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false)
 Construct a Param and sets its value.

Private Attributes

-std::vector< eoParam * > ownedParams
-

Detailed Description

-Parameter saving and loading. -

-eoParameterLoader is an abstract class that can be used as a base for your own parameter loading and saving. The command line parser eoParser is derived from this class. -

- -

-Definition at line 40 of file eoParser.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
virtual void eoParameterLoader::processParam eoParam param,
std::string  section = ""
[pure virtual]
-
- - - - - -
-   - - -

-Register a parameter and set its value if it is known. -

-

Parameters:
- - - -
param the parameter to process
section the section where this parameter belongs
-
- -

-Implemented in eoParser.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class ValueType>
eoValueParam<ValueType>& eoParameterLoader::createParam ValueType  _defaultValue,
std::string  _longName,
std::string  _description,
char  _shortHand = 0,
std::string  _section = "",
bool  _required = false
[inline]
-
- - - - - -
-   - - -

-Construct a Param and sets its value. -

-The loader will own the memory thus created

-

Parameters:
- - - - - - - -
_defaultValue The default value
_longName Long name of the argument
_description Description of the parameter. What is useful for.
_shortName Short name of the argument (Optional)
_section Name of the section where the parameter belongs
_required If it is a necessary parameter or not
-
- -

-Definition at line 70 of file eoParser.h. -

-Referenced by eoParser::getORcreateParam(), and eoParser::setORcreateParam().

-


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parameter_loader.png b/trunk/paradiseo-eo/doc/html/classeo_parameter_loader.png deleted file mode 100644 index 81523069e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_parameter_loader.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness-members.html b/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness-members.html deleted file mode 100644 index 465ced122..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoParetoFitness< FitnessTraits > Member List

This is the complete list of members for eoParetoFitness< FitnessTraits >, including all inherited members.

- - - - - - - - - - - - -
dominates(const eoParetoFitness< FitnessTraits > &_other) const eoParetoFitness< FitnessTraits > [inline]
eoParetoFitness(void) (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits > [inline]
eoParetoFitness(std::vector< double > &_v) (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits > [inline]
fitness_traits typedef (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits >
maximizing(unsigned _i) (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits > [inline, static]
operator!=(const eoParetoFitness< FitnessTraits > &_other) const (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits > [inline]
operator<(const eoParetoFitness< FitnessTraits > &_other) const eoParetoFitness< FitnessTraits > [inline]
operator<=(const eoParetoFitness< FitnessTraits > &_other) const (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits > [inline]
operator==(const eoParetoFitness< FitnessTraits > &_other) const (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits > [inline]
operator>(const eoParetoFitness< FitnessTraits > &_other) const (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits > [inline]
operator>=(const eoParetoFitness< FitnessTraits > &_other) const (defined in eoParetoFitness< FitnessTraits >)eoParetoFitness< FitnessTraits > [inline]
setUp(unsigned _n, std::vector< bool > &_b)eoParetoFitness< FitnessTraits > [inline, static]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness.html b/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness.html deleted file mode 100644 index 58e092b8b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness.html +++ /dev/null @@ -1,73 +0,0 @@ - - -EO: eoParetoFitness< FitnessTraits > Class Template Reference - - - - -

eoParetoFitness< FitnessTraits > Class Template Reference

eoParetoFitness class: std::vector of doubles with overloaded comparison operators. -More... -

-#include <eoParetoFitness.h> -

-List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef FitnessTraits fitness_traits

Public Member Functions

eoParetoFitness (std::vector< double > &_v)
-bool dominates (const eoParetoFitness< FitnessTraits > &_other) const
 Partial order based on Pareto-dominance.
-bool operator< (const eoParetoFitness< FitnessTraits > &_other) const
 compare *not* on dominance, but on the first, then the second, etc
-bool operator> (const eoParetoFitness< FitnessTraits > &_other) const
-bool operator<= (const eoParetoFitness< FitnessTraits > &_other) const
-bool operator>= (const eoParetoFitness< FitnessTraits > &_other) const
-bool operator== (const eoParetoFitness< FitnessTraits > &_other) const
-bool operator!= (const eoParetoFitness< FitnessTraits > &_other) const

Static Public Member Functions

-void setUp (unsigned _n, std::vector< bool > &_b)
 access to the traits characteristics (so you don't have to write a lot of typedef's around
-bool maximizing (unsigned _i)
-


Detailed Description

-

template<class FitnessTraits = eoParetoFitnessTraits>
- class eoParetoFitness< FitnessTraits >

- -eoParetoFitness class: std::vector of doubles with overloaded comparison operators. -

-Comparison is done on pareto dominance. The template argument FitnessTraits defaults to eoParetoFitnessTraits, which can be replaces at will by any other class that implements the static functions defined therein.

-Note that the comparison defines a partial order, so that !(a < b) && !(b <a) does not neccessarily imply that (a==b) The other way around does hold. -

- -

-Definition at line 108 of file eoParetoFitness.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits-members.html b/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits-members.html deleted file mode 100644 index 7660ed278..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Member List - - - - -

eoParetoFitnessTraits Member List

This is the complete list of members for eoParetoFitnessTraits, including all inherited members.

- - - -
maximizing(int which) (defined in eoParetoFitnessTraits)eoParetoFitnessTraits [inline, static]
nObjectives() (defined in eoParetoFitnessTraits)eoParetoFitnessTraits [inline, static]
tol() (defined in eoParetoFitnessTraits)eoParetoFitnessTraits [inline, static]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits.html b/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits.html deleted file mode 100644 index f6ce01790..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoParetoFitnessTraits Class Reference - - - - -

eoParetoFitnessTraits Class Reference

eoFitnessTraits: a traits class to specify the number of objectives and which one are maximizing or not See test/t-eoParetoFitness for its use. -More... -

-#include <eoParetoFitness.h> -

-

Inheritance diagram for eoParetoFitnessTraits: -

- -eoVariableParetoTraits -MinimizingTraits - -List of all members. - - - - - - - - -

Static Public Member Functions

-unsigned nObjectives ()
-double tol ()
-bool maximizing (int which)
-

Detailed Description

-eoFitnessTraits: a traits class to specify the number of objectives and which one are maximizing or not See test/t-eoParetoFitness for its use. -

-If you define your own, make sure you make the functions static! -

- -

-Definition at line 42 of file eoParetoFitness.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits.png b/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits.png deleted file mode 100644 index 2ad2fe252..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_pareto_fitness_traits.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_one_constraint_fitness-members.html b/trunk/paradiseo-eo/doc/html/classeo_pareto_one_constraint_fitness-members.html deleted file mode 100644 index 9cb482913..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pareto_one_constraint_fitness-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoParetoOneConstraintFitness< FitnessTraits > Member List

This is the complete list of members for eoParetoOneConstraintFitness< FitnessTraits >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
constraintValue (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [private]
ConstraintValue() const (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
ConstraintValue(double _c) (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
dominates(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const eoParetoOneConstraintFitness< FitnessTraits > [inline]
eoParetoOneConstraintFitness(void) (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
eoParetoOneConstraintFitness(std::vector< double > &_v) (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
eoParetoOneConstraintFitness(std::vector< double > &_v, double _c) (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
feasible() const (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
fitness_traits typedef (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits >
maximizing(unsigned _i) (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline, static]
operator!=(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
operator<(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const eoParetoOneConstraintFitness< FitnessTraits > [inline]
operator<=(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
operator==(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
operator>(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
operator>=(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]
setUp(unsigned _n, std::vector< bool > &_b)eoParetoOneConstraintFitness< FitnessTraits > [inline, static]
violation() const (defined in eoParetoOneConstraintFitness< FitnessTraits >)eoParetoOneConstraintFitness< FitnessTraits > [inline]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_one_constraint_fitness.html b/trunk/paradiseo-eo/doc/html/classeo_pareto_one_constraint_fitness.html deleted file mode 100644 index 085dc360f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pareto_one_constraint_fitness.html +++ /dev/null @@ -1,95 +0,0 @@ - - -EO: eoParetoOneConstraintFitness< FitnessTraits > Class Template Reference - - - - -

eoParetoOneConstraintFitness< FitnessTraits > Class Template Reference

eoParetoOneConstraintFitness class: std::vector of doubles + constraint value -More... -

-#include <eoParetoConstraintFitness.h> -

-List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef FitnessTraits fitness_traits

Public Member Functions

eoParetoOneConstraintFitness (std::vector< double > &_v)
eoParetoOneConstraintFitness (std::vector< double > &_v, double _c)
-bool feasible () const
-double violation () const
-double ConstraintValue () const
-void ConstraintValue (double _c)
-bool dominates (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const
 Partial order based on Pareto-dominance.
-bool operator< (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const
 compare *not* on dominance, but on the first, then the second, etc
-bool operator> (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const
-bool operator<= (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const
-bool operator>= (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const
-bool operator== (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const
-bool operator!= (const eoParetoOneConstraintFitness< FitnessTraits > &_other) const

Static Public Member Functions

-void setUp (unsigned _n, std::vector< bool > &_b)
 access to the traits characteristics (so you don't have to write a lot of typedef's around
-bool maximizing (unsigned _i)

Private Attributes

-double constraintValue
-


Detailed Description

-

template<class FitnessTraits = eoParetoFitnessTraits>
- class eoParetoOneConstraintFitness< FitnessTraits >

- -eoParetoOneConstraintFitness class: std::vector of doubles + constraint value -

-Comparison (dominance) is done on pareto dominance for 2 feasible individuals, one feasible individual always wins over an infeasible on constraint violations for 2 infeasible individuals

-The template argument FitnessTraits defaults to eoParetoFitnessTraits, which can be replaces at will by any other class that implements the static functions defined therein.

-Note that the domninance defines a partial order, so that !dominates(a,b) && !domaintes(b,a) does not neccessarily imply that (a==b) The other way around does hold.

-However, be careful that the comparison operators do define a total order based on considering first objective, then in case of tie, second objective, etc

-NOTE: in a hurry, I did not want to make it derive from eoParetoFitness (used cut-and-paste instead!) : I know it might be a good idea, but I'm not sure I see why at the moment (any hint someone?) -

- -

-Definition at line 61 of file eoParetoConstraintFitness.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking-members.html b/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking-members.html deleted file mode 100644 index 482e1483a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking-members.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: Member List - - - - -

eoParetoRanking< EOT > Member List

This is the complete list of members for eoParetoRanking< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
calculate_worths(const eoPop< EOT > &_pop)eoParetoRanking< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
dominanceMap (defined in eoParetoRanking< EOT >)eoParetoRanking< EOT > [private]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoParetoRanking(eoDominanceMap< EOT > &_dominanceMap) (defined in eoParetoRanking< EOT >)eoParetoRanking< EOT > [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, double > [inline]
eoPerf2WorthCached(std::string _description="Worths") (defined in eoPerf2WorthCached< EOT, double >)eoPerf2WorthCached< EOT, double > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT, double >)eoPerf2Worth< EOT, double > [inline, virtual]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2WorthCached< EOT, double >)eoPerf2WorthCached< EOT, double > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [inline, virtual]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking.html b/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking.html deleted file mode 100644 index 2e1717cfd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoParetoRanking< EOT > Class Template Reference - - - - -

eoParetoRanking< EOT > Class Template Reference

Straightforward pareto ranking. -More... -

-#include <eoParetoRanking.h> -

-

Inheritance diagram for eoParetoRanking< EOT >: -

- -eoPerf2WorthCached< EOT, double > -eoPerf2Worth< EOT, double > -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< double > > -eoFunctorBase -eoParam - -List of all members. - - - - - - - - - - -

Public Member Functions

eoParetoRanking (eoDominanceMap< EOT > &_dominanceMap)
-void calculate_worths (const eoPop< EOT > &_pop)
 The actual virtual function the derived classes should implement.

Private Attributes

-eoDominanceMap< EOT > & dominanceMap
-

Detailed Description

-

template<class EOT>
- class eoParetoRanking< EOT >

- -Straightforward pareto ranking. -

-Every individual gets a rank according to the number of elements it dominates. Note that without niching, this technique will usually not find the whole front of non-dominated solutions, but will quite likely converge on a single spot on the front. -

- -

-Definition at line 40 of file eoParetoRanking.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking.png b/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking.png deleted file mode 100644 index dd3d0b5ea..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_pareto_ranking.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_parse_tree-members.html b/trunk/paradiseo-eo/doc/html/classeo_parse_tree-members.html deleted file mode 100644 index eeb80ecce..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_parse_tree-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: Member List - - - - -

eoParseTree< FType, Node > Member List

This is the complete list of members for eoParseTree< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const eoParseTree< FType, Node > [inline, virtual]
const_reference typedef (defined in eoParseTree< FType, Node >)eoParseTree< FType, Node >
EO()EO< FType > [inline]
EO() (defined in EO< FType >)EO< FType > [inline]
eoParseTree(void)eoParseTree< FType, Node > [inline]
eoParseTree(const parse_tree< Node > &tree)eoParseTree< FType, Node > [inline]
eoParseTree(std::istream &is)eoParseTree< FType, Node > [inline]
Fitness typedef (defined in EO< FType >)EO< FType >
fitness() const EO< FType > [inline]
fitness(const Fitness &_fitness)EO< FType > [inline]
fitness(performance_type perf) (defined in EO< FType >)EO< FType > [inline]
fitness(void) const (defined in EO< FType >)EO< FType > [inline]
fitness_traits typedef (defined in EO< FType >)EO< FType >
invalid() const EO< FType > [inline]
invalidate() (defined in EO< FType >)EO< FType > [inline]
invalidate(void) (defined in EO< FType >)EO< FType > [inline]
invalidate_worth(void) (defined in EO< FType >)EO< FType > [inline]
operator<(const EO &_eo2) const EO< FType > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< FType >)EO< FType > [inline]
operator>(const EO &_eo2) const (defined in EO< FType >)EO< FType > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< FType >)EO< FType > [inline]
performance(performance_type perf) (defined in EO< FType >)EO< FType > [inline]
performance(void) const (defined in EO< FType >)EO< FType > [inline]
performance_type typedef (defined in EO< FType >)EO< FType >
printOn(std::ostream &os) const eoParseTree< FType, Node > [inline, virtual]
pruneTree(unsigned _size)eoParseTree< FType, Node > [inline, virtual]
readFrom(std::istream &is)eoParseTree< FType, Node > [inline, virtual]
reference typedef (defined in eoParseTree< FType, Node >)eoParseTree< FType, Node >
storage_type typedef (defined in EO< FType >)EO< FType >
Subtree typedef (defined in eoParseTree< FType, Node >)eoParseTree< FType, Node >
worth(worth_type worth) (defined in EO< FType >)EO< FType > [inline]
worth(void) const (defined in EO< FType >)EO< FType > [inline]
worth_type typedef (defined in EO< FType >)EO< FType >
~EO()EO< FType > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parse_tree.html b/trunk/paradiseo-eo/doc/html/classeo_parse_tree.html deleted file mode 100644 index 9cc99fdd2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_parse_tree.html +++ /dev/null @@ -1,298 +0,0 @@ - - -EO: eoParseTree< FType, Node > Class Template Reference - - - - -

eoParseTree< FType, Node > Class Template Reference
- -[ParseTree] -

Implementation of parse-tree for genetic programming. -More... -

-#include <gp/eoParseTree.h> -

-

Inheritance diagram for eoParseTree< FType, Node >: -

- -EO< FType > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef parse_tree< Node
->::subtree 
Subtree
-typedef Node reference
-typedef const reference const_reference

Public Member Functions

eoParseTree (void)
 Default Constructor.
 eoParseTree (const parse_tree< Node > &tree)
 Copy Constructor.
virtual void pruneTree (unsigned _size)
 To prune me to a certain size.
 eoParseTree (std::istream &is)
 To read me from a stream.
-std::string className (void) const
 My class name.
void printOn (std::ostream &os) const
 To print me on a stream.
void readFrom (std::istream &is)
 To read me from a stream.
-

Detailed Description

-

template<class FType, class Node>
- class eoParseTree< FType, Node >

- -Implementation of parse-tree for genetic programming. -

- -

-Definition at line 54 of file eoParseTree.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
eoParseTree< FType, Node >::eoParseTree const parse_tree< Node > &  tree  )  [inline]
-
- - - - - -
-   - - -

-Copy Constructor. -

-

Parameters:
- - -
tree The tree to copy
-
- -

-Definition at line 79 of file eoParseTree.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
eoParseTree< FType, Node >::eoParseTree std::istream &  is  )  [inline]
-
- - - - - -
-   - - -

-To read me from a stream. -

-

Parameters:
- - -
is The std::istream
-
- -

-Definition at line 102 of file eoParseTree.h. -

-References eoParseTree< FType, Node >::readFrom().

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
virtual void eoParseTree< FType, Node >::pruneTree unsigned  _size  )  [inline, virtual]
-
- - - - - -
-   - - -

-To prune me to a certain size. -

-

Parameters:
- - -
_size My maximum size
-
- -

-Definition at line 86 of file eoParseTree.h. -

-Referenced by eoCollapseSubtreeMutation< FType, Node >::operator()(), eoExpansionMutation< FType, Node >::operator()(), eoBranchMutation< FType, Node >::operator()(), and eoSubtreeXOver< FType, Node >::operator()().

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
void eoParseTree< FType, Node >::printOn std::ostream &  os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-To print me on a stream. -

-

Parameters:
- - -
os The std::ostream
-
- -

-Reimplemented from EO< FType >. -

-Definition at line 114 of file eoParseTree.h. -

-References EO< F >::printOn().

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
void eoParseTree< FType, Node >::readFrom std::istream &  is  )  [inline, virtual]
-
- - - - - -
-   - - -

-To read me from a stream. -

-

Parameters:
- - -
is The std::istream
-
- -

-Reimplemented from EO< FType >. -

-Definition at line 128 of file eoParseTree.h. -

-References EO< F >::readFrom(). -

-Referenced by eoParseTree< FType, Node >::eoParseTree().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parse_tree.png b/trunk/paradiseo-eo/doc/html/classeo_parse_tree.png deleted file mode 100644 index 89bb2d87b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_parse_tree.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init-members.html deleted file mode 100644 index 4b582a414..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

eoParseTreeDepthInit< FType, Node > Member List

This is the complete list of members for eoParseTreeDepthInit< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - -
className() const eoParseTreeDepthInit< FType, Node > [inline, virtual]
current_depth (defined in eoParseTreeDepthInit< FType, Node >)eoParseTreeDepthInit< FType, Node > [private]
eoParseTreeDepthInit(unsigned _max_depth, const std::vector< Node > &_initializor, bool _grow=true, bool _ramped_half_and_half=false)eoParseTreeDepthInit< FType, Node > [inline]
EoType typedef (defined in eoParseTreeDepthInit< FType, Node >)eoParseTreeDepthInit< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, void > [inline, static]
generate(std::list< Node > &sequence, int the_max, int last_terminal=-1) (defined in eoParseTreeDepthInit< FType, Node >)eoParseTreeDepthInit< FType, Node > [inline, private]
grow (defined in eoParseTreeDepthInit< FType, Node >)eoParseTreeDepthInit< FType, Node > [private]
initializor (defined in eoParseTreeDepthInit< FType, Node >)eoParseTreeDepthInit< FType, Node > [private]
max_depth (defined in eoParseTreeDepthInit< FType, Node >)eoParseTreeDepthInit< FType, Node > [private]
operator()(EoType &_tree)eoParseTreeDepthInit< FType, Node > [inline]
eoInit< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, void > [pure virtual]
ramped_half_and_half (defined in eoParseTreeDepthInit< FType, Node >)eoParseTreeDepthInit< FType, Node > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init.html b/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init.html deleted file mode 100644 index d653dad73..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init.html +++ /dev/null @@ -1,184 +0,0 @@ - - -EO: eoParseTreeDepthInit< FType, Node > Class Template Reference - - - - -

eoParseTreeDepthInit< FType, Node > Class Template Reference
- -[ParseTree] -

eoParseTreeDepthInit : the initializer class for eoParseTree -More... -

-#include <gp/eoParseTreeDepthInit.h> -

-

Inheritance diagram for eoParseTreeDepthInit< FType, Node >: -

- -eoInit< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoParseTreeDepthInit (unsigned _max_depth, const std::vector< Node > &_initializor, bool _grow=true, bool _ramped_half_and_half=false)
 Constructor.
-virtual std::string className () const
 My class name.
void operator() (EoType &_tree)
 initialize a tree

Private Member Functions

-void generate (std::list< Node > &sequence, int the_max, int last_terminal=-1)

Private Attributes

-unsigned max_depth
-std::vector< Node > initializor
-bool grow
-bool ramped_half_and_half
-unsigned current_depth
-

Detailed Description

-

template<class FType, class Node>
- class eoParseTreeDepthInit< FType, Node >

- -eoParseTreeDepthInit : the initializer class for eoParseTree -

- -

-Definition at line 48 of file eoParseTreeDepthInit.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class FType, class Node>
eoParseTreeDepthInit< FType, Node >::eoParseTreeDepthInit unsigned  _max_depth,
const std::vector< Node > &  _initializor,
bool  _grow = true,
bool  _ramped_half_and_half = false
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-_max_depth The maximum depth of a tree

Parameters:
- - - - -
_initializor A std::vector containing the possible nodes
_grow False results in a full tree, True result is a randomly grown tree
_ramped_half_and_half True results in Ramped Half and Half Initialization
-
- -

-Definition at line 69 of file eoParseTreeDepthInit.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
void eoParseTreeDepthInit< FType, Node >::operator() EoType _tree  )  [inline]
-
- - - - - -
-   - - -

-initialize a tree -

-

Parameters:
- - -
_tree : the tree to be initialized
-
- -

-Definition at line 96 of file eoParseTreeDepthInit.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init.png b/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init.png deleted file mode 100644 index 920556d8e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_parse_tree_depth_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_parser-members.html b/trunk/paradiseo-eo/doc/html/classeo_parser-members.html deleted file mode 100644 index 8df30a604..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_parser-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: Member List - - - - -

eoParser Member List

This is the complete list of members for eoParser, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const eoParser [inline, virtual]
createParam(ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false)eoParameterLoader [inline]
doRegisterParam(eoParam &param) const (defined in eoParser)eoParser [private]
eoParser(unsigned _argc, char **_argv, std::string _programDescription="", std::string _lFileParamName="param-file", char _shortHand= 'p')eoParser
getORcreateParam(ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false)eoParser [inline]
getParamWithLongName(const std::string &_name) const eoParser
getPrefix() (defined in eoParser)eoParser [inline]
getStopOnUnknownParam() (defined in eoParser)eoParser [inline]
getValue(eoParam &_param) const (defined in eoParser)eoParser [private]
isItThere(eoParam &_param) const eoParser [inline, virtual]
longNameMap (defined in eoParser)eoParser [private]
LongNameMapType typedef (defined in eoParser)eoParser [private]
messages (defined in eoParser)eoParser [mutable, private]
MultiMapType typedef (defined in eoParser)eoParser [private]
needHelp (defined in eoParser)eoParser [private]
params (defined in eoParser)eoParser [private]
prefix (defined in eoParser)eoParser [private]
printHelp(std::ostream &os)eoParser
printOn(std::ostream &os) const eoParser [virtual]
processParam(eoParam &param, std::string section="")eoParser [virtual]
programDescription (defined in eoParser)eoParser [private]
ProgramName() (defined in eoParser)eoParser [inline]
programName (defined in eoParser)eoParser [private]
readFrom(std::istream &is)eoParser [virtual]
resetPrefix() (defined in eoParser)eoParser [inline]
setORcreateParam(ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false)eoParser [inline]
setPrefix(const std::string &_prefix)eoParser [inline]
setStopOnUnknownParam(bool _b)eoParser [inline]
shortNameMap (defined in eoParser)eoParser [private]
ShortNameMapType typedef (defined in eoParser)eoParser [private]
stopOnUnknownParam (defined in eoParser)eoParser [private]
updateParameters() const (defined in eoParser)eoParser [private]
userNeedsHelp(void)eoParser
~eoObject()eoObject [inline, virtual]
~eoParameterLoader()eoParameterLoader [virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parser.html b/trunk/paradiseo-eo/doc/html/classeo_parser.html deleted file mode 100644 index 2a0c1105b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_parser.html +++ /dev/null @@ -1,519 +0,0 @@ - - -EO: eoParser Class Reference - - - - -

eoParser Class Reference

eoParser: command line parser and configuration file reader This class is persistent, so it can be stored and reloaded to restore parameter settings. -More... -

-#include <eoParser.h> -

-

Inheritance diagram for eoParser: -

- -eoParameterLoader -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoParser (unsigned _argc, char **_argv, std::string _programDescription="", std::string _lFileParamName="param-file", char _shortHand= 'p')
 Constructor a complete constructor that reads the command line an optionally reads a configuration file.
-void processParam (eoParam &param, std::string section="")
 Processes the parameter and puts it in the appropriate section for readability.
void readFrom (std::istream &is)
 Read object.
void printOn (std::ostream &os) const
 Write object.
-std::string className (void) const
 className for readibility
-bool userNeedsHelp (void)
 true if the user made an error or asked for help
-void printHelp (std::ostream &os)
 Prints an automatic help in the specified output using the information provided by parameters.
-std::string ProgramName ()
virtual bool isItThere (eoParam &_param) const
 Has param been entered by user?
eoParamgetParamWithLongName (const std::string &_name) const
 get a handle on a param from its longName
template<class ValueType>
eoValueParam< ValueType > & getORcreateParam (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false)
 Get or create parameter.
template<class ValueType>
eoValueParam< ValueType > & setORcreateParam (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false)
 Set parameter value or create parameter.
-void setStopOnUnknownParam (bool _b)
 accessors to the stopOnUnknownParam value
-bool getStopOnUnknownParam ()
-void setPrefix (const std::string &_prefix)
 Prefix handling.
-void resetPrefix ()
-std::string getPrefix ()

Private Types

-typedef std::multimap< std::string,
- eoParam * > 
MultiMapType
-typedef std::map< char, std::string > ShortNameMapType
-typedef std::map< std::string,
- std::string > 
LongNameMapType

Private Member Functions

-void doRegisterParam (eoParam &param) const
-std::pair< bool, std::string > getValue (eoParam &_param) const
-void updateParameters () const

Private Attributes

-MultiMapType params
-std::string programName
-std::string programDescription
-ShortNameMapType shortNameMap
-LongNameMapType longNameMap
-eoValueParam< bool > needHelp
-eoValueParam< bool > stopOnUnknownParam
-std::vector< std::string > messages
-std::string prefix
-

Detailed Description

-eoParser: command line parser and configuration file reader This class is persistent, so it can be stored and reloaded to restore parameter settings. -

- -

-Definition at line 100 of file eoParser.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
eoParser::eoParser unsigned  _argc,
char **  _argv,
std::string  _programDescription = "",
std::string  _lFileParamName = "param-file",
char  _shortHand = 'p'
-
- - - - - -
-   - - -

-Constructor a complete constructor that reads the command line an optionally reads a configuration file. -

-myEo --param-file=param.rc will then load using the parameter file param.rc

-

Parameters:
- - - - - - -
_argc command line arguments count
_argv command line parameters
_programDescription Description of the work the program does
_lFileParamName Name of the parameter specifying the configuration file (--param-file)
_shortHand Single charachter shorthand for specifying the configuration file
-
-
-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
void eoParser::readFrom std::istream &  is  )  [virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream.
-
-
Exceptions:
- - -
runtime_std::exception If a valid object can't be read.
-
- -

-Implements eoPersistent.

-

- - - - -
- - - - - - - - - -
void eoParser::printOn std::ostream &  os  )  const [virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable.

-

- - - - -
- - - - - - - - - -
virtual bool eoParser::isItThere eoParam _param  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Has param been entered by user? -

-Checks if _param has been actually entered by the user -

-Implements eoParameterLoader. -

-Definition at line 148 of file eoParser.h. -

-Referenced by setORcreateParam().

-

- - - - -
- - - - - - - - - -
eoParam* eoParser::getParamWithLongName const std::string &  _name  )  const
-
- - - - - -
-   - - -

-get a handle on a param from its longName -

-if not found, returns 0 (null pointer :-)

-Not very clean (requires hard-coding of the long name twice!) but very useful in many occasions... -

-Referenced by getORcreateParam().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class ValueType>
eoValueParam<ValueType>& eoParser::getORcreateParam ValueType  _defaultValue,
std::string  _longName,
std::string  _description,
char  _shortHand = 0,
std::string  _section = "",
bool  _required = false
[inline]
-
- - - - - -
-   - - -

-Get or create parameter. -

-It seems finally that the easiest use of the above method is through the following, whose interface is similar to that of the widely-used createParam.

-For some (probably very stupid) reason, I failed to put it in the .cpp. Any hint??? -

-Definition at line 173 of file eoParser.h. -

-References eoParameterLoader::createParam(), and getParamWithLongName().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class ValueType>
eoValueParam<ValueType>& eoParser::setORcreateParam ValueType  _defaultValue,
std::string  _longName,
std::string  _description,
char  _shortHand = 0,
std::string  _section = "",
bool  _required = false
[inline]
-
- - - - - -
-   - - -

-Set parameter value or create parameter. -

-This makes sure that the specified parameter has the given value. If the parameter does not exist yet, it is created.

-This requires that operator<< is defined for ValueType.

-

Parameters:
- - - - - - - -
_defaultValue Default value.
_longName Long name of the argument.
_description Description of the parameter.
_shortName Short name of the argument (Optional)
_section Name of the section where the parameter belongs.
_required Is the parameter mandatory?
-
-
Returns:
Corresponding parameter.
- -

-Definition at line 211 of file eoParser.h. -

-References eoParameterLoader::createParam(), isItThere(), and eoValueParam< ValueType >::setValue().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:52 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_parser.png b/trunk/paradiseo-eo/doc/html/classeo_parser.png deleted file mode 100644 index d4c972460..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_parser.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth-members.html b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth-members.html deleted file mode 100644 index 4df7f2d75..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth-members.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: Member List - - - - -

eoPerf2Worth< EOT, WorthT > Member List

This is the complete list of members for eoPerf2Worth< EOT, WorthT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, WorthT > [inline]
eoValueParam(void)eoValueParam< std::vector< WorthT > > [inline]
eoValueParam(std::vector< WorthT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< WorthT > > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< WorthT > > [inline, virtual]
longName() const eoParam [inline]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT, WorthT >)eoPerf2Worth< EOT, WorthT > [inline, virtual]
eoUF< const eoPop< EOT > &, void >::operator()(const eoPop< EOT > &)=0eoUF< const eoPop< EOT > &, void > [pure virtual]
repValue (defined in eoValueParam< std::vector< WorthT > >)eoValueParam< std::vector< WorthT > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2Worth< EOT, WorthT >)eoPerf2Worth< EOT, WorthT > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< WorthT > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2Worth< EOT, WorthT > [inline, virtual]
value()eoValueParam< std::vector< WorthT > > [inline]
value() const eoValueParam< std::vector< WorthT > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth.html b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth.html deleted file mode 100644 index ff1707b7a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoPerf2Worth< EOT, WorthT > Class Template Reference - - - - -

eoPerf2Worth< EOT, WorthT > Class Template Reference

Base class to transform raw fitnesses into fitness for selection. -More... -

-#include <eoPerf2Worth.h> -

-

Inheritance diagram for eoPerf2Worth< EOT, WorthT >: -

- -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< WorthT > > -eoFunctorBase -eoParam -eoPerf2WorthCached< EOT, WorthT > - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoPerf2Worth (std::string _description="Worths")
 default constructor
-virtual void sort_pop (eoPop< EOT > &_pop)
 Sort population according to worth, will keep the worths and fitness_cache in sync with the population.
-virtual void resize (eoPop< EOT > &_pop, unsigned sz)
-virtual void operator() (eoPop< EOT > &_pop)
-

Detailed Description

-

template<class EOT, class WorthT = double>
- class eoPerf2Worth< EOT, WorthT >

- -Base class to transform raw fitnesses into fitness for selection. -

-

See also:
eoSelectFromWorth
- -

- -

-Definition at line 43 of file eoPerf2Worth.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth.png b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth.png deleted file mode 100644 index 5279796de..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_1_1compare__worth-members.html b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_1_1compare__worth-members.html deleted file mode 100644 index 7088c6e8c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_1_1compare__worth-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Member List - - - - -

eoPerf2Worth< EOT, WorthT >::compare_worth Member List

This is the complete list of members for eoPerf2Worth< EOT, WorthT >::compare_worth, including all inherited members.

- - - -
compare_worth(const std::vector< WorthT > &_worths) (defined in eoPerf2Worth< EOT, WorthT >::compare_worth)eoPerf2Worth< EOT, WorthT >::compare_worth [inline]
operator()(unsigned a, unsigned b) const (defined in eoPerf2Worth< EOT, WorthT >::compare_worth)eoPerf2Worth< EOT, WorthT >::compare_worth [inline]
worths (defined in eoPerf2Worth< EOT, WorthT >::compare_worth)eoPerf2Worth< EOT, WorthT >::compare_worth [private]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_1_1compare__worth.html b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_1_1compare__worth.html deleted file mode 100644 index b17dc6d2d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_1_1compare__worth.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: eoPerf2Worth< EOT, WorthT >::compare_worth Class Reference - - - - -

eoPerf2Worth< EOT, WorthT >::compare_worth Class Reference

helper class used to sort indices into populations/worths -More... -

-#include <eoPerf2Worth.h> -

-List of all members. - - - - - - - - - -

Public Member Functions

compare_worth (const std::vector< WorthT > &_worths)
-bool operator() (unsigned a, unsigned b) const

Private Attributes

-const std::vector< WorthT > & worths
-


Detailed Description

-

template<class EOT, class WorthT = double>
- class eoPerf2Worth< EOT, WorthT >::compare_worth

- -helper class used to sort indices into populations/worths -

- -

-Definition at line 83 of file eoPerf2Worth.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached-members.html b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached-members.html deleted file mode 100644 index a8840d79b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached-members.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: Member List - - - - -

eoPerf2WorthCached< EOT, WorthT > Member List

This is the complete list of members for eoPerf2WorthCached< EOT, WorthT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
calculate_worths(const eoPop< EOT > &_pop)=0eoPerf2WorthCached< EOT, WorthT > [pure virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, WorthT > [inline]
eoPerf2WorthCached(std::string _description="Worths") (defined in eoPerf2WorthCached< EOT, WorthT >)eoPerf2WorthCached< EOT, WorthT > [inline]
eoValueParam(void)eoValueParam< std::vector< WorthT > > [inline]
eoValueParam(std::vector< WorthT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< WorthT > > [inline]
fitness_cache (defined in eoPerf2WorthCached< EOT, WorthT >)eoPerf2WorthCached< EOT, WorthT > [private]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< WorthT > > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, WorthT > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT, WorthT >)eoPerf2Worth< EOT, WorthT > [inline, virtual]
repValue (defined in eoValueParam< std::vector< WorthT > >)eoValueParam< std::vector< WorthT > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2WorthCached< EOT, WorthT >)eoPerf2WorthCached< EOT, WorthT > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< WorthT > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, WorthT > [inline, virtual]
value()eoValueParam< std::vector< WorthT > > [inline]
value() const eoValueParam< std::vector< WorthT > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached.html b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached.html deleted file mode 100644 index d288d0a8d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached.html +++ /dev/null @@ -1,101 +0,0 @@ - - -EO: eoPerf2WorthCached< EOT, WorthT > Class Template Reference - - - - -

eoPerf2WorthCached< EOT, WorthT > Class Template Reference

Perf2Worth with fitness cache. -More... -

-#include <eoPerf2Worth.h> -

-

Inheritance diagram for eoPerf2WorthCached< EOT, WorthT >: -

- -eoPerf2Worth< EOT, WorthT > -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< WorthT > > -eoFunctorBase -eoParam - -List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoPerf2WorthCached (std::string _description="Worths")
void operator() (const eoPop< EOT > &_pop)
 Implementation of the operator(), updating a cache of fitnesses.
-virtual void calculate_worths (const eoPop< EOT > &_pop)=0
 The actual virtual function the derived classes should implement.
-virtual void sort_pop (eoPop< EOT > &_pop)
 Sort population according to worth, will keep the worths and fitness_cache in sync with the population.
-virtual void resize (eoPop< EOT > &_pop, unsigned sz)

Private Attributes

-std::vector< typename EOT::Fitness > fitness_cache
-

Detailed Description

-

template<class EOT, class WorthT = typename EOT::Fitness>
- class eoPerf2WorthCached< EOT, WorthT >

- -Perf2Worth with fitness cache. -

- -

-Definition at line 111 of file eoPerf2Worth.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT, class WorthT = typename EOT::Fitness>
void eoPerf2WorthCached< EOT, WorthT >::operator() const eoPop< EOT > &  _pop  )  [inline, virtual]
-
- - - - - -
-   - - -

-Implementation of the operator(), updating a cache of fitnesses. -

-Calls the virtual function calculate_worths when one of the fitnesses has changed. It is not virtual, but derived classes can remove the fitness caching trough the third template element -

-Implements eoUF< const eoPop< EOT > &, void >. -

-Definition at line 125 of file eoPerf2Worth.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached.png b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached.png deleted file mode 100644 index faebd2b34..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached_1_1compare__worth-members.html b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached_1_1compare__worth-members.html deleted file mode 100644 index 077917b08..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached_1_1compare__worth-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Member List - - - - -

eoPerf2WorthCached< EOT, WorthT >::compare_worth Member List

This is the complete list of members for eoPerf2WorthCached< EOT, WorthT >::compare_worth, including all inherited members.

- - - -
compare_worth(const std::vector< WorthT > &_worths) (defined in eoPerf2WorthCached< EOT, WorthT >::compare_worth)eoPerf2WorthCached< EOT, WorthT >::compare_worth [inline]
operator()(unsigned a, unsigned b) const (defined in eoPerf2WorthCached< EOT, WorthT >::compare_worth)eoPerf2WorthCached< EOT, WorthT >::compare_worth [inline]
worths (defined in eoPerf2WorthCached< EOT, WorthT >::compare_worth)eoPerf2WorthCached< EOT, WorthT >::compare_worth [private]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached_1_1compare__worth.html b/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached_1_1compare__worth.html deleted file mode 100644 index 9002bf700..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_perf2_worth_cached_1_1compare__worth.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: eoPerf2WorthCached< EOT, WorthT >::compare_worth Class Reference - - - - -

eoPerf2WorthCached< EOT, WorthT >::compare_worth Class Reference

helper class used to sort indices into populations/worths -More... -

-#include <eoPerf2Worth.h> -

-List of all members. - - - - - - - - - -

Public Member Functions

compare_worth (const std::vector< WorthT > &_worths)
-bool operator() (unsigned a, unsigned b) const

Private Attributes

-const std::vector< WorthT > & worths
-


Detailed Description

-

template<class EOT, class WorthT = typename EOT::Fitness>
- class eoPerf2WorthCached< EOT, WorthT >::compare_worth

- -helper class used to sort indices into populations/worths -

- -

-Definition at line 200 of file eoPerf2Worth.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_persistent-members.html b/trunk/paradiseo-eo/doc/html/classeo_persistent-members.html deleted file mode 100644 index 719985120..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_persistent-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoPersistent Member List

This is the complete list of members for eoPersistent, including all inherited members.

- - - - -
printOn(std::ostream &_os) const =0eoPrintable [pure virtual]
readFrom(std::istream &_is)=0eoPersistent [pure virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_persistent.html b/trunk/paradiseo-eo/doc/html/classeo_persistent.html deleted file mode 100644 index ec2f085eb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_persistent.html +++ /dev/null @@ -1,108 +0,0 @@ - - -EO: eoPersistent Class Reference - - - - -

eoPersistent Class Reference

An persistent object that knows how to write (through functions inherited from eoPrintable#) and read itself. -More... -

-#include <eoPersistent.h> -

-

Inheritance diagram for eoPersistent: -

- -eoPrintable -EO< F > -EO< double > -EO< EOT::Fitness > -EO< Fit > -EO< Fitness > -EO< fitness_type > -EO< fitnessT > -EO< FitT > -EO< FType > -EO< phenotype > -EO< PyFitness > -eoContinue< EOT > -eoDistribution< EOT > -eoHowMany -eoIntBounds -eoParser -eoPop< EOT > -eoPop< Dummy > -eoPop< PyEO > -eoRealBounds -eoRealVectorBounds -eoRng - -List of all members. - - - - - - - - -

Public Member Functions

-virtual ~eoPersistent ()
 Virtual dtor. They are needed in virtual class hierarchies.
virtual void readFrom (std::istream &_is)=0
 Read object.
-

Detailed Description

-An persistent object that knows how to write (through functions inherited from eoPrintable#) and read itself. -

- -

-Definition at line 52 of file eoPersistent.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoPersistent::readFrom std::istream &  _is  )  [pure virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream.
-
-
Exceptions:
- - -
runtime_std::exception If a valid object can't be read.
-
- -

-Implemented in EO< F >, eoContinue< EOT >, eoGenContinue< EOT >, eoPop< EOT >, eoVector< FitT, GeneType >, eoEsFull< Fit >, eoEsSimple< Fit >, eoEsStdev< Fit >, eoBit< FitT >, eoPBILDistrib< EOT >, eoParseTree< FType, Node >, eoExternalEO< Fit, External >, eoHowMany, eoIntNoBounds, eoIntInterval, eoIntBelowBound, eoIntAboveBound, eoGeneralIntBounds, eoParser, eoRealNoBounds, eoRealInterval, eoRealBelowBound, eoRealAboveBound, eoGeneralRealBounds, eoRealVectorBounds, eoRng, EO< double >, EO< EOT::Fitness >, EO< FitT >, EO< phenotype >, EO< fitnessT >, EO< Fit >, EO< FType >, EO< fitness_type >, EO< Fitness >, EO< PyFitness >, eoPop< PyEO >, eoPop< Dummy >, eoVector< Fit, double >, eoVector< FitT, double >, and eoVector< FitT, bool >. -

-Referenced by eoState::load().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_persistent.png b/trunk/paradiseo-eo/doc/html/classeo_persistent.png deleted file mode 100644 index b4ec9b5d5..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_persistent.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_plus-members.html b/trunk/paradiseo-eo/doc/html/classeo_plus-members.html deleted file mode 100644 index a13a63b77..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_plus-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoPlus< EOT > Member List

This is the complete list of members for eoPlus< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(const eoPop< EOT > &_pop, eoPop< EOT > &_offspring)eoPlus< EOT > [inline, virtual]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_plus.html b/trunk/paradiseo-eo/doc/html/classeo_plus.html deleted file mode 100644 index 1cddc4211..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_plus.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoPlus< EOT > Class Template Reference - - - - -

eoPlus< EOT > Class Template Reference

Very elitist class, copies entire population into next gen. -More... -

-#include <eoMerge.h> -

-

Inheritance diagram for eoPlus< EOT >: -

- -eoMerge< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - -

Public Member Functions

-void operator() (const eoPop< EOT > &_pop, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoPlus< EOT >

- -Very elitist class, copies entire population into next gen. -

- -

-Definition at line 116 of file eoMerge.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_plus.png b/trunk/paradiseo-eo/doc/html/classeo_plus.png deleted file mode 100644 index 8b2b27c4b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_plus.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_plus_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_plus_replacement-members.html deleted file mode 100644 index 8942018e5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_plus_replacement-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoPlusReplacement< EOT > Member List

This is the complete list of members for eoPlusReplacement< EOT >, including all inherited members.

- - - - - - - - -
eoMergeReduce(eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce) (defined in eoMergeReduce< EOT >)eoMergeReduce< EOT > [inline]
eoPlusReplacement() (defined in eoPlusReplacement< EOT >)eoPlusReplacement< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoMergeReduce< EOT > [inline, virtual]
plus (defined in eoPlusReplacement< EOT >)eoPlusReplacement< EOT > [private]
truncate (defined in eoPlusReplacement< EOT >)eoPlusReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_plus_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_plus_replacement.html deleted file mode 100644 index ece3eccdb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_plus_replacement.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoPlusReplacement< EOT > Class Template Reference - - - - -

eoPlusReplacement< EOT > Class Template Reference

ES type of replacement strategy: first add parents to population, then truncate. -More... -

-#include <eoMergeReduce.h> -

-

Inheritance diagram for eoPlusReplacement< EOT >: -

- -eoMergeReduce< EOT > -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - -

Private Attributes

-eoPlus< EOTplus
-eoTruncate< EOTtruncate
-

Detailed Description

-

template<class EOT>
- class eoPlusReplacement< EOT >

- -ES type of replacement strategy: first add parents to population, then truncate. -

- -

-Definition at line 73 of file eoMergeReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_plus_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_plus_replacement.png deleted file mode 100644 index 15cbff8d0..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_plus_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_point_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_point_mutation-members.html deleted file mode 100644 index f4298e51c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_point_mutation-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoPointMutation< FType, Node > Member List

This is the complete list of members for eoPointMutation< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoPointMutation< FType, Node > [inline, virtual]
eoMonOp()eoMonOp< eoParseTree< FType, Node > > [inline]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
eoPointMutation(std::vector< Node > &_initializor)eoPointMutation< FType, Node > [inline]
EoType typedef (defined in eoPointMutation< FType, Node >)eoPointMutation< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
initializor (defined in eoPointMutation< FType, Node >)eoPointMutation< FType, Node > [private]
operator()(EoType &_eo1)eoPointMutation< FType, Node > [inline]
eoMonOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoPointMutation()eoPointMutation< FType, Node > [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_point_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_point_mutation.html deleted file mode 100644 index be706557d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_point_mutation.html +++ /dev/null @@ -1,152 +0,0 @@ - - -EO: eoPointMutation< FType, Node > Class Template Reference - - - - -

eoPointMutation< FType, Node > Class Template Reference
- -[ParseTree] -

eoPointMutation --> replace a Node with a Node of the same arity -More... -

-#include <gp/eoParseTreeOp.h> -

-

Inheritance diagram for eoPointMutation< FType, Node >: -

- -eoMonOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoPointMutation (std::vector< Node > &_initializor)
 Constructor.
-virtual std::string className () const
 the class name
-virtual ~eoPointMutation ()
 Dtor.
bool operator() (EoType &_eo1)
 Mutate an individual.

Private Attributes

-std::vector< Node > & initializor
-

Detailed Description

-

template<class FType, class Node>
- class eoPointMutation< FType, Node >

- -eoPointMutation --> replace a Node with a Node of the same arity -

- -

-Definition at line 147 of file eoParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
eoPointMutation< FType, Node >::eoPointMutation std::vector< Node > &  _initializor  )  [inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - -
_initializor The std::vector of Nodes given to the eoGpDepthInitializer
-
- -

-Definition at line 157 of file eoParseTreeOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
bool eoPointMutation< FType, Node >::operator() EoType _eo1  )  [inline]
-
- - - - - -
-   - - -

-Mutate an individual. -

-

Parameters:
- - -
_eo1 The individual that is to be changed
-
- -

-Definition at line 171 of file eoParseTreeOp.h. -

-References eoRng::random().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_point_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_point_mutation.png deleted file mode 100644 index c4067cf23..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_point_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop-members.html b/trunk/paradiseo-eo/doc/html/classeo_pop-members.html deleted file mode 100644 index 056044138..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop-members.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: Member List - - - - -

eoPop< EOT > Member List

This is the complete list of members for eoPop< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
append(unsigned _newPopSize, eoInit< EOT > &_chromInit)eoPop< EOT > [inline]
best_element() const eoPop< EOT > [inline]
className() const eoPop< EOT > [inline, virtual]
eoPop()eoPop< EOT > [inline]
eoPop(unsigned _popSize, eoInit< EOT > &_chromInit)eoPop< EOT > [inline]
eoPop(std::istream &_is)eoPop< EOT > [inline]
eoPop(void) (defined in eoPop< EOT >)eoPop< EOT > [inline]
Fitness typedef (defined in eoPop< EOT >)eoPop< EOT >
fitness_traits typedef (defined in eoPop< EOT >)eoPop< EOT >
getPerf2Worth() (defined in eoPop< EOT >)eoPop< EOT > [inline]
invalidate() (defined in eoPop< EOT >)eoPop< EOT > [inline, virtual]
it_best_element()eoPop< EOT > [inline]
it_worse_element()eoPop< EOT > [inline]
nth_element(int nth)eoPop< EOT > [inline]
nth_element(int which, std::vector< const EOT * > &result) const eoPop< EOT > [inline]
nth_element_fitness(int which) const eoPop< EOT > [inline]
p2w (defined in eoPop< EOT >)eoPop< EOT > [private]
printOn(std::ostream &_os) const eoPop< EOT > [inline, virtual]
readFrom(std::istream &_is)eoPop< EOT > [inline, virtual]
scale() (defined in eoPop< EOT >)eoPop< EOT > [inline]
setPerf2Worth(eoPerf2Worth< EOT > &_p2w) (defined in eoPop< EOT >)eoPop< EOT > [inline]
setPerf2Worth(eoPerf2Worth< EOT > *_p2w) (defined in eoPop< EOT >)eoPop< EOT > [inline]
shuffle(void)eoPop< EOT > [inline]
shuffle(std::vector< const EOT * > &result) const eoPop< EOT > [inline]
sort(void)eoPop< EOT > [inline]
sort(std::vector< const EOT * > &result) const eoPop< EOT > [inline]
sort() (defined in eoPop< EOT >)eoPop< EOT > [inline]
sortedPrintOn(std::ostream &_os) const eoPop< EOT > [inline, virtual]
swap(eoPop< EOT > &other)eoPop< EOT > [inline]
swap(eoPop< EOT > &other) (defined in eoPop< EOT >)eoPop< EOT > [inline]
worse_element() const eoPop< EOT > [inline]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPop()eoPop< EOT > [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop.html b/trunk/paradiseo-eo/doc/html/classeo_pop.html deleted file mode 100644 index 736d585a3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop.html +++ /dev/null @@ -1,615 +0,0 @@ - - -EO: eoPop< EOT > Class Template Reference - - - - -

eoPop< EOT > Class Template Reference

A std::vector of EO object, to be used in all algorithms (selectors, operators, replacements, ...). -More... -

-#include <eoPop.h> -

-

Inheritance diagram for eoPop< EOT >: -

- -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness
-typedef EOT::fitness_traits fitness_traits

Public Member Functions

 eoPop ()
 Default ctor.
 eoPop (unsigned _popSize, eoInit< EOT > &_chromInit)
 Ctor for the initialization of chromosomes.
void append (unsigned _newPopSize, eoInit< EOT > &_chromInit)
 appstd::ends random guys at end of pop.
 eoPop (std::istream &_is)
 Ctor from an std::istream; reads the population from a stream, each element should be in different lines.
-virtual ~eoPop ()
 Empty Dtor.
void sort (void)
 sort the population.
-void sort (std::vector< const EOT * > &result) const
 creates a std::vector<EOT*> pointing to the individuals in descending order
void shuffle (void)
 shuffle the population.
-void shuffle (std::vector< const EOT * > &result) const
 creates a std::vector<EOT*> pointing to the individuals in random order
-eoPop< EOT >::iterator it_best_element ()
 returns an iterator to the best individual DOES NOT MOVE ANYBODY
-const EOTbest_element () const
 returns an iterator to the best individual DOES NOT MOVE ANYBODY
-const EOTworse_element () const
 returns a const reference to the worse individual DOES NOT MOVE ANYBODY
-eoPop< EOT >::iterator it_worse_element ()
 returns an iterator to the worse individual DOES NOT MOVE ANYBODY
eoPop< EOT >::iterator nth_element (int nth)
 slightly faster algorithm than sort to find all individuals that are better than the nth individual.
-Fitness nth_element_fitness (int which) const
 returns the fitness of the nth element
-void nth_element (int which, std::vector< const EOT * > &result) const
 const nth_element function, returns pointers to sorted individuals up the the nth
-void swap (eoPop< EOT > &other)
 does STL swap with other pop
virtual void sortedPrintOn (std::ostream &_os) const
 Prints sorted pop but does NOT modify it!
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual void invalidate ()
-void sort ()
-void scale ()
-void setPerf2Worth (eoPerf2Worth< EOT > &_p2w)
-void setPerf2Worth (eoPerf2Worth< EOT > *_p2w)
-eoPerf2Worth< EOT > * getPerf2Worth ()
-void swap (eoPop< EOT > &other)
Methods from eoObject
virtual void readFrom (std::istream &_is)
 Read object.
virtual std::string className () const
 Inherited from eoObject.

Private Attributes

-eoPerf2Worth< EOT > * p2w
-

Detailed Description

-

template<class EOT>
- class eoPop< EOT >

- -A std::vector of EO object, to be used in all algorithms (selectors, operators, replacements, ...). -

-We have no idea if a population can be some other thing that a std::vector, but if somebody thinks of it, this concrete implementation can be moved to "generic" and an abstract Population interface be provided.

-The template can be instantiated with anything that accepts a "size" and eoInit derived object. in the ctor. EOT must also have a copy ctor, since temporaries are created and then passed to the eoInit object -

- -

-Definition at line 54 of file eoPop.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - -
-template<class EOT>
eoPop< EOT >::eoPop  )  [inline]
-
- - - - - -
-   - - -

-Default ctor. -

-Creates empty pop -

-Definition at line 68 of file eoPop.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoPop< EOT >::eoPop unsigned  _popSize,
eoInit< EOT > &  _chromInit
[inline]
-
- - - - - -
-   - - -

-Ctor for the initialization of chromosomes. -

-

Parameters:
- - - -
_popSize total population size
_chromInit Initialization routine, produces EO's, needs to be an eoInit
-
- -

-Definition at line 75 of file eoPop.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
eoPop< EOT >::eoPop std::istream &  _is  )  [inline]
-
- - - - - -
-   - - -

-Ctor from an std::istream; reads the population from a stream, each element should be in different lines. -

-

Parameters:
- - -
_is the stream
-
- -

-Definition at line 113 of file eoPop.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
void eoPop< EOT >::append unsigned  _newPopSize,
eoInit< EOT > &  _chromInit
[inline]
-
- - - - - -
-   - - -

-appstd::ends random guys at end of pop. -

-Can be used to initialize it pop is empty

-

Parameters:
- - - -
_popSize total population size
_chromInit Initialization routine, produces EO's, needs to be an eoInit
-
- -

-Definition at line 91 of file eoPop.h. -

-Referenced by eoEasyEA< EOT >::operator()().

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoPop< EOT >::sort void   )  [inline]
-
- - - - - -
-   - - -

-sort the population. -

-Use this member to sort in order of descending Fitness, so the first individual is the best! -

-Definition at line 133 of file eoPop.h. -

-Referenced by eoTruncatedSelectMany< EOT >::operator()(), eoReduceMergeReduce< EOT >::operator()(), eoRanking< EOT >::operator()(), eoPBILAdditive< EOT >::operator()(), eoCheckPoint< EOT >::operator()(), eoSequentialSelect< EOT >::setup(), and eoPop< Dummy >::sortedPrintOn().

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoPop< EOT >::shuffle void   )  [inline]
-
- - - - - -
-   - - -

-shuffle the population. -

-Use this member to put the population in random order -

-Definition at line 152 of file eoPop.h. -

-Referenced by eoTruncatedSelectMany< EOT >::operator()(), eoRandomSplit< EOT >::operator()(), eoRandomReduce< EOT >::operator()(), eoEliteSequentialSelect< EOT >::setup(), and eoSequentialSelect< EOT >::setup().

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
eoPop<EOT>::iterator eoPop< EOT >::nth_element int  nth  )  [inline]
-
- - - - - -
-   - - -

-slightly faster algorithm than sort to find all individuals that are better than the nth individual. -

-INDIVIDUALS ARE MOVED AROUND in the pop. -

-Definition at line 201 of file eoPop.h. -

-Referenced by eoDeterministicSurviveAndDie< EOT >::operator()(), eoTruncateSplit< EOT >::operator()(), eoReduceMergeReduce< EOT >::operator()(), eoTruncate< EOT >::operator()(), eoElitism< EOT >::operator()(), and eoTruncatedSelectOne< EOT >::setup().

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual void eoPop< EOT >::sortedPrintOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Prints sorted pop but does NOT modify it! -

-

Parameters:
- - -
_os A std::ostream.
-
- -

-Definition at line 247 of file eoPop.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual void eoPop< EOT >::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object _on_ a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 262 of file eoPop.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual void eoPop< EOT >::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-The EOT class must have a ctor from a stream;

Parameters:
- - -
_is A std::istream.
-
- -

-Implements eoPersistent. -

-Definition at line 274 of file eoPop.h. -

-Referenced by eoPop< Dummy >::eoPop().

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual std::string eoPop< EOT >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Inherited from eoObject. -

-Returns the class name.

See also:
eoObject
- -

-Implements eoObject. -

-Definition at line 289 of file eoPop.h. -

-Referenced by eoCheckPoint< EOT >::allClassNames().

-


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop.png b/trunk/paradiseo-eo/doc/html/classeo_pop.png deleted file mode 100644 index 33cd382a6..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_pop.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_algo-members.html b/trunk/paradiseo-eo/doc/html/classeo_pop_algo-members.html deleted file mode 100644 index 53699a95b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop_algo-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoPopAlgo< EOT > Member List

This is the complete list of members for eoPopAlgo< EOT >, including all inherited members.

- - - - -
functor_category()eoUF< eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &)=0eoUF< eoPop< EOT > &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_algo.html b/trunk/paradiseo-eo/doc/html/classeo_pop_algo.html deleted file mode 100644 index a4a119eab..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop_algo.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: eoPopAlgo< EOT > Class Template Reference - - - - -

eoPopAlgo< EOT > Class Template Reference

For all "population transforming" algos ... -More... -

-#include <eoPopAlgo.h> -

-

Inheritance diagram for eoPopAlgo< EOT >: -

- -eoUF< eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoPopAlgo< EOT >

- -For all "population transforming" algos ... -

- -

-Definition at line 13 of file eoPopAlgo.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_algo.png b/trunk/paradiseo-eo/doc/html/classeo_pop_algo.png deleted file mode 100644 index 1db396acf..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_pop_algo.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func-members.html b/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func-members.html deleted file mode 100644 index 30448ffb5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoPopEvalFunc< EOT > Member List

This is the complete list of members for eoPopEvalFunc< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &, eoPop< EOT > &)=0eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [pure virtual]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func.html b/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func.html deleted file mode 100644 index a12eacd21..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoPopEvalFunc< EOT > Class Template Reference - - - - -

eoPopEvalFunc< EOT > Class Template Reference

eoPopEvalFunc: This abstract class is for GLOBAL evaluators of a population after variation. -More... -

-#include <eoPopEvalFunc.h> -

-

Inheritance diagram for eoPopEvalFunc< EOT >: -

- -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoPopLoopEval< EOT > -eoTimeVaryingLoopEval< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoPopEvalFunc< EOT >

- -eoPopEvalFunc: This abstract class is for GLOBAL evaluators of a population after variation. -

-It takes 2 populations (typically the parents and the offspring) and is suppposed to evaluate them alltogether

-Basic use: apply an embedded eoEvalFunc to the offspring

-Time-varying fitness: apply the embedded eoEvalFunc to both offspring and parents

-Advanced uses: Co-evolution or "parisian" approach, or ...

-Basic parallelization (synchronous standard evolution engine): call the slaves and wait for the results -

- -

-Definition at line 49 of file eoPopEvalFunc.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func.png b/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func.png deleted file mode 100644 index 9aa5518f9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_pop_eval_func.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval-members.html b/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval-members.html deleted file mode 100644 index 9677f2282..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoPopLoopEval< EOT > Member List

This is the complete list of members for eoPopLoopEval< EOT >, including all inherited members.

- - - - - - -
eoPopLoopEval(eoEvalFunc< EOT > &_eval)eoPopLoopEval< EOT > [inline]
eval (defined in eoPopLoopEval< EOT >)eoPopLoopEval< EOT > [private]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoPopLoopEval< EOT > [inline, virtual]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval.html b/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval.html deleted file mode 100644 index d341cd3c4..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoPopLoopEval< EOT > Class Template Reference - - - - -

eoPopLoopEval< EOT > Class Template Reference

eoPopLoopEval: an instance of eoPopEvalFunc that simply applies a private eoEvalFunc to all offspring -More... -

-#include <eoPopEvalFunc.h> -

-

Inheritance diagram for eoPopLoopEval< EOT >: -

- -eoPopEvalFunc< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoPopLoopEval (eoEvalFunc< EOT > &_eval)
 Ctor: set value of embedded eoEvalFunc.
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 Do the job: simple loop over the offspring.

Private Attributes

-eoEvalFunc< EOT > & eval
-

Detailed Description

-

template<class EOT>
- class eoPopLoopEval< EOT >

- -eoPopLoopEval: an instance of eoPopEvalFunc that simply applies a private eoEvalFunc to all offspring -

- -

-Definition at line 60 of file eoPopEvalFunc.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval.png b/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval.png deleted file mode 100644 index faac7d576..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_pop_loop_eval.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_pop_stat-members.html deleted file mode 100644 index 1a7445eb5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop_stat-members.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: Member List - - - - -

eoPopStat< EOT > Member List

This is the complete list of members for eoPopStat< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoStat< EOT, std::string >)eoStat< EOT, std::string > [inline, virtual]
combien (defined in eoPopStat< EOT >)eoPopStat< EOT > [private]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPopStat(unsigned _howMany=0, std::string _desc="")eoPopStat< EOT > [inline]
eoStat(std::string_value, std::string _description) (defined in eoStat< EOT, std::string >)eoStat< EOT, std::string > [inline]
eoValueParam(void)eoValueParam< std::string > [inline]
eoValueParam(std::string_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::string > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::string > [inline, virtual]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoPopStat< EOT > [inline, virtual]
repValue (defined in eoValueParam< std::string >)eoValueParam< std::string > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::string > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< std::string > [inline]
value() const eoValueParam< std::string > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_stat.html b/trunk/paradiseo-eo/doc/html/classeo_pop_stat.html deleted file mode 100644 index d89a30e7a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_pop_stat.html +++ /dev/null @@ -1,143 +0,0 @@ - - -EO: eoPopStat< EOT > Class Template Reference - - - - -

eoPopStat< EOT > Class Template Reference

Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats. -More... -

-#include <eoPopStat.h> -

-

Inheritance diagram for eoPopStat< EOT >: -

- -eoStat< EOT, std::string > -eoValueParam< std::string > -eoStatBase< EOT > -eoParam -eoUF< const eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

 eoPopStat (unsigned _howMany=0, std::string _desc="")
 default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution.
void operator() (const eoPop< EOT > &_pop)
 Fills the value() of the eoParam with the dump of the population.

Private Attributes

-unsigned combien
-

Detailed Description

-

template<class EOT>
- class eoPopStat< EOT >

- -Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats. -

-This snippet is a workaround: This class will "print" a whole population into a std::string - that you can later send to any stream This is the plain version - see eoPopString for the Sorted version

-Note: this Stat should probably be used only within eoStdOutMonitor, and not inside an eoFileMonitor, as the eoState construct will work much better there. -

- -

-Definition at line 51 of file eoPopStat.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoPopStat< EOT >::eoPopStat unsigned  _howMany = 0,
std::string  _desc = ""
[inline]
-
- - - - - -
-   - - -

-default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. -

-and is meaningless there. _howMany defaults to 0, that is, the whole population -

-Definition at line 61 of file eoPopStat.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoPopStat< EOT >::operator() const eoPop< EOT > &  _pop  )  [inline, virtual]
-
- - - - - -
-   - - -

-Fills the value() of the eoParam with the dump of the population. -

-Adds a
- before so it does not get mixed up with the rest of the stats that are written by the monitor it is probably used from. -

-Implements eoUF< const eoPop< EOT > &, void >. -

-Definition at line 68 of file eoPopStat.h. -

-References eoValueParam< std::string >::value().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_pop_stat.png b/trunk/paradiseo-eo/doc/html/classeo_pop_stat.png deleted file mode 100644 index c29e56451..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_pop_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_populator-members.html b/trunk/paradiseo-eo/doc/html/classeo_populator-members.html deleted file mode 100644 index 49429c3c7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_populator-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoPopulator< EOT > Member List

This is the complete list of members for eoPopulator< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - -
current (defined in eoPopulator< EOT >)eoPopulator< EOT > [protected]
dest (defined in eoPopulator< EOT >)eoPopulator< EOT > [protected]
eoPopulator(const eoPop< EOT > &_src, eoPop< EOT > &_dest) (defined in eoPopulator< EOT >)eoPopulator< EOT > [inline]
exhausted(void)eoPopulator< EOT > [inline]
get_next() (defined in eoPopulator< EOT >)eoPopulator< EOT > [inline, private]
insert(const EOT &_eo)eoPopulator< EOT > [inline]
offspring(void)eoPopulator< EOT > [inline]
operator *(void)eoPopulator< EOT > [inline]
operator++()eoPopulator< EOT > [inline]
position_type typedef (defined in eoPopulator< EOT >)eoPopulator< EOT >
reserve(int how_many)eoPopulator< EOT > [inline]
seekp(position_type pos)eoPopulator< EOT > [inline]
select()=0eoPopulator< EOT > [pure virtual]
source(void)eoPopulator< EOT > [inline]
src (defined in eoPopulator< EOT >)eoPopulator< EOT > [protected]
tellp()eoPopulator< EOT > [inline]
~eoPopulator()eoPopulator< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_populator.html b/trunk/paradiseo-eo/doc/html/classeo_populator.html deleted file mode 100644 index 79c57e8dc..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_populator.html +++ /dev/null @@ -1,213 +0,0 @@ - - -EO: eoPopulator< EOT > Class Template Reference - - - - -

eoPopulator< EOT > Class Template Reference

eoPopulator is a helper class for general operators eoGenOp It is an eoPop but also behaves like an eoPop::iterator as far as operator* and operator++ are concerned -More... -

-#include <eoPopulator.h> -

-

Inheritance diagram for eoPopulator< EOT >: -

- -eoSelectivePopulator< EOT > -eoSeqPopulator< EOT > - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef unsigned position_type

Public Member Functions

eoPopulator (const eoPop< EOT > &_src, eoPop< EOT > &_dest)
-virtual ~eoPopulator ()
 Virtual Constructor.
EOToperator * (void)
 a populator behaves like an iterator.
-eoPopulatoroperator++ ()
 only prefix increment defined Does not add a new element when at the end, use operator* for that If not on the end, increment the pointer to the next individual
-void insert (const EOT &_eo)
 mandatory for operators that generate more offspring than parents if such a thing exists ?
-void reserve (int how_many)
 just to make memory mangement more efficient
const eoPop< EOT > & source (void)
 can be useful for operators with embedded selectors e.g.
eoPop< EOT > & offspring (void)
 Get the offspring population.
-position_type tellp ()
 this is a direct access container: tell position
-void seekp (position_type pos)
 this is a direct access container: go to position
-bool exhausted (void)
 no more individuals
-virtual const EOTselect ()=0
 the pure virtual selection method - will be instanciated in eoSeqPopulator and eoSelectivePopulator

Protected Attributes

-eoPop< EOT > & dest
-eoPop< EOT >::iterator current
-const eoPop< EOT > & src

Private Member Functions

-void get_next ()
-

Detailed Description

-

template<class EOT>
- class eoPopulator< EOT >

- -eoPopulator is a helper class for general operators eoGenOp It is an eoPop but also behaves like an eoPop::iterator as far as operator* and operator++ are concerned -

-See eoGenOp and eoOpContainer -

- -

-Definition at line 39 of file eoPopulator.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
EOT& eoPopulator< EOT >::operator * void   )  [inline]
-
- - - - - -
-   - - -

-a populator behaves like an iterator. -

-Hence the operator* it returns the current individual -- eventually getting a new one through the operator++ if at the end -

-Definition at line 58 of file eoPopulator.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
const eoPop<EOT>& eoPopulator< EOT >::source void   )  [inline]
-
- - - - - -
-   - - -

-can be useful for operators with embedded selectors e.g. -

-your brain and my beauty -type -

-Definition at line 105 of file eoPopulator.h. -

-Referenced by eoSelBinGenOp< EOT >::apply(), and eoEsGlobalXover< EOT >::apply().

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
eoPop<EOT>& eoPopulator< EOT >::offspring void   )  [inline]
-
- - - - - -
-   - - -

-Get the offspring population. -

-Can be useful when you want to do some online niching kind of thing -

-Definition at line 110 of file eoPopulator.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_populator.png b/trunk/paradiseo-eo/doc/html/classeo_populator.png deleted file mode 100644 index fb8b5a622..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_populator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_printable-members.html b/trunk/paradiseo-eo/doc/html/classeo_printable-members.html deleted file mode 100644 index a2cbaaca5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_printable-members.html +++ /dev/null @@ -1,16 +0,0 @@ - - -EO: Member List - - - - -

eoPrintable Member List

This is the complete list of members for eoPrintable, including all inherited members.

- - -
printOn(std::ostream &_os) const =0eoPrintable [pure virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_printable.html b/trunk/paradiseo-eo/doc/html/classeo_printable.html deleted file mode 100644 index c09e6cc08..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_printable.html +++ /dev/null @@ -1,105 +0,0 @@ - - -EO: eoPrintable Class Reference - - - - -

eoPrintable Class Reference

Base class for objects that can print themselves (printOn#). -More... -

-#include <eoPrintable.h> -

-

Inheritance diagram for eoPrintable: -

- -eoPersistent -EO< F > -EO< double > -EO< EOT::Fitness > -EO< Fit > -EO< Fitness > -EO< fitness_type > -EO< fitnessT > -EO< FitT > -EO< FType > -EO< phenotype > -EO< PyFitness > -eoContinue< EOT > -eoDistribution< EOT > -eoHowMany -eoIntBounds -eoParser -eoPop< EOT > -eoPop< Dummy > -eoPop< PyEO > -eoRealBounds -eoRealVectorBounds -eoRng - -List of all members. - - - - - - - - -

Public Member Functions

-virtual ~eoPrintable ()
 Virtual dtor. They are needed in virtual class hierarchies.
virtual void printOn (std::ostream &_os) const =0
 Write object.
-

Detailed Description

-Base class for objects that can print themselves (printOn#). -

-Besides, this file defines the standard output for all the objects; if the objects define printOn there's no need to define #operator <<#.\ This functionality was separated from eoObject, since it makes no sense to print some objects (for instance, a eoFactory# or a random number generator. -

- -

-Definition at line 43 of file eoPrintable.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoPrintable::printOn std::ostream &  _os  )  const [pure virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implemented in EO< F >, eoContinue< EOT >, eoGenContinue< EOT >, eoPop< EOT >, eoVector< FitT, GeneType >, eoEsFull< Fit >, eoEsSimple< Fit >, eoEsStdev< Fit >, eoBit< FitT >, eoPBILDistrib< EOT >, eoParseTree< FType, Node >, eoExternalEO< Fit, External >, eoString< fitnessT >, eoHowMany, eoIntNoBounds, eoIntInterval, eoIntBelowBound, eoIntAboveBound, eoGeneralIntBounds, eoParser, eoRealNoBounds, eoRealInterval, eoRealBelowBound, eoRealAboveBound, eoGeneralRealBounds, eoRealVectorBounds, eoRng, Dummy, Dummy, Dummy, Dummy, EO< double >, EO< EOT::Fitness >, EO< FitT >, EO< phenotype >, EO< fitnessT >, EO< Fit >, EO< FType >, EO< fitness_type >, EO< Fitness >, EO< PyFitness >, eoPop< PyEO >, eoPop< Dummy >, eoVector< Fit, double >, eoVector< FitT, double >, and eoVector< FitT, bool >. -

-Referenced by eoRealVectorBounds::printOn(), eoGeneralRealBounds::printOn(), eoGeneralIntBounds::printOn(), and eoState::save().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_printable.png b/trunk/paradiseo-eo/doc/html/classeo_printable.png deleted file mode 100644 index 09f1bad40..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_printable.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_procedure_counter-members.html b/trunk/paradiseo-eo/doc/html/classeo_procedure_counter-members.html deleted file mode 100644 index 6d6fa023a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_procedure_counter-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoProcedureCounter< Procedure > Member List

This is the complete list of members for eoProcedureCounter< Procedure >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoProcedureCounter(Procedure &_proc, std::string _name="proc_counter") (defined in eoProcedureCounter< Procedure >)eoProcedureCounter< Procedure > [inline]
eoValueParam(void)eoValueParam< unsigned long > [inline]
eoValueParam(unsigned long_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< unsigned long > [inline]
getValue(void) const eoValueParam< unsigned long > [inline, virtual]
longName() const eoParam [inline]
operator()(void)eoProcedureCounter< Procedure > [inline]
proc (defined in eoProcedureCounter< Procedure >)eoProcedureCounter< Procedure > [private]
repValue (defined in eoValueParam< unsigned long >)eoValueParam< unsigned long > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< unsigned long > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< unsigned long > [inline]
value() const eoValueParam< unsigned long > [inline]
~eoParam()eoParam [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_procedure_counter.html b/trunk/paradiseo-eo/doc/html/classeo_procedure_counter.html deleted file mode 100644 index 677abb3cd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_procedure_counter.html +++ /dev/null @@ -1,93 +0,0 @@ - - -EO: eoProcedureCounter< Procedure > Class Template Reference - - - - -

eoProcedureCounter< Procedure > Class Template Reference

Generic counter class that counts the number of times a procedure is used. -More... -

-#include <eoCounter.h> -

-

Inheritance diagram for eoProcedureCounter< Procedure >: -

- -eoValueParam< unsigned long > -eoParam - -List of all members. - - - - - - - - - - -

Public Member Functions

eoProcedureCounter (Procedure &_proc, std::string _name="proc_counter")
Procedure::result_type operator() (void)
 Calls the embedded function and increments the counter.

Private Attributes

-Procedure & proc
-

Detailed Description

-

template<class Procedure>
- class eoProcedureCounter< Procedure >

- -Generic counter class that counts the number of times a procedure is used. -

-Add a procedure through its ctor and use this class instead of it.

-It is derived from eoValueParam so you can add it to a monitor. -

- -

-Definition at line 41 of file eoCounter.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class Procedure>
Procedure::result_type eoProcedureCounter< Procedure >::operator() void   )  [inline]
-
- - - - - -
-   - - -

-Calls the embedded function and increments the counter. -

-Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like "return void;" is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet.

-We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in EO most functors return void, it was chosen to support void.

-But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then.

-You happy GNU (and other compiler) users will not have a problem with this.. -

-Definition at line 64 of file eoCounter.h. -

-References eoValueParam< unsigned long >::value().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_procedure_counter.png b/trunk/paradiseo-eo/doc/html/classeo_procedure_counter.png deleted file mode 100644 index 41bd430a8..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_procedure_counter.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op-members.html deleted file mode 100644 index 477b98e1f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoPropCombinedBinOp< EOT > Member List

This is the complete list of members for eoPropCombinedBinOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
add(eoBinOp< EOT > &_op, const double _rate, bool _verbose=false) (defined in eoPropCombinedBinOp< EOT >)eoPropCombinedBinOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoPropCombinedBinOp< EOT >)eoPropCombinedBinOp< EOT > [inline, virtual]
eoBinOp()eoBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoPropCombinedBinOp(eoBinOp< EOT > &_first, const double _rate)eoPropCombinedBinOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_indi1, const EOT &_indi2)eoPropCombinedBinOp< EOT > [inline, virtual]
ops (defined in eoPropCombinedBinOp< EOT >)eoPropCombinedBinOp< EOT > [private]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rates (defined in eoPropCombinedBinOp< EOT >)eoPropCombinedBinOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op.html deleted file mode 100644 index 39b6f01ad..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op.html +++ /dev/null @@ -1,61 +0,0 @@ - - -EO: eoPropCombinedBinOp< EOT > Class Template Reference - - - - -

eoPropCombinedBinOp< EOT > Class Template Reference

COmbined Binary genetic operator: operator() has two operands, only the first one can be modified. -More... -

-#include <eoProportionalCombinedOp.h> -

-

Inheritance diagram for eoPropCombinedBinOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

eoPropCombinedBinOp (eoBinOp< EOT > &_first, const double _rate)
 Ctor.
-virtual std::string className () const
-virtual void add (eoBinOp< EOT > &_op, const double _rate, bool _verbose=false)
-virtual void operator() (EOT &_indi1, const EOT &_indi2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-std::vector< eoBinOp< EOT > * > ops
-std::vector< double > rates
-

Detailed Description

-

template<class EOT>
- class eoPropCombinedBinOp< EOT >

- -COmbined Binary genetic operator: operator() has two operands, only the first one can be modified. -

- -

-Definition at line 109 of file eoProportionalCombinedOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op.png deleted file mode 100644 index a17fd1fa7..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op-members.html deleted file mode 100644 index 110995afd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoPropCombinedMonOp< EOT > Member List

This is the complete list of members for eoPropCombinedMonOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
add(eoMonOp< EOT > &_op, const double _rate, bool _verbose=false) (defined in eoPropCombinedMonOp< EOT >)eoPropCombinedMonOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoPropCombinedMonOp< EOT >)eoPropCombinedMonOp< EOT > [inline, virtual]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoPropCombinedMonOp(eoMonOp< EOT > &_first, const double _rate)eoPropCombinedMonOp< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_indi)eoPropCombinedMonOp< EOT > [inline, virtual]
ops (defined in eoPropCombinedMonOp< EOT >)eoPropCombinedMonOp< EOT > [protected]
printOn(std::ostream &_os) (defined in eoPropCombinedMonOp< EOT >)eoPropCombinedMonOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rates (defined in eoPropCombinedMonOp< EOT >)eoPropCombinedMonOp< EOT > [protected]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op.html b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op.html deleted file mode 100644 index 54c4b299a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op.html +++ /dev/null @@ -1,66 +0,0 @@ - - -EO: eoPropCombinedMonOp< EOT > Class Template Reference - - - - -

eoPropCombinedMonOp< EOT > Class Template Reference

eoMonOp is the monary operator: genetic operator that takes only one EO -More... -

-#include <eoProportionalCombinedOp.h> -

-

Inheritance diagram for eoPropCombinedMonOp< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoPropCombinedMonOp (eoMonOp< EOT > &_first, const double _rate)
 Ctor from a "true" operator.
-virtual std::string className () const
-virtual void add (eoMonOp< EOT > &_op, const double _rate, bool _verbose=false)
-virtual void printOn (std::ostream &_os)
-virtual bool operator() (EOT &_indi)
 The pure virtual function that needs to be implemented by the subclass.

Protected Attributes

-std::vector< eoMonOp< EOT > * > ops
-std::vector< double > rates
-

Detailed Description

-

template<class EOT>
- class eoPropCombinedMonOp< EOT >

- -eoMonOp is the monary operator: genetic operator that takes only one EO -

-now accepts generic operators -

- -

-Definition at line 58 of file eoProportionalCombinedOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op.png b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op.png deleted file mode 100644 index 992e25320..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_mon_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op-members.html deleted file mode 100644 index 3b2c48a97..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoPropCombinedQuadOp< EOT > Member List

This is the complete list of members for eoPropCombinedQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
add(eoQuadOp< EOT > &_op, const double _rate, bool _verbose=false) (defined in eoPropCombinedQuadOp< EOT >)eoPropCombinedQuadOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoPropCombinedQuadOp< EOT >)eoPropCombinedQuadOp< EOT > [inline, virtual]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoPropCombinedQuadOp(eoQuadOp< EOT > &_first, const double _rate)eoPropCombinedQuadOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_indi1, EOT &_indi2)eoPropCombinedQuadOp< EOT > [inline, virtual]
ops (defined in eoPropCombinedQuadOp< EOT >)eoPropCombinedQuadOp< EOT > [private]
printOn(std::ostream &_os) (defined in eoPropCombinedQuadOp< EOT >)eoPropCombinedQuadOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rates (defined in eoPropCombinedQuadOp< EOT >)eoPropCombinedQuadOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op.html deleted file mode 100644 index 2b0d59e9e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op.html +++ /dev/null @@ -1,66 +0,0 @@ - - -EO: eoPropCombinedQuadOp< EOT > Class Template Reference - - - - -

eoPropCombinedQuadOp< EOT > Class Template Reference

Combined quad genetic operator: operator() has two operands, both can be modified. -More... -

-#include <eoProportionalCombinedOp.h> -

-

Inheritance diagram for eoPropCombinedQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoPropCombinedQuadOp (eoQuadOp< EOT > &_first, const double _rate)
 Ctor from a true operator.
-virtual std::string className () const
-virtual void add (eoQuadOp< EOT > &_op, const double _rate, bool _verbose=false)
-virtual void printOn (std::ostream &_os)
-virtual bool operator() (EOT &_indi1, EOT &_indi2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-std::vector< eoQuadOp< EOT > * > ops
-std::vector< double > rates
-

Detailed Description

-

template<class EOT>
- class eoPropCombinedQuadOp< EOT >

- -Combined quad genetic operator: operator() has two operands, both can be modified. -

-generic operators are now allowed: there are imbedded into the corresponding "true" operator -

- -

-Definition at line 163 of file eoProportionalCombinedOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op.png deleted file mode 100644 index c12f759a4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_prop_combined_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op-members.html deleted file mode 100644 index 9095bd7eb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op-members.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Member List - - - - -

eoPropGAGenOp< EOT > Member List

This is the complete list of members for eoPropGAGenOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
apply(eoPopulator< EOT > &_pop)eoPropGAGenOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoPropGAGenOp< EOT >)eoPropGAGenOp< EOT > [inline, virtual]
cross (defined in eoPropGAGenOp< EOT >)eoPropGAGenOp< EOT > [private]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoPropGAGenOp(double _wClone, eoQuadOp< EOT > &_cross, double _wCross, eoMonOp< EOT > &_mut, double _wMut)eoPropGAGenOp< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoPropGAGenOp< EOT > [inline, virtual]
monClone (defined in eoPropGAGenOp< EOT >)eoPropGAGenOp< EOT > [private]
mut (defined in eoPropGAGenOp< EOT >)eoPropGAGenOp< EOT > [private]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
propOp (defined in eoPropGAGenOp< EOT >)eoPropGAGenOp< EOT > [private]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
wClone (defined in eoPropGAGenOp< EOT >)eoPropGAGenOp< EOT > [private]
wCross (defined in eoPropGAGenOp< EOT >)eoPropGAGenOp< EOT > [private]
wMut (defined in eoPropGAGenOp< EOT >)eoPropGAGenOp< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op.html b/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op.html deleted file mode 100644 index 201cc971d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op.html +++ /dev/null @@ -1,77 +0,0 @@ - - -EO: eoPropGAGenOp< EOT > Class Template Reference - - - - -

eoPropGAGenOp< EOT > Class Template Reference

*************************************************************************** eoPropGAGenOp (for Simple GA, but Proportional) choice between Crossover, mutation or cloining with respect to given relatve weights -More... -

-#include <eoPropGAGenOp.h> -

-

Inheritance diagram for eoPropGAGenOp< EOT >: -

- -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoPropGAGenOp (double _wClone, eoQuadOp< EOT > &_cross, double _wCross, eoMonOp< EOT > &_mut, double _wMut)
 Ctor from * weight of clone * crossover (with weight) * mutation (with weight).
-virtual void apply (eoPopulator< EOT > &_pop)
 do the job: delegate to op
-virtual unsigned max_production (void)
 inherited from eoGenOp
-virtual std::string className () const

Private Attributes

-double wClone
-eoQuadOp< EOT > & cross
-double wCross
-eoMonOp< EOT > & mut
-double wMut
-eoProportionalOp< EOTpropOp
-eoMonCloneOp< EOTmonClone
-

Detailed Description

-

template<class EOT>
- class eoPropGAGenOp< EOT >

- -*************************************************************************** eoPropGAGenOp (for Simple GA, but Proportional) choice between Crossover, mutation or cloining with respect to given relatve weights -

- -

-Definition at line 42 of file eoPropGAGenOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op.png b/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op.png deleted file mode 100644 index 9ca3846d5..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_prop_g_a_gen_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_proportional_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_proportional_op-members.html deleted file mode 100644 index f1ae05670..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_proportional_op-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: Member List - - - - -

eoProportionalOp< EOT > Member List

This is the complete list of members for eoProportionalOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
add(eoOp< EOT > &_op, double _rate)eoOpContainer< EOT > [inline]
apply(eoPopulator< EOT > &_pop)eoProportionalOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoProportionalOp< EOT >)eoProportionalOp< EOT > [inline, virtual]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoOpContainer()eoOpContainer< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoOpContainer< EOT > [inline, virtual]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
ops (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [protected]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rates (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [protected]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoOpContainer(void)eoOpContainer< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_proportional_op.html b/trunk/paradiseo-eo/doc/html/classeo_proportional_op.html deleted file mode 100644 index 7a41a0bb9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_proportional_op.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: eoProportionalOp< EOT > Class Template Reference - - - - -

eoProportionalOp< EOT > Class Template Reference

The proportional versions: easy! -More... -

-#include <eoOpContainer.h> -

-

Inheritance diagram for eoProportionalOp< EOT >: -

- -eoOpContainer< EOT > -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - -

Public Member Functions

-void apply (eoPopulator< EOT > &_pop)
 the function that will do the work
-virtual std::string className () const
-

Detailed Description

-

template<class EOT>
- class eoProportionalOp< EOT >

- -The proportional versions: easy! -

- -

-Definition at line 135 of file eoOpContainer.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_proportional_op.png b/trunk/paradiseo-eo/doc/html/classeo_proportional_op.png deleted file mode 100644 index 2c031180d..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_proportional_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_proportional_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_proportional_select-members.html deleted file mode 100644 index a904d2053..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_proportional_select-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoProportionalSelect< EOT > Member List

This is the complete list of members for eoProportionalSelect< EOT >, including all inherited members.

- - - - - - - - -
cumulative (defined in eoProportionalSelect< EOT >)eoProportionalSelect< EOT > [private]
eoProportionalSelect(const eoPop< EOT > &pop=eoPop< EOT >())eoProportionalSelect< EOT > [inline]
FitVec typedef (defined in eoProportionalSelect< EOT >)eoProportionalSelect< EOT > [private]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoProportionalSelect< EOT > [inline, virtual]
setup(const eoPop< EOT > &_pop)eoProportionalSelect< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_proportional_select.html b/trunk/paradiseo-eo/doc/html/classeo_proportional_select.html deleted file mode 100644 index 63c61bbe6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_proportional_select.html +++ /dev/null @@ -1,62 +0,0 @@ - - -EO: eoProportionalSelect< EOT > Class Template Reference - - - - -

eoProportionalSelect< EOT > Class Template Reference

eoProportionalSelect: select an individual proportional to her stored fitness value -More... -

-#include <eoProportionalSelect.h> -

-

Inheritance diagram for eoProportionalSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

eoProportionalSelect (const eoPop< EOT > &pop=eoPop< EOT >())
 Sanity check.
-void setup (const eoPop< EOT > &_pop)
 virtual function to setup some population stats (for instance eoProportional can benefit greatly from this)
-const EOToperator() (const eoPop< EOT > &_pop)
 do the selection,

Private Types

-typedef std::vector< typename
-EOT::Fitness > 
FitVec

Private Attributes

-FitVec cumulative
-

Detailed Description

-

template<class EOT>
- class eoProportionalSelect< EOT >

- -eoProportionalSelect: select an individual proportional to her stored fitness value -

-Changed the algorithm to make use of a cumulative array of fitness scores, This changes the algorithm from O(n) per call to O(log n) per call. (MK) -

- -

-Definition at line 45 of file eoProportionalSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_proportional_select.png b/trunk/paradiseo-eo/doc/html/classeo_proportional_select.png deleted file mode 100644 index 80ea38b3b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_proportional_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op-members.html deleted file mode 100644 index 4ebdf32c0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoQuad2BinOp< EOT > Member List

This is the complete list of members for eoQuad2BinOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoBinOp< EOT >)eoBinOp< EOT > [inline, virtual]
eoBinOp()eoBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuad2BinOp(eoQuadOp< EOT > &_quadOp)eoQuad2BinOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo1, const EOT &_eo2)eoQuad2BinOp< EOT > [inline, virtual]
quadOp (defined in eoQuad2BinOp< EOT >)eoQuad2BinOp< EOT > [private]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op.html deleted file mode 100644 index 6e12c7b76..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op.html +++ /dev/null @@ -1,93 +0,0 @@ - - -EO: eoQuad2BinOp< EOT > Class Template Reference - - - - -

eoQuad2BinOp< EOT > Class Template Reference

Turning an eoQuadOp into an eoBinOp: simply don't touch the second arg! -More... -

-#include <eoOp.h> -

-

Inheritance diagram for eoQuad2BinOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

 eoQuad2BinOp (eoQuadOp< EOT > &_quadOp)
 Ctor.
-bool operator() (EOT &_eo1, const EOT &_eo2)
 Operator() simply calls embedded quadOp operator() with dummy second arg.

Private Attributes

-eoQuadOp< EOT > & quadOp
-

Detailed Description

-

template<class EOT>
- class eoQuad2BinOp< EOT >

- -Turning an eoQuadOp into an eoBinOp: simply don't touch the second arg! -

- -

-Definition at line 143 of file eoOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
eoQuad2BinOp< EOT >::eoQuad2BinOp eoQuadOp< EOT > &  _quadOp  )  [inline]
-
- - - - - -
-   - - -

-Ctor. -

-

Parameters:
- - -
_quadOp the eoQuadOp to be transformed
-
- -

-Definition at line 149 of file eoOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op.png deleted file mode 100644 index e578cf5fc..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_quad2_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op-members.html deleted file mode 100644 index b3258caa2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoQuadCloneOp< EOT > Member List

This is the complete list of members for eoQuadCloneOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoQuadCloneOp< EOT >)eoQuadCloneOp< EOT > [inline, virtual]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadCloneOp()eoQuadCloneOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &, EOT &)eoQuadCloneOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op.html b/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op.html deleted file mode 100644 index 259d71502..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoQuadCloneOp< EOT > Class Template Reference - - - - -

eoQuadCloneOp< EOT > Class Template Reference

Quad clone: two operands, both could be modified - but are not! -More... -

-#include <eoCloneOps.h> -

-

Inheritance diagram for eoQuadCloneOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoQuadCloneOp ()
 Ctor.
-virtual std::string className () const
-virtual bool operator() (EOT &, EOT &)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoQuadCloneOp< EOT >

- -Quad clone: two operands, both could be modified - but are not! -

- -

-Definition at line 69 of file eoCloneOps.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op.png b/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op.png deleted file mode 100644 index 635b8fda7..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_quad_clone_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_distance-members.html b/trunk/paradiseo-eo/doc/html/classeo_quad_distance-members.html deleted file mode 100644 index f6bf1e97b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad_distance-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoQuadDistance< EOT > Member List

This is the complete list of members for eoQuadDistance< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< const EOT &, const EOT &, double > [inline, static]
operator()(const EOT &_v1, const EOT &_v2)eoQuadDistance< EOT > [inline, virtual]
~eoBF()eoBF< const EOT &, const EOT &, double > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_distance.html b/trunk/paradiseo-eo/doc/html/classeo_quad_distance.html deleted file mode 100644 index aa29776d6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad_distance.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoQuadDistance< EOT > Class Template Reference - - - - -

eoQuadDistance< EOT > Class Template Reference

This is a generic class for Euclidain distance (L2 norm) computation: assumes the 2 things are std::vectors of something that is double-castable. -More... -

-#include <eoDistance.h> -

-

Inheritance diagram for eoQuadDistance< EOT >: -

- -eoDistance< EOT > -eoBF< const EOT &, const EOT &, double > -eoFunctorBase - -List of all members. - - - - - -

Public Member Functions

-double operator() (const EOT &_v1, const EOT &_v2)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoQuadDistance< EOT >

- -This is a generic class for Euclidain distance (L2 norm) computation: assumes the 2 things are std::vectors of something that is double-castable. -

- -

-Definition at line 44 of file eoDistance.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_distance.png b/trunk/paradiseo-eo/doc/html/classeo_quad_distance.png deleted file mode 100644 index caf93c646..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_quad_distance.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op-members.html deleted file mode 100644 index 20eeebb46..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoQuadGenOp< EOT > Member List

This is the complete list of members for eoQuadGenOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
apply(eoPopulator< EOT > &_pop)eoQuadGenOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoQuadGenOp< EOT >)eoQuadGenOp< EOT > [inline, virtual]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadGenOp(eoQuadOp< EOT > &_op) (defined in eoQuadGenOp< EOT >)eoQuadGenOp< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoQuadGenOp< EOT > [inline, virtual]
op (defined in eoQuadGenOp< EOT >)eoQuadGenOp< EOT > [private]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op.html b/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op.html deleted file mode 100644 index 44f74a78b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoQuadGenOp< EOT > Class Template Reference - - - - -

eoQuadGenOp< EOT > Class Template Reference

Wrapper for quadop: easy as pie. -More... -

-#include <eoGenOp.h> -

-

Inheritance diagram for eoQuadGenOp< EOT >: -

- -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoQuadGenOp (eoQuadOp< EOT > &_op)
-unsigned max_production (void)
 Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash.
-void apply (eoPopulator< EOT > &_pop)
 the function that will do the work
-virtual std::string className () const

Private Attributes

-eoQuadOp< EOT > & op
-

Detailed Description

-

template<class EOT>
- class eoQuadGenOp< EOT >

- -Wrapper for quadop: easy as pie. -

- -

-Definition at line 157 of file eoGenOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op.png b/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op.png deleted file mode 100644 index 5380ae6cb..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_quad_gen_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_quad_op-members.html deleted file mode 100644 index 199dca412..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad_op-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoQuadOp< EOType > Member List

This is the complete list of members for eoQuadOp< EOType >, including all inherited members.

- - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOType >)eoOp< EOType >
className() const (defined in eoQuadOp< EOType >)eoQuadOp< EOType > [inline, virtual]
eoOp(OpType _type)eoOp< EOType > [inline]
eoOp(const eoOp &_eop)eoOp< EOType > [inline]
eoQuadOp()eoQuadOp< EOType > [inline]
functor_category()eoBF< EOType &, EOType &, bool > [inline, static]
general enum value (defined in eoOp< EOType >)eoOp< EOType >
getType() const eoOp< EOType > [inline]
operator()(EOType &, EOType &)=0eoBF< EOType &, EOType &, bool > [pure virtual]
OpType enum name (defined in eoOp< EOType >)eoOp< EOType >
quadratic enum value (defined in eoOp< EOType >)eoOp< EOType >
unary enum value (defined in eoOp< EOType >)eoOp< EOType >
~eoBF()eoBF< EOType &, EOType &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOType > [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_quad_op.html deleted file mode 100644 index c42eb9a96..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_quad_op.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: eoQuadOp< EOType > Class Template Reference - - - - -

eoQuadOp< EOType > Class Template Reference

Quad genetic operator: subclasses eoOp, and defines basically the operator() with two operands, both can be modified. -More... -

-#include <eoOp.h> -

-

Inheritance diagram for eoQuadOp< EOType >: -

- -eoOp< EOType > -eoBF< EOType &, EOType &, bool > -eoFunctorBase - -List of all members. - - - - - - - -

Public Member Functions

eoQuadOp ()
 Ctor.
-virtual std::string className () const
-

Detailed Description

-

template<class EOType>
- class eoQuadOp< EOType >

- -Quad genetic operator: subclasses eoOp, and defines basically the operator() with two operands, both can be modified. -

-When defining your own, make sure that you return a boolean value indicating that you have changed the content. -

- -

-Definition at line 132 of file eoOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_quad_op.png deleted file mode 100644 index 8ad11704f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_reduce-members.html b/trunk/paradiseo-eo/doc/html/classeo_random_reduce-members.html deleted file mode 100644 index d8697a4e0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_random_reduce-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoRandomReduce< EOT > Member List

This is the complete list of members for eoRandomReduce< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoPop< EOT > &, unsigned, void > [inline, static]
operator()(eoPop< EOT > &_newgen, unsigned _newsize)eoRandomReduce< EOT > [inline, private, virtual]
~eoBF()eoBF< eoPop< EOT > &, unsigned, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_reduce.html b/trunk/paradiseo-eo/doc/html/classeo_random_reduce.html deleted file mode 100644 index 1cd4dd49b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_random_reduce.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoRandomReduce< EOT > Class Template Reference - - - - -

eoRandomReduce< EOT > Class Template Reference

random truncation -More... -

-#include <eoReduce.h> -

-

Inheritance diagram for eoRandomReduce< EOT >: -

- -eoReduce< EOT > -eoBF< eoPop< EOT > &, unsigned, void > -eoFunctorBase - -List of all members. - - - - - -

Private Member Functions

-void operator() (eoPop< EOT > &_newgen, unsigned _newsize)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoRandomReduce< EOT >

- -random truncation -

- -

-Definition at line 64 of file eoReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_reduce.png b/trunk/paradiseo-eo/doc/html/classeo_random_reduce.png deleted file mode 100644 index a369dc369..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_random_reduce.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_random_select-members.html deleted file mode 100644 index c6268baf2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_random_select-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

eoRandomSelect< EOT > Member List

This is the complete list of members for eoRandomSelect< EOT >, including all inherited members.

- - - - - -
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoRandomSelect< EOT > [inline, virtual]
setup(const eoPop< EOT > &_pop)eoSelectOne< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_select.html b/trunk/paradiseo-eo/doc/html/classeo_random_select.html deleted file mode 100644 index c2e7f9df7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_random_select.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoRandomSelect< EOT > Class Template Reference - - - - -

eoRandomSelect< EOT > Class Template Reference

eoRandomSelect: a selection method that selects ONE individual randomly -More... -

-#include <eoRandomSelect.h> -

-

Inheritance diagram for eoRandomSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - -

Public Member Functions

-virtual const EOToperator() (const eoPop< EOT > &_pop)
 not a big deal!!!
-

Detailed Description

-

template<class EOT>
- class eoRandomSelect< EOT >

- -eoRandomSelect: a selection method that selects ONE individual randomly -

- -

-Definition at line 44 of file eoRandomSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_select.png b/trunk/paradiseo-eo/doc/html/classeo_random_select.png deleted file mode 100644 index 5b1d2b5b9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_random_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_split-members.html b/trunk/paradiseo-eo/doc/html/classeo_random_split-members.html deleted file mode 100644 index 44611f494..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_random_split-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoRandomSplit< EOT > Member List

This is the complete list of members for eoRandomSplit< EOT >, including all inherited members.

- - - - - - - -
eoRandomSplit(eoHowMany _howMany, bool _returnEliminated=false)eoRandomSplit< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoRandomSplit< EOT >)eoRandomSplit< EOT > [private]
operator()(eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)eoRandomSplit< EOT > [inline, virtual]
returnEliminated (defined in eoRandomSplit< EOT >)eoRandomSplit< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_split.html b/trunk/paradiseo-eo/doc/html/classeo_random_split.html deleted file mode 100644 index bedcbd39f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_random_split.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoRandomSplit< EOT > Class Template Reference - - - - -

eoRandomSplit< EOT > Class Template Reference

random truncation - batch version -More... -

-#include <eoReduceSplit.h> -

-

Inheritance diagram for eoRandomSplit< EOT >: -

- -eoReduceSplit< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoRandomSplit (eoHowMany _howMany, bool _returnEliminated=false)
 Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys.
-void operator() (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)
 do the job

Private Attributes

-eoHowMany howMany
-bool returnEliminated
-

Detailed Description

-

template<class EOT>
- class eoRandomSplit< EOT >

- -random truncation - batch version -

- -

-Definition at line 124 of file eoReduceSplit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_random_split.png b/trunk/paradiseo-eo/doc/html/classeo_random_split.png deleted file mode 100644 index 018ba32a7..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_random_split.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_ranking-members.html b/trunk/paradiseo-eo/doc/html/classeo_ranking-members.html deleted file mode 100644 index 295444d80..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_ranking-members.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: Member List - - - - -

eoRanking< EOT > Member List

This is the complete list of members for eoRanking< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT > [inline]
eoRanking(double _p=2.0, double _e=1.0) (defined in eoRanking< EOT >)eoRanking< EOT > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
exponent (defined in eoRanking< EOT >)eoRanking< EOT > [private]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
longName() const eoParam [inline]
lookfor(const EOT *_eo, const eoPop< EOT > &_pop) (defined in eoRanking< EOT >)eoRanking< EOT > [inline]
operator()(const eoPop< EOT > &_pop)eoRanking< EOT > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT >)eoPerf2Worth< EOT > [inline, virtual]
pressure (defined in eoRanking< EOT >)eoRanking< EOT > [private]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2Worth< EOT >)eoPerf2Worth< EOT > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2Worth< EOT > [inline, virtual]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_ranking.html b/trunk/paradiseo-eo/doc/html/classeo_ranking.html deleted file mode 100644 index 39c215a59..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_ranking.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: eoRanking< EOT > Class Template Reference - - - - -

eoRanking< EOT > Class Template Reference

An instance of eoPerfFromWorth COmputes the ranked fitness: fitnesses range in [m,M] with m=2-pressure/popSize and M=pressure/popSize. -More... -

-#include <eoRanking.h> -

-

Inheritance diagram for eoRanking< EOT >: -

- -eoPerf2Worth< EOT > -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< double > > -eoFunctorBase -eoParam - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

eoRanking (double _p=2.0, double _e=1.0)
-int lookfor (const EOT *_eo, const eoPop< EOT > &_pop)
-virtual void operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-double pressure
-double exponent
-

Detailed Description

-

template<class EOT>
- class eoRanking< EOT >

- -An instance of eoPerfFromWorth COmputes the ranked fitness: fitnesses range in [m,M] with m=2-pressure/popSize and M=pressure/popSize. -

-in between, the progression depstd::ends on exponent (linear if 1). -

- -

-Definition at line 38 of file eoRanking.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_ranking.png b/trunk/paradiseo-eo/doc/html/classeo_ranking.png deleted file mode 100644 index 6bb2a8217..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_ranking.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_ranking_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_ranking_select-members.html deleted file mode 100644 index c9a558a41..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_ranking_select-members.html +++ /dev/null @@ -1,27 +0,0 @@ - - -EO: Member List - - - - -

eoRankingSelect< EOT > Member List

This is the complete list of members for eoRankingSelect< EOT >, including all inherited members.

- - - - - - - - - - - - - -
check_sync(unsigned index, const EOT &_eo) (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [inline, protected]
eoRankingSelect(double _p=2.0, double _e=1.0)eoRankingSelect< EOT > [inline]
eoRouletteWorthSelect(eoPerf2Worth< EOT, double > &_perf2Worth) (defined in eoRouletteWorthSelect< EOT, double >)eoRouletteWorthSelect< EOT, double > [inline]
eoSelectFromWorth(eoPerf2Worth< EOT, double > &_perf2Worth) (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [inline]
fitness (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [protected]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoRouletteWorthSelect< EOT, double > [inline, virtual]
perf2Worth (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [protected]
ranking (defined in eoRankingSelect< EOT >)eoRankingSelect< EOT > [private]
setup(const eoPop< EOT > &_pop)eoRouletteWorthSelect< EOT, double > [inline, virtual]
worthIterator typedef (defined in eoRouletteWorthSelect< EOT, double >)eoRouletteWorthSelect< EOT, double >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_ranking_select.html b/trunk/paradiseo-eo/doc/html/classeo_ranking_select.html deleted file mode 100644 index 8f2684510..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_ranking_select.html +++ /dev/null @@ -1,102 +0,0 @@ - - -EO: eoRankingSelect< EOT > Class Template Reference - - - - -

eoRankingSelect< EOT > Class Template Reference

eoRankingSelect: select an individual by roulette wheel on its rank is an eoRouletteWorthSelect, i.e. -More... -

-#include <eoRankingSelect.h> -

-

Inheritance diagram for eoRankingSelect< EOT >: -

- -eoRouletteWorthSelect< EOT, double > -eoSelectFromWorth< EOT, double > -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

 eoRankingSelect (double _p=2.0, double _e=1.0)
 Ctor:.

Private Attributes

-eoRanking< EOTranking
-

Detailed Description

-

template<class EOT>
- class eoRankingSelect< EOT >

- -eoRankingSelect: select an individual by roulette wheel on its rank is an eoRouletteWorthSelect, i.e. -

-a selector using a std::vector of worthes rather than the raw fitness (see eoSelectFromWorth.h) uses an internal eoRanking object which is an eoPerf2Worth<EOT, double> -

- -

-Definition at line 41 of file eoRankingSelect.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoRankingSelect< EOT >::eoRankingSelect double  _p = 2.0,
double  _e = 1.0
[inline]
-
- - - - - -
-   - - -

-Ctor:. -

-

Parameters:
- - - -
_p the selective pressure, should be in [1,2] (2 is the default)
_e exponent (1 == linear)
-
- -

-Definition at line 48 of file eoRankingSelect.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_ranking_select.png b/trunk/paradiseo-eo/doc/html/classeo_ranking_select.png deleted file mode 100644 index 2f6d50956..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_ranking_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real-members.html b/trunk/paradiseo-eo/doc/html/classeo_real-members.html deleted file mode 100644 index 49ea84d66..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: Member List - - - - -

eoReal< FitT > Member List

This is the complete list of members for eoReal< FitT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVector< FitT, double >)eoVector< FitT, double >
className() const eoReal< FitT > [inline, virtual]
ContainerType typedef (defined in eoVector< FitT, double >)eoVector< FitT, double >
EO()EO< FitT > [inline]
EO() (defined in EO< FitT >)EO< FitT > [inline]
eoReal(unsigned size=0, double value=0.0)eoReal< FitT > [inline]
eoVector(unsigned size=0, doublevalue=double())eoVector< FitT, double > [inline]
eoVector(const eoVector< OtherFitnessType, double > &_vec)eoVector< FitT, double > [inline]
Fitness typedef (defined in EO< FitT >)EO< FitT >
fitness() const EO< FitT > [inline]
fitness(const Fitness &_fitness)EO< FitT > [inline]
fitness(performance_type perf) (defined in EO< FitT >)EO< FitT > [inline]
fitness(void) const (defined in EO< FitT >)EO< FitT > [inline]
fitness_traits typedef (defined in EO< FitT >)EO< FitT >
invalid() const EO< FitT > [inline]
invalidate() (defined in EO< FitT >)EO< FitT > [inline]
invalidate(void) (defined in EO< FitT >)EO< FitT > [inline]
invalidate_worth(void) (defined in EO< FitT >)EO< FitT > [inline]
operator<(const eoVector< FitT, double > &_eo) const eoVector< FitT, double > [inline]
EO< FitT >::operator<(const EO &_eo2) const EO< FitT > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< FitT >)EO< FitT > [inline]
operator>(const EO &_eo2) const (defined in EO< FitT >)EO< FitT > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< FitT >)EO< FitT > [inline]
performance(performance_type perf) (defined in EO< FitT >)EO< FitT > [inline]
performance(void) const (defined in EO< FitT >)EO< FitT > [inline]
performance_type typedef (defined in EO< FitT >)EO< FitT >
printOn(std::ostream &os) const eoVector< FitT, double > [inline, virtual]
readFrom(std::istream &is)eoVector< FitT, double > [inline, virtual]
storage_type typedef (defined in EO< FitT >)EO< FitT >
value(const std::vector< double > &_v) (defined in eoVector< FitT, double >)eoVector< FitT, double > [inline]
worth(worth_type worth) (defined in EO< FitT >)EO< FitT > [inline]
worth(void) const (defined in EO< FitT >)EO< FitT > [inline]
worth_type typedef (defined in EO< FitT >)EO< FitT >
~EO()EO< FitT > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real.html b/trunk/paradiseo-eo/doc/html/classeo_real.html deleted file mode 100644 index 557162280..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real.html +++ /dev/null @@ -1,101 +0,0 @@ - - -EO: eoReal< FitT > Class Template Reference - - - - -

eoReal< FitT > Class Template Reference

eoReal: implementation of simple real-valued chromosome. -More... -

-#include <eoReal.h> -

-

Inheritance diagram for eoReal< FitT >: -

- -eoVector< FitT, double > -EO< FitT > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - -

Public Member Functions

 eoReal (unsigned size=0, double value=0.0)
 (Default) Constructor.
-virtual std::string className () const
 My class name.
-

Detailed Description

-

template<class FitT>
- class eoReal< FitT >

- -eoReal: implementation of simple real-valued chromosome. -

-based on eoVector class -

- -

-Definition at line 37 of file eoReal.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class FitT>
eoReal< FitT >::eoReal unsigned  size = 0,
double  value = 0.0
[inline]
-
- - - - - -
-   - - -

-(Default) Constructor. -

-

Parameters:
- - -
size Size of the std::vector
-
- -

-Definition at line 45 of file eoReal.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real.png b/trunk/paradiseo-eo/doc/html/classeo_real.png deleted file mode 100644 index f28d1de40..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_above_bound-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_above_bound-members.html deleted file mode 100644 index 435a843b7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_above_bound-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoRealAboveBound Member List

This is the complete list of members for eoRealAboveBound, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
dup() const eoRealAboveBound [inline, virtual]
eoRealAboveBound(double _max=0)eoRealAboveBound [inline]
foldsInBounds(double &_r) const eoRealAboveBound [inline, virtual]
hasNoBoundAtAll(void) const eoRealAboveBound [inline, virtual]
isBounded(void) const eoRealAboveBound [inline, virtual]
isInBounds(double _r) const eoRealAboveBound [inline, virtual]
isMaxBounded(void) const eoRealAboveBound [inline, virtual]
isMinBounded(void) const eoRealAboveBound [inline, virtual]
maximum() const eoRealAboveBound [inline, virtual]
minimum() const eoRealAboveBound [inline, virtual]
printOn(std::ostream &_os) const eoRealAboveBound [inline, virtual]
range() const eoRealAboveBound [inline, virtual]
readFrom(std::istream &_is)eoRealAboveBound [inline, virtual]
repMaximum (defined in eoRealAboveBound)eoRealAboveBound [private]
truncate(double &_r) const eoRealAboveBound [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoRealAboveBound [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRealAboveBound() (defined in eoRealAboveBound)eoRealAboveBound [inline, virtual]
~eoRealBounds() (defined in eoRealBounds)eoRealBounds [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_above_bound.html b/trunk/paradiseo-eo/doc/html/classeo_real_above_bound.html deleted file mode 100644 index c0c57f8d7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_above_bound.html +++ /dev/null @@ -1,177 +0,0 @@ - - -EO: eoRealAboveBound Class Reference - - - - -

eoRealAboveBound Class Reference

An eoRealBound bounded from above only. -More... -

-#include <eoRealBounds.h> -

-

Inheritance diagram for eoRealAboveBound: -

- -eoRealBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoRealAboveBound (double _max=0)
 Simple bounds = minimum.
-virtual double maximum () const
 get maximum value ::exception if does not exist
-virtual double minimum () const
 get minimum value ::exception if does not exist
-virtual double range () const
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds ::exception if unbounded
-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual bool isInBounds (double _r) const
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &_r) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &_r) const
 Put value back into bounds - by truncating to a boundary value.
virtual void readFrom (std::istream &_is)
 Read object.
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual eoRealBoundsdup () const
 for memory managements - ugly

Private Attributes

-double repMaximum
-

Detailed Description

-An eoRealBound bounded from above only. -

- -

-Definition at line 409 of file eoRealBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoRealAboveBound::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream. but reading should not be done here, because of bound problems see eoRealVectorBounds
-
- -

-Implements eoPersistent. -

-Definition at line 477 of file eoRealBounds.h.

-

- - - - -
- - - - - - - - - -
virtual void eoRealAboveBound::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 486 of file eoRealBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_above_bound.png b/trunk/paradiseo-eo/doc/html/classeo_real_above_bound.png deleted file mode 100644 index 0ce98c6c7..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_above_bound.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds-members.html deleted file mode 100644 index f0a127860..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds-members.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: Member List - - - - -

eoRealBaseVectorBounds Member List

This is the complete list of members for eoRealBaseVectorBounds, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - -
averageRange()eoRealBaseVectorBounds [inline, virtual]
eoRealBaseVectorBounds()eoRealBaseVectorBounds [inline]
eoRealBaseVectorBounds(unsigned _dim, eoRealBounds &_bounds)eoRealBaseVectorBounds [inline]
eoRealBaseVectorBounds(eoRealBounds &_xbounds, eoRealBounds &_ybounds)eoRealBaseVectorBounds [inline]
foldsInBounds(unsigned _i, double &_r)eoRealBaseVectorBounds [inline, virtual]
foldsInBounds(std::vector< double > &_v)eoRealBaseVectorBounds [inline, virtual]
hasNoBoundAtAll(unsigned _i)eoRealBaseVectorBounds [inline, virtual]
hasNoBoundAtAll(void)eoRealBaseVectorBounds [inline, virtual]
isBounded(unsigned _i)eoRealBaseVectorBounds [inline, virtual]
isBounded(void)eoRealBaseVectorBounds [inline, virtual]
isInBounds(unsigned _i, double _r)eoRealBaseVectorBounds [inline, virtual]
isInBounds(std::vector< double > _v)eoRealBaseVectorBounds [inline, virtual]
isMaxBounded(unsigned _i) (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
isMinBounded(unsigned _i) (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
maximum(unsigned _i) (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
minimum(unsigned _i)eoRealBaseVectorBounds [inline, virtual]
printOn(std::ostream &_os) const eoRealBaseVectorBounds [inline, virtual]
range(unsigned _i) (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
truncate(unsigned _i, double &_r)eoRealBaseVectorBounds [inline, virtual]
truncate(std::vector< double > &_v)eoRealBaseVectorBounds [inline, virtual]
uniform(unsigned _i, eoRng &_rng=eo::rng)eoRealBaseVectorBounds [inline, virtual]
uniform(std::vector< double > &_v, eoRng &_rng=eo::rng)eoRealBaseVectorBounds [inline]
~eoRealBaseVectorBounds() (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds.html deleted file mode 100644 index be1ed03c4..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds.html +++ /dev/null @@ -1,162 +0,0 @@ - - -EO: eoRealBaseVectorBounds Class Reference - - - - -

eoRealBaseVectorBounds Class Reference

Vector type for bounds (see eoRealBounds.h for scalar types) ------------ Class eoRealVectorBounds implements the std::vectorized version: it is basically a std::vector of eoRealBounds * and forwards all request to the elements of the std::vector. -More... -

-#include <eoRealVectorBounds.h> -

-

Inheritance diagram for eoRealBaseVectorBounds: -

- -eoRealVectorBounds -eoRealVectorNoBounds - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoRealBaseVectorBounds ()
 Default Ctor.
eoRealBaseVectorBounds (unsigned _dim, eoRealBounds &_bounds)
 Ctor: same bounds for everybody, given as an eoRealBounds.
eoRealBaseVectorBounds (eoRealBounds &_xbounds, eoRealBounds &_ybounds)
 Ctor, particular case of dim-2.
-virtual bool isBounded (unsigned _i)
 test: is i_th component bounded
-virtual bool isBounded (void)
 test: bounded iff all are bounded
-virtual bool hasNoBoundAtAll (unsigned _i)
 Self-test: true iff i_th component has no bounds at all.
-virtual bool hasNoBoundAtAll (void)
 Self-test: true iff all components have no bound at all.
-virtual bool isMinBounded (unsigned _i)
-virtual bool isMaxBounded (unsigned _i)
-virtual void foldsInBounds (unsigned _i, double &_r)
 Folds a real value back into the bounds - i_th component.
-virtual void foldsInBounds (std::vector< double > &_v)
 Folds all variables of a std::vector of real values into the bounds.
-virtual void truncate (unsigned _i, double &_r)
 Truncates a real value to the bounds - i_th component.
-virtual void truncate (std::vector< double > &_v)
 truncates all variables of a std::vector of real values to the bounds
-virtual bool isInBounds (unsigned _i, double _r)
 test: is i_th component within the bounds?
-virtual bool isInBounds (std::vector< double > _v)
 test: are ALL components within the bounds?
-virtual double minimum (unsigned _i)
 Accessors: will raise an std::exception if these do not exist.
-virtual double maximum (unsigned _i)
-virtual double range (unsigned _i)
-virtual double averageRange ()
 Computes the average range An std::exception will be raised if one of the component is unbounded.
-virtual double uniform (unsigned _i, eoRng &_rng=eo::rng)
 Generates a random number in i_th range An std::exception will be raised if one of the component is unbounded.
-void uniform (std::vector< double > &_v, eoRng &_rng=eo::rng)
 fills a std::vector with uniformly chosen variables in bounds An std::exception will be raised if one of the component is unbounded
virtual void printOn (std::ostream &_os) const
 Write object.
-

Detailed Description

-Vector type for bounds (see eoRealBounds.h for scalar types) ------------ Class eoRealVectorBounds implements the std::vectorized version: it is basically a std::vector of eoRealBounds * and forwards all request to the elements of the std::vector. -

-This file also contains the global variables and eoDummyVectorNoBounds that are used as defaults in ctors (i.e. when no bounds are given, it is assumed unbounded values)

-THe 2 main classes defined here are

-eoRealBaseVectorBounds, base class that handles all useful functions eoRealVectorBounds which derives from the preceding *and* eoPersistent and also has a mechanism for memory handling of the pointers it has to allocate -

- -

-Definition at line 58 of file eoRealVectorBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoRealBaseVectorBounds::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Reimplemented in eoRealVectorBounds. -

-Definition at line 214 of file eoRealVectorBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds.png deleted file mode 100644 index 0af33c0da..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_base_vector_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_below_bound-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_below_bound-members.html deleted file mode 100644 index 1fd98cb2f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_below_bound-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoRealBelowBound Member List

This is the complete list of members for eoRealBelowBound, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
dup() const eoRealBelowBound [inline, virtual]
eoRealBelowBound(double _min=0)eoRealBelowBound [inline]
foldsInBounds(double &_r) const eoRealBelowBound [inline, virtual]
hasNoBoundAtAll(void) const eoRealBelowBound [inline, virtual]
isBounded(void) const eoRealBelowBound [inline, virtual]
isInBounds(double _r) const eoRealBelowBound [inline, virtual]
isMaxBounded(void) const eoRealBelowBound [inline, virtual]
isMinBounded(void) const eoRealBelowBound [inline, virtual]
maximum() const eoRealBelowBound [inline, virtual]
minimum() const eoRealBelowBound [inline, virtual]
printOn(std::ostream &_os) const eoRealBelowBound [inline, virtual]
range() const eoRealBelowBound [inline, virtual]
readFrom(std::istream &_is)eoRealBelowBound [inline, virtual]
repMinimum (defined in eoRealBelowBound)eoRealBelowBound [private]
truncate(double &_r) const eoRealBelowBound [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoRealBelowBound [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRealBelowBound() (defined in eoRealBelowBound)eoRealBelowBound [inline, virtual]
~eoRealBounds() (defined in eoRealBounds)eoRealBounds [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_below_bound.html b/trunk/paradiseo-eo/doc/html/classeo_real_below_bound.html deleted file mode 100644 index 09e134568..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_below_bound.html +++ /dev/null @@ -1,177 +0,0 @@ - - -EO: eoRealBelowBound Class Reference - - - - -

eoRealBelowBound Class Reference

an eoRealBound bounded from below only -More... -

-#include <eoRealBounds.h> -

-

Inheritance diagram for eoRealBelowBound: -

- -eoRealBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoRealBelowBound (double _min=0)
 Simple bounds = minimum.
-virtual double minimum () const
 get minimum value ::exception if does not exist
-virtual double maximum () const
 get maximum value ::exception if does not exist
-virtual double range () const
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds ::exception if unbounded
-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual bool isInBounds (double _r) const
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &_r) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &_r) const
 Put value back into bounds - by truncating to a boundary value.
virtual void readFrom (std::istream &_is)
 Read object.
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual eoRealBoundsdup () const
 for memory managements - ugly

Private Attributes

-double repMinimum
-

Detailed Description

-an eoRealBound bounded from below only -

- -

-Definition at line 315 of file eoRealBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoRealBelowBound::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream. but reading should not be done here, because of bound problems see eoRealVectorBounds
-
- -

-Implements eoPersistent. -

-Definition at line 382 of file eoRealBounds.h.

-

- - - - -
- - - - - - - - - -
virtual void eoRealBelowBound::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 391 of file eoRealBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_below_bound.png b/trunk/paradiseo-eo/doc/html/classeo_real_below_bound.png deleted file mode 100644 index 3eb977351..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_below_bound.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_bounds-members.html deleted file mode 100644 index fb91df6a5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_bounds-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoRealBounds Member List

This is the complete list of members for eoRealBounds, including all inherited members.

- - - - - - - - - - - - - - - - - -
dup() const =0eoRealBounds [pure virtual]
foldsInBounds(double &) const =0eoRealBounds [pure virtual]
hasNoBoundAtAll(void) const =0eoRealBounds [pure virtual]
isBounded(void) const =0eoRealBounds [pure virtual]
isInBounds(double) const =0eoRealBounds [pure virtual]
isMaxBounded(void) const =0eoRealBounds [pure virtual]
isMinBounded(void) const =0eoRealBounds [pure virtual]
maximum() const =0eoRealBounds [pure virtual]
minimum() const =0eoRealBounds [pure virtual]
printOn(std::ostream &_os) const =0eoPrintable [pure virtual]
range() const =0eoRealBounds [pure virtual]
readFrom(std::istream &_is)=0eoPersistent [pure virtual]
truncate(double &) const =0eoRealBounds [pure virtual]
uniform(eoRng &_rng=eo::rng) const =0eoRealBounds [pure virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRealBounds() (defined in eoRealBounds)eoRealBounds [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_real_bounds.html deleted file mode 100644 index 4d95095e3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_bounds.html +++ /dev/null @@ -1,102 +0,0 @@ - - -EO: eoRealBounds Class Reference - - - - -

eoRealBounds Class Reference
- -[EvolutionStrategies] -

Defines bound classes for real numbers. -More... -

-#include <es/eoRealBounds.h> -

-

Inheritance diagram for eoRealBounds: -

- -eoPersistent -eoPrintable -eoGeneralRealBounds -eoRealAboveBound -eoRealBelowBound -eoRealInterval -eoRealNoBounds - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

-virtual bool isBounded (void) const =0
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const =0
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const =0
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const =0
 Self-Test: bounded from above???
-virtual bool isInBounds (double) const =0
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &) const =0
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &) const =0
 Put value back into bounds - by truncating to a boundary value.
-virtual double minimum () const =0
 get minimum value ::exception if does not exist
-virtual double maximum () const =0
 get maximum value ::exception if does not exist
-virtual double range () const =0
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const =0
 random generator of uniform numbers in bounds ::exception if unbounded
-virtual eoRealBoundsdup () const =0
 for memory managements - ugly
-

Detailed Description

-Defines bound classes for real numbers. -

-Scalar type: ------------ Basic class is eoRealBounds, a pure virtual.

-The following pure virtual methods are to be used in mutations:

    -
  • void foldsInBounds(double &) that folds any value that falls out of the bounds back into the bounds, by bouncing on the limit (if any)
  • bool isInBounds(double) that simply says whether or not the argument is in the bounds
  • void truncate(double &) that set the argument to the bound value it it exceeds it
-

-So mutation can choose

    -
  • iterate trying until they fall in bounds,
  • only try once and "restd::pair" by using the foldsInBounds method
  • only try once and restd::pair using the truncate method (will create a huge bias toward the bound if the soluiton is not far from the bounds)
-

-There is also a uniform() method that generates a uniform value (if possible, i.e. if bounded) in the interval.

-Derived class are eoRealInterval that holds a minimum and maximum value, eoRealNoBounds the "unbounded bounds" (-infinity, +infinity) eoRealBelowBound the half-bounded interval [min, +infinity) eoRealAboveBound the half-bounded interval (-infinity, max]

-THis file also contains the declaration of *the* global object that is the unbounded bound -

- -

-Definition at line 75 of file eoRealBounds.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_real_bounds.png deleted file mode 100644 index a711a877a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded-members.html deleted file mode 100644 index 6b68c2f89..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoRealInitBounded< EOT > Member List

This is the complete list of members for eoRealInitBounded< EOT >, including all inherited members.

- - - - - - - - - -
bounds (defined in eoRealInitBounded< EOT >)eoRealInitBounded< EOT > [private]
className(void) const eoInit< EOT > [inline, virtual]
eoRealInitBounded(eoRealVectorBounds &_bounds)eoRealInitBounded< EOT > [inline]
functor_category()eoUF< EOT &, void > [inline, static]
operator()(EOT &_eo)eoRealInitBounded< EOT > [inline, virtual]
size() (defined in eoRealInitBounded< EOT >)eoRealInitBounded< EOT > [inline, virtual]
theBounds()eoRealInitBounded< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded.html b/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded.html deleted file mode 100644 index 89863a159..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoRealInitBounded< EOT > Class Template Reference - - - - -

eoRealInitBounded< EOT > Class Template Reference

Simple initialization for any EOT that derives from std::vector<double> uniformly in some bounds. -More... -

-#include <eoRealInitBounded.h> -

-

Inheritance diagram for eoRealInitBounded< EOT >: -

- -eoInit< EOT > -eoUF< EOT &, void > -eoFunctorBase -eoEsChromInit< EOT > - -List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

eoRealInitBounded (eoRealVectorBounds &_bounds)
 Ctor - from eoRealVectorBounds.
-virtual void operator() (EOT &_eo)
 simply passes the argument to the uniform method of the bounds
-virtual eoRealVectorBoundstheBounds ()
 accessor to the bounds
-virtual unsigned size ()

Private Attributes

-eoRealVectorBoundsbounds
-

Detailed Description

-

template<class EOT>
- class eoRealInitBounded< EOT >

- -Simple initialization for any EOT that derives from std::vector<double> uniformly in some bounds. -

- -

-Definition at line 40 of file eoRealInitBounded.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded.png b/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded.png deleted file mode 100644 index 843511a9a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_init_bounded.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_interval-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_interval-members.html deleted file mode 100644 index e5f10eefb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_interval-members.html +++ /dev/null @@ -1,36 +0,0 @@ - - -EO: Member List - - - - -

eoRealInterval Member List

This is the complete list of members for eoRealInterval, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - -
dup() const eoRealInterval [inline, virtual]
eoRealInterval(double _min=0, double _max=1)eoRealInterval [inline]
foldsInBounds(double &_r) const eoRealInterval [inline, virtual]
hasNoBoundAtAll(void) const eoRealInterval [inline, virtual]
isBounded(void) const eoRealInterval [inline, virtual]
isInBounds(double _r) const eoRealInterval [inline, virtual]
isMaxBounded(void) const eoRealInterval [inline, virtual]
isMinBounded(void) const eoRealInterval [inline, virtual]
maximum() const eoRealInterval [inline, virtual]
minimum() const eoRealInterval [inline, virtual]
printOn(std::ostream &_os) const eoRealInterval [inline, virtual]
range() const eoRealInterval [inline, virtual]
readFrom(std::istream &_is)eoRealInterval [inline, virtual]
repMaximum (defined in eoRealInterval)eoRealInterval [private]
repMinimum (defined in eoRealInterval)eoRealInterval [private]
repRange (defined in eoRealInterval)eoRealInterval [private]
truncate(double &_r) const eoRealInterval [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoRealInterval [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRealBounds() (defined in eoRealBounds)eoRealBounds [inline, virtual]
~eoRealInterval() (defined in eoRealInterval)eoRealInterval [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_interval.html b/trunk/paradiseo-eo/doc/html/classeo_real_interval.html deleted file mode 100644 index e869df873..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_interval.html +++ /dev/null @@ -1,183 +0,0 @@ - - -EO: eoRealInterval Class Reference - - - - -

eoRealInterval Class Reference

fully bounded eoRealBound == interval -More... -

-#include <eoRealBounds.h> -

-

Inheritance diagram for eoRealInterval: -

- -eoRealBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoRealInterval (double _min=0, double _max=1)
 Simple bounds = minimum and maximum (allowed).
-virtual double minimum () const
 get minimum value ::exception if does not exist
-virtual double maximum () const
 get maximum value ::exception if does not exist
-virtual double range () const
 get range ::exception if unbounded
-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds ::exception if unbounded
-virtual bool isInBounds (double _r) const
 Test on a value: is it in bounds?
-virtual void foldsInBounds (double &_r) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &_r) const
 Put value back into bounds - by truncating to a boundary value.
virtual void readFrom (std::istream &_is)
 Read object.
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual eoRealBoundsdup () const
 for memory managements - ugly

Private Attributes

-double repMinimum
-double repMaximum
-double repRange
-

Detailed Description

-fully bounded eoRealBound == interval -

- -

-Definition at line 199 of file eoRealBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoRealInterval::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream. but reading should not be done here, because of bound problems see eoRealVectorBounds
-
- -

-Implements eoPersistent. -

-Definition at line 286 of file eoRealBounds.h.

-

- - - - -
- - - - - - - - - -
virtual void eoRealInterval::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 295 of file eoRealBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_interval.png b/trunk/paradiseo-eo/doc/html/classeo_real_interval.png deleted file mode 100644 index 09271cfa4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_interval.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds-members.html deleted file mode 100644 index 9d11717a8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoRealNoBounds Member List

This is the complete list of members for eoRealNoBounds, including all inherited members.

- - - - - - - - - - - - - - - - - - -
dup() const eoRealNoBounds [inline, virtual]
foldsInBounds(double &) const eoRealNoBounds [inline, virtual]
hasNoBoundAtAll(void) const eoRealNoBounds [inline, virtual]
isBounded(void) const eoRealNoBounds [inline, virtual]
isInBounds(double) const eoRealNoBounds [inline, virtual]
isMaxBounded(void) const eoRealNoBounds [inline, virtual]
isMinBounded(void) const eoRealNoBounds [inline, virtual]
maximum() const eoRealNoBounds [inline, virtual]
minimum() const eoRealNoBounds [inline, virtual]
printOn(std::ostream &_os) const eoRealNoBounds [inline, virtual]
range() const eoRealNoBounds [inline, virtual]
readFrom(std::istream &_is)eoRealNoBounds [inline, virtual]
truncate(double &) const eoRealNoBounds [inline, virtual]
uniform(eoRng &_rng=eo::rng) const eoRealNoBounds [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRealBounds() (defined in eoRealBounds)eoRealBounds [inline, virtual]
~eoRealNoBounds() (defined in eoRealNoBounds)eoRealNoBounds [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds.html deleted file mode 100644 index bb89eced2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds.html +++ /dev/null @@ -1,169 +0,0 @@ - - -EO: eoRealNoBounds Class Reference - - - - -

eoRealNoBounds Class Reference

A default class for unbounded variables. -More... -

-#include <eoRealBounds.h> -

-

Inheritance diagram for eoRealNoBounds: -

- -eoRealBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

-virtual bool isBounded (void) const
 Self-Test: true if ***both*** a min and a max.
-virtual bool hasNoBoundAtAll (void) const
 Self-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything.
-virtual bool isMinBounded (void) const
 Self-Test: bounded from below???
-virtual bool isMaxBounded (void) const
 Self-Test: bounded from above???
-virtual void foldsInBounds (double &) const
 Put value back into bounds - by folding back and forth.
-virtual void truncate (double &) const
 Put value back into bounds - by truncating to a boundary value.
-virtual bool isInBounds (double) const
 Test on a value: is it in bounds?
-virtual double minimum () const
 get minimum value ::exception if does not exist
-virtual double maximum () const
 get maximum value ::exception if does not exist
-virtual double range () const
 get range ::exception if unbounded
-virtual double uniform (eoRng &_rng=eo::rng) const
 random generator of uniform numbers in bounds ::exception if unbounded
virtual void readFrom (std::istream &_is)
 Read object.
virtual void printOn (std::ostream &_os) const
 Write object.
-virtual eoRealBoundsdup () const
 for memory managements - ugly
-

Detailed Description

-A default class for unbounded variables. -

- -

-Definition at line 133 of file eoRealBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual void eoRealNoBounds::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream. but reading should not be done here, because of bound problems see eoRealVectorBounds
-
- -

-Implements eoPersistent. -

-Definition at line 171 of file eoRealBounds.h.

-

- - - - -
- - - - - - - - - -
virtual void eoRealNoBounds::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 180 of file eoRealBounds.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds.png deleted file mode 100644 index 8389195d2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_no_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_ux_over.html b/trunk/paradiseo-eo/doc/html/classeo_real_ux_over.html deleted file mode 100644 index a4b3f78dd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_ux_over.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: eoRealUxOver Class Reference - - - - -

eoRealUxOver Class Reference

eoRealUxOver --> Uniform crossover, also termed intermediate crossover -More... -

-#include <Tutorial/eoRealOp.h> -

- - -
-


Detailed Description

-eoRealUxOver --> Uniform crossover, also termed intermediate crossover -

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds-members.html deleted file mode 100644 index 547e60afd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: Member List - - - - -

eoRealVectorBounds Member List

This is the complete list of members for eoRealVectorBounds, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
adjust_size(unsigned _dim)eoRealVectorBounds
averageRange()eoRealBaseVectorBounds [inline, virtual]
eoRealBaseVectorBounds()eoRealBaseVectorBounds [inline]
eoRealBaseVectorBounds(unsigned _dim, eoRealBounds &_bounds)eoRealBaseVectorBounds [inline]
eoRealBaseVectorBounds(eoRealBounds &_xbounds, eoRealBounds &_ybounds)eoRealBaseVectorBounds [inline]
eoRealVectorBounds()eoRealVectorBounds [inline]
eoRealVectorBounds(unsigned _dim, eoRealBounds &_bounds)eoRealVectorBounds [inline]
eoRealVectorBounds(eoRealBounds &_xbounds, eoRealBounds &_ybounds)eoRealVectorBounds [inline]
eoRealVectorBounds(unsigned _dim, double _min, double _max)eoRealVectorBounds [inline]
eoRealVectorBounds(std::vector< double > _min, std::vector< double > _max)eoRealVectorBounds [inline]
eoRealVectorBounds(std::string _s)eoRealVectorBounds [inline]
eoRealVectorBounds(const eoRealVectorBounds &)eoRealVectorBounds
factor (defined in eoRealVectorBounds)eoRealVectorBounds [private]
foldsInBounds(unsigned _i, double &_r)eoRealBaseVectorBounds [inline, virtual]
foldsInBounds(std::vector< double > &_v)eoRealBaseVectorBounds [inline, virtual]
hasNoBoundAtAll(unsigned _i)eoRealBaseVectorBounds [inline, virtual]
hasNoBoundAtAll(void)eoRealBaseVectorBounds [inline, virtual]
isBounded(unsigned _i)eoRealBaseVectorBounds [inline, virtual]
isBounded(void)eoRealBaseVectorBounds [inline, virtual]
isInBounds(unsigned _i, double _r)eoRealBaseVectorBounds [inline, virtual]
isInBounds(std::vector< double > _v)eoRealBaseVectorBounds [inline, virtual]
isMaxBounded(unsigned _i) (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
isMinBounded(unsigned _i) (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
maximum(unsigned _i) (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
minimum(unsigned _i)eoRealBaseVectorBounds [inline, virtual]
operator=(const eoRealVectorBounds &) (defined in eoRealVectorBounds)eoRealVectorBounds [private]
ownedBounds (defined in eoRealVectorBounds)eoRealVectorBounds [private]
printOn(std::ostream &_os) const eoRealVectorBounds [inline, virtual]
range(unsigned _i) (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
readFrom(std::istream &_is)eoRealVectorBounds [virtual]
readFrom(std::string _s)eoRealVectorBounds [virtual]
truncate(unsigned _i, double &_r)eoRealBaseVectorBounds [inline, virtual]
truncate(std::vector< double > &_v)eoRealBaseVectorBounds [inline, virtual]
uniform(unsigned _i, eoRng &_rng=eo::rng)eoRealBaseVectorBounds [inline, virtual]
uniform(std::vector< double > &_v, eoRng &_rng=eo::rng)eoRealBaseVectorBounds [inline]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRealBaseVectorBounds() (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
~eoRealVectorBounds()eoRealVectorBounds [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds.html deleted file mode 100644 index 0116fdef2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds.html +++ /dev/null @@ -1,175 +0,0 @@ - - -EO: eoRealVectorBounds Class Reference - - - - -

eoRealVectorBounds Class Reference

Now a derived class, for parser reading It holds some of the bounds (and destroy them when dying). -More... -

-#include <eoRealVectorBounds.h> -

-

Inheritance diagram for eoRealVectorBounds: -

- -eoRealBaseVectorBounds -eoPersistent -eoPrintable -eoRealVectorNoBounds - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoRealVectorBounds ()
 Default Ctor will call base class default ctor.
eoRealVectorBounds (unsigned _dim, eoRealBounds &_bounds)
 Ctor: same bounds for everybody, given as an eoRealBounds.
eoRealVectorBounds (eoRealBounds &_xbounds, eoRealBounds &_ybounds)
 Ctor, particular case of dim-2.
eoRealVectorBounds (unsigned _dim, double _min, double _max)
 Simple bounds = minimum and maximum (allowed).
eoRealVectorBounds (std::vector< double > _min, std::vector< double > _max)
 Ctor: different bounds for different variables, std::vectors of double.
eoRealVectorBounds (std::string _s)
 Ctor from a std::string and don't worry, the readFrom(std::string) starts by setting everything to 0!
-virtual ~eoRealVectorBounds ()
 Dtor: destroy all ownedBounds - BUG ???
virtual void readFrom (std::istream &_is)
 Read object from a stream only calls the readFrom(std::string) - for param reading.
virtual void readFrom (std::string _s)
 Read object from a std::string.
-virtual void printOn (std::ostream &_os) const
 overload printOn method to save space
-void adjust_size (unsigned _dim)
 Eventually increases the size by duplicating last bound.
eoRealVectorBounds (const eoRealVectorBounds &)
 need to rewrite copy ctor and assignement operator because of ownedBounds

Private Member Functions

-eoRealVectorBoundsoperator= (const eoRealVectorBounds &)

Private Attributes

-std::vector< unsigned int > factor
-std::vector< eoRealBounds * > ownedBounds
-

Detailed Description

-Now a derived class, for parser reading It holds some of the bounds (and destroy them when dying). -

- -

-Definition at line 228 of file eoRealVectorBounds.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
void eoRealVectorBounds::readFrom std::istream &  _is  )  [virtual]
-
- - - - - -
-   - - -

-Read object from a stream only calls the readFrom(std::string) - for param reading. -

-

Parameters:
- - -
_is A std::istream.
-
- -

-Implements eoPersistent. -

-Definition at line 65 of file eoRealBounds.cpp. -

-Referenced by eoRealVectorBounds().

-

- - - - -
- - - - - - - - - -
void eoRealVectorBounds::readFrom std::string  _s  )  [virtual]
-
- - - - - -
-   - - -

-Read object from a std::string. -

-

Parameters:
- - -
_is A std::istream.
-
- -

-Definition at line 73 of file eoRealBounds.cpp. -

-References adjust_size().

-


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds.png deleted file mode 100644 index 229b0d335..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_vector_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds-members.html b/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds-members.html deleted file mode 100644 index 9055cc18a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds-members.html +++ /dev/null @@ -1,52 +0,0 @@ - - -EO: Member List - - - - -

eoRealVectorNoBounds Member List

This is the complete list of members for eoRealVectorNoBounds, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
adjust_size(unsigned _dim)eoRealVectorBounds
averageRange()eoRealVectorNoBounds [inline, virtual]
eoRealBaseVectorBounds()eoRealBaseVectorBounds [inline]
eoRealBaseVectorBounds(unsigned _dim, eoRealBounds &_bounds)eoRealBaseVectorBounds [inline]
eoRealBaseVectorBounds(eoRealBounds &_xbounds, eoRealBounds &_ybounds)eoRealBaseVectorBounds [inline]
eoRealVectorBounds()eoRealVectorBounds [inline]
eoRealVectorBounds(unsigned _dim, eoRealBounds &_bounds)eoRealVectorBounds [inline]
eoRealVectorBounds(eoRealBounds &_xbounds, eoRealBounds &_ybounds)eoRealVectorBounds [inline]
eoRealVectorBounds(unsigned _dim, double _min, double _max)eoRealVectorBounds [inline]
eoRealVectorBounds(std::vector< double > _min, std::vector< double > _max)eoRealVectorBounds [inline]
eoRealVectorBounds(std::string _s)eoRealVectorBounds [inline]
eoRealVectorBounds(const eoRealVectorBounds &)eoRealVectorBounds
eoRealVectorNoBounds(unsigned _dim)eoRealVectorNoBounds [inline]
foldsInBounds(unsigned, double &)eoRealVectorNoBounds [inline, virtual]
foldsInBounds(std::vector< double > &)eoRealVectorNoBounds [inline, virtual]
hasNoBoundAtAll(unsigned)eoRealVectorNoBounds [inline, virtual]
hasNoBoundAtAll(void)eoRealVectorNoBounds [inline, virtual]
isBounded(unsigned)eoRealVectorNoBounds [inline, virtual]
isBounded(void)eoRealVectorNoBounds [inline, virtual]
isInBounds(unsigned, double)eoRealVectorNoBounds [inline, virtual]
isInBounds(std::vector< double >)eoRealVectorNoBounds [inline, virtual]
isMaxBounded(unsigned) (defined in eoRealVectorNoBounds)eoRealVectorNoBounds [inline, virtual]
isMinBounded(unsigned) (defined in eoRealVectorNoBounds)eoRealVectorNoBounds [inline, virtual]
maximum(unsigned) (defined in eoRealVectorNoBounds)eoRealVectorNoBounds [inline, virtual]
minimum(unsigned)eoRealVectorNoBounds [inline, virtual]
printOn(std::ostream &_os) const eoRealVectorBounds [inline, virtual]
range(unsigned) (defined in eoRealVectorNoBounds)eoRealVectorNoBounds [inline, virtual]
readFrom(std::istream &_is)eoRealVectorBounds [virtual]
readFrom(std::string _s)eoRealVectorBounds [virtual]
truncate(unsigned, double &)eoRealVectorNoBounds [inline, virtual]
truncate(std::vector< double > &)eoRealVectorNoBounds [inline, virtual]
uniform(unsigned, eoRng &_rng=eo::rng)eoRealVectorNoBounds [inline, virtual]
uniform(std::vector< double > &, eoRng &_rng=eo::rng)eoRealVectorNoBounds [inline]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRealBaseVectorBounds() (defined in eoRealBaseVectorBounds)eoRealBaseVectorBounds [inline, virtual]
~eoRealVectorBounds()eoRealVectorBounds [inline, virtual]
~eoRealVectorNoBounds() (defined in eoRealVectorNoBounds)eoRealVectorNoBounds [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds.html b/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds.html deleted file mode 100644 index 217a19558..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds.html +++ /dev/null @@ -1,111 +0,0 @@ - - -EO: eoRealVectorNoBounds Class Reference - - - - -

eoRealVectorNoBounds Class Reference

the dummy unbounded eoRealVectorBounds: usefull if you don't need bounds! everything is inlined. -More... -

-#include <eoRealVectorBounds.h> -

-

Inheritance diagram for eoRealVectorNoBounds: -

- -eoRealVectorBounds -eoRealBaseVectorBounds -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoRealVectorNoBounds (unsigned _dim)
 Ctor: nothing to do, but beware of dimension: call base class ctor.
-virtual bool isBounded (unsigned)
 test: is i_th component bounded
-virtual bool isBounded (void)
 test: bounded iff all are bounded
-virtual bool hasNoBoundAtAll (unsigned)
 Self-test: true iff i_th component has no bounds at all.
-virtual bool hasNoBoundAtAll (void)
 Self-test: true iff all components have no bound at all.
-virtual bool isMinBounded (unsigned)
-virtual bool isMaxBounded (unsigned)
-virtual void foldsInBounds (unsigned, double &)
 Folds a real value back into the bounds - i_th component.
-virtual void foldsInBounds (std::vector< double > &)
 Folds all variables of a std::vector of real values into the bounds.
-virtual void truncate (unsigned, double &)
 Truncates a real value to the bounds - i_th component.
-virtual void truncate (std::vector< double > &)
 truncates all variables of a std::vector of real values to the bounds
-virtual bool isInBounds (unsigned, double)
 test: is i_th component within the bounds?
-virtual bool isInBounds (std::vector< double >)
 test: are ALL components within the bounds?
-virtual double minimum (unsigned)
 Accessors: will raise an std::exception if these do not exist.
-virtual double maximum (unsigned)
-virtual double range (unsigned)
-virtual double averageRange ()
 Computes the average range An std::exception will be raised if one of the component is unbounded.
-virtual double uniform (unsigned, eoRng &_rng=eo::rng)
 Generates a random number in i_th range An std::exception will be raised if one of the component is unbounded.
-void uniform (std::vector< double > &, eoRng &_rng=eo::rng)
 fills a std::vector with uniformly chosen variables in bounds An std::exception will be raised if one of the component is unbounded
-

Detailed Description

-the dummy unbounded eoRealVectorBounds: usefull if you don't need bounds! everything is inlined. -

-Warning: we do need this class, and not only a std::vector<eoRealNoBounds *> -

- -

-Definition at line 352 of file eoRealVectorBounds.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds.png b/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds.png deleted file mode 100644 index e57b3bc7e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_real_vector_no_bounds.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce-members.html b/trunk/paradiseo-eo/doc/html/classeo_reduce-members.html deleted file mode 100644 index cc2085fb8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_reduce-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoReduce< EOT > Member List

This is the complete list of members for eoReduce< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoPop< EOT > &, unsigned, void > [inline, static]
operator()(eoPop< EOT > &, unsigned)=0eoBF< eoPop< EOT > &, unsigned, void > [pure virtual]
~eoBF()eoBF< eoPop< EOT > &, unsigned, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce.html b/trunk/paradiseo-eo/doc/html/classeo_reduce.html deleted file mode 100644 index b39d0aba5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_reduce.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoReduce< EOT > Class Template Reference - - - - -

eoReduce< EOT > Class Template Reference

eoReduce: .reduce the new generation to the specified size At the moment, limited to truncation - with 2 different methods, one that sorts the whole population, and one that repeatidely kills the worst. -More... -

-#include <eoReduce.h> -

-

Inheritance diagram for eoReduce< EOT >: -

- -eoBF< eoPop< EOT > &, unsigned, void > -eoFunctorBase -eoDetTournamentTruncate< EOT > -eoEPReduce< EOT > -eoLinearTruncate< EOT > -eoRandomReduce< EOT > -eoStochTournamentTruncate< EOT > -eoStochTournamentTruncateSplit< EOT > -eoTruncate< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoReduce< EOT >

- -eoReduce: .reduce the new generation to the specified size At the moment, limited to truncation - with 2 different methods, one that sorts the whole population, and one that repeatidely kills the worst. -

-Ideally, we should be able to choose at run-time!!! -

- -

-Definition at line 45 of file eoReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce.png b/trunk/paradiseo-eo/doc/html/classeo_reduce.png deleted file mode 100644 index 773879375..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_reduce.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge-members.html b/trunk/paradiseo-eo/doc/html/classeo_reduce_merge-members.html deleted file mode 100644 index f21491725..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoReduceMerge< EOT > Member List

This is the complete list of members for eoReduceMerge< EOT >, including all inherited members.

- - - - - - - -
eoReduceMerge(eoReduce< EOT > &_reduce, eoMerge< EOT > &_merge) (defined in eoReduceMerge< EOT >)eoReduceMerge< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
merge (defined in eoReduceMerge< EOT >)eoReduceMerge< EOT > [private]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoReduceMerge< EOT > [inline, virtual]
reduce (defined in eoReduceMerge< EOT >)eoReduceMerge< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge.html b/trunk/paradiseo-eo/doc/html/classeo_reduce_merge.html deleted file mode 100644 index 8780e4e89..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoReduceMerge< EOT > Class Template Reference - - - - -

eoReduceMerge< EOT > Class Template Reference

eoReduceMerge: Replacement strategies that start by reducing the parents, then merge with the offspring -More... -

-#include <eoReduceMerge.h> -

-

Inheritance diagram for eoReduceMerge< EOT >: -

- -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoSSGADetTournamentReplacement< EOT > -eoSSGAStochTournamentReplacement< EOT > -eoSSGAWorseReplacement< EOT > - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoReduceMerge (eoReduce< EOT > &_reduce, eoMerge< EOT > &_merge)
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoReduce< EOT > & reduce
-eoMerge< EOT > & merge
-

Detailed Description

-

template<class EOT>
- class eoReduceMerge< EOT >

- -eoReduceMerge: Replacement strategies that start by reducing the parents, then merge with the offspring -

-This is the way to do SSGA: the offspring gets inserted in the population even if it is worse than anybody else.

-: eoReduceMerge, eoSSGAWorseReplacement, eoSSGADetTournamentReplacement, eoSSGAStochTournamentReplacement -

- -

-Definition at line 53 of file eoReduceMerge.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge.png b/trunk/paradiseo-eo/doc/html/classeo_reduce_merge.png deleted file mode 100644 index 5d7cf3393..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce-members.html b/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce-members.html deleted file mode 100644 index 96ec4050b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoReduceMergeReduce< EOT > Member List

This is the complete list of members for eoReduceMergeReduce< EOT >, including all inherited members.

- - - - - - - - - - - - -
eoReduceMergeReduce(eoHowMany _howManyElite, bool _strongElitism, eoHowMany _howManyReducedParents, eoReduce< EOT > &_reduceParents, eoHowMany _howManyReducedOffspring, eoReduce< EOT > &_reduceOffspring, eoReduce< EOT > &_reduceFinal) (defined in eoReduceMergeReduce< EOT >)eoReduceMergeReduce< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howManyElite (defined in eoReduceMergeReduce< EOT >)eoReduceMergeReduce< EOT > [private]
howManyReducedOffspring (defined in eoReduceMergeReduce< EOT >)eoReduceMergeReduce< EOT > [private]
howManyReducedParents (defined in eoReduceMergeReduce< EOT >)eoReduceMergeReduce< EOT > [private]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoReduceMergeReduce< EOT > [inline, virtual]
reduceFinal (defined in eoReduceMergeReduce< EOT >)eoReduceMergeReduce< EOT > [private]
reduceOffspring (defined in eoReduceMergeReduce< EOT >)eoReduceMergeReduce< EOT > [private]
reduceParents (defined in eoReduceMergeReduce< EOT >)eoReduceMergeReduce< EOT > [private]
strongElitism (defined in eoReduceMergeReduce< EOT >)eoReduceMergeReduce< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce.html b/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce.html deleted file mode 100644 index cede0028a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce.html +++ /dev/null @@ -1,68 +0,0 @@ - - -EO: eoReduceMergeReduce< EOT > Class Template Reference - - - - -

eoReduceMergeReduce< EOT > Class Template Reference

eoReduceMergeReduce is an eoReplacement: - saves possible elite parents - reduces rest of parents - reduces offspring - merges reduced populations - reduces resulting merged pop if necessary -More... -

-#include <eoReduceMergeReduce.h> -

-

Inheritance diagram for eoReduceMergeReduce< EOT >: -

- -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoReduceMergeReduce (eoHowMany _howManyElite, bool _strongElitism, eoHowMany _howManyReducedParents, eoReduce< EOT > &_reduceParents, eoHowMany _howManyReducedOffspring, eoReduce< EOT > &_reduceOffspring, eoReduce< EOT > &_reduceFinal)
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoHowMany howManyElite
-bool strongElitism
-eoHowMany howManyReducedParents
-eoHowMany howManyReducedOffspring
-eoReduce< EOT > & reduceParents
-eoReduce< EOT > & reduceOffspring
-eoReduce< EOT > & reduceFinal
-

Detailed Description

-

template<class EOT>
- class eoReduceMergeReduce< EOT >

- -eoReduceMergeReduce is an eoReplacement: - saves possible elite parents - reduces rest of parents - reduces offspring - merges reduced populations - reduces resulting merged pop if necessary -

- -

-Definition at line 49 of file eoReduceMergeReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce.png b/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce.png deleted file mode 100644 index b8be9154a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_reduce_merge_reduce.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_split-members.html b/trunk/paradiseo-eo/doc/html/classeo_reduce_split-members.html deleted file mode 100644 index 5508f3d30..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_reduce_split-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoReduceSplit< EOT > Member List

This is the complete list of members for eoReduceSplit< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &, eoPop< EOT > &)=0eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [pure virtual]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_split.html b/trunk/paradiseo-eo/doc/html/classeo_reduce_split.html deleted file mode 100644 index 4ca4f5ef9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_reduce_split.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: eoReduceSplit< EOT > Class Template Reference - - - - -

eoReduceSplit< EOT > Class Template Reference

eoReduceSplit: reduce the pop to the specified size AND eventually returns the eliminated guys -More... -

-#include <eoReduceSplit.h> -

-

Inheritance diagram for eoReduceSplit< EOT >: -

- -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoDetTournamentTruncateSplit< EOT > -eoLinearRandomSplit< EOT > -eoLinearTruncateSplit< EOT > -eoRandomSplit< EOT > -eoTruncateSplit< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoReduceSplit< EOT >

- -eoReduceSplit: reduce the pop to the specified size AND eventually returns the eliminated guys -

- -

-Definition at line 42 of file eoReduceSplit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_reduce_split.png b/trunk/paradiseo-eo/doc/html/classeo_reduce_split.png deleted file mode 100644 index daa60cfaf..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_reduce_split.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_replacement-members.html deleted file mode 100644 index 8a9abd876..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_replacement-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoReplacement< EOT > Member List

This is the complete list of members for eoReplacement< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &, eoPop< EOT > &)=0eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [pure virtual]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_replacement.html deleted file mode 100644 index 5c68ee652..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_replacement.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: eoReplacement< EOT > Class Template Reference - - - - -

eoReplacement< EOT > Class Template Reference

#include <eoReplacement.h> -

-

Inheritance diagram for eoReplacement< EOT >: -

- -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoDeterministicSaDReplacement< EOT > -eoG3Replacement< EOT > -eoGenerationalReplacement< EOT > -eoMergeReduce< EOT > -eoMGGReplacement< EOT > -eoNDPlusReplacement< EOT, WorthT > -eoNDPlusReplacement< EOT, WorthT > -eoReduceMerge< EOT > -eoReduceMergeReduce< EOT > -eoWeakElitistReplacement< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoReplacement< EOT >

- -NOTE: 2 eoPop as arguments the resulting population should be in the first argument (replace parents by offspring)! The second argument can contain any rubbish

---- The eoMergeReduce, combination of eoMerge and eoReduce, can be found in file eoMergeReduce.h

-The eoReduceMergeReduce that reduces the parents and the offspring, merges the 2 reduced populations, and eventually reduces that final population, can be found in eoReduceMergeReduce.h

-LOG --- Removed the const before first argument: though it makes too many classes with the same interface, it allows to minimize the number of actual copies by choosing the right destination I also removed the enforced "swap" in the eoEasyAlgo and hence the generational replacement gets a class of its own that only does the swap (instead of the eoNoReplacement that did nothing, relying on the algo to swap popualtions). MS 12/12/2000

-

See also:
eoMerge, eoReduce, eoMergeReduce, eoReduceMerge
-eoReplacement, base (pure abstract) class eoGenerationalReplacement, as it says ... eoWeakElitistReplacement a wrapper to add elitism -

- -

-Definition at line 77 of file eoReplacement.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_replacement.png deleted file mode 100644 index 31920ddcb..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_rnd_generator-members.html b/trunk/paradiseo-eo/doc/html/classeo_rnd_generator-members.html deleted file mode 100644 index 1950b2f47..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_rnd_generator-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoRndGenerator< T > Member List

This is the complete list of members for eoRndGenerator< T >, including all inherited members.

- - - - - - -
AtomType typedef (defined in eoRndGenerator< T >)eoRndGenerator< T > [private]
functor_category()eoF< T > [inline, static]
operator()()=0eoF< T > [pure virtual]
result_type typedefeoF< T >
~eoF()eoF< T > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_rnd_generator.html b/trunk/paradiseo-eo/doc/html/classeo_rnd_generator.html deleted file mode 100644 index 1e1432aee..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_rnd_generator.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: eoRndGenerator< T > Class Template Reference - - - - -

eoRndGenerator< T > Class Template Reference

By popular demand re-introducing a base class for a family of random number generators. -More... -

-#include <eoRndGenerators.h> -

-

Inheritance diagram for eoRndGenerator< T >: -

- -eoF< T > -eoFunctorBase -eoNegExpGenerator< T > -eoNormalGenerator< T > -eoUniformGenerator< T > - -List of all members. - - - - -

Private Types

-typedef T AtomType
-

Detailed Description

-

template<class T>
- class eoRndGenerator< T >

- -By popular demand re-introducing a base class for a family of random number generators. -

-Derived members of this class are useful to initialize fixed/variable length genotypes that have an 'atomic' type in an indepent way (thus without employing any knowledge about the problem domain).

-See derived classes eoUniformGenerator, eoBooleanGenerator, eoNormalGenerator and eoNegExpGenerator -

- -

-Definition at line 47 of file eoRndGenerators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_rnd_generator.png b/trunk/paradiseo-eo/doc/html/classeo_rnd_generator.png deleted file mode 100644 index 41706d7c9..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_rnd_generator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_rng-members.html b/trunk/paradiseo-eo/doc/html/classeo_rng-members.html deleted file mode 100644 index 800499c9d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_rng-members.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: Member List - - - - -

eoRng Member List

This is the complete list of members for eoRng, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cached (defined in eoRng)eoRng [private]
cacheValue (defined in eoRng)eoRng [private]
choice(const std::vector< TYPE > &vec) const eoRng [inline]
choice(std::vector< TYPE > &vec)eoRng [inline]
className(void) const eoRng [inline, virtual]
eoRng(uint32_t s)eoRng [inline]
eoRng(const eoRng &)eoRng [private]
flip(float bias=0.5)eoRng [inline]
initialize(uint32_t seed) (defined in eoRng)eoRng [inline, private]
KeoRng [private]
left (defined in eoRng)eoRng [private]
M (defined in eoRng)eoRng [private]
N (defined in eoRng)eoRng [private]
negexp(double mean)eoRng [inline]
next (defined in eoRng)eoRng [private]
normal(void)eoRng [inline]
normal(double stdev)eoRng [inline]
normal(double mean, double stdev)eoRng [inline]
oldReseed(uint32_t s)eoRng [inline]
operator=(const eoRng &)eoRng [private]
printOn(std::ostream &_os) const eoRng [inline, virtual]
rand()eoRng [inline]
rand_max(void) const eoRng [inline]
random(uint32_t m)eoRng [inline]
readFrom(std::istream &_is)eoRng [inline, virtual]
reseed(uint32_t s)eoRng [inline]
restart(void) (defined in eoRng)eoRng [inline, private]
roulette_wheel(const std::vector< TYPE > &vec, TYPE total=0)eoRng [inline]
stateeoRng [private]
uniform(double m=1.0)eoRng [inline]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoRng(void) (defined in eoRng)eoRng [inline]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_rng.html b/trunk/paradiseo-eo/doc/html/classeo_rng.html deleted file mode 100644 index bba11cf3e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_rng.html +++ /dev/null @@ -1,581 +0,0 @@ - - -EO: eoRng Class Reference - - - - -

eoRng Class Reference

Random Number Generator. -More... -

-#include <utils/eoRNG.h> -

-

Inheritance diagram for eoRng: -

- -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoRng (uint32_t s)
 Constructor.
void reseed (uint32_t s)
 Re-initializes the Random Number Generator.
void oldReseed (uint32_t s)
 Re-initializes the Random Number Generator.
-double uniform (double m=1.0)
 uniform(m = 1.0) returns a random double in the range [0, m)
-uint32_t random (uint32_t m)
 random() returns a random integer in the range [0, m)
-bool flip (float bias=0.5)
 flip() tosses a biased coin such that flip(x/100.0) will returns true x% of the time
-double normal (void)
 normal() zero mean gaussian deviate with standard deviation of 1
-double normal (double stdev)
 normal(stdev) zero mean gaussian deviate with user defined standard deviation
-double normal (double mean, double stdev)
 normal(mean, stdev) user defined mean gaussian deviate with user defined standard deviation
-double negexp (double mean)
 Generates random numbers using a negative exponential distribution.
-uint32_t rand ()
 rand() returns a random number in the range [0, rand_max)
-uint32_t rand_max (void) const
 rand_max() the maximum returned by rand()
template<typename TYPE>
int roulette_wheel (const std::vector< TYPE > &vec, TYPE total=0)
 roulette_wheel(vec, total = 0) does a roulette wheel selection on the input std::vector vec.
template<typename TYPE>
const TYPE & choice (const std::vector< TYPE > &vec) const
 Randomly select element from vector.
template<typename TYPE>
TYPE & choice (std::vector< TYPE > &vec)
 Randomly select element from vector.
void printOn (std::ostream &_os) const
 Write object.
void readFrom (std::istream &_is)
 Read object.
std::string className (void) const
 Return the class id.

Private Member Functions

-uint32_t restart (void)
-void initialize (uint32_t seed)
 eoRng (const eoRng &)
 Copy constructor.
eoRngoperator= (const eoRng &)
 Assignmant operator.

Private Attributes

-uint32_t * state
 Array for the state.
-uint32_t * next
-int left
-bool cached
-float cacheValue
-const int N
-const int M
-const uint32_t K
 Magic constant.
-

Detailed Description

-Random Number Generator. -

-eoRng is a persistent class that uses the ``Mersenne Twister'' random number generator MT19937 for generating random numbers. The various member functions implement useful functions for evolutionary algorithms. Included are: rand(), random(), flip() and normal().

-EO provides a global random number generator rng that is seeded by the current UNIX time at program start. Moreover some global convenience functions are provided that use the global random number generator: random, normal.

-

Warning:
If you want to repeatedly generated the same sequence of pseudo-random numbers, you should always reseed the generator at the beginning of your code.
-

Documentation in original file

-

-This is the ``Mersenne Twister'' random number generator MT19937, which generates pseudorandom integers uniformly distributed in 0..(2^32 - 1) starting from any odd seed in 0..(2^32 - 1). This version is a recode by Shawn Cokus (Cokus@math.washington.edu) on March 8, 1998 of a version by Takuji Nishimura (who had suggestions from Topher Cooper and Marc Rieffel in July-August 1997).

-Effectiveness of the recoding (on Goedel2.math.washington.edu, a DEC Alpha running OSF/1) using GCC -O3 as a compiler: before recoding: 51.6 sec. to generate 300 million random numbers; after recoding: 24.0 sec. for the same (i.e., 46.5% of original time), so speed is now about 12.5 million random number generations per second on this machine.

-According to the URL <http://www.math.keio.ac.jp/~matumoto/emt.html> (and paraphrasing a bit in places), the Mersenne Twister is ``designed with consideration of the flaws of various existing generators,'' has a period of 2^19937 - 1, gives a sequence that is 623-dimensionally equidistributed, and ``has passed many std::stringent tests, including the die-hard test of G. Marsaglia and the load test of P. Hellekalek and S. Wegenkittl.'' It is efficient in memory usage (typically using 2506 to 5012 bytes of static data, depending on data type sizes, and the code is quite short as well). It generates random numbers in batches of 624 at a time, so the caching and pipelining of modern systems is exploited. It is also divide- and mod-free.

-The code as Shawn received it included the following notice: Copyright (C) 1997 Makoto Matsumoto and Takuji Nishimura. When you use this, send an e-mail to <matumoto@math.keio.ac.jp> with an appropriate reference to your work. It would be nice to Cc: <Cokus@math.washington.edu> and <eodev-main@lists.sourceforge.net> when you write.

-

Portability

-

-Note for people porting EO to other platforms: please make sure that the type uint32_t in the file eoRng.h is exactly 32 bits long. It may in principle be longer, but not shorter. If it is longer, file compatibility between EO on different platforms may be broken. -

- -

-Definition at line 103 of file eoRNG.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - -
eoRng::eoRng uint32_t  s  )  [inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - -
s Random seed; if you want another seed, use reseed.
-
-
See also:
reseed for details on usage of the seeding value.
- -

-Definition at line 113 of file eoRNG.h. -

-References K, and state.

-

- - - - -
- - - - - - - - - -
eoRng::eoRng const eoRng  )  [private]
-
- - - - - -
-   - - -

-Copy constructor. -

-Private copy ctor and assignment operator to make sure that nobody accidentally copies the random number generator. If you want similar RNG's, make two RNG's and initialize them with the same seed.

-As it cannot be called, we do not provide an implementation.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
void eoRng::reseed uint32_t  s  )  [inline]
-
- - - - - -
-   - - -

-Re-initializes the Random Number Generator. -

-WARNING: Jeroen Eggermont <jeggermo@liacs.nl> noticed that initialize does not differentiate between odd and even numbers, therefore the argument to reseed is now doubled before being passed on.

-Manually divide the seed by 2 if you want to re-run old runs

-

Version:
MS. 5 Oct. 2001
- -

-Definition at line 135 of file eoRNG.h.

-

- - - - -
- - - - - - - - - -
void eoRng::oldReseed uint32_t  s  )  [inline]
-
- - - - - -
-   - - -

-Re-initializes the Random Number Generator. -

-This is the traditional seeding procedure. This version is deprecated and only provided for compatibility with old code. In new projects you should use reseed.

-

See also:
reseed for details on usage of the seeding value.
-
Version:
old version (deprecated)
- -

-Definition at line 150 of file eoRNG.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<typename TYPE>
int eoRng::roulette_wheel const std::vector< TYPE > &  vec,
TYPE  total = 0
[inline]
-
- - - - - -
-   - - -

-roulette_wheel(vec, total = 0) does a roulette wheel selection on the input std::vector vec. -

-If the total is not supplied, it is calculated. It returns an integer denoting the selected argument. -

-Definition at line 225 of file eoRNG.h. -

-References uniform(). -

-Referenced by eoPropCombinedQuadOp< EOT >::operator()(), eoPropCombinedBinOp< EOT >::operator()(), eoPropCombinedMonOp< EOT >::operator()(), and eoCombinedInit< EOT >::operator()().

-

- - - - -
- - - - - - - - - - - - -
-template<typename TYPE>
const TYPE& eoRng::choice const std::vector< TYPE > &  vec  )  const [inline]
-
- - - - - -
-   - - -

-Randomly select element from vector. -

-

Returns:
Uniformly chosen element from the vector.
- -

-Definition at line 247 of file eoRNG.h. -

-References random().

-

- - - - -
- - - - - - - - - - - - -
-template<typename TYPE>
TYPE& eoRng::choice std::vector< TYPE > &  vec  )  [inline]
-
- - - - - -
-   - - -

-Randomly select element from vector. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

-Provide a version returning a non-const element reference.

-

Returns:
Uniformly chosen element from the vector.
-
Warning:
Changing the return value does alter the vector.
- -

-Definition at line 262 of file eoRNG.h. -

-References random().

-

- - - - -
- - - - - - - - - -
void eoRng::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-It's called printOn since it prints the object on a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Implements eoPrintable. -

-Definition at line 266 of file eoRNG.h. -

-References state.

-

- - - - -
- - - - - - - - - -
void eoRng::readFrom std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Read object. -

-

Parameters:
- - -
_is A std::istream.
-
-
Exceptions:
- - -
runtime_std::exception If a valid object can't be read.
-
- -

-Implements eoPersistent. -

-Definition at line 277 of file eoRNG.h. -

-References state.

-

- - - - -
- - - - - - - - - -
std::string eoRng::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Return the class id. -

-This should be redefined in each class. Only "leaf" classes can be non-virtual.

-Maarten: removed the default implementation as this proved to be too error-prone: I found several classes that had a typo in className (like classname), which would print eoObject instead of their own. Having it pure will force the implementor to provide a name. -

-Implements eoObject. -

-Definition at line 293 of file eoRNG.h.

-

- - - - -
- - - - - - - - - -
eoRng& eoRng::operator= const eoRng  )  [private]
-
- - - - - -
-   - - -

-Assignmant operator. -

-

See also:
Copy constructor eoRng(const eoRng&).
-
-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_rng.png b/trunk/paradiseo-eo/doc/html/classeo_rng.png deleted file mode 100644 index 82f1796e2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_rng.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select-members.html deleted file mode 100644 index 0ff16a419..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoRouletteWorthSelect< EOT, WorthT > Member List

This is the complete list of members for eoRouletteWorthSelect< EOT, WorthT >, including all inherited members.

- - - - - - - - - - - - -
check_sync(unsigned index, const EOT &_eo) (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [inline, protected]
eoRouletteWorthSelect(eoPerf2Worth< EOT, WorthT > &_perf2Worth) (defined in eoRouletteWorthSelect< EOT, WorthT >)eoRouletteWorthSelect< EOT, WorthT > [inline]
eoSelectFromWorth(eoPerf2Worth< EOT, WorthT > &_perf2Worth) (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [inline]
fitness (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [protected]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoRouletteWorthSelect< EOT, WorthT > [inline, virtual]
perf2Worth (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [protected]
setup(const eoPop< EOT > &_pop)eoRouletteWorthSelect< EOT, WorthT > [inline, virtual]
total (defined in eoRouletteWorthSelect< EOT, WorthT >)eoRouletteWorthSelect< EOT, WorthT > [private]
worthIterator typedef (defined in eoRouletteWorthSelect< EOT, WorthT >)eoRouletteWorthSelect< EOT, WorthT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select.html b/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select.html deleted file mode 100644 index 21e1aca26..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select.html +++ /dev/null @@ -1,62 +0,0 @@ - - -EO: eoRouletteWorthSelect< EOT, WorthT > Class Template Reference - - - - -

eoRouletteWorthSelect< EOT, WorthT > Class Template Reference

An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... -More... -

-#include <eoSelectFromWorth.h> -

-

Inheritance diagram for eoRouletteWorthSelect< EOT, WorthT >: -

- -eoSelectFromWorth< EOT, WorthT > -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Types

-typedef std::vector< WorthT
->::iterator 
worthIterator

Public Member Functions

eoRouletteWorthSelect (eoPerf2Worth< EOT, WorthT > &_perf2Worth)
-virtual void setup (const eoPop< EOT > &_pop)
 virtual function to setup some population stats (for instance eoProportional can benefit greatly from this)
-virtual const EOToperator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-double total
-

Detailed Description

-

template<class EOT, class WorthT = double>
- class eoRouletteWorthSelect< EOT, WorthT >

- -An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... -

-roulette wheel selection, yes! -

- -

-Definition at line 167 of file eoSelectFromWorth.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select.png b/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select.png deleted file mode 100644 index d1ea0bb12..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_roulette_worth_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_g_a-members.html deleted file mode 100644 index c674ec1b1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_g_a-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoSGA< EOT > Member List

This is the complete list of members for eoSGA< EOT >, including all inherited members.

- - - - - - - - - - - - -
cont (defined in eoSGA< EOT >)eoSGA< EOT > [private]
cross (defined in eoSGA< EOT >)eoSGA< EOT > [private]
crossoverRate (defined in eoSGA< EOT >)eoSGA< EOT > [private]
eoSGA(eoSelectOne< EOT > &_select, eoQuadOp< EOT > &_cross, float _crate, eoMonOp< EOT > &_mutate, float _mrate, eoEvalFunc< EOT > &_eval, eoContinue< EOT > &_cont) (defined in eoSGA< EOT >)eoSGA< EOT > [inline]
eval (defined in eoSGA< EOT >)eoSGA< EOT > [private]
functor_category()eoUF< eoPop< EOT > &, void > [inline, static]
mutateeoSGA< EOT > [private]
mutationRate (defined in eoSGA< EOT >)eoSGA< EOT > [private]
operator()(eoPop< EOT > &_pop)eoSGA< EOT > [inline, virtual]
select (defined in eoSGA< EOT >)eoSGA< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a.html b/trunk/paradiseo-eo/doc/html/classeo_s_g_a.html deleted file mode 100644 index 405d3776a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_g_a.html +++ /dev/null @@ -1,71 +0,0 @@ - - -EO: eoSGA< EOT > Class Template Reference - - - - -

eoSGA< EOT > Class Template Reference

The Simple Genetic Algorithm, following Holland and Goldberg. -More... -

-#include <eoSGA.h> -

-

Inheritance diagram for eoSGA< EOT >: -

- -eoAlgo< EOT > -eoUF< eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoSGA (eoSelectOne< EOT > &_select, eoQuadOp< EOT > &_cross, float _crate, eoMonOp< EOT > &_mutate, float _mrate, eoEvalFunc< EOT > &_eval, eoContinue< EOT > &_cont)
-void operator() (eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoContinue< EOT > & cont
-eoInvalidateMonOp< EOTmutate
 eoInvalidateMonOp invalidates the embedded operator
-float mutationRate
-eoInvalidateQuadOp< EOTcross
-float crossoverRate
-eoSelectPerc< EOTselect
-eoEvalFunc< EOT > & eval
-

Detailed Description

-

template<class EOT>
- class eoSGA< EOT >

- -The Simple Genetic Algorithm, following Holland and Goldberg. -

-Needs a selector (class eoSelectOne) a crossover (eoQuad, i.e. a 2->2 operator) and a mutation with their respective rates, of course an evaluation function (eoEvalFunc) and a continuator (eoContinue) which gives the stopping criterion. Performs full generational replacement. -

- -

-Definition at line 49 of file eoSGA.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a.png b/trunk/paradiseo-eo/doc/html/classeo_s_g_a.png deleted file mode 100644 index 17314ab83..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_s_g_a.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op-members.html deleted file mode 100644 index 9de2b0b86..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op-members.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Member List - - - - -

eoSGAGenOp< EOT > Member List

This is the complete list of members for eoSGAGenOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
apply(eoPopulator< EOT > &_pop)eoSGAGenOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoSGAGenOp< EOT >)eoSGAGenOp< EOT > [inline, virtual]
cross (defined in eoSGAGenOp< EOT >)eoSGAGenOp< EOT > [private]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoSGAGenOp(eoQuadOp< EOT > &_cross, double _pCross, eoMonOp< EOT > &_mut, double _pMut)eoSGAGenOp< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoSGAGenOp< EOT > [inline, virtual]
mut (defined in eoSGAGenOp< EOT >)eoSGAGenOp< EOT > [private]
op (defined in eoSGAGenOp< EOT >)eoSGAGenOp< EOT > [private]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
pCross (defined in eoSGAGenOp< EOT >)eoSGAGenOp< EOT > [private]
pMut (defined in eoSGAGenOp< EOT >)eoSGAGenOp< EOT > [private]
propOp (defined in eoSGAGenOp< EOT >)eoSGAGenOp< EOT > [private]
quadClone (defined in eoSGAGenOp< EOT >)eoSGAGenOp< EOT > [private]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op.html b/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op.html deleted file mode 100644 index 7c30b1d45..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op.html +++ /dev/null @@ -1,79 +0,0 @@ - - -EO: eoSGAGenOp< EOT > Class Template Reference - - - - -

eoSGAGenOp< EOT > Class Template Reference

*************************************************************************** eoSGAGenOp (for Simple GA) mimicks the usual crossover with proba pCross + mutation with proba pMut inside an eoGeneralOp It does it exactly as class eoSGATransform, i.e. -More... -

-#include <eoSGAGenOp.h> -

-

Inheritance diagram for eoSGAGenOp< EOT >: -

- -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoSGAGenOp (eoQuadOp< EOT > &_cross, double _pCross, eoMonOp< EOT > &_mut, double _pMut)
 Ctor from crossover (with proba) and mutation (with proba) Builds the sequential op that first applies a proportional choice between the crossover and nothing (cloning), then the mutation.
-virtual void apply (eoPopulator< EOT > &_pop)
 do the job: delegate to op
-virtual unsigned max_production (void)
 inherited from eoGenOp
-virtual std::string className () const

Private Attributes

-eoQuadOp< EOT > & cross
-double pCross
-eoMonOp< EOT > & mut
-double pMut
-eoProportionalOp< EOTpropOp
-eoQuadCloneOp< EOTquadClone
-eoSequentialOp< EOTop
-

Detailed Description

-

template<class EOT>
- class eoSGAGenOp< EOT >

- -*************************************************************************** eoSGAGenOp (for Simple GA) mimicks the usual crossover with proba pCross + mutation with proba pMut inside an eoGeneralOp It does it exactly as class eoSGATransform, i.e. -

-only accepts quadratic crossover and unary mutation It was introduced for didactic reasons, but seems to be popular :-) -

- -

-Definition at line 44 of file eoSGAGenOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op.png b/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op.png deleted file mode 100644 index 4a88aa925..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_gen_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform-members.html deleted file mode 100644 index 08b65c38b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoSGATransform< EOT > Member List

This is the complete list of members for eoSGATransform< EOT >, including all inherited members.

- - - - - - - - - -
cross (defined in eoSGATransform< EOT >)eoSGATransform< EOT > [private]
crossoverProba (defined in eoSGATransform< EOT >)eoSGATransform< EOT > [private]
eoSGATransform(eoQuadOp< EOT > &_cross, double _cProba, eoMonOp< EOT > &_mutate, double _mProba)eoSGATransform< EOT > [inline]
functor_category()eoUF< eoPop< EOT > &, void > [inline, static]
mutate (defined in eoSGATransform< EOT >)eoSGATransform< EOT > [private]
mutationProba (defined in eoSGATransform< EOT >)eoSGATransform< EOT > [private]
operator()(eoPop< EOT > &_pop)eoSGATransform< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform.html b/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform.html deleted file mode 100644 index 2d15fc9f7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform.html +++ /dev/null @@ -1,107 +0,0 @@ - - -EO: eoSGATransform< EOT > Class Template Reference - - - - -

eoSGATransform< EOT > Class Template Reference

eoSGATransform: transforms a population using genetic operators. -More... -

-#include <eoSGATransform.h> -

-

Inheritance diagram for eoSGATransform< EOT >: -

- -eoTransform< EOT > -eoUF< eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

eoSGATransform (eoQuadOp< EOT > &_cross, double _cProba, eoMonOp< EOT > &_mutate, double _mProba)
 Default constructor.
void operator() (eoPop< EOT > &_pop)
 Transforms a population.

Private Attributes

-eoInvalidateQuadOp< EOTcross
-double crossoverProba
-eoInvalidateMonOp< EOTmutate
-double mutationProba
-

Detailed Description

-

template<class EOT>
- class eoSGATransform< EOT >

- -eoSGATransform: transforms a population using genetic operators. -

-It does it exactly as class eoSGA, i.e. only accepts quadratic crossover and unary mutation It is here mainly for tutorial reasons -

- -

-Definition at line 45 of file eoSGATransform.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoSGATransform< EOT >::operator() eoPop< EOT > &  _pop  )  [inline, virtual]
-
- - - - - -
-   - - -

-Transforms a population. -

-

Parameters:
- - -
pop The population to be transformed.
-
- -

-Implements eoUF< eoPop< EOT > &, void >. -

-Definition at line 62 of file eoSGATransform.h. -

-References eoRng::flip().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform.png b/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform.png deleted file mode 100644 index 4fef288ca..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_s_g_a_transform.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement-members.html deleted file mode 100644 index c8293ffd7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoSSGADetTournamentReplacement< EOT > Member List

This is the complete list of members for eoSSGADetTournamentReplacement< EOT >, including all inherited members.

- - - - - - - - -
eoReduceMerge(eoReduce< EOT > &_reduce, eoMerge< EOT > &_merge) (defined in eoReduceMerge< EOT >)eoReduceMerge< EOT > [inline]
eoSSGADetTournamentReplacement(unsigned _t_size) (defined in eoSSGADetTournamentReplacement< EOT >)eoSSGADetTournamentReplacement< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoReduceMerge< EOT > [inline, virtual]
plus (defined in eoSSGADetTournamentReplacement< EOT >)eoSSGADetTournamentReplacement< EOT > [private]
truncate (defined in eoSSGADetTournamentReplacement< EOT >)eoSSGADetTournamentReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement.html deleted file mode 100644 index d8f972762..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement.html +++ /dev/null @@ -1,52 +0,0 @@ - - -EO: eoSSGADetTournamentReplacement< EOT > Class Template Reference - - - - -

eoSSGADetTournamentReplacement< EOT > Class Template Reference

SSGA deterministic tournament replacement. -More... -

-#include <eoReduceMerge.h> -

-

Inheritance diagram for eoSSGADetTournamentReplacement< EOT >: -

- -eoReduceMerge< EOT > -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - -

Public Member Functions

eoSSGADetTournamentReplacement (unsigned _t_size)

Private Attributes

-eoDetTournamentTruncate< EOTtruncate
-eoPlus< EOTplus
-

Detailed Description

-

template<class EOT>
- class eoSSGADetTournamentReplacement< EOT >

- -SSGA deterministic tournament replacement. -

-Is an eoReduceMerge. -

- -

-Definition at line 91 of file eoReduceMerge.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement.png deleted file mode 100644 index e25eea7ef..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_det_tournament_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement-members.html deleted file mode 100644 index 321f97a34..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoSSGAStochTournamentReplacement< EOT > Member List

This is the complete list of members for eoSSGAStochTournamentReplacement< EOT >, including all inherited members.

- - - - - - - - -
eoReduceMerge(eoReduce< EOT > &_reduce, eoMerge< EOT > &_merge) (defined in eoReduceMerge< EOT >)eoReduceMerge< EOT > [inline]
eoSSGAStochTournamentReplacement(double _t_rate) (defined in eoSSGAStochTournamentReplacement< EOT >)eoSSGAStochTournamentReplacement< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoReduceMerge< EOT > [inline, virtual]
plus (defined in eoSSGAStochTournamentReplacement< EOT >)eoSSGAStochTournamentReplacement< EOT > [private]
truncate (defined in eoSSGAStochTournamentReplacement< EOT >)eoSSGAStochTournamentReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement.html deleted file mode 100644 index e7f3b31e3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoSSGAStochTournamentReplacement< EOT > Class Template Reference - - - - -

eoSSGAStochTournamentReplacement< EOT > Class Template Reference

SSGA stochastic tournament replacement. -More... -

-#include <eoReduceMerge.h> -

-

Inheritance diagram for eoSSGAStochTournamentReplacement< EOT >: -

- -eoReduceMerge< EOT > -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - -

Public Member Functions

eoSSGAStochTournamentReplacement (double _t_rate)

Private Attributes

-eoStochTournamentTruncate<
- EOT
truncate
-eoPlus< EOTplus
-

Detailed Description

-

template<class EOT>
- class eoSSGAStochTournamentReplacement< EOT >

- -SSGA stochastic tournament replacement. -

-Is an eoReduceMerge. It much cleaner to insert directly the offspring in the parent population, but it is NOT equivalent in case of more than 1 offspring as already replaced could be removed , which is not possible in the eoReduceMerge So what the heck ! -

- -

-Definition at line 108 of file eoReduceMerge.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement.png deleted file mode 100644 index 7c2e28dda..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_stoch_tournament_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement-members.html deleted file mode 100644 index 641ca86f8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoSSGAWorseReplacement< EOT > Member List

This is the complete list of members for eoSSGAWorseReplacement< EOT >, including all inherited members.

- - - - - - - - -
eoReduceMerge(eoReduce< EOT > &_reduce, eoMerge< EOT > &_merge) (defined in eoReduceMerge< EOT >)eoReduceMerge< EOT > [inline]
eoSSGAWorseReplacement() (defined in eoSSGAWorseReplacement< EOT >)eoSSGAWorseReplacement< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoReduceMerge< EOT > [inline, virtual]
plus (defined in eoSSGAWorseReplacement< EOT >)eoSSGAWorseReplacement< EOT > [private]
truncate (defined in eoSSGAWorseReplacement< EOT >)eoSSGAWorseReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement.html deleted file mode 100644 index 1b1472467..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: eoSSGAWorseReplacement< EOT > Class Template Reference - - - - -

eoSSGAWorseReplacement< EOT > Class Template Reference

SSGA replace worst. -More... -

-#include <eoReduceMerge.h> -

-

Inheritance diagram for eoSSGAWorseReplacement< EOT >: -

- -eoReduceMerge< EOT > -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - -

Private Attributes

-eoLinearTruncate< EOTtruncate
-eoPlus< EOTplus
-

Detailed Description

-

template<class EOT>
- class eoSSGAWorseReplacement< EOT >

- -SSGA replace worst. -

-Is an eoReduceMerge. -

- -

-Definition at line 77 of file eoReduceMerge.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement.png deleted file mode 100644 index 124eb363f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_s_s_g_a_worse_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_b_f-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_t_l_b_f-members.html deleted file mode 100644 index 5d0d36a4c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_b_f-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Member List - - - - -

eoSTLBF< A1, A2, R > Member List

This is the complete list of members for eoSTLBF< A1, A2, R >, including all inherited members.

- - - -
eoSTLBF(eoUF< A1, R > &_f) (defined in eoSTLBF< A1, A2, R >)eoSTLBF< A1, A2, R > [inline]
f (defined in eoSTLBF< A1, A2, R >)eoSTLBF< A1, A2, R > [private]
operator()(A1 a1, A2 a2) (defined in eoSTLBF< A1, A2, R >)eoSTLBF< A1, A2, R > [inline]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_b_f.html b/trunk/paradiseo-eo/doc/html/classeo_s_t_l_b_f.html deleted file mode 100644 index 37744a334..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_b_f.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoSTLBF< A1, A2, R > Class Template Reference - - - - -

eoSTLBF< A1, A2, R > Class Template Reference

Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e. -More... -

-#include <eoSTLFunctor.h> -

-List of all members. - - - - - - - - - -

Public Member Functions

eoSTLBF (eoUF< A1, R > &_f)
-R operator() (A1 a1, A2 a2)

Private Attributes

-eoBF< A1, A2, R > & f
-


Detailed Description

-

template<class A1, class A2, class R>
- class eoSTLBF< A1, A2, R >

- -Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e. -

-they can be passed by value, rather than the EO standard pass by reference).

-The family consists of eoSTLF, eoSTLUF, eoSTLBF that modify eoF, eoUF and eoBF respectively -

- -

-Definition at line 101 of file eoSTLFunctor.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_f-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_t_l_f-members.html deleted file mode 100644 index 6dbc55ddf..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_f-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoSTLF< R > Member List

This is the complete list of members for eoSTLF< R >, including all inherited members.

- - - - -
eoSTLF(eoF< R > &_f) (defined in eoSTLF< R >)eoSTLF< R > [inline]
f (defined in eoSTLF< R >)eoSTLF< R > [private]
operator()(void) (defined in eoSTLF< R >)eoSTLF< R > [inline]
result_type typedef (defined in eoSTLF< R >)eoSTLF< R >


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_f.html b/trunk/paradiseo-eo/doc/html/classeo_s_t_l_f.html deleted file mode 100644 index 93438486d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_f.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: eoSTLF< R > Class Template Reference - - - - -

eoSTLF< R > Class Template Reference

Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e. -More... -

-#include <eoSTLFunctor.h> -

-List of all members. - - - - - - - - - - - - -

Public Types

-typedef R result_type

Public Member Functions

eoSTLF (eoF< R > &_f)
-R operator() (void)

Private Attributes

-eoF< R > & f
-


Detailed Description

-

template<class R>
- class eoSTLF< R >

- -Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e. -

-they can be passed by value, rather than the EO standard pass by reference).

-The family consists of eoSTLF, eoSTLUF, eoSTLBF that modify eoF, eoUF and eoBF respectively -

- -

-Definition at line 41 of file eoSTLFunctor.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_u_f-members.html b/trunk/paradiseo-eo/doc/html/classeo_s_t_l_u_f-members.html deleted file mode 100644 index 7971d6c45..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_u_f-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Member List - - - - -

eoSTLUF< A1, R > Member List

This is the complete list of members for eoSTLUF< A1, R >, including all inherited members.

- - - -
eoSTLUF(eoUF< A1, R > &_f) (defined in eoSTLUF< A1, R >)eoSTLUF< A1, R > [inline]
f (defined in eoSTLUF< A1, R >)eoSTLUF< A1, R > [private]
operator()(A1 a) (defined in eoSTLUF< A1, R >)eoSTLUF< A1, R > [inline]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_u_f.html b/trunk/paradiseo-eo/doc/html/classeo_s_t_l_u_f.html deleted file mode 100644 index 12764e349..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_s_t_l_u_f.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoSTLUF< A1, R > Class Template Reference - - - - -

eoSTLUF< A1, R > Class Template Reference

Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e. -More... -

-#include <eoSTLFunctor.h> -

-List of all members. - - - - - - - - - -

Public Member Functions

eoSTLUF (eoUF< A1, R > &_f)
-R operator() (A1 a)

Private Attributes

-eoUF< A1, R > & f
-


Detailed Description

-

template<class A1, class R>
- class eoSTLUF< A1, R >

- -Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the copy semantics the STL functions usually require (i.e. -

-they can be passed by value, rather than the EO standard pass by reference).

-The family consists of eoSTLF, eoSTLUF, eoSTLBF that modify eoF, eoUF and eoBF respectively -

- -

-Definition at line 78 of file eoSTLFunctor.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness-members.html b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness-members.html deleted file mode 100644 index 8e45aa97e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: Member List - - - - -

eoScalarFitness< ScalarType, Compare > Member List

This is the complete list of members for eoScalarFitness< ScalarType, Compare >, including all inherited members.

- - - - - - - - - - - -
eoScalarFitness() (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
eoScalarFitness(const eoScalarFitness &other) (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
eoScalarFitness(const ScalarType &v) (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
operator ScalarType(void) const (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
operator<(const eoScalarFitness &other) const eoScalarFitness< ScalarType, Compare > [inline]
operator<=(const eoScalarFitness< ScalarType, Compare > &y) const (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
operator=(const eoScalarFitness &other) (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
operator=(const ScalarType &v) (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
operator>(const eoScalarFitness< ScalarType, Compare > &y) const (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
operator>=(const eoScalarFitness< ScalarType, Compare > &y) const (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [inline]
value (defined in eoScalarFitness< ScalarType, Compare >)eoScalarFitness< ScalarType, Compare > [private]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness.html b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness.html deleted file mode 100644 index 1c619309b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness.html +++ /dev/null @@ -1,67 +0,0 @@ - - -EO: eoScalarFitness< ScalarType, Compare > Class Template Reference - - - - -

eoScalarFitness< ScalarType, Compare > Class Template Reference

eoScalarFitness<ScalarType, Compare = less<ScalarType> >: Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less<ScalarType>) or minimizing (using greater<ScalarType>) -More... -

-#include <eoScalarFitness.h> -

-List of all members. - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoScalarFitness (const eoScalarFitness &other)
eoScalarFitness (const ScalarType &v)
-eoScalarFitnessoperator= (const eoScalarFitness &other)
-eoScalarFitnessoperator= (const ScalarType &v)
operator ScalarType (void) const
-bool operator< (const eoScalarFitness &other) const
 Comparison, using less by default.
-bool operator> (const eoScalarFitness< ScalarType, Compare > &y) const
-bool operator<= (const eoScalarFitness< ScalarType, Compare > &y) const
-bool operator>= (const eoScalarFitness< ScalarType, Compare > &y) const

Private Attributes

-ScalarType value
-


Detailed Description

-

template<class ScalarType, class Compare>
- class eoScalarFitness< ScalarType, Compare >

- -eoScalarFitness<ScalarType, Compare = less<ScalarType> >: Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less<ScalarType>) or minimizing (using greater<ScalarType>) -

-It overrides operator<() to use the Compare template argument

-Suitable constructors and assignments and casts are defined to work with this quantity as if it were a ScalarType. -

- -

-Definition at line 43 of file eoScalarFitness.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled-members.html b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled-members.html deleted file mode 100644 index 31f109c18..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled-members.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: Member List - - - - -

eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > Member List

This is the complete list of members for eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - -
baseVector typedef (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >
eoScalarFitnessAssembled() (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
eoScalarFitnessAssembled(size_type _n, const ScalarType &_val, const std::string &_descr="Unnamed variable") (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
eoScalarFitnessAssembled(const eoScalarFitnessAssembled &other) (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
eoScalarFitnessAssembled(const ScalarType &v) (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
failedeoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >
feasibleeoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >
getDescription(size_type _idx)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
getDescriptionVector()eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
msgeoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >
operator ScalarType(void) const (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
operator<(const eoScalarFitnessAssembled &other) const (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
operator<=(const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
operator=(const eoScalarFitnessAssembled &other) (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
operator=(const ScalarType &v) (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
operator>(const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
operator>=(const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
printAll(std::ostream &os) const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
push_back(const ScalarType &_val)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
push_back(const ScalarType &_val, const std::string &_descr)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
resize(size_type _n, const ScalarType &_val=ScalarType(), const std::string &_descr="Unnamed variable")eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
setDescription(size_type _idx, std::string _descr)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > [inline]
size_type typedef (defined in eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >)eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled.html b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled.html deleted file mode 100644 index b906771d7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled.html +++ /dev/null @@ -1,145 +0,0 @@ - - -EO: eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > Class Template Reference - - - - -

eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > Class Template Reference

Implements fitness as std::vector, storing all values that might occur during fitness assembly. -More... -

-#include <eoScalarFitnessAssembled.h> -

-List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef std::vector< ScalarType > baseVector
-typedef baseVector::size_type size_type

Public Member Functions

eoScalarFitnessAssembled (size_type _n, const ScalarType &_val, const std::string &_descr="Unnamed variable")
eoScalarFitnessAssembled (const eoScalarFitnessAssembled &other)
-eoScalarFitnessAssembledoperator= (const eoScalarFitnessAssembled &other)
eoScalarFitnessAssembled (const ScalarType &v)
-eoScalarFitnessAssembledoperator= (const ScalarType &v)
-void push_back (const ScalarType &_val)
 Overload push_back().
-void push_back (const ScalarType &_val, const std::string &_descr)
 Overload push_back().
-void resize (size_type _n, const ScalarType &_val=ScalarType(), const std::string &_descr="Unnamed variable")
 Overload resize().
-void setDescription (size_type _idx, std::string _descr)
 Set description.
-std::string getDescription (size_type _idx)
 Get description.
-std::vector< std::string > getDescriptionVector ()
 Get vector with descriptions.
operator ScalarType (void) const
-void printAll (std::ostream &os) const
 Print term values and descriptions.
-bool operator< (const eoScalarFitnessAssembled &other) const
-bool operator> (const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const
-bool operator<= (const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const
-bool operator>= (const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const

Public Attributes

-bool feasible
 Can be specified anywhere in fitness evaluation as an indicator if the individual is in some feasible range.
-bool failed
 Can be specified anywhere in fitness evaluation as an indicator if the evaluation of the individual failed.
std::string msg
 Can be specified anywhere in fitness evaluation.
-


Detailed Description

-

template<class ScalarType, class Compare, class FitnessTraits>
- class eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >

- -Implements fitness as std::vector, storing all values that might occur during fitness assembly. -

-Properties:

    -
  • Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less<ScalarType>) or minimizing (using greater<ScalarType>).
  • Stores all kinda different values met during fitness assembly, to be defined in eoEvalFunc.
  • It overrides operator<() to use the Compare template argument.
  • Suitable constructors and assignments and casts are defined to work with this quantity as if it were a ScalarType.
  • Global fitness value is stored as first element in the vector
- -

- -

-Definition at line 88 of file eoScalarFitnessAssembled.h.


Member Data Documentation

-

- - - - -
- - - - - - - -
-template<class ScalarType, class Compare, class FitnessTraits>
std::string eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >::msg
-
- - - - - -
-   - - -

-Can be specified anywhere in fitness evaluation. -

-Typically used to store some sort of error messages, if evaluation of individual failed. -

-Definition at line 195 of file eoScalarFitnessAssembled.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled_traits-members.html b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled_traits-members.html deleted file mode 100644 index b599db77a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled_traits-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoScalarFitnessAssembledTraits Member List

This is the complete list of members for eoScalarFitnessAssembledTraits, including all inherited members.

- - - - - - - -
getDescription(size_type _idx) (defined in eoScalarFitnessAssembledTraits)eoScalarFitnessAssembledTraits [inline, static]
getDescriptionVector() (defined in eoScalarFitnessAssembledTraits)eoScalarFitnessAssembledTraits [inline, static]
resize(size_type _n, const std::string &_descr) (defined in eoScalarFitnessAssembledTraits)eoScalarFitnessAssembledTraits [inline, static]
setDescription(size_type _idx, std::string _descr) (defined in eoScalarFitnessAssembledTraits)eoScalarFitnessAssembledTraits [inline, static]
size() (defined in eoScalarFitnessAssembledTraits)eoScalarFitnessAssembledTraits [inline, static]
size_type typedef (defined in eoScalarFitnessAssembledTraits)eoScalarFitnessAssembledTraits
TermDescriptions (defined in eoScalarFitnessAssembledTraits)eoScalarFitnessAssembledTraits [private, static]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled_traits.html b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled_traits.html deleted file mode 100644 index 05ca72134..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_assembled_traits.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: eoScalarFitnessAssembledTraits Class Reference - - - - -

eoScalarFitnessAssembledTraits Class Reference

Defines properties of eoScalarFitnessAssembled. -More... -

-#include <eoScalarFitnessAssembled.h> -

-List of all members. - - - - - - - - - - - - - - - - - - -

Public Types

-typedef std::vector< std::string
->::size_type 
size_type

Static Public Member Functions

-void setDescription (size_type _idx, std::string _descr)
-std::string getDescription (size_type _idx)
-void resize (size_type _n, const std::string &_descr)
-size_type size ()
-std::vector< std::string > getDescriptionVector ()

Static Private Attributes

-std::vector< std::string > TermDescriptions
-


Detailed Description

-Defines properties of eoScalarFitnessAssembled. -

-Properties that are hold in this traits class:

    -
  • std::vector<std::string> to hold descriptions of the different fitness terms
- -

- -

-Definition at line 43 of file eoScalarFitnessAssembled.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat-members.html deleted file mode 100644 index 8bbdce503..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat-members.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: Member List - - - - -

eoScalarFitnessStat< EOT, FitT > Member List

This is the complete list of members for eoScalarFitnessStat< EOT, FitT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoSortedStat< EOT, std::vector< double > >)eoSortedStat< EOT, std::vector< double > > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoScalarFitnessStat(std::string _description="FitnessES", eoRealVectorBounds &_bounds=eoDummyVectorNoBounds) (defined in eoScalarFitnessStat< EOT, FitT >)eoScalarFitnessStat< EOT, FitT > [inline]
eoSortedStat(std::vector< double >_value, std::string _desc) (defined in eoSortedStat< EOT, std::vector< double > >)eoSortedStat< EOT, std::vector< double > > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
functor_category()eoUF< const std::vector< const EOT * > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
lastCall(const std::vector< const EOT * > &) (defined in eoSortedStatBase< EOT >)eoSortedStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const std::vector< const EOT * > &_popPters)eoScalarFitnessStat< EOT, FitT > [inline, virtual]
range (defined in eoScalarFitnessStat< EOT, FitT >)eoScalarFitnessStat< EOT, FitT > [private]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const std::vector< const EOT * > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat.html b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat.html deleted file mode 100644 index 46e39b612..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoScalarFitnessStat< EOT, FitT > Class Template Reference - - - - -

eoScalarFitnessStat< EOT, FitT > Class Template Reference

The fitnesses of a whole population, as a std::vector. -More... -

-#include <eoScalarFitnessStat.h> -

-

Inheritance diagram for eoScalarFitnessStat< EOT, FitT >: -

- -eoSortedStat< EOT, std::vector< double > > -eoSortedStatBase< EOT > -eoValueParam< std::vector< double > > -eoUF< const std::vector< const EOT * > &, void > -eoParam -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoScalarFitnessStat (std::string _description="FitnessES", eoRealVectorBounds &_bounds=eoDummyVectorNoBounds)
-virtual void operator() (const std::vector< const EOT * > &_popPters)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoRealBoundsrange
-

Detailed Description

-

template<class EOT, class FitT = typename EOT::Fitness>
- class eoScalarFitnessStat< EOT, FitT >

- -The fitnesses of a whole population, as a std::vector. -

- -

-Definition at line 37 of file eoScalarFitnessStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat.png b/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat.png deleted file mode 100644 index e00c3cf0e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_scalar_fitness_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats-members.html b/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats-members.html deleted file mode 100644 index 12497ef93..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats-members.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: Member List - - - - -

eoSecondMomentStats< EOT > Member List

This is the complete list of members for eoSecondMomentStats< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoSecondMomentStats< EOT >)eoSecondMomentStats< EOT > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoSecondMomentStats(std::string _description="Average & Stdev") (defined in eoSecondMomentStats< EOT >)eoSecondMomentStats< EOT > [inline]
eoStat(std::pair< double, double >_value, std::string _description) (defined in eoStat< EOT, std::pair< double, double > >)eoStat< EOT, std::pair< double, double > > [inline]
eoValueParam(void)eoValueParam< std::pair< double, double > > [inline]
eoValueParam(std::pair< double, double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::pair< double, double > > [inline]
fitness_type typedef (defined in eoSecondMomentStats< EOT >)eoSecondMomentStats< EOT >
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::pair< double, double > > [inline, virtual]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &_pop)eoSecondMomentStats< EOT > [inline, virtual]
repValue (defined in eoValueParam< std::pair< double, double > >)eoValueParam< std::pair< double, double > > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::pair< double, double > > [inline, virtual]
shortName() const eoParam [inline]
SquarePair typedef (defined in eoSecondMomentStats< EOT >)eoSecondMomentStats< EOT >
sumOfSquares(SquarePair _sq, const EOT &_eo) (defined in eoSecondMomentStats< EOT >)eoSecondMomentStats< EOT > [inline, static]
value()eoValueParam< std::pair< double, double > > [inline]
value() const eoValueParam< std::pair< double, double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats.html b/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats.html deleted file mode 100644 index 30f968662..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats.html +++ /dev/null @@ -1,66 +0,0 @@ - - -EO: eoSecondMomentStats< EOT > Class Template Reference - - - - -

eoSecondMomentStats< EOT > Class Template Reference

Average fitness + Std. -More... -

-#include <eoStat.h> -

-

Inheritance diagram for eoSecondMomentStats< EOT >: -

- -eoStat< EOT, std::pair< double, double > > -eoValueParam< std::pair< double, double > > -eoStatBase< EOT > -eoParam -eoUF< const eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness fitness_type
-typedef std::pair< double,
- double > 
SquarePair

Public Member Functions

eoSecondMomentStats (std::string _description="Average & Stdev")
-virtual void operator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className (void) const

Static Public Member Functions

-SquarePair sumOfSquares (SquarePair _sq, const EOT &_eo)
-

Detailed Description

-

template<class EOT>
- class eoSecondMomentStats< EOT >

- -Average fitness + Std. -

-dev. of a population, fitness needs to be scalar. -

- -

-Definition at line 168 of file eoStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats.png b/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats.png deleted file mode 100644 index 8d7a266e6..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_second_moment_stats.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_segment_crossover-members.html b/trunk/paradiseo-eo/doc/html/classeo_segment_crossover-members.html deleted file mode 100644 index acf7b27e8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_segment_crossover-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoSegmentCrossover< EOT > Member List

This is the complete list of members for eoSegmentCrossover< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
alpha (defined in eoSegmentCrossover< EOT >)eoSegmentCrossover< EOT > [protected]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
bounds (defined in eoSegmentCrossover< EOT >)eoSegmentCrossover< EOT > [protected]
className() const eoSegmentCrossover< EOT > [inline, virtual]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
eoSegmentCrossover(const double &_alpha=0.0)eoSegmentCrossover< EOT > [inline]
eoSegmentCrossover(eoRealVectorBounds &_bounds, const double &_alpha=0.0)eoSegmentCrossover< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
operator()(EOT &_eo1, EOT &_eo2)eoSegmentCrossover< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
range (defined in eoSegmentCrossover< EOT >)eoSegmentCrossover< EOT > [protected]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_segment_crossover.html b/trunk/paradiseo-eo/doc/html/classeo_segment_crossover.html deleted file mode 100644 index 7667382f9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_segment_crossover.html +++ /dev/null @@ -1,213 +0,0 @@ - - -EO: eoSegmentCrossover< EOT > Class Template Reference - - - - -

eoSegmentCrossover< EOT > Class Template Reference

eoSegmentCrossover --> uniform choice in segment == arithmetical with same value along all coordinates -More... -

-#include <Tutorial/eoRealOp.h> -

-

Inheritance diagram for eoSegmentCrossover< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoSegmentCrossover (const double &_alpha=0.0)
 (Default) Constructor.
 eoSegmentCrossover (eoRealVectorBounds &_bounds, const double &_alpha=0.0)
 Constructor with bounds.
-virtual std::string className () const
 The class name.
bool operator() (EOT &_eo1, EOT &_eo2)
 segment crossover - modifies both parents

Protected Attributes

-eoRealVectorBoundsbounds
-double alpha
-double range
-

Detailed Description

-

template<class EOT>
- class eoSegmentCrossover< EOT >

- -eoSegmentCrossover --> uniform choice in segment == arithmetical with same value along all coordinates -

- -

-Definition at line 247 of file eoRealOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
eoSegmentCrossover< EOT >::eoSegmentCrossover const double &  _alpha = 0.0  )  [inline]
-
- - - - - -
-   - - -

-(Default) Constructor. -

-The bounds are initialized with the global object that says: no bounds.

-

Parameters:
- - -
_alphaMin the amount of exploration OUTSIDE the parents as in BLX-alpha notation (Eshelman and Schaffer) 0 == contractive application Must be positive
-
- -

-Definition at line 259 of file eoRealOp.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoSegmentCrossover< EOT >::eoSegmentCrossover eoRealVectorBounds _bounds,
const double &  _alpha = 0.0
[inline]
-
- - - - - -
-   - - -

-Constructor with bounds. -

-

Parameters:
- - - -
_bounds an eoRealVectorBounds that contains the bounds
_alphaMin the amount of exploration OUTSIDE the parents as in BLX-alpha notation (Eshelman and Schaffer) 0 == contractive application Must be positive
-
- -

-Definition at line 270 of file eoRealOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
bool eoSegmentCrossover< EOT >::operator() EOT _eo1,
EOT _eo2
[inline, virtual]
-
- - - - - -
-   - - -

-segment crossover - modifies both parents -

-

Parameters:
- - - -
_eo1 The first parent
_eo2 The first parent
-
- -

-Implements eoBF< EOT &, EOT &, bool >. -

-Definition at line 282 of file eoRealOp.h. -

-References eoRealBaseVectorBounds::isMaxBounded(), eoRealBaseVectorBounds::isMinBounded(), eoRealBaseVectorBounds::maximum(), eoRealBaseVectorBounds::minimum(), and eoRng::uniform().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_segment_crossover.png b/trunk/paradiseo-eo/doc/html/classeo_segment_crossover.png deleted file mode 100644 index 1771d0221..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_segment_crossover.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op-members.html deleted file mode 100644 index 1ba0229c5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoSelBinGenOp< EOT > Member List

This is the complete list of members for eoSelBinGenOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
apply(eoPopulator< EOT > &_pop)eoSelBinGenOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoSelBinGenOp< EOT >)eoSelBinGenOp< EOT > [inline, virtual]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoSelBinGenOp(eoBinOp< EOT > &_op, eoSelectOne< EOT > &_sel) (defined in eoSelBinGenOp< EOT >)eoSelBinGenOp< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoSelBinGenOp< EOT > [inline, virtual]
op (defined in eoSelBinGenOp< EOT >)eoSelBinGenOp< EOT > [private]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
sel (defined in eoSelBinGenOp< EOT >)eoSelBinGenOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op.html b/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op.html deleted file mode 100644 index 2f03a4ea6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op.html +++ /dev/null @@ -1,61 +0,0 @@ - - -EO: eoSelBinGenOp< EOT > Class Template Reference - - - - -

eoSelBinGenOp< EOT > Class Template Reference

wrapper for eoBinOp with a selector -More... -

-#include <eoGenOp.h> -

-

Inheritance diagram for eoSelBinGenOp< EOT >: -

- -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

eoSelBinGenOp (eoBinOp< EOT > &_op, eoSelectOne< EOT > &_sel)
-unsigned max_production (void)
 Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash.
-void apply (eoPopulator< EOT > &_pop)
 the function that will do the work
-virtual std::string className () const

Private Attributes

-eoBinOp< EOT > & op
-eoSelectOne< EOT > & sel
-

Detailed Description

-

template<class EOT>
- class eoSelBinGenOp< EOT >

- -wrapper for eoBinOp with a selector -

- -

-Definition at line 133 of file eoGenOp.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op.png b/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op.png deleted file mode 100644 index d3f0f94e4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sel_bin_gen_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_select-members.html deleted file mode 100644 index 1b2a25f05..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoSelect< EOT > Member List

This is the complete list of members for eoSelect< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(const eoPop< EOT > &, eoPop< EOT > &)=0eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [pure virtual]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select.html b/trunk/paradiseo-eo/doc/html/classeo_select.html deleted file mode 100644 index d3df40cce..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoSelect< EOT > Class Template Reference - - - - -

eoSelect< EOT > Class Template Reference

eoSelect selects a number of individuals from the first argument and puts it in the second. -More... -

-#include <eoSelect.h> -

-

Inheritance diagram for eoSelect< EOT >: -

- -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoDetSelect< EOT > -eoSelectMany< EOT > -eoSelectNumber< EOT > -eoSelectPerc< EOT > -eoTruncatedSelectMany< EOT > -eoTruncSelect< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoSelect< EOT >

- -eoSelect selects a number of individuals from the first argument and puts it in the second. -

-To emphasize that it should not try to enlarge the population, the second argument is an eoPopRange, a simple struct that holds a begin and end iterator to the population -

- -

-Definition at line 40 of file eoSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select.png b/trunk/paradiseo-eo/doc/html/classeo_select.png deleted file mode 100644 index 0596c627f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_factory-members.html b/trunk/paradiseo-eo/doc/html/classeo_select_factory-members.html deleted file mode 100644 index ab4c87119..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_factory-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoSelectFactory< EOT > Member List

This is the complete list of members for eoSelectFactory< EOT >, including all inherited members.

- - - - - - - - - -
className() const eoFactory< eoSelect< EOT > > [inline, virtual]
eoFactory()eoFactory< eoSelect< EOT > > [inline]
eoSelectFactory()eoSelectFactory< EOT > [inline]
make(std::istream &_is)eoSelectFactory< EOT > [inline, virtual]
printOn(std::ostream &_os) const (defined in eoSelectFactory< EOT >)eoSelectFactory< EOT > [inline]
readFrom(std::istream &_is) (defined in eoSelectFactory< EOT >)eoSelectFactory< EOT > [inline]
~eoFactory()eoFactory< eoSelect< EOT > > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoSelectFactory()eoSelectFactory< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_factory.html b/trunk/paradiseo-eo/doc/html/classeo_select_factory.html deleted file mode 100644 index 74e17cb62..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_factory.html +++ /dev/null @@ -1,99 +0,0 @@ - - -EO: eoSelectFactory< EOT > Class Template Reference - - - - -

eoSelectFactory< EOT > Class Template Reference

EO Factory.An instance of the factory class to create selectors, that is, eoSelect objects. -More... -

-#include <eoSelectFactory.h> -

-

Inheritance diagram for eoSelectFactory< EOT >: -

- -eoFactory< eoSelect< EOT > > -eoObject - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

virtual eoSelect< EOT > * make (std::istream &_is)
 Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object.
ctors and dtors
eoSelectFactory ()
 constructor
-virtual ~eoSelectFactory ()
 destructor
eoObject methods
-void printOn (std::ostream &_os) const
-void readFrom (std::istream &_is)
-

Detailed Description

-

template<class EOT>
- class eoSelectFactory< EOT >

- -EO Factory.An instance of the factory class to create selectors, that is, eoSelect objects. -

-

See also:
eoSelect
- -

- -

-Definition at line 39 of file eoSelectFactory.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
virtual eoSelect<EOT>* eoSelectFactory< EOT >::make std::istream &  _is  )  [inline, virtual]
-
- - - - - -
-   - - -

-Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. -

-Usually, the format for the std::istream will be\ objectType parameter1 parameter2 ... parametern\ -

-Implements eoFactory< eoSelect< EOT > >. -

-Definition at line 56 of file eoSelectFactory.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_factory.png b/trunk/paradiseo-eo/doc/html/classeo_select_factory.png deleted file mode 100644 index 653089159..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_select_factory.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_from_worth-members.html b/trunk/paradiseo-eo/doc/html/classeo_select_from_worth-members.html deleted file mode 100644 index 2d38ff721..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_from_worth-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoSelectFromWorth< EOT, WorthType > Member List

This is the complete list of members for eoSelectFromWorth< EOT, WorthType >, including all inherited members.

- - - - - - - - - -
check_sync(unsigned index, const EOT &_eo) (defined in eoSelectFromWorth< EOT, WorthType >)eoSelectFromWorth< EOT, WorthType > [inline, protected]
eoSelectFromWorth(eoPerf2Worth< EOT, WorthType > &_perf2Worth) (defined in eoSelectFromWorth< EOT, WorthType >)eoSelectFromWorth< EOT, WorthType > [inline]
fitness (defined in eoSelectFromWorth< EOT, WorthType >)eoSelectFromWorth< EOT, WorthType > [protected]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &)=0eoUF< const eoPop< EOT > &, const EOT & > [pure virtual]
perf2Worth (defined in eoSelectFromWorth< EOT, WorthType >)eoSelectFromWorth< EOT, WorthType > [protected]
setup(const eoPop< EOT > &pop)eoSelectFromWorth< EOT, WorthType > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_from_worth.html b/trunk/paradiseo-eo/doc/html/classeo_select_from_worth.html deleted file mode 100644 index 25336a23f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_from_worth.html +++ /dev/null @@ -1,62 +0,0 @@ - - -EO: eoSelectFromWorth< EOT, WorthType > Class Template Reference - - - - -

eoSelectFromWorth< EOT, WorthType > Class Template Reference

selects one element from a population (is an eoSelectOne) but the selection is based on a std::vector of Worth that is different from the fitnesses (e.g. -More... -

-#include <eoSelectFromWorth.h> -

-

Inheritance diagram for eoSelectFromWorth< EOT, WorthType >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoSelectFromWorth (eoPerf2Worth< EOT, WorthType > &_perf2Worth)
-virtual void setup (const eoPop< EOT > &pop)
 virtual function to setup some population stats (for instance eoProportional can benefit greatly from this)

Protected Member Functions

-void check_sync (unsigned index, const EOT &_eo)

Protected Attributes

-eoPerf2Worth< EOT, WorthType > & perf2Worth
-std::vector< typename EOT::Fitness > fitness
-

Detailed Description

-

template<class EOT, class WorthType = double>
- class eoSelectFromWorth< EOT, WorthType >

- -selects one element from a population (is an eoSelectOne) but the selection is based on a std::vector of Worth that is different from the fitnesses (e.g. -

-EO fitness is what Koza terms "raw fitness", Worth is what the selection is based upon).

-see class eoPerf2Worth: an eoStat that transforms fitnesses into Worthes

-Note: Worthes will not always be doubles - see some multi-objective techniques where it is a std::pair of doubles ...

-It has to have a < operator it you want to call an existing selector (see selector.h) - but of course you can write the whole thing ... -

- -

-Definition at line 51 of file eoSelectFromWorth.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_from_worth.png b/trunk/paradiseo-eo/doc/html/classeo_select_from_worth.png deleted file mode 100644 index 700e35419..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_select_from_worth.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_many-members.html b/trunk/paradiseo-eo/doc/html/classeo_select_many-members.html deleted file mode 100644 index edb356881..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_many-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoSelectMany< EOT > Member List

This is the complete list of members for eoSelectMany< EOT >, including all inherited members.

- - - - - - - - -
eoSelectMany(eoSelectOne< EOT > &_select, double _rate, bool _interpret_as_rate=true)eoSelectMany< EOT > [inline]
eoSelectMany(eoSelectOne< EOT > &_select, eoHowMany _howMany) (defined in eoSelectMany< EOT >)eoSelectMany< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoSelectMany< EOT >)eoSelectMany< EOT > [private]
operator()(const eoPop< EOT > &_source, eoPop< EOT > &_dest)eoSelectMany< EOT > [inline, virtual]
select (defined in eoSelectMany< EOT >)eoSelectMany< EOT > [private]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_many.html b/trunk/paradiseo-eo/doc/html/classeo_select_many.html deleted file mode 100644 index 28b3acc0b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_many.html +++ /dev/null @@ -1,115 +0,0 @@ - - -EO: eoSelectMany< EOT > Class Template Reference - - - - -

eoSelectMany< EOT > Class Template Reference

eoSelectMany selects many individuals using eoSelectOne as it's mechanism. -More... -

-#include <eoSelectMany.h> -

-

Inheritance diagram for eoSelectMany< EOT >: -

- -eoSelect< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoSelectMany (eoSelectOne< EOT > &_select, double _rate, bool _interpret_as_rate=true)
 init
eoSelectMany (eoSelectOne< EOT > &_select, eoHowMany _howMany)
virtual void operator() (const eoPop< EOT > &_source, eoPop< EOT > &_dest)
 The implementation repeatidly selects an individual.

Private Attributes

-eoSelectOne< EOT > & select
-eoHowMany howMany
-

Detailed Description

-

template<class EOT>
- class eoSelectMany< EOT >

- -eoSelectMany selects many individuals using eoSelectOne as it's mechanism. -

-Therefore eoSelectMany needs an eoSelectOne in its ctor

-It will use an eoHowMnay to determine the number of guys to select, and push them to the back of the destination population. -

- -

-Definition at line 45 of file eoSelectMany.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
virtual void eoSelectMany< EOT >::operator() const eoPop< EOT > &  _source,
eoPop< EOT > &  _dest
[inline, virtual]
-
- - - - - -
-   - - -

-The implementation repeatidly selects an individual. -

-

Parameters:
- - - -
_source the source population
_dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it)
-
- -

-Implements eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >. -

-Definition at line 63 of file eoSelectMany.h. -

-References eoSelectOne< EOT, WorthT >::setup().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_many.png b/trunk/paradiseo-eo/doc/html/classeo_select_many.png deleted file mode 100644 index e727ac75b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_select_many.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_number-members.html b/trunk/paradiseo-eo/doc/html/classeo_select_number-members.html deleted file mode 100644 index 684d81de6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_number-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoSelectNumber< EOT > Member List

This is the complete list of members for eoSelectNumber< EOT >, including all inherited members.

- - - - - - - -
eoSelectNumber(eoSelectOne< EOT > &_select, unsigned _nb_to_select=1)eoSelectNumber< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
nb_to_select (defined in eoSelectNumber< EOT >)eoSelectNumber< EOT > [private]
operator()(const eoPop< EOT > &_source, eoPop< EOT > &_dest)eoSelectNumber< EOT > [inline, virtual]
select (defined in eoSelectNumber< EOT >)eoSelectNumber< EOT > [private]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_number.html b/trunk/paradiseo-eo/doc/html/classeo_select_number.html deleted file mode 100644 index 818b17768..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_number.html +++ /dev/null @@ -1,112 +0,0 @@ - - -EO: eoSelectNumber< EOT > Class Template Reference - - - - -

eoSelectNumber< EOT > Class Template Reference

eoSelectNumber selects many individuals using eoSelectOne as it's mechanism. -More... -

-#include <eoSelectNumber.h> -

-

Inheritance diagram for eoSelectNumber< EOT >: -

- -eoSelect< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoSelectNumber (eoSelectOne< EOT > &_select, unsigned _nb_to_select=1)
 init
virtual void operator() (const eoPop< EOT > &_source, eoPop< EOT > &_dest)
 The implementation repeatidly selects an individual.

Private Attributes

-eoSelectOne< EOT > & select
-unsigned nb_to_select
-

Detailed Description

-

template<class EOT>
- class eoSelectNumber< EOT >

- -eoSelectNumber selects many individuals using eoSelectOne as it's mechanism. -

-Therefore eoSelectNumber needs an eoSelectOne in its ctor

-It will select a fixed number of individuals and pushes them to the back of the destination population. -

- -

-Definition at line 42 of file eoSelectNumber.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
virtual void eoSelectNumber< EOT >::operator() const eoPop< EOT > &  _source,
eoPop< EOT > &  _dest
[inline, virtual]
-
- - - - - -
-   - - -

-The implementation repeatidly selects an individual. -

-

Parameters:
- - - -
_source the source population
_dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it)
-
- -

-Implements eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >. -

-Definition at line 55 of file eoSelectNumber.h. -

-References eoSelectOne< EOT, WorthT >::setup().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_number.png b/trunk/paradiseo-eo/doc/html/classeo_select_number.png deleted file mode 100644 index 7048b0b15..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_select_number.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_one-members.html b/trunk/paradiseo-eo/doc/html/classeo_select_one-members.html deleted file mode 100644 index 9c85aa078..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_one-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Member List - - - - -

eoSelectOne< EOT, WorthT > Member List

This is the complete list of members for eoSelectOne< EOT, WorthT >, including all inherited members.

- - - - - -
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &)=0eoUF< const eoPop< EOT > &, const EOT & > [pure virtual]
setup(const eoPop< EOT > &_pop)eoSelectOne< EOT, WorthT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_one.html b/trunk/paradiseo-eo/doc/html/classeo_select_one.html deleted file mode 100644 index 0fb1c7c9a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_one.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoSelectOne< EOT, WorthT > Class Template Reference - - - - -

eoSelectOne< EOT, WorthT > Class Template Reference

eoSelectOne selects only one element from a whole population. -More... -

-#include <eoSelectOne.h> -

-

Inheritance diagram for eoSelectOne< EOT, WorthT >: -

- -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - -

Public Member Functions

-virtual void setup (const eoPop< EOT > &_pop)
 virtual function to setup some population stats (for instance eoProportional can benefit greatly from this)
-

Detailed Description

-

template<class EOT, class WorthT = typename EOT::Fitness>
- class eoSelectOne< EOT, WorthT >

- -eoSelectOne selects only one element from a whole population. -

-Most selection techniques are simply repeated applications of eoSelectOne.

-

See also:
eoSelectMany, eoSelectRandom, eoDetTournament, eoStochTournament, eoProportional
- -

- -

-Definition at line 45 of file eoSelectOne.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_one.png b/trunk/paradiseo-eo/doc/html/classeo_select_one.png deleted file mode 100644 index b10356c8d..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_select_one.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_perc-members.html b/trunk/paradiseo-eo/doc/html/classeo_select_perc-members.html deleted file mode 100644 index 9b3191979..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_perc-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoSelectPerc< EOT > Member List

This is the complete list of members for eoSelectPerc< EOT >, including all inherited members.

- - - - - - - -
eoSelectPerc(eoSelectOne< EOT > &_select, float _rate=1.0)eoSelectPerc< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(const eoPop< EOT > &_source, eoPop< EOT > &_dest)eoSelectPerc< EOT > [inline, virtual]
rate (defined in eoSelectPerc< EOT >)eoSelectPerc< EOT > [private]
select (defined in eoSelectPerc< EOT >)eoSelectPerc< EOT > [private]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_perc.html b/trunk/paradiseo-eo/doc/html/classeo_select_perc.html deleted file mode 100644 index 00db100d3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_perc.html +++ /dev/null @@ -1,112 +0,0 @@ - - -EO: eoSelectPerc< EOT > Class Template Reference - - - - -

eoSelectPerc< EOT > Class Template Reference

eoSelectPerc selects many individuals using eoSelectOne as it's mechanism. -More... -

-#include <eoSelectPerc.h> -

-

Inheritance diagram for eoSelectPerc< EOT >: -

- -eoSelect< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoSelectPerc (eoSelectOne< EOT > &_select, float _rate=1.0)
 init
virtual void operator() (const eoPop< EOT > &_source, eoPop< EOT > &_dest)
 The implementation selects a percentage.

Private Attributes

-eoSelectOne< EOT > & select
-float rate
-

Detailed Description

-

template<class EOT>
- class eoSelectPerc< EOT >

- -eoSelectPerc selects many individuals using eoSelectOne as it's mechanism. -

-Therefore eoSelectPerc needs an eoSelectOne in its ctor

-It will select floor(rate*pop.size()) individuals and pushes them to the back of the destination population. -

- -

-Definition at line 42 of file eoSelectPerc.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
virtual void eoSelectPerc< EOT >::operator() const eoPop< EOT > &  _source,
eoPop< EOT > &  _dest
[inline, virtual]
-
- - - - - -
-   - - -

-The implementation selects a percentage. -

-

Parameters:
- - - -
_source the source population
_dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it)
-
- -

-Implements eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >. -

-Definition at line 55 of file eoSelectPerc.h. -

-References eoSelectOne< EOT, WorthT >::setup().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_perc.png b/trunk/paradiseo-eo/doc/html/classeo_select_perc.png deleted file mode 100644 index 157184b3a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_select_perc.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_transform-members.html b/trunk/paradiseo-eo/doc/html/classeo_select_transform-members.html deleted file mode 100644 index e3976103c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_transform-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoSelectTransform< EOT > Member List

This is the complete list of members for eoSelectTransform< EOT >, including all inherited members.

- - - - - - - -
eoSelectTransform(eoSelect< EOT > &_select, eoTransform< EOT > &_transform) (defined in eoSelectTransform< EOT >)eoSelectTransform< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(const eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoSelectTransform< EOT > [inline, virtual]
select (defined in eoSelectTransform< EOT >)eoSelectTransform< EOT > [private]
transform (defined in eoSelectTransform< EOT >)eoSelectTransform< EOT > [private]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_transform.html b/trunk/paradiseo-eo/doc/html/classeo_select_transform.html deleted file mode 100644 index e1061a8d9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_select_transform.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoSelectTransform< EOT > Class Template Reference - - - - -

eoSelectTransform< EOT > Class Template Reference

Embedded select, followed by an embedded transform. -More... -

-#include <eoBreed.h> -

-

Inheritance diagram for eoSelectTransform< EOT >: -

- -eoBreed< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoSelectTransform (eoSelect< EOT > &_select, eoTransform< EOT > &_transform)
-void operator() (const eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-eoSelect< EOT > & select
-eoTransform< EOT > & transform
-

Detailed Description

-

template<class EOT>
- class eoSelectTransform< EOT >

- -Embedded select, followed by an embedded transform. -

-Special breeder that is just an application of an embedded select, followed by an embedded transform -

- -

-Definition at line 57 of file eoBreed.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_select_transform.png b/trunk/paradiseo-eo/doc/html/classeo_select_transform.png deleted file mode 100644 index ac6101030..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_select_transform.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_selective_populator-members.html b/trunk/paradiseo-eo/doc/html/classeo_selective_populator-members.html deleted file mode 100644 index fec96f17d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_selective_populator-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoSelectivePopulator< EOT > Member List

This is the complete list of members for eoSelectivePopulator< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
current (defined in eoPopulator< EOT >)eoPopulator< EOT > [protected]
dest (defined in eoPopulator< EOT >)eoPopulator< EOT > [protected]
eoPopulator(const eoPop< EOT > &_src, eoPop< EOT > &_dest) (defined in eoPopulator< EOT >)eoPopulator< EOT > [inline]
eoSelectivePopulator(const eoPop< EOT > &_pop, eoPop< EOT > &_dest, eoSelectOne< EOT > &_sel) (defined in eoSelectivePopulator< EOT >)eoSelectivePopulator< EOT > [inline]
exhausted(void)eoPopulator< EOT > [inline]
insert(const EOT &_eo)eoPopulator< EOT > [inline]
offspring(void)eoPopulator< EOT > [inline]
operator *(void)eoPopulator< EOT > [inline]
operator++()eoPopulator< EOT > [inline]
position_type typedef (defined in eoPopulator< EOT >)eoPopulator< EOT >
reserve(int how_many)eoPopulator< EOT > [inline]
seekp(position_type pos)eoPopulator< EOT > [inline]
sel (defined in eoSelectivePopulator< EOT >)eoSelectivePopulator< EOT > [private]
select()eoSelectivePopulator< EOT > [inline, virtual]
source(void)eoPopulator< EOT > [inline]
src (defined in eoPopulator< EOT >)eoPopulator< EOT > [protected]
tellp()eoPopulator< EOT > [inline]
~eoPopulator()eoPopulator< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_selective_populator.html b/trunk/paradiseo-eo/doc/html/classeo_selective_populator.html deleted file mode 100644 index cbf1e31a8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_selective_populator.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoSelectivePopulator< EOT > Class Template Reference - - - - -

eoSelectivePopulator< EOT > Class Template Reference

SelectivePopulator an eoPoplator that uses an eoSelectOne to select guys. -More... -

-#include <eoPopulator.h> -

-

Inheritance diagram for eoSelectivePopulator< EOT >: -

- -eoPopulator< EOT > - -List of all members. - - - - - - - - - - -

Public Member Functions

eoSelectivePopulator (const eoPop< EOT > &_pop, eoPop< EOT > &_dest, eoSelectOne< EOT > &_sel)
-const EOTselect ()
 the select method actually selects one guy from the src pop

Private Attributes

-eoSelectOne< EOT > & sel
-

Detailed Description

-

template<class EOT>
- class eoSelectivePopulator< EOT >

- -SelectivePopulator an eoPoplator that uses an eoSelectOne to select guys. -

-Supposedly, it is passed the initial population. -

- -

-Definition at line 184 of file eoPopulator.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_selective_populator.png b/trunk/paradiseo-eo/doc/html/classeo_selective_populator.png deleted file mode 100644 index 0801be874..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_selective_populator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_seq_populator-members.html b/trunk/paradiseo-eo/doc/html/classeo_seq_populator-members.html deleted file mode 100644 index d54beceea..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_seq_populator-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoSeqPopulator< EOT > Member List

This is the complete list of members for eoSeqPopulator< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - -
current (defined in eoSeqPopulator< EOT >)eoSeqPopulator< EOT > [private]
dest (defined in eoPopulator< EOT >)eoPopulator< EOT > [protected]
eoPopulator(const eoPop< EOT > &_src, eoPop< EOT > &_dest) (defined in eoPopulator< EOT >)eoPopulator< EOT > [inline]
eoSeqPopulator(const eoPop< EOT > &_pop, eoPop< EOT > &_dest) (defined in eoSeqPopulator< EOT >)eoSeqPopulator< EOT > [inline]
exhausted(void)eoPopulator< EOT > [inline]
insert(const EOT &_eo)eoPopulator< EOT > [inline]
offspring(void)eoPopulator< EOT > [inline]
operator *(void)eoPopulator< EOT > [inline]
operator++()eoPopulator< EOT > [inline]
position_type typedef (defined in eoPopulator< EOT >)eoPopulator< EOT >
reserve(int how_many)eoPopulator< EOT > [inline]
seekp(position_type pos)eoPopulator< EOT > [inline]
select(void)eoSeqPopulator< EOT > [inline, virtual]
source(void)eoPopulator< EOT > [inline]
src (defined in eoPopulator< EOT >)eoPopulator< EOT > [protected]
tellp()eoPopulator< EOT > [inline]
~eoPopulator()eoPopulator< EOT > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_seq_populator.html b/trunk/paradiseo-eo/doc/html/classeo_seq_populator.html deleted file mode 100644 index a797fcbec..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_seq_populator.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: eoSeqPopulator< EOT > Class Template Reference - - - - -

eoSeqPopulator< EOT > Class Template Reference

SeqPopulator: an eoPopulator that sequentially goes through the population is supposed to be used after a batch select of a whole bunch or genitors. -More... -

-#include <eoPopulator.h> -

-

Inheritance diagram for eoSeqPopulator< EOT >: -

- -eoPopulator< EOT > - -List of all members. - - - - - - - - - - -

Public Member Functions

eoSeqPopulator (const eoPop< EOT > &_pop, eoPop< EOT > &_dest)
-const EOTselect (void)
 the select method simply returns next individual in the src pop

Private Attributes

-unsigned current
-

Detailed Description

-

template<class EOT>
- class eoSeqPopulator< EOT >

- -SeqPopulator: an eoPopulator that sequentially goes through the population is supposed to be used after a batch select of a whole bunch or genitors. -

- -

-Definition at line 152 of file eoPopulator.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_seq_populator.png b/trunk/paradiseo-eo/doc/html/classeo_seq_populator.png deleted file mode 100644 index 78d7dd216..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_seq_populator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sequential_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_sequential_op-members.html deleted file mode 100644 index 6f1ad33db..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sequential_op-members.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Member List - - - - -

eoSequentialOp< EOT > Member List

This is the complete list of members for eoSequentialOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
add(eoOp< EOT > &_op, double _rate)eoOpContainer< EOT > [inline]
apply(eoPopulator< EOT > &_pop)eoSequentialOp< EOT > [inline, virtual]
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoSequentialOp< EOT >)eoSequentialOp< EOT > [inline, virtual]
eoGenOp()eoGenOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoOpContainer()eoOpContainer< EOT > [inline]
functor_category()eoUF< eoPopulator< EOT > &, void > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
max_production(void)eoOpContainer< EOT > [inline, virtual]
operator()(eoPopulator< EOT > &_pop)eoGenOp< EOT > [inline, virtual]
ops (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [protected]
position_type typedef (defined in eoSequentialOp< EOT >)eoSequentialOp< EOT >
production (defined in eoSequentialOp< EOT >)eoSequentialOp< EOT > [private]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rates (defined in eoOpContainer< EOT >)eoOpContainer< EOT > [protected]
to_apply (defined in eoSequentialOp< EOT >)eoSequentialOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoOpContainer(void)eoOpContainer< EOT > [inline, virtual]
~eoUF()eoUF< eoPopulator< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sequential_op.html b/trunk/paradiseo-eo/doc/html/classeo_sequential_op.html deleted file mode 100644 index cbad0b7a9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sequential_op.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoSequentialOp< EOT > Class Template Reference - - - - -

eoSequentialOp< EOT > Class Template Reference

Sequential selection: note the mark, rewind, unmark cycle here operators are repeatedly applied on the same individual(s) not all too elegant, but it sort of works... -More... -

-#include <eoOpContainer.h> -

-

Inheritance diagram for eoSequentialOp< EOT >: -

- -eoOpContainer< EOT > -eoGenOp< EOT > -eoOp< EOT > -eoUF< eoPopulator< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Types

-typedef unsigned position_type

Public Member Functions

-void apply (eoPopulator< EOT > &_pop)
 the function that will do the work
-virtual std::string className () const

Private Attributes

-std::vector< size_t > to_apply
-std::vector< size_t > production
-

Detailed Description

-

template<class EOT>
- class eoSequentialOp< EOT >

- -Sequential selection: note the mark, rewind, unmark cycle here operators are repeatedly applied on the same individual(s) not all too elegant, but it sort of works... -

- -

-Definition at line 88 of file eoOpContainer.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sequential_op.png b/trunk/paradiseo-eo/doc/html/classeo_sequential_op.png deleted file mode 100644 index 90d2708da..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sequential_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sequential_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_sequential_select-members.html deleted file mode 100644 index aa4726283..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sequential_select-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoSequentialSelect< EOT > Member List

This is the complete list of members for eoSequentialSelect< EOT >, including all inherited members.

- - - - - - - - - -
current (defined in eoSequentialSelect< EOT >)eoSequentialSelect< EOT > [private]
eoPters (defined in eoSequentialSelect< EOT >)eoSequentialSelect< EOT > [private]
eoSequentialSelect(bool _ordered=true)eoSequentialSelect< EOT > [inline]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoSequentialSelect< EOT > [inline, virtual]
ordered (defined in eoSequentialSelect< EOT >)eoSequentialSelect< EOT > [private]
setup(const eoPop< EOT > &_pop)eoSequentialSelect< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sequential_select.html b/trunk/paradiseo-eo/doc/html/classeo_sequential_select.html deleted file mode 100644 index ebbf79b91..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sequential_select.html +++ /dev/null @@ -1,64 +0,0 @@ - - -EO: eoSequentialSelect< EOT > Class Template Reference - - - - -

eoSequentialSelect< EOT > Class Template Reference

All Individuals in order. -More... -

-#include <eoSequentialSelect.h> -

-

Inheritance diagram for eoSequentialSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoSequentialSelect (bool _ordered=true)
 Ctor: sets the current pter to numeric_limits<unsigned>::max() so init will take place first time not very elegant, maybe ...
-void setup (const eoPop< EOT > &_pop)
 virtual function to setup some population stats (for instance eoProportional can benefit greatly from this)
-virtual const EOToperator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-bool ordered
-unsigned current
-std::vector< const EOT * > eoPters
-

Detailed Description

-

template<class EOT>
- class eoSequentialSelect< EOT >

- -All Individuals in order. -

-Looping back to the beginning when exhausted, can be from best to worse, or in random order.

-It is the eoSelectOne equivalent of eoDetSelect - though eoDetSelect always returns individuals from best to worst -

- -

-Definition at line 52 of file eoSequentialSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:55 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sequential_select.png b/trunk/paradiseo-eo/doc/html/classeo_sequential_select.png deleted file mode 100644 index c09ab4387..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sequential_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sharing-members.html b/trunk/paradiseo-eo/doc/html/classeo_sharing-members.html deleted file mode 100644 index f4beed20e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sharing-members.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: Member List - - - - -

eoSharing< EOT > Member List

This is the complete list of members for eoSharing< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
dist (defined in eoSharing< EOT >)eoSharing< EOT > [private]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT > [inline]
eoSharing(double _nicheSize, eoDistance< EOT > &_dist) (defined in eoSharing< EOT >)eoSharing< EOT > [inline]
eoValueParam(void)eoValueParam< std::vector< double > > [inline]
eoValueParam(std::vector< double >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< double > > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< std::vector< double > > [inline, virtual]
longName() const eoParam [inline]
nicheSize (defined in eoSharing< EOT >)eoSharing< EOT > [private]
operator()(const eoPop< EOT > &_pop)eoSharing< EOT > [inline, virtual]
operator()(eoPop< EOT > &_pop) (defined in eoPerf2Worth< EOT >)eoPerf2Worth< EOT > [inline, virtual]
repValue (defined in eoValueParam< std::vector< double > >)eoValueParam< std::vector< double > > [protected]
required() const eoParam [inline]
resize(eoPop< EOT > &_pop, unsigned sz) (defined in eoPerf2Worth< EOT >)eoPerf2Worth< EOT > [inline, virtual]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::vector< double > > [inline, virtual]
shortName() const eoParam [inline]
sort_pop(eoPop< EOT > &_pop)eoPerf2Worth< EOT > [inline, virtual]
value()eoValueParam< std::vector< double > > [inline]
value() const eoValueParam< std::vector< double > > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sharing.html b/trunk/paradiseo-eo/doc/html/classeo_sharing.html deleted file mode 100644 index 8f809d8f8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sharing.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoSharing< EOT > Class Template Reference - - - - -

eoSharing< EOT > Class Template Reference

Sharing is a perf2worth class that implements Goldberg and Richardson's basic sharing see eoSharingSelect for how to use it and test/t-eoSharing.cpp for a sample use of both. -More... -

-#include <eoSharing.h> -

-

Inheritance diagram for eoSharing< EOT >: -

- -eoPerf2Worth< EOT > -eoUF< const eoPop< EOT > &, void > -eoValueParam< std::vector< double > > -eoFunctorBase -eoParam - -List of all members. - - - - - - - - - - - - -

Public Member Functions

eoSharing (double _nicheSize, eoDistance< EOT > &_dist)
-void operator() (const eoPop< EOT > &_pop)
 Computes shared fitnesses.

Private Attributes

-double nicheSize
-eoDistance< EOT > & dist
-

Detailed Description

-

template<class EOT>
- class eoSharing< EOT >

- -Sharing is a perf2worth class that implements Goldberg and Richardson's basic sharing see eoSharingSelect for how to use it and test/t-eoSharing.cpp for a sample use of both. -

- -

-Definition at line 79 of file eoSharing.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sharing.png b/trunk/paradiseo-eo/doc/html/classeo_sharing.png deleted file mode 100644 index 285bfed57..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sharing.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sharing_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_sharing_select-members.html deleted file mode 100644 index 8bf587332..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sharing_select-members.html +++ /dev/null @@ -1,27 +0,0 @@ - - -EO: Member List - - - - -

eoSharingSelect< EOT > Member List

This is the complete list of members for eoSharingSelect< EOT >, including all inherited members.

- - - - - - - - - - - - - -
check_sync(unsigned index, const EOT &_eo) (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [inline, protected]
eoRouletteWorthSelect(eoPerf2Worth< EOT, double > &_perf2Worth) (defined in eoRouletteWorthSelect< EOT, double >)eoRouletteWorthSelect< EOT, double > [inline]
eoSelectFromWorth(eoPerf2Worth< EOT, double > &_perf2Worth) (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [inline]
eoSharingSelect(double _sigma, eoDistance< EOT > &_dist)eoSharingSelect< EOT > [inline]
fitness (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [protected]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoRouletteWorthSelect< EOT, double > [inline, virtual]
perf2Worth (defined in eoSelectFromWorth< EOT, double >)eoSelectFromWorth< EOT, double > [protected]
setup(const eoPop< EOT > &_pop)eoRouletteWorthSelect< EOT, double > [inline, virtual]
sharing (defined in eoSharingSelect< EOT >)eoSharingSelect< EOT > [private]
worthIterator typedef (defined in eoRouletteWorthSelect< EOT, double >)eoRouletteWorthSelect< EOT, double >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sharing_select.html b/trunk/paradiseo-eo/doc/html/classeo_sharing_select.html deleted file mode 100644 index f6e777bcf..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sharing_select.html +++ /dev/null @@ -1,101 +0,0 @@ - - -EO: eoSharingSelect< EOT > Class Template Reference - - - - -

eoSharingSelect< EOT > Class Template Reference

eoSharingSelect: select an individual by roulette wheel on its SHARED fitness. -More... -

-#include <eoSharingSelect.h> -

-

Inheritance diagram for eoSharingSelect< EOT >: -

- -eoRouletteWorthSelect< EOT, double > -eoSelectFromWorth< EOT, double > -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

 eoSharingSelect (double _sigma, eoDistance< EOT > &_dist)
 Ctor:.

Private Attributes

-eoSharing< EOTsharing
-

Detailed Description

-

template<class EOT>
- class eoSharingSelect< EOT >

- -eoSharingSelect: select an individual by roulette wheel on its SHARED fitness. -

-It is an eoRouletteWorthSelect, i.e. a selector using a std::vector of worthes rather than the raw fitness (see eoSelectFromWorth.h) It uses an internal eoSharing object which is an eoPerf2Worth<EOT, double> -

- -

-Definition at line 43 of file eoSharingSelect.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoSharingSelect< EOT >::eoSharingSelect double  _sigma,
eoDistance< EOT > &  _dist
[inline]
-
- - - - - -
-   - - -

-Ctor:. -

-

Parameters:
- - -
_s the sigma_share
-
- -

-Definition at line 49 of file eoSharingSelect.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sharing_select.png b/trunk/paradiseo-eo/doc/html/classeo_sharing_select.png deleted file mode 100644 index e6584aebe..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sharing_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a-members.html b/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a-members.html deleted file mode 100644 index d01f2c371..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoSimpleEDA< EOT > Member List

This is the complete list of members for eoSimpleEDA< EOT >, including all inherited members.

- - - - - - - - - -
continuator (defined in eoSimpleEDA< EOT >)eoSimpleEDA< EOT > [private]
eoSimpleEDA(eoDistribUpdater< EOT > &_update, eoEvalFunc< EOT > &_eval, unsigned _popSize, eoContinue< EOT > &_continuator)eoSimpleEDA< EOT > [inline]
eval (defined in eoSimpleEDA< EOT >)eoSimpleEDA< EOT > [private]
functor_category()eoUF< eoDistribution< EOT > &, void > [inline, static]
operator()(eoDistribution< EOT > &_distrib)eoSimpleEDA< EOT > [inline, virtual]
popSize (defined in eoSimpleEDA< EOT >)eoSimpleEDA< EOT > [private]
update (defined in eoSimpleEDA< EOT >)eoSimpleEDA< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoDistribution< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a.html b/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a.html deleted file mode 100644 index 37926e41c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a.html +++ /dev/null @@ -1,119 +0,0 @@ - - -EO: eoSimpleEDA< EOT > Class Template Reference - - - - -

eoSimpleEDA< EOT > Class Template Reference

eoSimpleEDA: a very simple Estimation of Distribution Algorithm -More... -

-#include <eoSimpleEDA.h> -

-

Inheritance diagram for eoSimpleEDA< EOT >: -

- -eoEDA< EOT > -eoUF< eoDistribution< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoSimpleEDA (eoDistribUpdater< EOT > &_update, eoEvalFunc< EOT > &_eval, unsigned _popSize, eoContinue< EOT > &_continuator)
 Ctor from an eoDistribUpdater ...
-virtual void operator() (eoDistribution< EOT > &_distrib)
 The algorithm: generate pop from distrib, evaluate pop, update distrib.

Private Attributes

-eoDistribUpdater< EOT > & update
-eoEvalFunc< EOT > & eval
-unsigned popSize
-eoContinue< EOT > & continuator
-

Detailed Description

-

template<class EOT>
- class eoSimpleEDA< EOT >

- -eoSimpleEDA: a very simple Estimation of Distribution Algorithm -

-The algorithm that evolves a probability distribution on the spaces of populations with the loop generate a population from the current distribution evaluate that population update the distribution -

- -

-Definition at line 46 of file eoSimpleEDA.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoSimpleEDA< EOT >::eoSimpleEDA eoDistribUpdater< EOT > &  _update,
eoEvalFunc< EOT > &  _eval,
unsigned  _popSize,
eoContinue< EOT > &  _continuator
[inline]
-
- - - - - -
-   - - -

-Ctor from an eoDistribUpdater ... -

-plus an eoEval and eoContinue of course -

-Definition at line 53 of file eoSimpleEDA.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a.png b/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a.png deleted file mode 100644 index d3cec9c2d..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_simple_e_d_a.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat-members.html deleted file mode 100644 index e7cd88646..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat-members.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: Member List - - - - -

eoSortedPopStat< EOT > Member List

This is the complete list of members for eoSortedPopStat< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoSortedStat< EOT, std::string >)eoSortedStat< EOT, std::string > [inline, virtual]
combien (defined in eoSortedPopStat< EOT >)eoSortedPopStat< EOT > [private]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoSortedPopStat(unsigned _howMany=0, std::string _desc="")eoSortedPopStat< EOT > [inline]
eoSortedStat(std::string_value, std::string _desc) (defined in eoSortedStat< EOT, std::string >)eoSortedStat< EOT, std::string > [inline]
eoValueParam(void)eoValueParam< std::string > [inline]
eoValueParam(std::string_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::string > [inline]
functor_category()eoUF< const std::vector< const EOT * > &, void > [inline, static]
getValue(void) const eoValueParam< std::string > [inline, virtual]
lastCall(const std::vector< const EOT * > &) (defined in eoSortedStatBase< EOT >)eoSortedStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const std::vector< const EOT * > &_pop)eoSortedPopStat< EOT > [inline, virtual]
repValue (defined in eoValueParam< std::string >)eoValueParam< std::string > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< std::string > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< std::string > [inline]
value() const eoValueParam< std::string > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const std::vector< const EOT * > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat.html b/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat.html deleted file mode 100644 index 8d7a4b637..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat.html +++ /dev/null @@ -1,143 +0,0 @@ - - -EO: eoSortedPopStat< EOT > Class Template Reference - - - - -

eoSortedPopStat< EOT > Class Template Reference

Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats. -More... -

-#include <eoPopStat.h> -

-

Inheritance diagram for eoSortedPopStat< EOT >: -

- -eoSortedStat< EOT, std::string > -eoSortedStatBase< EOT > -eoValueParam< std::string > -eoUF< const std::vector< const EOT * > &, void > -eoParam -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

 eoSortedPopStat (unsigned _howMany=0, std::string _desc="")
 default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution.
void operator() (const std::vector< const EOT * > &_pop)
 Fills the value() of the eoParam with the dump of the population.

Private Attributes

-unsigned combien
-

Detailed Description

-

template<class EOT>
- class eoSortedPopStat< EOT >

- -Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats. -

-This snippet is a workaround: This class will "print" a whole population into a std::string - that you can later send to any stream This is the Sorted version - see eoPopString for the plain version

-Note: this Stat should probably be used only within eoStdOutMonitor, and not inside an eoFileMonitor, as the eoState construct will work much better there. -

- -

-Definition at line 96 of file eoPopStat.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoSortedPopStat< EOT >::eoSortedPopStat unsigned  _howMany = 0,
std::string  _desc = ""
[inline]
-
- - - - - -
-   - - -

-default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. -

-and is meaningless there _howMany defaults to 0, that is, the whole population -

-Definition at line 107 of file eoPopStat.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
void eoSortedPopStat< EOT >::operator() const std::vector< const EOT * > &  _pop  )  [inline, virtual]
-
- - - - - -
-   - - -

-Fills the value() of the eoParam with the dump of the population. -

-Adds a
- before so it does not get mixed up with the rest of the stats that are written by the monitor it is probably used from. -

-Implements eoUF< const std::vector< const EOT * > &, void >. -

-Definition at line 116 of file eoPopStat.h. -

-References eoValueParam< std::string >::value().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat.png b/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat.png deleted file mode 100644 index 081333190..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sorted_pop_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_sorted_stat-members.html deleted file mode 100644 index fd69963b3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat-members.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Member List - - - - -

eoSortedStat< EOT, ParamType > Member List

This is the complete list of members for eoSortedStat< EOT, ParamType >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoSortedStat< EOT, ParamType >)eoSortedStat< EOT, ParamType > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoSortedStat(ParamType _value, std::string _desc) (defined in eoSortedStat< EOT, ParamType >)eoSortedStat< EOT, ParamType > [inline]
eoValueParam(void)eoValueParam< ParamType > [inline]
eoValueParam(ParamType_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< ParamType > [inline]
functor_category()eoUF< const std::vector< const EOT * > &, void > [inline, static]
getValue(void) const eoValueParam< ParamType > [inline, virtual]
lastCall(const std::vector< const EOT * > &) (defined in eoSortedStatBase< EOT >)eoSortedStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const std::vector< const EOT * > &)=0eoUF< const std::vector< const EOT * > &, void > [pure virtual]
repValue (defined in eoValueParam< ParamType >)eoValueParam< ParamType > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< ParamType > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< ParamType > [inline]
value() const eoValueParam< ParamType > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const std::vector< const EOT * > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat.html b/trunk/paradiseo-eo/doc/html/classeo_sorted_stat.html deleted file mode 100644 index caf02eda1..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: eoSortedStat< EOT, ParamType > Class Template Reference - - - - -

eoSortedStat< EOT, ParamType > Class Template Reference

The actual class that will be used as base for all statistics that need to be calculated over the sorted population It's an eoSortedStatBase AND an eoValueParam so it can be used in Monitors. -More... -

-#include <eoStat.h> -

-

Inheritance diagram for eoSortedStat< EOT, ParamType >: -

- -eoSortedStatBase< EOT > -eoValueParam< ParamType > -eoUF< const std::vector< const EOT * > &, void > -eoParam -eoFunctorBase - -List of all members. - - - - - - -

Public Member Functions

eoSortedStat (ParamType _value, std::string _desc)
-virtual std::string className (void) const
-

Detailed Description

-

template<class EOT, class ParamType>
- class eoSortedStat< EOT, ParamType >

- -The actual class that will be used as base for all statistics that need to be calculated over the sorted population It's an eoSortedStatBase AND an eoValueParam so it can be used in Monitors. -

- -

-Definition at line 89 of file eoStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat.png b/trunk/paradiseo-eo/doc/html/classeo_sorted_stat.png deleted file mode 100644 index 2cfa5b87a..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base-members.html b/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base-members.html deleted file mode 100644 index 483899020..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoSortedStatBase< EOT > Member List

This is the complete list of members for eoSortedStatBase< EOT >, including all inherited members.

- - - - - - -
className(void) const (defined in eoSortedStatBase< EOT >)eoSortedStatBase< EOT > [inline, virtual]
functor_category()eoUF< const std::vector< const EOT * > &, void > [inline, static]
lastCall(const std::vector< const EOT * > &) (defined in eoSortedStatBase< EOT >)eoSortedStatBase< EOT > [inline, virtual]
operator()(const std::vector< const EOT * > &)=0eoUF< const std::vector< const EOT * > &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const std::vector< const EOT * > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base.html b/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base.html deleted file mode 100644 index 103c40427..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoSortedStatBase< EOT > Class Template Reference - - - - -

eoSortedStatBase< EOT > Class Template Reference

Base class for statistics calculated over a sorted snapshot of the population. -More... -

-#include <eoStat.h> -

-

Inheritance diagram for eoSortedStatBase< EOT >: -

- -eoUF< const std::vector< const EOT * > &, void > -eoFunctorBase -eoSortedStat< EOT, ParamType > -eoSortedStat< EOT, EOT::Fitness > -eoSortedStat< EOT, std::string > -eoSortedStat< EOT, std::vector< double > > -eoSortedStat< EOT, std::vector< FitT > > -eoSortedStat< EOT, std::vector< PartFitT > > -eoNthElementFitnessStat< EOT > -eoSortedPopStat< EOT > -eoScalarFitnessStat< EOT, FitT > -eoFitnessStat< EOT, FitT > -eoMOFitnessStat< EOT, PartFitT > - -List of all members. - - - - - - -

Public Member Functions

-virtual void lastCall (const std::vector< const EOT * > &)
-virtual std::string className (void) const
-

Detailed Description

-

template<class EOT>
- class eoSortedStatBase< EOT >

- -Base class for statistics calculated over a sorted snapshot of the population. -

- -

-Definition at line 76 of file eoStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base.png b/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base.png deleted file mode 100644 index 6caaa3739..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sorted_stat_base.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation-members.html deleted file mode 100644 index b55f79191..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoStBranchMutation< FType, Node > Member List

This is the complete list of members for eoStBranchMutation< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoStBranchMutation< FType, Node > [inline, virtual]
eoMonOp()eoMonOp< eoParseTree< FType, Node > > [inline]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
eoStBranchMutation(eoInit< EoType > &_init, unsigned _max_length)eoStBranchMutation< FType, Node > [inline]
EoType typedef (defined in eoStBranchMutation< FType, Node >)eoStBranchMutation< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
initializer (defined in eoStBranchMutation< FType, Node >)eoStBranchMutation< FType, Node > [private]
max_length (defined in eoStBranchMutation< FType, Node >)eoStBranchMutation< FType, Node > [private]
operator()(EoType &_eo1)eoStBranchMutation< FType, Node > [inline]
eoMonOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoStBranchMutation()eoStBranchMutation< FType, Node > [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation.html deleted file mode 100644 index 1b0b18af8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation.html +++ /dev/null @@ -1,165 +0,0 @@ - - -EO: eoStBranchMutation< FType, Node > Class Template Reference - - - - -

eoStBranchMutation< FType, Node > Class Template Reference
- -[StParseTree] -

eoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree -More... -

-#include <gp/eoStParseTreeOp.h> -

-

Inheritance diagram for eoStBranchMutation< FType, Node >: -

- -eoMonOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoStBranchMutation (eoInit< EoType > &_init, unsigned _max_length)
 Constructor.
-virtual std::string className () const
 the class name
-virtual ~eoStBranchMutation ()
 Dtor.
bool operator() (EoType &_eo1)
 Mutate an individual.

Private Attributes

-unsigned max_length
-eoInit< EoType > & initializer
-

Detailed Description

-

template<class FType, class Node>
- class eoStBranchMutation< FType, Node >

- -eoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree -

- -

-Definition at line 130 of file eoStParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class FType, class Node>
eoStBranchMutation< FType, Node >::eoStBranchMutation eoInit< EoType > &  _init,
unsigned  _max_length
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - - -
_init An instantiation of eoGpDepthInitializer
_max_length the maximum size of an individual
-
- -

-Definition at line 140 of file eoStParseTreeOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
bool eoStBranchMutation< FType, Node >::operator() EoType _eo1  )  [inline]
-
- - - - - -
-   - - -

-Mutate an individual. -

-

Parameters:
- - -
_eo1 The individual that is to be changed
-
- -

-Definition at line 154 of file eoStParseTreeOp.h. -

-References eoRng::random().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation.png deleted file mode 100644 index 765b91eb8..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_st_branch_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation-members.html deleted file mode 100644 index 9439c3146..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoStHoistMutation< FType, Node > Member List

This is the complete list of members for eoStHoistMutation< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoStHoistMutation< FType, Node > [inline, virtual]
eoMonOp()eoMonOp< eoParseTree< FType, Node > > [inline]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
eoStHoistMutation(eoInit< EoType > &_init, unsigned _max_length)eoStHoistMutation< FType, Node > [inline]
EoType typedef (defined in eoStHoistMutation< FType, Node >)eoStHoistMutation< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
initializer (defined in eoStHoistMutation< FType, Node >)eoStHoistMutation< FType, Node > [private]
max_length (defined in eoStHoistMutation< FType, Node >)eoStHoistMutation< FType, Node > [private]
operator()(EoType &_eo1)eoStHoistMutation< FType, Node > [inline]
eoMonOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoStHoistMutation()eoStHoistMutation< FType, Node > [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation.html deleted file mode 100644 index b02c788a6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation.html +++ /dev/null @@ -1,165 +0,0 @@ - - -EO: eoStHoistMutation< FType, Node > Class Template Reference - - - - -

eoStHoistMutation< FType, Node > Class Template Reference
- -[StParseTree] -

eoStHoistMutation --> replace the individual with one of its strongly typed subtree's -More... -

-#include <gp/eoStParseTreeOp.h> -

-

Inheritance diagram for eoStHoistMutation< FType, Node >: -

- -eoMonOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoStHoistMutation (eoInit< EoType > &_init, unsigned _max_length)
 Constructor.
-virtual std::string className () const
 the class name
-virtual ~eoStHoistMutation ()
 Dtor.
bool operator() (EoType &_eo1)
 Mutate an individual.

Private Attributes

-unsigned max_length
-eoInit< EoType > & initializer
-

Detailed Description

-

template<class FType, class Node>
- class eoStHoistMutation< FType, Node >

- -eoStHoistMutation --> replace the individual with one of its strongly typed subtree's -

- -

-Definition at line 258 of file eoStParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class FType, class Node>
eoStHoistMutation< FType, Node >::eoStHoistMutation eoInit< EoType > &  _init,
unsigned  _max_length
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - - -
_init An instantiation of eoStDepthInit
_max_length the maximum size of an individual
-
- -

-Definition at line 268 of file eoStParseTreeOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
bool eoStHoistMutation< FType, Node >::operator() EoType _eo1  )  [inline]
-
- - - - - -
-   - - -

-Mutate an individual. -

-

Parameters:
- - -
_eo1 The individual that is to be changed
-
- -

-Definition at line 282 of file eoStParseTreeOp.h. -

-References eoRng::random().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation.png deleted file mode 100644 index 635821846..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_st_hoist_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init-members.html deleted file mode 100644 index 3aec93560..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init-members.html +++ /dev/null @@ -1,27 +0,0 @@ - - -EO: Member List - - - - -

eoStParseTreeDepthInit< FType, Node > Member List

This is the complete list of members for eoStParseTreeDepthInit< FType, Node >, including all inherited members.

- - - - - - - - - - - - - -
className() const eoStParseTreeDepthInit< FType, Node > [inline, virtual]
eoStParseTreeDepthInit(unsigned _max_depth, const std::vector< Node > &_node, const int &_return_type, bool _grow=true)eoStParseTreeDepthInit< FType, Node > [inline]
EoType typedef (defined in eoStParseTreeDepthInit< FType, Node >)eoStParseTreeDepthInit< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, void > [inline, static]
generate(std::list< Node > &sequence, int the_max, int request_type) (defined in eoStParseTreeDepthInit< FType, Node >)eoStParseTreeDepthInit< FType, Node > [inline, private]
grow (defined in eoStParseTreeDepthInit< FType, Node >)eoStParseTreeDepthInit< FType, Node > [private]
max_depth (defined in eoStParseTreeDepthInit< FType, Node >)eoStParseTreeDepthInit< FType, Node > [private]
node (defined in eoStParseTreeDepthInit< FType, Node >)eoStParseTreeDepthInit< FType, Node > [private]
operator()(EoType &_tree)eoStParseTreeDepthInit< FType, Node > [inline]
eoInit< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, void > [pure virtual]
return_type (defined in eoStParseTreeDepthInit< FType, Node >)eoStParseTreeDepthInit< FType, Node > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init.html b/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init.html deleted file mode 100644 index f98166813..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init.html +++ /dev/null @@ -1,181 +0,0 @@ - - -EO: eoStParseTreeDepthInit< FType, Node > Class Template Reference - - - - -

eoStParseTreeDepthInit< FType, Node > Class Template Reference
- -[StParseTree] -

eoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming -More... -

-#include <gp/eoStParseTreeDepthInit.h> -

-

Inheritance diagram for eoStParseTreeDepthInit< FType, Node >: -

- -eoInit< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoStParseTreeDepthInit (unsigned _max_depth, const std::vector< Node > &_node, const int &_return_type, bool _grow=true)
 Constructor.
-virtual std::string className () const
 My class name.
void operator() (EoType &_tree)
 initialize a tree

Private Member Functions

-bool generate (std::list< Node > &sequence, int the_max, int request_type)

Private Attributes

-unsigned max_depth
-map< int, map< int, std::vector<
- Node > > > 
node
-int return_type
-bool grow
-

Detailed Description

-

template<class FType, class Node>
- class eoStParseTreeDepthInit< FType, Node >

- -eoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming -

- -

-Definition at line 61 of file eoStParseTreeDepthInit.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class FType, class Node>
eoStParseTreeDepthInit< FType, Node >::eoStParseTreeDepthInit unsigned  _max_depth,
const std::vector< Node > &  _node,
const int &  _return_type,
bool  _grow = true
[inline]
-
- - - - - -
-   - - -

-Constructor. -

-_max_depth The maximum depth of a tree

Parameters:
- - - -
_initializor A std::vector containing the possible nodes
_grow False results in a full tree, True result is a randomly grown tree
-
- -

-Definition at line 73 of file eoStParseTreeDepthInit.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
void eoStParseTreeDepthInit< FType, Node >::operator() EoType _tree  )  [inline]
-
- - - - - -
-   - - -

-initialize a tree -

-

Parameters:
- - -
_tree : the tree to be initialized
-
- -

-Definition at line 125 of file eoStParseTreeDepthInit.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init.png b/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init.png deleted file mode 100644 index adb49bb2e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_st_parse_tree_depth_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation-members.html deleted file mode 100644 index 54e0f1ba9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoStPointMutation< FType, Node > Member List

This is the complete list of members for eoStPointMutation< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoStPointMutation< FType, Node > [inline, virtual]
eoMonOp()eoMonOp< eoParseTree< FType, Node > > [inline]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
eoStPointMutation(std::vector< Node > &_node)eoStPointMutation< FType, Node > [inline]
EoType typedef (defined in eoStPointMutation< FType, Node >)eoStPointMutation< FType, Node >
functor_category()eoUF< eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
node (defined in eoStPointMutation< FType, Node >)eoStPointMutation< FType, Node > [private]
operator()(EoType &_eo1)eoStPointMutation< FType, Node > [inline]
eoMonOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &)=0eoUF< eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoStPointMutation()eoStPointMutation< FType, Node > [inline, virtual]
~eoUF()eoUF< eoParseTree< FType, Node > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation.html deleted file mode 100644 index 9abb9335c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation.html +++ /dev/null @@ -1,153 +0,0 @@ - - -EO: eoStPointMutation< FType, Node > Class Template Reference - - - - -

eoStPointMutation< FType, Node > Class Template Reference
- -[StParseTree] -

eoStPointMutation --> replace a Node with a Node of the same arity and type -More... -

-#include <gp/eoStParseTreeOp.h> -

-

Inheritance diagram for eoStPointMutation< FType, Node >: -

- -eoMonOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoUF< eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoStPointMutation (std::vector< Node > &_node)
 Constructor.
-virtual std::string className () const
 the class name
-virtual ~eoStPointMutation ()
 Dtor.
bool operator() (EoType &_eo1)
 Mutate an individual.

Private Attributes

-map< int, map< int, std::vector<
- Node > > > 
node
-

Detailed Description

-

template<class FType, class Node>
- class eoStPointMutation< FType, Node >

- -eoStPointMutation --> replace a Node with a Node of the same arity and type -

- -

-Definition at line 195 of file eoStParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
eoStPointMutation< FType, Node >::eoStPointMutation std::vector< Node > &  _node  )  [inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - -
_initializor The std::vector of Nodes given to the eoGpDepthInitializer
-
- -

-Definition at line 205 of file eoStParseTreeOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
bool eoStPointMutation< FType, Node >::operator() EoType _eo1  )  [inline]
-
- - - - - -
-   - - -

-Mutate an individual. -

-

Parameters:
- - -
_eo1 The individual that is to be changed
-
- -

-Definition at line 234 of file eoStParseTreeOp.h. -

-References eoRng::random().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation.png deleted file mode 100644 index 0c9fd91c3..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_st_point_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over-members.html b/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over-members.html deleted file mode 100644 index 362b9e5d7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoStSubtreeXOver< FType, Node > Member List

This is the complete list of members for eoStSubtreeXOver< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoStSubtreeXOver< FType, Node > [inline, virtual]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
eoQuadOp()eoQuadOp< eoParseTree< FType, Node > > [inline]
eoStSubtreeXOver(unsigned _max_length)eoStSubtreeXOver< FType, Node > [inline]
EoType typedef (defined in eoStSubtreeXOver< FType, Node >)eoStSubtreeXOver< FType, Node >
functor_category()eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
max_length (defined in eoStSubtreeXOver< FType, Node >)eoStSubtreeXOver< FType, Node > [private]
operator()(EoType &_eo1, EoType &_eo2)eoStSubtreeXOver< FType, Node > [inline]
eoQuadOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &, eoParseTree< FType, Node > &)=0eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoBF()eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoStSubtreeXOver()eoStSubtreeXOver< FType, Node > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over.html b/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over.html deleted file mode 100644 index fb63b30e4..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over.html +++ /dev/null @@ -1,109 +0,0 @@ - - -EO: eoStSubtreeXOver< FType, Node > Class Template Reference - - - - -

eoStSubtreeXOver< FType, Node > Class Template Reference
- -[StParseTree] -

eoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming -More... -

-#include <gp/eoStParseTreeOp.h> -

-

Inheritance diagram for eoStSubtreeXOver< FType, Node >: -

- -eoQuadOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoStSubtreeXOver (unsigned _max_length)
 Constructor.
-virtual std::string className () const
 the ckassname
-virtual ~eoStSubtreeXOver ()
 Dtor.
-bool operator() (EoType &_eo1, EoType &_eo2)
 Perform crossover on two individuals param _eo1 The first parent individual param _eo2 The second parent individual.

Private Attributes

-unsigned max_length
-

Detailed Description

-

template<class FType, class Node>
- class eoStSubtreeXOver< FType, Node >

- -eoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming -

- -

-Definition at line 56 of file eoStParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
eoStSubtreeXOver< FType, Node >::eoStSubtreeXOver unsigned  _max_length  )  [inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - -
_max_length the maximum size of an individual
-
- -

-Definition at line 64 of file eoStParseTreeOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over.png b/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over.png deleted file mode 100644 index aa1d8fbee..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_st_subtree_x_over.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_stat-members.html b/trunk/paradiseo-eo/doc/html/classeo_stat-members.html deleted file mode 100644 index a0dc8bd64..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stat-members.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Member List - - - - -

eoStat< EOT, T > Member List

This is the complete list of members for eoStat< EOT, T >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoStat< EOT, T >)eoStat< EOT, T > [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoStat(T _value, std::string _description) (defined in eoStat< EOT, T >)eoStat< EOT, T > [inline]
eoValueParam(void)eoValueParam< T > [inline]
eoValueParam(T_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< T > [inline]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
getValue(void) const eoValueParam< T > [inline, virtual]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
longName() const eoParam [inline]
operator()(const eoPop< EOT > &)=0eoUF< const eoPop< EOT > &, void > [pure virtual]
repValue (defined in eoValueParam< T >)eoValueParam< T > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< T > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< T > [inline]
value() const eoValueParam< T > [inline]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stat.html b/trunk/paradiseo-eo/doc/html/classeo_stat.html deleted file mode 100644 index ee490ddca..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stat.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: eoStat< EOT, T > Class Template Reference - - - - -

eoStat< EOT, T > Class Template Reference

The actual class that will be used as base for all statistics that need to be calculated over the (unsorted) population It is an eoStatBase AND an eoValueParam so it can be used in Monitors. -More... -

-#include <eoStat.h> -

-

Inheritance diagram for eoStat< EOT, T >: -

- -eoValueParam< T > -eoStatBase< EOT > -eoParam -eoUF< const eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - -

Public Member Functions

eoStat (T _value, std::string _description)
-virtual std::string className (void) const
-

Detailed Description

-

template<class EOT, class T>
- class eoStat< EOT, T >

- -The actual class that will be used as base for all statistics that need to be calculated over the (unsorted) population It is an eoStatBase AND an eoValueParam so it can be used in Monitors. -

- -

-Definition at line 58 of file eoStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stat.png b/trunk/paradiseo-eo/doc/html/classeo_stat.png deleted file mode 100644 index 9e97ea3ec..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_stat.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_stat_base-members.html b/trunk/paradiseo-eo/doc/html/classeo_stat_base-members.html deleted file mode 100644 index 698a9945b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stat_base-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoStatBase< EOT > Member List

This is the complete list of members for eoStatBase< EOT >, including all inherited members.

- - - - - - -
className(void) const (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
functor_category()eoUF< const eoPop< EOT > &, void > [inline, static]
lastCall(const eoPop< EOT > &) (defined in eoStatBase< EOT >)eoStatBase< EOT > [inline, virtual]
operator()(const eoPop< EOT > &)=0eoUF< const eoPop< EOT > &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stat_base.html b/trunk/paradiseo-eo/doc/html/classeo_stat_base.html deleted file mode 100644 index ed875ebaf..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stat_base.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoStatBase< EOT > Class Template Reference - - - - -

eoStatBase< EOT > Class Template Reference

Base class for all statistics that need to be calculated over the (unsorted) population (I guess it is not really necessary? MS. -More... -

-#include <eoStat.h> -

-

Inheritance diagram for eoStatBase< EOT >: -

- -eoUF< const eoPop< EOT > &, void > -eoFunctorBase -eoStat< EOT, T > -eoStat< EOT, double > -eoStat< EOT, EOT::Fitness > -eoStat< EOT, std::pair< double, double > > -eoStat< EOT, std::string > -eoAssembledFitnessAverageStat< EOT > -eoAssembledFitnessBestStat< EOT > -eoFDCStat< EOT > -eoAverageStat< EOT > -eoBestFitnessStat< EOT > -eoSecondMomentStats< EOT > -eoPopStat< EOT > - -List of all members. - - - - - - -

Public Member Functions

-virtual void lastCall (const eoPop< EOT > &)
-virtual std::string className (void) const
-

Detailed Description

-

template<class EOT>
- class eoStatBase< EOT >

- -Base class for all statistics that need to be calculated over the (unsorted) population (I guess it is not really necessary? MS. -

-Depstd::ends, there might be reasons to have a stat that is not an eoValueParam, but maybe I'm just kidding myself, MK) -

- -

-Definition at line 45 of file eoStat.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stat_base.png b/trunk/paradiseo-eo/doc/html/classeo_stat_base.png deleted file mode 100644 index eb83eaf4d..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_stat_base.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_state-members.html b/trunk/paradiseo-eo/doc/html/classeo_state-members.html deleted file mode 100644 index 3ad11077f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_state-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoState Member List

This is the complete list of members for eoState, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
createObjectName(eoObject *obj) (defined in eoState)eoState [private]
creationOrder (defined in eoState)eoState [private]
eoFunctorStore()eoFunctorStore [inline]
eoState(void) (defined in eoState)eoState [inline]
eoState(const eoState &) (defined in eoState)eoState [private]
getCommentString(void) const (defined in eoState)eoState [inline]
load(const std::string &_filename)eoState
load(std::istream &is)eoState
objectMap (defined in eoState)eoState [private]
ObjectMap typedef (defined in eoState)eoState [private]
operator=(const eoState &) (defined in eoState)eoState [private]
ownedObjects (defined in eoState)eoState [private]
registerObject(eoPersistent &registrant)eoState
save(const std::string &_filename) const eoState
save(std::ostream &os) const eoState
storeFunctor(Functor *r)eoFunctorStore [inline]
takeOwnership(const T &persistent)eoState [inline]
~eoFunctorStore()eoFunctorStore [virtual]
~eoState(void) (defined in eoState)eoState


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_state.html b/trunk/paradiseo-eo/doc/html/classeo_state.html deleted file mode 100644 index 54275d9fc..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_state.html +++ /dev/null @@ -1,276 +0,0 @@ - - -EO: eoState Class Reference - - - - -

eoState Class Reference

eoState can be used to register derivants of eoPersistent. -More... -

-#include <eoState.h> -

-

Inheritance diagram for eoState: -

- -eoFunctorStore - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

-void registerObject (eoPersistent &registrant)
 Object registration function, note that it does not take ownership!
template<class T>
T & takeOwnership (const T &persistent)
 Copies the object (MUST be derived from eoPersistent) and returns a reference to the owned object.
-std::string getCommentString (void) const
void load (const std::string &_filename)
 Reads the file specified.
void load (std::istream &is)
 Reads the file specified.
void save (const std::string &_filename) const
 Saves the state in file specified.
void save (std::ostream &os) const
 Saves the state in file specified.

Private Types

-typedef std::map< std::string,
- eoPersistent * > 
ObjectMap

Private Member Functions

-std::string createObjectName (eoObject *obj)
eoState (const eoState &)
-eoStateoperator= (const eoState &)

Private Attributes

-ObjectMap objectMap
-std::vector< ObjectMap::iterator > creationOrder
-std::vector< eoPersistent * > ownedObjects
-

Detailed Description

-eoState can be used to register derivants of eoPersistent. -

-It will then in turn implement the persistence framework through members load and save, that will call readFrom and printOn for the registrated objects.

-It is derived from eoFunctorStore, so that it also serves as a place where all those nifty eo functors can be stored. This is useful in the case you want to use one of the make_* functions. These functions generally take as their last argument an eoFunctorStore (or a state) which is used to hold all dynamically generated data. Note however, that unlike with eoPersistent derived classes, eoFunctorBase derived classes are not saved or loaded. To govern the creation of functors, command-line parameters (which can be stored) are needed. -

- -

-Definition at line 54 of file eoState.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class T>
T& eoState::takeOwnership const T &  persistent  )  [inline]
-
- - - - - -
-   - - -

-Copies the object (MUST be derived from eoPersistent) and returns a reference to the owned object. -

-Note: it does not register the object, this must be done afterwards! -

-Definition at line 73 of file eoState.h.

-

- - - - -
- - - - - - - - - -
void eoState::load const std::string &  _filename  ) 
-
- - - - - -
-   - - -

-Reads the file specified. -

-

Parameters:
- - -
_filename the name of the file to load from
-
- -

-Definition at line 74 of file eoState.cpp.

-

- - - - -
- - - - - - - - - -
void eoState::load std::istream &  is  ) 
-
- - - - - -
-   - - -

-Reads the file specified. -

-

Parameters:
- - -
is the stream to load from
-
- -

-Definition at line 87 of file eoState.cpp. -

-References eoPersistent::readFrom().

-

- - - - -
- - - - - - - - - -
void eoState::save const std::string &  _filename  )  const
-
- - - - - -
-   - - -

-Saves the state in file specified. -

-

Parameters:
- - -
_filename the name of the file to save into
-
- -

-Definition at line 148 of file eoState.cpp. -

-Referenced by eoTimedStateSaver::operator()().

-

- - - - -
- - - - - - - - - -
void eoState::save std::ostream &  os  )  const
-
- - - - - -
-   - - -

-Saves the state in file specified. -

-

Parameters:
- - -
os the stream to save into
-
- -

-Definition at line 161 of file eoState.cpp. -

-References eoPrintable::printOn().

-


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_state.png b/trunk/paradiseo-eo/doc/html/classeo_state.png deleted file mode 100644 index 4cd2cefb1..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_state.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor-members.html b/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor-members.html deleted file mode 100644 index a4f607f6b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

eoStdoutMonitor Member List

This is the complete list of members for eoStdoutMonitor, including all inherited members.

- - - - - - - - - - - - - - -
add(const eoParam &_param)eoMonitor [inline, virtual]
className(void) const (defined in eoStdoutMonitor)eoStdoutMonitor [inline, virtual]
delim (defined in eoStdoutMonitor)eoStdoutMonitor [private]
eoStdoutMonitor(bool _verbose=true, std::string _delim="\t") (defined in eoStdoutMonitor)eoStdoutMonitor [inline]
firsttime (defined in eoStdoutMonitor)eoStdoutMonitor [private]
functor_category()eoF< eoMonitor & > [inline, static]
iterator typedef (defined in eoMonitor)eoMonitor [protected]
lastCall() (defined in eoMonitor)eoMonitor [inline, virtual]
operator()(void)eoStdoutMonitor [virtual]
result_type typedefeoF< eoMonitor & >
vec (defined in eoMonitor)eoMonitor [protected]
verbose (defined in eoStdoutMonitor)eoStdoutMonitor [private]
~eoF()eoF< eoMonitor & > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor.html b/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor.html deleted file mode 100644 index 9d63dbaff..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoStdoutMonitor Class Reference - - - - -

eoStdoutMonitor Class Reference

Prints statistics to stdout. -More... -

-#include <eoStdoutMonitor.h> -

-

Inheritance diagram for eoStdoutMonitor: -

- -eoMonitor -eoF< eoMonitor & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - -

Public Member Functions

eoStdoutMonitor (bool _verbose=true, std::string _delim="\t")
-eoMonitoroperator() (void)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className (void) const

Private Attributes

-bool verbose
-std::string delim
-bool firsttime
-

Detailed Description

-Prints statistics to stdout. -

- -

-Definition at line 38 of file eoStdoutMonitor.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor.png b/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor.png deleted file mode 100644 index 80fdfb647..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_stdout_monitor.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue-members.html b/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue-members.html deleted file mode 100644 index 6e7c8b732..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue-members.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: Member List - - - - -

eoSteadyFitContinue< EOT > Member List

This is the complete list of members for eoSteadyFitContinue< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - -
bestSoFar (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [private]
className(void) const (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [inline, virtual]
eoSteadyFitContinue(unsigned long _minGens, unsigned long _steadyGens)eoSteadyFitContinue< EOT > [inline]
eoSteadyFitContinue(unsigned long _minGens, unsigned long _steadyGen, unsigned long &_currentGen)eoSteadyFitContinue< EOT > [inline]
Fitness typedef (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT >
functor_category()eoUF< const eoPop< EOT > &, bool > [inline, static]
lastImprovement (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [private]
minGenerations()eoSteadyFitContinue< EOT > [inline, virtual]
operator()(const eoPop< EOT > &_vEO)eoSteadyFitContinue< EOT > [inline, virtual]
printOn(std::ostream &__os) const eoContinue< EOT > [inline, virtual]
readFrom(std::istream &__is)eoContinue< EOT > [inline, virtual]
repMinGenerations (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [private]
repSteadyGenerations (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [private]
reset()eoSteadyFitContinue< EOT > [inline, virtual]
steadyGenerations() (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [inline, virtual]
steadyState (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [private]
thisGeneration (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [private]
thisGenerationPlaceHolder (defined in eoSteadyFitContinue< EOT >)eoSteadyFitContinue< EOT > [private]
totalGenerations(unsigned long _mg, unsigned long _sg)eoSteadyFitContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue.html b/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue.html deleted file mode 100644 index 474cf16d2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue.html +++ /dev/null @@ -1,144 +0,0 @@ - - -EO: eoSteadyFitContinue< EOT > Class Template Reference - - - - -

eoSteadyFitContinue< EOT > Class Template Reference

A continuator: does a minimum number of generations, then stops whenever a given number of generations takes place without improvement. -More... -

-#include <eoSteadyFitContinue.h> -

-

Inheritance diagram for eoSteadyFitContinue< EOT >: -

- -eoContinue< EOT > -eoUF< const eoPop< EOT > &, bool > -eoPersistent -eoFunctorBase -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness

Public Member Functions

eoSteadyFitContinue (unsigned long _minGens, unsigned long _steadyGens)
 Ctor for setting a.
eoSteadyFitContinue (unsigned long _minGens, unsigned long _steadyGen, unsigned long &_currentGen)
 Ctor for enabling the save/load the no. of generations counted.
-virtual bool operator() (const eoPop< EOT > &_vEO)
 Returns false when a certain number of generations is reached withtout improvement.
virtual void totalGenerations (unsigned long _mg, unsigned long _sg)
 Sets the parameters (minimum nb of gen.
-virtual void reset ()
 Resets the state after it's been reached.
-virtual unsigned long minGenerations ()
 accessors
-virtual unsigned long steadyGenerations ()
-virtual std::string className (void) const

Private Attributes

-unsigned long repMinGenerations
-unsigned long repSteadyGenerations
-bool steadyState
-unsigned long thisGenerationPlaceHolder
-unsigned long & thisGeneration
-unsigned int lastImprovement
-Fitness bestSoFar
-

Detailed Description

-

template<class EOT>
- class eoSteadyFitContinue< EOT >

- -A continuator: does a minimum number of generations, then stops whenever a given number of generations takes place without improvement. -

- -

-Definition at line 35 of file eoSteadyFitContinue.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
virtual void eoSteadyFitContinue< EOT >::totalGenerations unsigned long  _mg,
unsigned long  _sg
[inline, virtual]
-
- - - - - -
-   - - -

-Sets the parameters (minimum nb of gen. -

-+ steady nb of gen.) and sets the current generation to 0 (the begin) -

-Definition at line 84 of file eoSteadyFitContinue.h. -

-References eoSteadyFitContinue< EOT >::reset().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue.png b/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue.png deleted file mode 100644 index 9165aef39..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_steady_fit_continue.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select-members.html deleted file mode 100644 index 1c6d21526..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoStochTournamentSelect< EOT > Member List

This is the complete list of members for eoStochTournamentSelect< EOT >, including all inherited members.

- - - - - - - -
eoStochTournamentSelect(double _Trate=1.0) (defined in eoStochTournamentSelect< EOT >)eoStochTournamentSelect< EOT > [inline]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &pop)eoStochTournamentSelect< EOT > [inline, virtual]
setup(const eoPop< EOT > &_pop)eoSelectOne< EOT > [inline, virtual]
Trate (defined in eoStochTournamentSelect< EOT >)eoStochTournamentSelect< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select.html b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select.html deleted file mode 100644 index e55cdc862..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: eoStochTournamentSelect< EOT > Class Template Reference - - - - -

eoStochTournamentSelect< EOT > Class Template Reference

eoStochTournamentSelect: a selection method that selects ONE individual by binary stochastic tournament -MS- 24/10/99 -More... -

-#include <eoStochTournamentSelect.h> -

-

Inheritance diagram for eoStochTournamentSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoStochTournamentSelect (double _Trate=1.0)
-virtual const EOToperator() (const eoPop< EOT > &pop)
 Perform the stochastic tournament.

Private Attributes

-double Trate
-

Detailed Description

-

template<class EOT>
- class eoStochTournamentSelect< EOT >

- -eoStochTournamentSelect: a selection method that selects ONE individual by binary stochastic tournament -MS- 24/10/99 -

- -

-Definition at line 42 of file eoStochTournamentSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select.png b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select.png deleted file mode 100644 index 6fddab727..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate-members.html b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate-members.html deleted file mode 100644 index 03126d7d0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoStochTournamentTruncate< EOT > Member List

This is the complete list of members for eoStochTournamentTruncate< EOT >, including all inherited members.

- - - - - - -
eoStochTournamentTruncate(double _t_rate) (defined in eoStochTournamentTruncate< EOT >)eoStochTournamentTruncate< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, unsigned, void > [inline, static]
operator()(eoPop< EOT > &_newgen, unsigned _newsize)eoStochTournamentTruncate< EOT > [inline, virtual]
t_rate (defined in eoStochTournamentTruncate< EOT >)eoStochTournamentTruncate< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, unsigned, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate.html b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate.html deleted file mode 100644 index 9cf45cb2b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate.html +++ /dev/null @@ -1,52 +0,0 @@ - - -EO: eoStochTournamentTruncate< EOT > Class Template Reference - - - - -

eoStochTournamentTruncate< EOT > Class Template Reference

a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. -More... -

-#include <eoReduce.h> -

-

Inheritance diagram for eoStochTournamentTruncate< EOT >: -

- -eoReduce< EOT > -eoBF< eoPop< EOT > &, unsigned, void > -eoFunctorBase - -List of all members. - - - - - - - - - - -

Public Member Functions

eoStochTournamentTruncate (double _t_rate)
-void operator() (eoPop< EOT > &_newgen, unsigned _newsize)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-double t_rate
-

Detailed Description

-

template<class EOT>
- class eoStochTournamentTruncate< EOT >

- -a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. -

-see eoSSGAStochTournamentReplacement) -

- -

-Definition at line 236 of file eoReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate.png b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate.png deleted file mode 100644 index eee05294e..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split-members.html b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split-members.html deleted file mode 100644 index f7d962a9a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoStochTournamentTruncateSplit< EOT > Member List

This is the complete list of members for eoStochTournamentTruncateSplit< EOT >, including all inherited members.

- - - - - - - - - -
eoStochTournamentTruncateSplit(double _t_rate, eoHowMany _howMany, bool _returnEliminated=false)eoStochTournamentTruncateSplit< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, unsigned, void > [inline, static]
howMany (defined in eoStochTournamentTruncateSplit< EOT >)eoStochTournamentTruncateSplit< EOT > [private]
operator()(eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)eoStochTournamentTruncateSplit< EOT > [inline]
eoReduce::operator()(eoPop< EOT > &, unsigned)=0eoBF< eoPop< EOT > &, unsigned, void > [pure virtual]
returnEliminated (defined in eoStochTournamentTruncateSplit< EOT >)eoStochTournamentTruncateSplit< EOT > [private]
t_rate (defined in eoStochTournamentTruncateSplit< EOT >)eoStochTournamentTruncateSplit< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, unsigned, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split.html b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split.html deleted file mode 100644 index 5614d453d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoStochTournamentTruncateSplit< EOT > Class Template Reference - - - - -

eoStochTournamentTruncateSplit< EOT > Class Template Reference

a ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. -More... -

-#include <eoReduceSplit.h> -

-

Inheritance diagram for eoStochTournamentTruncateSplit< EOT >: -

- -eoReduce< EOT > -eoBF< eoPop< EOT > &, unsigned, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

eoStochTournamentTruncateSplit (double _t_rate, eoHowMany _howMany, bool _returnEliminated=false)
 Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys.
-void operator() (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)
 Performs repeated inverse_stochastic_tournament on the pop.

Private Attributes

-double t_rate
-eoHowMany howMany
-bool returnEliminated
-

Detailed Description

-

template<class EOT>
- class eoStochTournamentTruncateSplit< EOT >

- -a ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. -

-see eoSSGAStochTournamentReplacement) -

- -

-Definition at line 256 of file eoReduceSplit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split.png b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split.png deleted file mode 100644 index 210ef71f4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_truncate_split.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select-members.html deleted file mode 100644 index efb3b5c76..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoStochTournamentWorthSelect< EOT, WorthT > Member List

This is the complete list of members for eoStochTournamentWorthSelect< EOT, WorthT >, including all inherited members.

- - - - - - - - - - - - -
check_sync(unsigned index, const EOT &_eo) (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [inline, protected]
eoSelectFromWorth(eoPerf2Worth< EOT, WorthT > &_perf2Worth) (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [inline]
eoStochTournamentWorthSelect(eoPerf2Worth< EOT, WorthT > &_perf2Worth, double _tRate) (defined in eoStochTournamentWorthSelect< EOT, WorthT >)eoStochTournamentWorthSelect< EOT, WorthT > [inline]
fitness (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [protected]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
operator()(const eoPop< EOT > &_pop)eoStochTournamentWorthSelect< EOT, WorthT > [inline, virtual]
perf2Worth (defined in eoSelectFromWorth< EOT, WorthT >)eoSelectFromWorth< EOT, WorthT > [protected]
setup(const eoPop< EOT > &pop)eoSelectFromWorth< EOT, WorthT > [inline, virtual]
tRate (defined in eoStochTournamentWorthSelect< EOT, WorthT >)eoStochTournamentWorthSelect< EOT, WorthT > [private]
worthIterator typedef (defined in eoStochTournamentWorthSelect< EOT, WorthT >)eoStochTournamentWorthSelect< EOT, WorthT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select.html b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select.html deleted file mode 100644 index 9d4478727..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoStochTournamentWorthSelect< EOT, WorthT > Class Template Reference - - - - -

eoStochTournamentWorthSelect< EOT, WorthT > Class Template Reference

An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... -More... -

-#include <eoSelectFromWorth.h> -

-

Inheritance diagram for eoStochTournamentWorthSelect< EOT, WorthT >: -

- -eoSelectFromWorth< EOT, WorthT > -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Types

-typedef std::vector< WorthT
->::iterator 
worthIterator

Public Member Functions

eoStochTournamentWorthSelect (eoPerf2Worth< EOT, WorthT > &_perf2Worth, double _tRate)
-virtual const EOToperator() (const eoPop< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-double tRate
-

Detailed Description

-

template<class EOT, class WorthT = double>
- class eoStochTournamentWorthSelect< EOT, WorthT >

- -An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... -

-stochastic tournament, yes! -

- -

-Definition at line 128 of file eoSelectFromWorth.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select.png b/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select.png deleted file mode 100644 index d48975b8c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_stoch_tournament_worth_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select-members.html deleted file mode 100644 index 341dd3bc0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoStochasticUniversalSelect< EOT > Member List

This is the complete list of members for eoStochasticUniversalSelect< EOT >, including all inherited members.

- - - - - - - - -
eoStochasticUniversalSelect(const eoPop< EOT > &pop=eoPop< EOT >())eoStochasticUniversalSelect< EOT > [inline]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
IndexVec typedef (defined in eoStochasticUniversalSelect< EOT >)eoStochasticUniversalSelect< EOT > [private]
indices (defined in eoStochasticUniversalSelect< EOT >)eoStochasticUniversalSelect< EOT > [private]
operator()(const eoPop< EOT > &_pop)eoStochasticUniversalSelect< EOT > [inline, virtual]
setup(const eoPop< EOT > &_pop)eoStochasticUniversalSelect< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select.html b/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select.html deleted file mode 100644 index 10605485a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoStochasticUniversalSelect< EOT > Class Template Reference - - - - -

eoStochasticUniversalSelect< EOT > Class Template Reference

eoStochasticUniversalSelect: select an individual proportional to her stored fitness value, but in contrast with eoStochasticUniversalSelect, get rid of most finite sampling effects by doing all selections in one go, using a single random number. -More... -

-#include <eoStochasticUniversalSelect.h> -

-

Inheritance diagram for eoStochasticUniversalSelect< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

eoStochasticUniversalSelect (const eoPop< EOT > &pop=eoPop< EOT >())
 Sanity check.
-void setup (const eoPop< EOT > &_pop)
 virtual function to setup some population stats (for instance eoProportional can benefit greatly from this)
-const EOToperator() (const eoPop< EOT > &_pop)
 do the selection,

Private Types

-typedef std::vector< unsigned > IndexVec

Private Attributes

-IndexVec indices
-

Detailed Description

-

template<class EOT>
- class eoStochasticUniversalSelect< EOT >

- -eoStochasticUniversalSelect: select an individual proportional to her stored fitness value, but in contrast with eoStochasticUniversalSelect, get rid of most finite sampling effects by doing all selections in one go, using a single random number. -

- -

-Definition at line 44 of file eoStochasticUniversalSelect.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select.png b/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select.png deleted file mode 100644 index 7a1be51ae..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_stochastic_universal_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_string-members.html b/trunk/paradiseo-eo/doc/html/classeo_string-members.html deleted file mode 100644 index 0417f9346..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_string-members.html +++ /dev/null @@ -1,48 +0,0 @@ - - -EO: Member List - - - - -

eoString< fitnessT > Member List

This is the complete list of members for eoString< fitnessT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoString< fitnessT >)eoString< fitnessT >
className() const eoString< fitnessT > [inline, virtual]
ContainerType typedef (defined in eoString< fitnessT >)eoString< fitnessT >
EO()EO< fitnessT > [inline]
EO() (defined in EO< fitnessT >)EO< fitnessT > [inline]
eoString(const std::string &_str="")eoString< fitnessT > [inline]
fitness() const EO< fitnessT > [inline]
fitness(const Fitness &_fitness)EO< fitnessT > [inline]
fitness(performance_type perf) (defined in EO< fitnessT >)EO< fitnessT > [inline]
fitness(void) const (defined in EO< fitnessT >)EO< fitnessT > [inline]
Fitness typedef (defined in EO< fitnessT >)EO< fitnessT >
fitness_traits typedef (defined in EO< fitnessT >)EO< fitnessT >
invalid() const EO< fitnessT > [inline]
invalidate() (defined in EO< fitnessT >)EO< fitnessT > [inline]
invalidate(void) (defined in EO< fitnessT >)EO< fitnessT > [inline]
invalidate_worth(void) (defined in EO< fitnessT >)EO< fitnessT > [inline]
operator<(const EO &_eo2) const EO< fitnessT > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< fitnessT >)EO< fitnessT > [inline]
operator>(const EO &_eo2) const (defined in EO< fitnessT >)EO< fitnessT > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< fitnessT >)EO< fitnessT > [inline]
performance(performance_type perf) (defined in EO< fitnessT >)EO< fitnessT > [inline]
performance(void) const (defined in EO< fitnessT >)EO< fitnessT > [inline]
performance_type typedef (defined in EO< fitnessT >)EO< fitnessT >
printOn(std::ostream &os) const eoString< fitnessT > [inline, virtual]
readFrom(std::istream &_is)EO< fitnessT > [inline, virtual]
storage_type typedef (defined in EO< fitnessT >)EO< fitnessT >
Type typedef (defined in eoString< fitnessT >)eoString< fitnessT >
worth(worth_type worth) (defined in EO< fitnessT >)EO< fitnessT > [inline]
worth(void) const (defined in EO< fitnessT >)EO< fitnessT > [inline]
worth_type typedef (defined in EO< fitnessT >)EO< fitnessT >
~EO()EO< fitnessT > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_string.html b/trunk/paradiseo-eo/doc/html/classeo_string.html deleted file mode 100644 index 3df25962f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_string.html +++ /dev/null @@ -1,104 +0,0 @@ - - -EO: eoString< fitnessT > Class Template Reference - - - - -

eoString< fitnessT > Class Template Reference

Adaptor that turns an STL std::string into an EO. -More... -

-#include <eoString.h> -

-

Inheritance diagram for eoString< fitnessT >: -

- -EO< fitnessT > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef char Type
-typedef char AtomType
-typedef std::string ContainerType

Public Member Functions

eoString (const std::string &_str="")
 ctor
-virtual void printOn (std::ostream &os) const
 printing...
Methods from eoObject
readFrom and printOn are directly inherited from eo1d

virtual std::string className () const
 Inherited from eoObject.
-

Detailed Description

-

template<class fitnessT>
- class eoString< fitnessT >

- -Adaptor that turns an STL std::string into an EO. -

- -

-Definition at line 42 of file eoString.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class fitnessT>
virtual std::string eoString< fitnessT >::className void   )  const [inline, virtual]
-
- - - - - -
-   - - -

-Inherited from eoObject. -

-

See also:
eoObject
- -

-Reimplemented from EO< fitnessT >. -

-Definition at line 74 of file eoString.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_string.png b/trunk/paradiseo-eo/doc/html/classeo_string.png deleted file mode 100644 index a82209d81..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_string.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over-members.html b/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over-members.html deleted file mode 100644 index 8fb1bae9e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoSubtreeXOver< FType, Node > Member List

This is the complete list of members for eoSubtreeXOver< FType, Node >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
className() const eoSubtreeXOver< FType, Node > [inline, virtual]
eoOp(OpType _type)eoOp< eoParseTree< FType, Node > > [inline]
eoOp(const eoOp &_eop)eoOp< eoParseTree< FType, Node > > [inline]
eoQuadOp()eoQuadOp< eoParseTree< FType, Node > > [inline]
eoSubtreeXOver(unsigned _max_length)eoSubtreeXOver< FType, Node > [inline]
EoType typedef (defined in eoSubtreeXOver< FType, Node >)eoSubtreeXOver< FType, Node >
functor_category()eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > [inline, static]
general enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
getType() const eoOp< eoParseTree< FType, Node > > [inline]
max_length (defined in eoSubtreeXOver< FType, Node >)eoSubtreeXOver< FType, Node > [private]
operator()(EoType &_eo1, EoType &_eo2)eoSubtreeXOver< FType, Node > [inline]
eoQuadOp< eoParseTree< FType, Node > >::operator()(eoParseTree< FType, Node > &, eoParseTree< FType, Node > &)=0eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > [pure virtual]
quadratic enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
unary enum value (defined in eoOp< eoParseTree< FType, Node > >)eoOp< eoParseTree< FType, Node > >
~eoBF()eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< eoParseTree< FType, Node > > [inline, virtual]
~eoSubtreeXOver()eoSubtreeXOver< FType, Node > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over.html b/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over.html deleted file mode 100644 index c6b6ee0e6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over.html +++ /dev/null @@ -1,109 +0,0 @@ - - -EO: eoSubtreeXOver< FType, Node > Class Template Reference - - - - -

eoSubtreeXOver< FType, Node > Class Template Reference
- -[ParseTree] -

eoSubtreeXOver --> subtree xover -More... -

-#include <gp/eoParseTreeOp.h> -

-

Inheritance diagram for eoSubtreeXOver< FType, Node >: -

- -eoQuadOp< eoParseTree< FType, Node > > -eoOp< eoParseTree< FType, Node > > -eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef eoParseTree< FType,
- Node > 
EoType

Public Member Functions

 eoSubtreeXOver (unsigned _max_length)
 Constructor.
-virtual std::string className () const
 the ckassname
-virtual ~eoSubtreeXOver ()
 Dtor.
-bool operator() (EoType &_eo1, EoType &_eo2)
 Perform crossover on two individuals param _eo1 The first parent individual param _eo2 The second parent individual.

Private Attributes

-unsigned max_length
-

Detailed Description

-

template<class FType, class Node>
- class eoSubtreeXOver< FType, Node >

- -eoSubtreeXOver --> subtree xover -

- -

-Definition at line 42 of file eoParseTreeOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class FType, class Node>
eoSubtreeXOver< FType, Node >::eoSubtreeXOver unsigned  _max_length  )  [inline]
-
- - - - - -
-   - - -

-Constructor. -

-

Parameters:
- - -
_max_length the maximum size of an individual
-
- -

-Definition at line 50 of file eoParseTreeOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over.png b/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over.png deleted file mode 100644 index 521b5cc24..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_subtree_x_over.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_survive_and_die-members.html b/trunk/paradiseo-eo/doc/html/classeo_survive_and_die-members.html deleted file mode 100644 index 6b194a13c..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_survive_and_die-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoSurviveAndDie< EOT > Member List

This is the complete list of members for eoSurviveAndDie< EOT >, including all inherited members.

- - - - - - - -
eoSurviveAndDie(double _survive, double _die, bool _interpret_as_rate=true) (defined in eoSurviveAndDie< EOT >)eoSurviveAndDie< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howmanyDie (defined in eoSurviveAndDie< EOT >)eoSurviveAndDie< EOT > [protected]
howmanySurvive (defined in eoSurviveAndDie< EOT >)eoSurviveAndDie< EOT > [protected]
operator()(eoPop< EOT > &, eoPop< EOT > &)=0eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [pure virtual]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_survive_and_die.html b/trunk/paradiseo-eo/doc/html/classeo_survive_and_die.html deleted file mode 100644 index f8531daa8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_survive_and_die.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: eoSurviveAndDie< EOT > Class Template Reference - - - - -

eoSurviveAndDie< EOT > Class Template Reference

eoSurviveAndDie A pure abstract class, to store the howmany's -More... -

-#include <eoSurviveAndDie.h> -

-

Inheritance diagram for eoSurviveAndDie< EOT >: -

- -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase -eoDeterministicSurviveAndDie< EOT > - -List of all members. - - - - - - - - - -

Public Member Functions

eoSurviveAndDie (double _survive, double _die, bool _interpret_as_rate=true)

Protected Attributes

-eoHowMany howmanySurvive
-eoHowMany howmanyDie
-

Detailed Description

-

template<class EOT>
- class eoSurviveAndDie< EOT >

- -eoSurviveAndDie A pure abstract class, to store the howmany's -

- -

-Definition at line 53 of file eoSurviveAndDie.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_survive_and_die.png b/trunk/paradiseo-eo/doc/html/classeo_survive_and_die.png deleted file mode 100644 index 2d945e1a4..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_survive_and_die.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_sym_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_sym_init-members.html deleted file mode 100644 index cf2d5c99e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sym_init-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoSymInit< EoType > Member List

This is the complete list of members for eoSymInit< EoType >, including all inherited members.

- - - - - - - - - - - - -
builder (defined in eoSymInit< EoType >)eoSymInit< EoType > [private]
className(void) const eoInit< EoType > [inline, virtual]
eoSymInit(TreeBuilder &_builder)eoSymInit< EoType > [inline]
eoSymInit(TreeBuilder &_builder, double &_grow_prob, unsigned &_max_depth)eoSymInit< EoType > [inline]
functor_category()eoUF< EoType &, void > [inline, static]
grow_prob (defined in eoSymInit< EoType >)eoSymInit< EoType > [private]
max_depth (defined in eoSymInit< EoType >)eoSymInit< EoType > [private]
operator()(EoType &tree)eoSymInit< EoType > [inline, virtual]
own_grow_prob (defined in eoSymInit< EoType >)eoSymInit< EoType > [private]
own_max_depth (defined in eoSymInit< EoType >)eoSymInit< EoType > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EoType &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sym_init.html b/trunk/paradiseo-eo/doc/html/classeo_sym_init.html deleted file mode 100644 index e7bd509d8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_sym_init.html +++ /dev/null @@ -1,67 +0,0 @@ - - -EO: eoSymInit< EoType > Class Template Reference - - - - -

eoSymInit< EoType > Class Template Reference

Default initializer, Koza style. -More... -

-#include <eoSymInit.h> -

-

Inheritance diagram for eoSymInit< EoType >: -

- -eoInit< EoType > -eoUF< EoType &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoSymInit (TreeBuilder &_builder)
 By default build ramped half and half with max depth 6.
eoSymInit (TreeBuilder &_builder, double &_grow_prob, unsigned &_max_depth)
 Control the grow_prob and max_depth externally.
-void operator() (EoType &tree)
 build the tree

Private Attributes

-TreeBuilder & builder
-double own_grow_prob
-unsigned own_max_depth
-double & grow_prob
-unsigned & max_depth
-

Detailed Description

-

template<class EoType>
- class eoSymInit< EoType >

- -Default initializer, Koza style. -

- -

-Definition at line 26 of file eoSymInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_sym_init.png b/trunk/paradiseo-eo/doc/html/classeo_sym_init.png deleted file mode 100644 index a0dcd8115..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_sym_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_time_counter-members.html b/trunk/paradiseo-eo/doc/html/classeo_time_counter-members.html deleted file mode 100644 index 65bd58b6a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_time_counter-members.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: Member List - - - - -

eoTimeCounter Member List

This is the complete list of members for eoTimeCounter, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
className(void) const (defined in eoUpdater)eoUpdater [inline, virtual]
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoTimeCounter() (defined in eoTimeCounter)eoTimeCounter [inline]
eoValueParam(void)eoValueParam< double > [inline]
eoValueParam(double_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< double > [inline]
functor_category()eoF< void > [inline, static]
getValue(void) const eoValueParam< double > [inline, virtual]
lastCall() (defined in eoUpdater)eoUpdater [inline, virtual]
longName() const eoParam [inline]
operator()()eoTimeCounter [inline, virtual]
repValue (defined in eoValueParam< double >)eoValueParam< double > [protected]
required() const eoParam [inline]
result_type typedefeoF< void >
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< double > [inline, virtual]
shortName() const eoParam [inline]
utime (defined in eoTimeCounter)eoTimeCounter [private]
value()eoValueParam< double > [inline]
value() const eoValueParam< double > [inline]
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoParam()eoParam [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_time_counter.html b/trunk/paradiseo-eo/doc/html/classeo_time_counter.html deleted file mode 100644 index 14b3cd1ab..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_time_counter.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoTimeCounter Class Reference - - - - -

eoTimeCounter Class Reference

An eoStat that simply gives the user time since first generation It has to be tempatized by EOT because it must be an eoStat. -More... -

-#include <eoTimeCounter.h> -

-

Inheritance diagram for eoTimeCounter: -

- -eoUpdater -eoValueParam< double > -eoF< void > -eoParam -eoFunctorBase - -List of all members. - - - - - - - - -

Public Member Functions

-virtual void operator() ()
 simply stores the time spent in process in its value()

Private Attributes

-clock_t utime
-

Detailed Description

-An eoStat that simply gives the user time since first generation It has to be tempatized by EOT because it must be an eoStat. -

- -

-Definition at line 38 of file eoTimeCounter.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_time_counter.png b/trunk/paradiseo-eo/doc/html/classeo_time_counter.png deleted file mode 100644 index ac711b434..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_time_counter.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval-members.html b/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval-members.html deleted file mode 100644 index fcca79eac..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoTimeVaryingLoopEval< EOT > Member List

This is the complete list of members for eoTimeVaryingLoopEval< EOT >, including all inherited members.

- - - - - - -
eoTimeVaryingLoopEval(eoEvalFunc< EOT > &_eval)eoTimeVaryingLoopEval< EOT > [inline]
eval (defined in eoTimeVaryingLoopEval< EOT >)eoTimeVaryingLoopEval< EOT > [private]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)eoTimeVaryingLoopEval< EOT > [inline, virtual]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval.html b/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval.html deleted file mode 100644 index 6be63a7e2..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoTimeVaryingLoopEval< EOT > Class Template Reference - - - - -

eoTimeVaryingLoopEval< EOT > Class Template Reference

eoPopLoopEval: an instance of eoPopEvalFunc that simply applies a private eoEvalFunc to all offspring AND ALL PARENTS as the fitness is supposed here to vary -More... -

-#include <eoPopEvalFunc.h> -

-

Inheritance diagram for eoTimeVaryingLoopEval< EOT >: -

- -eoPopEvalFunc< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

eoTimeVaryingLoopEval (eoEvalFunc< EOT > &_eval)
 Ctor: set value of embedded eoEvalFunc.
-void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 Do the job: simple loop over the offspring.

Private Attributes

-eoEvalFunc< EOT > & eval
-

Detailed Description

-

template<class EOT>
- class eoTimeVaryingLoopEval< EOT >

- -eoPopLoopEval: an instance of eoPopEvalFunc that simply applies a private eoEvalFunc to all offspring AND ALL PARENTS as the fitness is supposed here to vary -

- -

-Definition at line 84 of file eoPopEvalFunc.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval.png b/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval.png deleted file mode 100644 index 7ee09de51..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_time_varying_loop_eval.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update-members.html b/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update-members.html deleted file mode 100644 index fcbcf1faf..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoTimedDynUpdate Member List

This is the complete list of members for eoTimedDynUpdate, including all inherited members.

- - - - - - - - - - - - -
className(void) const (defined in eoUpdater)eoUpdater [inline, virtual]
eoDynUpdater(eoUpdatable &_toUpdate) (defined in eoDynUpdater)eoDynUpdater [inline]
eoTimedDynUpdate(eoUpdatable &_toUpdate, time_t _interval) (defined in eoTimedDynUpdate)eoTimedDynUpdate [inline]
first_time (defined in eoTimedDynUpdate)eoTimedDynUpdate [private]
functor_category()eoF< void > [inline, static]
interval (defined in eoTimedDynUpdate)eoTimedDynUpdate [private]
last_time (defined in eoTimedDynUpdate)eoTimedDynUpdate [private]
lastCall() (defined in eoUpdater)eoUpdater [inline, virtual]
operator()(void)eoTimedDynUpdate [inline, virtual]
result_type typedefeoF< void >
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update.html b/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update.html deleted file mode 100644 index 2bbff6743..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoTimedDynUpdate Class Reference - - - - -

eoTimedDynUpdate Class Reference

An eoUpdater to update an eoUpdatable object every given time interval. -More... -

-#include <eoUpdatable.h> -

-

Inheritance diagram for eoTimedDynUpdate: -

- -eoDynUpdater -eoUpdater -eoF< void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

eoTimedDynUpdate (eoUpdatable &_toUpdate, time_t _interval)
-void operator() (void)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-const time_t interval
-time_t last_time
-const time_t first_time
-

Detailed Description

-An eoUpdater to update an eoUpdatable object every given time interval. -

- -

-Definition at line 67 of file eoUpdatable.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update.png b/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update.png deleted file mode 100644 index eb2daa08b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_timed_dyn_update.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_monitor-members.html b/trunk/paradiseo-eo/doc/html/classeo_timed_monitor-members.html deleted file mode 100644 index 406552d1a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_timed_monitor-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: Member List - - - - -

eoTimedMonitor Member List

This is the complete list of members for eoTimedMonitor, including all inherited members.

- - - - - - - - - - - - - - - -
add(eoMonitor &mon) (defined in eoTimedMonitor)eoTimedMonitor [inline]
eoMonitor::add(const eoParam &_param)eoMonitor [inline, virtual]
className(void) const (defined in eoTimedMonitor)eoTimedMonitor [inline, virtual]
eoTimedMonitor(int seconds_) (defined in eoTimedMonitor)eoTimedMonitor [inline]
functor_category()eoF< eoMonitor & > [inline, static]
iterator typedef (defined in eoMonitor)eoMonitor [protected]
last_tick (defined in eoTimedMonitor)eoTimedMonitor [private]
lastCall() (defined in eoMonitor)eoMonitor [inline, virtual]
monitors (defined in eoTimedMonitor)eoTimedMonitor [private]
operator()(void)eoTimedMonitor [inline, virtual]
result_type typedefeoF< eoMonitor & >
seconds (defined in eoTimedMonitor)eoTimedMonitor [private]
vec (defined in eoMonitor)eoMonitor [protected]
~eoF()eoF< eoMonitor & > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_monitor.html b/trunk/paradiseo-eo/doc/html/classeo_timed_monitor.html deleted file mode 100644 index fc8c1608d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_timed_monitor.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoTimedMonitor Class Reference - - - - -

eoTimedMonitor Class Reference

Holds a collection of monitors and only fires them when a time limit has been reached. -More... -

-#include <eoTimedMonitor.h> -

-

Inheritance diagram for eoTimedMonitor: -

- -eoMonitor -eoF< eoMonitor & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoTimedMonitor (int seconds_)
-eoMonitoroperator() (void)
 The pure virtual function that needs to be implemented by the subclass.
-void add (eoMonitor &mon)
-virtual std::string className (void) const

Private Attributes

-clock_t last_tick
-int seconds
-std::vector< eoMonitor * > monitors
-

Detailed Description

-Holds a collection of monitors and only fires them when a time limit has been reached. -

- -

-Definition at line 40 of file eoTimedMonitor.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_monitor.png b/trunk/paradiseo-eo/doc/html/classeo_timed_monitor.png deleted file mode 100644 index 8e1ad8fec..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_timed_monitor.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver-members.html b/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver-members.html deleted file mode 100644 index 57345bb04..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: Member List - - - - -

eoTimedStateSaver Member List

This is the complete list of members for eoTimedStateSaver, including all inherited members.

- - - - - - - - - - - - - - -
className(void) const (defined in eoTimedStateSaver)eoTimedStateSaver [inline, virtual]
eoTimedStateSaver(time_t _interval, const eoState &_state, std::string _prefix="state", std::string _extension="sav") (defined in eoTimedStateSaver)eoTimedStateSaver [inline]
extension (defined in eoTimedStateSaver)eoTimedStateSaver [private]
first_time (defined in eoTimedStateSaver)eoTimedStateSaver [private]
functor_category()eoF< void > [inline, static]
interval (defined in eoTimedStateSaver)eoTimedStateSaver [private]
last_time (defined in eoTimedStateSaver)eoTimedStateSaver [private]
lastCall() (defined in eoUpdater)eoUpdater [inline, virtual]
operator()(void)eoTimedStateSaver [virtual]
prefix (defined in eoTimedStateSaver)eoTimedStateSaver [private]
result_type typedefeoF< void >
state (defined in eoTimedStateSaver)eoTimedStateSaver [private]
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver.html b/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver.html deleted file mode 100644 index ecaaf95b8..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver.html +++ /dev/null @@ -1,65 +0,0 @@ - - -EO: eoTimedStateSaver Class Reference - - - - -

eoTimedStateSaver Class Reference

an eoUpdater that saves a state every given time interval -More... -

-#include <eoUpdater.h> -

-

Inheritance diagram for eoTimedStateSaver: -

- -eoUpdater -eoF< void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoTimedStateSaver (time_t _interval, const eoState &_state, std::string _prefix="state", std::string _extension="sav")
-void operator() (void)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className (void) const

Private Attributes

-const eoStatestate
-const time_t interval
-time_t last_time
-const time_t first_time
-const std::string prefix
-const std::string extension
-

Detailed Description

-an eoUpdater that saves a state every given time interval -

- -

-Definition at line 104 of file eoUpdater.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver.png b/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver.png deleted file mode 100644 index b5f7f43bd..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_timed_state_saver.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_transform-members.html b/trunk/paradiseo-eo/doc/html/classeo_transform-members.html deleted file mode 100644 index dd1c50862..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_transform-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoTransform< EOT > Member List

This is the complete list of members for eoTransform< EOT >, including all inherited members.

- - - - -
functor_category()eoUF< eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &)=0eoUF< eoPop< EOT > &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< eoPop< EOT > &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_transform.html b/trunk/paradiseo-eo/doc/html/classeo_transform.html deleted file mode 100644 index 1d1691c26..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_transform.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: eoTransform< EOT > Class Template Reference - - - - -

eoTransform< EOT > Class Template Reference

eoTransform transforms a population by applying genetic operators on it. -More... -

-#include <eoTransform.h> -

-

Inheritance diagram for eoTransform< EOT >: -

- -eoUF< eoPop< EOT > &, void > -eoFunctorBase -eoDynSGATransform< EOT > -eoSGATransform< EOT > - -List of all members. - -
-

Detailed Description

-

template<class EOT>
- class eoTransform< EOT >

- -eoTransform transforms a population by applying genetic operators on it. -

- -

-Definition at line 38 of file eoTransform.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_transform.png b/trunk/paradiseo-eo/doc/html/classeo_transform.png deleted file mode 100644 index 721e07d01..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_transform.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_trunc_select-members.html b/trunk/paradiseo-eo/doc/html/classeo_trunc_select-members.html deleted file mode 100644 index 0f821eac5..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_trunc_select-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoTruncSelect< EOT > Member List

This is the complete list of members for eoTruncSelect< EOT >, including all inherited members.

- - - - - - - -
eoTruncSelect(eoSelectOne< EOT > &_select, eoHowMany _howMany)eoTruncSelect< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoTruncSelect< EOT >)eoTruncSelect< EOT > [private]
operator()(const eoPop< EOT > &_source, eoPop< EOT > &_dest)eoTruncSelect< EOT > [inline, virtual]
select (defined in eoTruncSelect< EOT >)eoTruncSelect< EOT > [private]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_trunc_select.html b/trunk/paradiseo-eo/doc/html/classeo_trunc_select.html deleted file mode 100644 index 83d84bc6a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_trunc_select.html +++ /dev/null @@ -1,111 +0,0 @@ - - -EO: eoTruncSelect< EOT > Class Template Reference - - - - -

eoTruncSelect< EOT > Class Template Reference

eoTruncSelect selects individuals after truncating the population using eoSelectOne as it's mechanism. -More... -

-#include <eoTruncSelect.h> -

-

Inheritance diagram for eoTruncSelect< EOT >: -

- -eoSelect< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoTruncSelect (eoSelectOne< EOT > &_select, eoHowMany _howMany)
 Ctor: from an eoSelect (and an eoMany to tell how many are kept for selectino.
virtual void operator() (const eoPop< EOT > &_source, eoPop< EOT > &_dest)
 The implementation repeatidly selects an individual.

Private Attributes

-eoSelectOne< EOT > & select
-eoHowMany howMany
-

Detailed Description

-

template<class EOT>
- class eoTruncSelect< EOT >

- -eoTruncSelect selects individuals after truncating the population using eoSelectOne as it's mechanism. -

-Therefore eoSelectMany needs an eoSelectOne in its ctor It will use an eoHowMnay to determine the number of guys to keep, -

- -

-Definition at line 43 of file eoTruncSelect.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
virtual void eoTruncSelect< EOT >::operator() const eoPop< EOT > &  _source,
eoPop< EOT > &  _dest
[inline, virtual]
-
- - - - - -
-   - - -

-The implementation repeatidly selects an individual. -

-

Parameters:
- - - -
_source the source population
_dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it)
-
- -

-Implements eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >. -

-Definition at line 56 of file eoTruncSelect.h. -

-References eoSelectOne< EOT, WorthT >::setup().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_trunc_select.png b/trunk/paradiseo-eo/doc/html/classeo_trunc_select.png deleted file mode 100644 index 25f6be7e1..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_trunc_select.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncate-members.html b/trunk/paradiseo-eo/doc/html/classeo_truncate-members.html deleted file mode 100644 index 4b7ce0107..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_truncate-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoTruncate< EOT > Member List

This is the complete list of members for eoTruncate< EOT >, including all inherited members.

- - - - -
functor_category()eoBF< eoPop< EOT > &, unsigned, void > [inline, static]
operator()(eoPop< EOT > &_newgen, unsigned _newsize)eoTruncate< EOT > [inline, private, virtual]
~eoBF()eoBF< eoPop< EOT > &, unsigned, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncate.html b/trunk/paradiseo-eo/doc/html/classeo_truncate.html deleted file mode 100644 index 4c54b06cd..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_truncate.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: eoTruncate< EOT > Class Template Reference - - - - -

eoTruncate< EOT > Class Template Reference

truncation method using sort -More... -

-#include <eoReduce.h> -

-

Inheritance diagram for eoTruncate< EOT >: -

- -eoReduce< EOT > -eoBF< eoPop< EOT > &, unsigned, void > -eoFunctorBase - -List of all members. - - - - - -

Private Member Functions

-void operator() (eoPop< EOT > &_newgen, unsigned _newsize)
 The pure virtual function that needs to be implemented by the subclass.
-

Detailed Description

-

template<class EOT>
- class eoTruncate< EOT >

- -truncation method using sort -

- -

-Definition at line 49 of file eoReduce.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncate.png b/trunk/paradiseo-eo/doc/html/classeo_truncate.png deleted file mode 100644 index 812f1ba99..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_truncate.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncate_split-members.html b/trunk/paradiseo-eo/doc/html/classeo_truncate_split-members.html deleted file mode 100644 index eaa415030..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_truncate_split-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoTruncateSplit< EOT > Member List

This is the complete list of members for eoTruncateSplit< EOT >, including all inherited members.

- - - - - - - -
eoTruncateSplit(eoHowMany _howMany, bool _returnEliminated=false)eoTruncateSplit< EOT > [inline]
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howMany (defined in eoTruncateSplit< EOT >)eoTruncateSplit< EOT > [private]
operator()(eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)eoTruncateSplit< EOT > [inline, virtual]
returnEliminated (defined in eoTruncateSplit< EOT >)eoTruncateSplit< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncate_split.html b/trunk/paradiseo-eo/doc/html/classeo_truncate_split.html deleted file mode 100644 index 13b8c679d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_truncate_split.html +++ /dev/null @@ -1,54 +0,0 @@ - - -EO: eoTruncateSplit< EOT > Class Template Reference - - - - -

eoTruncateSplit< EOT > Class Template Reference

deterministic truncation method using sort -More... -

-#include <eoReduceSplit.h> -

-

Inheritance diagram for eoTruncateSplit< EOT >: -

- -eoReduceSplit< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Member Functions

eoTruncateSplit (eoHowMany _howMany, bool _returnEliminated=false)
 Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys.
-void operator() (eoPop< EOT > &_newgen, eoPop< EOT > &_eliminated)
 do the jonb

Private Attributes

-eoHowMany howMany
-bool returnEliminated
-

Detailed Description

-

template<class EOT>
- class eoTruncateSplit< EOT >

- -deterministic truncation method using sort -

- -

-Definition at line 47 of file eoReduceSplit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncate_split.png b/trunk/paradiseo-eo/doc/html/classeo_truncate_split.png deleted file mode 100644 index 49ca7c959..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_truncate_split.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many-members.html b/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many-members.html deleted file mode 100644 index 35069f8cc..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoTruncatedSelectMany< EOT > Member List

This is the complete list of members for eoTruncatedSelectMany< EOT >, including all inherited members.

- - - - - - - - - -
eoTruncatedSelectMany(eoSelectOne< EOT > &_select, double _rateGenitors, double _rateFertile, bool _interpret_as_rateG=true, bool _interpret_as_rateF=true)eoTruncatedSelectMany< EOT > [inline]
eoTruncatedSelectMany(eoSelectOne< EOT > &_select, eoHowMany _howManyGenitors, eoHowMany _howManyFertile) (defined in eoTruncatedSelectMany< EOT >)eoTruncatedSelectMany< EOT > [inline]
functor_category()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
howManyFertile (defined in eoTruncatedSelectMany< EOT >)eoTruncatedSelectMany< EOT > [private]
howManyGenitors (defined in eoTruncatedSelectMany< EOT >)eoTruncatedSelectMany< EOT > [private]
operator()(const eoPop< EOT > &_source, eoPop< EOT > &_dest)eoTruncatedSelectMany< EOT > [inline, virtual]
select (defined in eoTruncatedSelectMany< EOT >)eoTruncatedSelectMany< EOT > [private]
~eoBF()eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many.html b/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many.html deleted file mode 100644 index 247fbe3c9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many.html +++ /dev/null @@ -1,121 +0,0 @@ - - -EO: eoTruncatedSelectMany< EOT > Class Template Reference - - - - -

eoTruncatedSelectMany< EOT > Class Template Reference

eoTruncatedSelectMany selects many individuals using eoSelectOne as it's mechanism. -More... -

-#include <eoTruncatedSelectMany.h> -

-

Inheritance diagram for eoTruncatedSelectMany< EOT >: -

- -eoSelect< EOT > -eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

eoTruncatedSelectMany (eoSelectOne< EOT > &_select, double _rateGenitors, double _rateFertile, bool _interpret_as_rateG=true, bool _interpret_as_rateF=true)
 Ctor.
eoTruncatedSelectMany (eoSelectOne< EOT > &_select, eoHowMany _howManyGenitors, eoHowMany _howManyFertile)
virtual void operator() (const eoPop< EOT > &_source, eoPop< EOT > &_dest)
 The implementation repeatidly selects an individual.

Private Attributes

-eoSelectOne< EOT > & select
-eoHowMany howManyGenitors
-eoHowMany howManyFertile
-

Detailed Description

-

template<class EOT>
- class eoTruncatedSelectMany< EOT >

- -eoTruncatedSelectMany selects many individuals using eoSelectOne as it's mechanism. -

-Therefore eoSelectMany needs an eoSelectOne in its ctor

-It will use an eoHowMnay to determine the number of guys to select, and push them to the back of the destination population.

-And it will only perform selection from the top guys in the population.

-It is NOT a special case of eoSelectMany because it needs to SORT the population to discard the worst guys before doing the selection

-However, the same result can be obtained by embedding an eoTruncatedSelectOne into an eoSelectMany ... -

- -

-Definition at line 53 of file eoTruncatedSelectMany.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
virtual void eoTruncatedSelectMany< EOT >::operator() const eoPop< EOT > &  _source,
eoPop< EOT > &  _dest
[inline, virtual]
-
- - - - - -
-   - - -

-The implementation repeatidly selects an individual. -

-

Parameters:
- - - -
_source the source population
_dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it)
-
- -

-Implements eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >. -

-Definition at line 77 of file eoTruncatedSelectMany.h. -

-References eoSelectOne< EOT, WorthT >::setup(), eoPop< EOT >::shuffle(), and eoPop< EOT >::sort().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many.png b/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many.png deleted file mode 100644 index af27f8039..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_many.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one-members.html b/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one-members.html deleted file mode 100644 index 0b5027f2b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: Member List - - - - -

eoTruncatedSelectOne< EOT > Member List

This is the complete list of members for eoTruncatedSelectOne< EOT >, including all inherited members.

- - - - - - - - - - - -
actualPop (defined in eoTruncatedSelectOne< EOT >)eoTruncatedSelectOne< EOT > [private]
eoTruncatedSelectOne(eoSelectOne< EOT > &_select, double _rateFertile, bool _interpret_as_rateF=true)eoTruncatedSelectOne< EOT > [inline]
eoTruncatedSelectOne(eoSelectOne< EOT > &_select, eoHowMany _howManyFertile)eoTruncatedSelectOne< EOT > [inline]
functor_category()eoUF< const eoPop< EOT > &, const EOT & > [inline, static]
howManyFertile (defined in eoTruncatedSelectOne< EOT >)eoTruncatedSelectOne< EOT > [private]
operator()(const eoPop< EOT > &_pop)eoTruncatedSelectOne< EOT > [inline, virtual]
select (defined in eoTruncatedSelectOne< EOT >)eoTruncatedSelectOne< EOT > [private]
setup(const eoPop< EOT > &_source)eoTruncatedSelectOne< EOT > [inline, virtual]
tmpPop (defined in eoTruncatedSelectOne< EOT >)eoTruncatedSelectOne< EOT > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< const eoPop< EOT > &, const EOT & > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one.html b/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one.html deleted file mode 100644 index 439812046..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one.html +++ /dev/null @@ -1,115 +0,0 @@ - - -EO: eoTruncatedSelectOne< EOT > Class Template Reference - - - - -

eoTruncatedSelectOne< EOT > Class Template Reference

eoTruncatedSelectOne selects one individual using eoSelectOne as it's mechanism. -More... -

-#include <eoTruncatedSelectOne.h> -

-

Inheritance diagram for eoTruncatedSelectOne< EOT >: -

- -eoSelectOne< EOT > -eoUF< const eoPop< EOT > &, const EOT & > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoTruncatedSelectOne (eoSelectOne< EOT > &_select, double _rateFertile, bool _interpret_as_rateF=true)
 Ctor from rate and bool.
eoTruncatedSelectOne (eoSelectOne< EOT > &_select, eoHowMany _howManyFertile)
 Ctor with eoHowMany.
-void setup (const eoPop< EOT > &_source)
 setup procedures: fills the temporary population with the fertile guys
const EOToperator() (const eoPop< EOT > &_pop)
 The implementation selects an individual from the fertile pop.

Private Attributes

-eoSelectOne< EOT > & select
-eoHowMany howManyFertile
-eoPop< EOTtmpPop
-eoPop< EOT > & actualPop
-

Detailed Description

-

template<class EOT>
- class eoTruncatedSelectOne< EOT >

- -eoTruncatedSelectOne selects one individual using eoSelectOne as it's mechanism. -

-Therefore eoTruncatedSelectOne needs an eoSelectOne in its ctor

-It will perform selection only from the top guys in the population. -

- -

-Definition at line 45 of file eoTruncatedSelectOne.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
const EOT& eoTruncatedSelectOne< EOT >::operator() const eoPop< EOT > &  _pop  )  [inline, virtual]
-
- - - - - -
-   - - -

-The implementation selects an individual from the fertile pop. -

-

Parameters:
- - - -
_source the source population
_dest the selected guy
-
- -

-Implements eoUF< const eoPop< EOT > &, const EOT & >. -

-Definition at line 98 of file eoTruncatedSelectOne.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one.png b/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one.png deleted file mode 100644 index 70b8dd0e3..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_truncated_select_one.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover-members.html b/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover-members.html deleted file mode 100644 index fac10346f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover-members.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: Member List - - - - -

eoUBitXover< Chrom > Member List

This is the complete list of members for eoUBitXover< Chrom >, including all inherited members.

- - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
className() const eoUBitXover< Chrom > [inline, virtual]
eoOp(OpType _type)eoOp< Chrom > [inline]
eoOp(const eoOp &_eop)eoOp< Chrom > [inline]
eoQuadOp()eoQuadOp< Chrom > [inline]
eoUBitXover(const float &_preference=0.5)eoUBitXover< Chrom > [inline]
functor_category()eoBF< Chrom &, Chrom &, bool > [inline, static]
general enum value (defined in eoOp< Chrom >)eoOp< Chrom >
getType() const eoOp< Chrom > [inline]
operator()(Chrom &chrom1, Chrom &chrom2)eoUBitXover< Chrom > [inline, virtual]
preference (defined in eoUBitXover< Chrom >)eoUBitXover< Chrom > [private]
quadratic enum value (defined in eoOp< Chrom >)eoOp< Chrom >
unary enum value (defined in eoOp< Chrom >)eoOp< Chrom >
~eoBF()eoBF< Chrom &, Chrom &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< Chrom > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover.html b/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover.html deleted file mode 100644 index fe7fe465f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover.html +++ /dev/null @@ -1,112 +0,0 @@ - - -EO: eoUBitXover< Chrom > Class Template Reference - - - - -

eoUBitXover< Chrom > Class Template Reference
- -[Bitstring] -

eoUBitXover --> classic Uniform crossover -More... -

-#include <ga/eoBitOp.h> -

-

Inheritance diagram for eoUBitXover< Chrom >: -

- -eoQuadOp< Chrom > -eoOp< Chrom > -eoBF< Chrom &, Chrom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

eoUBitXover (const float &_preference=0.5)
 (Default) Constructor.
-virtual std::string className () const
 The class name.
bool operator() (Chrom &chrom1, Chrom &chrom2)
 Uniform crossover for binary chromosomes.

Private Attributes

-float preference
-

Detailed Description

-

template<class Chrom>
- class eoUBitXover< Chrom >

- -eoUBitXover --> classic Uniform crossover -

- -

-Definition at line 274 of file eoBitOp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class Chrom>
bool eoUBitXover< Chrom >::operator() Chrom &  chrom1,
Chrom &  chrom2
[inline, virtual]
-
- - - - - -
-   - - -

-Uniform crossover for binary chromosomes. -

-

Parameters:
- - - -
chrom1 The first chromosome.
chrom2 The first chromosome. ::runtime_error if sizes don't match
-
- -

-Implements eoBF< Chrom &, Chrom &, bool >. -

-Definition at line 292 of file eoBitOp.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover.png b/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover.png deleted file mode 100644 index 64e9912dd..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_u_bit_xover.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_u_f-members.html b/trunk/paradiseo-eo/doc/html/classeo_u_f-members.html deleted file mode 100644 index d8ab57efb..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_u_f-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

eoUF< A1, R > Member List

This is the complete list of members for eoUF< A1, R >, including all inherited members.

- - - - -
functor_category()eoUF< A1, R > [inline, static]
operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< A1, R > [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_u_f.html b/trunk/paradiseo-eo/doc/html/classeo_u_f.html deleted file mode 100644 index f1bcfcaf7..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_u_f.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoUF< A1, R > Class Template Reference - - - - -

eoUF< A1, R > Class Template Reference

Basic Unary Functor. -More... -

-#include <eoFunctor.h> -

-

Inheritance diagram for eoUF< A1, R >: -

- -eoFunctorBase -eoPerf2Worth< Dummy > - -List of all members. - - - - - - - - - - - - -

Public Member Functions

-virtual ~eoUF ()
 virtual dtor here so there is no need to define it in derived classes
-virtual R operator() (A1)=0
 The pure virtual function that needs to be implemented by the subclass.

Static Public Member Functions

-eoFunctorBase::unary_function_tag functor_category ()
 tag to identify a procedure in compile time function selection functor_category
-

Detailed Description

-

template<class A1, class R>
- class eoUF< A1, R >

- -Basic Unary Functor. -

-Derive from this class when defining any unary function. First template argument is the first_argument_type, second result_type. Argument and result types can be any type including void for result_type -

- -

-Definition at line 108 of file eoFunctor.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_u_f.png b/trunk/paradiseo-eo/doc/html/classeo_u_f.png deleted file mode 100644 index 774c2e201..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_u_f.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter-members.html b/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter-members.html deleted file mode 100644 index c029f1d59..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoUnaryFunctorCounter< UnaryFunctor > Member List

This is the complete list of members for eoUnaryFunctorCounter< UnaryFunctor >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoUnaryFunctorCounter(UnaryFunctor &_func, std::string _name="uf_counter") (defined in eoUnaryFunctorCounter< UnaryFunctor >)eoUnaryFunctorCounter< UnaryFunctor > [inline]
eoValueParam(void)eoValueParam< unsigned long > [inline]
eoValueParam(unsigned long_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< unsigned long > [inline]
func (defined in eoUnaryFunctorCounter< UnaryFunctor >)eoUnaryFunctorCounter< UnaryFunctor > [private]
getValue(void) const eoValueParam< unsigned long > [inline, virtual]
longName() const eoParam [inline]
operator()(typename UnaryFunctor::first_argument_type _arg1)eoUnaryFunctorCounter< UnaryFunctor > [inline]
repValue (defined in eoValueParam< unsigned long >)eoValueParam< unsigned long > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< unsigned long > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< unsigned long > [inline]
value() const eoValueParam< unsigned long > [inline]
~eoParam()eoParam [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter.html b/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter.html deleted file mode 100644 index 99258b485..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter.html +++ /dev/null @@ -1,96 +0,0 @@ - - -EO: eoUnaryFunctorCounter< UnaryFunctor > Class Template Reference - - - - -

eoUnaryFunctorCounter< UnaryFunctor > Class Template Reference

Generic counter class that counts the number of times a unary function is used. -More... -

-#include <eoCounter.h> -

-

Inheritance diagram for eoUnaryFunctorCounter< UnaryFunctor >: -

- -eoValueParam< unsigned long > -eoParam - -List of all members. - - - - - - - - - - -

Public Member Functions

eoUnaryFunctorCounter (UnaryFunctor &_func, std::string _name="uf_counter")
UnaryFunctor::result_type operator() (typename UnaryFunctor::first_argument_type _arg1)
 Calls the embedded function and increments the counter.

Private Attributes

-UnaryFunctor & func
-

Detailed Description

-

template<class UnaryFunctor>
- class eoUnaryFunctorCounter< UnaryFunctor >

- -Generic counter class that counts the number of times a unary function is used. -

-Add a unary function through its ctor and use this class instead of it.

-It is derived from eoValueParam so you can add it to a monitor.

-Example: suppose you have an eoEvalFunc called myeval, to count the number of evaluations, just define:

-eoUnaryFunctorCounter<void, EoType> evalCounter(myeval);

-and use evalCounter now instead of myeval. -

- -

-Definition at line 95 of file eoCounter.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class UnaryFunctor>
UnaryFunctor::result_type eoUnaryFunctorCounter< UnaryFunctor >::operator() typename UnaryFunctor::first_argument_type  _arg1  )  [inline]
-
- - - - - -
-   - - -

-Calls the embedded function and increments the counter. -

-Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like "return void;" is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet.

-We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in EO most functors return void, it was chosen to support void.

-But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then.

-You happy GNU (and other compiler) users will not have a problem with this. -

-Definition at line 118 of file eoCounter.h. -

-References eoValueParam< unsigned long >::value().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter.png b/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter.png deleted file mode 100644 index d92e9af37..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_unary_functor_counter.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange-members.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange-members.html deleted file mode 100644 index 366218c12..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Member List - - - - -

eoUniformAtomExchange< Atom > Member List

This is the complete list of members for eoUniformAtomExchange< Atom >, including all inherited members.

- - - - - - - - - -
className() const eoUniformAtomExchange< Atom > [inline, virtual]
eoUniformAtomExchange(double _rate=0.5) (defined in eoUniformAtomExchange< Atom >)eoUniformAtomExchange< Atom > [inline]
functor_category()eoBF< unsigned, Atom &, bool > [inline, static]
mask (defined in eoUniformAtomExchange< Atom >)eoUniformAtomExchange< Atom > [private]
operator()(unsigned _i, Atom &)eoUniformAtomExchange< Atom > [inline, virtual]
randomize(unsigned _size1, unsigned _size2)eoUniformAtomExchange< Atom > [inline, virtual]
rate (defined in eoUniformAtomExchange< Atom >)eoUniformAtomExchange< Atom > [private]
~eoBF()eoBF< unsigned, Atom &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange.html deleted file mode 100644 index 2ef38aa7b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange.html +++ /dev/null @@ -1,61 +0,0 @@ - - -EO: eoUniformAtomExchange< Atom > Class Template Reference - - - - -

eoUniformAtomExchange< Atom > Class Template Reference

Uniform crossover - well, not really, efficient for FixedLength. -More... -

-#include <eoVariableLengthCrossover.h> -

-

Inheritance diagram for eoUniformAtomExchange< Atom >: -

- -eoAtomExchange< Atom > -eoBF< unsigned, Atom &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoUniformAtomExchange (double _rate=0.5)
-void randomize (unsigned _size1, unsigned _size2)
 randomize: fill the mask: the exchange will be simulated first to see if sizes are OK, so it must be repeatable : the mask has to be a private data, cannot be computed on the fly
-bool operator() (unsigned _i, Atom &)
 the operator() simply returns the mask booleans in turn
-virtual std::string className () const
 inherited className()

Private Attributes

-double rate
-std::vector< bool > mask
-

Detailed Description

-

template<class Atom>
- class eoUniformAtomExchange< Atom >

- -Uniform crossover - well, not really, efficient for FixedLength. -

- -

-Definition at line 52 of file eoVariableLengthCrossover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange.png b/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange.png deleted file mode 100644 index bb36e4852..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_uniform_atom_exchange.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser-members.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser-members.html deleted file mode 100644 index c2513914b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

eoUniformGeneChooser< EOT > Member List

This is the complete list of members for eoUniformGeneChooser< EOT >, including all inherited members.

- - - - - - -
className() const (defined in eoUniformGeneChooser< EOT >)eoUniformGeneChooser< EOT > [inline, virtual]
eoUniformGeneChooser() (defined in eoUniformGeneChooser< EOT >)eoUniformGeneChooser< EOT > [inline]
functor_category()eoUF< EOT &, unsigned int > [inline, static]
operator()(EOT &_eo)eoUniformGeneChooser< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, unsigned int > [inline, virtual]


Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser.html deleted file mode 100644 index 697edb0fc..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: eoUniformGeneChooser< EOT > Class Template Reference - - - - -

eoUniformGeneChooser< EOT > Class Template Reference

Uniform choice of gene to delete. -More... -

-#include <eoVariableLengthMutation.h> -

-

Inheritance diagram for eoUniformGeneChooser< EOT >: -

- -eoGeneDelChooser< EOT > -eoUF< EOT &, unsigned int > -eoFunctorBase - -List of all members. - - - - - - - -

Public Member Functions

-unsigned operator() (EOT &_eo)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className () const
-

Detailed Description

-

template<class EOT>
- class eoUniformGeneChooser< EOT >

- -Uniform choice of gene to delete. -

- -

-Definition at line 94 of file eoVariableLengthMutation.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser.png b/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser.png deleted file mode 100644 index 49aa28bce..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_uniform_gene_chooser.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_generator-members.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_generator-members.html deleted file mode 100644 index 3c8faf88d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_generator-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: Member List - - - - -

eoUniformGenerator< T > Member List

This is the complete list of members for eoUniformGenerator< T >, including all inherited members.

- - - - - - - - - - - -
eoUniformGenerator(T _max=T(1.0), eoRng &_rng=rng) (defined in eoUniformGenerator< T >)eoUniformGenerator< T > [inline]
eoUniformGenerator(T _min, T _max, eoRng &_rng=rng) (defined in eoUniformGenerator< T >)eoUniformGenerator< T > [inline]
functor_category()eoF< T > [inline, static]
minim (defined in eoUniformGenerator< T >)eoUniformGenerator< T > [private]
operator()(void)eoUniformGenerator< T > [inline, virtual]
operator()(void)eoUniformGenerator< T > [inline, virtual]
range (defined in eoUniformGenerator< T >)eoUniformGenerator< T > [private]
result_type typedefeoF< T >
uniform (defined in eoUniformGenerator< T >)eoUniformGenerator< T > [private]
~eoF()eoF< T > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_generator.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_generator.html deleted file mode 100644 index 9964155b4..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_generator.html +++ /dev/null @@ -1,68 +0,0 @@ - - -EO: eoUniformGenerator< T > Class Template Reference - - - - -

eoUniformGenerator< T > Class Template Reference

The class eoUniform can be used in the STL generate function to easily generate random floats and doubles. -More... -

-#include <eoRndGenerators.h> -

-

Inheritance diagram for eoUniformGenerator< T >: -

- -eoRndGenerator< T > -eoF< T > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoUniformGenerator (T _max=T(1.0), eoRng &_rng=rng)
eoUniformGenerator (T _min, T _max, eoRng &_rng=rng)
-T operator() (void)
 Generates the number, uses a static_cast to get the right behaviour for ints and unsigneds.
-template<>
bool operator() (void)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-T minim
-T range
-eoRnguniform
-

Detailed Description

-

template<class T = double>
- class eoUniformGenerator< T >

- -The class eoUniform can be used in the STL generate function to easily generate random floats and doubles. -

-It can also be used for ints and unsigneds by virtue of the static_cast in the generator function.

-Also present is a specialization for boolean, that will ignore the minima and maxima that are possibly set and will return an unbiased flip of a coin. For a biased flip, use the eoBoolean

-either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max) -

- -

-Definition at line 66 of file eoRndGenerators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_generator.png b/trunk/paradiseo-eo/doc/html/classeo_uniform_generator.png deleted file mode 100644 index 8fc992a5f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_uniform_generator.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_init-members.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_init-members.html deleted file mode 100644 index c0fe5699b..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_init-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: Member List - - - - -

eoUniformInit< T > Member List

This is the complete list of members for eoUniformInit< T >, including all inherited members.

- - - - - - - - - - - - -
className(void) const eoInit< T > [inline, virtual]
eoUniformInit(T _max=T(1.0), eoRng &_rng=rng)eoUniformInit< T > [inline]
eoUniformInit(eoRealBounds &_bound, eoRng &_rng=rng)eoUniformInit< T > [inline]
eoUniformInit(T _min, T _max, eoRng &_rng=rng)eoUniformInit< T > [inline]
functor_category()eoUF< T &, void > [inline, static]
minim (defined in eoUniformInit< T >)eoUniformInit< T > [private]
operator()(T &_t)eoUniformInit< T > [inline, virtual]
operator()(bool &_b) (defined in eoUniformInit< T >)eoUniformInit< T > [inline]
range (defined in eoUniformInit< T >)eoUniformInit< T > [private]
uniform (defined in eoUniformInit< T >)eoUniformInit< T > [private]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< T &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_init.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_init.html deleted file mode 100644 index 27423b329..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_init.html +++ /dev/null @@ -1,73 +0,0 @@ - - -EO: eoUniformInit< T > Class Template Reference - - - - -

eoUniformInit< T > Class Template Reference

The class eoUniformInit can be used in the STL apply function to easily randomize floats and doubles. -More... -

-#include <eoUniformInit.h> -

-

Inheritance diagram for eoUniformInit< T >: -

- -eoInit< T > -eoUF< T &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoUniformInit (T _max=T(1.0), eoRng &_rng=rng)
 Ctor with only a max bound.
eoUniformInit (eoRealBounds &_bound, eoRng &_rng=rng)
 Ctor with an eoRealBound.
eoUniformInit (T _min, T _max, eoRng &_rng=rng)
 Ctor with explicit min and max.
-void operator() (T &_t)
 Generates the number, uses a static_cast to get the right behaviour for ints and unsigneds.
-template<>
void operator() (bool &_b)

Private Attributes

-T minim
-T range
-eoRnguniform
-

Detailed Description

-

template<class T = double>
- class eoUniformInit< T >

- -The class eoUniformInit can be used in the STL apply function to easily randomize floats and doubles. -

-It can also be used for ints and unsigneds by virtue of the static_cast

-Also present is a specialization for boolean, that will ignore the minima and maxima that are possibly set and will return an unbiased flip of a coin. For a biased flip, use the eoBoolean

-either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max) -

- -

-Definition at line 62 of file eoUniformInit.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_init.png b/trunk/paradiseo-eo/doc/html/classeo_uniform_init.png deleted file mode 100644 index b3c048f94..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_uniform_init.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation-members.html deleted file mode 100644 index 61b8df388..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: Member List - - - - -

eoUniformMutation< EOT > Member List

This is the complete list of members for eoUniformMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
bounds (defined in eoUniformMutation< EOT >)eoUniformMutation< EOT > [private]
className() const eoUniformMutation< EOT > [inline, virtual]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoUniformMutation(const double &_epsilon, const double &_p_change=1.0)eoUniformMutation< EOT > [inline]
eoUniformMutation(eoRealVectorBounds &_bounds, const double &_epsilon, const double &_p_change=1.0)eoUniformMutation< EOT > [inline]
eoUniformMutation(eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const std::vector< double > &_p_change)eoUniformMutation< EOT > [inline]
epsilon (defined in eoUniformMutation< EOT >)eoUniformMutation< EOT > [private]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
homogeneous (defined in eoUniformMutation< EOT >)eoUniformMutation< EOT > [private]
operator()(EOT &_eo)eoUniformMutation< EOT > [inline, virtual]
p_change (defined in eoUniformMutation< EOT >)eoUniformMutation< EOT > [private]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation.html deleted file mode 100644 index 86affa289..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation.html +++ /dev/null @@ -1,285 +0,0 @@ - - -EO: eoUniformMutation< EOT > Class Template Reference - - - - -

eoUniformMutation< EOT > Class Template Reference

eoUniformMutation --> changes all values of the std::vector by uniform choice with range epsilon with probability p_change per variable -More... -

-#include <Tutorial/eoRealOp.h> -

-

Inheritance diagram for eoUniformMutation< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 eoUniformMutation (const double &_epsilon, const double &_p_change=1.0)
 Constructor without bounds == unbounded variables :-) not very clean, but who's doing unbounded optimization anyway? and it's there mostly for backward compatibility.
 eoUniformMutation (eoRealVectorBounds &_bounds, const double &_epsilon, const double &_p_change=1.0)
 Constructor with bounds.
 eoUniformMutation (eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const std::vector< double > &_p_change)
 Constructor with bounds.
-virtual std::string className () const
 The class name.
bool operator() (EOT &_eo)
 Do it!

Private Attributes

-bool homogeneous
-eoRealVectorBoundsbounds
-std::vector< double > epsilon
-std::vector< double > p_change
-

Detailed Description

-

template<class EOT>
- class eoUniformMutation< EOT >

- -eoUniformMutation --> changes all values of the std::vector by uniform choice with range epsilon with probability p_change per variable -

- -

-Definition at line 45 of file eoRealOp.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoUniformMutation< EOT >::eoUniformMutation const double &  _epsilon,
const double &  _p_change = 1.0
[inline]
-
- - - - - -
-   - - -

-Constructor without bounds == unbounded variables :-) not very clean, but who's doing unbounded optimization anyway? and it's there mostly for backward compatibility. -

-

Parameters:
- - - -
_epsilon the range for uniform nutation
_p_change the probability to change a given coordinate
-
- -

-Definition at line 56 of file eoRealOp.h.

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoUniformMutation< EOT >::eoUniformMutation eoRealVectorBounds _bounds,
const double &  _epsilon,
const double &  _p_change = 1.0
[inline]
-
- - - - - -
-   - - -

-Constructor with bounds. -

-

Parameters:
- - - - -
_bounds an eoRealVectorBounds that contains the bounds
_epsilon the range for uniform mutation - a double to be scaled
_p_change the one probability to change all coordinates
-
- -

-Definition at line 66 of file eoRealOp.h. -

-References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoUniformMutation< EOT >::eoUniformMutation eoRealVectorBounds _bounds,
const std::vector< double > &  _epsilon,
const std::vector< double > &  _p_change
[inline]
-
- - - - - -
-   - - -

-Constructor with bounds. -

-

Parameters:
- - - - -
_bounds an eoRealVectorBounds that contains the bounds
_epsilon the VECTOR of ranges for uniform mutation
_p_change the VECTOR of probabilities for each coordinates
-
- -

-Definition at line 83 of file eoRealOp.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
bool eoUniformMutation< EOT >::operator() EOT _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Do it! -

-

Parameters:
- - -
_eo The indi undergoing the mutation
-
- -

-Implements eoUF< EOT &, bool >. -

-Definition at line 96 of file eoRealOp.h. -

-References eoRng::flip(), eoRealBaseVectorBounds::isMaxBounded(), eoRealBaseVectorBounds::isMinBounded(), eoRealBaseVectorBounds::maximum(), eoRealBaseVectorBounds::minimum(), and eoRng::uniform().

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation.png deleted file mode 100644 index 9018a19e1..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_uniform_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_updatable-members.html b/trunk/paradiseo-eo/doc/html/classeo_updatable-members.html deleted file mode 100644 index f9b2dacc3..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_updatable-members.html +++ /dev/null @@ -1,16 +0,0 @@ - - -EO: Member List - - - - -

eoUpdatable Member List

This is the complete list of members for eoUpdatable, including all inherited members.

- - -
update()=0 (defined in eoUpdatable)eoUpdatable [pure virtual]
~eoUpdatable()eoUpdatable [inline, virtual]


Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_updatable.html b/trunk/paradiseo-eo/doc/html/classeo_updatable.html deleted file mode 100644 index 5e59972b6..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_updatable.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: eoUpdatable Class Reference - - - - -

eoUpdatable Class Reference

eoUpdatable is a generic class for adding updatation to an existing class Just says it has an update() method -More... -

-#include <eoUpdatable.h> -

-

Inheritance diagram for eoUpdatable: -

- -eoOneFifthMutation< EOT > - -List of all members. - - - - - - - -

Public Member Functions

-virtual ~eoUpdatable ()
 Virtual destructor.
-virtual void update ()=0
-

Detailed Description

-eoUpdatable is a generic class for adding updatation to an existing class Just says it has an update() method -

- -

-Definition at line 36 of file eoUpdatable.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_updatable.png b/trunk/paradiseo-eo/doc/html/classeo_updatable.png deleted file mode 100644 index d13f1ad81..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_updatable.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_updater-members.html b/trunk/paradiseo-eo/doc/html/classeo_updater-members.html deleted file mode 100644 index 4a81da4c9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_updater-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoUpdater Member List

This is the complete list of members for eoUpdater, including all inherited members.

- - - - - - - -
className(void) const (defined in eoUpdater)eoUpdater [inline, virtual]
functor_category()eoF< void > [inline, static]
lastCall() (defined in eoUpdater)eoUpdater [inline, virtual]
operator()()=0eoF< void > [pure virtual]
result_type typedefeoF< void >
~eoF()eoF< void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_updater.html b/trunk/paradiseo-eo/doc/html/classeo_updater.html deleted file mode 100644 index 421b309d9..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_updater.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoUpdater Class Reference - - - - -

eoUpdater Class Reference

eoUpdater is a generic procudere for updating whatever you want. -More... -

-#include <eoUpdater.h> -

-

Inheritance diagram for eoUpdater: -

- -eoF< void > -eoFunctorBase -eoCountedStateSaver -eoDynUpdater -eoIncrementor< T > -eoIncrementorParam< T > -eoTimeCounter -eoTimedStateSaver -eoCountedDynUpdate -eoTimedDynUpdate - -List of all members. - - - - - - -

Public Member Functions

-virtual void lastCall ()
-virtual std::string className (void) const
-

Detailed Description

-eoUpdater is a generic procudere for updating whatever you want. -

-Yet again an empty name -

- -

-Definition at line 39 of file eoUpdater.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_updater.png b/trunk/paradiseo-eo/doc/html/classeo_updater.png deleted file mode 100644 index 8573d9cce..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_updater.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_value_param-members.html b/trunk/paradiseo-eo/doc/html/classeo_value_param-members.html deleted file mode 100644 index 9bf22fa39..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_value_param-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: Member List - - - - -

eoValueParam< ValueType > Member List

This is the complete list of members for eoValueParam< ValueType >, including all inherited members.

- - - - - - - - - - - - - - - - - -
defValue() const eoParam [inline]
defValue(const std::string &str)eoParam [inline]
description() const eoParam [inline]
eoParam()eoParam [inline]
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam [inline]
eoValueParam(void)eoValueParam< ValueType > [inline]
eoValueParam(ValueType _defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< ValueType > [inline]
getValue(void) const eoValueParam< ValueType > [inline, virtual]
longName() const eoParam [inline]
repValue (defined in eoValueParam< ValueType >)eoValueParam< ValueType > [protected]
required() const eoParam [inline]
setLongName(std::string _longName)eoParam [inline]
setValue(const std::string &_value)eoValueParam< ValueType > [inline, virtual]
shortName() const eoParam [inline]
value()eoValueParam< ValueType > [inline]
value() const eoValueParam< ValueType > [inline]
~eoParam()eoParam [inline, virtual]


Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_value_param.html b/trunk/paradiseo-eo/doc/html/classeo_value_param.html deleted file mode 100644 index aa65a2d52..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_value_param.html +++ /dev/null @@ -1,216 +0,0 @@ - - -EO: eoValueParam< ValueType > Class Template Reference - - - - -

eoValueParam< ValueType > Class Template Reference

eoValueParam<ValueType>: templatized derivation of eoParam. -More... -

-#include <eoParam.h> -

-

Inheritance diagram for eoValueParam< ValueType >: -

- -eoParam -eoPerf2Worth< EOT, EOT::Fitness > -eoNoPerf2Worth< EOT > - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

eoValueParam (void)
 Construct a Param.
 eoValueParam (ValueType _defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)
 Construct a Param.
ValueType & value ()
 Parameter value.
const ValueType & value () const
 Parameter value.
-std::string getValue (void) const
 Pure virtual function to get the value out.
-void setValue (const std::string &_value)
 Pure virtual function to set the value.

Protected Attributes

-ValueType repValue
-

Detailed Description

-

template<class ValueType>
- class eoValueParam< ValueType >

- -eoValueParam<ValueType>: templatized derivation of eoParam. -

-Can be used to contain any scalar value type. It makes use of std::strstream to get and set values. This should be changed to std::stringstream when that class is available in g++.

-Note also that there is a template specialization for std::pair<double, double> and for std::vector<double>. These stream their contents delimited with whitespace. -

- -

-Definition at line 136 of file eoParam.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class ValueType>
eoValueParam< ValueType >::eoValueParam ValueType  _defaultValue,
std::string  _longName,
std::string  _description = "No description",
char  _shortHand = 0,
bool  _required = false
[inline]
-
- - - - - -
-   - - -

-Construct a Param. -

-

Parameters:
- - - - - - -
_defaultValue The default value
_longName Long name of the argument
_description Description of the parameter. What is useful for.
_shortName Short name of the argument (Optional)
_required If it is a necessary parameter or not
-
- -

-Definition at line 151 of file eoParam.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - -
-template<class ValueType>
ValueType& eoValueParam< ValueType >::value  )  [inline]
-
- - - - - -
-   - - -

-Parameter value. -

-

Returns:
parameter value
- -

-Definition at line 166 of file eoParam.h. -

-Referenced by eoNoPerf2Worth< EOT >::operator()(), eoFileSnapshot::operator()(), eoFDCStat< EOT >::operator()(), and eoParser::setStopOnUnknownParam().

-

- - - - -
- - - - - - - - - - - -
-template<class ValueType>
const ValueType& eoValueParam< ValueType >::value  )  const [inline]
-
- - - - - -
-   - - -

-Parameter value. -

-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

-

Returns:
parameter value
- -

-Definition at line 175 of file eoParam.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_value_param.png b/trunk/paradiseo-eo/doc/html/classeo_value_param.png deleted file mode 100644 index e09bc1d6c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_value_param.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits-members.html b/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits-members.html deleted file mode 100644 index ca915f979..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoVariableParetoTraits Member List

This is the complete list of members for eoVariableParetoTraits, including all inherited members.

- - - - - - - -
bObj (defined in eoVariableParetoTraits)eoVariableParetoTraits [private, static]
maximizing(unsigned _i) (defined in eoVariableParetoTraits)eoVariableParetoTraits [inline, static]
maximizing(int which) (defined in eoParetoFitnessTraits)eoParetoFitnessTraits [inline, static]
nObj (defined in eoVariableParetoTraits)eoVariableParetoTraits [private, static]
nObjectives()eoVariableParetoTraits [inline, static]
setUp(unsigned _n, std::vector< bool > &_b)eoVariableParetoTraits [inline, static]
tol() (defined in eoParetoFitnessTraits)eoParetoFitnessTraits [inline, static]


Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits.html b/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits.html deleted file mode 100644 index 5eb872f6a..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits.html +++ /dev/null @@ -1,52 +0,0 @@ - - -EO: eoVariableParetoTraits Class Reference - - - - -

eoVariableParetoTraits Class Reference

eoVariableParetoTraits : an eoParetoFitnessTraits whose characteristics can be set at run-time (nb objectives and min/max's) Why bother? For didactical purposes (and EASEA implementation :-) -More... -

-#include <eoParetoFitness.h> -

-

Inheritance diagram for eoVariableParetoTraits: -

- -eoParetoFitnessTraits - -List of all members. - - - - - - - - - - - - - - - -

Static Public Member Functions

-void setUp (unsigned _n, std::vector< bool > &_b)
 setting the static stuff
-unsigned nObjectives ()
 the accessors
-bool maximizing (unsigned _i)

Static Private Attributes

-unsigned nObj
-std::vector< bool > bObj
-

Detailed Description

-eoVariableParetoTraits : an eoParetoFitnessTraits whose characteristics can be set at run-time (nb objectives and min/max's) Why bother? For didactical purposes (and EASEA implementation :-) -

- -

-Definition at line 56 of file eoParetoFitness.h.


The documentation for this class was generated from the following files: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits.png b/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits.png deleted file mode 100644 index 36440512b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_variable_pareto_traits.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_vector-members.html b/trunk/paradiseo-eo/doc/html/classeo_vector-members.html deleted file mode 100644 index 244a76f04..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vector-members.html +++ /dev/null @@ -1,50 +0,0 @@ - - -EO: Member List - - - - -

eoVector< FitT, GeneType > Member List

This is the complete list of members for eoVector< FitT, GeneType >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVector< FitT, GeneType >)eoVector< FitT, GeneType >
className() const EO< FitT > [inline, virtual]
ContainerType typedef (defined in eoVector< FitT, GeneType >)eoVector< FitT, GeneType >
EO()EO< FitT > [inline]
EO() (defined in EO< FitT >)EO< FitT > [inline]
eoVector(unsigned size=0, GeneType value=GeneType())eoVector< FitT, GeneType > [inline]
eoVector(const eoVector< OtherFitnessType, GeneType > &_vec)eoVector< FitT, GeneType > [inline]
Fitness typedef (defined in EO< FitT >)EO< FitT >
fitness() const EO< FitT > [inline]
fitness(const Fitness &_fitness)EO< FitT > [inline]
fitness(performance_type perf) (defined in EO< FitT >)EO< FitT > [inline]
fitness(void) const (defined in EO< FitT >)EO< FitT > [inline]
fitness_traits typedef (defined in EO< FitT >)EO< FitT >
invalid() const EO< FitT > [inline]
invalidate() (defined in EO< FitT >)EO< FitT > [inline]
invalidate(void) (defined in EO< FitT >)EO< FitT > [inline]
invalidate_worth(void) (defined in EO< FitT >)EO< FitT > [inline]
operator<(const eoVector< FitT, GeneType > &_eo) const eoVector< FitT, GeneType > [inline]
EO< FitT >::operator<(const EO &_eo2) const EO< FitT > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< FitT >)EO< FitT > [inline]
operator>(const EO &_eo2) const (defined in EO< FitT >)EO< FitT > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< FitT >)EO< FitT > [inline]
performance(performance_type perf) (defined in EO< FitT >)EO< FitT > [inline]
performance(void) const (defined in EO< FitT >)EO< FitT > [inline]
performance_type typedef (defined in EO< FitT >)EO< FitT >
printOn(std::ostream &os) const eoVector< FitT, GeneType > [inline, virtual]
readFrom(std::istream &is)eoVector< FitT, GeneType > [inline, virtual]
storage_type typedef (defined in EO< FitT >)EO< FitT >
value(const std::vector< GeneType > &_v) (defined in eoVector< FitT, GeneType >)eoVector< FitT, GeneType > [inline]
worth(worth_type worth) (defined in EO< FitT >)EO< FitT > [inline]
worth(void) const (defined in EO< FitT >)EO< FitT > [inline]
worth_type typedef (defined in EO< FitT >)EO< FitT >
~EO()EO< FitT > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:59 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vector.html b/trunk/paradiseo-eo/doc/html/classeo_vector.html deleted file mode 100644 index 114d50c79..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vector.html +++ /dev/null @@ -1,124 +0,0 @@ - - -EO: eoVector< FitT, GeneType > Class Template Reference - - - - -

eoVector< FitT, GeneType > Class Template Reference

Base class for fixed length chromosomes, just derives from EO and std::vector and redirects the smaller than operator to EO (fitness based comparison). -More... -

-#include <eoVector.h> -

-

Inheritance diagram for eoVector< FitT, GeneType >: -

- -EO< FitT > -eoObject -eoPersistent -eoPrintable - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef GeneType AtomType
-typedef std::vector< GeneType > ContainerType

Public Member Functions

 eoVector (unsigned size=0, GeneType value=GeneType())
 default constructor
-template<class OtherFitnessType>
 eoVector (const eoVector< OtherFitnessType, GeneType > &_vec)
 copy ctor abstracting from the FitT
-void value (const std::vector< GeneType > &_v)
-bool operator< (const eoVector< FitT, GeneType > &_eo) const
 to avoid conflicts between EO::operator< and std::vector<GeneType>::operator<
-virtual void printOn (std::ostream &os) const
 printing...
-virtual void readFrom (std::istream &is)
 reading...
-

Detailed Description

-

template<class FitT, class GeneType>
- class eoVector< FitT, GeneType >

- -Base class for fixed length chromosomes, just derives from EO and std::vector and redirects the smaller than operator to EO (fitness based comparison). -

-GeneType must have the following methods: void ctor (needed for the std::vector<>), copy ctor, -

- -

-Definition at line 46 of file eoVector.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class FitT, class GeneType>
eoVector< FitT, GeneType >::eoVector unsigned  size = 0,
GeneType  value = GeneType()
[inline]
-
- - - - - -
-   - - -

-default constructor -

-

Parameters:
- - - -
size Length of vector (default is 0)
value Initial value of all elements (default is default value of type GeneType)
-
- -

-Definition at line 65 of file eoVector.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:58 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vector.png b/trunk/paradiseo-eo/doc/html/classeo_vector.png deleted file mode 100644 index 0336f46b0..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_vector.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation-members.html deleted file mode 100644 index c5220ea38..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation-members.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: Member List - - - - -

eoVlAddMutation< EOT > Member List

This is the complete list of members for eoVlAddMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - -
atomInit (defined in eoVlAddMutation< EOT >)eoVlAddMutation< EOT > [private]
AtomType typedef (defined in eoVlAddMutation< EOT >)eoVlAddMutation< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoVlAddMutation< EOT > [inline, virtual]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoVlAddMutation(unsigned _nMax, eoInit< AtomType > &_atomInit)eoVlAddMutation< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
nMax (defined in eoVlAddMutation< EOT >)eoVlAddMutation< EOT > [private]
operator()(EOT &_eo)eoVlAddMutation< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:07:00 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation.html deleted file mode 100644 index 35941b291..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation.html +++ /dev/null @@ -1,114 +0,0 @@ - - -EO: eoVlAddMutation< EOT > Class Template Reference - - - - -

eoVlAddMutation< EOT > Class Template Reference

Addition of a gene Is inserted at a random position - so can be applied to both order-dependent and order-independent. -More... -

-#include <eoVariableLengthMutation.h> -

-

Inheritance diagram for eoVlAddMutation< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

 eoVlAddMutation (unsigned _nMax, eoInit< AtomType > &_atomInit)
 default ctor
-bool operator() (EOT &_eo)
 operator: actually adds an Atom
-virtual std::string className () const
 inherited className

Private Attributes

-unsigned nMax
-eoInit< AtomType > & atomInit
-

Detailed Description

-

template<class EOT>
- class eoVlAddMutation< EOT >

- -Addition of a gene Is inserted at a random position - so can be applied to both order-dependent and order-independent. -

- -

-Definition at line 48 of file eoVariableLengthMutation.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoVlAddMutation< EOT >::eoVlAddMutation unsigned  _nMax,
eoInit< AtomType > &  _atomInit
[inline]
-
- - - - - -
-   - - -

-default ctor -

-

Parameters:
- - - -
nMax max number of atoms
_atomInit an Atom initializer
-
- -

-Definition at line 59 of file eoVariableLengthMutation.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:07:00 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation.png deleted file mode 100644 index 410767495..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_vl_add_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op-members.html deleted file mode 100644 index 8bc9e56b0..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoVlAtomExchangeQuadOp< EOT > Member List

This is the complete list of members for eoVlAtomExchangeQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
atomExchange (defined in eoVlAtomExchangeQuadOp< EOT >)eoVlAtomExchangeQuadOp< EOT > [private]
AtomType typedef (defined in eoVlAtomExchangeQuadOp< EOT >)eoVlAtomExchangeQuadOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const eoVlAtomExchangeQuadOp< EOT > [inline, virtual]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
eoVlAtomExchangeQuadOp(unsigned _Min, unsigned _Max, eoAtomExchange< AtomType > &_atomExchange)eoVlAtomExchangeQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
Max (defined in eoVlAtomExchangeQuadOp< EOT >)eoVlAtomExchangeQuadOp< EOT > [private]
Min (defined in eoVlAtomExchangeQuadOp< EOT >)eoVlAtomExchangeQuadOp< EOT > [private]
operator()(EOT &_eo1, EOT &_eo2)eoVlAtomExchangeQuadOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:07:00 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op.html deleted file mode 100644 index 154a54a2e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op.html +++ /dev/null @@ -1,66 +0,0 @@ - - -EO: eoVlAtomExchangeQuadOp< EOT > Class Template Reference - - - - -

eoVlAtomExchangeQuadOp< EOT > Class Template Reference

Exchange Crossover using an AtomExchange. -More... -

-#include <eoVariableLengthCrossover.h> -

-

Inheritance diagram for eoVlAtomExchangeQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoVlAtomExchangeQuadOp (unsigned _Min, unsigned _Max, eoAtomExchange< AtomType > &_atomExchange)
 default ctor: requires bounds on number of genes + a rate
-bool operator() (EOT &_eo1, EOT &_eo2)
 The pure virtual function that needs to be implemented by the subclass.
-virtual std::string className () const
 the inherited className

Private Attributes

-unsigned Min
-unsigned Max
-eoAtomExchange< AtomType > & atomExchange
-

Detailed Description

-

template<class EOT>
- class eoVlAtomExchangeQuadOp< EOT >

- -Exchange Crossover using an AtomExchange. -

- -

-Definition at line 89 of file eoVariableLengthCrossover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:07:00 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op.png deleted file mode 100644 index fc6f08d91..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_vl_atom_exchange_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation-members.html b/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation-members.html deleted file mode 100644 index b7fd7a06e..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: Member List - - - - -

eoVlDelMutation< EOT > Member List

This is the complete list of members for eoVlDelMutation< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVlDelMutation< EOT >)eoVlDelMutation< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
chooser (defined in eoVlDelMutation< EOT >)eoVlDelMutation< EOT > [private]
className() const (defined in eoVlDelMutation< EOT >)eoVlDelMutation< EOT > [inline, virtual]
eoMonOp()eoMonOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoVlDelMutation(unsigned _nMin, eoGeneDelChooser< EOT > &_chooser)eoVlDelMutation< EOT > [inline]
eoVlDelMutation(unsigned _nMin)eoVlDelMutation< EOT > [inline]
functor_category()eoUF< EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
nMin (defined in eoVlDelMutation< EOT >)eoVlDelMutation< EOT > [private]
operator()(EOT &_eo)eoVlDelMutation< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
uChooser (defined in eoVlDelMutation< EOT >)eoVlDelMutation< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]
~eoUF()eoUF< EOT &, bool > [inline, virtual]


Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation.html b/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation.html deleted file mode 100644 index 28e5acdac..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation.html +++ /dev/null @@ -1,203 +0,0 @@ - - -EO: eoVlDelMutation< EOT > Class Template Reference - - - - -

eoVlDelMutation< EOT > Class Template Reference

Deletion of a gene By default at a random position, but a "chooser" can be specified can of course be applied to both order-dependent and order-independent. -More... -

-#include <eoVariableLengthMutation.h> -

-

Inheritance diagram for eoVlDelMutation< EOT >: -

- -eoMonOp< EOT > -eoOp< EOT > -eoUF< EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

 eoVlDelMutation (unsigned _nMin, eoGeneDelChooser< EOT > &_chooser)
 ctor with an external gene chooser
 eoVlDelMutation (unsigned _nMin)
 ctor with uniform gene chooser - the default
bool operator() (EOT &_eo)
 Do the job (delete one gene).
-virtual std::string className () const

Private Attributes

-unsigned nMin
-eoUniformGeneChooser< EOTuChooser
-eoGeneDelChooser< EOT > & chooser
-

Detailed Description

-

template<class EOT>
- class eoVlDelMutation< EOT >

- -Deletion of a gene By default at a random position, but a "chooser" can be specified can of course be applied to both order-dependent and order-independent. -

- -

-Definition at line 110 of file eoVariableLengthMutation.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - -
-template<class EOT>
eoVlDelMutation< EOT >::eoVlDelMutation unsigned  _nMin,
eoGeneDelChooser< EOT > &  _chooser
[inline]
-
- - - - - -
-   - - -

-ctor with an external gene chooser -

-

Parameters:
- - - -
nMin min number of atoms to leave in the individual
_geneChooser an eoGeneCHooser to choose which one to delete
-
- -

-Definition at line 121 of file eoVariableLengthMutation.h.

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
eoVlDelMutation< EOT >::eoVlDelMutation unsigned  _nMin  )  [inline]
-
- - - - - -
-   - - -

-ctor with uniform gene chooser - the default -

-

Parameters:
- - -
nMin min number of atoms to leave in the individual
-
- -

-Definition at line 128 of file eoVariableLengthMutation.h.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT>
bool eoVlDelMutation< EOT >::operator() EOT _eo  )  [inline, virtual]
-
- - - - - -
-   - - -

-Do the job (delete one gene). -

-

Parameters:
- - -
_eo the EO to mutate
-
- -

-Implements eoUF< EOT &, bool >. -

-Definition at line 134 of file eoVariableLengthMutation.h.

-


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation.png b/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation.png deleted file mode 100644 index bfb801afb..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_vl_del_mutation.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op-members.html deleted file mode 100644 index be2066392..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoVlUniformBinOp< EOT > Member List

This is the complete list of members for eoVlUniformBinOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVlUniformBinOp< EOT >)eoVlUniformBinOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoBinOp< EOT >)eoBinOp< EOT > [inline, virtual]
eoBinOp()eoBinOp< EOT > [inline]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoVlUniformBinOp(unsigned _Min, unsigned _Max, double _rate=0.5) (defined in eoVlUniformBinOp< EOT >)eoVlUniformBinOp< EOT > [inline]
functor_category()eoBF< EOT &, const EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
Max (defined in eoVlUniformBinOp< EOT >)eoVlUniformBinOp< EOT > [private]
Min (defined in eoVlUniformBinOp< EOT >)eoVlUniformBinOp< EOT > [private]
operator()(EOT &_eo1, const EOT &_eo2)eoVlUniformBinOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rate (defined in eoVlUniformBinOp< EOT >)eoVlUniformBinOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, const EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op.html b/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op.html deleted file mode 100644 index 078102212..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoVlUniformBinOp< EOT > Class Template Reference - - - - -

eoVlUniformBinOp< EOT > Class Template Reference

Direct Uniform Exchange of genes for Variable Length, BINARY version. -More... -

-#include <eoVariableLengthCrossover.h> -

-

Inheritance diagram for eoVlUniformBinOp< EOT >: -

- -eoBinOp< EOT > -eoOp< EOT > -eoBF< EOT &, const EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoVlUniformBinOp (unsigned _Min, unsigned _Max, double _rate=0.5)
-bool operator() (EOT &_eo1, const EOT &_eo2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned Min
-unsigned Max
-double rate
-

Detailed Description

-

template<class EOT>
- class eoVlUniformBinOp< EOT >

- -Direct Uniform Exchange of genes for Variable Length, BINARY version. -

-A very primitive version, that does no verification at all!!! NEEDS to be improved - but no time now :-((( Especially, if both guys have maximal size, it will take some time to generate even 1 offspring that is not oversized!!! Also, we should first check for identical atoms, and copy them to the offspring, and only after that exchange the other ones (Radcliffe's RRR). -

- -

-Definition at line 280 of file eoVariableLengthCrossover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op.png b/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op.png deleted file mode 100644 index 686d2ac65..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_bin_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op-members.html b/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op-members.html deleted file mode 100644 index 96788d54f..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: Member List - - - - -

eoVlUniformQuadOp< EOT > Member List

This is the complete list of members for eoVlUniformQuadOp< EOT >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
AtomType typedef (defined in eoVlUniformQuadOp< EOT >)eoVlUniformQuadOp< EOT >
binary enum value (defined in eoOp< EOT >)eoOp< EOT >
className() const (defined in eoQuadOp< EOT >)eoQuadOp< EOT > [inline, virtual]
eoOp(OpType _type)eoOp< EOT > [inline]
eoOp(const eoOp &_eop)eoOp< EOT > [inline]
eoQuadOp()eoQuadOp< EOT > [inline]
eoVlUniformQuadOp(unsigned _Min, unsigned _Max, double _rate=0.5) (defined in eoVlUniformQuadOp< EOT >)eoVlUniformQuadOp< EOT > [inline]
functor_category()eoBF< EOT &, EOT &, bool > [inline, static]
general enum value (defined in eoOp< EOT >)eoOp< EOT >
getType() const eoOp< EOT > [inline]
Max (defined in eoVlUniformQuadOp< EOT >)eoVlUniformQuadOp< EOT > [private]
Min (defined in eoVlUniformQuadOp< EOT >)eoVlUniformQuadOp< EOT > [private]
operator()(EOT &_eo1, EOT &_eo2)eoVlUniformQuadOp< EOT > [inline, virtual]
quadratic enum value (defined in eoOp< EOT >)eoOp< EOT >
rate (defined in eoVlUniformQuadOp< EOT >)eoVlUniformQuadOp< EOT > [private]
unary enum value (defined in eoOp< EOT >)eoOp< EOT >
~eoBF()eoBF< EOT &, EOT &, bool > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoOp()eoOp< EOT > [inline, virtual]


Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op.html b/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op.html deleted file mode 100644 index bdfab9694..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoVlUniformQuadOp< EOT > Class Template Reference - - - - -

eoVlUniformQuadOp< EOT > Class Template Reference

Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons. -More... -

-#include <eoVariableLengthCrossover.h> -

-

Inheritance diagram for eoVlUniformQuadOp< EOT >: -

- -eoQuadOp< EOT > -eoOp< EOT > -eoBF< EOT &, EOT &, bool > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - - - - - -

Public Types

-typedef EOT::AtomType AtomType

Public Member Functions

eoVlUniformQuadOp (unsigned _Min, unsigned _Max, double _rate=0.5)
-bool operator() (EOT &_eo1, EOT &_eo2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

-unsigned Min
-unsigned Max
-double rate
-

Detailed Description

-

template<class EOT>
- class eoVlUniformQuadOp< EOT >

- -Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons. -

-A very primitive version, that does no verification at all!!! NEEDS to be improved - but no time now :-((( Especially, if both guys have maximal size, it will take a lot of time to generate 2 offspring that both are not oversized!!! Also, we should first check for identical atoms, and copy them to the offspring, and only after that exchange the other ones (Radcliffe's RRR). -

- -

-Definition at line 219 of file eoVariableLengthCrossover.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op.png b/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op.png deleted file mode 100644 index e071baad2..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_vl_uniform_quad_op.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement-members.html b/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement-members.html deleted file mode 100644 index c40ed2f9d..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

eoWeakElitistReplacement< EOT > Member List

This is the complete list of members for eoWeakElitistReplacement< EOT >, including all inherited members.

- - - - - - - -
eoWeakElitistReplacement(eoReplacement< EOT > &_replace) (defined in eoWeakElitistReplacement< EOT >)eoWeakElitistReplacement< EOT > [inline]
Fitness typedef (defined in eoWeakElitistReplacement< EOT >)eoWeakElitistReplacement< EOT >
functor_category()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, static]
operator()(eoPop< EOT > &_pop, eoPop< EOT > &_offspring)eoWeakElitistReplacement< EOT > [inline, virtual]
replace (defined in eoWeakElitistReplacement< EOT >)eoWeakElitistReplacement< EOT > [private]
~eoBF()eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]


Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement.html b/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement.html deleted file mode 100644 index 026091526..000000000 --- a/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoWeakElitistReplacement< EOT > Class Template Reference - - - - -

eoWeakElitistReplacement< EOT > Class Template Reference

eoWeakElitistReplacement: a wrapper for other replacement procedures. -More... -

-#include <eoReplacement.h> -

-

Inheritance diagram for eoWeakElitistReplacement< EOT >: -

- -eoReplacement< EOT > -eoBF< eoPop< EOT > &, eoPop< EOT > &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - - - -

Public Types

-typedef EOT::Fitness Fitness

Public Member Functions

eoWeakElitistReplacement (eoReplacement< EOT > &_replace)
-void operator() (eoPop< EOT > &_pop, eoPop< EOT > &_offspring)
 do replacement

Private Attributes

-eoReplacement< EOT > & replace
-

Detailed Description

-

template<class EOT>
- class eoWeakElitistReplacement< EOT >

- -eoWeakElitistReplacement: a wrapper for other replacement procedures. -

-Copies in the new pop the best individual from the old pop, AFTER normal replacement, if the best of the new pop is worse than the best of the old pop. Removes the worse individual from the new pop. This could be changed by adding a selector there... -

- -

-Definition at line 102 of file eoReplacement.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement.png b/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement.png deleted file mode 100644 index 08ad8e9fd..000000000 Binary files a/trunk/paradiseo-eo/doc/html/classeo_weak_elitist_replacement.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/classes.html b/trunk/paradiseo-eo/doc/html/classes.html deleted file mode 100644 index 61921c9f4..000000000 --- a/trunk/paradiseo-eo/doc/html/classes.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: Alphabetical List - - - - -

EO Class Index

1 | A | B | C | D | E | F | G | H | I | L | M | N | O | P | Q | R | S | T | U | V | W

- -
  1  
-
eoGeneDelChooser   eoQuadOp   
eo1PtBitCrossover   eoGeneralBreeder   
  R  
-
  A  
-
eoGeneralIntBounds   random_generator   
eoAged   eoGeneralRealBounds   RandomNodeSelector   
eoAlgo   eoGenerationalReplacement   eoRandomReduce   
eoArithmeticCrossover   eoGenOp   eoRandomSelect   
eoAssembledFitnessAverageStat   eoGnuplot   eoRandomSplit   
eoAssembledFitnessBestStat   eoGnuplot1DMonitor   eoRanking   
eoAtomExchange   eoGnuplot1DSnapshot   eoRankingSelect   
eoAverageStat   
  H  
-
eoReal   
  B  
-
eoHammingDistance   eoRealAboveBound   
eoBestFitnessStat   eoHoistMutation   eoRealBaseVectorBounds   
eoBestSelect   eoHowMany   eoRealBelowBound   
eoBF   
  I  
-
eoRealBounds   
BiasedNodeSelector   eoIncrementor   eoRealInitBounded   
eoBinaryFunctorCounter   eoIncrementorParam   eoRealInterval   
eoBinCloneOp   eoInit   eoRealNoBounds   
eoBinGenOp   eoInitAdaptor   eoRealUxOver   
eoBinOp   eoInitFixedLength   eoRealVectorBounds   
eoBit   eoInitGenerator   eoRealVectorNoBounds   
eoBitBitFlip   eoInitVariableLength   eoReduce   
eoBitGxOver   eoInitVirus   eoReduceMerge   
eoBitInversion   eoInitVirus1bit   eoReduceMergeReduce   
eoBitMutation   eoInnerExchangeQuadOp   eoReduceSplit   
eoBitNext   eoIntAboveBound   eoReplacement   
eoBitOpFactory   eoIntBelowBound   eoRndGenerator   
eoBitPrev   eoIntBounds   eoRng   
boolean_generator   eoIntInterval   eoRouletteWorthSelect   
eoBooleanGenerator   eoIntNoBounds   
  S  
-
eoBooleanInit   eoInvalidateBinOp   eoScalarFitness   
eoBoolFlip   eoInvalidateMonOp   eoScalarFitnessAssembled   
eoBranchMutation   eoInvalidateQuadOp   eoScalarFitnessAssembledTraits   
eoBreed   
  L  
-
eoScalarFitnessStat   
  C  
-
eoLinearFitScaling   eoSecondMomentStats   
eoCellularEasyEA   eoLinearRandomSplit   eoSegmentCrossover   
eoCheckPoint   eoLinearTruncate   eoSelBinGenOp   
eoCMABreed   eoLinearTruncateSplit   eoSelect   
eoCMAInit   
  M  
-
eoSelectFactory   
eoCollapseSubtreeMutation   MemPool   eoSelectFromWorth   
eoCombinedContinue   MemPool (gp_parse_tree)   eoSelectivePopulator   
eoCombinedInit   eoMerge   eoSelectMany   
eoCommaReplacement   eoMergeReduce   eoSelectNumber   
eoContinue   eoMGGReplacement   eoSelectOne   
eoCountedDynUpdate   MinimizingTraits   eoSelectPerc   
eoCountedStateSaver   eoMOFitnessStat   eoSelectTransform   
Cov   eoMonCloneOp   eoSeqPopulator   
eoCtrlCContinue   eoMonGenOp   eoSequentialOp   
  D  
-
eoMonitor   eoSequentialSelect   
eoDetBitFlip   eoMonOp   eoSGA   
eoDeterministicSaDReplacement   
  N  
-
eoSGAGenOp   
eoDeterministicSurviveAndDie   eoNDPlusReplacement   eoSGATransform   
eoDetSelect   eoNDSorting   eoSharing   
eoDetTournamentSelect   eoNDSorting::DummyEO   eoSharingSelect   
eoDetTournamentTruncate   eoNDSorting_I   eoSimpleEDA   
eoDetTournamentTruncateSplit   eoNDSorting_II   eoSortedPopStat   
eoDetTournamentWorthSelect   negexp_generator   eoSortedStat   
eoDetUniformMutation   eoNegExpGenerator   eoSortedStatBase   
eoDistance   eoNegExpInit   eoSSGADetTournamentReplacement   
eoDistribUpdater   NodeSelector   eoSSGAStochTournamentReplacement   
eoDistribution   eoNoElitism   eoSSGAWorseReplacement   
dMatrix   eoNoPerf2Worth   eoStat   
eoDominanceMap   normal_generator   eoStatBase   
eoDoubleExchange   eoNormalGenerator   eoState   
eoDoubleIntermediate   eoNormalInit   eoState::loading_error   
eoDrawable   eoNormalMutation   eoStBranchMutation   
Dummy   eoNormalVecMutation   eoStdoutMonitor   
eoDynSGATransform   eoNoSelect   eoSteadyFitContinue   
eoDynUpdater   eoNPtsBitXover   eoStHoistMutation   
  E  
-
eoNthElementFitnessStat   eoSTLBF   
eoEasyEA   
  O  
-
eoSTLF   
eoEDA   eoObject   eoSTLUF   
eoEliteSequentialSelect   eoOneFifthMutation   eoStochasticUniversalSelect   
eoElitism   eoOneMax   eoStochTournamentSelect   
EO   eoOneMaxEvalFunc   eoStochTournamentTruncate   
eoEPReduce   eoOneMaxInit   eoStochTournamentTruncateSplit   
eoEPReplacement   eoOneMaxMutation   eoStochTournamentWorthSelect   
eoEsChromInit   eoOneMaxQuadCrossover   eoStParseTreeDepthInit   
eoEsFull   eoOp   eoStPointMutation   
eoEsGlobalXover   eoOpContainer   eoString   
eoEsMutate   eoOpSelMason   eoStSubtreeXOver   
eoEsMutationInit   
  P  
-
eoSubtreeXOver   
eoEsSimple   eoParam   eoSurviveAndDie   
eoEsStandardXover   eoParameterLoader   eoSymInit   
eoEsStdev   eoParamParamType   
  T  
-
eoEvalContinue   eoParetoFitness   T_pickle_suite   
eoEvalFunc   eoParetoFitnessTraits   eoTimeCounter   
eoEvalFuncCounter   eoParetoOneConstraintFitness   eoTimedDynUpdate   
eoEvalFuncPtr   eoParetoRanking   eoTimedMonitor   
eoExpansionMutation   eoParser   eoTimedStateSaver   
eoExternalBinOp   eoParseTree   eoTimeVaryingLoopEval   
eoExternalEO   eoParseTreeDepthInit   eoTransform   
eoExternalEvalFunc   eoPBILAdditive   eoTruncate   
eoExternalInit   eoPBILDistrib   eoTruncatedSelectMany   
eoExternalMonOp   eoPBILOrg   eoTruncatedSelectOne   
eoExternalQuadOp   eoPerf2Worth   eoTruncateSplit   
  F  
-
eoPerf2Worth::compare_worth   eoTruncSelect   
eoF   eoPerf2WorthCached   
  U  
-
eoFactory   eoPerf2WorthCached::compare_worth   eoUBitXover   
eoFDCFileSnapshot   eoPersistent   eoUF   
eoFDCStat   eoPlus   UF_random_generator   
eoFileMonitor   eoPlusReplacement   eoUnaryFunctorCounter   
eoFileSnapshot   eoPointMutation   uniform_generator   
eoFitContinue   eoPop   eoUniformAtomExchange   
eoFitnessScalingSelect   eoPop::Cmp   eoUniformGeneChooser   
eoFitnessStat   eoPop::Ref   eoUniformGenerator   
eoFlOr1ptBinOp   eoPopAlgo   eoUniformInit   
eoFlOr1ptQuadOp   eoPopEvalFunc   eoUniformMutation   
eoFlOrAllAtomBinOp   eoPopLoopEval   eoUpdatable   
eoFlOrAllAtomQuadOp   eoPopStat   eoUpdater   
eoFlOrAllMutation   eoPopulator   
  V  
-
eoFlOrKAtomBinOp   eoPrintable   eoValueParam   
eoFlOrKAtomQuadOp   eoProcedureCounter   eoVariableParetoTraits   
eoFlOrKMutation   eoPropCombinedBinOp   eoVector   
eoFlOrUniformBinOp   eoPropCombinedMonOp   VirusBitFlip   
eoFlOrUniformQuadOp   eoPropCombinedQuadOp   VirusShiftMutation   
eoFunctorBase   eoPropGAGenOp   eoVlAddMutation   
eoFunctorBase::binary_function_tag   eoProportionalOp   eoVlAtomExchangeQuadOp   
eoFunctorBase::procedure_tag   eoProportionalSelect   eoVlDelMutation   
eoFunctorBase::unary_function_tag   
  Q  
-
eoVlUniformBinOp   
eoFunctorStore   eoQuad2BinOp   eoVlUniformQuadOp   
  G  
-
eoQuadCloneOp   
  W  
-
eoG3Replacement   eoQuadDistance   eoWeakElitistReplacement   
eoGenContinue   eoQuadGenOp   

1 | A | B | C | D | E | F | G | H | I | L | M | N | O | P | Q | R | S | T | U | V | W

-


Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classgp__parse__tree_1_1_mem_pool-members.html b/trunk/paradiseo-eo/doc/html/classgp__parse__tree_1_1_mem_pool-members.html deleted file mode 100644 index 20f0ed297..000000000 --- a/trunk/paradiseo-eo/doc/html/classgp__parse__tree_1_1_mem_pool-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

gp_parse_tree::MemPool Member List

This is the complete list of members for gp_parse_tree::MemPool, including all inherited members.

- - - - - - - - -
allocate() (defined in gp_parse_tree::MemPool)gp_parse_tree::MemPool [inline]
chunks (defined in gp_parse_tree::MemPool)gp_parse_tree::MemPool [private]
deallocate(void *b) (defined in gp_parse_tree::MemPool)gp_parse_tree::MemPool [inline]
esize (defined in gp_parse_tree::MemPool)gp_parse_tree::MemPool [private]
grow() (defined in gp_parse_tree::MemPool)gp_parse_tree::MemPool [inline, private]
head (defined in gp_parse_tree::MemPool)gp_parse_tree::MemPool [private]
MemPool(unsigned int sz) (defined in gp_parse_tree::MemPool)gp_parse_tree::MemPool [inline]
~MemPool() (defined in gp_parse_tree::MemPool)gp_parse_tree::MemPool [inline]


Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classgp__parse__tree_1_1_mem_pool.html b/trunk/paradiseo-eo/doc/html/classgp__parse__tree_1_1_mem_pool.html deleted file mode 100644 index bb250a554..000000000 --- a/trunk/paradiseo-eo/doc/html/classgp__parse__tree_1_1_mem_pool.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: gp_parse_tree::MemPool Class Reference - - - - -

gp_parse_tree::MemPool Class Reference

Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. -More... -

-#include <parse_tree.h> -

-List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

MemPool (unsigned int sz)
-void * allocate ()
-void deallocate (void *b)

Private Member Functions

-void grow ()

Private Attributes

-Chunk * chunks
-const unsigned int esize
-Link * head
-


Detailed Description

-Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. -

-Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.

-Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. -

- -

-Definition at line 185 of file parse_tree.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classnegexp__generator-members.html b/trunk/paradiseo-eo/doc/html/classnegexp__generator-members.html deleted file mode 100644 index e2906b37d..000000000 --- a/trunk/paradiseo-eo/doc/html/classnegexp__generator-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

negexp_generator< T > Member List

This is the complete list of members for negexp_generator< T >, including all inherited members.

- - - - -
mean (defined in negexp_generator< T >)negexp_generator< T > [private]
negexp (defined in negexp_generator< T >)negexp_generator< T > [private]
negexp_generator(T _mean=1.0, eoRng &_rng=rng) (defined in negexp_generator< T >)negexp_generator< T > [inline]
operator()(void) (defined in negexp_generator< T >)negexp_generator< T > [inline]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classnegexp__generator.html b/trunk/paradiseo-eo/doc/html/classnegexp__generator.html deleted file mode 100644 index 002690b36..000000000 --- a/trunk/paradiseo-eo/doc/html/classnegexp__generator.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: negexp_generator< T > Class Template Reference - - - - -

negexp_generator< T > Class Template Reference

The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. -More... -

-#include <rnd_generators.h> -

-List of all members. - - - - - - - - - - - -

Public Member Functions

negexp_generator (T _mean=1.0, eoRng &_rng=rng)
-T operator() (void)

Private Attributes

-T mean
-eoRngnegexp
-


Detailed Description

-

template<class T = double>
- class negexp_generator< T >

- -The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. -

-The user can supply a mean. -

- -

-Definition at line 156 of file rnd_generators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classnormal__generator-members.html b/trunk/paradiseo-eo/doc/html/classnormal__generator-members.html deleted file mode 100644 index 11db17556..000000000 --- a/trunk/paradiseo-eo/doc/html/classnormal__generator-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -EO: Member List - - - - -

normal_generator< T > Member List

This is the complete list of members for normal_generator< T >, including all inherited members.

- - - - -
normal (defined in normal_generator< T >)normal_generator< T > [private]
normal_generator(T _stdev=T(1.0), eoRng &_rng=rng) (defined in normal_generator< T >)normal_generator< T > [inline]
operator()(void) (defined in normal_generator< T >)normal_generator< T > [inline]
stdev (defined in normal_generator< T >)normal_generator< T > [private]


Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classnormal__generator.html b/trunk/paradiseo-eo/doc/html/classnormal__generator.html deleted file mode 100644 index fa6464ea1..000000000 --- a/trunk/paradiseo-eo/doc/html/classnormal__generator.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: normal_generator< T > Class Template Reference - - - - -

normal_generator< T > Class Template Reference

The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. -More... -

-#include <rnd_generators.h> -

-List of all members. - - - - - - - - - - - -

Public Member Functions

normal_generator (T _stdev=T(1.0), eoRng &_rng=rng)
-T operator() (void)

Private Attributes

-T stdev
-eoRngnormal
-


Detailed Description

-

template<class T = double>
- class normal_generator< T >

- -The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. -

-The user can supply a standard deviation which defaults to 1. -

- -

-Definition at line 139 of file rnd_generators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:51 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classrandom__generator-members.html b/trunk/paradiseo-eo/doc/html/classrandom__generator-members.html deleted file mode 100644 index 303d22a58..000000000 --- a/trunk/paradiseo-eo/doc/html/classrandom__generator-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Member List - - - - -

random_generator< T > Member List

This is the complete list of members for random_generator< T >, including all inherited members.

- - - - - - - -
minim (defined in random_generator< T >)random_generator< T > [private]
operator()(void) (defined in random_generator< T >)random_generator< T > [inline]
operator()(void) (defined in random_generator< T >)random_generator< T > [inline]
random (defined in random_generator< T >)random_generator< T > [private]
random_generator(T _max, eoRng &_rng=rng) (defined in random_generator< T >)random_generator< T > [inline]
random_generator(T _min, T _max, eoRng &_rng=rng) (defined in random_generator< T >)random_generator< T > [inline]
range (defined in random_generator< T >)random_generator< T > [private]


Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classrandom__generator.html b/trunk/paradiseo-eo/doc/html/classrandom__generator.html deleted file mode 100644 index d08cdedc0..000000000 --- a/trunk/paradiseo-eo/doc/html/classrandom__generator.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: random_generator< T > Class Template Reference - - - - -

random_generator< T > Class Template Reference

The class random_generator can be used in the STL generate function to easily generate random ints either between [0, _max) if only one value (_max) is given to the ctor or in [_min,_max) if 2 values are given (_min, _max). -More... -

-#include <rnd_generators.h> -

-List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

random_generator (T _max, eoRng &_rng=rng)
random_generator (T _min, T _max, eoRng &_rng=rng)
-T operator() (void)
-template<>
bool operator() (void)

Private Attributes

-T minim
-T range
-eoRngrandom
-


Detailed Description

-

template<class T = uint32_t>
- class random_generator< T >

- -The class random_generator can be used in the STL generate function to easily generate random ints either between [0, _max) if only one value (_max) is given to the ctor or in [_min,_max) if 2 values are given (_min, _max). -

- -

-Definition at line 87 of file rnd_generators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:54 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classuniform__generator-members.html b/trunk/paradiseo-eo/doc/html/classuniform__generator-members.html deleted file mode 100644 index d340a2996..000000000 --- a/trunk/paradiseo-eo/doc/html/classuniform__generator-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: Member List - - - - -

uniform_generator< T > Member List

This is the complete list of members for uniform_generator< T >, including all inherited members.

- - - - - - -
minim (defined in uniform_generator< T >)uniform_generator< T > [private]
operator()(void) (defined in uniform_generator< T >)uniform_generator< T > [inline]
range (defined in uniform_generator< T >)uniform_generator< T > [private]
uniform (defined in uniform_generator< T >)uniform_generator< T > [private]
uniform_generator(T _max=T(1.0), eoRng &_rng=rng) (defined in uniform_generator< T >)uniform_generator< T > [inline]
uniform_generator(T _min, T _max, eoRng &_rng=rng) (defined in uniform_generator< T >)uniform_generator< T > [inline]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/classuniform__generator.html b/trunk/paradiseo-eo/doc/html/classuniform__generator.html deleted file mode 100644 index 448c71ce1..000000000 --- a/trunk/paradiseo-eo/doc/html/classuniform__generator.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: uniform_generator< T > Class Template Reference - - - - -

uniform_generator< T > Class Template Reference

The class uniform_generator can be used in the STL generate function to easily generate random floats and doubles either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max). -More... -

-#include <rnd_generators.h> -

-List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

uniform_generator (T _max=T(1.0), eoRng &_rng=rng)
uniform_generator (T _min, T _max, eoRng &_rng=rng)
-T operator() (void)

Private Attributes

-T minim
-T range
-eoRnguniform
-


Detailed Description

-

template<class T = double>
- class uniform_generator< T >

- -The class uniform_generator can be used in the STL generate function to easily generate random floats and doubles either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max). -

- -

-Definition at line 44 of file rnd_generators.h.


The documentation for this class was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/compatibility_8h-source.html b/trunk/paradiseo-eo/doc/html/compatibility_8h-source.html deleted file mode 100644 index 39e8c969f..000000000 --- a/trunk/paradiseo-eo/doc/html/compatibility_8h-source.html +++ /dev/null @@ -1,97 +0,0 @@ - - -EO: compatibility.h Source File - - - - - -

compatibility.h

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003   -----------------------------------------------------------------------------
-00004   compatibility.h
-00005       File to store some compiler specific stuff in. Currently handles, or 
-00006       least tries to handle the min() max() problems when using MSVC
-00007 
-00008 
-00009  (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000
-00010  
-00011     This library is free software; you can redistribute it and/or
-00012     modify it under the terms of the GNU Lesser General Public
-00013     License as published by the Free Software Foundation; either
-00014     version 2 of the License, or (at your option) any later version.
-00015 
-00016     This library is distributed in the hope that it will be useful,
-00017     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00019     Lesser General Public License for more details.
-00020 
-00021     You should have received a copy of the GNU Lesser General Public
-00022     License along with this library; if not, write to the Free Software
-00023     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00024 
-00025     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00026  */
-00027 
-00028 #ifndef COMPAT_H
-00029 #define COMPAT_H
-00030 
-00031 #include <string>
-00032 #include <iostream>
-00033 
-00034 #ifdef __GNUC__
-00035 #if __GNUC__ < 3
-00036         // check for stdlibc++v3 which does have ios_base
-00037         #ifndef _CPP_BITS_IOSBASE_H 
-00038         typedef ios ios_base; // not currently defined in GCC
-00039         #endif
-00040 #endif
-00041 #endif
-00042 
-00043 #if defined(_MSC_VER) && (_MSC_VER < 1300)
-00044 /* 
-00045 Maarten: added this code here because Mirkosoft has the
-00046 nasty habit of #define min and max in stdlib.h (and windows.h)
-00047 I'm trying to undo this horrible macro magic (microsoft yet macrohard)
-00048 here. Sure hope it works
-00049 Olivier: this has been removed in .NET :) One step more standard...
-00050 */
-00051 #pragma warning(disable:4786)
-00052 
-00053 #include <stdlib.h>
-00054 
-00055 #ifdef min
-00056 #undef min
-00057 #undef max // as they come in std::pairs
-00058 #endif
-00059 
-00060 // add min and max to std...
-00061 namespace std
-00062 {
-00063     template <class T> const T& min(const T& a, const T& b)
-00064     {
-00065         if(a < b)
-00066             return a;
-00067         // else
-00068         return b;
-00069     }
-00070     
-00071     template <class T> const T& max(const T& a, const T& b)
-00072     {
-00073         if(a > b)
-00074             return a;
-00075         // else
-00076         return b;
-00077     }
-00078 }
-00079 
-00080 #endif
-00081         // _MSC_VER
-00082 #endif 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/continuators_8cpp-source.html b/trunk/paradiseo-eo/doc/html/continuators_8cpp-source.html deleted file mode 100644 index 70fe8b990..000000000 --- a/trunk/paradiseo-eo/doc/html/continuators_8cpp-source.html +++ /dev/null @@ -1,105 +0,0 @@ - - -EO: continuators.cpp Source File - - - - - -

continuators.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoGenContinue.h>
-00022 #include <eoCombinedContinue.h>
-00023 #include <eoEvalContinue.h>
-00024 #include <eoFitContinue.h>
-00025 #include <eoSteadyFitContinue.h>
-00026 #include <utils/eoCheckPoint.h>
-00027 #include <utils/eoStat.h>
-00028 
-00029 #include "PyEO.h"
-00030 #include "def_abstract_functor.h"
-00031 
-00032 using namespace boost::python;
-00033 
-00034 #define DEF(x) class_<x<PyEO>, bases<eoContinue<PyEO > > >(#x).def("__call__", &eoContinue<PyEO>::operator())
-00035 #define DEF2(x, i1) class_<x<PyEO>, bases<eoContinue<PyEO > > >(#x, init<i1>() ).def("__call__", &eoContinue<PyEO>::operator())
-00036 #define DEF3(x, i1, i2) class_<x<PyEO>, bases<eoContinue<PyEO > > >(#x, init<i1, i2 >() ).def("__call__", &eoContinue<PyEO>::operator())
-00037 
-00038 void add_checkpoint();
-00039 
-00040 void continuators()
-00041 {
-00042     /* Counters, wrappers etc */
-00043     
-00044     class_<eoEvalFuncCounter<PyEO>, bases<eoEvalFunc<PyEO> > >("eoEvalFuncCounter",
-00045             init< eoEvalFunc<PyEO>&, std::string>())
-00046         .def("__call__", &eoEvalFuncCounter<PyEO>::operator())
-00047         ;
-00048     /* Continuators */
-00049     def_abstract_functor<eoContinue<PyEO> >("eoContinue"); 
-00050         
-00051     class_<eoGenContinue<PyEO>, bases<eoContinue<PyEO> >, boost::noncopyable >("eoGenContinue", init<unsigned long>() )
-00052         .def("__call__", &eoGenContinue<PyEO>::operator())
-00053         ;
-00054   
-00055     class_<eoCombinedContinue<PyEO>, bases<eoContinue<PyEO> > >("eoCombinedContinue", init<eoContinue<PyEO>&>()[WC1])
-00056         .def( init<eoContinue<PyEO>&, eoContinue<PyEO>& >()[WC2] )
-00057         .def("add", &eoCombinedContinue<PyEO>::add, WC1)
-00058         .def("__call__", &eoCombinedContinue<PyEO>::operator())
-00059         ;
-00060    
-00061     class_<eoEvalContinue<PyEO>, bases<eoContinue<PyEO> > >("eoEvalContinue", 
-00062             init<eoEvalFuncCounter<PyEO>&, unsigned long>()[WC1])
-00063         .def("__call__", &eoEvalContinue<PyEO>::operator())
-00064         ;
-00065 
-00066     DEF2(eoFitContinue, object); // object is the fitness type
-00067 
-00068     DEF3(eoSteadyFitContinue, unsigned long, unsigned long);
-00069 
-00070     add_checkpoint();
-00071 }
-00072 
-00073 void addContinue(eoCheckPoint<PyEO>& c, eoContinue<PyEO>& cc) { c.add(cc); }
-00074 void addMonitor(eoCheckPoint<PyEO>& c, eoMonitor& m) { c.add(m);}
-00075 void addStat(eoCheckPoint<PyEO>& c, eoStatBase<PyEO>& s) { c.add(s);}
-00076 void addSortedStat(eoCheckPoint<PyEO>& c, eoSortedStatBase<PyEO>& s) { c.add(s);}
-00077 
-00078 void add_checkpoint()
-00079 {
-00080     class_<eoCheckPoint<PyEO>, bases< eoContinue<PyEO> > >("eoCheckPoint",
-00081             
-00082             init<eoContinue<PyEO>&> ()[with_custodian_and_ward<1,2>()]
-00083             ) 
-00084         .def("add", addContinue, with_custodian_and_ward<1,2>() )
-00085         .def("add", addMonitor, with_custodian_and_ward<1,2>() )
-00086         .def("add", addStat, with_custodian_and_ward<1,2>())
-00087         .def("add", addSortedStat, with_custodian_and_ward<1,2>()) 
-00088         .def("__call__", &eoCheckPoint<PyEO>::operator())
-00089         ;
-00090 }
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/contrib_2mathsym_2_r_e_a_d_m_e-source.html b/trunk/paradiseo-eo/doc/html/contrib_2mathsym_2_r_e_a_d_m_e-source.html deleted file mode 100644 index cb3a82970..000000000 --- a/trunk/paradiseo-eo/doc/html/contrib_2mathsym_2_r_e_a_d_m_e-source.html +++ /dev/null @@ -1,213 +0,0 @@ - - -EO: README Source File - - - - - -

contrib/mathsym/README

00001 
-00002 This is not yet another gp system (nyagp). For one, it is not general.
-00003 It does one thing, find mathematical functions, and tries to do that well.
-00004 
-00005 So, if you're trying to steer ants on various New Mexico trails, or build your
-00006 own tiny block world, you're in the wrong place. However, if you're interested
-00007 in finding mathematical functions either through direct application on data or
-00008 running it through a simulator, you might find what you're looking for here.
-00009 
-00010 === Representation (sym/ + gen/) ========
-00011 
-00012 Mathsym has a few interesting characteristics. First and foremost is the
-00013 basic representation. It uses trees, but these trees are stored in a 
-00014 reference counted hashtable. This means that every distinct subtree that is alive
-00015 is stored once and only once. 
-00016 The reference counting mechanism takes care of memory management. 
-00017 
-00018 The idea of using a hashtable (for offline analysis) comes from Walter Tackett, in his
-00019 1994 dissertation. The current system is just a real-time implementation of this
-00020 idea, adding the reference counting for ease of use.
-00021 
-00022 The hashtable brings overhead. It's still pretty fast, but a string based representation
-00023 would run circles around it. However, by virtue of it storing every subtree only once, it
-00024 is fairly tight on memory. This helps tremendously when confronted with excessively growing populations, bloat.
-00025 The hashtable implementation can not stop bloat, but does make it more manageable. In a typical
-00026 GP run, the number of distinct subtrees is only 10-20% of the total number of subtrees.
-00027 
-00028 Other advantages of the hashtable are in the ability to examine the run more thoroughly. It is easy
-00029 to check how many subtrees are present in the system, and for each subtree you can check the reference
-00030 count. 
-00031 
-00032 The basic tree is called a Sym. A Sym is simply a tree, and has children, accessible through args().
-00033 A Sym simply contains an iterator (== decorated pointer) to an entry in the hashtable. 
-00034 Every time you create a Sym, it is either looked up in the hashtable or added to the hashtable.
-00035 A Sym has several members: size, depth, args, etc. One interesting member is the refcount().
-00036 This returns the reference count of the Sym in the hashtable, and thus returns the number
-00037 of distinct contexts in which the Sym is used.
-00038 
-00039 Another nice thing of these hashtable Syms is that a check for equality reduces to a pointer comparison.
-00040 
-00041 The Sym nodes are identified by a simple token, of type token_t (usually an unsigned int). It
-00042 is completely generic and could conceivably be adapted to steer ants. The rest of the library
-00043 is however targeted at mathematical functions purely. 
-00044 
-00045 sym/Sym.h is the file to look into for the functionality provided by Sym. The sym/ directory
-00046 is where the source files are stored that are relevant for the generic Sym functionality. The
-00047 'gen/' directory contains some generic functionality to build and traverse trees, independent of 
-00048 the function and terminal set.
-00049 
-00050 The file sym/README.cpp documents the use of the sym library for general GP use.
-00051 
-00052 === Function Set (fun/) ===
-00053 
-00054 The standard GP function set of binary functions: addition, multiplication, subtraction and
-00055 division is NOT supported. 
-00056 
-00057 What is however supported are the functions of:
-00058 
-00059 summation: arbitrary arity, arity zero meaning 0.0. Arity 2 is standard addition
-00060 product:   arbitrary arity, arity zero meaning 1.0. Arity 2 is standard multiplication
-00061 inversion:  1.0 / x. Only arity 1
-00062 unary minus: -x. Only arity 1
-00063 
-00064 Plus a whole bunch of other functions (see "fun/FunDef.h")
-00065 
-00066 The reason for this is the observation (actually from a friend of mine, thanks Luuk),
-00067 that this set of functions is complete and slightly more orthogonal than a binary set.
-00068 
-00069 The directory 'fun' contains the functionality for the function and terminal set, together
-00070 with ERC's etc. fun/FunDef.cpp contains the definition of the functionality. Stuff can be
-00071 added here, but best to contact me if you miss particular functions.
-00072 
-00073 With the sym and the function set in place, some fairly nice overloading is possible. A quick tour:
-00074 
-00075 To create a variable that reads the first value from the inputs, do:
-00076 
-00077 Sym var = SymVar(0);
-00078 
-00079 To create a constant of value 0.4432, do
-00080 
-00081 Sym cnst = SymConst(0.4432);
-00082 
-00083 The constants are also stored uniquely so that:
-00084 
-00085 Sym cnst2 = SymConst(0.4432)
-00086 
-00087 will lead to:
-00088 
-00089 cnst == cnst2
-00090 
-00091 to be true (this happens without value compare, they point to the same element in the hashtable)
-00092 
-00093 To add two values, do
-00094 
-00095 Sym sym = var + const;
-00096 
-00097 This will create a tree with tree nodes. All other operations work identically.
-00098 
-00099 === Evaluation (eval/) ===
-00100 
-00101 The second important thing is evaluation. Although Syms can be evaluated through an interpreter,
-00102 this is not the fastest way to go about with it. The standard way of evaluating a Sym is to 
-00103 first *compile* it to a function, and then run it in your favourite environment. Compilation
-00104 is done through the use of the excellent tinycc compiler, which is blazingly fast and produces
-00105 pretty good functions.
-00106 
-00107 Compilation comes in several flavours: compile a single function and retrieve a pointer to a function
-00108 of signature:
-00109 
-00110 double func(const double* x);
-00111 
-00112 where x is the input array. Another option is to compile a bunch of functions in one go, and retrieve an array
-00113 of such function pointers. The Syms are simply printed and compiled. An example: 
-00114 
-00115 double func(const double* x) { return x*x + x * 1./x; }
-00116 
-00117 The batch version proceeds significantly more quickly than calling compile every time. The function pointers
-00118 can be given to a simulation for extremely quick evaluation.
-00119 
-00120 A third option is to compile a complete population in one go, and return a single pointer of signature
-00121 
-00122 void func(const double* x, double* y);
-00123 
-00124 Where 'y' is the (preallocated) output array. This allows to evaluate a complete population in one function
-00125 call, storing the results in 'y'. It uses the hashtable to store every calculation only once. An example
-00126 for the two function x*x + x*1./x and x + sin(x*x) is:
-00127 
-00128 void func(const double* x, double* y) {
-00129     double a0 = x;
-00130     double a1 = a0 * a0;
-00131     double a2 = 1.0;
-00132     double a3 = a2 / a0;
-00133     double a4 = a2 * a3;
-00134     y[0] = a4;
-00135     double a5 = sin(a1);
-00136     double a6 = a0 + a5;
-00137     y[1] = a6;
-00138 }
-00139 
-00140 This is the fastest way to evaluate even humongous populations quickly. You might be surprised at
-00141 the amount of code re-use in a GP population.
-00142 
-00143 The three compilation functions can be found in eval/sym_compile.h
-00144 
-00145 A limiting factor in tinycc is that the struct TCCState that is used to hold the compilation context,
-00146 is not really self-contained. This unfortunately means that with every call to 'compile' ALL previous
-00147 pointers that have been produced become unsafe for use. I'm still looking at ways to circumvent this.
-00148 
-00149 To work with mathsym, a few small changes in tccelf.c were necessary, check README.TCC for details.
-00150 
-00151 === Interval Arithmetic (eval/) ===
-00152 
-00153 GP is pretty good at finding mathematical expressions that are numerically unsound. Take for instance
-00154 the function '1 / x'. This is well defined only when x is strictly positive, but will lead to problems
-00155 when x equals 0. The standard answer is to define some pseudo-arithmetical function called 'protected
-00156 division' that will return some value (usually 1) when a division by zero occurs. This leads to a number
-00157 of protected functions (sqrt, log, tan, etc.) which all need to be protected. Interpreting results from
-00158 GP using such functions is in general hard.
-00159 
-00160 Interval arithmetic (through another excellent library boost/numeric/interval) is used to calculate
-00161 if particular functions can conceivably produce problems. This completely annihilates the use for Koza-style
-00162 protected operators and is a more safe and sound method. For interval arithmetic to function, the bounds
-00163 on the input variables need to be known. As for every function we can calculate a guarenteed, 
-00164 though not necessarily tight, output interval given the input intervals, we can check arbitrary functions
-00165 for possible problems. If, for example for division, the input interval contains 0, we know that a division
-00166 by zero is theoretically possible. It's then best to throw away the entire function.
-00167 
-00168 Interval Arithmetic is accessible through the class IntervalBoundsCheck (eval/BoundsCheck.h)
-00169 
-00170 === More generic support (gen/) ===
-00171 
-00172 The gen subdirectory contains some general utility classes for defining function sets and for 
-00173 creating trees. The idea is that these functions are generic and only append on the sym/ part
-00174 of the library. Unfortunately, the language table currently needs an ERC function, a default
-00175 implementation is hidden inside fun/FunDef.cpp. Will fix at some point.
-00176 
-00177 gen/LanguageTable.cpp -> defines the functions/terminals that can be used
-00178 gen/TreeBuilder.cpp   -> can create trees based on a LanguageTable
-00179 
-00180 === Data and Errors (regression/)  ===
-00181 
-00182 The above classes are generic and apply for any type of problem where a mathematical function can be 
-00183 used to steer some process, run a simulation, whatever. First check the intervals, then compile the 
-00184 Sym(s) to a (set of) function pointer(s), and use the pointers in some way to evaluate for fitness. 
-00185 One particular type of problem for which support is built in is 'symbolic regression'. This type of
-00186 problem involves finding an mathematical input/output relationship based on some data.
-00187 
-00188 To enable this, regression/ introduces the class Dataset to contain the data and ErrorMeasure to calculate
-00189 error. Currently supported: mean squared error, mean absolute error and mean squared error scaled (proportional
-00190 to correlation squared). They use some helper classes such as Scaling and TargetInfo.
-00191 
-00192 === EO interface (eo_interface/) ===
-00193 
-00194 Contains the classes to make it all work with EO. Check the root application 'symreg' for ways to use this
-00195 
-00196 
-00197 
-00198 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/def__abstract__functor_8h-source.html b/trunk/paradiseo-eo/doc/html/def__abstract__functor_8h-source.html deleted file mode 100644 index 489608e34..000000000 --- a/trunk/paradiseo-eo/doc/html/def__abstract__functor_8h-source.html +++ /dev/null @@ -1,154 +0,0 @@ - - -EO: def_abstract_functor.h Source File - - - - - -

def_abstract_functor.h

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #ifndef MAKE_ABSTRACT_FUNCTOR_H
-00022 #define MAKE_ABSTRACT_FUNCTOR_H
-00023 
-00024 #include <eoFunctor.h>
-00025 
-00026 // DEFINES for call 
-00027 #define WC1 boost::python::with_custodian_and_ward<1,2>()
-00028 #define WC2 boost::python::with_custodian_and_ward<1,2, with_custodian_and_ward<1,3> >()
-00029 
-00030 namespace eoutils {
-00031 
-00032 using namespace boost::python;
-00033     
-00034 template <class Proc>
-00035 class ProcWrapper : public Proc
-00036 {
-00037     public:
-00038     PyObject* self;
-00039     ProcWrapper(PyObject* s) : self(s) {}
-00040 
-00041     typename Proc::result_type operator()(void)
-00042     {
-00043         return boost::python::call_method<typename Proc::result_type>(self, "__call__");
-00044     }
-00045 };
-00046 
-00047 template <class Proc>
-00048 void make_abstract_functor(std::string name, typename eoFunctorBase::procedure_tag)
-00049 {
-00050     typedef ProcWrapper<Proc> Wrapper;
-00051     boost::python::class_<Proc, Wrapper,boost::noncopyable>(name.c_str(), boost::python::init<>() )
-00052         .def("__call__", &Wrapper::operator());
-00053 }
-00054 
-00055 template <class Proc>
-00056 void make_abstract_functor_ref(std::string name, typename eoFunctorBase::procedure_tag)
-00057 {
-00058     typedef ProcWrapper<Proc> Wrapper;
-00059     boost::python::class_<Proc, Wrapper,boost::noncopyable>(name.c_str(), boost::python::init<>() )
-00060         .def("__call__", &Wrapper::operator(), boost::python::return_internal_reference<>());
-00061 }
-00062 
-00063 template <class Unary>
-00064 class UnaryWrapper : public Unary
-00065 {
-00066     public:
-00067     PyObject* self;
-00068     UnaryWrapper(PyObject* s) : self(s) {}
-00069 
-00070     typename Unary::result_type operator()(typename Unary::argument_type a) 
-00071     { 
-00072         return boost::python::call_method<typename Unary::result_type>(self, "__call__", boost::ref(a) ); 
-00073     }
-00074 };
-00075 
-00076 template <class Unary>
-00077 void make_abstract_functor(std::string name, typename eoFunctorBase::unary_function_tag)
-00078 {
-00079     typedef UnaryWrapper<Unary> Wrapper;
-00080 
-00081     boost::python::class_<Unary, Wrapper, boost::noncopyable>(name.c_str(), boost::python::init<>() )
-00082         .def("__call__", &Wrapper::operator())
-00083         ;
-00084 }
-00085 
-00086 template <class Unary>
-00087 void make_abstract_functor_ref(std::string name, typename eoFunctorBase::unary_function_tag)
-00088 {
-00089     typedef UnaryWrapper<Unary> Wrapper;
-00090 
-00091     boost::python::class_<Unary, Wrapper, boost::noncopyable>(name.c_str(), boost::python::init<>() )
-00092         .def("__call__", &Wrapper::operator(), boost::python::return_internal_reference<>() )
-00093         ;
-00094 }
-00095 
-00096 template <class Binary>
-00097 class BinaryWrapper : public Binary
-00098 {
-00099     public:
-00100     PyObject* self;
-00101     BinaryWrapper(PyObject* s) : self(s) {}
-00102     typename Binary::result_type operator()(typename Binary::first_argument_type a1, typename Binary::second_argument_type a2)
-00103     {
-00104         return boost::python::call_method<
-00105             typename Binary::result_type>(self, "__call__", boost::ref(a1), boost::ref(a2) );
-00106     }
-00107 };
-00108 
-00109 template <class Binary>
-00110 void make_abstract_functor(std::string name, typename eoFunctorBase::binary_function_tag)
-00111 {
-00112     typedef BinaryWrapper<Binary> Wrapper;
-00113     boost::python::class_<Binary, Wrapper, boost::noncopyable>(name.c_str(), boost::python::init<>() )
-00114         .def("__call__", &Wrapper::operator());
-00115 }
-00116 
-00117 template <class Binary>
-00118 void make_abstract_functor_ref(std::string name, typename eoFunctorBase::binary_function_tag)
-00119 {
-00120     typedef BinaryWrapper<Binary> Wrapper;
-00121     boost::python::class_<Binary, Wrapper, boost::noncopyable>(name.c_str(), boost::python::init<>() )
-00122         .def("__call__", &Wrapper::operator(), boost::python::return_internal_reference<>() );
-00123 }
-00124 
-00125 }// namespace eoutils
-00126 
-00127 template <class Functor>
-00128 void def_abstract_functor(std::string name)
-00129 {
-00130     eoutils::make_abstract_functor<Functor>(name, Functor::functor_category());
-00131 }
-00132 
-00133 template <class Functor>
-00134 void def_abstract_functor_ref(std::string name)
-00135 {
-00136     eoutils::make_abstract_functor_ref<Functor>(name, Functor::functor_category());
-00137 }
-00138 
-00139 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000000.html b/trunk/paradiseo-eo/doc/html/dir_000000.html deleted file mode 100644 index 440840777..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000000.html +++ /dev/null @@ -1,242 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/src/ Directory Reference - - - - - -

src Directory Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Directories

directory do
directory es
directory ga
directory gp
directory other
directory pyeo
directory utils

Files

file  apply.h
file  EO.h
file  eoAlgo.h
file  eoBreed.h
file  eoCellularEasyEA.h
file  eoCloneOps.h
file  eoCombinedContinue.h
file  eoCombinedInit.h
file  eoContinue.h
file  eoCounter.h
file  eoCtrlCContinue.cpp
file  eoCtrlCContinue.h
file  eoDetSelect.h
file  eoDetTournamentSelect.h
file  eoDistribUpdater.h
file  eoDistribution.h
file  eoDominanceMap.h
file  eoEasyEA.h
file  eoEDA.h
file  eoEvalContinue.h
file  eoEvalFunc.h
file  eoEvalFuncCounter.h
file  eoEvalFuncPtr.h
file  eoFactory.h
file  eoFitContinue.h
file  eoFitnessScalingSelect.h
file  eoFlOrBinOp.h
file  eoFlOrMonOp.h
file  eoFlOrQuadOp.h
file  eoFunctor.h
file  eoFunctorStore.cpp
file  eoFunctorStore.h
file  eoG3Replacement.h
file  eoGenContinue.h
file  eoGeneralBreeder.h
file  eoGenOp.h
file  eoInit.h
file  eoInvalidateOps.h
file  eoLinearFitScaling.h
file  eoMerge.h
file  eoMergeReduce.h
file  eoMGGReplacement.h
file  eoNDSorting.h
file  eoObject.h
file  eoOneToOneBreeder.h
file  eoOp.h
file  eoOpContainer.h
file  eoOpSelMason.h
file  eoParetoConstraintFitness.h
file  eoParetoFitness.cpp
file  eoParetoFitness.h
file  eoParetoRanking.h
file  eoPerf2Worth.h
file  eoPeriodicContinue.h
file  eoPersistent.cpp
file  eoPersistent.h
file  eoPop.h
file  eoPopAlgo.h
file  eoPopEvalFunc.h
file  eoPopulator.h
file  eoPrintable.cpp
file  eoPrintable.h
file  eoPropGAGenOp.h
file  eoProportionalCombinedOp.h
file  eoProportionalSelect.h
file  eoRandomSelect.h
file  eoRanking.h
file  eoRankingSelect.h
file  eoReduce.h
file  eoReduceMerge.h
file  eoReduceMergeReduce.h
file  eoReduceSplit.h
file  eoReplacement.h
file  eoScalarFitness.h
file  eoScalarFitnessAssembled.cpp
file  eoScalarFitnessAssembled.h
file  eoSelect.h
file  eoSelectFactory.h
file  eoSelectFromWorth.h
file  eoSelectMany.h
file  eoSelectNumber.h
file  eoSelectOne.h
file  eoSelectPerc.h
file  eoSequentialSelect.h
file  eoSGA.h
file  eoSGAGenOp.h
file  eoSGATransform.h
file  eoSharing.h
file  eoSharingSelect.h
file  eoSimpleEDA.h
file  eoSteadyFitContinue.h
file  eoSTLFunctor.h
file  eoStochasticUniversalSelect.h
file  eoStochTournamentSelect.h
file  eoSurviveAndDie.h
file  eoTransform.h
file  eoTruncatedSelectMany.h
file  eoTruncatedSelectOne.h
file  eoTruncSelect.h
file  eoVariableLengthCrossover.h
file  eoVariableLengthMutation.h
file  eoVector.h
file  es.h
file  ga.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000001.html b/trunk/paradiseo-eo/doc/html/dir_000001.html deleted file mode 100644 index acf9f0ec9..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000001.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ Directory Reference - - - - - -

pyeo Directory Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Files

file  abstract1.cpp
file  algos.cpp
file  breeders.cpp
file  continuators.cpp
file  def_abstract_functor.h
file  geneticOps.cpp
file  mergers.cpp
file  monitors.cpp
file  src/pyeo/NEWS
file  perf2worth.cpp
file  pickle.h
file  PyEO.cpp
file  PyEO.h
file  random_numbers.cpp
file  src/pyeo/README
file  reduce.cpp
file  replacement.cpp
file  selectOne.cpp
file  selectors.cpp
file  statistics.cpp
file  valueParam.cpp
file  valueParam.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000002.html b/trunk/paradiseo-eo/doc/html/dir_000002.html deleted file mode 100644 index 7e402eb3a..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000002.html +++ /dev/null @@ -1,115 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/test/ Directory Reference - - - - - -

test Directory Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Files

file  test/binary_value.h
file  fitness_traits.cpp
file  test/real_value.h
file  RoyalRoad.h
file  t-eo.cpp
file  t-eoAtomOps.cpp
file  t-eoBaseFunctions.cpp
file  t-eobin.cpp
file  t-eobreeder.cpp
file  t-eoCheckpointing.cpp
file  t-eoCMAES.cpp
file  t-eoEasyEA.cpp
file  t-eoESAll.cpp
file  t-eoESFull.cpp
file  t-eoESOps.cpp
file  t-eoExternalEO.cpp
file  t-eofitness.cpp
file  t-eoFitnessAssembled.cpp
file  t-eoFitnessAssembledEA.cpp
file  t-eoFunctor.cpp
file  t-eoGA.cpp
file  t-eogeneration.cpp
file  t-eoGenOp.cpp
file  t-eoGOpSel.cpp
file  t-eoinclusion.cpp
file  t-eoinsertion.cpp
file  t-eolottery.cpp
file  t-eoNonUniform.cpp
file  t-eoPareto.cpp
file  t-eoParetoFitness.cpp
file  t-eoPBIL.cpp
file  t-eoproblem.cpp
file  t-eoRandom.cpp
file  t-eoReal.cpp
file  t-eoReplacement.cpp
file  t-eoRoulette.cpp
file  t-eoSelect.cpp
file  t-eoSharing.cpp
file  t-eoSSGA.cpp
file  t-eoStateAndParser.cpp
file  t-eoSymreg.cpp
file  t-eoUniform.cpp
file  t-eoVector.cpp
file  t-eoVirus.cpp
file  t-MGE-control.cpp
file  t-MGE.cpp
file  t-MGE1bit.cpp
file  t-selectOne.cpp
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000003.html b/trunk/paradiseo-eo/doc/html/dir_000003.html deleted file mode 100644 index 9402d037a..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000003.html +++ /dev/null @@ -1,34 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ Directory Reference - - - - - -

tutorial Directory Reference

- - - - - - - - - - - - - - - - - -

Directories

directory Lesson1
directory Lesson2
directory Lesson3
directory Lesson4
directory Lesson5
directory Templates

Files

file  tutorial/README
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000004.html b/trunk/paradiseo-eo/doc/html/dir_000004.html deleted file mode 100644 index b61aef1a4..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000004.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ Directory Reference - - - - - -

Lesson2 Directory Reference

- - - - - - - - - - - - -

Files

file  tutorial/Lesson2/binary_value.h
file  exercise2.3.cpp
file  FirstBitEA.cpp
file  FirstRealEA.cpp
file  tutorial/Lesson2/real_value.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000005.html b/trunk/paradiseo-eo/doc/html/dir_000005.html deleted file mode 100644 index 84bc8f512..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000005.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ Directory Reference - - - - - -

Lesson3 Directory Reference

- - - - - - - - - - - - -

Files

file  tutorial/Lesson3/binary_value.h
file  exercise3.1.cpp
file  tutorial/Lesson3/real_value.h
file  SecondBitEA.cpp
file  SecondRealEA.cpp
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000006.html b/trunk/paradiseo-eo/doc/html/dir_000006.html deleted file mode 100644 index 0e32ce6d5..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000006.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ Directory Reference - - - - - -

Lesson4 Directory Reference

- - - - - - - - - - - - -

Files

file  tutorial/Lesson4/binary_value.h
file  BitEA.cpp
file  ESEA.cpp
file  tutorial/Lesson4/real_value.h
file  RealEA.cpp
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000007.html b/trunk/paradiseo-eo/doc/html/dir_000007.html deleted file mode 100644 index f28275eb6..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000007.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ Directory Reference - - - - - -

contrib Directory Reference

- - - - - - - - - - - -

Directories

directory mathsym
directory MGE

Files

file  eoAged.h
file  eoDrawable.h
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000008.html b/trunk/paradiseo-eo/doc/html/dir_000008.html deleted file mode 100644 index 9fa8cc8dd..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000008.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ Directory Reference - - - - - -

mathsym Directory Reference

- - - - - - - - - - - - - - - - - - - - - - - -

Directories

directory eo_interface
directory eval
directory fun
directory gen
directory regression
directory sym
directory test

Files

file  contrib/mathsym/README
file  shared_ptr.h
file  symreg.cpp
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000009.html b/trunk/paradiseo-eo/doc/html/dir_000009.html deleted file mode 100644 index 78d2d1f39..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000009.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ Directory Reference - - - - - -

eval Directory Reference

- - - - - - - - - - - - - - - - - - -

Files

file  BoundsCheck.cpp
file  BoundsCheck.h
file  Interval.h
file  MultiFuncs.cpp
file  MultiFunction.cpp
file  MultiFunction.h
file  sym_compile.cpp
file  sym_compile.h
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000010.html b/trunk/paradiseo-eo/doc/html/dir_000010.html deleted file mode 100644 index 25949a9b1..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000010.html +++ /dev/null @@ -1,105 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ Directory Reference - - - - - -

es Directory Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Files

file  CMAParams.cpp
file  CMAParams.h
file  CMAState.cpp
file  CMAState.h
file  eig.cpp
file  eig.h
file  eoCMABreed.h
file  eoCMAInit.h
file  eoEsChromInit.h
file  eoEsFull.h
file  eoEsGlobalXover.h
file  eoEsMutate.h
file  eoEsMutationInit.h
file  eoEsSimple.h
file  eoEsStandardXover.h
file  eoEsStdev.h
file  eoNormalMutation.h
file  eoReal.h
file  eoRealAtomXover.h
file  eoRealInitBounded.h
file  eoRealOp.h
file  eoSBXcross.h
file  make_algo_scalar_es.cpp
file  make_algo_scalar_real.cpp
file  make_checkpoint_es.cpp
file  make_checkpoint_real.cpp
file  make_continue_es.cpp
file  make_continue_real.cpp
file  make_es.h
file  make_genotype_es.cpp
file  make_genotype_real.cpp
file  make_genotype_real.h
file  es/make_op.h
file  make_op_es.cpp
file  make_op_es.h
file  make_op_real.cpp
file  make_op_real.h
file  make_pop_es.cpp
file  make_pop_real.cpp
file  make_real.h
file  make_run_es.cpp
file  make_run_real.cpp
file  matrices.h
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000011.html b/trunk/paradiseo-eo/doc/html/dir_000011.html deleted file mode 100644 index 1f18c4f7c..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000011.html +++ /dev/null @@ -1,115 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ Directory Reference - - - - - -

utils Directory Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Files

file  compatibility.h
file  eoAssembledFitnessStat.h
file  eoCheckPoint.h
file  eoData.cpp
file  eoData.h
file  eoDistance.h
file  eoFDCStat.h
file  eoFileMonitor.cpp
file  eoFileMonitor.h
file  eoFileSnapshot.h
file  eoGnuplot.cpp
file  eoGnuplot.h
file  eoGnuplot1DMonitor.cpp
file  eoGnuplot1DMonitor.h
file  eoGnuplot1DSnapshot.cpp
file  eoGnuplot1DSnapshot.h
file  eoHowMany.h
file  eoIntBounds.cpp
file  eoIntBounds.h
file  eoMOFitnessStat.h
file  eoMonitor.h
file  eoParam.h
file  eoParser.cpp
file  eoParser.h
file  eoPopStat.h
file  eoRealBounds.cpp
file  eoRealBounds.h
file  eoRealVectorBounds.h
file  eoRndGenerators.h
file  eoRNG.cpp
file  eoRNG.h
file  eoScalarFitnessStat.h
file  eoStat.h
file  eoState.cpp
file  eoState.h
file  eoStdoutMonitor.cpp
file  eoStdoutMonitor.h
file  eoTimeCounter.h
file  eoTimedMonitor.h
file  eoUniformInit.h
file  eoUpdatable.h
file  eoUpdater.cpp
file  eoUpdater.h
file  make_help.cpp
file  pipecom.cpp
file  pipecom.h
file  rnd_generators.h
file  selectors.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000012.html b/trunk/paradiseo-eo/doc/html/dir_000012.html deleted file mode 100644 index 7e4a334ca..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000012.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ Directory Reference - - - - - -

regression Directory Reference

- - - - - - - - - - - - - - - - - - - - -

Files

file  Dataset.cpp
file  Dataset.h
file  ErrorMeasure.cpp
file  ErrorMeasure.h
file  Scaling.cpp
file  Scaling.h
file  stats.h
file  TargetInfo.cpp
file  TargetInfo.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000013.html b/trunk/paradiseo-eo/doc/html/dir_000013.html deleted file mode 100644 index a78f0df28..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000013.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ Directory Reference - - - - - -

ga Directory Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Files

file  eoBit.h
file  eoBitOp.h
file  eoBitOpFactory.h
file  eoBoolFlip.h
file  eoPBILAdditive.h
file  eoPBILDistrib.h
file  eoPBILOrg.h
file  make_algo_scalar_ga.cpp
file  make_checkpoint_ga.cpp
file  make_continue_ga.cpp
file  make_ga.h
file  make_genotype_ga.cpp
file  make_genotype_ga.h
file  ga/make_op.h
file  make_op_ga.cpp
file  make_PBILdistrib.h
file  make_PBILupdate.h
file  make_pop_ga.cpp
file  make_run_ga.cpp
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000014.html b/trunk/paradiseo-eo/doc/html/dir_000014.html deleted file mode 100644 index 821c8a82b..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000014.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ Directory Reference - - - - - -

other Directory Reference

- - - - - - - - -

Files

file  eoExternalEO.h
file  eoExternalOpFunctions.h
file  eoString.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000015.html b/trunk/paradiseo-eo/doc/html/dir_000015.html deleted file mode 100644 index 95cc38b9a..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000015.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ Directory Reference - - - - - -

MGE Directory Reference

- - - - - - - - -

Files

file  eoInitVirus.h
file  eoVirus.h
file  VirusOp.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000016.html b/trunk/paradiseo-eo/doc/html/dir_000016.html deleted file mode 100644 index 07b093b13..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000016.html +++ /dev/null @@ -1,39 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ Directory Reference - - - - - -

Lesson5 Directory Reference

- - - - - - - - - - - - - - - - - - - - - - -

Files

file  eoOneMax.h
file  eoOneMaxEvalFunc.h
file  eoOneMaxInit.h
file  eoOneMaxMutation.h
file  eoOneMaxQuadCrossover.h
file  make_genotype_OneMax.h
file  make_OneMax.cpp
file  make_op_OneMax.h
file  OneMaxEA.cpp
file  OneMaxLibEA.cpp
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000017.html b/trunk/paradiseo-eo/doc/html/dir_000017.html deleted file mode 100644 index 707c1d774..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000017.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ Directory Reference - - - - - -

gp Directory Reference

- - - - - - - - - - - - - - - - -

Files

file  eoParseTree.h
file  eoParseTreeDepthInit.h
file  eoParseTreeOp.h
file  eoStParseTreeDepthInit.h
file  eoStParseTreeOp.h
file  node_pool.h
file  parse_tree.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000018.html b/trunk/paradiseo-eo/doc/html/dir_000018.html deleted file mode 100644 index 4bf8f4daa..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000018.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/ Directory Reference - - - - - -

eo_interface Directory Reference

- - - - - - - - - - - - - - - - - - - - -

Files

file  eoSym.h
file  eoSymCrossover.cpp
file  eoSymCrossover.h
file  eoSymEval.h
file  eoSymInit.h
file  eoSymLambdaMutate.cpp
file  eoSymLambdaMutate.h
file  eoSymMutate.cpp
file  eoSymMutate.h
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000019.html b/trunk/paradiseo-eo/doc/html/dir_000019.html deleted file mode 100644 index 560526f2c..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000019.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ Directory Reference - - - - - -

Lesson1 Directory Reference

- - - - - - - - -

Files

file  exercise1.3.cpp
file  FirstBitGA.cpp
file  FirstRealGA.cpp
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000020.html b/trunk/paradiseo-eo/doc/html/dir_000020.html deleted file mode 100644 index e2e562df1..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000020.html +++ /dev/null @@ -1,25 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/app/ Directory Reference - - - - - -

app Directory Reference

- - - - - - - - -

Directories

directory gprop
directory gpsymreg
directory mastermind
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000021.html b/trunk/paradiseo-eo/doc/html/dir_000021.html deleted file mode 100644 index c754d33d0..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000021.html +++ /dev/null @@ -1,27 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ Directory Reference - - - - - -

gpsymreg Directory Reference

- - - - - - - - - - -

Files

file  fitness.h
file  main.cpp
file  node.h
file  parameters.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000022.html b/trunk/paradiseo-eo/doc/html/dir_000022.html deleted file mode 100644 index f2dfbec85..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000022.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ Directory Reference - - - - - -

fun Directory Reference

- - - - - - - - - - - - - - -

Files

file  FunDef.cpp
file  FunDef.h
file  sym_operations.cpp
file  SymOps.cpp
file  SymOps.h
file  util.cpp
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000023.html b/trunk/paradiseo-eo/doc/html/dir_000023.html deleted file mode 100644 index 10bac4347..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000023.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ Directory Reference - - - - - -

gprop Directory Reference

- - - - - - - - - - - - - - - - -

Files

file  gprop.cpp
file  gprop.h
file  l2.h
file  mlp.h
file  mse.h
file  qp.h
file  vecop.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000024.html b/trunk/paradiseo-eo/doc/html/dir_000024.html deleted file mode 100644 index f7d635a17..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000024.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ Directory Reference - - - - - -

gen Directory Reference

- - - - - - - - - - - - - - -

Files

file  LanguageTable.cpp
file  LanguageTable.h
file  NodeSelector.cpp
file  NodeSelector.h
file  TreeBuilder.cpp
file  TreeBuilder.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000025.html b/trunk/paradiseo-eo/doc/html/dir_000025.html deleted file mode 100644 index 0d992552f..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000025.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ Directory Reference - - - - - -

do Directory Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - -

Files

file  make_algo_easea.h
file  make_algo_pareto.h
file  make_algo_scalar.h
file  make_checkpoint.h
file  make_checkpoint_assembled.h
file  make_checkpoint_FDC.h
file  make_checkpoint_pareto.h
file  make_continue.h
file  make_continue_pareto.h
file  make_general_replacement.h
file  make_pop.h
file  make_run.h
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000026.html b/trunk/paradiseo-eo/doc/html/dir_000026.html deleted file mode 100644 index d1eb4fdf4..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000026.html +++ /dev/null @@ -1,33 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ Directory Reference - - - - - -

Templates Directory Reference

- - - - - - - - - - - - - - - - -

Files

file  make_genotype_MyStruct.h
file  make_MyStruct.cpp
file  make_op_MyStruct.h
file  MyStructEA.cpp
file  MyStructLibEA.cpp
file  MyStructSEA.cpp
file  tutorial/Templates/README
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000027.html b/trunk/paradiseo-eo/doc/html/dir_000027.html deleted file mode 100644 index 813dcbd99..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000027.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ Directory Reference - - - - - -

mastermind Directory Reference

- - - - - - -

Files

file  mastermind.cpp
file  mastermind.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000028.html b/trunk/paradiseo-eo/doc/html/dir_000028.html deleted file mode 100644 index e280b1fbc..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000028.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ Directory Reference - - - - - -

sym Directory Reference

- - - - - - - - - - - - - - -

Files

file  README.cpp
file  Sym.cpp
file  Sym.h
file  SymImpl.cpp
file  SymImpl.h
file  token.h
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/dir_000029.html b/trunk/paradiseo-eo/doc/html/dir_000029.html deleted file mode 100644 index f9d169416..000000000 --- a/trunk/paradiseo-eo/doc/html/dir_000029.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: /users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ Directory Reference - - - - - -

test Directory Reference

- - - - - - - - - - - - - - -

Files

file  test_compile.cpp
file  test_diff.cpp
file  test_lambda.cpp
file  test_mf.cpp
file  test_simplify.cpp
file  testeo.cpp
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/doxygen.css b/trunk/paradiseo-eo/doc/html/doxygen.css deleted file mode 100644 index 1d4d63117..000000000 --- a/trunk/paradiseo-eo/doc/html/doxygen.css +++ /dev/null @@ -1,271 +0,0 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; -} -H1 { - text-align: center; -} -CAPTION { font-weight: bold } -DIV.qindex { - width: 100%; - background-color: #eeeeff; - border: 1px solid #b0b0b0; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.nav { - width: 100%; - background-color: #eeeeff; - border: 1px solid #b0b0b0; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D -} -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - border: 1px double #9295C2; -} -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; -} -A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} -A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} -A.codeRef:link { font-weight: normal; color: #0000FF} -A.codeRef:visited { font-weight: normal; color: #0000FF} -A:hover { text-decoration: none; background-color: #f2f2ff } -DL.el { margin-left: -1cm } -.fragment { - font-family: monospace -} -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; -} -DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: #F4F4FB; font-weight: bold; } -TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } -TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} -DIV.groupText { margin-left: 16px; font-style: italic; font-size: 14px } -BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -} -TD.indexkey { - background-color: #eeeeff; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #eeeeff; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { text-align: center; } -IMG.formulaDsp { } -IMG.formulaInl { vertical-align: middle; } -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -.mdTable { - border: 1px solid #868686; - background-color: #F4F4FB; -} -.mdRow { - padding: 8px 10px; -} -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 12px; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 12px; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 12px; -} -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 13px; -} -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 12px; -} -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 13px; -} -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 12px; -} -.search { color: #003399; - font-weight: bold; -} -FORM.search { - margin-bottom: 0px; - margin-top: 0px; -} -INPUT.search { font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #eeeeff; -} -TD.tiny { font-size: 75%; -} -a { - color: #252E78; -} -a:visited { - color: #3D2185; -} diff --git a/trunk/paradiseo-eo/doc/html/doxygen.png b/trunk/paradiseo-eo/doc/html/doxygen.png deleted file mode 100644 index f0a274bba..000000000 Binary files a/trunk/paradiseo-eo/doc/html/doxygen.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/eig_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eig_8cpp-source.html deleted file mode 100644 index e25a8d871..000000000 --- a/trunk/paradiseo-eo/doc/html/eig_8cpp-source.html +++ /dev/null @@ -1,274 +0,0 @@ - - -EO: eig.cpp Source File - - - - - -

eig.cpp

00001 
-00002 /*
-00003  * C++ification of Nikolaus Hansen's original C-source code for the
-00004  * CMA-ES. These are the eigenvector calculations
-00005  *
-00006  * C++-ificiation performed by Maarten Keijzer (C) 2005. Licensed under
-00007  * the LGPL. Original copyright of Nikolaus Hansen can be found below
-00008  *
-00009  * This algorithm is held almost completely intact. Some other datatypes are used,
-00010  * but hardly any code has changed
-00011  * 
-00012  */
-00013 
-00014 /* --------------------------------------------------------- */
-00015 /* --------------------------------------------------------- */
-00016 /* --- File: cmaes.c  -------- Author: Nikolaus Hansen   --- */
-00017 /* --------------------------------------------------------- */
-00018 /*
-00019  *      CMA-ES for non-linear function minimization.
-00020  *
-00021  *           Copyright (C) 1996, 2003  Nikolaus Hansen.
-00022  *           e-mail: hansen@bionik.tu-berlin.de
-00023  *
-00024  *           This library is free software; you can redistribute it and/or
-00025  *           modify it under the terms of the GNU Lesser General Public
-00026  *           License as published by the Free Software Foundation; either
-00027  *           version 2.1 of the License, or (at your option) any later
-00028  *           version (see http://www.gnu.org/copyleft/lesser.html).
-00029  *
-00030  *           This library is distributed in the hope that it will be useful,
-00031  *           but WITHOUT ANY WARRANTY; without even the implied warranty of
-00032  *           MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00033  *           Lesser General Public License for more details.
-00034  * 
-00035  *                                                             */
-00036 /* --- Changes : ---
-00037  *   03/03/21: argument const double *rgFunVal of
-00038  *   cmaes_ReestimateDistribution() was treated incorrectly.
-00039  *   03/03/29: restart via cmaes_resume_distribution() implemented.
-00040  *   03/03/30: Always max std dev / largest axis is printed first.
-00041  *   03/08/30: Damping is adjusted for large mueff.
-00042  *   03/10/30: Damping is adjusted for large mueff always.
-00043  *   04/04/22: Cumulation time and damping for step size adjusted.
-00044  *   No iniphase but conditional update of pc.
-00045  *   Version 2.23.
-00046  *                               */
-00047 #include "eig.h"
-00048 
-00049 using namespace std;
-00050 
-00051 /* ========================================================= */
-00052 /* 
-00053    Householder Transformation einer symmetrischen Matrix
-00054    auf tridiagonale Form.
-00055    -> n             : Dimension
-00056    -> ma            : symmetrische nxn-Matrix
-00057    <- ma            : Transformationsmatrix (ist orthogonal): 
-00058                       Tridiag.-Matrix == <-ma * ->ma * (<-ma)^t
-00059    <- diag          : Diagonale der resultierenden Tridiagonalmatrix
-00060    <- neben[0..n-1] : Nebendiagonale (==1..n-1) der res. Tridiagonalmatrix
-00061 
-00062    */
-00063 static void 
-00064 Householder( int N, square_matrix& ma, valarray<double>& diag, double* neben)
-00065 {
-00066   double epsilon; 
-00067   int i, j, k;
-00068   double h, sum, tmp, tmp2;
-00069 
-00070   for (i = N-1; i > 0; --i)
-00071   {
-00072     h = 0.0;
-00073     if (i == 1)
-00074       neben[i] = ma[i][i-1];
-00075     else
-00076     {
-00077       for (k = i-1, epsilon = 0.0; k >= 0; --k)
-00078         epsilon += fabs(ma[i][k]);
-00079 
-00080       if (epsilon == 0.0)
-00081         neben[i] = ma[i][i-1];
-00082       else
-00083       {
-00084         for(k = i-1, sum = 0.0; k >= 0; --k)
-00085         { /* i-te Zeile von i-1 bis links normieren */
-00086           ma[i][k] /= epsilon;
-00087           sum += ma[i][k]*ma[i][k];
-00088         } 
-00089         tmp = (ma[i][i-1] > 0) ? -sqrt(sum) : sqrt(sum);
-00090         neben[i] = epsilon*tmp;
-00091         h = sum - ma[i][i-1]*tmp;
-00092         ma[i][i-1] -= tmp;
-00093         for (j = 0, sum = 0.0; j < i; ++j)
-00094         {
-00095           ma[j][i] = ma[i][j]/h;
-00096           tmp = 0.0;
-00097           for (k = j; k >= 0; --k)
-00098             tmp += ma[j][k]*ma[i][k];
-00099           for (k = j+1; k < i; ++k)
-00100             tmp += ma[k][j]*ma[i][k];
-00101           neben[j] = tmp/h;
-00102           sum += neben[j] * ma[i][j];
-00103         } /* for j */
-00104         sum /= 2.*h;
-00105         for (j = 0; j < i; ++j)
-00106         {
-00107           neben[j] -= ma[i][j]*sum;
-00108           tmp = ma[i][j];
-00109           tmp2 = neben[j];
-00110           for (k = j; k >= 0; --k)
-00111             ma[j][k] -= (tmp*neben[k] + tmp2*ma[i][k]);
-00112         } /* for j */
-00113       } /* else epsilon */
-00114     } /* else i == 1 */
-00115     diag[i] = h;
-00116   } /* for i */
-00117 
-00118   diag[0] = 0.0;
-00119   neben[0] = 0.0;
-00120   
-00121   for (i = 0; i < N; ++i)
-00122   {
-00123     if(diag[i] != 0.0)
-00124       for (j = 0; j < i; ++j)
-00125       {
-00126         for (k = i-1, tmp = 0.0; k >= 0; --k)
-00127           tmp += ma[i][k] * ma[k][j];
-00128         for (k = i-1; k >= 0; --k)
-00129           ma[k][j] -= tmp*ma[k][i];
-00130       } /* for j   */
-00131     diag[i] = ma[i][i];
-00132     ma[i][i] = 1.0;
-00133     for (k = i-1; k >= 0; --k)
-00134       ma[k][i] = ma[i][k] = 0.0;
-00135   } /* for i */
-00136 }
-00137 
-00138 /*
-00139   QL-Algorithmus mit implizitem Shift, zur Berechnung von Eigenwerten
-00140   und -vektoren einer symmetrischen Tridiagonalmatrix. 
-00141   -> n     : Dimension. 
-00142   -> diag        : Diagonale der Tridiagonalmatrix. 
-00143   -> neben[0..n-1] : Nebendiagonale (==0..n-2), n-1. Eintrag beliebig
-00144   -> mq    : Matrix output von Householder() 
-00145   -> maxIt : maximale Zahl der Iterationen 
-00146   <- diag  : Eigenwerte
-00147   <- neben : Garbage
-00148   <- mq    : k-te Spalte ist normalisierter Eigenvektor zu diag[k]
-00149 
-00150   */
-00151 
-00152 static int 
-00153 QLalgo( int N, valarray<double>& diag, square_matrix& mq, 
-00154         int maxIter, double* neben)
-00155 {
-00156   int i, j, k, kp1, l;
-00157   double tmp, diff, cneben, c1, c2, p;
-00158   int iter;
-00159 
-00160   neben[N-1] = 0.0;
-00161   for (i = 0, iter = 0; i < N && iter < maxIter; ++i)
-00162     do /* while j != i */
-00163     {
-00164       for (j = i; j < N-1; ++j)
-00165       {
-00166         tmp = fabs(diag[j]) + fabs(diag[j+1]);
-00167         if (fabs(neben[j]) + tmp == tmp)
-00168           break;
-00169       }
-00170       if (j != i)
-00171       {
-00172         if (++iter > maxIter) return maxIter-1;
-00173         diff = (diag[i+1]-diag[i])/neben[i]/2.0;
-00174         if (diff >= 0)
-00175           diff = diag[j] - diag[i] + 
-00176             neben[i] / (diff + sqrt(diff * diff + 1.0));
-00177         else
-00178           diff = diag[j] - diag[i] + 
-00179             neben[i] / (diff - sqrt(diff * diff + 1.0));
-00180         c2 = c1 = 1.0;
-00181         p = 0.0;
-00182         for (k = j-1; k >= i; --k)
-00183         {
-00184           kp1 = k + 1;
-00185           tmp = c2 * neben[k];
-00186           cneben = c1 * neben[k];
-00187           if (fabs(tmp) >= fabs(diff))
-00188           {
-00189             c1 = diff / tmp;
-00190             c2 = 1. / sqrt(c1*c1 + 1.0);
-00191             neben[kp1] = tmp / c2;
-00192             c1 *= c2;
-00193           }
-00194           else
-00195           {
-00196             c2 = tmp / diff;
-00197             c1 = 1. / sqrt(c2*c2 + 1.0);
-00198             neben[kp1] = diff / c1;
-00199             c2 *= c1;
-00200           } /* else */
-00201           tmp = (diag[k] - diag[kp1] + p) * c2 + 2.0 * c1 * cneben;
-00202           diag[kp1] += tmp * c2 - p;
-00203           p = tmp * c2;
-00204           diff = tmp * c1 - cneben;
-00205           for (l = N-1; l >= 0; --l) /* TF-Matrix Q */
-00206           { 
-00207             tmp = mq[l][kp1];
-00208             mq[l][kp1] = c2 * mq[l][k] + c1 * tmp;
-00209             mq[l][k] = c1 * mq[l][k] - c2 * tmp;
-00210           } /* for l */
-00211         } /* for k */
-00212         diag[i] -= p;
-00213         neben[i] = diff;
-00214         neben[j] = 0.0;
-00215       } /* if */
-00216     } while (j != i);
-00217   return iter;
-00218 } /* QLalgo() */
-00219 
-00220 /* ========================================================= */
-00221 /* 
-00222    Calculating eigenvalues and vectors. 
-00223    Input: 
-00224      N: dimension.
-00225      C: lower_triangular NxN-matrix.
-00226      niter: number of maximal iterations for QL-Algorithm. 
-00227      rgtmp: N+1-dimensional vector for temporal use. 
-00228    Output: 
-00229      diag: N eigenvalues.
-00230      Q: Columns are normalized eigenvectors.
-00231      return: number of iterations in QL-Algorithm.
-00232  */
-00233 
-00234 namespace eo {
-00235 int 
-00236 eig( int N,  const lower_triangular_matrix& C, valarray<double>& diag, square_matrix& Q, 
-00237        int niter)
-00238 {
-00239   int ret;
-00240   int i, j;
-00241 
-00242   if (niter == 0) niter = 30*N;
-00243 
-00244   for (i=0; i < N; ++i)
-00245   {
-00246       vector<double>::const_iterator row = C[i];
-00247       for (j = 0; j <= i; ++j)
-00248           Q[i][j] = Q[j][i] = row[j];
-00249   }
-00250   
-00251   double* rgtmp = new double[N+1];
-00252   Householder( N, Q, diag, rgtmp);
-00253   ret = QLalgo( N, diag, Q, niter, rgtmp+1);
-00254   delete [] rgtmp;
-00255   
-00256   return ret;
-00257 }  
-00258 
-00259 } // namespace eo
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eig_8h-source.html b/trunk/paradiseo-eo/doc/html/eig_8h-source.html deleted file mode 100644 index d2d8d84fe..000000000 --- a/trunk/paradiseo-eo/doc/html/eig_8h-source.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: eig.h Source File - - - - - -

eig.h

00001 #ifndef EIG_H__
-00002 #define EIG_H__
-00003 
-00004 #include <matrices.h>
-00005 #include <valarray>
-00006 
-00007 namespace eo {
-00008 /* ========================================================= */
-00009 /* 
-00010    Calculating eigenvalues and vectors. 
-00011    Input: 
-00012      N: dimension.
-00013      C: lower_triangular NxN-matrix.
-00014      niter: number of maximal iterations for QL-Algorithm. 
-00015    Output: 
-00016      diag: N eigenvalues.
-00017      Q: Columns are normalized eigenvectors.
-00018      return: number of iterations in QL-Algorithm.
-00019  */
-00020 extern int eig( int N,  const lower_triangular_matrix& C, std::valarray<double>& diag, square_matrix& Q, 
-00021        int niter = 0);
-00022 
-00023 } // namespace eo
-00024 
-00025 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_aged_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_aged_8h-source.html deleted file mode 100644 index ec1fbf532..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_aged_8h-source.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: eoAged.h Source File - - - - - -

eoAged.h

00001 // eoAged.h
-00002 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00003 
-00004 //-----------------------------------------------------------------------------
-00005 // eoAge.h
-00006 // (c) GeNeura Team, 1998
-00007 /* 
-00008     This library is free software; you can redistribute it and/or
-00009     modify it under the terms of the GNU Lesser General Public
-00010     License as published by the Free Software Foundation; either
-00011     version 2 of the License, or (at your option) any later version.
-00012 
-00013     This library is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016     Lesser General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU Lesser General Public
-00019     License along with this library; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef EOAGED_H
-00027 #define EOAGED_H
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <iostream>  // istream, ostream
-00032 #include <std::string> // para std::string
-00033 
-00034 using namespace std;
-00035 
-00036 //-----------------------------------------------------------------------------
-00037 // eoAge
-00038 //-----------------------------------------------------------------------------
-00039 
-00046 template <class Object>
-00047 class eoAged: public Object
-00048 {
-00049  public:
-00051         eoAged( const Object& _o): Object( _o ), age(0) {};
-00052 
-00054   eoAged( const eoAged& _a): Object( _a ), age( _a.age ) {};
-00055 
-00057   virtual ~eoAged() {};
-00058   
-00059 
-00061   unsigned long Age() const {return age;}
-00062 
-00064   const eoAged& operator ++ () { age++; return *this;}
-00065 
-00074   virtual std::string className() const { return std::string("eoAged")+Object::className(); };
-00075 
-00081   virtual void readFrom(istream& _is) {
-00082           Object::readFrom( _is );
-00083           _is >> age;
-00084   }
-00085 
-00086   
-00091   virtual void printOn(ostream& _os) const{
-00092           Object::printOn( _os );
-00093           _os << age;
-00094   }
-00096   
-00097  private:
-00098 
-00103          eoAged(): Object(), age(0) {};
-00104 
-00105          unsigned long age;
-00106 };
-00107 
-00108 #endif EOAGE_H
-00109 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_algo_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_algo_8h-source.html deleted file mode 100644 index 8b266f650..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_algo_8h-source.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: eoAlgo.h Source File - - - - - -

eoAlgo.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoAlgo.h
-00005 // (c) GeNeura Team, 1998
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _EOALGO_H
-00026 #define _EOALGO_H
-00027 
-00028 #include <eoPop.h>                   // for population
-00029 #include <eoFunctor.h>
-00030 
-00038 template< class EOT >
-00039 class eoAlgo : public eoUF<eoPop<EOT>&, void>
-00040 {};
-00041 
-00042 
-00043 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_assembled_fitness_stat_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_assembled_fitness_stat_8h-source.html deleted file mode 100644 index ef08f2d9d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_assembled_fitness_stat_8h-source.html +++ /dev/null @@ -1,116 +0,0 @@ - - -EO: eoAssembledFitnessStat.h Source File - - - - - -

eoAssembledFitnessStat.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoAssembledFitnessStat.h
-00005 // Marc Wintermantel & Oliver Koenig
-00006 // IMES-ST@ETHZ.CH
-00007 // April 2003
-00008 
-00009 //-----------------------------------------------------------------------------
-00010 // eoStat.h
-00011 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00012 /*
-00013     This library is free software; you can redistribute it and/or
-00014     modify it under the terms of the GNU Lesser General Public
-00015     License as published by the Free Software Foundation; either
-00016     version 2 of the License, or (at your option) any later version.
-00017 
-00018     This library is distributed in the hope that it will be useful,
-00019     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00020     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00021     Lesser General Public License for more details.
-00022 
-00023     You should have received a copy of the GNU Lesser General Public
-00024     License along with this library; if not, write to the Free Software
-00025     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00026 
-00027     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00028              Marc.Schoenauer@polytechnique.fr
-00029              mkeijzer@dhi.dk
-00030  */
-00031 //-----------------------------------------------------------------------------
-00032 
-00033 #ifndef _eoAssembledFitnessStat_h
-00034 #define _eoAssembledFitnessStat_h
-00035 
-00036 #include <utils/eoStat.h>
-00037 #include <eoScalarFitnessAssembled.h>
-00038 
-00045 template <class EOT>
-00046 class eoAssembledFitnessAverageStat : public eoStat<EOT, double>
-00047 {
-00048 public :
-00049 
-00050     using eoStat<EOT, double>::value;
-00051 
-00052     typedef typename EOT::Fitness Fitness;
-00053 
-00054 
-00055     eoAssembledFitnessAverageStat(unsigned _whichTerm=0, std::string _description = "Average Fitness")
-00056         : eoStat<EOT, double>(Fitness(), _description), whichFitnessTerm(_whichTerm)
-00057         {}
-00058 
-00059 
-00060     virtual void operator()(const eoPop<EOT>& _pop) {
-00061         if( whichFitnessTerm >= _pop[0].fitness().size() )
-00062             throw std::logic_error("Fitness term requested out of range");
-00063 
-00064     double result =0.0;
-00065     unsigned count = 0;
-00066     for (typename eoPop<EOT>::const_iterator it = _pop.begin(); it != _pop.end(); ++it){
-00067       if ( it->fitness().failed == false ){
-00068         result+= it->fitness()[whichFitnessTerm];
-00069         ++count;
-00070       }
-00071     }
-00072 
-00073     value() = result / (double) count;
-00074   }
-00075 
-00076 private:
-00077   // Store an index of the fitness term to be evaluated in eoScalarFitnessAssembled
-00078   unsigned whichFitnessTerm;
-00079 };
-00080 
-00086 template <class EOT>
-00087 class eoAssembledFitnessBestStat : public eoStat<EOT, double>
-00088 {
-00089 public:
-00090 
-00091     using eoStat<EOT, double>::value;
-00092 
-00093     typedef typename EOT::Fitness Fitness;
-00094 
-00095     eoAssembledFitnessBestStat(unsigned _whichTerm=0, std::string _description = "Best Fitness")
-00096         : eoStat<EOT, double>(Fitness(), _description), whichFitnessTerm(_whichTerm)
-00097         {}
-00098 
-00099     virtual void operator()(const eoPop<EOT>& _pop) {
-00100         if( whichFitnessTerm >= _pop[0].fitness().size() )
-00101             throw std::logic_error("Fitness term requested out of range");
-00102 
-00103         value() = _pop.best_element().fitness()[whichFitnessTerm];
-00104     }
-00105 
-00106 private:
-00107 
-00108     // Store an index of the fitness term to be evaluated in eoScalarFitnessAssembled
-00109     unsigned whichFitnessTerm;
-00110 };
-00111 
-00112 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_bit_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_bit_8h-source.html deleted file mode 100644 index 0b7083d9f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_bit_8h-source.html +++ /dev/null @@ -1,108 +0,0 @@ - - -EO: eoBit.h Source File - - - - - -

eoBit.h

00001 /*
-00002    eoBit.h
-00003    (c) GeNeura Team 1998, Marc Schoenauer 2000
-00004 
-00005     This library is free software; you can redistribute it and/or
-00006     modify it under the terms of the GNU Lesser General Public
-00007     License as published by the Free Software Foundation; either
-00008     version 2 of the License, or (at your option) any later version.
-00009 
-00010     This library is distributed in the hope that it will be useful,
-00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00013     Lesser General Public License for more details.
-00014 
-00015     You should have received a copy of the GNU Lesser General Public
-00016     License along with this library; if not, write to the Free Software
-00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00018 
-00019     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00020              Marc.Schoenauer@polytechnique.fr
-00021 */
-00022 
-00023 /* MS, Nov. 23, 2000
-00024    Added the calls to base class I/O routines that print the fitness
-00025    Left printing/reading of the size of the bitstring,
-00026        for backward compatibility, and as it is a general practice in EO
-00027 
-00028    MS, Feb. 7, 2001
-00029    replaced all ...Bin... names with ...Bit... names - for bitstring
-00030    as it was ambiguous with bin...ary things
-00031 */
-00032 
-00033 #ifndef eoBit_h
-00034 #define eoBit_h
-00035 
-00036 //-----------------------------------------------------------------------------
-00037 
-00038 #include <iostream>    // std::ostream, std::istream
-00039 #include <functional>  // bind2nd
-00040 #include <string>      // std::string
-00041 
-00042 #include "eoVector.h"
-00043 
-00056 template <class FitT> class eoBit: public eoVector<FitT, bool>
-00057 {
-00058 public:
-00059 
-00060     using eoVector< FitT, bool >::begin;
-00061     using eoVector< FitT, bool >::end;
-00062     using eoVector< FitT, bool >::resize;
-00063     using eoVector< FitT, bool >::size;
-00064 
-00069   eoBit(unsigned size = 0, bool value = false):
-00070     eoVector<FitT, bool>(size, value) {}
-00071 
-00073   virtual std::string className() const
-00074     {
-00075       return "eoBit";
-00076     }
-00077 
-00082   virtual void printOn(std::ostream& os) const
-00083     {
-00084       EO<FitT>::printOn(os);
-00085       os << ' ';
-00086       os << size() << ' ';
-00087       std::copy(begin(), end(), std::ostream_iterator<bool>(os));
-00088     }
-00089 
-00094   virtual void readFrom(std::istream& is)
-00095     {
-00096       EO<FitT>::readFrom(is);
-00097       unsigned s;
-00098       is >> s;
-00099       std::string bits;
-00100       is >> bits;
-00101       if (is)
-00102         {
-00103           resize(bits.size());
-00104           std::transform(bits.begin(), bits.end(), begin(),
-00105                     std::bind2nd(std::equal_to<char>(), '1'));
-00106         }
-00107     }
-00108 };
-00109 
-00110 //-----------------------------------------------------------------------------
-00111 
-00112 #endif //eoBit_h
-00113 
-00114 
-00115 // Local Variables:
-00116 // mode: C++
-00117 // c-file-style: "Stroustrup"
-00118 // End:
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_bit_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_bit_op_8h-source.html deleted file mode 100644 index ab498bc61..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_bit_op_8h-source.html +++ /dev/null @@ -1,343 +0,0 @@ - - -EO: eoBitOp.h Source File - - - - - -

eoBitOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoBitOp.h
-00005 // (c) GeNeura Team, 2000 - EEAAX 2000 - Maarten Keijzer 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  CVS Info: $Date: 2003/06/06 10:29:13 $ $Header: /cvsroot/eodev/eo/src/ga/eoBitOp.h,v 1.17 2003/06/06 10:29:13 maartenkeijzer Exp $ $Author: maartenkeijzer $
-00025  */
-00026 //-----------------------------------------------------------------------------
-00027 
-00028 #ifndef eoBitOp_h
-00029 #define eoBitOp_h
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 
-00033 #include <algorithm>    // swap_ranges
-00034 #include <utils/eoRNG.h>
-00035 #include <eoInit.h>       // eoMonOp
-00036 #include <ga/eoBit.h>
-00037 
-00038 
-00044 template<class Chrom> class eoOneBitFlip: public eoMonOp<Chrom>
-00045 {
-00046  public:
-00048   virtual std::string className() const { return "eoOneBitFlip"; }
-00049 
-00054   bool operator()(Chrom& chrom)
-00055     {
-00056       unsigned i = eo::rng.random(chrom.size());
-00057       chrom[i] = (chrom[i]) ? false : true;
-00058       return true;
-00059     }
-00060 };
-00061 
-00067 template<class Chrom> class eoDetBitFlip: public eoMonOp<Chrom>
-00068 {
-00069  public:
-00075   eoDetBitFlip(const unsigned& _num_bit = 1): num_bit(_num_bit) {}
-00076 
-00078   virtual std::string className() const { return "eoDetBitFlip"; }
-00079 
-00084   bool operator()(Chrom& chrom)
-00085     {
-00086       // does not check for duplicate: if someone volunteers ....
-00087       for (unsigned k=0; k<num_bit; k++)
-00088         {
-00089           unsigned i = eo::rng.random(chrom.size());
-00090           chrom[i] = (chrom[i]) ? false : true;
-00091         }
-00092       return true;
-00093     }
-00094  private:
-00095   unsigned num_bit;
-00096 };
-00097 
-00098 
-00104 template<class Chrom> class eoBitMutation: public eoMonOp<Chrom>
-00105 {
-00106  public:
-00111   eoBitMutation(const double& _rate = 0.01, bool _normalize=false): 
-00112     rate(_rate), normalize(_normalize) {}
-00113 
-00115   virtual std::string className() const { return "eoBitMutation"; }
-00116 
-00121   bool operator()(Chrom& chrom)
-00122     {
-00123       double actualRate = (normalize ? rate/chrom.size() : rate);
-00124       bool changed_something = false;
-00125       for (unsigned i = 0; i < chrom.size(); i++)
-00126             if (eo::rng.flip(actualRate))
-00127         {
-00128                 chrom[i] = !chrom[i];
-00129             changed_something = true;
-00130         }
-00131 
-00132         return changed_something;
-00133     }
-00134 
-00135  private:
-00136   double rate;
-00137   bool normalize;                  // divide rate by chromSize
-00138 };
-00139 
-00140 
-00146 template<class Chrom> class eoBitInversion: public eoMonOp<Chrom>
-00147 {
-00148  public:
-00150   virtual std::string className() const { return "eoBitInversion"; }
-00151 
-00156   bool operator()(Chrom& chrom)
-00157     {
-00158 
-00159       unsigned u1 = eo::rng.random(chrom.size() + 1) , u2;
-00160       do u2 = eo::rng.random(chrom.size() + 1); while (u1 == u2);
-00161       unsigned r1 = std::min(u1, u2), r2 = std::max(u1, u2);
-00162 
-00163       std::reverse(chrom.begin() + r1, chrom.begin() + r2);
-00164       return true;
-00165     }
-00166 };
-00167 
-00168 
-00174 template<class Chrom> class eoBitNext: public eoMonOp<Chrom>
-00175 {
-00176  public:
-00178   virtual std::string className() const { return "eoBitNext"; }
-00179 
-00184   bool operator()(Chrom& chrom)
-00185     {
-00186       for (int i = chrom.size() - 1; i >= 0; i--)
-00187         if (chrom[i])
-00188           {
-00189             chrom[i] = 0;
-00190             continue;
-00191           }
-00192         else
-00193           {
-00194             chrom[i] = 1;
-00195             break;
-00196           }
-00197 
-00198     return true;
-00199     }
-00200 };
-00201 
-00202 
-00208 template<class Chrom> class eoBitPrev: public eoMonOp<Chrom>
-00209 {
-00210  public:
-00212   virtual std::string className() const { return "eoBitPrev"; }
-00213 
-00218   bool operator()(Chrom& chrom)
-00219     {
-00220       for (int i = chrom.size() - 1; i >= 0; i--)
-00221         if (chrom[i])
-00222           {
-00223             chrom[i] = 0;
-00224             break;
-00225           }
-00226         else
-00227           {
-00228             chrom[i] = 1;
-00229             continue;
-00230           }
-00231 
-00232     return true;
-00233     }
-00234 };
-00235 
-00236 
-00242 template<class Chrom> class eo1PtBitXover: public eoQuadOp<Chrom>
-00243 {
-00244  public:
-00246   virtual std::string className() const { return "eo1PtBitXover"; }
-00247 
-00253   bool operator()(Chrom& chrom1, Chrom& chrom2)
-00254     {
-00255       unsigned site = eo::rng.random(std::min(chrom1.size(), chrom2.size()));
-00256 
-00257       if (!std::equal(chrom1.begin(), chrom1.begin()+site, chrom2.begin()))
-00258       {
-00259 
-00260         std::swap_ranges(chrom1.begin(), chrom1.begin() + site, chrom2.begin());
-00261 
-00262         return true;
-00263       }
-00264       return false;
-00265   }
-00266 };
-00267 
-00268 
-00274 template<class Chrom> class eoUBitXover: public eoQuadOp<Chrom>
-00275 {
-00276  public:
-00278   eoUBitXover(const float& _preference = 0.5): preference(_preference)
-00279     {
-00280       if ( (_preference <= 0.0) || (_preference >= 1.0) )
-00281         std::runtime_error("UxOver --> invalid preference");
-00282     }
-00284   virtual std::string className() const { return "eoUBitXover"; }
-00285 
-00292   bool operator()(Chrom& chrom1, Chrom& chrom2)
-00293     {
-00294       if ( chrom1.size() != chrom2.size())
-00295             std::runtime_error("UxOver --> chromosomes sizes don't match" );
-00296       bool changed = false;
-00297       for (unsigned int i=0; i<chrom1.size(); i++)
-00298         {
-00299           if (chrom1[i] != chrom2[i] && eo::rng.flip(preference))
-00300             {
-00301               bool tmp = chrom1[i];
-00302               chrom1[i]=chrom2[i];
-00303               chrom2[i] = tmp;
-00304               changed = true;
-00305             }
-00306         }
-00307     return changed;
-00308   }
-00309     private:
-00310       float preference;
-00311 };
-00312 
-00313 
-00319 template<class Chrom> class eoNPtsBitXover: public eoQuadOp<Chrom>
-00320 {
-00321  public:
-00323   eoNPtsBitXover(const unsigned& _num_points = 2): num_points(_num_points)
-00324     {
-00325       if (num_points < 1)
-00326         std::runtime_error("NxOver --> invalid number of points");
-00327     }
-00328 
-00330   virtual std::string className() const { return "eoNPtsBitXover"; }
-00331 
-00337   bool operator()(Chrom& chrom1, Chrom& chrom2)
-00338     {
-00339       unsigned max_size = std::min(chrom1.size(), chrom2.size());
-00340       unsigned max_points = std::min(max_size - 1, num_points);
-00341 
-00342       std::vector<bool> points(max_size, false);
-00343 
-00344       // select ranges of bits to swap
-00345       do {
-00346         unsigned bit = eo::rng.random(max_size) + 1;
-00347         if (points[bit])
-00348           continue;
-00349         else
-00350           {
-00351             points[bit] = true;
-00352             max_points--;
-00353           }
-00354       } while (max_points);
-00355 
-00356 
-00357       // swap bits between chromosomes
-00358       bool change = false;
-00359       for (unsigned bit = 1; bit < points.size(); bit++)
-00360         {
-00361           if (points[bit])
-00362             change = !change;
-00363 
-00364           if (change)
-00365           {
-00366                 typename Chrom::AtomType tmp= chrom1[bit];
-00367                 chrom1[bit] = chrom2[bit];
-00368                 chrom2[bit] = tmp;
-00369           }
-00370         }
-00371 
-00372     return true;
-00373     }
-00374 
-00375  private:
-00376   unsigned num_points;
-00377 };
-00378 
-00379 
-00380 
-00388 template<class Chrom> class eoBitGxOver: public eoQuadOp<Chrom>
-00389 {
-00390  public:
-00392   eoBitGxOver(const unsigned _gene_size, const unsigned _num_points = 2):
-00393     gene_size(_gene_size), num_points(_num_points)
-00394     {
-00395       if (gene_size < 1)
-00396         std::runtime_error("GxOver --> invalid gene size");
-00397       if (num_points < 1)
-00398         std::runtime_error("GxOver --> invalid number of points");
-00399     }
-00400 
-00402   virtual std::string className() const { return "eoBitGxOver"; }
-00403 
-00409   bool operator()(Chrom& chrom1, Chrom& chrom2)
-00410     {
-00411       unsigned max_genes = std::min(chrom1.size(), chrom2.size()) / gene_size;
-00412       unsigned cut_genes = std::min(max_genes, num_points);
-00413 
-00414       std::vector<bool> points(max_genes, false);
-00415       
-00416       // selects genes to swap
-00417       do {
-00418         unsigned bit = eo::rng.random(max_genes); 
-00419         if (points[bit])
-00420           continue;
-00421         else
-00422           {
-00423             points[bit] = true;
-00424             cut_genes--;
-00425           }
-00426       } while (cut_genes);
-00427       
-00428       // swaps genes
-00429       for (unsigned i = 0; i < points.size(); i++)
-00430         if (points[i])
-00431           std::swap_ranges(chrom1.begin() + i * gene_size, 
-00432                       chrom1.begin() + i * gene_size + gene_size, 
-00433                       chrom2.begin() + i * gene_size);
-00434 
-00435     return true;
-00436   }
-00437 
-00438  private:
-00439   unsigned gene_size;
-00440   unsigned num_points;
-00441 };
-00442 
-00443 
-00444 
-00445 //-----------------------------------------------------------------------------
-00447 #endif
-00448 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_bit_op_factory_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_bit_op_factory_8h-source.html deleted file mode 100644 index db3761437..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_bit_op_factory_8h-source.html +++ /dev/null @@ -1,167 +0,0 @@ - - -EO: eoBitOpFactory.h Source File - - - - - -

eoBitOpFactory.h

00001 // eoBitOpFactory.h
-00002 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00003 
-00004 //-----------------------------------------------------------------------------
-00005 // eoOpFactory.h
-00006 // (c) GeNeura Team, 1998
-00007 /* 
-00008     This library is free software; you can redistribute it and/or
-00009     modify it under the terms of the GNU Lesser General Public
-00010     License as published by the Free Software Foundation; either
-00011     version 2 of the License, or (at your option) any later version.
-00012 
-00013     This library is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016     Lesser General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU Lesser General Public
-00019     License along with this library; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _EOBITOPFACTORY_H
-00027 #define _EOBITOPFACTORY_H
-00028 
-00029 #include <eoFactory.h>
-00030 #include <ga/eoBitOp.h>
-00031 
-00032 //-----------------------------------------------------------------------------
-00033 
-00038 template< class EOT>
-00039 class eoBitOpFactory: public eoFactory<EOT>  
-00040 {
-00041         
-00042 public:
-00043         
-00045         //{@
-00047         eoBitOpFactory( ) {};
-00048         
-00050         virtual ~eoBitOpFactory() {};
-00052 
-00063         virtual eoOp<EOT>* make(std::istream& _is) 
-00064     {
-00065                 eoOp<EOT> * opPtr = NULL;
-00066                 try {
-00067                         opPtr = eoFactory<EOT>::make( _is );
-00068                 } catch ( const std::string& objectTypeStr ) {
-00069                         if ( objectTypeStr == "eoBinBitFlip" ) {
-00070                                 opPtr = new eoOneBitFlip<EOT>( );
-00071                         } 
-00072                         // handles old operator names as well as new ones
-00073                         if ( objectTypeStr == "eoOneBitFlip" ) {
-00074                                 opPtr = new eoOneBitFlip<EOT>( );
-00075                         } 
-00076 
-00077                         // Standard BitFilp Mutation
-00078                         if ( objectTypeStr == "eoBinMutation" ) {
-00079                                 float rate;
-00080                                 _is >> rate;
-00081                                 opPtr = new eoBitMutation<EOT>( rate );
-00082                         } 
-00083                         if ( objectTypeStr == "eoBitMutation" ) {
-00084                                 float rate;
-00085                                 _is >> rate;
-00086                                 opPtr = new eoBitMutation<EOT>( rate );
-00087                         } 
-00088 
-00089                         // Bit inversion
-00090                         if ( objectTypeStr == "eoBinInversion" ) {
-00091                                 opPtr = new eoBitInversion<EOT>( );
-00092                         }
-00093                         if ( objectTypeStr == "eoBitInversion" ) {
-00094                                 opPtr = new eoBitInversion<EOT>( );
-00095                         }
-00096 
-00097                         // Next binary value
-00098                         if ( objectTypeStr == "eoBinNext" ) {
-00099                                 opPtr = new eoBitNext<EOT>( );
-00100                         }
-00101                         if ( objectTypeStr == "eoBitNext" ) {
-00102                                 opPtr = new eoBitNext<EOT>( );
-00103                         }
-00104 
-00105                         // Previous binary value
-00106                         if ( objectTypeStr == "eoBinPrev" ) {
-00107                                 opPtr = new eoBitPrev<EOT>( );
-00108                         }
-00109                         if ( objectTypeStr == "eoBitPrev" ) {
-00110                                 opPtr = new eoBitPrev<EOT>( );
-00111                         }
-00112 
-00113                         // 1 point Xover
-00114                         if ( objectTypeStr == "eoBinCrossover" ) {
-00115                                 opPtr = new eo1PtBitXover<EOT>( );
-00116                         }
-00117                         if ( objectTypeStr == "eo1PtBitXover" ) {
-00118                                 opPtr = new eo1PtBitXover<EOT>( );
-00119                         }
-00120 
-00121                         // Npts Xover
-00122                         if ( objectTypeStr == "eoBinNxOver" ) {
-00123                                 unsigned nPoints;
-00124                                 _is >> nPoints;
-00125                                 opPtr = new eoNPtsBitXover<EOT>( nPoints );
-00126                         }
-00127                         if ( objectTypeStr == "eoNPtsBitXover" ) {
-00128                                 unsigned nPoints;
-00129                                 _is >> nPoints;
-00130                                 opPtr = new eoNPtsBitXover<EOT>( nPoints );
-00131                         }
-00132 
-00133                         // Gene Xover (obsolete)
-00134                         if ( objectTypeStr == "eoBinGxOver" ) {
-00135                                 unsigned geneSize, nPoints;
-00136                                 _is >> geneSize >> nPoints;
-00137                                 opPtr = new eoBitGxOver<EOT>( geneSize, nPoints );
-00138                         }
-00139                         if ( objectTypeStr == "eoBitGxOver" ) {
-00140                                 unsigned geneSize, nPoints;
-00141                                 _is >> geneSize >> nPoints;
-00142                                 opPtr = new eoBitGxOver<EOT>( geneSize, nPoints );
-00143                         }
-00144 
-00145                         // Uniform Xover
-00146                         if ( objectTypeStr == "eoBinUxOver" ) {
-00147                                 float rate;
-00148                                 _is >> rate;
-00149                                 opPtr = new eoUBitXover<EOT>( rate );
-00150                         }
-00151                         if ( objectTypeStr == "eoUBitXover" ) {
-00152                                 float rate;
-00153                                 _is >> rate;
-00154                                 opPtr = new eoUBitXover<EOT>( rate );
-00155                         }
-00156 
-00157                         // nothing read!
-00158                         if ( !opPtr ) { // to be caught by the upper level
-00159                                 throw objectTypeStr;
-00160                         }
-00161                 }
-00162                 return opPtr;
-00163         };
-00164 
-00165 
-00166 };
-00167 
-00168 
-00169 #endif
-00170 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_bool_flip_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_bool_flip_8h-source.html deleted file mode 100644 index 11e986cdc..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_bool_flip_8h-source.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: eoBoolFlip.h Source File - - - - - -

eoBoolFlip.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoBoolFlip.h
-00005 // (c) Marc Schoenauer, 2003
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@inria.fr
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoBoolFlip_h
-00026 #define _eoBoolFlip_h
-00027 
-00028 #include <eoOp.h>
-00029 
-00032 class eoBoolFlip : public eoMonOp<bool> {
-00033 public: 
-00035   bool operator()(bool & _b)
-00036   {
-00037     _b = !_b;
-00038     return true;
-00039   }
-00040 
-00042   virtual string className() const {return "boolFlip";}
-00043 
-00044 };
-00045 
-00046 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_breed_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_breed_8h-source.html deleted file mode 100644 index a41ef3a9b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_breed_8h-source.html +++ /dev/null @@ -1,55 +0,0 @@ - - -EO: eoBreed.h Source File - - - - - -

eoBreed.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoBreed_h
-00026 #define _eoBreed_h
-00027 
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 #include <eoPop.h>
-00031 #include <eoFunctor.h>
-00032 #include <eoSelect.h>
-00033 #include <eoTransform.h>
-00034 //-----------------------------------------------------------------------------
-00035 
-00045 template<class EOT>
-00046 class eoBreed : public eoBF<const eoPop<EOT>&, eoPop<EOT>&, void>
-00047 {};
-00048 
-00049 
-00050 
-00056 template <class EOT>
-00057 class eoSelectTransform : public eoBreed<EOT>
-00058 {
-00059     public:
-00060         eoSelectTransform(eoSelect<EOT>& _select, eoTransform<EOT>& _transform) :
-00061         select(_select), transform(_transform)
-00062         {}
-00063 
-00064         void operator()(const eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00065         {
-00066             select(_parents, _offspring);
-00067             transform(_offspring);
-00068         }
-00069 
-00070     private :
-00071         eoSelect<EOT>& select;
-00072         eoTransform<EOT>& transform;
-00073 };
-00074 
-00075 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_c_m_a_breed_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_c_m_a_breed_8h-source.html deleted file mode 100644 index 2efcc76ea..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_c_m_a_breed_8h-source.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: eoCMABreed.h Source File - - - - - -

eoCMABreed.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; fill-column: 80; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoCMABreed
-00005 // (c) Maarten Keijzer 2005
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021  */
-00022 //-----------------------------------------------------------------------------
-00023 
-00024 
-00025 #ifndef _EOCMABREED_H
-00026 #define _EOCMABREED_H
-00027 
-00028 #include <eoBreed.h>
-00029 #include <eoVector.h>
-00030 #include <es/CMAState.h>
-00031 
-00032 #include <algorithm>
-00033 
-00035 template <class FitT>
-00036 class eoCMABreed : public eoBreed< eoVector<FitT, double> > {
-00037     
-00038     eo::CMAState& state;
-00039     unsigned lambda;
-00040     
-00041     typedef eoVector<FitT, double> EOT;
-00042     
-00043     public:
-00044     eoCMABreed(eo::CMAState& state_, unsigned lambda_) : state(state_), lambda(lambda_) {}
-00045     
-00046     void operator()(const eoPop<EOT>& parents, eoPop<EOT>& offspring) {
-00047         
-00048         // two temporary arrays of pointers to store the sorted population
-00049         std::vector<const EOT*> sorted(parents.size());
-00050         std::vector<const std::vector<double>* > mu(parents.size());
-00051         
-00052         parents.sort(sorted);
-00053         for (unsigned i = 0; i < sorted.size(); ++i) {
-00054             mu[i] = static_cast< const std::vector<double>* >( sorted[i] );
-00055         }
-00056         
-00057         // learn
-00058         
-00059         state.reestimate(mu, sorted[0]->fitness(), sorted.back()->fitness());
-00060         
-00061         if (!state.updateEigenSystem(10)) {
-00062             std::cerr << "No good eigensystem found" << std::endl;
-00063         }
-00064         
-00065         // generate
-00066         offspring.resize(lambda);
-00067 
-00068         for (unsigned i = 0; i < lambda; ++i) {
-00069             state.sample( static_cast< std::vector<double>& >( offspring[i] ));
-00070             offspring[i].invalidate();
-00071         }
-00072         
-00073     }
-00074 };
-00075 
-00076 
-00077 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_c_m_a_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_c_m_a_init_8h-source.html deleted file mode 100644 index 52af136b8..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_c_m_a_init_8h-source.html +++ /dev/null @@ -1,68 +0,0 @@ - - -EO: eoCMAInit.h Source File - - - - - -

eoCMAInit.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; fill-column: 80; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoCMAInit 
-00005 // (c) Maarten Keijzer 2005
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              marc.schoenauer@polytechnique.fr
-00023                        http://eeaax.cmap.polytchnique.fr/
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 
-00028 #ifndef _EOCMAINIT_H
-00029 #define _EOCMAINIT_H
-00030 
-00031 #include <eoInit.h>
-00032 #include <eoVector.h>
-00033 #include <es/CMAState.h>
-00034 
-00036 template <class FitT>
-00037 class eoCMAInit : public eoInit< eoVector<FitT, double> > {
-00038     
-00039     const eo::CMAState& state;
-00040 
-00041     typedef eoVector<FitT, double> EOT;
-00042     
-00043     public:
-00044     eoCMAInit(const eo::CMAState& state_) : state(state_) {}
-00045 
-00046     
-00047     void operator()(EOT& v) {
-00048         state.sample(static_cast<std::vector<double>& >(v));
-00049         v.invalidate();
-00050     }
-00051 };
-00052 
-00053 
-00054 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_cellular_easy_e_a_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_cellular_easy_e_a_8h-source.html deleted file mode 100644 index cb49cfa20..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_cellular_easy_e_a_8h-source.html +++ /dev/null @@ -1,164 +0,0 @@ - - -EO: eoCellularEasyEA.h Source File - - - - - -

eoCellularEasyEA.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 // "eoCellularEasyEA.h"
-00004 
-00005 // (c) OPAC Team, LIFL, 2002
-00006 
-00007 /* This library is free software; you can redistribute it and/or
-00008    modify it under the terms of the GNU Lesser General Public
-00009    License as published by the Free Software Foundation; either
-00010    version 2 of the License, or (at your option) any later version.
-00011    
-00012    This library is distributed in the hope that it will be useful,
-00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015    Lesser General Public License for more details.
-00016    
-00017    You should have received a copy of the GNU Lesser General Public
-00018    License along with this library; if not, write to the Free Software
-00019    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-00020    
-00021    Contact: cahon@lifl.fr
-00022 */
-00023 
-00024 #ifndef eoCellularEasyEA_h
-00025 #define eoCellularEasyEA_h
-00026 
-00027 #include <eoContinue.h>
-00028 #include <eoEvalFunc.h>
-00029 #include <eoSelectOne.h>
-00030 #include <eoPopEvalFunc.h>
-00031 #include <eoAlgo.h>
-00032 #include <eoOp.h>
-00033 
-00038 template <class EOT> class eoCellularEasyEA : public eoAlgo <EOT> {
-00039   
-00040 public :
-00041   
-00046   eoCellularEasyEA (eoContinue <EOT> & _cont, // Stop. criterion
-00047                     eoEvalFunc <EOT> & _eval, // Evaluation function
-00048                     eoSelectOne <EOT> & _sel_neigh, // To choose a partner
-00049                     eoBinOp <EOT> & _cross, // Cross-over operator
-00050                     eoMonOp <EOT> & _mut, // Mutation operator
-00051                     eoSelectOne <EOT> & _sel_repl /* Which to keep between the new
-00052                                                      child and the old individual ? */
-00053                     ) :
-00054     cont (_cont),
-00055     eval (_eval),
-00056     popEval (_eval),
-00057     sel_neigh (_sel_neigh),
-00058     cross (_cross),
-00059     mut (_mut),
-00060     sel_child (eoSelectFirstOne ()),
-00061     sel_repl (_sel_repl) {
-00062     
-00063   }
-00064   
-00065   eoCellularEasyEA (eoContinue <EOT> & _cont,
-00066                     eoEvalFunc <EOT> & _eval,
-00067                     eoSelectOne <EOT> & _sel_neigh,
-00068                     eoQuadOp <EOT> & _cross,
-00069                     eoMonOp <EOT> & _mut,
-00070                     eoSelectOne <EOT> & _sel_child, /* To choose one from
-00071                                                        the both children */
-00072                     eoSelectOne <EOT> & _sel_repl
-00073                     ) :
-00074     cont (_cont),
-00075     eval (_eval),
-00076     popEval (_eval),
-00077     sel_neigh (_sel_neigh),
-00078     cross (_cross),
-00079     mut (_mut),
-00080     sel_child (_sel_child),
-00081     sel_repl (_sel_repl) {
-00082     
-00083   }
-00084 
-00089   void operator () (eoPop <EOT> & pop) {
-00090     
-00091     do {
-00092       
-00093       for (unsigned i = 0 ; i < pop.size () ; i ++) {
-00094         
-00095         // Who are neighbouring to the current individual ?
-00096         eoPop <EOT> neigh = neighbours (pop, i) ;
-00097         
-00098         // To select a partner
-00099         EOT part, old_sol = pop [i] ;
-00100         part = sel_neigh (neigh) ;
-00101 
-00102         // To perform cross-over
-00103         cross (pop [i], part) ;
-00104 
-00105         // To perform mutation
-00106         mut (pop [i]) ;
-00107         mut (part) ;
-00108         
-00109         pop [i].invalidate () ;
-00110         part.invalidate () ;
-00111         eval (pop [i]) ;
-00112         eval (part) ;
-00113 
-00114         // To choose one of the two children ...
-00115         eoPop <EOT> pop_loc ;
-00116         pop_loc.push_back (pop [i]) ;
-00117         pop_loc.push_back (part) ;
-00118 
-00119         pop [i] = sel_child (pop_loc) ;
-00120 
-00121         // To choose only one between the new made child and the old individual
-00122         pop_loc.clear () ;
-00123         pop_loc.push_back (pop [i]) ;
-00124         
-00125         pop_loc.push_back (old_sol) ;
-00126         
-00127         pop [i] = sel_repl (pop_loc) ;  
-00128       }
-00129       
-00130     } while (cont (pop)) ;
-00131   }
-00132 
-00133 protected :
-00134   
-00135   virtual eoPop <EOT> neighbours (const eoPop <EOT> & pop, int rank) = 0 ;
-00136 
-00137 private :
-00138   
-00139   eoContinue <EOT> & cont ;
-00140   eoEvalFunc <EOT> & eval ;
-00141   eoPopLoopEval <EOT> popEval ;
-00142   eoSelectOne <EOT> & sel_neigh ;
-00143   eoBF <EOT &, EOT &, bool> & cross ;
-00144   eoMonOp <EOT> & mut ;
-00145   eoSelectOne <EOT> & sel_child ;
-00146   eoSelectOne <EOT> & sel_repl ;
-00147   
-00148   class eoSelectFirstOne : public eoSelectOne <EOT> {
-00149     
-00150   public :
-00151     
-00152     const EOT & operator () (const eoPop <EOT> & pop) {
-00153       
-00154       return pop [0] ; 
-00155     }
-00156     
-00157   } ; 
-00158   
-00159 } ;
-00160 
-00161 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_check_point_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_check_point_8h-source.html deleted file mode 100644 index 65117fe47..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_check_point_8h-source.html +++ /dev/null @@ -1,165 +0,0 @@ - - -EO: eoCheckPoint.h Source File - - - - - -

eoCheckPoint.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoCheckPoint.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoCheckPoint_h
-00028 #define _eoCheckPoint_h
-00029 
-00030 #include <eoContinue.h>
-00031 #include <utils/eoUpdater.h>
-00032 #include <utils/eoMonitor.h>
-00033 #include <utils/eoStat.h>
-00034 
-00045 template <class EOT>
-00046 class eoCheckPoint : public eoContinue<EOT>
-00047 {
-00048 public :
-00049 
-00050     eoCheckPoint(eoContinue<EOT>& _cont) 
-00051   {
-00052     continuators.push_back(&_cont);
-00053   }
-00054 
-00055     bool operator()(const eoPop<EOT>& _pop);
-00056 
-00057     void add(eoContinue<EOT>& _cont) { continuators.push_back(&_cont); }
-00058     void add(eoSortedStatBase<EOT>& _stat) { sorted.push_back(&_stat); }
-00059     void add(eoStatBase<EOT>& _stat) { stats.push_back(&_stat); }
-00060     void add(eoMonitor& _mon)        { monitors.push_back(&_mon); }
-00061     void add(eoUpdater& _upd)        { updaters.push_back(&_upd); }
-00062 
-00063     virtual std::string className(void) const { return "eoCheckPoint"; }
-00064     std::string allClassNames() const ;
-00065 
-00066 private :
-00067 
-00068   std::vector<eoContinue<EOT>*>    continuators;
-00069     std::vector<eoSortedStatBase<EOT>*>    sorted;
-00070     std::vector<eoStatBase<EOT>*>    stats;
-00071     std::vector<eoMonitor*> monitors;
-00072     std::vector<eoUpdater*> updaters;
-00073 };
-00074 
-00075 template <class EOT>
-00076 bool eoCheckPoint<EOT>::operator()(const eoPop<EOT>& _pop)
-00077 {
-00078     unsigned i;
-00079 
-00080     std::vector<const EOT*> sorted_pop;
-00081     if (!sorted.empty())
-00082     {
-00083       _pop.sort(sorted_pop);
-00084 
-00085       for (i = 0; i < sorted.size(); ++i)
-00086       {
-00087         (*sorted[i])(sorted_pop);
-00088       }
-00089     }
-00090 
-00091     for (i = 0; i < stats.size(); ++i)
-00092         (*stats[i])(_pop);
-00093 
-00094     for (i = 0; i < updaters.size(); ++i)
-00095         (*updaters[i])();
-00096 
-00097     for (i = 0; i < monitors.size(); ++i)
-00098         (*monitors[i])();
-00099 
-00100     bool bContinue = true;
-00101     for (i = 0; i < continuators.size(); ++i)
-00102       if ( !(*continuators[i])(_pop) ) 
-00103         bContinue = false;
-00104 
-00105     if (! bContinue)       // we're going to stop: lastCall, gentlemen
-00106       {
-00107         if (!sorted.empty())
-00108           {
-00109             for (i = 0; i < sorted.size(); ++i)
-00110               {
-00111                 sorted[i]->lastCall(sorted_pop);
-00112               }
-00113           }
-00114         for (i = 0; i < stats.size(); ++i)
-00115           stats[i]->lastCall(_pop);
-00116 
-00117         for (i = 0; i < updaters.size(); ++i)
-00118           updaters[i]->lastCall();
-00119 
-00120         for (i = 0; i < monitors.size(); ++i)
-00121           monitors[i]->lastCall();
-00122       }
-00123     return bContinue;
-00124 }
-00125 
-00129 template <class EOT>
-00130 std::string eoCheckPoint<EOT>::allClassNames() const
-00131 {
-00132     unsigned i;
-00133     std::string s = "\n" + className() + "\n";
-00134 
-00135     s += "Sorted Stats\n";
-00136     for (i = 0; i < sorted.size(); ++i)
-00137         s += sorted[i]->className() + "\n";
-00138     s += "\n";
-00139 
-00140     s += "Stats\n";
-00141     for (i = 0; i < stats.size(); ++i)
-00142         s += stats[i]->className() + "\n";
-00143     s += "\n";
-00144 
-00145     s += "Updaters\n";
-00146     for (i = 0; i < updaters.size(); ++i)
-00147         s += updaters[i]->className() + "\n";
-00148     s += "\n";
-00149 
-00150     s += "Monitors\n";
-00151     for (i = 0; i < monitors.size(); ++i)
-00152         s += monitors[i]->className() + "\n";
-00153     s += "\n";
-00154 
-00155     s += "Continuators\n";
-00156     for (i = 0; i < continuators.size(); ++i)
-00157         s += continuators[i]->className() + "\n";
-00158     s += "\n";
-00159 
-00160     return s;
-00161 }
-00162 
-00163 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_clone_ops_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_clone_ops_8h-source.html deleted file mode 100644 index 51497828c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_clone_ops_8h-source.html +++ /dev/null @@ -1,74 +0,0 @@ - - -EO: eoCloneOps.h Source File - - - - - -

eoCloneOps.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 //-----------------------------------------------------------------------------
-00003 // eoCloneOps.h
-00004 // (c) GeNeura Team, 1998
-00005 /* 
-00006     This library is free software; you can redistribute it and/or
-00007     modify it under the terms of the GNU Lesser General Public
-00008     License as published by the Free Software Foundation; either
-00009     version 2 of the License, or (at your option) any later version.
-00010 
-00011     This library is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00014     Lesser General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU Lesser General Public
-00017     License along with this library; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 
-00020     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00021     CVS Info: $Date: 2003/02/27 19:26:09 $ $Header: /cvsroot/eodev/eo/src/eoCloneOps.h,v 1.2 2003/02/27 19:26:09 okoenig Exp $ $Author: okoenig $ 
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoCloneOps_H
-00026 #define _eoCloneOps_H
-00027 
-00028 #include <eoOp.h>
-00029 
-00043 template <class EOT>
-00044 class eoMonCloneOp: public eoMonOp<EOT>
-00045 {
-00046 public:
-00048   eoMonCloneOp() : eoMonOp<EOT>() {}
-00049   virtual std::string className() const {return "eoMonCloneOp";}
-00050   virtual bool operator()(EOT&){return false;}
-00051 };
-00052 
-00053 
-00056 template<class EOT>
-00057 class eoBinCloneOp: public eoBinOp<EOT>
-00058 {
-00059 public:
-00061   eoBinCloneOp() : eoBinOp<EOT>() {}
-00062   virtual std::string className() const {return "eoBinCloneOp";}
-00063   virtual bool operator()(EOT&, const EOT&){return false;}
-00064 };
-00065 
-00068 template<class EOT>
-00069 class eoQuadCloneOp: public eoQuadOp<EOT>
-00070 {
-00071 public:
-00073   eoQuadCloneOp():eoQuadOp<EOT>() {}
-00074   virtual std::string className() const {return "eoQuadCloneOp";}
-00075 virtual bool operator()(EOT& , EOT& ) {return false;}
-00076 };
-00077 
-00078 #endif
-00079 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_combined_continue_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_combined_continue_8h-source.html deleted file mode 100644 index d8fa0aec6..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_combined_continue_8h-source.html +++ /dev/null @@ -1,89 +0,0 @@ - - -EO: eoCombinedContinue.h Source File - - - - - -

eoCombinedContinue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoCombinedContinue.h
-00005 // (c) Maarten Keijzer, GeNeura Team, 1999, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoCombinedContinue_h
-00026 #define _eoCombinedContinue_h
-00027 
-00028 #include <eoContinue.h>
-00029 
-00041 template< class EOT>
-00042 class eoCombinedContinue: public eoContinue<EOT> {
-00043 public:
-00044 
-00046   typedef typename EOT::Fitness FitnessType;
-00047 
-00049   eoCombinedContinue( eoContinue<EOT>& _cont)
-00050     : eoContinue<EOT> ()
-00051   {
-00052     continuators.push_back(&_cont);
-00053   }
-00054 
-00056   eoCombinedContinue( eoContinue<EOT>& _cont1, eoContinue<EOT>& _cont2)
-00057     : eoContinue<EOT> ()
-00058   {
-00059     continuators.push_back(&_cont1);
-00060     continuators.push_back(&_cont2);
-00061   }
-00062 
-00063   void add(eoContinue<EOT> & _cont)
-00064   {
-00065     continuators.push_back(&_cont);
-00066   }
-00067 
-00069   void removeLast(void)
-00070   {
-00071     continuators.pop_back();
-00072   }
-00074 
-00075 
-00078   virtual bool operator() ( const eoPop<EOT>& _pop )
-00079   {
-00080     for (unsigned i = 0; i < continuators.size(); ++i)
-00081       if ( !(*continuators[i])(_pop) ) return false;
-00082     return true;
-00083   }
-00084 
-00085   virtual std::string className(void) const { return "eoCombinedContinue"; }
-00086 
-00087 private:
-00088   std::vector<eoContinue<EOT>*>    continuators;
-00089 };
-00090 
-00091 #endif
-00092 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_combined_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_combined_init_8h-source.html deleted file mode 100644 index ab99a7a97..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_combined_init_8h-source.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: eoCombinedInit.h Source File - - - - - -

eoCombinedInit.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoCombinedInit.h
-00005 // (c) Maarten Keijzer, GeNeura Team, Marc Schoenauer 2004
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@inria.fr
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoCombinedInit_h
-00026 #define _eoCombinedInit_h
-00027 
-00028 #include <eoInit.h>
-00029 
-00034 template< class EOT>
-00035 class eoCombinedInit: public eoInit<EOT> {
-00036 public:
-00037 
-00039   eoCombinedInit( eoInit<EOT>& _init, double _rate)
-00040     : eoInit<EOT> ()
-00041   {
-00042     initializers.push_back(&_init);
-00043     rates.push_back(_rate);
-00044   }
-00045 
-00050   void add(eoInit<EOT> & _init, double _rate, bool _verbose=false)
-00051   {
-00052     initializers.push_back(&_init);
-00053     rates.push_back(_rate);
-00054     // compute the relative rates in percent - to warn the user!
-00055     if (_verbose)
-00056       printOn(std::cout);
-00057   }
-00058 
-00060   virtual void printOn(std::ostream & _os)
-00061   {
-00062     double total = 0;
-00063     unsigned i;
-00064     for (i=0; i<initializers.size(); i++)
-00065       total += rates[i];
-00066     _os << "In " << className() << "\n" ;
-00067     for (i=0; i<initializers.size(); i++)
-00068       _os << initializers[i]->className() << " with rate " << 100*rates[i]/total << " %\n";
-00069   }
-00070 
-00074   virtual void operator() ( EOT & _eo )
-00075   {
-00076     unsigned what = rng.roulette_wheel(rates); // choose one op
-00077     (*initializers[what])(_eo);            // apply it
-00078     return;
-00079   }
-00080 
-00081   virtual std::string className(void) const { return "eoCombinedInit"; }
-00082 
-00083 private:
-00084 std::vector<eoInit<EOT>*> initializers;
-00085 std::vector<double> rates;
-00086 };
-00087 
-00088 #endif
-00089 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_continue_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_continue_8h-source.html deleted file mode 100644 index 7dcab71b6..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_continue_8h-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -EO: eoContinue.h Source File - - - - - -

eoContinue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoContinue.h
-00005 // (c) Maarten Keijzer, Geneura Team, 1999, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoContinue_h
-00026 #define _eoContinue_h
-00027 
-00028 #include <eoFunctor.h>
-00029 #include <eoPop.h>
-00030 #include <eoPersistent.h>
-00031 
-00036 template< class EOT>
-00037 class eoContinue : public eoUF<const eoPop<EOT>&, bool>, public eoPersistent 
-00038 {
-00039 public:
-00040   virtual std::string className(void) const { return "eoContinue"; }
-00041 
-00042   void readFrom (std :: istream & __is) {
-00043     
-00044     /* It should be implemented by subclasses ! */
-00045   }
-00046   
-00047   void printOn (std :: ostream & __os) const {
-00048     
-00049     /* It should be implemented by subclasses ! */
-00050   }
-00051 };
-00052 
-00053 #endif
-00054 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_counter_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_counter_8h-source.html deleted file mode 100644 index 81e3ce5a1..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_counter_8h-source.html +++ /dev/null @@ -1,142 +0,0 @@ - - -EO: eoCounter.h Source File - - - - - -

eoCounter.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoCounter.h
-00005 // (c) Maarten Keijzer 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              mak@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoCounter_h
-00027 #define _eoCounter_h
-00028 
-00029 #include <eoFunctor.h>
-00030 #include <eoFunctorStore.h>
-00031 #include <utils/eoParam.h>
-00032 
-00040 template <class Procedure>
-00041 class eoProcedureCounter : public Procedure, public eoValueParam<unsigned long>
-00042 {
-00043     public:
-00044 
-00045         eoProcedureCounter(Procedure& _proc, std::string _name = "proc_counter") 
-00046             : eoValueParam<unsigned long>(0, _name), proc(_proc) {}
-00047 
-00064         typename Procedure::result_type operator()(void)
-00065         {
-00066             value()++;
-00067 #ifdef _MSC_VER
-00068             proc();
-00069 #else
-00070             return proc();
-00071 #endif
-00072         }
-00073 
-00074     private :
-00075 
-00076         Procedure& proc;
-00077 };
-00078 
-00094 template <class UnaryFunctor>
-00095 class eoUnaryFunctorCounter : public UnaryFunctor, public eoValueParam<unsigned long>
-00096 {
-00097     public:
-00098         eoUnaryFunctorCounter(UnaryFunctor& _func, std::string _name = "uf_counter") 
-00099             : eoValueParam<unsigned long>(0, _name), func(_func) {}
-00100         
-00117         typename UnaryFunctor::result_type operator()
-00118             (typename UnaryFunctor::first_argument_type _arg1)
-00119         {
-00120             value()++;
-00121 #ifdef _MSC_VER
-00122             func(_arg1);
-00123 #else
-00124             return func(_arg1);
-00125 #endif
-00126         }
-00127 
-00128     private :
-00129 
-00130         UnaryFunctor& func;
-00131 };
-00132 
-00141 template <class BinaryFunctor>
-00142 class eoBinaryFunctorCounter : public BinaryFunctor, public eoValueParam<unsigned long>
-00143 {
-00144     public:
-00145         eoBinaryFunctorCounter(BinaryFunctor& _func, std::string _name = "proc_counter") 
-00146             : eoValueParam<unsigned long>(0, _name), func(_func) {}
-00147 
-00165         typename BinaryFunctor::result_type operator()
-00166             (typename BinaryFunctor::first_argument_type _arg1, 
-00167              typename BinaryFunctor::second_argument_type _arg2)
-00168         {
-00169             value()++;
-00170 #ifdef _MSC_VER
-00171             func(_arg1, _arg2);
-00172 #else
-00173             return func(_arg1, _arg2);
-00174 #endif
-00175   }
-00176 
-00177     private :
-00178 
-00179         BinaryFunctor& func;
-00180 };
-00181 
-00195 template <class Procedure>
-00196 eoProcedureCounter<Procedure>& make_counter(eoFunctorBase::procedure_tag, Procedure& _proc, eoFunctorStore& store, std::string _name = "proc_counter")
-00197 {
-00198     eoProcedureCounter<Procedure>* result = new eoProcedureCounter<Procedure>(_proc, _name);
-00199     store.storeFunctor(result);
-00200     return *result;
-00201 }
-00202 
-00203 template <class UnaryFunctor>
-00204 eoUnaryFunctorCounter<UnaryFunctor>& make_counter(eoFunctorBase::unary_function_tag, UnaryFunctor& _proc, eoFunctorStore& store, std::string _name = "uf_counter")
-00205 {
-00206     eoUnaryFunctorCounter<UnaryFunctor>* result = new eoUnaryFunctorCounter<UnaryFunctor>(_proc, _name);
-00207     store.storeFunctor(result);
-00208     return *result;
-00209 }
-00210 
-00211 template <class BinaryFunctor>
-00212 eoBinaryFunctorCounter<BinaryFunctor>& make_counter(eoFunctorBase::binary_function_tag, BinaryFunctor& _proc, eoFunctorStore& store, std::string _name = "uf_counter")
-00213 {
-00214     eoBinaryFunctorCounter<BinaryFunctor>* result = new eoBinaryFunctorCounter<BinaryFunctor>(_proc, _name);
-00215     store.storeFunctor(result);
-00216     return *result;
-00217 }
-00218 
-00219 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_ctrl_c_continue_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_ctrl_c_continue_8cpp-source.html deleted file mode 100644 index 581d2cfa6..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_ctrl_c_continue_8cpp-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -EO: eoCtrlCContinue.cpp Source File - - - - - -

eoCtrlCContinue.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // eoCtrlCContinue.cpp
-00005 // (c) EEAAX 1996 - GeNeura Team, 1998 - Maarten Keijzer 2000 
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011  
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016  
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020  
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024 */
-00025 //-----------------------------------------------------------------------------
-00026 #ifdef _MSC_VER
-00027 // to avoid long name warnings
-00028 #pragma warning(disable:4786)
-00029 #endif 
-00030 
-00031 #include <signal.h>
-00032 #include <iostream>
-00033 
-00034 // --- Global variables - but don't know what else to do - MS ---
-00035 bool     arret_demande = false;
-00036 bool     existCtrlCContinue = false;
-00037 
-00038 //
-00039 // The signal handler - installed in the eoCtrlCContinue Ctor
-00040 //
-00041 void signal_handler( int sig )
-00042 // ---------------------------
-00043 {
-00044     // --- On veut la paix, jusqu'a la fin ---
-00045     signal( SIGINT, SIG_IGN );
-00046     signal( SIGQUIT, SIG_IGN );
-00047     std::cerr << "Ctrl C entered ... closing down" << std::endl ;
-00048     arret_demande = true;
-00049 }
-00050 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_ctrl_c_continue_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_ctrl_c_continue_8h-source.html deleted file mode 100644 index 469965e33..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_ctrl_c_continue_8h-source.html +++ /dev/null @@ -1,85 +0,0 @@ - - -EO: eoCtrlCContinue.h Source File - - - - - -

eoCtrlCContinue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // eoCtrlCContinue.h
-00005 // (c) EEAAX 1996 - GeNeura Team, 1998 - Maarten Keijzer 2000 
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011  
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016  
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020  
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024 */
-00025 //-----------------------------------------------------------------------------
-00026 // the same thing can probably be done in MS environement, but I hoave no way
-00027 // to test it so at the moment it is commented out when in MSVC
-00028 #ifndef _MSC_VER
-00029 
-00030 #ifndef eoCtrlCContinue_h
-00031 #define eoCtrlCContinue_h
-00032 
-00033 #include <signal.h>
-00034 #include <eoContinue.h>
-00035 
-00036 extern bool arret_demande, existCtrlCContinue;
-00037 
-00038 extern void signal_handler( int sig );
-00039 
-00040 
-00044 template< class EOT>
-00045 class eoCtrlCContinue: public eoContinue<EOT>
-00046 {
-00047 public:
-00048  
-00050   eoCtrlCContinue()
-00051   {
-00052     // First checks that no other eoCtrlCContinue does exist
-00053     if (existCtrlCContinue)
-00054       throw std::runtime_error("A signal handler for Ctrl C is already defined!\n");
-00055     signal( SIGINT, signal_handler );
-00056     signal( SIGQUIT, signal_handler );
-00057     existCtrlCContinue = true;
-00058   }
-00059  
-00062   virtual bool operator() ( const eoPop<EOT>& _vEO ) 
-00063   {
-00064     if (arret_demande)
-00065       return false;
-00066     return true;
-00067   }
-00068 
-00069   virtual std::string className(void) const { return "eoCtrlCContinue"; }
-00070 };
-00071 
-00072 
-00073 #endif
-00074 
-00075 #endif
-00076  // of MSVC comment-out
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_data_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_data_8cpp-source.html deleted file mode 100644 index 32bf604c8..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_data_8cpp-source.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: eoData.cpp Source File - - - - - -

eoData.cpp

00001 // Copyright (C) 2005 Jochen Küpper <jochen@fhi-berlin.mpg.de>
-00002 
-00003 
-00004 #include "eoData.h"
-00005 
-00006 
-00007 
-00008 // Local Variables:
-00009 // c-file-style: "Stroustrup"
-00010 // fill-column: 80
-00011 // End:
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_data_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_data_8h-source.html deleted file mode 100644 index 288996984..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_data_8h-source.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoData.h Source File - - - - - -

eoData.h

00001 
-00024 #ifndef EODATA_H
-00025 #define EODATA_H
-00026 
-00027 #ifndef _MSC_VER
-00028 #include <math.h>
-00029 #define _isnan isnan
-00030 #endif
-00031 
-00032 
-00033 //-----------------------------------------------------------------------------
-00034 // some defines to make things easier to get at first sight
-00035 
-00036 // tuning the amount of output using a boolean argument:
-00037 // true should always mean more output
-00038 #define eo_verbose true
-00039 #define eo_no_verbose false
-00040 // to be used in selection / replacement procedures to indicate whether
-00041 // the argument (rate, a double) shoudl be treated as a rate (number=rate*popSize)
-00042 // or as an absolute integer (number=rate regardless of popsize).
-00043 // the default value shoudl ALWAYS be true (eo_as_a_rate).
-00044 //
-00045 // this construct is mandatory because in some cases you might not know the
-00046 // population size that will enter the replacement for instance - so you
-00047 // cannot simply have a pre-computed (double) rate of 1/popSize
-00048 #define eo_is_a_rate true
-00049 #define eo_is_an_integer false
-00050 
-00051 #endif
-00052 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_det_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_det_select_8h-source.html deleted file mode 100644 index f17c7fd49..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_det_select_8h-source.html +++ /dev/null @@ -1,66 +0,0 @@ - - -EO: eoDetSelect.h Source File - - - - - -

eoDetSelect.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoDetSelect_h
-00028 #define _eoDetSelect_h
-00029 
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 #include <eoSelect.h>
-00033 #include <utils/eoHowMany.h>
-00034 #include <math.h>
-00035 //-----------------------------------------------------------------------------
-00036 
-00039 template<class EOT>
-00040 class eoDetSelect : public eoSelect<EOT>
-00041 {
-00042  public:
-00044      eoDetSelect(double _rate = 1.0, bool _interpret_as_rate = true)
-00045          : howMany(_rate, _interpret_as_rate)  {}
-00046 
-00053   virtual void operator()(const eoPop<EOT>& _source, eoPop<EOT>& _dest)
-00054   {
-00055     unsigned int pSize = _source.size();
-00056     size_t target = howMany(pSize);
-00057 
-00058     _dest.resize(target);
-00059 
-00060     unsigned remain = target % pSize;
-00061     unsigned entireCopy = target / pSize;
-00062     typename eoPop<EOT>::iterator it = _dest.begin();
-00063     
-00064     if (target >= pSize)
-00065       {
-00066         for (unsigned i=0; i<entireCopy; i++)
-00067           {
-00068               std::copy(_source.begin(), _source.end(), it);
-00069             it += pSize;
-00070           }
-00071       }
-00072     // the last ones
-00073     if (remain) 
-00074       {
-00075           std::copy(_source.begin(), _source.begin()+remain, it);
-00076       }
-00077   }
-00078   
-00079 private :
-00080   eoHowMany howMany;
-00081 };
-00082 
-00083 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_det_tournament_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_det_tournament_select_8h-source.html deleted file mode 100644 index e54b9316d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_det_tournament_select_8h-source.html +++ /dev/null @@ -1,85 +0,0 @@ - - -EO: eoDetTournamentSelect.h Source File - - - - - -

eoDetTournamentSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoDetTournament.h
-00005 // (c) GeNeura Team, 1998 - EEAAX 1999
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoDetTournament_h
-00027 #define eoDetTournament_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <functional>  // 
-00032 #include <numeric>     // accumulate
-00033 
-00034 #include <eoFunctor.h>
-00035 #include <eoPop.h>
-00036 #include <utils/selectors.h>
-00037 
-00038 //-----------------------------------------------------------------------------
-00042 //-----------------------------------------------------------------------------
-00043 
-00044 template <class EOT> class eoDetTournamentSelect: public eoSelectOne<EOT>
-00045 {
-00046  public:
-00047   /* (Default) Constructor - 
-00048      @param _tSize tournament size
-00049   */
-00050   eoDetTournamentSelect(unsigned _tSize = 2 ):eoSelectOne<EOT>(), tSize(_tSize) {
-00051     // consistency check
-00052     if (tSize < 2) {
-00053       std::cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n";
-00054       tSize = 2;
-00055     }
-00056   }
-00057   
-00058   /* Perform deterministic tournament calling the appropriate fn 
-00059      see selectors.h
-00060   */
-00061   virtual const EOT& operator()(const eoPop<EOT>& _pop) 
-00062   {
-00063       return deterministic_tournament(_pop, tSize);
-00064   }
-00065   
-00066  private:
-00067   unsigned tSize;
-00068 };
-00069 
-00070 //-----------------------------------------------------------------------------
-00071 
-00072 #endif
-00073 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_distance_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_distance_8h-source.html deleted file mode 100644 index 348276261..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_distance_8h-source.html +++ /dev/null @@ -1,99 +0,0 @@ - - -EO: eoDistance.h Source File - - - - - -

eoDistance.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoDistance.h
-00005 // (c) GeNeura Team, 1998, Marc Schoenauer 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoDistance_H
-00027 #define _eoDistance_H
-00028 
-00029 #include <eoFunctor.h>
-00034 template< class EOT >
-00035 class eoDistance : public eoBF<const EOT &, const EOT &, double>
-00036 {};
-00037 
-00038 
-00043 template< class EOT >
-00044 class eoQuadDistance : public eoDistance<EOT>
-00045 {
-00046 public:
-00047   double operator()(const EOT & _v1, const EOT & _v2)
-00048   {
-00049      double sum=0.0;
-00050     for (unsigned i=0; i<_v1.size(); i++)
-00051       {
-00052         double r = static_cast<double> (_v1[i]) - static_cast<double> (_v2[i]);
-00053         sum += r*r;
-00054       }
-00055     return sqrt(sum);
-00056   }
-00057 };
-00058 
-00065 template< class EOT >
-00066 class eoHammingDistance : public eoDistance<EOT>
-00067 {
-00068 public:
-00069   double operator()(const EOT & _v1, const EOT & _v2)
-00070   {
-00071      double sum=0.0;
-00072     for (unsigned i=0; i<_v1.size(); i++)
-00073       {
-00074         double r = static_cast<double> (_v1[i]) - static_cast<double> (_v2[i]);
-00075         sum += fabs(r);
-00076       }
-00077     return sum;
-00078   }
-00079 };
-00080 
-00081 /* this distance measures the difference in fitness 
-00082  * I am not sure it can be of any use, though ... 
-00083  * except for some testing
-00084  */
-00085 template< class EOT >
-00086 class eoFitnessDistance : public eoDistance<EOT>
-00087 {
-00088 public:
-00089   double operator()(const EOT & _v1, const EOT & _v2)
-00090   {
-00091     double d = _v1.fitness() - _v2.fitness();
-00092     return sqrt(d*d);
-00093   }
-00094 };
-00095 
-00096 
-00097         
-00098 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_distrib_updater_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_distrib_updater_8h-source.html deleted file mode 100644 index 0a3831038..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_distrib_updater_8h-source.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: eoDistribUpdater.h Source File - - - - - -

eoDistribUpdater.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoDistribUpdater.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoDistribUpdater_H
-00027 #define _eoDistribUpdater_H
-00028 
-00029 #include <algorithm>
-00030 
-00031 #include <eoDistribution.h>
-00032 #include <eoPop.h>
-00033 
-00042 template <class EOT>
-00043 class eoDistribUpdater :  
-00044   public eoBF<eoDistribution<EOT> &, eoPop<EOT> &, void>
-00045 {
-00046 public:
-00047   virtual void operator()(eoDistribution<EOT> &, eoPop<EOT> &)=0;
-00048 };
-00049 
-00050 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_distribution_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_distribution_8h-source.html deleted file mode 100644 index 75147ecf1..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_distribution_8h-source.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: eoDistribution.h Source File - - - - - -

eoDistribution.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoDistribution.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoDistribution_H
-00027 #define _eoDistribution_H
-00028 
-00029 #include <algorithm>
-00030 
-00031 #include <eoInit.h>
-00032 #include <eoPop.h>
-00033 
-00044 template <class EOT>
-00045 class eoDistribution :  public eoInit<EOT>, 
-00046                         public eoPersistent, public eoObject
-00047 {
-00048 public:
-00049   virtual void operator()(EOT &) = 0; // DO NOT FORGET TO INVALIDATE the EOT
-00050 };
-00051 
-00052 #endif
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_dominance_map_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_dominance_map_8h-source.html deleted file mode 100644 index 2074e17cf..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_dominance_map_8h-source.html +++ /dev/null @@ -1,119 +0,0 @@ - - -EO: eoDominanceMap.h Source File - - - - - -

eoDominanceMap.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoDominanceMap_h
-00028 #define eoDominanceMap_h
-00029 
-00030 #include <eoFunctor.h>
-00031 #include <eoPop.h>
-00032 
-00046 template <class EoType>
-00047 class eoDominanceMap : public eoUF<const eoPop<EoType>&, void>, public std::vector<std::vector<bool> >
-00048 {
-00049 public:
-00050 
-00052     void clear() {
-00053         std::vector<std::vector<bool> >::clear();
-00054         fitness.clear();
-00055     }
-00056 
-00060   void operator()(const eoPop<EoType>& _pop)
-00061   {
-00062     setup(_pop);
-00063     return;
-00064   }
-00065 
-00069   void remove(unsigned i)
-00070   {
-00071     for (unsigned j = 0; j < size(); ++j)
-00072     {
-00073       operator[](i)[j] = false; // clear row
-00074       operator[](j)[i] = false; // clear col
-00075     }
-00076   }
-00077 
-00081   void setup(const eoPop<EoType>& _pop)
-00082   {
-00083     fitness.resize(_pop.size());
-00084     resize(_pop.size());
-00085 
-00086     for (unsigned i = 0; i < _pop.size(); ++i)
-00087     {
-00088       fitness[i] = _pop[i].fitness();
-00089       operator[](i).resize(_pop.size(), false);
-00090 
-00091       for (unsigned j = 0; j < i; ++j)
-00092       {
-00093         if (_pop[i].fitness().dominates(_pop[j].fitness()))
-00094         {
-00095           operator[](i)[j] = true;
-00096           operator[](j)[i] = false;
-00097         }
-00098         else if (_pop[j].fitness().dominates(_pop[i].fitness()))
-00099         {
-00100           operator[](i)[j] = false;
-00101           operator[](j)[i] = true;
-00102         }
-00103         else
-00104         {
-00105           operator[](i)[j] = false;
-00106           operator[](j)[i] = false;
-00107         }
-00108       }
-00109     }
-00110   }
-00111 
-00118   std::vector<double> sum_dominators() const
-00119   {
-00120     std::vector<double> result(size(), 0.0);
-00121 
-00122     for (unsigned i = 0; i < size(); ++i)
-00123     {
-00124       for (unsigned j = 0; j < size(); ++j)
-00125       {
-00126         if (operator[](i)[j]) // i dominates j
-00127           result[j]++;
-00128       }
-00129     }
-00130 
-00131     return result;
-00132   }
-00133 
-00140   std::vector<double> sum_dominants() const
-00141   {
-00142     std::vector<double> result(size(), 0.0);
-00143 
-00144     for (unsigned i = 0; i < size(); ++i)
-00145     {
-00146       for (unsigned j = 0; j < size(); ++j)
-00147       {
-00148         if (operator[](i)[j]) // i dominates j
-00149           result[i]++;
-00150       }
-00151     }
-00152 
-00153     return result;
-00154   }
-00155 
-00156   private :
-00157 
-00158 
-00159   std::vector<typename EoType::Fitness> fitness;
-00160 };
-00161 
-00162 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_drawable_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_drawable_8h-source.html deleted file mode 100644 index 83b24cd2f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_drawable_8h-source.html +++ /dev/null @@ -1,66 +0,0 @@ - - -EO: eoDrawable.h Source File - - - - - -

eoDrawable.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoDrawable.h
-00005 // (c) GeNeura Team, 1999
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef EODRAWABLE_H
-00026 #define EODRAWABLE_H
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 using namespace std;
-00031 
-00032 //-----------------------------------------------------------------------------
-00033 // eoDrawable
-00034 //-----------------------------------------------------------------------------
-00035 
-00043 template <class Object>
-00044 class eoDrawable
-00045 {
-00046  public:
-00048         eoDrawable( const Object& _o): Object( _o ){};
-00049 
-00051         eoDrawable( const eoDrawable& _d): Object( _d ){};
-00052 
-00054   virtual ~eoDrawable() {};
-00055   
-00056 
-00060   virtual void draw( unsigned _x, unsigned _y) = 0;
-00061         
-00062 };
-00063 
-00064 #endif EODRAWABLE_H
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_e_d_a_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_e_d_a_8h-source.html deleted file mode 100644 index 87ce98b25..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_e_d_a_8h-source.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoEDA.h Source File - - - - - -

eoEDA.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoEDA.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoEDA_h
-00027 #define _eoEDA_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <eoDistribution.h>
-00032 
-00041 template<class EOT> class eoEDA: public eoUF<eoDistribution<EOT>&, void>
-00042 {
-00043 };
-00044 
-00045 #endif
-00046 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_easy_e_a_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_easy_e_a_8h-source.html deleted file mode 100644 index 370084ec9..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_easy_e_a_8h-source.html +++ /dev/null @@ -1,236 +0,0 @@ - - -EO: eoEasyEA.h Source File - - - - - -

eoEasyEA.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoEasyEA.h
-00005 // (c) GeNeura Team, 1998
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoEasyEA_h
-00026 #define _eoEasyEA_h
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 #include <apply.h>
-00031 #include <eoAlgo.h>
-00032 #include <eoPopAlgo.h>
-00033 #include <eoPopEvalFunc.h>
-00034 #include <eoContinue.h>
-00035 #include <eoSelect.h>
-00036 #include <eoTransform.h>
-00037 #include <eoBreed.h>
-00038 #include <eoMergeReduce.h>
-00039 #include <eoReplacement.h>
-00040 
-00041 
-00042 
-00043 template <class EOT> class eoIslandsEasyEA ;
-00044 
-00045 template <class EOT> class eoDistEvalEasyEA ;
-00046 
-00063 template<class EOT> class eoEasyEA: public eoAlgo<EOT> {
-00064 public:
-00065 
-00067      eoEasyEA(
-00068          eoContinue<EOT>& _continuator,
-00069          eoEvalFunc<EOT>& _eval,
-00070          eoBreed<EOT>& _breed,
-00071          eoReplacement<EOT>& _replace
-00072      ) : continuator(_continuator),
-00073          eval (_eval),
-00074          loopEval(_eval),
-00075          popEval(loopEval),
-00076          selectTransform(dummySelect, dummyTransform),
-00077          breed(_breed),
-00078          mergeReduce(dummyMerge, dummyReduce),
-00079          replace(_replace)
-00080          {}
-00081 
-00082   /*
-00083   eoEasyEA(eoContinue <EOT> & _continuator,
-00084            eoPopEvalFunc <EOT> & _pop_eval,
-00085            eoBreed <EOT> & _breed,
-00086            eoReplacement <EOT> & _replace
-00087            ) :
-00088     continuator (_continuator),
-00089     eval (dummyEval),
-00090     loopEval(dummyEval),
-00091     popEval (_pop_eval),
-00092     selectTransform (dummySelect, dummyTransform),
-00093     breed (_breed),
-00094     mergeReduce (dummyMerge, dummyReduce),
-00095     replace (_replace) {
-00096 
-00097   }
-00098   */
-00099 
-00101      eoEasyEA(
-00102          eoContinue<EOT>& _continuator,
-00103          eoPopEvalFunc<EOT>& _eval,
-00104          eoBreed<EOT>& _breed,
-00105          eoReplacement<EOT>& _replace
-00106      ) : continuator(_continuator),
-00107          eval (dummyEval),
-00108          loopEval(dummyEval),
-00109          popEval(_eval),
-00110          selectTransform(dummySelect, dummyTransform),
-00111          breed(_breed),
-00112          mergeReduce(dummyMerge, dummyReduce),
-00113          replace(_replace)
-00114          {}
-00115 
-00117     eoEasyEA(
-00118          eoContinue<EOT>& _continuator,
-00119          eoEvalFunc<EOT>& _eval,
-00120          eoBreed<EOT>& _breed,
-00121          eoMerge<EOT>& _merge,
-00122          eoReduce<EOT>& _reduce
-00123      ) : continuator(_continuator),
-00124          eval (_eval),
-00125          loopEval(_eval),
-00126          popEval(loopEval),
-00127          selectTransform(dummySelect, dummyTransform),
-00128          breed(_breed),
-00129          mergeReduce(_merge, _reduce),
-00130          replace(mergeReduce)
-00131          {}
-00132 
-00134     eoEasyEA(
-00135          eoContinue<EOT>& _continuator,
-00136          eoEvalFunc<EOT>& _eval,
-00137          eoSelect<EOT>& _select,
-00138          eoTransform<EOT>& _transform,
-00139          eoReplacement<EOT>& _replace
-00140      ) : continuator(_continuator),
-00141          eval (_eval),
-00142          loopEval(_eval),
-00143          popEval(loopEval),
-00144          selectTransform(_select, _transform),
-00145          breed(selectTransform),
-00146          mergeReduce(dummyMerge, dummyReduce),
-00147          replace(_replace)
-00148          {}
-00149 
-00151      eoEasyEA(
-00152          eoContinue<EOT>& _continuator,
-00153          eoEvalFunc<EOT>& _eval,
-00154          eoSelect<EOT>& _select,
-00155          eoTransform<EOT>& _transform,
-00156          eoMerge<EOT>&     _merge,
-00157          eoReduce<EOT>&    _reduce
-00158      ) : continuator(_continuator),
-00159          eval (_eval),
-00160          loopEval(_eval),
-00161          popEval(loopEval),
-00162          selectTransform(_select, _transform),
-00163          breed(selectTransform),
-00164          mergeReduce(_merge, _reduce),
-00165          replace(mergeReduce)
-00166          {}
-00167 
-00168 
-00169 
-00170 
-00172   virtual void operator()(eoPop<EOT>& _pop)
-00173   {
-00174     eoPop<EOT> offspring, empty_pop;
-00175     popEval(empty_pop, _pop); // A first eval of pop.
-00176     do
-00177     {
-00178       try
-00179       {
-00180          unsigned pSize = _pop.size();
-00181          offspring.clear(); // new offspring
-00182 
-00183          breed(_pop, offspring);
-00184 
-00185          popEval(_pop, offspring); // eval of parents + offspring if necessary
-00186 
-00187          replace(_pop, offspring); // after replace, the new pop. is in _pop
-00188 
-00189          if (pSize > _pop.size())
-00190              throw std::runtime_error("Population shrinking!");
-00191          else if (pSize < _pop.size())
-00192              throw std::runtime_error("Population growing!");
-00193 
-00194       }
-00195       catch (std::exception& e)
-00196       {
-00197             std::string s = e.what();
-00198             s.append( " in eoEasyEA");
-00199             throw std::runtime_error( s );
-00200       }
-00201     } while ( continuator( _pop ) );
-00202   }
-00203 
-00204 protected :
-00205 
-00206   // If selectTransform needs not be used, dummySelect and dummyTransform are used
-00207   // to instantiate it.
-00208   class eoDummySelect : public eoSelect<EOT>
-00209      { public : void operator()(const eoPop<EOT>&, eoPop<EOT>&) {} } dummySelect;
-00210 
-00211      class eoDummyTransform : public eoTransform<EOT>
-00212      { public : void operator()(eoPop<EOT>&) {} } dummyTransform;
-00213 
-00214   class eoDummyEval : public eoEvalFunc<EOT>
-00215   {public: void operator()(EOT &) {} } dummyEval;
-00216 
-00217   eoContinue<EOT>&          continuator;
-00218 
-00219   eoEvalFunc <EOT> &        eval ;
-00220   eoPopLoopEval<EOT>        loopEval;
-00221 
-00222   eoPopEvalFunc<EOT>&       popEval;
-00223 
-00224   eoSelectTransform<EOT>    selectTransform;
-00225   eoBreed<EOT>&             breed;
-00226 
-00227   // If mergeReduce needs not be used, dummyMerge and dummyReduce are used
-00228   // to instantiate it.
-00229   eoNoElitism<EOT>          dummyMerge;
-00230   eoTruncate<EOT>           dummyReduce;
-00231 
-00232   eoMergeReduce<EOT>        mergeReduce;
-00233   eoReplacement<EOT>&       replace;
-00234 
-00235   // Friend classes
-00236   friend class eoIslandsEasyEA <EOT> ;
-00237   friend class eoDistEvalEasyEA <EOT> ;
-00238 };
-00239 
-00240 //-----------------------------------------------------------------------------
-00241 
-00242 #endif
-00243 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_es_chrom_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_es_chrom_init_8h-source.html deleted file mode 100644 index 43f0d38a6..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_es_chrom_init_8h-source.html +++ /dev/null @@ -1,160 +0,0 @@ - - -EO: eoEsChromInit.h Source File - - - - - -

eoEsChromInit.h

00001 //
-00002 /* (c) Maarten Keijzer 2000, GeNeura Team, 1998 - EEAAX 1999
-00003 
-00004 This library is free software; you can redistribute it and/or modify it under
-00005 the terms of the GNU Lesser General Public License as published by the Free
-00006 Software Foundation; either version 2 of the License, or (at your option) any
-00007 later version.
-00008 
-00009 This library is distributed in the hope that it will be useful, but WITHOUT ANY
-00010 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-00011 PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-00012 
-00013 You should have received a copy of the GNU Lesser General Public License along
-00014 with this library; if not, write to the Free Software Foundation, Inc., 59
-00015 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-00016 
-00017 Contact: http://eodev.sourceforge.net
-00018          todos@geneura.ugr.es, http://geneura.ugr.es
-00019          Marc.Schoenauer@polytechnique.fr
-00020          mak@dhi.dk
-00021  */
-00022 
-00023 
-00024 #ifndef _eoEsChromInit_H
-00025 #define _eoEsChromInit_H
-00026 
-00027 #include <cmath>
-00028 #include <vector>
-00029 
-00030 #include <es/eoRealInitBounded.h>
-00031 #include <es/eoEsSimple.h>
-00032 #include <es/eoEsStdev.h>
-00033 #include <es/eoEsFull.h>
-00034 
-00035 #ifndef M_PI
-00036 #define M_PI 3.1415926535897932384626433832795
-00037 #endif
-00038 
-00054 template <class EOT>
-00055 class eoEsChromInit : public eoRealInitBounded<EOT>
-00056 {
-00057 public:
-00058 
-00059     using eoRealInitBounded<EOT>::size;
-00060     using eoRealInitBounded<EOT>::theBounds;
-00061 
-00062     typedef typename EOT::Fitness FitT;
-00063 
-00071     eoEsChromInit(eoRealVectorBounds& _bounds, double _sigma = 0.3, bool _to_scale=false)
-00072         : eoRealInitBounded<EOT>(_bounds)
-00073         {
-00074             // a bit of pre-computations, to save time later (even if some are useless)
-00075             //
-00076             // first, in the case of one unique sigma
-00077             // sigma is scaled by the average range (if that means anything!)
-00078             if (_to_scale)
-00079             {
-00080                 double scaleUnique = 0;
-00081                 for (unsigned i=0; i<size(); i++)
-00082                     scaleUnique += theBounds().range(i);
-00083                 scaleUnique /= size();
-00084                 uniqueSigma = _sigma * scaleUnique;
-00085             }
-00086             else
-00087                 uniqueSigma = _sigma;
-00088             // now the case of a vector of sigmas first allocate space according
-00089             // to the size of the bounds (see eoRealInitBounded)
-00090             vecSigma.resize(size());
-00091             // each sigma is scaled by the range of the corresponding variable
-00092             for(unsigned i=0; i<size(); i++)
-00093                 if(_to_scale)
-00094                     vecSigma[i] = _sigma * theBounds().range(i);
-00095                 else
-00096                     vecSigma[i] = _sigma;
-00097         }
-00098 
-00099 
-00109     eoEsChromInit(eoRealVectorBounds& _bounds, std::vector<double> _vecSigma)
-00110         : eoRealInitBounded<EOT>(_bounds), uniqueSigma(_vecSigma[0]), vecSigma(_vecSigma)
-00111         {}
-00112 
-00113 
-00114     void operator()(EOT& _eo)
-00115         {
-00116             eoRealInitBounded<EOT>::operator()(_eo);
-00117             create_self_adapt(_eo);
-00118             _eo.invalidate();
-00119         }
-00120 
-00121 
-00122 private:
-00123 
-00128     void create_self_adapt(eoReal<FitT>&)
-00129         {}
-00130 
-00131 
-00132 
-00139     void create_self_adapt(eoEsSimple<FitT>& result)
-00140         {
-00141             // pre-computed in the Ctor
-00142             result.stdev = uniqueSigma;
-00143         }
-00144 
-00145 
-00146 
-00155     void create_self_adapt(eoEsStdev<FitT>& result)
-00156         {
-00157             // pre-computed in the constructor
-00158             result.stdevs = vecSigma;
-00159         }
-00160 
-00161 
-00162 
-00169     void create_self_adapt(eoEsFull<FitT>& result)
-00170         {
-00171             // first the stdevs (pre-computed in the Ctor)
-00172             result.stdevs = vecSigma;
-00173             unsigned int theSize = size();
-00174             // nb of rotation angles: N*(N-1)/2 (in general!)
-00175             result.correlations.resize(theSize*(theSize - 1) / 2);
-00176             for (unsigned i=0; i<result.correlations.size(); ++i)
-00177             {
-00178                 // uniform in [-PI, PI)
-00179                 result.correlations[i] = rng.uniform(2 * M_PI) - M_PI;
-00180             }
-00181         }
-00182 
-00183 
-00184 
-00186     double uniqueSigma;
-00187 
-00189     std::vector<double> vecSigma;
-00190 };
-00191 
-00192 #endif
-00193 
-00194 
-00195 
-00196 // Local Variables:
-00197 // coding: iso-8859-1
-00198 // mode:C++
-00199 // c-file-style: "Stroustrup"
-00200 // comment-column: 35
-00201 // fill-column: 80
-00202 // End:
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_es_full_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_es_full_8h-source.html deleted file mode 100644 index 2a3983c15..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_es_full_8h-source.html +++ /dev/null @@ -1,93 +0,0 @@ - - -EO: eoEsFull.h Source File - - - - - -

eoEsFull.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoEsFull.h
-00005 // (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoEsFull_h
-00028 #define _eoEsFull_h
-00029 
-00030 #include <eoVector.h>
-00031 
-00039 template <class Fit>
-00040 class eoEsFull : public eoVector<Fit, double>
-00041 {
-00042 public:
-00043 
-00044     using eoVector<Fit, double>::size;
-00045 
-00046 
-00047     typedef double Type;
-00048 
-00049     eoEsFull(void) : eoVector<Fit, double>() {}
-00050 
-00051     virtual std::string className(void) const { return "eoEsFull"; }
-00052 
-00053     void printOn(std::ostream& os) const
-00054     {
-00055         eoVector<Fit,double>::printOn(os);
-00056         os << ' ';
-00057         std::copy(stdevs.begin(), stdevs.end(), std::ostream_iterator<double>(os, " "));
-00058         os << ' ';
-00059         std::copy(correlations.begin(), correlations.end(), std::ostream_iterator<double>(os, " "));
-00060         os << ' ';
-00061     }
-00062 
-00063     void readFrom(std::istream& is)
-00064     {
-00065         eoVector<Fit,double>::readFrom(is);
-00066 
-00067         stdevs.resize(size());
-00068 
-00069         unsigned i;
-00070         for (i = 0; i < size(); ++i)
-00071             is >> stdevs[i];
-00072 
-00073         correlations.resize(size()*(size() - 1) / 2);
-00074 
-00075         for (i = 0; i < correlations.size(); ++i)
-00076             is >> correlations[i];
-00077     }
-00078 
-00079     std::vector<double> stdevs;
-00080     std::vector<double> correlations;
-00081 };
-00082 
-00083 
-00084 
-00085 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_es_global_xover_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_es_global_xover_8h-source.html deleted file mode 100644 index 323070771..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_es_global_xover_8h-source.html +++ /dev/null @@ -1,116 +0,0 @@ - - -EO: eoEsGlobalXover.h Source File - - - - - -

eoEsGlobalXover.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 
-00026 #ifndef _eoEsGlobalXover_H
-00027 #define _eoEsGlobalXover_H
-00028 
-00029 #include <utils/eoRNG.h>
-00030 
-00031 #include <es/eoEsSimple.h>
-00032 #include <es/eoEsStdev.h>
-00033 #include <es/eoEsFull.h>
-00034 
-00035 #include <eoGenOp.h>
-00036 // needs a selector - here random
-00037 #include <eoRandomSelect.h>
-00038 
-00043 template<class EOT>
-00044 class eoEsGlobalXover: public eoGenOp<EOT>
-00045 {
-00046 public:
-00047   typedef typename EOT::Fitness FitT;
-00048 
-00052   eoEsGlobalXover(eoBinOp<double> & _crossObj, eoBinOp<double> & _crossMut) :
-00053     crossObj(_crossObj), crossMut(_crossMut) {}
-00054 
-00056   virtual std::string className() const { return "eoEsGlobalXover"; }
-00057 
-00059   unsigned max_production(void) { return 1; }
-00060 
-00067   void apply(eoPopulator<EOT>& _plop)
-00068   {
-00069     // First, select as many parents as you will have offspring
-00070     EOT& parent = *_plop; // select the first parent
-00071 
-00072     // first, the object variables
-00073     for (unsigned i=0; i<parent.size(); i++)
-00074       {
-00075         // get extra parents - use private selector
-00076         // _plop.source() is the eoPop<EOT> used by _plop to get parents
-00077         const EOT& realParent1 = sel(_plop.source());
-00078         const EOT& realParent2 = sel(_plop.source());
-00079         parent[i] = realParent1[i];
-00080         crossObj(parent[i], realParent2[i]); // apply eoBinOp
-00081       }
-00082     // then the self-adaptation parameters
-00083     cross_self_adapt(parent, _plop.source());
-00084     // dont' forget to invalidate
-00085     parent.invalidate();
-00086   }
-00087 
-00088 private:
-00089 
-00094   void cross_self_adapt(eoEsSimple<FitT> & _parent, const eoPop<eoEsSimple<FitT> >& _pop)
-00095   {
-00096     const EOT& realParent1 = sel(_pop);
-00097     const EOT& realParent2 = sel(_pop);
-00098     _parent.stdev = realParent1.stdev;
-00099     crossMut(_parent.stdev, realParent2.stdev); // apply eoBinOp
-00100   }
-00101 
-00106   void cross_self_adapt(eoEsStdev<FitT> & _parent, const eoPop<eoEsStdev<FitT> >& _pop)
-00107   {
-00108     for (unsigned i=0; i<_parent.size(); i++)
-00109       {
-00110         const EOT& realParent1 = sel(_pop);
-00111         const EOT& realParent2 = sel(_pop);
-00112         _parent.stdevs[i] = realParent1.stdevs[i];
-00113         crossMut(_parent.stdevs[i], realParent2.stdevs[i]); // apply eoBinOp
-00114       }
-00115   }
-00116 
-00121   void cross_self_adapt(eoEsFull<FitT> & _parent, const eoPop<eoEsFull<FitT> >& _pop)
-00122   {
-00123     unsigned i;
-00124     // the StDev
-00125     for (i=0; i<_parent.size(); i++)
-00126       {
-00127         const EOT& realParent1 = sel(_pop);
-00128         const EOT& realParent2 = sel(_pop);
-00129         _parent.stdevs[i] = realParent1.stdevs[i];
-00130         crossMut(_parent.stdevs[i], realParent2.stdevs[i]); // apply eoBinOp
-00131       }
-00132     // the roataion angles
-00133     for (i=0; i<_parent.correlations.size(); i++)
-00134       {
-00135         const EOT& realParent1 = sel(_pop);
-00136         const EOT& realParent2 = sel(_pop);
-00137         _parent.correlations[i] = realParent1.correlations[i];
-00138         crossMut(_parent.correlations[i], realParent2.correlations[i]); // apply eoBinOp
-00139       }
-00140 
-00141   }
-00142 
-00143   // the data
-00144   eoRandomSelect<EOT> sel;
-00145   eoBinOp<double> & crossObj;
-00146   eoBinOp<double> & crossMut;
-00147 };
-00148 
-00149 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_es_mutate_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_es_mutate_8h-source.html deleted file mode 100644 index 99cd2882c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_es_mutate_8h-source.html +++ /dev/null @@ -1,213 +0,0 @@ - - -EO: eoEsMutate.h Source File - - - - - -

eoEsMutate.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; fill-column: 80; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoESMute.h : ES mutation
-00005 // (c) Maarten Keijzer 2000 & GeNeura Team, 1998 for the EO part
-00006 //     Th. Baeck 1994 and EEAAX 1999 for the ES part
-00007 /*
-00008     This library is free software; you can redistribute it and/or
-00009     modify it under the terms of the GNU Lesser General Public
-00010     License as published by the Free Software Foundation; either
-00011     version 2 of the License, or (at your option) any later version.
-00012 
-00013     This library is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016     Lesser General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU Lesser General Public
-00019     License along with this library; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023              marc.schoenauer@polytechnique.fr
-00024                        http://eeaax.cmap.polytchnique.fr/
-00025  */
-00026 //-----------------------------------------------------------------------------
-00027 
-00028 
-00029 #ifndef _EOESMUTATE_H
-00030 #define _EOESMUTATE_H
-00031 
-00032 #include <cmath>
-00033 #include <eoInit.h>
-00034 #include <eoOp.h>
-00035 #include <es/eoEsMutationInit.h>
-00036 #include <es/eoEsSimple.h>
-00037 #include <es/eoEsStdev.h>
-00038 #include <es/eoEsFull.h>
-00039 #include <utils/eoRealBounds.h>
-00040 #include <utils/eoRNG.h>
-00041 
-00042 #ifndef M_PI
-00043 #define M_PI 3.1415926535897932384626433832795
-00044 #endif
-00045 
-00059 template <class EOT>
-00060 class eoEsMutate : public eoMonOp< EOT >
-00061 {
-00062 public:
-00063 
-00065     typedef typename EOT::Fitness FitT;
-00066 
-00067 
-00074     eoEsMutate(eoEsMutationInit& _init, eoRealVectorBounds& _bounds) : bounds(_bounds)
-00075     {
-00076         init(EOT(), _init); // initialize on actual type used
-00077     }
-00078 
-00079 
-00081     virtual ~eoEsMutate() {};
-00082 
-00083 
-00090     virtual std::string className() const {return "eoESMutate";};
-00091 
-00092 
-00097     virtual bool operator()( eoEsSimple<FitT>& _eo)
-00098         {
-00099             _eo.stdev *= exp(TauLcl * rng.normal());
-00100             if (_eo.stdev < stdev_eps)
-00101                 _eo.stdev = stdev_eps;
-00102             // now apply to all
-00103             for (unsigned i = 0; i < _eo.size(); ++i)
-00104             {
-00105                 _eo[i] += _eo.stdev * rng.normal();
-00106             }
-00107             bounds.foldsInBounds(_eo);
-00108             return true;
-00109         }
-00110 
-00111 
-00128     virtual bool operator()( eoEsStdev<FitT>& _eo )
-00129         {
-00130             double global = TauGlb * rng.normal();
-00131             for (unsigned i = 0; i < _eo.size(); i++)
-00132             {
-00133                 double stdev = _eo.stdevs[i];
-00134                 stdev *= exp( global + TauLcl * rng.normal() );
-00135                 if (stdev < stdev_eps)
-00136                     stdev = stdev_eps;
-00137                 _eo.stdevs[i] = stdev;
-00138                 _eo[i] += stdev * rng.normal();
-00139             }
-00140             bounds.foldsInBounds(_eo);
-00141             return true;
-00142         }
-00143 
-00144 
-00159     virtual bool operator()( eoEsFull<FitT> & _eo )
-00160     // Code originally from Thomas Bäck
-00161         {
-00162             // First: mutate standard deviations (as for eoEsStdev<FitT>).
-00163             double global = TauGlb * rng.normal();
-00164             unsigned i;
-00165             for (i = 0; i < _eo.size(); i++)
-00166             {
-00167                 double stdev = _eo.stdevs[i];
-00168                 stdev *= exp( global + TauLcl*rng.normal() );
-00169                 if (stdev < stdev_eps)
-00170                     stdev = stdev_eps;
-00171                 _eo.stdevs[i] = stdev;
-00172             }
-00173             // Mutate rotation angles.
-00174             for (i = 0; i < _eo.correlations.size(); i++)
-00175             {
-00176                 _eo.correlations[i] += TauBeta * rng.normal();
-00177                 if ( fabs(_eo.correlations[i]) > M_PI )
-00178                 {
-00179                     _eo.correlations[i] -= M_PI * (int) (_eo.correlations[i]/M_PI) ;
-00180                 }
-00181             }
-00182             // Perform correlated mutations.
-00183             unsigned k, n1, n2;
-00184             double d1,d2, S, C;
-00185             std::vector<double> VarStp(_eo.size());
-00186             for (i = 0; i < _eo.size(); i++)
-00187                 VarStp[i] = _eo.stdevs[i] * rng.normal();
-00188             unsigned nq = _eo.correlations.size() - 1;
-00189             for (k = 0; k < _eo.size()-1; k++)
-00190             {
-00191                 n1 = _eo.size() - k - 1;
-00192                 n2 = _eo.size() - 1;
-00193                 for (i = 0; i < k; i++)
-00194                 {
-00195                     d1 = VarStp[n1];
-00196                     d2 = VarStp[n2];
-00197                     S  = sin( _eo.correlations[nq] );
-00198                     C  = cos( _eo.correlations[nq] );
-00199                     VarStp[n2] = d1 * S + d2 * C;
-00200                     VarStp[n1] = d1 * C - d2 * S;
-00201                     n2--;
-00202                     nq--;
-00203                 }
-00204             }
-00205             for (i = 0; i < _eo.size(); i++)
-00206                 _eo[i] += VarStp[i];
-00207             bounds.foldsInBounds(_eo);
-00208             return true;
-00209         }
-00210 
-00211 
-00212   private :
-00213 
-00215     void init(eoEsSimple<FitT>, eoEsMutationInit& _init)
-00216     {
-00217         unsigned size = bounds.size();
-00218         TauLcl = _init.TauLcl();
-00219         TauLcl /= sqrt(2*(double) size);
-00220         std::cout << "Init<eoEsSimple>: tau local " << TauLcl << std::endl;
-00221     }
-00222 
-00223 
-00228     void init(eoEsStdev<FitT>, eoEsMutationInit& _init)
-00229     {
-00230         unsigned size = bounds.size();
-00231         TauLcl = _init.TauLcl();
-00232         TauGlb = _init.TauGlb();
-00233         // renormalization
-00234         TauLcl /= sqrt( 2.0 * sqrt(double(size)) );
-00235         TauGlb /= sqrt( 2.0 * double(size) );
-00236         std::cout << "Init<eoStDev>: tau local " << TauLcl << " et global " << TauGlb << std::endl;
-00237     }
-00238 
-00239 
-00244     void init(eoEsFull<FitT>, eoEsMutationInit& _init)
-00245     {
-00246         init(eoEsStdev<FitT>(), _init);
-00247         TauBeta = _init.TauBeta();
-00248         std::cout << "Init<eoEsFull>: tau local " << TauLcl << " et global " << TauGlb << std::endl;
-00249     }
-00250 
-00251 
-00253     double TauLcl;
-00254 
-00256     double TauGlb;
-00257 
-00259     double TauBeta;
-00260 
-00262     eoRealVectorBounds& bounds;
-00263 
-00278     static const double stdev_eps;
-00279 };
-00280 
-00281 
-00282 // Minimum value of stdevs, see declaration for details.
-00283 template <class EOT>
-00284 const double eoEsMutate<EOT>::stdev_eps = 1.0e-40;
-00285 
-00286 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_es_mutation_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_es_mutation_init_8h-source.html deleted file mode 100644 index ff2f1f04c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_es_mutation_init_8h-source.html +++ /dev/null @@ -1,112 +0,0 @@ - - -EO: eoEsMutationInit.h Source File - - - - - -

eoEsMutationInit.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; fill-column: 80 -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoEsMutationInit.h
-00005 // (c) GeNeura Team, 1998 - EEAAX 1999 - Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoEsMutationInit_h
-00028 #define _eoEsMutationInit_h
-00029 
-00030 #include <utils/eoParser.h>
-00031 
-00047 class eoEsMutationInit
-00048 {
-00049 public :
-00050 
-00056     eoEsMutationInit(eoParser& _parser,
-00057                      std::string _section="ES mutation parameters" ) :
-00058         parser(_parser), repSection(_section),
-00059         TauLclParam(0), TauGlbParam(0), TauBetaParam(0) {}
-00060 
-00062     virtual ~eoEsMutationInit() {}
-00063 
-00065     double TauLcl(void)
-00066     {
-00067         if (TauLclParam == 0)
-00068         {
-00069             TauLclParam = &parser.getORcreateParam(1.0, TauLclName(),
-00070                                                    "Local Tau (before normalization)",
-00071                                                    TauLclShort(), section());
-00072         }
-00073         return TauLclParam->value();
-00074     }
-00075 
-00077     double TauGlb(void)
-00078     {
-00079         if (TauGlbParam == 0)
-00080         {
-00081             TauGlbParam = &parser.getORcreateParam(1.0, TauGlbName(),
-00082                                                    "Global Tau (before normalization)",
-00083                                                    TauGlbShort(), section());
-00084         }
-00085         return TauGlbParam->value();
-00086     }
-00087 
-00089     double TauBeta(void)
-00090     {
-00091         if (TauBetaParam == 0)
-00092         {
-00093             TauBetaParam = &parser.getORcreateParam(0.0873, TauBetaName(),
-00094                                                     "Beta", TauBetaShort(), section());
-00095         }
-00096         return TauBetaParam->value();
-00097     }
-00098 
-00099   protected :
-00100 
-00101     virtual std::string section(void)                { return repSection; }
-00102 
-00103     virtual std::string TauLclName(void) const       { return "TauLoc"; }
-00104     virtual char   TauLclShort(void) const           { return 'l'; }
-00105 
-00106     virtual std::string TauGlbName(void) const       { return "TauGlob"; }
-00107     virtual char   TauGlbShort(void) const           { return 'g'; }
-00108 
-00109     virtual std::string TauBetaName(void) const      { return "Beta"; }
-00110     virtual char   TauBetaShort(void) const          { return 'b'; }
-00111 
-00112 private:
-00113 
-00114     eoParser& parser;
-00115     std::string repSection;
-00116     eoValueParam<double>* TauLclParam;
-00117     eoValueParam<double>* TauGlbParam;
-00118     eoValueParam<double>* TauBetaParam;
-00119 };
-00120 
-00121 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_es_simple_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_es_simple_8h-source.html deleted file mode 100644 index 1b6367e0b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_es_simple_8h-source.html +++ /dev/null @@ -1,82 +0,0 @@ - - -EO: eoEsSimple.h Source File - - - - - -

eoEsSimple.h

00001 /* (c) GeNeura Team, 2000 - EEAAX 1999, Maarten Keijzer 2000
-00002 
-00003 This library is free software; you can redistribute it and/or modify it under
-00004 the terms of the GNU Lesser General Public License as published by the Free
-00005 Software Foundation; either version 2 of the License, or (at your option) any
-00006 later version.
-00007 
-00008 This library is distributed in the hope that it will be useful, but WITHOUT ANY
-00009 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-00010 PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-00011 
-00012 You should have received a copy of the GNU Lesser General Public License along
-00013 with this library; if not, write to the Free Software Foundation, Inc., 59
-00014 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-00015 
-00016 Contact: http://eodev.sourceforge.net
-00017          todos@geneura.ugr.es, http://geneura.ugr.es
-00018          Marc.Schoenauer@polytechnique.fr
-00019          mak@dhi.dk
-00020  */
-00021 
-00022 
-00023 #ifndef _eoEsSimple_h
-00024 #define _eoEsSimple_h
-00025 
-00026 #include <EO.h>
-00027 #include <vector>
-00028 
-00029 #include <eoVector.h>
-00030 
-00041 template <class Fit>
-00042 class eoEsSimple : public eoVector<Fit, double>
-00043 {
-00044 public :
-00045 
-00046     typedef double Type;
-00047 
-00048     eoEsSimple() : eoVector<Fit, double>() {}
-00049 
-00050     virtual std::string className() const { return "eoEsSimple"; }
-00051 
-00052     void printOn(std::ostream& os) const
-00053     {
-00054         eoVector<Fit,double>::printOn(os);
-00055         os << ' ' << stdev << ' ';
-00056     }
-00057 
-00058     void readFrom(std::istream& is)
-00059     {
-00060         eoVector<Fit,double>::readFrom(is);
-00061         is >> stdev;
-00062     }
-00063 
-00064     double stdev;
-00065 };
-00066 
-00067 #endif
-00068 
-00069 
-00070 
-00071 // Local Variables:
-00072 // coding: iso-8859-1
-00073 // mode:C++
-00074 // c-file-style: "Stroustrup"
-00075 // comment-column: 35
-00076 // fill-column: 80
-00077 // End:
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_es_standard_xover_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_es_standard_xover_8h-source.html deleted file mode 100644 index bcf7866fd..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_es_standard_xover_8h-source.html +++ /dev/null @@ -1,100 +0,0 @@ - - -EO: eoEsStandardXover.h Source File - - - - - -

eoEsStandardXover.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 
-00026 #ifndef _eoEsLocalXover_H
-00027 #define _eoEsLocalXover_H
-00028 
-00029 #include <utils/eoRNG.h>
-00030 
-00031 #include <es/eoEsSimple.h>
-00032 #include <es/eoEsStdev.h>
-00033 #include <es/eoEsFull.h>
-00034 
-00035 #include <eoGenOp.h>
-00036 // needs a selector - here random
-00037 #include <eoRandomSelect.h>
-00038 
-00045 template<class EOT> 
-00046 class eoEsStandardXover: public eoBinOp<EOT>
-00047 {
-00048 public:
-00049   typedef typename EOT::Fitness FitT;
-00050 
-00054   eoEsStandardXover(eoBinOp<double> & _crossObj, eoBinOp<double> & _crossMut) :
-00055     crossObj(_crossObj), crossMut(_crossMut) {}
-00056 
-00058   virtual std::string className() const { return "eoEsStandardXover"; }
-00059 
-00064   bool operator()(EOT& _eo1, const EOT& _eo2)
-00065     {
-00066       bool bLoc=false;
-00067     // first, the object variables
-00068     for (unsigned i=0; i<_eo1.size(); i++)
-00069       {
-00070         bLoc |= crossObj(_eo1[i], _eo2[i]); // apply eoBinOp
-00071       }
-00072     // then the self-adaptation parameters
-00073     bLoc |= cross_self_adapt(_eo1, _eo2);
-00074     return bLoc;
-00075   }
-00076   
-00077 private:
-00078 
-00079   // the method to cross slef-adaptation parameters: need to specialize
-00080 
-00081   bool cross_self_adapt(eoEsSimple<FitT> & _parent1, const eoEsSimple<FitT> & _parent2)
-00082   {
-00083     return crossMut(_parent1.stdev, _parent2.stdev); // apply eoBinOp
-00084   }
-00085 
-00086   bool cross_self_adapt(eoEsStdev<FitT> & _parent1, const eoEsStdev<FitT> & _parent2)
-00087   {
-00088     bool bLoc=false;
-00089     for (unsigned i=0; i<_parent1.size(); i++)
-00090       {
-00091         bLoc |= crossMut(_parent1.stdevs[i], _parent2.stdevs[i]); // apply eoBinOp
-00092       }
-00093     return bLoc;
-00094   }
-00095 
-00096   bool cross_self_adapt(eoEsFull<FitT> & _parent1, const eoEsFull<FitT> & _parent2)
-00097   {
-00098     bool bLoc=false;
-00099     unsigned i;
-00100     // the StDev
-00101     for (i=0; i<_parent1.size(); i++)
-00102       {
-00103         bLoc |= crossMut(_parent1.stdevs[i], _parent2.stdevs[i]); // apply eoBinOp
-00104       }
-00105     // the roataion angles
-00106     for (i=0; i<_parent1.correlations.size(); i++)
-00107       {
-00108         bLoc |= crossMut(_parent1.correlations[i], _parent2.correlations[i]); // apply eoBinOp
-00109       }
-00110     return bLoc;
-00111 
-00112   }
-00113 
-00114   // the data
-00115   eoRandomSelect<EOT> sel;
-00116   eoBinOp<double> & crossObj;
-00117   eoBinOp<double> & crossMut;
-00118 };
-00119 
-00120 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_es_stdev_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_es_stdev_8h-source.html deleted file mode 100644 index f80eb3043..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_es_stdev_8h-source.html +++ /dev/null @@ -1,88 +0,0 @@ - - -EO: eoEsStdev.h Source File - - - - - -

eoEsStdev.h

00001 /* (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000
-00002 
-00003 This library is free software; you can redistribute it and/or modify it under
-00004 the terms of the GNU Lesser General Public License as published by the Free
-00005 Software Foundation; either version 2 of the License, or (at your option) any
-00006 later version.
-00007 
-00008 This library is distributed in the hope that it will be useful, but WITHOUT ANY
-00009 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-00010 PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-00011 
-00012 You should have received a copy of the GNU Lesser General Public License along
-00013 with this library; if not, write to the Free Software Foundation, Inc., 59
-00014 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-00015 
-00016 Contact: http://eodev.sourceforge.net
-00017          todos@geneura.ugr.es, http://geneura.ugr.es
-00018          Marc.Schoenauer@polytechnique.fr
-00019          mak@dhi.dk
-00020  */
-00021 
-00022 
-00023 #ifndef _eoEsStdev_h
-00024 #define _eoEsStdev_h
-00025 
-00026 #include <eoVector.h>
-00027 
-00028 
-00036 template <class Fit>
-00037 class eoEsStdev : public eoVector<Fit, double>
-00038 {
-00039 public:
-00040 
-00041     using eoVector<Fit, double>::size;
-00042 
-00043     typedef double Type;
-00044 
-00045     eoEsStdev(void) : eoVector<Fit, double>() {}
-00046 
-00047     virtual std::string className(void) const { return "eoEsStdev"; }
-00048 
-00049     void printOn(std::ostream& os) const
-00050     {
-00051         eoVector<Fit,double>::printOn(os);
-00052         os << ' ';
-00053         std::copy(stdevs.begin(), stdevs.end(), std::ostream_iterator<double>(os, " "));
-00054         os << ' ';
-00055     }
-00056 
-00057     void readFrom(std::istream& is)
-00058     {
-00059         eoVector<Fit,double>::readFrom(is);
-00060         stdevs.resize(size());
-00061         unsigned i;
-00062         for (i = 0; i < size(); ++i)
-00063             is >> stdevs[i];
-00064     }
-00065 
-00066 
-00067     std::vector<double> stdevs;
-00068 };
-00069 
-00070 #endif
-00071 
-00072 
-00073 
-00074 // Local Variables:
-00075 // coding: iso-8859-1
-00076 // mode:C++
-00077 // c-file-style: "Stroustrup"
-00078 // comment-column: 35
-00079 // fill-column: 80
-00080 // End:
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_eval_continue_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_eval_continue_8h-source.html deleted file mode 100644 index 3679f477d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_eval_continue_8h-source.html +++ /dev/null @@ -1,76 +0,0 @@ - - -EO: eoEvalContinue.h Source File - - - - - -

eoEvalContinue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoEvalContinue.h
-00005 // (c) GeNeura Team, 1999, Marc Schoenauer 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoEvalContinue_h
-00027 #define _eoEvalContinue_h
-00028 
-00029 #include <eoContinue.h>
-00030 #include <eoEvalFuncCounter.h>
-00031 
-00035 template< class EOT>
-00036 class eoEvalContinue: public eoContinue<EOT>
-00037 {
-00038 public:
-00040   eoEvalContinue( eoEvalFuncCounter<EOT> & _eval, unsigned long _totalEval)
-00041           : eval(_eval), repTotalEvaluations( _totalEval ) {
-00042     std::cout << "Ctor de eoEvalFuncCounter avec total = " << repTotalEvaluations << std::endl;
-00043 };
-00044   
-00047   virtual bool operator() ( const eoPop<EOT>& _vEO ) {
-00048     if (eval.value() >= repTotalEvaluations) 
-00049       {
-00050         std::cout << "STOP in eoEvalContinue: Reached maximum number of evaluations [" << repTotalEvaluations << "]\n";
-00051         return false;
-00052       }
-00053     return true;
-00054   }
-00055   
-00057   virtual unsigned long totalEvaluations( ) 
-00058   {  
-00059     return repTotalEvaluations; 
-00060   };
-00061   
-00062   virtual std::string className(void) const { return "eoEvalContinue"; }
-00063 private:
-00064   eoEvalFuncCounter<EOT> & eval;
-00065   unsigned long repTotalEvaluations;
-00066 };
-00067 
-00068 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_eval_func_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_eval_func_8h-source.html deleted file mode 100644 index 6f6b2e028..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_eval_func_8h-source.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoEvalFunc.h Source File - - - - - -

eoEvalFunc.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoEvalFunc.h
-00005 // (c) GeNeura Team, 1998
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef eoEvalFunc_H
-00026 #define eoEvalFunc_H
-00027 
-00028 #include <eoFunctor.h>
-00029 
-00041 template<class EOT> class eoEvalFunc : public eoUF<EOT&, void>
-00042 {
-00043     public :
-00044         typedef EOT EOType;
-00045 
-00046         typedef typename EOT::Fitness EOFitT;
-00047 };
-00048 
-00049 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_eval_func_counter_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_eval_func_counter_8h-source.html deleted file mode 100644 index 8b7412cc1..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_eval_func_counter_8h-source.html +++ /dev/null @@ -1,67 +0,0 @@ - - -EO: eoEvalFuncCounter.h Source File - - - - - -

eoEvalFuncCounter.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoEvalFuncCounter.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoEvalFuncCounter_H
-00028 #define eoEvalFuncCounter_H
-00029 
-00030 #include <eoEvalFunc.h>
-00031 #include <utils/eoParam.h>
-00032 
-00037 template<class EOT> class eoEvalFuncCounter : public eoEvalFunc<EOT>, public eoValueParam<unsigned long>
-00038 {
-00039     public :
-00040         eoEvalFuncCounter(eoEvalFunc<EOT>& _func, std::string _name = "Eval. ") 
-00041             : eoValueParam<unsigned long>(0, _name), func(_func) {}
-00042 
-00043         virtual void operator()(EOT& _eo)
-00044         {
-00045             if (_eo.invalid())
-00046             {
-00047                 value()++;
-00048                 func(_eo);
-00049             }
-00050         }
-00051 
-00052     private :
-00053         eoEvalFunc<EOT>& func;
-00054 };
-00055 
-00056 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_eval_func_ptr_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_eval_func_ptr_8h-source.html deleted file mode 100644 index 4fe1aab70..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_eval_func_ptr_8h-source.html +++ /dev/null @@ -1,45 +0,0 @@ - - -EO: eoEvalFuncPtr.h Source File - - - - - -

eoEvalFuncPtr.h

00001 
-00026 //-----------------------------------------------------------------------------
-00027 
-00028 #ifndef EOEVALFUNCPTR_H
-00029 #define EOEVALFUNCPTR_H
-00030 
-00031 #include <eoEvalFunc.h>
-00032 
-00038 #ifdef _MSC_VER
-00039 template< class EOT, class FitT = EOT::Fitness, class FunctionArg = const EOT& >
-00040 #else
-00041 template< class EOT, class FitT = typename EOT::Fitness, class FunctionArg = const EOT& >
-00042 #endif
-00043 struct eoEvalFuncPtr: public eoEvalFunc<EOT> {
-00044 
-00051   eoEvalFuncPtr( FitT (* _eval)( FunctionArg ) )
-00052     : eoEvalFunc<EOT>(), evalFunc( _eval ) {};
-00053   
-00055   virtual void operator() ( EOT & _eo ) 
-00056   {
-00057     if (_eo.invalid())
-00058         _eo.fitness((*evalFunc)( _eo ));
-00059   };
-00060     
-00061   private:
-00062     FitT (* evalFunc )( FunctionArg );
-00063 };
-00064 
-00065 #endif
-00066 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_external_e_o_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_external_e_o_8h-source.html deleted file mode 100644 index 456210ec2..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_external_e_o_8h-source.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: eoExternalEO.h Source File - - - - - -

eoExternalEO.h

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003   -----------------------------------------------------------------------------
-00004   eoExternalEO.h
-00005         Definition of an object that allows an external struct to be inserted in EO
-00006 
-00007  (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000
-00008 
-00009     This library is free software; you can redistribute it and/or
-00010     modify it under the terms of the GNU Lesser General Public
-00011     License as published by the Free Software Foundation; either
-00012     version 2 of the License, or (at your option) any later version.
-00013 
-00014     This library is distributed in the hope that it will be useful,
-00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00017     Lesser General Public License for more details.
-00018 
-00019     You should have received a copy of the GNU Lesser General Public
-00020     License along with this library; if not, write to the Free Software
-00021     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00022 
-00023     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00024  */
-00025 
-00026 #ifndef eoExternalEO_h
-00027 #define eoExternalEO_h
-00028 
-00029 #include <EO.h> // EO
-00030 
-00038 template <class Fit, class External>
-00039 class eoExternalEO : public EO<Fit>, virtual public External
-00040 {
-00041 public :
-00042 
-00043     eoExternalEO(void)
-00044         : EO<Fit>(), External()
-00045         {}
-00046 
-00048     eoExternalEO(const External& ext)
-00049         : EO<Fit>(), External(ext)
-00050         {}
-00051 
-00052     eoExternalEO(std::istream& is, const External& ext)
-00053         : EO<Fit>(), External(ext)
-00054         { readFrom(is); }
-00055 
-00059   virtual void readFrom(std::istream& _is)
-00060   {
-00061       EO<Fit>::readFrom(_is);
-00062     _is >> static_cast<External&>(*this);
-00063   }
-00064 
-00069   virtual void printOn(std::ostream& _os) const
-00070   {
-00071       EO<Fit>::printOn(_os);
-00072       _os << static_cast<const External&>(*this);
-00073   }
-00074 
-00075 };
-00076 
-00078 template <class F, class External>
-00079 std::ostream& operator<<(std::ostream& os, const eoExternalEO<F, External>& eo)
-00080 {
-00081     eo.printOn(os);
-00082     return os;
-00083 }
-00084 
-00086 template <class F, class External>
-00087 std::istream& operator>>(std::istream& is, eoExternalEO<F, External>& eo)
-00088 {
-00089     eo.readFrom(is);
-00090     return is;
-00091 }
-00092 
-00093 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_external_op_functions_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_external_op_functions_8h-source.html deleted file mode 100644 index b64dd6d3b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_external_op_functions_8h-source.html +++ /dev/null @@ -1,140 +0,0 @@ - - -EO: eoExternalOpFunctions.h Source File - - - - - -

eoExternalOpFunctions.h

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003   -----------------------------------------------------------------------------
-00004   eoExternalOpFunc.h
-00005         Defines eoExternalInitOpFunc, eoExternalMonOpFunc, eoExternalBinOpFunc, eoExternalQuadOpFunc
-00006         that are used to wrap a function pointer to externally defined initialization
-00007         and 'genetic' operators
-00008 
-00009  (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000
-00010 
-00011     This library is free software; you can redistribute it and/or
-00012     modify it under the terms of the GNU Lesser General Public
-00013     License as published by the Free Software Foundation; either
-00014     version 2 of the License, or (at your option) any later version.
-00015 
-00016     This library is distributed in the hope that it will be useful,
-00017     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00019     Lesser General Public License for more details.
-00020 
-00021     You should have received a copy of the GNU Lesser General Public
-00022     License along with this library; if not, write to the Free Software
-00023     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00024 
-00025     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00026  */
-00027 
-00028 #ifndef eoExternalOpFunc_h
-00029 #define eoExternalOpFunc_h
-00030 
-00031 #include <other/eoExternalEO.h>
-00032 #include <eoOp.h>
-00033 #include <eoInit.h>
-00034 #include <eoEvalFunc.h>
-00035 
-00044 template <class F, class External, class ExternalEO = eoExternalEO<F, External> >
-00045 class eoExternalInit : public eoInit<ExternalEO>
-00046 {
-00047 
-00048 public :
-00049 
-00050     eoExternalInit(External (*_init)(void)) : init(_init) {}
-00051 
-00052 
-00053     void operator()(ExternalEO& _eo)
-00054     {
-00055         _eo.External::operator=( (*init)() );
-00056         _eo.invalidate();
-00057     }
-00058 
-00059 private :
-00060 
-00061     External (*init)(void);
-00062 };
-00063 
-00072 template <class F, class External, class ExternalEO = eoExternalEO<F, External> >
-00073 class eoExternalEvalFunc : public eoEvalFunc<ExternalEO>
-00074 {
-00075     public :
-00076 
-00077     eoExternalEvalFunc(F (*_eval)(const External&)) : eval(_eval) {}
-00078 
-00079     void operator()(ExternalEO& eo)
-00080     {
-00081         if (eo.invalid())
-00082             eo.fitness( (*eval)(eo) );
-00083     }
-00084 
-00085     private :
-00086 
-00087     F (*eval)(const External&);
-00088 };
-00089 
-00101 template <class F, class External, class ExternalEO = eoExternalEO<F, External> >
-00102 class eoExternalMonOp : public eoMonOp<ExternalEO>
-00103 {
-00104     public :
-00105 
-00106     eoExternalMonOp(bool (*_mutate)(External&)) : mutate(_mutate) {}
-00107 
-00108     bool operator()(ExternalEO& eo)
-00109     {
-00110         return (*mutate)(eo);
-00111     }
-00112 
-00113     private :
-00114 
-00115     bool (*mutate)(External&);
-00116 };
-00117 
-00127 template <class F, class External, class ExternalEO = eoExternalEO<F, External> >
-00128 class eoExternalBinOp : public eoBinOp<ExternalEO>
-00129 {
-00130     public :
-00131 
-00132     eoExternalBinOp(bool (*_binop)(External&, const External&)) : binop(_binop) {}
-00133 
-00134     bool operator()(ExternalEO& eo1, const ExternalEO& eo2)
-00135     {
-00136         return (*binop)(eo1, eo2);
-00137     }
-00138 
-00139     private :
-00140 
-00141     bool (*binop)(External&, const External&);
-00142 };
-00143 
-00153 template <class F, class External, class ExternalEO = eoExternalEO<F, External> >
-00154 class eoExternalQuadOp : public eoQuadOp<ExternalEO>
-00155 {
-00156     public :
-00157 
-00158     eoExternalQuadOp(bool (*_quadop)(External&, External&)) : quadop(_quadop) {}
-00159 
-00160     bool operator()(ExternalEO& eo1, ExternalEO& eo2)
-00161     {
-00162         return (*quadop)(eo1, eo2);
-00163     }
-00164 
-00165     private :
-00166 
-00167     bool (*quadop)(External&, External&);
-00168 };
-00169 
-00170 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_f_d_c_stat_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_f_d_c_stat_8h-source.html deleted file mode 100644 index 56a1a7a17..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_f_d_c_stat_8h-source.html +++ /dev/null @@ -1,130 +0,0 @@ - - -EO: eoFDCStat.h Source File - - - - - -

eoFDCStat.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFDCStat.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoFDCStat_h
-00028 #define _eoFDCStat_h
-00029 
-00030 #include <utils/eoStat.h>
-00031 #include <utils/eoDistance.h>
-00032 #include <utils/eoFileSnapshot.h>
-00033 
-00038 template <class EOT>
-00039 class eoFDCStat : public eoStat<EOT, double>
-00040 {
-00041 public:
-00042 
-00043     using eoStat<EOT, double>::value;
-00044 
-00046   eoFDCStat(eoDistance<EOT> & _dist, std::string _description = "FDC") :
-00047       eoStat<EOT,double>(0, _description), dist(_dist), boolOpt(false) {}
-00048 
-00051   eoFDCStat(eoDistance<EOT> & _dist, EOT & _theBest,
-00052             std::string _description = "FDC") :
-00053     eoStat<EOT,double>(0, _description), dist(_dist),
-00054     theBest(_theBest), boolOpt(true) {}
-00055 
-00059     virtual void operator()(const eoPop<EOT>& _pop)
-00060     {
-00061       unsigned i;
-00062       if (!boolOpt)                // take the local best
-00063         theBest = _pop.best_element();
-00064       unsigned int pSize = _pop.size();
-00065       distToBest.value().resize(pSize);
-00066       fitnesses.value().resize(pSize);
-00067       double sumFit = 0.0, sumDist = 0.0;
-00068       for (i=0; i<pSize; i++)
-00069         {
-00070           sumDist += (distToBest.value()[i] = dist(_pop[i], theBest));
-00071           sumFit += (fitnesses.value()[i] = _pop[i].fitness());
-00072         }
-00073       // now the FDC coefficient
-00074       double avgDist = sumDist/pSize;
-00075       double avgFit = sumFit/pSize;
-00076       sumDist = sumFit = 0.0;
-00077       double num = 0.0;
-00078       for (i=0; i<pSize; i++)
-00079         {
-00080           double devDist = distToBest.value()[i] - avgDist ;
-00081           double devFit = fitnesses.value()[i] - avgFit ;
-00082           sumDist += devDist*devDist;
-00083           sumFit += devFit * devFit;
-00084           num += devDist * devFit ;
-00085         }
-00086       value() = num/(sqrt(sumDist)*sqrt(sumFit));
-00087     }
-00088 
-00091   const eoValueParam<std::vector<double> > & theDist()
-00092   { return distToBest; }
-00093   const eoValueParam<std::vector<double> > & theFit()
-00094   { return fitnesses; }
-00095 
-00096 
-00097 private:
-00098   eoDistance<EOT> & dist;
-00099   EOT theBest;
-00100   bool boolOpt;                    // whether the best is known or not
-00101   eoValueParam<std::vector<double> > distToBest;
-00102   eoValueParam<std::vector<double> > fitnesses;
-00103 };
-00104 
-00110 template <class EOT>
-00111 class eoFDCFileSnapshot : public eoFileSnapshot // is an eoMonitor
-00112 {
-00113 public:
-00119   eoFDCFileSnapshot(eoFDCStat<EOT> & _FDCstat,
-00120                     std::string _dirname = "tmpFDC", unsigned _frequency = 1,
-00121                     std::string _filename = "FDC", std::string _delim = " "):
-00122     eoFileSnapshot(_dirname, _frequency, _filename, _delim),
-00123     FDCstat(_FDCstat)
-00124   {
-00125     eoFileSnapshot::add(FDCstat.theDist());
-00126     eoFileSnapshot::add(FDCstat.theFit());
-00127   }
-00128 
-00131   virtual void add(const eoParam& _param)
-00132     { throw std::runtime_error("eoFDCFileSnapshot::add(). Trying to add stats to an eoFDCFileSnapshot"); }
-00133 
-00134 private:
-00135   eoFDCStat<EOT> & FDCstat;
-00136 };
-00137 
-00138 #endif
-00139 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_factory_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_factory_8h-source.html deleted file mode 100644 index 7ae6c5410..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_factory_8h-source.html +++ /dev/null @@ -1,68 +0,0 @@ - - -EO: eoFactory.h Source File - - - - - -

eoFactory.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFactory.h
-00005 // (c) GeNeura Team, 1998
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _EOFACTORY_H
-00026 #define _EOFACTORY_H
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 #include <eoObject.h>
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 
-00041 template<class EOClass>
-00042 class eoFactory: public eoObject {
-00043         
-00044 public:
-00045         
-00047         //{@
-00049         eoFactory( ) {}
-00050         
-00052         virtual ~eoFactory() {}
-00054 
-00059         virtual EOClass* make(std::istream& _is) = 0;
-00060 
-00062 
-00063 
-00064         virtual std::string className() const { return "eoFactory"; }
-00065 
-00068         
-00069 };
-00070 
-00071 
-00072 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_file_monitor_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_file_monitor_8cpp-source.html deleted file mode 100644 index 3ac314ddc..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_file_monitor_8cpp-source.html +++ /dev/null @@ -1,92 +0,0 @@ - - -EO: eoFileMonitor.cpp Source File - - - - - -

eoFileMonitor.cpp

00001 #ifdef _MSC_VER
-00002 // to avoid long name warnings
-00003 #pragma warning(disable:4786)
-00004 #endif 
-00005 
-00006 #include <iostream>
-00007 #include <fstream>
-00008 #include <stdexcept>
-00009 
-00010 #include <utils/eoFileMonitor.h>
-00011 #include <utils/compatibility.h>
-00012 #include <utils/eoParam.h>
-00013 
-00014 using namespace std;
-00015 
-00016 void eoFileMonitor::printHeader(std::ostream& os)
-00017 {
-00018     iterator it = vec.begin();
-00019 
-00020     os << (*it)->longName();
-00021 
-00022     ++it;
-00023 
-00024     for (; it != vec.end(); ++it)
-00025     {
-00026         os << delim.c_str() << (*it)->longName();
-00027     }
-00028     os << '\n';
-00029 }
-00030 
-00031 void eoFileMonitor::printHeader()
-00032 {
-00033     // create file
-00034     ofstream os(filename.c_str()); 
-00035 
-00036     if (!os)
-00037     {
-00038         string str = "eoFileMonitor: Could not open " + filename;
-00039         throw runtime_error(str);
-00040     }
-00041     
-00042     printHeader(os);
-00043 }
-00044 
-00045 eoMonitor& eoFileMonitor::operator()(void)
-00046 {
-00047     ofstream os(filename.c_str(), ios_base::app);
-00048 
-00049     if (!os)
-00050     {
-00051         string str = "eoFileMonitor: Could not append to " + filename;
-00052         throw runtime_error(str);
-00053     }
-00054 
-00055     if (firstcall && !keep && header ){
-00056       printHeader();
-00057       firstcall = false;
-00058     }
-00059     
-00060     return operator()(os);
-00061 }
-00062 
-00063 eoMonitor& eoFileMonitor::operator()(std::ostream& os)
-00064 {
-00065     iterator it = vec.begin();
-00066 
-00067     os << (*it)->getValue();
-00068     
-00069     for(++it; it != vec.end(); ++it)
-00070     {
-00071         os << delim.c_str() << (*it)->getValue();
-00072     }
-00073 
-00074     os << '\n';
-00075     return *this;
-00076 }
-00077 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_file_monitor_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_file_monitor_8h-source.html deleted file mode 100644 index 064e8d88e..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_file_monitor_8h-source.html +++ /dev/null @@ -1,86 +0,0 @@ - - -EO: eoFileMonitor.h Source File - - - - - -

eoFileMonitor.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFileMonitor.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef EO_eoFileMonitor_h
-00028 #define EO_eoFileMonitor_h
-00029 
-00030 #include <string>
-00031 #include <fstream>
-00032 #include <stdexcept>
-00033 
-00034 #include "utils/eoMonitor.h"
-00035 #include "eoObject.h"
-00036 
-00044 class eoFileMonitor : public eoMonitor
-00045 {
-00046 public :
-00047 
-00048   eoFileMonitor(std::string _filename, std::string _delim = " ", bool _keep = false, bool _header=false)
-00049     : filename(_filename), delim(_delim), keep(_keep), header(_header), firstcall(true)
-00050   {
-00051     if (! _keep) {
-00052       std::ofstream os(filename.c_str());
-00053       if (!os){
-00054         std::string str = "eoFileMonitor: Could not open " + filename;
-00055         throw std::runtime_error(str);
-00056       }
-00057     }
-00058   }
-00059 
-00060   virtual eoMonitor& operator()(void);
-00061 
-00062   virtual eoMonitor& operator()(std::ostream& os);
-00063 
-00064   void printHeader(void);
-00065   virtual void printHeader(std::ostream& os);
-00066 
-00067   virtual std::string getFileName() { return filename;}
-00068 
-00069 private :
-00070   std::string filename;
-00071   std::string delim;
-00072   bool keep;                       // should we append or create a new file
-00073   bool header;                     // printing header at begin of file?
-00074   bool firstcall;
-00075 
-00076 };
-00077 
-00078 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_file_snapshot_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_file_snapshot_8h-source.html deleted file mode 100644 index c50737910..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_file_snapshot_8h-source.html +++ /dev/null @@ -1,176 +0,0 @@ - - -EO: eoFileSnapshot.h Source File - - - - - -

eoFileSnapshot.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFileSnapshot.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoFileSnapshot_h
-00028 #define _eoFileSnapshot_h
-00029 
-00030 #include <string>
-00031 #include <fstream>
-00032 #include <utils/eoParam.h>
-00033 #include <utils/eoMonitor.h>
-00034 #include <eoObject.h>
-00035 
-00036 
-00053 class eoFileSnapshot : public eoMonitor
-00054 {
-00055 public :
-00056   typedef std::vector<double> vDouble;
-00057   typedef eoValueParam<std::vector<double> > vDoubleParam;
-00058 
-00059   eoFileSnapshot(std::string _dirname, unsigned _frequency = 1, std::string _filename = "gen",
-00060               std::string _delim = " ", unsigned _counter = 0, bool _rmFiles = true):
-00061     dirname(_dirname), frequency(_frequency),
-00062     filename(_filename), delim(_delim), counter(_counter), boolChanged(true)
-00063   {
-00064     std::string s = "test -d " + dirname;
-00065 
-00066     int res = system(s.c_str());
-00067     // test for (unlikely) errors
-00068     if ( (res==-1) || (res==127) )
-00069       throw std::runtime_error("Problem executing test of dir in eoFileSnapshot");
-00070     // now make sure there is a dir without any genXXX file in it
-00071     if (res)                    // no dir present
-00072       {
-00073         s = std::string("mkdir ")+dirname;
-00074       }
-00075     else if (!res && _rmFiles)
-00076       {
-00077         s = std::string("/bin/rm ")+dirname+ "/" + filename + "*";
-00078       }
-00079     else
-00080       s = " ";
-00081 
-00082     system(s.c_str());
-00083     // all done
-00084   }
-00085 
-00088   virtual bool hasChanged() {return boolChanged;}
-00089 
-00092   unsigned getCounter() {return counter;}
-00093 
-00096   std::string getFileName() {return currentFileName;}
-00097 
-00100   void setCurrentFileName()
-00101   {
-00102       std::ostringstream oscount;
-00103       oscount << counter;
-00104       currentFileName = dirname + "/" + filename + oscount.str();
-00105   }
-00106 
-00109   eoMonitor& operator()(void)
-00110   {
-00111     if (counter % frequency)
-00112       {
-00113         boolChanged = false;  // subclass with gnuplot will do nothing
-00114         counter++;
-00115         return (*this);
-00116       }
-00117     counter++;
-00118     boolChanged = true;
-00119     setCurrentFileName();
-00120     std::ofstream os(currentFileName.c_str());
-00121 
-00122     if (!os)
-00123       {
-00124         std::string str = "eoFileSnapshot: Could not open " + currentFileName;
-00125         throw std::runtime_error(str);
-00126       }
-00127 
-00128     return operator()(os);
-00129   }
-00130 
-00133   eoMonitor& operator()(std::ostream& _os)
-00134   {
-00135     const eoValueParam<std::vector<double> >  * ptParam =
-00136       static_cast<const eoValueParam<std::vector<double> >* >(vec[0]);
-00137 
-00138     const std::vector<double>  v = ptParam->value();
-00139     if (vec.size() == 1)           // only one std::vector: -> add number in front
-00140       {
-00141         for (unsigned k=0; k<v.size(); k++)
-00142           _os << k << " " << v[k] << "\n" ;
-00143       }
-00144     else                           // need to get all other std::vectors
-00145       {
-00146         std::vector<std::vector<double> > vv(vec.size());
-00147         vv[0]=v;
-00148         for (unsigned i=1; i<vec.size(); i++)
-00149           {
-00150             ptParam = static_cast<const eoValueParam<std::vector<double> >* >(vec[1]);
-00151             vv[i] = ptParam->value();
-00152             if (vv[i].size() != v.size())
-00153               throw std::runtime_error("Dimension error in eoSnapshotMonitor");
-00154           }
-00155         for (unsigned k=0; k<v.size(); k++)
-00156           {
-00157           for (unsigned i=0; i<vec.size(); i++)
-00158             _os << vv[i][k] << " " ;
-00159           _os << "\n";
-00160           }
-00161       }
-00162     return *this;
-00163    }
-00164 
-00165   virtual const std::string getDirName()           // for eoGnuPlot
-00166   { return dirname;}
-00167   virtual const std::string baseFileName()         // the title for eoGnuPlot
-00168   { return filename;}
-00169 
-00171   void add(const eoParam& _param)
-00172   {
-00173     if (!dynamic_cast<const eoValueParam<std::vector<double> >*>(&_param))
-00174     {
-00175       throw std::logic_error(std::string("eoFileSnapshot: I can only monitor std::vectors of doubles, sorry. The offending parameter name = ") + _param.longName());
-00176     }
-00177     eoMonitor::add(_param);
-00178   }
-00179 
-00180 private :
-00181   std::string dirname;
-00182   unsigned frequency;
-00183   std::string filename;
-00184   std::string delim;
-00185   unsigned int counter;
-00186   std::string currentFileName;
-00187   bool boolChanged;
-00188 };
-00189 
-00190 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_fit_continue_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_fit_continue_8h-source.html deleted file mode 100644 index e6042bb5a..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_fit_continue_8h-source.html +++ /dev/null @@ -1,72 +0,0 @@ - - -EO: eoFitContinue.h Source File - - - - - -

eoFitContinue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFitContinue.h
-00005 // (c) Maarten Keijzer, GeNeura Team, 1999, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoFitContinue_h
-00026 #define _eoFitContinue_h
-00027 
-00028 #include <eoContinue.h>
-00029 
-00035 template< class EOT>
-00036 class eoFitContinue: public eoContinue<EOT> {
-00037 public:
-00038 
-00040     typedef typename EOT::Fitness FitnessType;
-00041 
-00043     eoFitContinue( const FitnessType _maximum)
-00044                 : eoContinue<EOT> (), maximum( _maximum ) {};
-00045 
-00048         virtual bool operator() ( const eoPop<EOT>& _pop ) 
-00049     {
-00050     FitnessType bestCurrentFitness = _pop.nth_element_fitness(0);
-00051     if (bestCurrentFitness >= maximum) 
-00052       {
-00053         std::cout << "STOP in eoFitContinue: Best fitness has reached " << 
-00054           bestCurrentFitness << "\n";
-00055         return false;
-00056       }
-00057     return true;
-00058     }
-00059 
-00060   virtual std::string className(void) const { return "eoFitContinue"; }
-00061 private:
-00062         FitnessType maximum;
-00063 };
-00064 
-00065 #endif
-00066 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_fitness_scaling_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_fitness_scaling_select_8h-source.html deleted file mode 100644 index 9baaa3cd1..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_fitness_scaling_select_8h-source.html +++ /dev/null @@ -1,62 +0,0 @@ - - -EO: eoFitnessScalingSelect.h Source File - - - - - -

eoFitnessScalingSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFitnessScalingSelect.h
-00005 // (c) GeNeura Team, 1998, Maarten Keijzer 2000, Marc Schoenauer 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoFitnessScalingSelect_h
-00028 #define eoFitnessScalingSelect_h
-00029 
-00030 //-----------------------------------------------------------------------------
-00031 
-00032 #include <eoSelectFromWorth.h>
-00033 #include <eoLinearFitScaling.h>
-00034 
-00039 template <class EOT> 
-00040 class eoFitnessScalingSelect:  public eoRouletteWorthSelect<EOT, double> 
-00041 {
-00042 public:
-00046   eoFitnessScalingSelect(double _p = 2.0): 
-00047     eoRouletteWorthSelect<EOT, double>(scaling), scaling(_p) {}
-00048 
-00049 private :
-00050   eoLinearFitScaling<EOT> scaling;         // derived from eoPerf2Worth
-00051 };
-00052 
-00053 #endif 
-00054 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_fl_or_bin_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_fl_or_bin_op_8h-source.html deleted file mode 100644 index 843179415..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_fl_or_bin_op_8h-source.html +++ /dev/null @@ -1,199 +0,0 @@ - - -EO: eoFlOrBinOp.h Source File - - - - - -

eoFlOrBinOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFlOrBinOp.h
-00005 // (c) Marc Schoenauer - Maarten Keijzer 2000-2003
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@inria.fr
-00022              mkeijzer@cs.vu.nl
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoFlOrBinOp_h
-00027 #define _eoFlOrBinOp_h
-00028 
-00029 #include <eoFunctor.h>
-00030 #include <eoOp.h>
-00031 
-00042 
-00043 //                eoFlOrAllAtomBinOp
-00045 
-00048 template <class EOT>
-00049 class eoFlOrAllAtomBinOp : public eoBinOp<EOT>
-00050 {
-00051 public :
-00052 
-00053   typedef typename EOT::AtomType AtomType;
-00054 
-00056   eoFlOrAllAtomBinOp( eoBinOp<AtomType>& _op, float _rate = 1.0):
-00057     op(_op), rate( _rate ) {}
-00058 
-00060   bool operator()(EOT & _eo1, const EOT & _eo2)
-00061   {
-00062     if (_eo1.size() != _eo2.size())
-00063       {
-00064         string s = "Operand size don't match in " + className();
-00065         throw runtime_error(s);
-00066       }
-00067     bool changed = false;
-00068     for ( unsigned i = 0; i < _eo1.size(); i++ ) {
-00069       if ( rng.flip( rate ) ) {
-00070         bool changedHere = op( _eo1[i], _eo2[i] );
-00071         changed |= changedHere;
-00072       }
-00073     }
-00074     return changed;
-00075   }
-00076 
-00078   virtual string className() const { return "eoFlOrAllAtomBinOp"; }
-00079 
-00080 private:
-00081   double rate;
-00082   eoBinOp<AtomType> & op;
-00083 };
-00084 
-00086 //                 eoFlOrKAtomBinOp
-00088 
-00091 template <class EOT>
-00092 class eoFlOrKAtomBinOp : public eoBinOp<EOT>
-00093 {
-00094 public :
-00095 
-00096   typedef typename EOT::AtomType AtomType;
-00097 
-00099   eoFlOrAtomBinOp( eoBinOp<AtomType>& _op, unsigned _k = 1):
-00100     op(_op), k( _k ) {}
-00101 
-00103   bool operator()(EOT & _eo1, const EOT & _eo2)
-00104   {
-00105     if (_eo1.size() != _eo2.size())
-00106       {
-00107         string s = "Operand size don't match in " + className();
-00108         throw runtime_error(s);
-00109       }
-00110 
-00111     bool changed = false;
-00112     for ( unsigned i = 0; i < k; i++ ) // TODO: check that we don't do twice the same
-00113       {
-00114         unsigned where = eo::rng.random(_eo1.size());
-00115         bool changedHere = op( _eo1[where], _eo2[where] );
-00116         changed |= changedHere;
-00117       }
-00118     return changed;
-00119   }
-00120 
-00122   virtual string className() const { return "eoFlOrKAtomBinOp"; }
-00123 
-00124 private:
-00125   unsigned k;
-00126   eoBinOp<AtomType> & op;
-00127 };
-00128 
-00129 
-00131 //                        eoFlOrUniformBinOp
-00133 
-00135 template <class EOT>
-00136 class eoFlOrUniformBinOp : public eoBinOp<EOT>
-00137 {
-00138 public :
-00139 
-00140   typedef typename EOT::AtomType AtomType;
-00141 
-00143   eoFlOrUniformBinOp(double _rate=0.5) : eoBinOp<EOT>(_size),
-00144     rate(_rate) {}
-00145 
-00147   bool operator()(EOT & _eo1, const EOT & _eo2)
-00148   {
-00149     unsigned i;
-00150     Atom tmp;
-00151     if (_eo1.size() != _eo2.size())
-00152       {
-00153         string s = "Operand size don't match in " + className();
-00154         throw runtime_error(s);
-00155   }
-00156     bool hasChanged = false;
-00157     for (unsigned i=0; i<_eo1.size(); i++)
-00158       {
-00159         if ( (_eo1[i]!=_eo2[i]) && (eo::rng.filp(rate)) )
-00160         {
-00161           _eo1[i] = _eo2[i];
-00162           hasChanged = true;
-00163         }
-00164       }
-00165     return hasChanged;
-00166   }
-00167 
-00169   virtual string className() const { return "eoFlOrUniformBinOp"; }
-00170 
-00171 private:
-00172   double rate;
-00173 };
-00174 
-00176 //                        eoFlOr1ptBinOp
-00178 
-00180 template <class EOT>
-00181 class eoFlOr1ptBinOp : public eoBinOp<EOT>
-00182 {
-00183 public :
-00184 
-00185   typedef typename EOT::AtomType AtomType;
-00186 
-00188   eoVlUniformBinOp() {}
-00189 
-00191   bool operator()(EOT & _eo1, EOT & _eo2)
-00192   {
-00193     unsigned i;
-00194     Atom tmp;
-00195     if (_eo1.size() != _eo2.size())
-00196       {
-00197         string s = "Operand size don't match in " + className();
-00198         throw runtime_error(s);
-00199   }
-00200     bool hasChanged = false;
-00201     unsigned where = eo::rng.random(_eo1.size()-1);
-00202     for (unsigned i=where+1; i<_eo1.size(); i++)
-00203       {
-00204         if ( (_eo1[i]!=_eo2[i]) )
-00205         {
-00206           _eo1[i] = _eo2[i];
-00207           hasChanged = true;
-00208         }
-00209       }
-00210     return hasChanged;
-00211   }
-00212 
-00214   virtual string className() const { return "eoFlOr1ptBinOp"; }
-00215 
-00216 };
-00217 
-00218 
-00219 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_fl_or_mon_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_fl_or_mon_op_8h-source.html deleted file mode 100644 index c639709ca..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_fl_or_mon_op_8h-source.html +++ /dev/null @@ -1,113 +0,0 @@ - - -EO: eoFlOrMonOp.h Source File - - - - - -

eoFlOrMonOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFlOrMonOp.h
-00005 // (c) Marc Schoenauer - Maarten Keijzer 2000-2003
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@cs.vu.nl
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoFlOrMonOp_h
-00027 #define _eoFlOrMonOp_h
-00028 
-00029 #include <eoFunctor.h>
-00030 #include <eoOp.h>
-00031 #include <eoInit.h>
-00032 
-00044 template <class EOT>
-00045 class eoFlOrAllMutation : public eoMonOp<EOT>
-00046 {
-00047 public :
-00048 
-00049   typedef typename EOT::AtomType AtomType;
-00050 
-00052   eoFlOrAllMutation(eoMonOp<AtomType> & _atomMutation, double _rate=1.0) :
-00053     atomMutation(_atomMutation), rate(_rate) {}
-00054 
-00056   bool operator()(EOT & _eo)
-00057   {
-00058     bool modified=false;
-00059     for (unsigned i=0; i<_eo.size(); i++)
-00060       if (eo::rng.flip(rate))
-00061         if (atomMutation(_eo[i]))
-00062           modified = true;
-00063 
-00064     return modified;
-00065   }
-00066 
-00068   virtual std::string className() const 
-00069   { 
-00070     return "eoFlOrAllMutation(" + atomMutation.className() + ")";
-00071   }
-00072 
-00073 private:
-00074   eoMonOp<AtomType> & atomMutation; // the atom mutation
-00075   double rate;                     // the mutation rate PER ATOM
-00076 };
-00077 
-00081 template <class EOT>
-00082 class eoFlOrKMutation : public eoMonOp<EOT>
-00083 {
-00084 public :
-00085 
-00086   typedef typename EOT::AtomType AtomType;
-00087 
-00089   eoFlOrKMutation(eoMonOp<AtomType> & _atomMutation, unsigned _nb=1) :
-00090     nb(_nb), atomMutation(_atomMutation) {}
-00091 
-00092 
-00094   bool operator()(EOT & _eo)
-00095   {
-00096     bool modified=false;
-00097     for (unsigned k=0; k<nb; k++)
-00098       {
-00099         unsigned i = rng.random(_eo.size()); // we don't test for duplicates...
-00100         if (atomMutation(_eo[i]))
-00101           modified = true;
-00102       }
-00103     return modified;
-00104   }
-00105 
-00107   virtual std::string className() const
-00108   { 
-00109     return "eoFlOrKMutation(" + atomMutation.className() + ")";
-00110   }
-00111 
-00112 private:
-00113   unsigned nb;                     // the number of atoms to mutate
-00114   eoMonOp<AtomType> & atomMutation; // the atom mutation
-00115 };
-00116 
-00117 
-00118 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_fl_or_quad_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_fl_or_quad_op_8h-source.html deleted file mode 100644 index 646eaf547..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_fl_or_quad_op_8h-source.html +++ /dev/null @@ -1,198 +0,0 @@ - - -EO: eoFlOrQuadOp.h Source File - - - - - -

eoFlOrQuadOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFlOrQuadOp.h
-00005 // (c) Marc Schoenauer - Maarten Keijzer 2000-2003
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@cs.vu.nl
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoFlOrQuadOp_h
-00027 #define _eoFlOrQuadOp_h
-00028 
-00029 #include <eoFunctor.h>
-00030 #include <eoOp.h>
-00031 
-00039 
-00040 //                        eoFlOrAllAtomQuadOp
-00042 
-00045 template <class EOT>
-00046 class eoFlOrAllAtomQuadOp : public eoQuadOp<EOT>
-00047 {
-00048 public :
-00049 
-00050   typedef typename EOT::AtomType AtomType;
-00051 
-00053   eoFlOrAllAtomQuadOp( eoQuadOp<AtomType>& _op, double _rate = 1):
-00054     op(_op), rate( _rate ) {}
-00055 
-00057   bool operator()(EOT & _eo1, EOT & _eo2)
-00058   {
-00059     bool changed = false;
-00060     for ( unsigned i = 0; i < _eo1.size(); i++ ) {
-00061       if ( rng.flip( rate ) ) {
-00062         bool changedHere = op( _eo1[i], _eo2[i] );
-00063         changed |= changedHere;
-00064       }
-00065     }
-00066     return changed;
-00067   }
-00068 
-00070   virtual string className() const { return "eoFlOrAllAtomQuadOp"; }
-00071 
-00072 private:
-00073   double rate;
-00074   eoQuadOp<AtomType> & op;
-00075 };
-00076 
-00078 //                        eoFlOrKAtomQuadOp
-00080 
-00083 template <class EOT>
-00084 class eoFlOrKAtomQuadOp : public eoQuadOp<EOT>
-00085 {
-00086 public :
-00087 
-00088   typedef typename EOT::AtomType AtomType;
-00089 
-00091   eoFlOrAtomQuadOp( eoQuadOp<AtomType>& _op, unsigned _k = 1):
-00092     op(_op), k( _k ) {}
-00093 
-00095   bool operator()(EOT & _eo1, const EOT & _eo2)
-00096   {
-00097     if (_eo1.size() != _eo2.size())
-00098       {
-00099         string s = "Operand size don't match in " + className();
-00100         throw runtime_error(s);
-00101       }
-00102 
-00103     bool changed = false;
-00104     for ( unsigned i = 0; i < k; i++ ) // TODO: check that we don't do twice the same
-00105       {
-00106         unsigned where = eo::rng.random(_eo1.size());
-00107         bool changedHere = op( _eo1[where], _eo2[where] );
-00108         changed |= changedHere;
-00109       }
-00110     return changed;
-00111   }
-00112 
-00114   virtual string className() const { return "eoFlOrKAtomQuadOp"; }
-00115 
-00116 private:
-00117   unsigned k;
-00118   eoQuadOp<AtomType> & op;
-00119 };
-00120 
-00121 
-00123 //                        eoFlOrUniformQuadOp
-00125 
-00126 template <class EOT>
-00127 class eoFlOrUniformQuadOp : public eoQuadOp<EOT>
-00128 {
-00129 public :
-00130 
-00131   typedef typename EOT::AtomType AtomType;
-00132 
-00134   eoVlUniformQuadOp(double _rate=0.5) : eoQuadOp<EOT>(_size),
-00135     rate(_rate) {}
-00136 
-00138   bool operator()(EOT & _eo1, EOT & _eo2)
-00139   {
-00140     unsigned i;
-00141     Atom tmp;
-00142     if (_eo1.size() != _eo2.size())
-00143       {
-00144         string s = "Operand size don't match in " + className();
-00145         throw runtime_error(s);
-00146   }
-00147     bool hasChanged = false;
-00148     for (unsigned i=0; i<_eo1.size(); i++)
-00149       {
-00150         if ( (_eo1[i]!=_eo2[i]) && (eo::rng.filp(rate)) )
-00151         {
-00152           tmp = _eo1[i];
-00153           _eo1[i] = _eo2[i];
-00154           _eo2[i] = tmp;
-00155           hasChanged = true;
-00156         }
-00157       }
-00158     return hasChanged;
-00159   }
-00160 
-00162   virtual string className() const { return "eoFlOrUniformQuadOp"; }
-00163 
-00164 private:
-00165   double rate;
-00166 };
-00167 
-00169 //                        eoFlOr1ptQuadOp
-00171 
-00172 template <class EOT>
-00173 class eoFlOr1ptQuadOp : public eoQuadOp<EOT>
-00174 {
-00175 public :
-00176 
-00177   typedef typename EOT::AtomType AtomType;
-00178 
-00180   eoVlUniformQuadOp() {}
-00181 
-00183   bool operator()(EOT & _eo1, EOT & _eo2)
-00184   {
-00185     unsigned i;
-00186     Atom tmp;
-00187     if (_eo1.size() != _eo2.size())
-00188       {
-00189         string s = "Operand size don't match in " + className();
-00190         throw runtime_error(s);
-00191   }
-00192     bool hasChanged = false;
-00193     unsigned where = eo::rng.random(_eo1.size()-1);
-00194     for (unsigned i=where+1; i<_eo1.size(); i++)
-00195       {
-00196         if ( (_eo1[i]!=_eo2[i]) )
-00197         {
-00198           tmp = _eo1[i];
-00199           _eo1[i] = _eo2[i];
-00200           _eo2[i] = tmp;
-00201           hasChanged = true;
-00202         }
-00203       }
-00204     return hasChanged;
-00205   }
-00206 
-00208   virtual string className() const { return "eoFlOr1ptQuadOp"; }
-00209 
-00210 };
-00211 
-00212 
-00213 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_functor_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_functor_8h-source.html deleted file mode 100644 index 48a37dcd7..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_functor_8h-source.html +++ /dev/null @@ -1,127 +0,0 @@ - - -EO: eoFunctor.h Source File - - - - - -

eoFunctor.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFunctor.h
-00005 // (c) Maarten Keijzer 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              mak@dhi.dk
-00023     CVS Info: $Date: 2004/12/01 09:22:48 $ $Header: /cvsroot/eodev/eo/src/eoFunctor.h,v 1.7 2004/12/01 09:22:48 evomarc Exp $ $Author: evomarc $ 
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoFunctor_h
-00028 #define _eoFunctor_h
-00029 
-00030 #include <functional>
-00031 
-00046 class eoFunctorBase
-00047 {
-00048 public :
-00050     virtual ~eoFunctorBase() {}
-00051 
-00053     struct procedure_tag {};
-00055     struct unary_function_tag {};
-00057     struct binary_function_tag {};
-00058 };
-00059 
-00067 template <class R>
-00068 class eoF : public eoFunctorBase
-00069 {
-00070 public :
-00071 
-00073     virtual ~eoF() {}
-00074 
-00076     typedef R result_type;
-00077 
-00079     virtual R operator()() = 0;
-00080 
-00082     static eoFunctorBase::procedure_tag functor_category()
-00083     {
-00084         return eoFunctorBase::procedure_tag();
-00085     }
-00086 };
-00087 
-00094 template<class R>
-00095 eoFunctorBase::procedure_tag functor_category(const eoF<R>&)
-00096 {
-00097     return eoFunctorBase::procedure_tag();
-00098 }
-00099 
-00107 template <class A1, class R>
-00108 class eoUF : public eoFunctorBase, public std::unary_function<A1, R>
-00109 {
-00110 public :
-00111 
-00113     virtual ~eoUF() {}
-00114 
-00116     virtual R operator()(A1) = 0;
-00117 
-00119     static eoFunctorBase::unary_function_tag functor_category()
-00120     {
-00121         return eoFunctorBase::unary_function_tag();
-00122     }
-00123 };
-00124 
-00130 template<class R, class A1>
-00131 eoFunctorBase::unary_function_tag functor_category(const eoUF<A1, R>&)
-00132 {
-00133     return eoFunctorBase::unary_function_tag();
-00134 }
-00135 
-00136 
-00144 template <class A1, class A2, class R>
-00145 class eoBF : public eoFunctorBase, public std::binary_function<A1, A2, R>
-00146 {
-00147 public :
-00149     virtual ~eoBF() {}
-00150     
-00151     //typedef R result_type;
-00152     //typedef A1 first_argument_type;
-00153     //typedef A2 second_argument_type;
-00154 
-00156     virtual R operator()(A1, A2) = 0;
-00157 
-00159     static eoFunctorBase::binary_function_tag functor_category()
-00160     {
-00161         return eoFunctorBase::binary_function_tag();
-00162     }
-00163 };
-00164 
-00170 template<class R, class A1, class A2>
-00171 eoFunctorBase::binary_function_tag functor_category(const eoBF<A1, A2, R>&)
-00172 {
-00173     return eoFunctorBase::binary_function_tag();
-00174 }
-00175 
-00176 
-00177 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_functor_store_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_functor_store_8cpp-source.html deleted file mode 100644 index d05ea35eb..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_functor_store_8cpp-source.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: eoFunctorStore.cpp Source File - - - - - -

eoFunctorStore.cpp

00001 #ifdef _MSC_VER
-00002 // to avoid long name warnings
-00003 #pragma warning(disable:4786)
-00004 #endif
-00005 
-00006 #include <eoFunctorStore.h>
-00007 #include <eoFunctor.h>
-00008 
-00009 
-00011 eoFunctorStore::~eoFunctorStore()
-00012 {
-00013     for(size_t i = 0; i < vec.size(); ++i) {
-00014         delete vec[i];
-00015     }
-00016 }
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_functor_store_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_functor_store_8h-source.html deleted file mode 100644 index 508aac673..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_functor_store_8h-source.html +++ /dev/null @@ -1,76 +0,0 @@ - - -EO: eoFunctorStore.h Source File - - - - - -

eoFunctorStore.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFunctorStore.h
-00005 // (c) Maarten Keijzer 2000, GeNeura Team, 2000
-00006 /*
-00007   This library is free software; you can redistribute it and/or
-00008   modify it under the terms of the GNU Lesser General Public
-00009   License as published by the Free Software Foundation; either
-00010   version 2 of the License, or (at your option) any later version.
-00011 
-00012   This library is distributed in the hope that it will be useful,
-00013   but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015   Lesser General Public License for more details.
-00016 
-00017   You should have received a copy of the GNU Lesser General Public
-00018   License along with this library; if not, write to the Free Software
-00019   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021   Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022   Marc.Schoenauer@polytechnique.fr
-00023   mak@dhi.dk
-00024 */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoFunctorStore_h
-00028 #define _eoFunctorStore_h
-00029 
-00030 #include <vector>
-00031 
-00032 class eoFunctorBase;
-00033 
-00039 class eoFunctorStore
-00040 {
-00041 public:
-00042 
-00044     eoFunctorStore() {}
-00045 
-00046     // virtual destructor so we don't need to define it in derived classes
-00047     virtual ~eoFunctorStore();
-00048 
-00050     template <class Functor>
-00051     Functor& storeFunctor(Functor* r)
-00052         {
-00053             // If the compiler complains about the following line,
-00054             // check if you really are giving it a pointer to an
-00055             // eoFunctorBase derived object
-00056             vec.push_back(r);
-00057             return *r;
-00058         }
-00059 
-00060 private :
-00061 
-00063     eoFunctorStore(const eoFunctorStore&);
-00064 
-00066     eoFunctorStore operator=(const eoFunctorStore&);
-00067     std::vector<eoFunctorBase*> vec;
-00068 };
-00069 
-00070 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_g3_replacement_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_g3_replacement_8h-source.html deleted file mode 100644 index 475826a4a..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_g3_replacement_8h-source.html +++ /dev/null @@ -1,69 +0,0 @@ - - -EO: eoG3Replacement.h Source File - - - - - -

eoG3Replacement.h

00001 
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoG3Replacement_h
-00027 #define _eoG3Replacement_h
-00028 
-00029 
-00030 //-----------------------------------------------------------------------------
-00031 #include <eoPop.h>
-00032 #include <eoFunctor.h>
-00033 #include <eoMerge.h>
-00034 #include <eoReduce.h>
-00035 #include <utils/eoHowMany.h>
-00036 #include <eoReduceSplit.h>
-00037 //-----------------------------------------------------------------------------
-00038 
-00049 template <class EOT>
-00050 class eoG3Replacement : public eoReplacement<EOT>
-00051 {
-00052 public:
-00053   eoG3Replacement(eoHowMany _howManyEliminatedParents = eoHowMany(2, false)) :
-00054     // split truncates the parents and returns eliminated parents
-00055     split(_howManyEliminatedParents, true), 
-00056     // reduce truncates the offpsring and does not return eliminated guys
-00057     reduce(-_howManyEliminatedParents, false) 
-00058   {}
-00059     
-00060     void operator()(eoPop<EOT> & _parents, eoPop<EOT> & _offspring)
-00061     {
-00062       eoPop<EOT> temp;
-00063       split(_parents, temp);
-00064       unsigned toKeep = temp.size(); // how many to keep from merged populations
-00065       // merge temp into offspring
-00066       plus(temp, _offspring);      // add temp to _offspring (a little inconsistent!)
-00067       
-00068       // reduce merged
-00069       reduce(_offspring, temp);    // temp dummy arg. will not be modified
-00070       // minimla check:
-00071       if (_offspring.size() != toKeep)
-00072         {
-00073           std::cerr << "Les tailles " << _offspring.size() << " " << toKeep << std::endl;
-00074         throw std::runtime_error("eoG3Replacement: wrong number of remaining offspring");
-00075         }
-00076       // and put back into _parents
-00077       plus(_offspring, _parents);      
-00078     }
-00079 
-00080 private:
-00081   eoLinearTruncateSplit<EOT> split; // few parents to truncate -> linear 
-00082   eoTruncateSplit<EOT> reduce;     // supposedly many offspring to truncate
-00083   eoPlus<EOT> plus;
-00084 };
-00085 
-00086 #endif
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_gen_continue_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_gen_continue_8h-source.html deleted file mode 100644 index c30bb617d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_gen_continue_8h-source.html +++ /dev/null @@ -1,108 +0,0 @@ - - -EO: eoGenContinue.h Source File - - - - - -

eoGenContinue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoGenContinue.h
-00005 // (c) GeNeura Team, 1999
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoGenContinue_h
-00026 #define _eoGenContinue_h
-00027 
-00028 #include <eoContinue.h>
-00029 #include <utils/eoParam.h>
-00033 template< class EOT>
-00034 class eoGenContinue: public eoContinue<EOT>, public eoValueParam<unsigned>
-00035 {
-00036 public:
-00037 
-00039   eoGenContinue( unsigned long _totalGens)
-00040           : eoValueParam<unsigned>(0, "Generations", "Generations"),
-00041             repTotalGenerations( _totalGens ), 
-00042             thisGenerationPlaceHolder(0),
-00043             thisGeneration(thisGenerationPlaceHolder), verbose(true) {};
-00044   
-00046   eoGenContinue( unsigned long _totalGens, unsigned long& _currentGen)
-00047           : eoValueParam<unsigned>(0, "Generations", "Generations"),
-00048             repTotalGenerations( _totalGens ), 
-00049             thisGenerationPlaceHolder(0),
-00050             thisGeneration(_currentGen), verbose(true){};
-00051   
-00054   virtual bool operator() ( const eoPop<EOT>& _vEO ) {
-00055     thisGeneration++;
-00056     value() = thisGeneration;
-00057     //    std::cout << " [" << thisGeneration << "] ";
-00058     if (thisGeneration >= repTotalGenerations) 
-00059       {
-00060           if (verbose)
-00061             std::cout << "STOP in eoGenContinue: Reached maximum number of generations [" << thisGeneration << "/" << repTotalGenerations << "]\n";
-00062         return false;
-00063       }
-00064     return true;
-00065   }
-00066   
-00069   virtual void totalGenerations( unsigned long _tg ) { 
-00070           repTotalGenerations = _tg; 
-00071           thisGeneration = 0;
-00072         };
-00073   
-00075   virtual unsigned long totalGenerations( ) 
-00076   {  
-00077     return repTotalGenerations; 
-00078   };
-00079     
-00080   
-00081   virtual std::string className(void) const { return "eoGenContinue"; }
-00082 
-00083   void readFrom (std :: istream & __is) {
-00084     
-00085     __is >> thisGeneration; /* Loading the number of generations counted */
-00086   }
-00087   
-00088   void printOn (std :: ostream & __os) const {
-00089     
-00090     __os << thisGeneration << std :: endl; /* Saving the number of generations counted */   
-00091   }
-00092 
-00093 private:
-00094   unsigned long repTotalGenerations;
-00095   unsigned long thisGenerationPlaceHolder;
-00096   unsigned long& thisGeneration;
-00097   
-00098 public:
-00099   bool verbose; // allows to turn off annoying message to cout
-00100 };
-00101 
-00102 #endif
-00103 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_gen_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_gen_op_8h-source.html deleted file mode 100644 index 269b45d6f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_gen_op_8h-source.html +++ /dev/null @@ -1,177 +0,0 @@ - - -EO: eoGenOp.h Source File - - - - - -

eoGenOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoGenOp.h
-00005 // (c) Maarten Keijzer and Marc Schoenauer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mak@dhi.dk
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoGenOp_H
-00027 #define _eoGenOp_H
-00028 
-00029 #include <eoOp.h>
-00030 #include <eoPopulator.h>
-00031 #include <eoFunctorStore.h>
-00032 #include <assert.h>
-00033 
-00044 
-00056 template <class EOT>
-00057 class eoGenOp : public eoOp<EOT>, public eoUF<eoPopulator<EOT> &, void>
-00058 {
-00059   public :
-00061   eoGenOp(): eoOp<EOT>( eoOp<EOT>::general ) {}
-00062 
-00066   virtual unsigned max_production(void) = 0;
-00067 
-00068   virtual std::string className() const = 0;
-00069     void operator()(eoPopulator<EOT>& _pop)
-00070     {
-00071     _pop.reserve(max_production());
-00072       apply(_pop);
-00073     }
-00074 
-00075 
-00076   protected :
-00079     virtual void apply(eoPopulator<EOT>& _pop) = 0;
-00080 };
-00081 
-00082 
-00084 template <class EOT>
-00085 class eoMonGenOp : public eoGenOp<EOT>
-00086 {
-00087    public:
-00088     eoMonGenOp(eoMonOp<EOT>& _op) : op(_op) {}
-00089 
-00090     unsigned max_production(void) { return 1; }
-00091 
-00092     void apply(eoPopulator<EOT>& _it)
-00093     {
-00094       if (op(*_it))
-00095         (*_it).invalidate();  // look how simple
-00096 
-00097     }
-00098   virtual std::string className() const {return op.className();}
-00099    private :
-00100     eoMonOp<EOT>& op;
-00101 };
-00102 
-00106 template <class EOT>
-00107 class eoBinGenOp : public eoGenOp<EOT>
-00108 {
-00109    public:
-00110     eoBinGenOp(eoBinOp<EOT>& _op) : op(_op) {}
-00111 
-00112     unsigned max_production(void) { return 1; } 
-00113 
-00117     void apply(eoPopulator<EOT>& _pop)
-00118     {
-00119       EOT& a = *_pop;
-00120       const EOT& b = _pop.select();
-00121 
-00122       if (op(a, b))
-00123         a.invalidate();
-00124     }
-00125   virtual std::string className() const {return op.className();}
-00126 
-00127    private :
-00128     eoBinOp<EOT>& op;
-00129 };
-00130 
-00132 template <class EOT>
-00133 class eoSelBinGenOp : public eoGenOp<EOT>
-00134 {
-00135    public:
-00136     eoSelBinGenOp(eoBinOp<EOT>& _op, eoSelectOne<EOT>& _sel) :
-00137       op(_op), sel(_sel) {}
-00138 
-00139     unsigned max_production(void) { return 1; }
-00140 
-00141     void apply(eoPopulator<EOT>& _pop)
-00142     { // _pop.source() gets the original population, an eoVecOp can make use of this as well
-00143       if (op(*_pop, sel(_pop.source())))
-00144         (*_pop).invalidate();
-00145     }
-00146   virtual std::string className() const {return op.className();}
-00147 
-00148    private :
-00149     eoBinOp<EOT>& op;
-00150     eoSelectOne<EOT>& sel;
-00151 };
-00152 
-00153 
-00156 template <class EOT>
-00157 class eoQuadGenOp : public eoGenOp<EOT>
-00158 {
-00159    public:
-00160     eoQuadGenOp(eoQuadOp<EOT>& _op) : op(_op) {}
-00161 
-00162     unsigned max_production(void) { return 2; }
-00163 
-00164     void apply(eoPopulator<EOT>& _pop)
-00165     {
-00166       EOT& a = *_pop;
-00167       EOT& b = *++_pop; 
-00168       
-00169       
-00170       if(op(a, b))
-00171       {
-00172         a.invalidate();
-00173         b.invalidate();
-00174       }
-00175 
-00176    }
-00177   virtual std::string className() const {return op.className();}
-00178 
-00179    private :
-00180     eoQuadOp<EOT>& op;
-00181 };
-00182 
-00207     template <class EOT>
-00208     eoGenOp<EOT>& wrap_op(eoOp<EOT>& _op, eoFunctorStore& _store)
-00209     {
-00210       switch(_op.getType())
-00211       {
-00212         case eoOp<EOT>::unary     : return _store.storeFunctor(new eoMonGenOp<EOT>(static_cast<eoMonOp<EOT>&>(_op)));
-00213         case eoOp<EOT>::binary    : return _store.storeFunctor(new eoBinGenOp<EOT>(static_cast<eoBinOp<EOT>&>(_op)));
-00214         case eoOp<EOT>::quadratic : return _store.storeFunctor(new eoQuadGenOp<EOT>(static_cast<eoQuadOp<EOT>&>(_op)));
-00215         case eoOp<EOT>::general   : return static_cast<eoGenOp<EOT>&>(_op);
-00216       }
-00217 
-00218       assert(false);
-00219       return static_cast<eoGenOp<EOT>&>(_op);
-00220     }
-00221 
-00222 #endif
-00223 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_general_breeder_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_general_breeder_8h-source.html deleted file mode 100644 index 33d2a3e5d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_general_breeder_8h-source.html +++ /dev/null @@ -1,99 +0,0 @@ - - -EO: eoGeneralBreeder.h Source File - - - - - -

eoGeneralBreeder.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoGeneralBreeder.h 
-00005 // (c) Maarten Keijzer and Marc Schoenauer, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mkeijzer@dhi.dk
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoGeneralBreeder_h
-00027 #define eoGeneralBreeder_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 /*****************************************************************************
-00032  * eoGeneralBreeder: transforms a population using the generalOp construct.
-00033  *****************************************************************************/
-00034 
-00035 #include <eoOp.h>
-00036 #include <eoGenOp.h>
-00037 #include <eoPopulator.h>
-00038 #include <eoSelectOne.h>
-00039 #include <eoBreed.h>
-00040 #include <utils/eoHowMany.h>
-00041 
-00045 template<class EOT>
-00046 class eoGeneralBreeder: public eoBreed<EOT>
-00047 {
-00048  public:
-00056   eoGeneralBreeder(
-00057           eoSelectOne<EOT>& _select,
-00058           eoGenOp<EOT>& _op,
-00059                 double  _rate=1.0,
-00060           bool _interpret_as_rate = true) :
-00061       select( _select ), op(_op),  howMany(_rate, _interpret_as_rate) {}
-00062 
-00069   eoGeneralBreeder(
-00070           eoSelectOne<EOT>& _select,
-00071           eoGenOp<EOT>& _op,
-00072           eoHowMany _howMany ) :
-00073       select( _select ), op(_op),  howMany(_howMany) {}
-00074 
-00080   void operator()(const eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00081     {
-00082       unsigned target = howMany(_parents.size());
-00083 
-00084       _offspring.clear();
-00085       eoSelectivePopulator<EOT> it(_parents, _offspring, select);
-00086 
-00087       while (_offspring.size() < target)
-00088             {
-00089               op(it);
-00090               ++it;
-00091             }
-00092 
-00093       _offspring.resize(target);   // you might have generated a few more
-00094     }
-00095 
-00097   virtual std::string className() const { return "eoGeneralBreeder"; }
-00098 
-00099  private:
-00100   eoSelectOne<EOT>& select;
-00101   eoGenOp<EOT>& op;
-00102   eoHowMany howMany;
-00103 };
-00104 
-00105 #endif
-00106 
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_monitor_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_monitor_8cpp-source.html deleted file mode 100644 index d58d7076d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_monitor_8cpp-source.html +++ /dev/null @@ -1,100 +0,0 @@ - - -EO: eoGnuplot1DMonitor.cpp Source File - - - - - -

eoGnuplot1DMonitor.cpp

00001 //-----------------------------------------------------------------------------
-00002 // eoGnuplot1DMonitor.h
-00003 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00004 /*
-00005    This library is free software; you can redistribute it and/or
-00006    modify it under the terms of the GNU Lesser General Public
-00007    License as published by the Free Software Foundation; either
-00008    version 2 of the License, or (at your option) any later version.
-00009 
-00010    This library is distributed in the hope that it will be useful,
-00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00013    Lesser General Public License for more details.
-00014 
-00015    You should have received a copy of the GNU Lesser General Public
-00016    License along with this library; if not, write to the Free Software
-00017    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00018 
-00019    Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00020              Marc.Schoenauer@polytechnique.fr
-00021              mkeijzer@dhi.dk
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 
-00026 #ifdef HAVE_CONFIG_H
-00027 #include <config.h>
-00028 #endif
-00029 
-00030 #include <sstream>
-00031 
-00032 #include "utils/eoGnuplot1DMonitor.h"
-00033 #include "utils/eoParam.h"
-00034 
-00035 
-00036 eoMonitor& eoGnuplot1DMonitor::operator() (void)
-00037 {
-00038     // update file using the eoFileMonitor
-00039     eoFileMonitor::operator()();
-00040 #ifdef HAVE_GNUPLOT
-00041     // sends plot order to gnuplot
-00042     // assumes successive plots will have same nb of columns!!!
-00043     if (firstTime)
-00044     {
-00045         FirstPlot();
-00046         firstTime = false;
-00047     }
-00048     else
-00049     {
-00050         if( gpCom ) {
-00051             PipeComSend( gpCom, "replot\n" );
-00052         }
-00053     }
-00054 #endif
-00055     return *this;
-00056 }
-00057 
-00058 
-00059 
-00060 void eoGnuplot1DMonitor::FirstPlot()
-00061 {
-00062     if (this->vec.size() < 2)
-00063     {
-00064         throw std::runtime_error("Must have some stats to plot!\n");
-00065     }
-00066 #ifdef HAVE_GNUPLOT
-00067     std::ostringstream os;
-00068     os << "plot";
-00069     for (unsigned i=1; i<this->vec.size(); i++) {
-00070         os << " '" << getFileName().c_str() <<
-00071             "' using 1:" << i+1 << " title '" << (this->vec[i])->longName() << "' with lines" ;
-00072         if (i<this->vec.size()-1)
-00073             os << ", ";
-00074     }
-00075     os << '\n';
-00076     PipeComSend( gpCom, os.str().c_str());
-00077 #endif
-00078 }
-00079 
-00080 
-00081 
-00082 // Local Variables:
-00083 // c-file-style: "Stroustrup"
-00084 // fill-column: 80
-00085 // End:
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_monitor_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_monitor_8h-source.html deleted file mode 100644 index 123368749..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_monitor_8h-source.html +++ /dev/null @@ -1,83 +0,0 @@ - - -EO: eoGnuplot1DMonitor.h Source File - - - - - -

eoGnuplot1DMonitor.h

00001 //-----------------------------------------------------------------------------
-00002 // eoGnuplot1DMonitor.h
-00003 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00004 /*
-00005    This library is free software; you can redistribute it and/or
-00006    modify it under the terms of the GNU Lesser General Public
-00007    License as published by the Free Software Foundation; either
-00008    version 2 of the License, or (at your option) any later version.
-00009 
-00010    This library is distributed in the hope that it will be useful,
-00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00013    Lesser General Public License for more details.
-00014 
-00015    You should have received a copy of the GNU Lesser General Public
-00016    License along with this library; if not, write to the Free Software
-00017    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00018 
-00019    Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00020              Marc.Schoenauer@polytechnique.fr
-00021              mkeijzer@dhi.dk
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 #ifndef EO_eoGnuplot1DMonitor_H
-00025 #define EO_eoGnuplot1DMonitor_H
-00026 
-00027 #include <fstream>
-00028 #include <string>
-00029 
-00030 #include "eoObject.h"
-00031 #include "utils/eoFileMonitor.h"
-00032 #include "utils/eoGnuplot.h"
-00033 #include "utils/pipecom.h"
-00034 
-00047 class eoGnuplot1DMonitor : public eoFileMonitor, public eoGnuplot
-00048 {
-00049 public:
-00050 
-00051   // this "using" directive generates a compiler internal error in GCC 4.0.0 ...
-00052   // it's been removed, and the only call to vec was replaced by this->vec in eoGnuplot1DMonitor.cpp
-00053   //    using eoMonitor::vec;
-00054 
-00056     eoGnuplot1DMonitor(std::string _filename, bool _top=false) :
-00057         eoFileMonitor(_filename, " "),
-00058         eoGnuplot(_filename,(_top?"":"set key bottom"))
-00059         {}
-00060 
-00062     virtual ~eoGnuplot1DMonitor(){}
-00063 
-00064     virtual eoMonitor& operator()();
-00065 
-00066     virtual void FirstPlot();
-00067 
-00069     virtual std::string className() const
-00070         { return "eoGnuplot1DMonitor"; }
-00071 };
-00072 
-00073 
-00074 #endif // EO_eoGnuplot1DMonitor_H
-00075 
-00076 
-00077 
-00078 // Local Variables:
-00079 // c-file-style: "Stroustrup"
-00080 // comment-column: 35
-00081 // fill-column: 80
-00082 // mode: C++
-00083 // End:
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_snapshot_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_snapshot_8cpp-source.html deleted file mode 100644 index b6eea2583..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_snapshot_8cpp-source.html +++ /dev/null @@ -1,47 +0,0 @@ - - -EO: eoGnuplot1DSnapshot.cpp Source File - - - - - -

eoGnuplot1DSnapshot.cpp

00001 #ifdef HAVE_CONFIG_H
-00002 #include <config.h>
-00003 #endif
-00004 
-00005 #include "eoGnuplot1DSnapshot.h"
-00006 
-00007 
-00008 
-00009 eoMonitor& eoGnuplot1DSnapshot::operator()()
-00010 {
-00011     // update file using the eoFileMonitor method
-00012     eoFileSnapshot::operator()();
-00013 
-00014 #ifdef HAVE_GNUPLOT
-00015     // sends plot order to gnuplot
-00016     std::ostringstream os;
-00017     os << "set title 'Gen. " << getCounter() << "'; plot '"
-00018         // mk: had to use getFilename().c_str(),
-00019         // because it seems the string(stream) lib is screwed in gcc3.2
-00020        << getFileName().c_str() << "' notitle with points ps " << pointSize
-00021        << std::endl;
-00022     PipeComSend(gpCom, os.str().c_str());
-00023 #endif
-00024     return *this;
-00025 }
-00026 
-00027 
-00028 
-00029 // Local Variables:
-00030 // c-file-style: "Stroustrup"
-00031 // fill-column: 80
-00032 // End:
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_snapshot_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_snapshot_8h-source.html deleted file mode 100644 index 9ae9c3451..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_gnuplot1_d_snapshot_8h-source.html +++ /dev/null @@ -1,123 +0,0 @@ - - -EO: eoGnuplot1DSnapshot.h Source File - - - - - -

eoGnuplot1DSnapshot.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoGnuplot1DSnapshot.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00006 /*
-00007    This library is free software; you can redistribute it and/or
-00008    modify it under the terms of the GNU Lesser General Public
-00009    License as published by the Free Software Foundation; either
-00010    version 2 of the License, or (at your option) any later version.
-00011 
-00012    This library is distributed in the hope that it will be useful,
-00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015    Lesser General Public License for more details.
-00016 
-00017    You should have received a copy of the GNU Lesser General Public
-00018    License along with this library; if not, write to the Free Software
-00019    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021    Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 
-00028 #ifndef EO_eoGnuplot1DSnapshot_H
-00029 #define EO_eoGnuplot1DSnapshot_H
-00030 
-00031 #include <fstream>
-00032 #include <sstream>
-00033 #include <string>
-00034 
-00035 #include <eoObject.h>
-00036 #include "eoRealVectorBounds.h"
-00037 #include <utils/pipecom.h>
-00038 #include <utils/eoFileSnapshot.h>
-00039 #include <utils/eoGnuplot.h>
-00040 
-00051 class eoGnuplot1DSnapshot: public eoFileSnapshot, public eoGnuplot
-00052 {
-00053  public:
-00054     // Ctor
-00055   eoGnuplot1DSnapshot(std::string _dirname, unsigned _frequency = 1,
-00056                       std::string _filename = "gen", std::string _delim = " ",
-00057                       unsigned _counter = 0, bool _rmFiles = true) :
-00058       eoFileSnapshot(_dirname, _frequency, _filename, _delim, _counter, _rmFiles),
-00059       eoGnuplot(_filename,"set data style points"),
-00060       pointSize(5)
-00061   {}
-00062 
-00063     // Ctor
-00064   eoGnuplot1DSnapshot(std::string _dirname,  eoRealVectorBounds & _bounds,
-00065                        unsigned _frequency = 1, std::string _filename = "gen",
-00066                        std::string _delim = " ", unsigned _counter = 0, bool _rmFiles = true ) :
-00067       eoFileSnapshot(_dirname, _frequency, _filename, _delim, _counter, _rmFiles),
-00068       eoGnuplot(_filename,"set data style points"),
-00069       pointSize(5)
-00070   {
-00071     handleBounds(_bounds);
-00072   }
-00073     // Ctor
-00074   eoGnuplot1DSnapshot(eoFileSnapshot & _fSnapshot) :
-00075       eoFileSnapshot(_fSnapshot),
-00076       eoGnuplot(_fSnapshot.baseFileName(),"set data style points"),
-00077       pointSize(5)
-00078   {}
-00079 
-00080     // Ctor with range
-00081   eoGnuplot1DSnapshot(eoFileSnapshot & _fSnapshot, eoRealVectorBounds & _bounds) :
-00082       eoFileSnapshot(_fSnapshot),
-00083       eoGnuplot(_fSnapshot.baseFileName(),"set data style points"),
-00084       pointSize(5)
-00085   {
-00086     handleBounds(_bounds);
-00087   }
-00088 
-00089   // Dtor
-00090   virtual ~eoGnuplot1DSnapshot(){}
-00091 
-00092   virtual eoMonitor& operator()();
-00093 
-00095   virtual std::string className() const { return "eoGnuplot1DSnapshot"; }
-00096 
-00097   virtual void handleBounds(eoRealVectorBounds & _bounds)
-00098   {
-00099       std::ostringstream os;
-00100       os << "set autoscale\nset yrange [" ;
-00101       if (_bounds.isMinBounded(0))
-00102           os << _bounds.minimum(0);
-00103       os << ":" ;
-00104       if (_bounds.isMaxBounded(0))
-00105           os << _bounds.maximum(0);
-00106       os << "]\n";
-00107       gnuplotCommand(os.str());
-00108   }
-00109 
-00110   void setPointSize(unsigned  _pointSize)
-00111   { pointSize = _pointSize; }
-00112 
-00113 protected:
-00114 
-00115     unsigned pointSize;
-00116 };
-00117 
-00118 
-00119 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_gnuplot_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_gnuplot_8cpp-source.html deleted file mode 100644 index dbb604121..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_gnuplot_8cpp-source.html +++ /dev/null @@ -1,113 +0,0 @@ - - -EO: eoGnuplot.cpp Source File - - - - - -

eoGnuplot.cpp

00001 //-----------------------------------------------------------------------------
-00002 // (c) Marc Schoenauer, 2001
-00003 // Copyright (C) 2005 Jochen Küpper
-00004 /*
-00005    This library is free software; you can redistribute it and/or modify it under
-00006    the terms of the GNU Lesser General Public License as published by the Free
-00007    Software Foundation; either version 2 of the License, or (at your option) any
-00008    later version.
-00009 
-00010    This library is distributed in the hope that it will be useful, but WITHOUT
-00011    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-00012    FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
-00013    details.
-00014 
-00015    You should have received a copy of the GNU Lesser General Public License
-00016    along with this library; if not, write to the Free Software Foundation, Inc.,
-00017    59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-00018 
-00019    Contact: Marc.Schoenauer@polytechnique.fr
-00020  */
-00021 //-----------------------------------------------------------------------------
-00022 
-00023 #ifdef HAVE_CONFIG_H
-00024 #include <config.h>
-00025 #endif
-00026 
-00027 #include <sstream>
-00028 #include <stdexcept>
-00029 
-00030 #include "eoGnuplot.h"
-00031 
-00032 
-00033 unsigned eoGnuplot::numWindow=0;
-00034 
-00035 
-00036 
-00037 eoGnuplot::eoGnuplot(std::string _title, std::string _extra)
-00038     : firstTime(true)
-00039 {
-00040     initGnuPlot(_title, _extra);
-00041 }
-00042 
-00043 
-00044 
-00045 eoGnuplot::~eoGnuplot()
-00046 {
-00047 #ifdef HAVE_GNUPLOT
-00048     if( gpCom ) {
-00049         PipeComSend( gpCom, "quit\n" );
-00050         PipeComClose( gpCom );
-00051         gpCom =NULL;
-00052     }
-00053 #endif
-00054 }
-00055 
-00056 
-00057 
-00058 void eoGnuplot::gnuplotCommand(const char *_command)
-00059 {
-00060 #ifdef HAVE_GNUPLOT
-00061     if(gpCom) {
-00062         PipeComSend( gpCom, _command );
-00063         PipeComSend( gpCom, "\n" );
-00064     }
-00065 #endif
-00066 }
-00067 
-00068 
-00069 
-00070 void eoGnuplot::initGnuPlot(std::string _title, std::string _extra)
-00071 {
-00072 #ifdef HAVE_GNUPLOT
-00073     std::ostringstream os;
-00074     os << "250x150-0+" << 170 * numWindow++;
-00075     char *args[6];
-00076     args[0] = strdup( GNUPLOT_PROGRAM );
-00077     args[1] = strdup( "-geometry" );
-00078     args[2] = strdup( os.str().c_str());
-00079     args[3] = strdup( "-title" );
-00080     args[4] = strdup( _title.c_str() );
-00081     args[5] = 0;
-00082     gpCom = PipeComOpenArgv( GNUPLOT_PROGRAM, args );
-00083     if(! gpCom )
-00084         throw std::runtime_error("Cannot spawn gnuplot\n");
-00085     else {
-00086         PipeComSend( gpCom, "set grid\n" );
-00087         PipeComSend( gpCom, _extra.c_str() );
-00088         PipeComSend( gpCom, "\n" );
-00089     }
-00090 #endif
-00091 }
-00092 
-00093 
-00094 
-00095 // Local Variables:
-00096 // c-file-style: "Stroustrup"
-00097 // fill-column: 80
-00098 // End:
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_gnuplot_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_gnuplot_8h-source.html deleted file mode 100644 index 830333a9b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_gnuplot_8h-source.html +++ /dev/null @@ -1,83 +0,0 @@ - - -EO: eoGnuplot.h Source File - - - - - -

eoGnuplot.h

00001 //-----------------------------------------------------------------------------
-00002 // eoGnuplot1DMonitor.h
-00003 // (c) Marc Schoenauer, 2001
-00004 /*
-00005    This library is free software; you can redistribute it and/or
-00006    modify it under the terms of the GNU Lesser General Public
-00007    License as published by the Free Software Foundation; either
-00008    version 2 of the License, or (at your option) any later version.
-00009 
-00010    This library is distributed in the hope that it will be useful,
-00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00013    Lesser General Public License for more details.
-00014 
-00015    You should have received a copy of the GNU Lesser General Public
-00016    License along with this library; if not, write to the Free Software
-00017    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00018 
-00019    Contact: Marc.Schoenauer@polytechnique.fr
-00020  */
-00021 //-----------------------------------------------------------------------------
-00022 #ifndef EO_eoGnuplot_H
-00023 #define EO_eoGnuplot_H
-00024 
-00025 #include <string>
-00026 
-00027 #include "pipecom.h"
-00028 
-00029 
-00038 class eoGnuplot
-00039 {
-00040 public:
-00041 
-00047     eoGnuplot(std::string _title, std::string _extra = std::string(""));
-00048 
-00053     virtual ~eoGnuplot();
-00054 
-00056     virtual std::string className() const
-00057         { return "eoGnuplot"; }
-00058 
-00060     void gnuplotCommand(const char * _command);
-00061 
-00066     void gnuplotCommand(std::string _command)
-00067         { gnuplotCommand(_command.c_str()); }
-00068 
-00069 
-00070 protected:
-00071 
-00077     void initGnuPlot(std::string _title, std::string _extra);
-00078 
-00080     bool firstTime;
-00081 
-00083     PCom *gpCom;
-00084 
-00086     static unsigned numWindow;
-00087 };
-00088 
-00089 
-00090 #endif // EO_eoGnuplot_H
-00091 
-00092 
-00093 
-00094 // Local Variables:
-00095 // c-file-style: "Stroustrup"
-00096 // comment-column: 35
-00097 // fill-column: 80
-00098 // mode: C++
-00099 // End:
-

Generated on Thu Oct 19 05:06:35 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_how_many_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_how_many_8h-source.html deleted file mode 100644 index 2a7170a5a..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_how_many_8h-source.html +++ /dev/null @@ -1,153 +0,0 @@ - - -EO: eoHowMany.h Source File - - - - - -

eoHowMany.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoHowMany_h.h
-00005 //   Base class for choosing a number of guys to apply something from a popsize
-00006 // (c) Marc Schoenauer, 2000
-00007 /*
-00008    This library is free software; you can redistribute it and/or
-00009    modify it under the terms of the GNU Lesser General Public
-00010    License as published by the Free Software Foundation; either
-00011    version 2 of the License, or (at your option) any later version.
-00012 
-00013    This library is distributed in the hope that it will be useful,
-00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016    Lesser General Public License for more details.
-00017 
-00018    You should have received a copy of the GNU Lesser General Public
-00019    License along with this library; if not, write to the Free Software
-00020    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022    Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoHowMany_h
-00027 #define eoHowMany_h
-00028 
-00067 #include <sstream>
-00068 
-00069 class eoHowMany : public eoPersistent
-00070 {
-00071 public:
-00076   eoHowMany(double  _rate = 0.0, bool _interpret_as_rate = true):
-00077     rate(_rate), combien(0)
-00078   {
-00079     if (_interpret_as_rate)
-00080       {
-00081         if (_rate<0)
-00082           {
-00083             rate = 1.0+_rate;
-00084             if (rate < 0)          // was < -1
-00085               throw std::logic_error("rate<-1 in eoHowMany!");
-00086           }
-00087       }
-00088     else
-00089       {
-00090         rate = 0.0;                // just in case, but shoud be unused
-00091         combien = int(_rate);      // negative values are allowed here
-00092         if (combien != _rate)
-00093           std::cerr << "Warning: Number was rounded in eoHowMany";
-00094       }
-00095   }
-00096 
-00099   eoHowMany(int _combien) : rate(0.0), combien(_combien) {}
-00100 
-00103   eoHowMany(unsigned int _combien) : rate(0.0), combien(_combien) {}
-00104 
-00106   virtual ~eoHowMany() {}
-00107 
-00114   unsigned int operator()(unsigned int _size)
-00115   {
-00116     if (combien == 0)
-00117       {
-00118         return (unsigned int) (rate * _size);
-00119       }
-00120     if (combien < 0)
-00121       {
-00122         unsigned int combloc = -combien;
-00123         if (_size<combloc)
-00124           throw std::runtime_error("Negative result in eoHowMany");
-00125         return _size-combloc;
-00126       }
-00127     return unsigned(combien);
-00128   }
-00129 
-00130   virtual void printOn(std::ostream& _os) const
-00131   {
-00132     if (combien == 0)
-00133       _os << 100*rate << "% ";
-00134     else
-00135       _os << combien << " ";
-00136     return;
-00137 
-00138   }
-00139 
-00140   virtual void readFrom(std::istream& _is)
-00141    {
-00142     std::string value;
-00143     _is >> value;
-00144     readFrom(value);
-00145     return;
-00146   }
-00147 
-00148   void readFrom(std::string _value)
-00149   {
-00150     // check for %
-00151     bool interpret_as_rate = false;   // == no %
-00152     size_t pos =  _value.find('%');
-00153     if (pos < _value.size())  //  found a %
-00154       {
-00155         interpret_as_rate = true;
-00156         _value.resize(pos);        // get rid of %
-00157       }
-00158 
-00159     std::istringstream is(_value);
-00160     is >> rate;
-00161     // now store
-00162     if (interpret_as_rate)
-00163       {
-00164         combien = 0;
-00165         rate /= 100.0;
-00166       }
-00167     else
-00168       combien = int(rate);         // and rate will not be used
-00169 
-00170     // minimal check
-00171     if ( rate < 0.0 )
-00172       throw std::runtime_error("Negative rate read in eoHowMany::readFrom");
-00173   }
-00174 
-00176   eoHowMany operator-()
-00177   {
-00178     if (!combien)                  // only rate is used
-00179       rate = 1.0-rate;
-00180     else
-00181       combien = -combien;
-00182     return (*this);
-00183   }
-00184 
-00185 private :
-00186   double rate;
-00187   int combien;
-00188 };
-00189 
-00190 
-00191 
-00192 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_init_8h-source.html deleted file mode 100644 index 9e6ca7c36..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_init_8h-source.html +++ /dev/null @@ -1,156 +0,0 @@ - - -EO: eoInit.h Source File - - - - - -

eoInit.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoInit.h
-00005 // (c) Maarten Keijzer 2000, GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoInit_H
-00028 #define _eoInit_H
-00029 
-00030 #include <algorithm>
-00031 
-00032 #include <eoOp.h>
-00033 #include <eoSTLFunctor.h>
-00034 #include <utils/eoRndGenerators.h>
-00035 
-00044 template <class EOT>
-00045 class eoInit : public eoUF<EOT&, void>
-00046 {
-00047 public:
-00048 
-00052   virtual std::string className(void) const { return "eoInit"; }
-00053 };
-00054 
-00059 template <class EOT>
-00060 class eoInitGenerator :  public eoF<EOT>
-00061 {
-00062 public:
-00063 
-00065   eoInitGenerator(eoInit<EOT> & _init):init(_init) {}
-00066 
-00067   virtual EOT operator()()
-00068     {
-00069       EOT p;
-00070       init(p);
-00071       return (p);
-00072     }
-00073 private:
-00074   eoInit<EOT> & init;
-00075 };
-00076 
-00080 template <class EOT>
-00081 class eoInitFixedLength: public eoInit<EOT>
-00082 {
-00083     public:
-00084 
-00085     typedef typename EOT::AtomType AtomType;
-00086 
-00087         eoInitFixedLength(unsigned _combien, eoRndGenerator<AtomType>& _generator)
-00088             : combien(_combien), generator(_generator) {}
-00089 
-00090         virtual void operator()(EOT& chrom)
-00091         {
-00092             chrom.resize(combien);
-00093             std::generate(chrom.begin(), chrom.end(), generator);
-00094             chrom.invalidate();
-00095         }
-00096 
-00097     private :
-00098         unsigned combien;
-00100         eoSTLF<AtomType> generator;
-00101 };
-00102 
-00106 template <class EOT>
-00107 class eoInitVariableLength: public eoInit<EOT>
-00108 {
-00109 public:
-00110 typedef typename EOT::AtomType AtomType; 
-00111 
-00112 //   /** Ctor from a generator */
-00113 //   eoInitVariableLength(unsigned _minSize, unsigned _maxSize, eoF<typename EOT::AtomType> & _generator = Gen())
-00114 //     : offset(_minSize), extent(_maxSize - _minSize), 
-00115 //                       repGenerator( eoInitGenerator<typename EOT::AtomType>(*(new eoInit<EOT>)) ), 
-00116 //                       generator(_generator)
-00117 //   {
-00118 //     if (_minSize >= _maxSize)
-00119 //       throw std::logic_error("eoInitVariableLength: minSize larger or equal to maxSize");
-00120 //   }
-00121 
-00123   eoInitVariableLength(unsigned _minSize, unsigned _maxSize, eoInit<AtomType> & _init)
-00124     : offset(_minSize), extent(_maxSize - _minSize), init(_init)
-00125   {
-00126     if (_minSize >= _maxSize)
-00127       throw std::logic_error("eoInitVariableLength: minSize larger or equal to maxSize");
-00128   }
-00129 
-00130 
-00131   virtual void operator()(EOT& _chrom)
-00132   {
-00133     _chrom.resize(offset + rng.random(extent));
-00134     typename std::vector<AtomType>::iterator it;
-00135     for (it=_chrom.begin(); it<_chrom.end(); it++)
-00136       init(*it);
-00137     _chrom.invalidate();
-00138   }
-00139 
-00140   // accessor to the atom initializer (needed by operator constructs sometimes)
-00141   eoInit<AtomType> & atomInit() {return init;}
-00142 
-00143 private :
-00144   unsigned offset;
-00145   unsigned extent;
-00146   eoInit<AtomType> & init;
-00147 };
-00148 
-00156 template <class EOT>
-00157 class eoInitAdaptor : public eoMonOp<EOT>
-00158 {
-00159     public :
-00160         eoInitAdaptor(eoInit<EOT>& _init) : init(_init) {}
-00161 
-00162         bool operator()(EOT& _eot)
-00163         {
-00164             init(_eot);
-00165             return true;
-00166         }
-00167     private :
-00168 
-00169         eoInit<EOT>& init;
-00170 };
-00171 
-00172 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_init_virus_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_init_virus_8h-source.html deleted file mode 100644 index 5da837a73..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_init_virus_8h-source.html +++ /dev/null @@ -1,95 +0,0 @@ - - -EO: eoInitVirus.h Source File - - - - - -

eoInitVirus.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoInit.h
-00005 // (c) Maarten Keijzer 2000, GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoInitVirus_H
-00028 #define _eoInitVirus_H
-00029 
-00030 #include <algorithm>
-00031 
-00032 #include <eoOp.h>
-00033 #include <eoSTLFunctor.h>
-00034 #include <utils/eoRndGenerators.h>
-00035 #include <eoInit.h>
-00036 
-00040 template <class FitT>
-00041 class eoInitVirus: public eoInit< eoVirus<FitT> > {
-00042 public:
-00043 
-00044   eoInitVirus(unsigned _combien, eoRndGenerator<bool>& _generator )
-00045         : combien(_combien), generator(_generator) {}
-00046   
-00047   virtual void operator()( eoVirus<FitT>& chrom)
-00048   {
-00049         chrom.resize(combien);
-00050         chrom.virResize(combien);
-00051         std::generate(chrom.begin(), chrom.end(), generator);
-00052         for ( unsigned i = 0; i < combien; i ++ ) {
-00053           chrom.virusBitSet(i, generator() );
-00054         }
-00055         chrom.invalidate();
-00056   }
-00057   
-00058 private :
-00059   unsigned combien;
-00061   eoSTLF<bool> generator;
-00062 };
-00063 
-00065 template <class FitT>
-00066 class eoInitVirus1bit: public eoInit< eoVirus<FitT> > {
-00067 public:
-00068 
-00069   eoInitVirus1bit(unsigned _combien, eoRndGenerator<bool>& _generator )
-00070         : combien(_combien), generator(_generator) {}
-00071   
-00072   virtual void operator()( eoVirus<FitT>& chrom)
-00073   {
-00074         chrom.resize(combien);
-00075         chrom.virResize(combien);
-00076         std::generate(chrom.begin(), chrom.end(), generator);
-00077         chrom.virusBitSet(0, true );
-00078         chrom.invalidate();
-00079   }
-00080   
-00081 private :
-00082   unsigned combien;
-00084   eoSTLF<bool> generator;
-00085 };
-00086 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_int_bounds_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_int_bounds_8cpp-source.html deleted file mode 100644 index 453555ea7..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_int_bounds_8cpp-source.html +++ /dev/null @@ -1,110 +0,0 @@ - - -EO: eoIntBounds.cpp Source File - - - - - -

eoIntBounds.cpp

00001 #ifdef _MSC_VER
-00002 // to avoid long name warnings
-00003 #pragma warning(disable:4786)
-00004 #endif
-00005 
-00006 #ifdef HAVE_CONFIG_H
-00007 #include <config.h>
-00008 #endif
-00009 
-00010 #include <ctime>
-00011 #include <sstream>
-00012 
-00013 #include "eoIntBounds.h"
-00014 
-00015 
-00016 // the global dummy bounds
-00017 // (used for unbounded variables when bounds are required)
-00018 eoIntNoBounds eoDummyIntNoBounds;
-00019 
-00021 extern bool remove_leading(std::string & _s, const std::string _delim);
-00022 extern double read_double(std::string _s);
-00023 extern long int read_int(std::string _s);
-00024 
-00025 
-00028 eoIntBounds* eoGeneralIntBounds::getBoundsFromString(std::string _value)
-00029 {
-00030   // now read
-00031   std::string delim(",; ");
-00032   std::string beginOrClose("[(])");
-00033   if (!remove_leading(_value, delim)) // only delimiters were left
-00034     throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor");
-00035 
-00036   // look for opening char
-00037   size_t posDeb = _value.find_first_of(beginOrClose);   // allow ]a,b]
-00038   if (posDeb >= _value.size())  // nothing left to read
-00039     throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor");
-00040 
-00041   // ending char: next {}() after posDeb
-00042   size_t posFin = _value.find_first_of(beginOrClose,posDeb+1);
-00043   if (posFin >= _value.size())  // not found
-00044     throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor");
-00045 
-00046   // the bounds
-00047   std::string sBounds = _value.substr(posDeb+1, posFin-posDeb-1);
-00048   // and remove from original string
-00049   _value = _value.substr(posFin+1);
-00050 
-00051   remove_leading(sBounds, delim);
-00052   size_t posDelim = sBounds.find_first_of(delim);
-00053   if (posDelim >= sBounds.size())
-00054     throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor");
-00055 
-00056       bool minBounded=false, maxBounded=false;
-00057       long int minBound=0, maxBound=0;
-00058 
-00059       // min bound
-00060       std::string sMinBounds = sBounds.substr(0,posDelim);
-00061 
-00062       if ( (sMinBounds != std::string("-inf")) &&
-00063            (sMinBounds != std::string("-infinity"))
-00064            )
-00065         {
-00066           minBounded = true;
-00067           minBound = read_int(sMinBounds);
-00068         }
-00069 
-00070       // max bound
-00071       size_t posEndDelim = sBounds.find_first_not_of(delim,posDelim);
-00072 
-00073       std::string sMaxBounds = sBounds.substr(posEndDelim);
-00074 
-00075       if ( (sMaxBounds != std::string("+inf")) &&
-00076            (sMaxBounds != std::string("+infinity"))
-00077            )
-00078         {
-00079           maxBounded = true;
-00080           maxBound = read_int(sMaxBounds);
-00081         }
-00082 
-00083       // now create the embedded eoIntBounds object
-00084       eoIntBounds * locBound;
-00085       if (minBounded && maxBounded)
-00086         {
-00087           if (maxBound <= minBound)
-00088             throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor");
-00089           locBound = new eoIntInterval(minBound, maxBound);
-00090         }
-00091       else if (!minBounded && !maxBounded)      // no bound at all
-00092         locBound = new eoIntNoBounds;
-00093       else if (!minBounded && maxBounded)
-00094         locBound = new eoIntAboveBound(maxBound);
-00095       else if (minBounded && !maxBounded)
-00096         locBound = new eoIntBelowBound(minBound);
-00097       return locBound;
-00098 }
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_int_bounds_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_int_bounds_8h-source.html deleted file mode 100644 index 436021da1..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_int_bounds_8h-source.html +++ /dev/null @@ -1,525 +0,0 @@ - - -EO: eoIntBounds.h Source File - - - - - -

eoIntBounds.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoIntBounds.h
-00005 // (c) Marc Schoenauer 2001, Maarten Keijzer 2000, GeNeura Team, 1998
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoIntBounds_h
-00028 #define _eoIntBounds_h
-00029 
-00030 #include <stdexcept>               // std::exceptions!
-00031 #include <utils/eoRNG.h>
-00032 
-00075 class eoIntBounds : public eoPersistent
-00076 { 
-00077 public:
-00078   virtual ~eoIntBounds(){}
-00079 
-00082   virtual bool isBounded(void) const  = 0;
-00083 
-00087   virtual bool hasNoBoundAtAll(void) const  = 0;
-00088 
-00091   virtual bool isMinBounded(void) const = 0;
-00092 
-00095   virtual bool isMaxBounded(void) const = 0;
-00096 
-00099   virtual bool isInBounds(double)  const = 0;
-00100 
-00103   virtual void foldsInBounds(double &)  const = 0;
-00104 
-00107   virtual void foldsInBounds(long int & i)  const
-00108   {
-00109     double r = double(i);
-00110     foldsInBounds(r);
-00111     i = (long int)(r);
-00112   }
-00113 
-00116   virtual void truncate(double &)  const = 0;
-00117 
-00120   virtual void truncate(long int & i)  const 
-00121   {
-00122     double r = double(i);
-00123     truncate(r);
-00124     i = (long int)(r);
-00125   }
-00126 
-00130   virtual long int minimum()  const = 0 ;
-00134   virtual long int maximum()  const = 0 ;
-00138   virtual long int range()  const = 0;
-00139 
-00144   virtual double uniform(eoRng & _rng = eo::rng)  const = 0;
-00145   virtual long int random(eoRng & _rng = eo::rng)  const = 0;
-00146 
-00148   virtual eoIntBounds * dup()  const = 0;
-00149 };
-00150 
-00153 class eoIntNoBounds : public eoIntBounds
-00154 {
-00155 public:
-00156   virtual ~eoIntNoBounds(){}
-00157 
-00158   virtual bool isBounded(void)  const {return false;}
-00159   virtual bool hasNoBoundAtAll(void) const  {return true;}
-00160   virtual bool isMinBounded(void)  const {return false;}
-00161   virtual bool isMaxBounded(void)  const {return false;}
-00162   virtual void foldsInBounds(double &)  const {return;}
-00163   virtual void truncate(double &)  const {return;}
-00164   virtual bool isInBounds(double)  const {return true;}
-00165 
-00166   virtual long int minimum() const
-00167   {
-00168     throw std::logic_error("Trying to get minimum of unbounded eoIntBounds");
-00169   }
-00170   virtual long int maximum() const 
-00171   {
-00172     throw std::logic_error("Trying to get maximum of unbounded eoIntBounds");
-00173   }
-00174   virtual long int range() const 
-00175   {
-00176     throw std::logic_error("Trying to get range of unbounded eoIntBounds");
-00177   }
-00178 
-00179   virtual double uniform(eoRng & _rng = eo::rng) const 
-00180   {
-00181     throw std::logic_error("Trying to generate uniform values in unbounded eoIntBounds");
-00182   }
-00183   virtual long int random(eoRng & _rng = eo::rng) const 
-00184   {
-00185     throw std::logic_error("Trying to generate uniform values in unbounded eoIntBounds");
-00186   }
-00187 
-00188   // methods from eoPersistent
-00195   virtual void readFrom(std::istream& _is) 
-00196   {
-00197     throw std::runtime_error("Should not use eoIntBounds::readFrom");
-00198   }
-00199 
-00204   virtual void printOn(std::ostream& _os) const
-00205   {
-00206     _os << "[-inf,+inf]";
-00207   }
-00208 
-00210   virtual eoIntBounds * dup() const 
-00211   {
-00212     return new eoIntNoBounds(*this);
-00213   }
-00214 
-00215 };
-00216 
-00217 // one object for all - see eoIntBounds.cpp
-00218 extern eoIntNoBounds eoDummyIntNoBounds;
-00219 
-00223 class eoIntInterval : public eoIntBounds
-00224 {
-00225 public :
-00226   virtual ~eoIntInterval(){}
-00227   
-00231   eoIntInterval(long int _min=0, long int _max=1) : 
-00232     repMinimum(_min), repMaximum(_max), repRange(_max-_min) 
-00233   {
-00234     if (repRange<=0)
-00235       throw std::logic_error("Void range in eoIntBounds");
-00236   }
-00237 
-00238   // accessors  
-00239   virtual long int minimum() const { return repMinimum; }
-00240   virtual long int maximum() const { return repMaximum; }
-00241   virtual long int range()  const { return repRange; }
-00242 
-00243   // description
-00244   virtual bool isBounded(void)  const {return true;}
-00245   virtual bool hasNoBoundAtAll(void)  const {return false;}
-00246   virtual bool isMinBounded(void)  const {return true;}
-00247   virtual bool isMaxBounded(void)  const {return true;}
-00248 
-00249   virtual double uniform(eoRng & _rng = eo::rng) const 
-00250   {
-00251     return repMinimum + _rng.uniform(repRange);
-00252   }  
-00253 
-00254   virtual long int random(eoRng & _rng = eo::rng) const 
-00255   {
-00256     return repMinimum + _rng.random(repRange);
-00257   }  
-00258 
-00259   // says if a given double is within the bounds
-00260   virtual bool isInBounds(double _r) const 
-00261   {
-00262     if (_r < repMinimum)
-00263       return false;
-00264     if (_r > repMaximum)
-00265       return false;
-00266     return true;
-00267   }
-00268 
-00269   // folds a value into bounds
-00270   virtual void foldsInBounds(double &  _r) const 
-00271   {
-00272     long iloc;
-00273     double dlargloc = 2 * range() ;
-00274 
-00275     if (fabs(_r) > 1.0E9)               // iloc too large!
-00276       {
-00277         _r = uniform();
-00278         return;
-00279       }
-00280 
-00281     if ( (_r > maximum()) )
-00282       {
-00283         iloc = (long) ( (_r-minimum()) / dlargloc ) ;
-00284         _r -= dlargloc * iloc ;
-00285         if ( _r > maximum() )
-00286           _r = 2*maximum() - _r ;
-00287       }
-00288     
-00289     if (_r < minimum()) 
-00290       {
-00291         iloc = (long) ( (maximum()-_r) / dlargloc ) ;
-00292         _r += dlargloc * iloc ;
-00293         if (_r < minimum())
-00294           _r = 2*minimum() - _r ;
-00295       }
-00296   }    
-00297 
-00298   // truncates to the bounds
-00299   virtual void truncate(double & _r) const 
-00300   {
-00301     if (_r < repMinimum)
-00302       _r = repMinimum;
-00303     else if (_r > repMaximum)
-00304       _r = repMaximum;
-00305     return;
-00306   }
-00307 
-00308   // methods from eoPersistent
-00315   virtual void readFrom(std::istream& _is) 
-00316   {
-00317     throw std::runtime_error("Should not use eoIntInterval::readFrom");
-00318   }
-00319 
-00324   virtual void printOn(std::ostream& _os) const
-00325   {
-00326     _os << "[" << repMinimum << "," << repMaximum << "]";
-00327   }
-00328 
-00330   virtual eoIntBounds * dup() const 
-00331   {
-00332     return new eoIntInterval(*this);
-00333   }
-00334 
-00335 private :
-00336   long int repMinimum;
-00337   long int repMaximum;
-00338   long int repRange;                       // to minimize operations ???
-00339 };
-00340 
-00344 class eoIntBelowBound : public eoIntBounds
-00345 {
-00346 public :
-00347   virtual ~eoIntBelowBound(){}  
-00351   eoIntBelowBound(long int _min=0) : 
-00352     repMinimum(_min)
-00353   {}
-00354 
-00355   // accessors  
-00356   virtual long int minimum() const { return repMinimum; }
-00357 
-00358   virtual long int maximum() const 
-00359   {
-00360     throw std::logic_error("Trying to get maximum of eoIntBelowBound");
-00361   }
-00362   virtual long int range() const 
-00363   {
-00364     throw std::logic_error("Trying to get range of eoIntBelowBound");
-00365   }
-00366 
-00367   virtual double uniform(eoRng & _rng = eo::rng) const 
-00368   {
-00369     throw std::logic_error("Trying to generate uniform values in eoIntBelowBound");
-00370   }
-00371   virtual long int random(eoRng & _rng = eo::rng) const 
-00372   {
-00373     throw std::logic_error("Trying to generate uniform values in eoIntBelowBound");
-00374   }
-00375 
-00376   // description
-00377   virtual bool isBounded(void)  const {return false;}
-00378   virtual bool hasNoBoundAtAll(void)  const {return false;}
-00379   virtual bool isMinBounded(void)  const {return true;}
-00380   virtual bool isMaxBounded(void) const  {return false;}
-00381 
-00382   // says if a given double is within the bounds
-00383   virtual bool isInBounds(double _r) const 
-00384   {
-00385     if (_r < repMinimum)
-00386       return false;
-00387     return true;
-00388   }
-00389 
-00390   // folds a value into bounds
-00391   virtual void foldsInBounds(double &  _r) const 
-00392   {
-00393     // easy as a pie: symmetry w.r.t. minimum
-00394     if (_r < repMinimum)           // nothing to do otherwise
-00395       _r = 2*repMinimum - _r;
-00396     return ;
-00397   }    
-00398 
-00399   // truncates to the bounds
-00400   virtual void truncate(double & _r) const 
-00401   {
-00402     if (_r < repMinimum)
-00403       _r = repMinimum;
-00404     return;
-00405   }
-00406 
-00407   // methods from eoPersistent
-00414   virtual void readFrom(std::istream& _is) 
-00415   {
-00416     throw std::runtime_error("Should not use eoIntBelowBound::readFrom");
-00417   }
-00418 
-00423   virtual void printOn(std::ostream& _os) const
-00424   {
-00425     _os << "[" << repMinimum << ",+inf]";
-00426   }
-00427 
-00429   virtual eoIntBounds * dup() const 
-00430   {
-00431     return new eoIntBelowBound(*this);
-00432   }
-00433 
-00434 private :
-00435   long int repMinimum;
-00436 };
-00437 
-00441 class eoIntAboveBound : public eoIntBounds
-00442 {
-00443 public :
-00444   virtual ~eoIntAboveBound(){}
-00445   
-00449   eoIntAboveBound(long int _max=0) : 
-00450     repMaximum(_max)
-00451   {}
-00452 
-00453   // accessors  
-00454   virtual long int maximum() const  { return repMaximum; }
-00455 
-00456   virtual long int minimum() const 
-00457   {
-00458     throw std::logic_error("Trying to get minimum of eoIntAboveBound");
-00459   }
-00460   virtual long int range() const 
-00461   {
-00462     throw std::logic_error("Trying to get range of eoIntAboveBound");
-00463   }
-00464 
-00465   virtual double uniform(eoRng & _rng = eo::rng) const 
-00466   {
-00467     throw std::logic_error("Trying to generate uniform values in eoIntAboveBound");
-00468   }
-00469   virtual long int random(eoRng & _rng = eo::rng) const 
-00470   {
-00471     throw std::logic_error("Trying to generate uniform values in eoIntAboveBound");
-00472   }
-00473 
-00474   // description
-00475   virtual bool isBounded(void)  const {return false;}
-00476   virtual bool hasNoBoundAtAll(void)  const {return false;}
-00477   virtual bool isMinBounded(void)  const {return false;}
-00478   virtual bool isMaxBounded(void)  const {return true;}
-00479 
-00480   // says if a given double is within the bounds
-00481   virtual bool isInBounds(double _r) const 
-00482   {
-00483     if (_r > repMaximum)
-00484       return false;
-00485     return true;
-00486   }
-00487 
-00488   // folds a value into bounds
-00489   virtual void foldsInBounds(double &  _r) const 
-00490   {
-00491     // easy as a pie: symmetry w.r.t. maximum
-00492     if (_r > repMaximum)           // nothing to do otherwise
-00493       _r = 2*repMaximum - _r;
-00494     return ;
-00495   }    
-00496 
-00497   // truncates to the bounds
-00498   virtual void truncate(double & _r) const 
-00499   {
-00500     if (_r > repMaximum)
-00501       _r = repMaximum;
-00502     return;
-00503   }
-00504 
-00505   // methods from eoPersistent
-00512   virtual void readFrom(std::istream& _is) 
-00513   {
-00514     throw std::runtime_error("Should not use eoIntAboveBound::readFrom");
-00515   }
-00516 
-00521   virtual void printOn(std::ostream& _os) const
-00522   {
-00523     _os << "[-inf," << repMaximum << "]";
-00524   }
-00525 
-00527   virtual eoIntBounds * dup() const 
-00528   {
-00529     return new eoIntAboveBound(*this);
-00530   }
-00531 
-00532 private :
-00533   long int repMaximum;
-00534 };
-00535 
-00537 
-00541 class eoGeneralIntBounds : public eoIntBounds
-00542 {
-00543 public:
-00545   eoGeneralIntBounds(std::string _s = "[-infinity,+infinity]")
-00546   {
-00547     repBound = getBoundsFromString(_s);
-00548   }
-00549 
-00551   eoGeneralIntBounds(const eoGeneralIntBounds & _b) : eoIntBounds(_b)
-00552   {
-00553     // replicate the embedded bound (I'm pretty sure there is another
-00554     // way to do that !!!
-00555 
-00556     bool minBounded = _b.isMinBounded();
-00557     bool maxBounded = _b.isMaxBounded();
-00558     long int minimum, maximum;
-00559     const eoIntBounds & bb = _b.theBounds();
-00560     if (minBounded) minimum = bb.minimum();
-00561     if (maxBounded) maximum = bb.maximum();
-00562 
-00563       if (minBounded && maxBounded)
-00564         repBound = new eoIntInterval(minimum, maximum);
-00565       else if (!minBounded && !maxBounded)      // no bound at all
-00566         repBound = new eoIntNoBounds;
-00567       else if (!minBounded && maxBounded)
-00568         repBound = new eoIntAboveBound(maximum);
-00569       else if (minBounded && !maxBounded)
-00570         repBound = new eoIntBelowBound(minimum);
-00571   }
-00572 
-00573   eoGeneralIntBounds& operator=(const eoGeneralIntBounds& _b)
-00574   {
-00575     // replicate the embedded bound (I'm pretty sure there is another
-00576     // way to do that !!!
-00577 
-00578     bool minBounded = _b.isMinBounded();
-00579     bool maxBounded = _b.isMaxBounded();
-00580     long int minimum, maximum;
-00581     const eoIntBounds & bb = _b.theBounds();
-00582     if (minBounded) minimum = bb.minimum();
-00583     if (maxBounded) maximum = bb.maximum();
-00584 
-00585     // first delete the embedded bounds if necessary
-00586     if (repBound)
-00587       delete repBound;
-00588     // now reallocate
-00589       if (minBounded && maxBounded)
-00590         repBound = new eoIntInterval(minimum, maximum);
-00591       else if (!minBounded && !maxBounded)      // no bound at all
-00592         repBound = new eoIntNoBounds;
-00593       else if (!minBounded && maxBounded)
-00594         repBound = new eoIntAboveBound(maximum);
-00595       else if (minBounded && !maxBounded)
-00596         repBound = new eoIntBelowBound(minimum);
-00597       return (*this);
-00598   }
-00599 
-00600 
-00602   ~eoGeneralIntBounds()
-00603   {
-00604     delete repBound;
-00605   }
-00606 
-00608 
-00610   virtual bool isBounded(void)  const {return repBound->isBounded();}
-00611 
-00615   virtual bool hasNoBoundAtAll(void)  const {return repBound->hasNoBoundAtAll();}
-00616 
-00619   virtual bool isMinBounded(void)  const {return repBound->isMinBounded();}
-00620 
-00623   virtual bool isMaxBounded(void) const {return repBound->isMaxBounded();}
-00624 
-00627   virtual bool isInBounds(double _x)  const {return repBound->isInBounds(_x);}
-00628 
-00631   virtual void foldsInBounds(double & _x) const {return repBound->foldsInBounds(_x);}
-00632 
-00635   virtual void truncate(double & _x)  const {return repBound->truncate(_x);}
-00636 
-00640   virtual long int minimum()  const {return repBound->minimum();}
-00644   virtual long int maximum() const {return repBound->maximum();}
-00648   virtual long int range()  const {return repBound->range();}
-00649 
-00653   virtual double uniform(eoRng & _rng = eo::rng)  const {return repBound->uniform();}
-00654 
-00658   virtual long int random(eoRng & _rng = eo::rng)  const {return repBound->random();}
-00659 
-00661   virtual eoIntBounds * dup() const  {return repBound->dup();}
-00662 
-00664   const eoIntBounds & theBounds()  const { return *repBound;} 
-00665 
-00669   virtual void printOn(std::ostream& _os) const
-00670   {
-00671     repBound->printOn(_os);
-00672   }
-00673 
-00675   virtual void readFrom(std::istream& _is) 
-00676   {
-00677     std::string s;
-00678     _is >> s;
-00679     if (repBound)
-00680       delete repBound;
-00681     repBound = getBoundsFromString(s);
-00682   }
-00683 
-00684 private:
-00685   // reading from a string
-00686   eoIntBounds * getBoundsFromString(std::string);
-00687 
-00688   eoIntBounds * repBound;
-00689 };
-00690 
-00691 
-00692 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_invalidate_ops_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_invalidate_ops_8h-source.html deleted file mode 100644 index 4917fdd18..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_invalidate_ops_8h-source.html +++ /dev/null @@ -1,110 +0,0 @@ - - -EO: eoInvalidateOps.h Source File - - - - - -

eoInvalidateOps.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoInvalidateOps.h
-00005 // (c) Maarten Keijzer 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoInvalidateOps_h
-00028 #define _eoInvalidateOps_h
-00029 
-00030 #include <eoOp.h>
-00031 
-00045 template <class EOT>
-00046 class eoInvalidateMonOp : public eoMonOp<EOT>
-00047 {
-00048   public:
-00049     eoInvalidateMonOp(eoMonOp<EOT>& _op) : op(_op) {}
-00050 
-00051     bool operator()(EOT& _eo)
-00052     {
-00053       if (op(_eo))
-00054       {
-00055         _eo.invalidate();
-00056         return true;
-00057       }
-00058 
-00059       return false; 
-00060     }
-00061 
-00062   private:
-00063     eoMonOp<EOT>& op;
-00064 };
-00065 
-00079 template <class EOT>
-00080 class eoInvalidateBinOp : public eoBinOp<EOT>
-00081 {
-00082   public:
-00083     eoInvalidateBinOp(eoBinOp<EOT>& _op) : op(_op) {}
-00084 
-00085     bool operator()(EOT& _eo, const EOT& _eo2)
-00086     {
-00087       if (op(_eo, _eo2))
-00088       {
-00089         _eo.invalidate();
-00090         return true;
-00091       }
-00092 
-00093       return false;
-00094     }
-00095 
-00096   private:
-00097     eoBinOp<EOT>& op;
-00098 };
-00099 
-00113 template <class EOT>
-00114 class eoInvalidateQuadOp : public eoQuadOp<EOT>
-00115 {
-00116   public:
-00117     eoInvalidateQuadOp(eoQuadOp<EOT>& _op) : op(_op) {}
-00118 
-00119     bool operator()(EOT& _eo1, EOT& _eo2)
-00120     {
-00121       if (op(_eo1, _eo2))
-00122       {
-00123         _eo1.invalidate();
-00124         _eo2.invalidate();
-00125         return true;
-00126       }
-00127       return false;
-00128     }
-00129 
-00130   private:
-00131     eoQuadOp<EOT>& op;
-00132 };
-00133 
-00134 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_linear_fit_scaling_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_linear_fit_scaling_8h-source.html deleted file mode 100644 index 691be354f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_linear_fit_scaling_8h-source.html +++ /dev/null @@ -1,75 +0,0 @@ - - -EO: eoLinearFitScaling.h Source File - - - - - -

eoLinearFitScaling.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoLinearFitScaling_h
-00028 #define eoLinearFitScaling_h
-00029 
-00030 #include <eoSelectFromWorth.h>
-00031 #include <eoPerf2Worth.h>
-00032 
-00042 template <class EOT>
-00043 class eoLinearFitScaling : public eoPerf2Worth<EOT> // false: do not cache fitness
-00044 {
-00045 public:
-00046 
-00047     using eoPerf2Worth<EOT>::value;
-00048 
-00049     /* Ctor:
-00050        @param _p selective pressure (in (1,2])
-00051        @param _e exponent (1 == linear)
-00052     */
-00053     eoLinearFitScaling(double _p=2.0)
-00054         : pressure(_p) {}
-00055 
-00056     /* COmputes the ranked fitness: fitnesses range in [m,M]
-00057        with m=2-pressure/popSize and M=pressure/popSize.
-00058        in between, the progression depends on exponent (linear if 1).
-00059     */
-00060     virtual void operator()(const eoPop<EOT>& _pop) {
-00061         unsigned pSize =_pop.size();
-00062         // value() refers to the vector of worthes (we're in an eoParamvalue)
-00063         value().resize(pSize);
-00064 
-00065         // best and worse fitnesses
-00066         double bestFitness = static_cast<double> (_pop.best_element().fitness());
-00067         //    double worstFitness = static_cast<double> (_pop.worse_element().fitness());
-00068 
-00069         // average fitness
-00070         double sum=0.0;
-00071         unsigned i;
-00072         for (i=0; i<pSize; i++)
-00073             sum += static_cast<double>(_pop[i].fitness());
-00074         double averageFitness = sum/pSize;
-00075 
-00076         // the coefficients for linear scaling
-00077         double denom = pSize*(bestFitness - averageFitness);
-00078         double alpha = (pressure-1)/denom;
-00079         double beta = (bestFitness - pressure*averageFitness)/denom;
-00080 
-00081         for (i=0; i<pSize; i++) { // truncate to 0
-00082             value()[i] = std::max(alpha*_pop[i].fitness()+beta, 0.0);
-00083         }
-00084     }
-00085 
-00086 private:
-00087     double pressure;    // selective pressure
-00088 };
-00089 
-00090 
-00091 
-00092 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_m_g_g_replacement_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_m_g_g_replacement_8h-source.html deleted file mode 100644 index a56b68847..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_m_g_g_replacement_8h-source.html +++ /dev/null @@ -1,86 +0,0 @@ - - -EO: eoMGGReplacement.h Source File - - - - - -

eoMGGReplacement.h

00001 
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoMGGReplacement_h
-00027 #define _eoMGGReplacement_h
-00028 
-00029 
-00030 //-----------------------------------------------------------------------------
-00031 #include <eoPop.h>
-00032 #include <eoFunctor.h>
-00033 #include <eoMerge.h>
-00034 #include <eoReduce.h>
-00035 #include <utils/eoHowMany.h>
-00036 #include <eoReduceSplit.h>
-00037 //-----------------------------------------------------------------------------
-00038 
-00049 template <class EOT>
-00050 class eoMGGReplacement : public eoReplacement<EOT>
-00051 {
-00052 public:
-00053   eoMGGReplacement(eoHowMany _howManyEliminatedParents = eoHowMany(2, false),
-00054                    unsigned _tSize=2) :
-00055     // split truncates the parents and returns eliminated parents
-00056     split(_howManyEliminatedParents, true), 
-00057     tSize(_tSize)
-00058   {
-00059     if (tSize < 2)
-00060       { 
-00061         std::cout << "Warning, Size for eoDetTournamentTruncateSplit adjusted to 2\n";
-00062         tSize = 2;
-00063       }
-00064   }
-00065     
-00066     void operator()(eoPop<EOT> & _parents, eoPop<EOT> & _offspring)
-00067     {
-00068       eoPop<EOT> temp;
-00069       split(_parents, temp);
-00070       unsigned toKeep = temp.size(); // how many to keep from merged populations
-00071       // minimal check
-00072       if (toKeep < 2)
-00073         throw std::runtime_error("Not enough parents killed in eoMGGReplacement");
-00074 
-00075       // select best offspring
-00076       typename eoPop<EOT>::iterator it = _offspring.it_best_element();
-00077       // add to parents
-00078       _parents.push_back(*it);
-00079       // remove from offspring
-00080       _offspring.erase(it);
-00081 
-00082       // merge temp into offspring
-00083       plus(temp, _offspring);
-00084       
-00085       // repeatedly add selected offspring to parents
-00086       for (unsigned i=0; i<toKeep-1; i++)
-00087         {
-00088           // select
-00089           it = deterministic_tournament(_offspring.begin(), _offspring.end(), tSize);
-00090           // add to parents
-00091           _parents.push_back(*it);
-00092           // remove from offspring
-00093           _offspring.erase(it);
-00094         }
-00095     }
-00096 
-00097 private:
-00098   eoLinearTruncateSplit<EOT> split; // few parents to truncate -> linear 
-00099   eoPlus<EOT> plus;
-00100   unsigned int tSize;
-00101 };
-00102 
-00103 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_m_o_fitness_stat_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_m_o_fitness_stat_8h-source.html deleted file mode 100644 index b1161a2cf..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_m_o_fitness_stat_8h-source.html +++ /dev/null @@ -1,98 +0,0 @@ - - -EO: eoMOFitnessStat.h Source File - - - - - -

eoMOFitnessStat.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoFitnessStat.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoFitnessStat_h
-00028 #define _eoFitnessStat_h
-00029 
-00030 #include <utils/eoStat.h>
-00031 
-00035 template <class EOT, class FitT = typename EOT::Fitness>
-00036 class eoFitnessStat : public eoSortedStat<EOT, std::vector<FitT> >
-00037 {
-00038 public :
-00039 
-00040     using eoSortedStat<EOT, std::vector<FitT> >::value;
-00041 
-00042     eoFitnessStat(std::string _description = "AllFitnesses") :
-00043       eoSortedStat<EOT,std::vector<FitT> >(std::vector<FitT>(0), _description) {}
-00044 
-00045     virtual void operator()(const std::vector<const EOT*>& _popPters)
-00046     {
-00047       value().resize(_popPters.size());
-00048       for (unsigned i=0; i<_popPters.size(); i++)
-00049         value()[i] = _popPters[i]->fitness();
-00050     }
-00051 };
-00052 
-00053 
-00057 #ifdef _MSC_VER
-00058 // The follownig is needed to avoid some bug in Visual Studio 6.0
-00059 typedef double PartFitDefault;
-00060 template <class EOT, class PartFitT = PartFitDefault>
-00061 class eoMOFitnessStat : public eoSortedStat<EOT, std::vector<PartFitT> >
-00062 #else
-00063 template <class EOT, class PartFitT = double>
-00064 class eoMOFitnessStat : public eoSortedStat<EOT, std::vector<PartFitT> >
-00065 #endif
-00066 
-00067 {
-00068 public:
-00069 
-00070     using eoSortedStat<EOT, std::vector<PartFitT> >::value;
-00071 
-00074   eoMOFitnessStat(unsigned _objective, std::string _description = "MO-Fitness") :
-00075     eoSortedStat<EOT,  std::vector<PartFitT> >(std::vector<PartFitT>(0), _description),
-00076     objective(_objective) {}
-00077 
-00078     virtual void operator()(const std::vector<const EOT*>& _popPters)
-00079     {
-00080       value().resize(_popPters.size());
-00081 
-00082       for (unsigned i=0; i<_popPters.size(); i++)
-00083       {
-00084         value()[i] = _popPters[i]->fitness()[objective];
-00085       }
-00086     }
-00087 private:
-00088   unsigned int objective;                  // The objective we're storing
-00089 
-00090 };
-00091 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_merge_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_merge_8h-source.html deleted file mode 100644 index 8d92a24d7..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_merge_8h-source.html +++ /dev/null @@ -1,128 +0,0 @@ - - -EO: eoMerge.h Source File - - - - - -

eoMerge.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoMerge.h
-00005 //   Base class for elitist-merging classes
-00006 // (c) GeNeura Team, 1998
-00007 /* 
-00008    This library is free software; you can redistribute it and/or
-00009    modify it under the terms of the GNU Lesser General Public
-00010    License as published by the Free Software Foundation; either
-00011    version 2 of the License, or (at your option) any later version.
-00012 
-00013    This library is distributed in the hope that it will be useful,
-00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016    Lesser General Public License for more details.
-00017 
-00018    You should have received a copy of the GNU Lesser General Public
-00019    License along with this library; if not, write to the Free Software
-00020    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022    Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoMerge_h
-00027 #define eoMerge_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <stdexcept>
-00032 
-00033 // EO includes
-00034 #include <eoPop.h>     // eoPop
-00035 #include <eoFunctor.h>  // eoMerge
-00036 
-00048 template<class Chrom> class eoMerge: public eoBF<const eoPop<Chrom>&, eoPop<Chrom>&, void>
-00049 {};
-00050 
-00055 template <class EOT> class eoElitism : public eoMerge<EOT>
-00056 {
-00057 public :
-00058   eoElitism(double  _rate, bool _interpret_as_rate = true):
-00059     rate(0), combien(0)
-00060   {
-00061     if (_interpret_as_rate)
-00062       {
-00063         if ( (_rate<0) || (_rate>1) )
-00064           throw std::logic_error("eoElitism: rate shoud be in [0,1]");
-00065         rate = _rate;
-00066       }
-00067     else
-00068       {
-00069         if (_rate<0)
-00070           throw std::logic_error("Negative number of offspring in eoElitism!");
-00071         combien = (unsigned int)_rate;
-00072         if (combien != _rate)
-00073           std::cout << "Warning: Number of guys to merge in eoElitism was rounded";
-00074       }
-00075   }
-00076   
-00077   void operator()(const eoPop<EOT>& _pop, eoPop<EOT>& _offspring)
-00078   {
-00079     if ((combien == 0) && (rate == 0.0))
-00080       return;
-00081     unsigned combienLocal;
-00082     if (combien == 0)      // rate is specified
-00083       combienLocal = (unsigned int) (rate * _pop.size());
-00084     else
-00085       combienLocal = combien;
-00086     
-00087     if (combienLocal > _pop.size())
-00088       throw std::logic_error("Elite larger than population");
-00089     
-00090     std::vector<const EOT*> result;
-00091     _pop.nth_element(combienLocal, result);
-00092     
-00093     for (size_t i = 0; i < result.size(); ++i)
-00094       {
-00095         _offspring.push_back(*result[i]);
-00096       }
-00097   }
-00098   
-00099 private :
-00100   double rate;
-00101   unsigned combien;
-00102 };
-00103 
-00107 template <class EOT> class eoNoElitism : public eoElitism<EOT>
-00108 {
-00109     public :
-00110         eoNoElitism() : eoElitism<EOT>(0) {}
-00111 };
-00112 
-00116 template <class EOT> class eoPlus : public eoMerge<EOT>
-00117 {
-00118     public :
-00119         void operator()(const eoPop<EOT>& _pop, eoPop<EOT>& _offspring)
-00120         {
-00121             _offspring.reserve(_offspring.size() + _pop.size());
-00122 
-00123             for (size_t i = 0; i < _pop.size(); ++i)
-00124             {
-00125                 _offspring.push_back(_pop[i]);
-00126             }
-00127         }
-00128 
-00129     private :
-00130 };
-00131 
-00132 //-----------------------------------------------------------------------------
-00133 
-00134 #endif 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_merge_reduce_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_merge_reduce_8h-source.html deleted file mode 100644 index 21cb3c803..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_merge_reduce_8h-source.html +++ /dev/null @@ -1,87 +0,0 @@ - - -EO: eoMergeReduce.h Source File - - - - - -

eoMergeReduce.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoMergeReduce_h
-00026 #define _eoMergeReduce_h
-00027 
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 #include <eoPop.h>
-00031 #include <eoFunctor.h>
-00032 #include <eoMerge.h>
-00033 #include <eoReduce.h>
-00034 #include <eoReplacement.h>
-00035 #include <utils/eoHowMany.h>
-00036 //-----------------------------------------------------------------------------
-00049 template <class EOT>
-00050 class eoMergeReduce : public eoReplacement<EOT>
-00051 {
-00052     public:
-00053         eoMergeReduce(eoMerge<EOT>& _merge, eoReduce<EOT>& _reduce) :
-00054         merge(_merge), reduce(_reduce)
-00055         {}
-00056 
-00057         void operator()(eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00058         {
-00059             merge(_parents, _offspring); // parents untouched, result in offspring
-00060             reduce(_offspring, _parents.size());
-00061             _parents.swap(_offspring);
-00062         }
-00063 
-00064     private :
-00065         eoMerge<EOT>& merge;
-00066         eoReduce<EOT>& reduce;
-00067 };
-00068 
-00072 template <class EOT>
-00073 class eoPlusReplacement : public eoMergeReduce<EOT>
-00074 {
-00075     public :
-00076         eoPlusReplacement() : eoMergeReduce<EOT>(plus, truncate) {}
-00077 
-00078     private :
-00079         eoPlus<EOT> plus;
-00080         eoTruncate<EOT> truncate;
-00081 };
-00082 
-00086 template <class EOT>
-00087 class eoCommaReplacement : public eoMergeReduce<EOT>
-00088 {
-00089     public :
-00090         eoCommaReplacement() : eoMergeReduce<EOT>(no_elite, truncate) {}
-00091 
-00092     private :
-00093         eoNoElitism<EOT> no_elite;
-00094         eoTruncate<EOT> truncate;
-00095 };
-00096 
-00101 template <class EOT>
-00102 class eoEPReplacement : public eoMergeReduce<EOT>
-00103 {
-00104 public :
-00105   eoEPReplacement(int _tSize) : eoMergeReduce<EOT>(plus, truncate), truncate(_tSize)
-00106     //  {truncate.setSize(_tSize);}
-00107   {}
-00108 private :
-00109   eoPlus<EOT> plus;
-00110   eoEPReduce<EOT> truncate;
-00111 };
-00112 
-00113 
-00114 
-00115 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_monitor_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_monitor_8h-source.html deleted file mode 100644 index a90b1be98..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_monitor_8h-source.html +++ /dev/null @@ -1,69 +0,0 @@ - - -EO: eoMonitor.h Source File - - - - - -

eoMonitor.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoMonitor.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024 CVS Info: $Date: 2004/06/15 07:09:57 $ $Header: /cvsroot/eodev/eo/src/utils/eoMonitor.h,v 1.11 2004/06/15 07:09:57 evomarc Exp $ $Author: evomarc $ 
-00025 
-00026  */
-00027 //-----------------------------------------------------------------------------
-00028 
-00029 #ifndef _eoMonitor_h
-00030 #define _eoMonitor_h
-00031 
-00032 
-00033 #include <vector>
-00034 
-00035 #include <eoFunctor.h>
-00036 
-00037 class eoParam;
-00038 
-00046 class eoMonitor : public eoF<eoMonitor&>
-00047 {
-00048 public :
-00049 
-00050   virtual void lastCall() {}
-00051 
-00056   virtual void add(const eoParam& _param) { vec.push_back(&_param); }
-00057 
-00058   virtual std::string className(void) const { return "eoMonitor"; }
-00059 
-00060 protected :
-00061     typedef std::vector<const eoParam*>::iterator iterator;
-00062     std::vector<const eoParam*> vec;
-00063 };
-00064 
-00065 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_n_d_sorting_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_n_d_sorting_8h-source.html deleted file mode 100644 index 1eb008e3b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_n_d_sorting_8h-source.html +++ /dev/null @@ -1,439 +0,0 @@ - - -EO: eoNDSorting.h Source File - - - - - -

eoNDSorting.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoNDSorting_h
-00028 #define eoNDSorting_h
-00029 
-00030 #include <EO.h>
-00031 #include <algorithm>
-00032 #include <eoPop.h>
-00033 #include <eoPerf2Worth.h>
-00034 #include <cassert>
-00035 
-00041 template <class EOT>
-00042 class eoNDSorting : public eoPerf2WorthCached<EOT, double>
-00043 {
-00044   public :
-00045 
-00046     using eoPerf2WorthCached<EOT, double>::value;
-00047       eoNDSorting(bool nasty_flag_ = false)
-00048           : nasty_declone_flag_that_only_is_implemented_for_two_objectives(nasty_flag_)
-00049         {}
-00050 
-00051 
-00052     eoNDSorting()
-00053         : nasty_declone_flag_that_only_is_implemented_for_two_objectives(false)
-00054         {}
-00055 
-00060     virtual std::vector<double> niche_penalty(const std::vector<unsigned>& current_front, const eoPop<EOT>& _pop) = 0;
-00061 
-00062     void calculate_worths(const eoPop<EOT>& _pop)
-00063     {
-00064         // resize the worths beforehand
-00065         value().resize(_pop.size());
-00066 
-00067         typedef typename EOT::Fitness::fitness_traits traits;
-00068 
-00069         switch (traits::nObjectives())
-00070         {
-00071             case 1:
-00072                 {
-00073                     one_objective(_pop);
-00074                     return;
-00075                 }
-00076             case 2:
-00077                 {
-00078                     two_objectives(_pop);
-00079                     return;
-00080                 }
-00081             default :
-00082                 {
-00083                     m_objectives(_pop);
-00084                 }
-00085         }
-00086     }
-00087 
-00088 private :
-00089 
-00094     class DummyEO : public EO<typename EOT::Fitness>
-00095     {
-00096       public: unsigned index;
-00097     };
-00098 
-00099     void one_objective(const eoPop<EOT>& _pop)
-00100     {
-00101         unsigned i;
-00102         std::vector<DummyEO> tmp_pop;
-00103         tmp_pop.resize(_pop.size());
-00104 
-00105         // copy pop to dummy population (only need the fitnesses)
-00106         for (i = 0; i < _pop.size(); ++i)
-00107         {
-00108           tmp_pop[i].fitness(_pop[i].fitness());
-00109           tmp_pop[i].index = i;
-00110         }
-00111 
-00112         std::sort(tmp_pop.begin(), tmp_pop.end(), std::greater<DummyEO>());
-00113 
-00114         for (i = 0; i < _pop.size(); ++i)
-00115         {
-00116           value()[tmp_pop[i].index] = _pop.size() - i; // set rank
-00117         }
-00118 
-00119         // no point in calculcating niche penalty, as every distinct fitness value has a distinct rank
-00120     }
-00121 
-00140     void two_objectives(const eoPop<EOT>& _pop)
-00141     {
-00142                 unsigned i;
-00143         typedef typename EOT::Fitness::fitness_traits traits;
-00144         assert(traits::nObjectives() == 2);
-00145 
-00146         std::vector<unsigned> sort1(_pop.size()); // index into population sorted on first objective
-00147 
-00148         for (i = 0; i < _pop.size(); ++i)
-00149         {
-00150             sort1[i] = i;
-00151         }
-00152 
-00153         std::sort(sort1.begin(), sort1.end(), Sorter(_pop));
-00154 
-00155         // Ok, now the meat of the algorithm
-00156 
-00157         unsigned last_front = 0;
-00158 
-00159         double max1 = -1e+20;
-00160         for (i = 0; i < _pop.size(); ++i)
-00161         {
-00162             max1 = std::max(max1, _pop[i].fitness()[1]);
-00163         }
-00164 
-00165         max1 = max1 + 1.0; // add a bit to it so that it is a real upperbound
-00166 
-00167         unsigned prev_front = 0;
-00168         std::vector<double> d;
-00169         d.resize(_pop.size(), max1); // initialize with the value max1 everywhere
-00170 
-00171         std::vector<std::vector<unsigned> > fronts(_pop.size()); // to store indices into the front
-00172 
-00173         for (i = 0; i < _pop.size(); ++i)
-00174         {
-00175             unsigned index = sort1[i];
-00176 
-00177             // check for clones and delete them
-00178             if (0 && i > 0)
-00179             {
-00180                 unsigned prev = sort1[i-1];
-00181                 if ( _pop[index].fitness() == _pop[prev].fitness())
-00182                 { // it's a clone, give it the worst rank!
-00183 
-00184                     if (nasty_declone_flag_that_only_is_implemented_for_two_objectives)
-00185                         //declone
-00186                         fronts.back().push_back(index);
-00187                     else // assign it the rank of the previous
-00188                         fronts[prev_front].push_back(index);
-00189                     continue;
-00190                 }
-00191             }
-00192 
-00193             double value2 = _pop[index].fitness()[1];
-00194 
-00195             if (traits::maximizing(1))
-00196                 value2 = max1 - value2;
-00197 
-00198             // perform binary search using std::upper_bound, a log n operation for each member
-00199             std::vector<double>::iterator it =
-00200                 std::upper_bound(d.begin(), d.begin() + last_front, value2);
-00201 
-00202             unsigned front = unsigned(it - d.begin());
-00203             if (front == last_front) ++last_front;
-00204 
-00205             assert(it != d.end());
-00206 
-00207             *it = value2; //update d
-00208             fronts[front].push_back(index); // add it to the front
-00209 
-00210             prev_front = front;
-00211         }
-00212 
-00213         // ok, and finally the niche penalty
-00214 
-00215         for (i = 0; i < fronts.size(); ++i)
-00216         {
-00217             if (fronts[i].size() == 0) continue;
-00218 
-00219             // Now we have the indices to the current front in current_front, do the niching
-00220             std::vector<double> niche_count = niche_penalty(fronts[i], _pop);
-00221 
-00222             // Check whether the derived class was nice
-00223             if (niche_count.size() != fronts[i].size())
-00224             {
-00225               throw std::logic_error("eoNDSorting: niche and front should have the same size");
-00226             }
-00227 
-00228             double max_niche = *std::max_element(niche_count.begin(), niche_count.end());
-00229 
-00230             for (unsigned j = 0; j < fronts[i].size(); ++j)
-00231             {
-00232               value()[fronts[i][j]] = i + niche_count[j] / (max_niche + 1.); // divide by max_niche + 1 to ensure that this front does not overlap with the next
-00233             }
-00234 
-00235         }
-00236 
-00237         // invert ranks to obtain a 'bigger is better' score
-00238         rank_to_worth();
-00239     }
-00240 
-00241     class Sorter
-00242     {
-00243         public:
-00244             Sorter(const eoPop<EOT>& _pop) : pop(_pop) {}
-00245 
-00246             bool operator()(unsigned i, unsigned j) const
-00247             {
-00248                 typedef typename EOT::Fitness::fitness_traits traits;
-00249 
-00250                 double diff = pop[i].fitness()[0] - pop[j].fitness()[0];
-00251 
-00252                 if (fabs(diff) < traits::tol())
-00253                 {
-00254                     diff = pop[i].fitness()[1] - pop[j].fitness()[1];
-00255 
-00256                     if (fabs(diff) < traits::tol())
-00257                         return false;
-00258 
-00259                     if (traits::maximizing(1))
-00260                         return diff > 0.;
-00261                     return diff < 0.;
-00262                 }
-00263 
-00264                 if (traits::maximizing(0))
-00265                     return diff > 0.;
-00266                 return diff < 0.;
-00267             }
-00268 
-00269             const eoPop<EOT>& pop;
-00270     };
-00271 
-00272     void m_objectives(const eoPop<EOT>& _pop)
-00273     {
-00274       unsigned i;
-00275 
-00276       typedef typename EOT::Fitness::fitness_traits traits;
-00277 
-00278       std::vector<std::vector<unsigned> > S(_pop.size()); // which individuals does guy i dominate
-00279       std::vector<unsigned> n(_pop.size(), 0); // how many individuals dominate guy i
-00280 
-00281       unsigned j;
-00282       for (i = 0; i < _pop.size(); ++i)
-00283       {
-00284         for (j = 0; j < _pop.size(); ++j)
-00285         {
-00286           if (_pop[i].fitness().dominates(_pop[j].fitness()))
-00287           { // i dominates j
-00288             S[i].push_back(j); // add j to i's domination std::list
-00289 
-00290             //n[j]++; // as i dominates j
-00291           }
-00292           else if (_pop[j].fitness().dominates(_pop[i].fitness()))
-00293           { // j dominates i, increment count for i, add i to the domination std::list of j
-00294             n[i]++;
-00295 
-00296             //S[j].push_back(i);
-00297           }
-00298         }
-00299       }
-00300 
-00301       std::vector<unsigned> current_front;
-00302       current_front.reserve(_pop.size());
-00303 
-00304       // get the first front out
-00305       for (i = 0; i < _pop.size(); ++i)
-00306       {
-00307         if (n[i] == 0)
-00308         {
-00309           current_front.push_back(i);
-00310         }
-00311       }
-00312 
-00313       std::vector<unsigned> next_front;
-00314       next_front.reserve(_pop.size());
-00315 
-00316       unsigned front_index = 0; // which front are we processing
-00317       while (!current_front.empty())
-00318       {
-00319         // Now we have the indices to the current front in current_front, do the niching
-00320         std::vector<double> niche_count = niche_penalty(current_front, _pop);
-00321 
-00322         // Check whether the derived class was nice
-00323         if (niche_count.size() != current_front.size())
-00324         {
-00325           throw std::logic_error("eoNDSorting: niche and front should have the same size");
-00326         }
-00327 
-00328         double max_niche = *std::max_element(niche_count.begin(), niche_count.end());
-00329 
-00330         for (i = 0; i < current_front.size(); ++i)
-00331         {
-00332           value()[current_front[i]] = front_index + niche_count[i] / (max_niche + 1.); // divide by max_niche + 1 to ensure that this front does not overlap with the next
-00333         }
-00334 
-00335         // Calculate which individuals are in the next front;
-00336 
-00337         for (i = 0; i < current_front.size(); ++i)
-00338         {
-00339           for (j = 0; j < S[current_front[i]].size(); ++j)
-00340           {
-00341             unsigned dominated_individual = S[current_front[i]][j];
-00342             n[dominated_individual]--; // As we remove individual i -- being part of the current front -- it no longer dominates j
-00343 
-00344             if (n[dominated_individual] == 0) // it should be in the current front
-00345             {
-00346               next_front.push_back(dominated_individual);
-00347             }
-00348           }
-00349         }
-00350 
-00351         front_index++; // go to the next front
-00352         swap(current_front, next_front); // make the next front current
-00353         next_front.clear(); // clear it for the next iteration
-00354       }
-00355 
-00356       rank_to_worth();
-00357     }
-00358 
-00359     void rank_to_worth()
-00360     {
-00361       // now all that's left to do is to transform lower rank into higher worth
-00362       double max_fitness = *std::max_element(value().begin(), value().end());
-00363 
-00364       // but make sure it's an integer upper bound, so that all ranks inside the highest integer are the front
-00365       max_fitness = ceil(max_fitness);
-00366 
-00367       for (unsigned i = 0; i < value().size(); ++i)
-00368       {
-00369         value()[i] = max_fitness - value()[i];
-00370       }
-00371 
-00372     }
-00373     public : bool nasty_declone_flag_that_only_is_implemented_for_two_objectives;
-00374 };
-00375 
-00379 template <class EOT>
-00380 class eoNDSorting_I : public eoNDSorting<EOT>
-00381 {
-00382 public :
-00383   eoNDSorting_I(double _nicheSize, bool nasty_flag_ = false) : eoNDSorting<EOT>(nasty_flag_), nicheSize(_nicheSize) {}
-00384 
-00385   std::vector<double> niche_penalty(const std::vector<unsigned>& current_front, const eoPop<EOT>& _pop)
-00386   {
-00387         std::vector<double> niche_count(current_front.size(), 0.);
-00388 
-00389         for (unsigned i = 0; i < current_front.size(); ++i)
-00390         { // calculate whether the other points lie within the nice
-00391           for (unsigned j = 0; j < current_front.size(); ++j)
-00392           {
-00393             if (i == j)
-00394               continue;
-00395 
-00396             double dist = 0.0;
-00397 
-00398             for (unsigned k = 0; k < _pop[current_front[j]].fitness().size(); ++k)
-00399             {
-00400               double d = _pop[current_front[i]].fitness()[k] - _pop[current_front[j]].fitness()[k];
-00401               dist += d*d;
-00402             }
-00403 
-00404             if (dist < nicheSize)
-00405             {
-00406               niche_count[i] += 1.0 - pow(dist / nicheSize,2.);
-00407             }
-00408           }
-00409         }
-00410 
-00411         return niche_count;
-00412   }
-00413 
-00414   private :
-00415 
-00416   double nicheSize;
-00417 };
-00418 
-00433 template <class EOT>
-00434 class eoNDSorting_II : public eoNDSorting<EOT>
-00435 {
-00436   public:
-00437 
-00438     eoNDSorting_II(bool nasty_flag_ = false) : eoNDSorting<EOT>(nasty_flag_) {}
-00439 
-00440   typedef std::pair<double, unsigned> double_index_pair;
-00441 
-00442   class compare_nodes
-00443   {
-00444   public :
-00445     bool operator()(const double_index_pair& a, const double_index_pair& b) const
-00446     {
-00447       return a.first < b.first;
-00448     }
-00449   };
-00450 
-00452   std::vector<double> niche_penalty(const std::vector<unsigned>& _cf, const eoPop<EOT>& _pop)
-00453   {
-00454     typedef typename EOT::Fitness::fitness_traits traits;
-00455     unsigned i;
-00456     std::vector<double> niche_count(_cf.size(), 0.);
-00457 
-00458 
-00459     unsigned nObjectives = traits::nObjectives(); //_pop[_cf[0]].fitness().size();
-00460 
-00461     for (unsigned o = 0; o < nObjectives; ++o)
-00462     {
-00463 
-00464       std::vector<std::pair<double, unsigned> > performance(_cf.size());
-00465       for (i =0; i < _cf.size(); ++i)
-00466       {
-00467         performance[i].first = _pop[_cf[i]].fitness()[o];
-00468         performance[i].second = i;
-00469       }
-00470 
-00471       std::sort(performance.begin(), performance.end(), compare_nodes()); // a lambda operator would've been nice here
-00472 
-00473       std::vector<double> nc(niche_count.size(), 0.0);
-00474 
-00475       for (i = 1; i < _cf.size()-1; ++i)
-00476       { // and yet another level of indirection
-00477         nc[performance[i].second] = performance[i+1].first - performance[i-1].first;
-00478       }
-00479 
-00480       double max_dist = *std::max_element(nc.begin(), nc.end());
-00481 
-00482       // set boundary at max_dist + 1 (so it will get chosen over all the others
-00483       nc[performance[0].second] = max_dist + 1;
-00484       nc[performance.back().second] = max_dist + 1;
-00485 
-00486       for (i = 0; i < nc.size(); ++i)
-00487       {
-00488         niche_count[i] = (max_dist + 1 - nc[i]);
-00489       }
-00490     }
-00491 
-00492     return niche_count;
-00493   }
-00494 };
-00495 
-00496 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_normal_mutation_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_normal_mutation_8h-source.html deleted file mode 100644 index 6dabf4371..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_normal_mutation_8h-source.html +++ /dev/null @@ -1,208 +0,0 @@ - - -EO: eoNormalMutation.h Source File - - - - - -

eoNormalMutation.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoNormalMutation.h
-00005 // (c) EEAAX 2001 - Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mak@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoNormalMutation_h
-00027 #define eoNormalMutation_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <algorithm>    // swap_ranges
-00032 #include <utils/eoRNG.h>
-00033 #include <utils/eoUpdatable.h>
-00034 #include <eoEvalFunc.h>
-00035 #include <es/eoReal.h>
-00036 #include <utils/eoRealBounds.h>
-00037 //-----------------------------------------------------------------------------
-00038 
-00048 template<class EOT> class eoNormalVecMutation: public eoMonOp<EOT>
-00049 {
-00050  public:
-00058   eoNormalVecMutation(double _sigma, const double& _p_change = 1.0):
-00059     sigma(_sigma), bounds(eoDummyVectorNoBounds), p_change(_p_change) {}
-00060 
-00069   eoNormalVecMutation(eoRealVectorBounds & _bounds,
-00070                     double _sigma, const double& _p_change = 1.0):
-00071     sigma(_bounds.size(), _sigma), bounds(_bounds), p_change(_p_change)
-00072   {
-00073     // scale to the range - if any
-00074     for (unsigned i=0; i<bounds.size(); i++)
-00075       if (bounds.isBounded(i))
-00076           sigma[i] *= _sigma*bounds.range(i);
-00077   }
-00078 
-00080   virtual std::string className() const { return "eoNormalVecMutation"; }
-00081 
-00086   bool operator()(EOT& _eo)
-00087     {
-00088       bool hasChanged=false;
-00089       for (unsigned lieu=0; lieu<_eo.size(); lieu++)
-00090         {
-00091           if (rng.flip(p_change))
-00092             {
-00093               _eo[lieu] += sigma[lieu]*rng.normal();
-00094               bounds.foldsInBounds(lieu, _eo[lieu]);
-00095               hasChanged = true;
-00096             }
-00097         }
-00098       return hasChanged;
-00099     }
-00100 
-00101 private:
-00102   std::vector<double> sigma;
-00103   eoRealVectorBounds & bounds;
-00104   double p_change;
-00105 };
-00106 
-00116 template<class EOT> class eoNormalMutation
-00117     : public eoMonOp<EOT>
-00118 {
-00119 public:
-00127   eoNormalMutation(double & _sigma, const double& _p_change = 1.0):
-00128     sigma(_sigma), bounds(eoDummyVectorNoBounds), p_change(_p_change) {}
-00129 
-00136   eoNormalMutation(eoRealVectorBounds & _bounds,
-00137                     double _sigma, const double& _p_change = 1.0):
-00138     sigma(_sigma), bounds(_bounds), p_change(_p_change) {}
-00139 
-00141   virtual std::string className() const { return "eoNormalMutation"; }
-00142 
-00147   bool operator()(EOT& _eo)
-00148     {
-00149       bool hasChanged=false;
-00150       for (unsigned lieu=0; lieu<_eo.size(); lieu++)
-00151         {
-00152           if (rng.flip(p_change))
-00153             {
-00154               _eo[lieu] += sigma*rng.normal();
-00155               bounds.foldsInBounds(lieu, _eo[lieu]);
-00156               hasChanged = true;
-00157             }
-00158         }
-00159       return hasChanged;
-00160     }
-00161 
-00163   double & Sigma() {return sigma;}
-00164 
-00165 private:
-00166   double & sigma;
-00167   eoRealVectorBounds & bounds;
-00168   double p_change;
-00169 };
-00170 
-00177 template<class EOT> class eoOneFifthMutation :
-00178   public eoNormalMutation<EOT>, public eoUpdatable
-00179 {
-00180 public:
-00181 
-00182     using eoNormalMutation< EOT >::Sigma;
-00183 
-00184     typedef typename EOT::Fitness Fitness;
-00185 
-00195   eoOneFifthMutation(eoEvalFunc<EOT> & _eval, double & _sigmaInit,
-00196                      unsigned _windowSize = 10, double _updateFactor=0.83,
-00197                      double _threshold=0.2):
-00198     eoNormalMutation<EOT>(_sigmaInit), eval(_eval),
-00199     threshold(_threshold), updateFactor(_updateFactor),
-00200     nbMut(_windowSize, 0), nbSuccess(_windowSize, 0), genIndex(0)
-00201   {
-00202     // minimal check
-00203     if (updateFactor>=1)
-00204       throw std::runtime_error("Update factor must be < 1 in eoOneFifthMutation");
-00205   }
-00206 
-00208   virtual std::string className() const { return "eoOneFifthMutation"; }
-00209 
-00216   bool operator()(EOT & _eo)
-00217     {
-00218       if (_eo.invalid())           // due to some crossover???
-00219         eval(_eo);
-00220       Fitness oldFitness = _eo.fitness(); // save old fitness
-00221 
-00222       // call standard operator - then count the successes
-00223       if (eoNormalMutation<EOT>::operator()(_eo)) // _eo has been modified
-00224         {
-00225           _eo.invalidate();        // don't forget!!!
-00226           nbMut[genIndex]++;
-00227           eval(_eo);               // compute fitness of offspring
-00228 
-00229           if (_eo.fitness() > oldFitness)
-00230             nbSuccess[genIndex]++;          // update counter
-00231         }
-00232       return false;                // because eval has reset the validity flag
-00233     }
-00234 
-00238   void update()
-00239   {
-00240     unsigned totalMut = 0;
-00241     unsigned totalSuccess = 0;
-00242     // compute the average stats over the time window
-00243     for ( unsigned i=0; i<nbMut.size(); i++)
-00244       {
-00245         totalMut += nbMut[i];
-00246         totalSuccess += nbSuccess[i];
-00247       }
-00248 
-00249     // update sigma accordingly
-00250     double prop = double(totalSuccess) / totalMut;
-00251     if (prop > threshold) {
-00252       Sigma() /= updateFactor;     // increase sigma
-00253     }
-00254     else
-00255       {
-00256         Sigma() *= updateFactor;           // decrease sigma
-00257       }
-00258     genIndex = (genIndex+1) % nbMut.size() ;
-00259     nbMut[genIndex] = nbSuccess[genIndex] = 0;
-00260 
-00261   }
-00262 
-00263 private:
-00264   eoEvalFunc<EOT> & eval;
-00265   double threshold;                // 1/5 !
-00266   double updateFactor ;            // the multiplicative factor
-00267   std::vector<unsigned> nbMut;     // total number of mutations per gen
-00268   std::vector<unsigned> nbSuccess;         // number of successful mutations per gen
-00269   unsigned genIndex ;              // current index in std::vectors (circular)
-00270 };
-00271 
-00272 
-00273 //-----------------------------------------------------------------------------
-00275 #endif
-00276 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_object_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_object_8h-source.html deleted file mode 100644 index 254ae16ac..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_object_8h-source.html +++ /dev/null @@ -1,64 +0,0 @@ - - -EO: eoObject.h Source File - - - - - -

eoObject.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoObject.h
-00005 // (c) GeNeura Team, 1998
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef EOOBJECT_H
-00026 #define EOOBJECT_H
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 #include <utils/eoData.h>       // For limits definition
-00031 #include <iostream>             // std::istream, std::ostream
-00032 #include <string>               // std::string
-00033 
-00034 #include <utils/compatibility.h>
-00035 
-00036 //-----------------------------------------------------------------------------
-00037 // eoObject
-00038 //-----------------------------------------------------------------------------
-00055 class eoObject
-00056 {
-00057  public:
-00059   virtual ~eoObject() {}
-00060   
-00070   virtual std::string className() const = 0; 
-00071 
-00072 };
-00073 
-00074 #endif
-00075 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_one_max_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_one_max_8h-source.html deleted file mode 100644 index f1e391774..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_one_max_8h-source.html +++ /dev/null @@ -1,90 +0,0 @@ - - -EO: eoOneMax.h Source File - - - - - -

eoOneMax.h

00001 
-00006 /*
-00007 Template for creating a new representation in EO
-00008 ================================================
-00009 */
-00010 
-00011 #ifndef _eoOneMax_h
-00012 #define _eoOneMax_h
-00013 
-00030 template< class FitT>
-00031 class eoOneMax: public EO<FitT> {
-00032 public:
-00037   eoOneMax() 
-00038   { 
-00039     // START Code of default Ctor of an eoOneMax object
-00040     // END   Code of default Ctor of an eoOneMax object
-00041   }
-00042 
-00043   virtual ~eoOneMax()
-00044   {
-00045     // START Code of Destructor of an eoEASEAGenome object
-00046     // END   Code of Destructor of an eoEASEAGenome object
-00047   }
-00048 
-00049   virtual string className() const { return "eoOneMax"; }
-00050 
-00052     void printOn(ostream& _os) const
-00053     {
-00054       // First write the fitness
-00055       EO<FitT>::printOn(_os);
-00056       _os << ' ';
-00057     // START Code of default output 
-00058 
-00063       _os << b.size() << ' ' ;
-00064       for (unsigned i=0; i<b.size(); i++)
-00065         _os << b[i] << ' ' ;
-00066     // END   Code of default output
-00067     }
-00068 
-00072   void readFrom(istream& _is)
-00073   {
-00074     // of course you should read the fitness first!
-00075     EO<FitT>::readFrom(_is);
-00076     // START Code of input
-00077 
-00082     unsigned s;
-00083     _is >> s;
-00084     b.resize(s);
-00085     for (unsigned i=0; i<s; i++)
-00086       {
-00087         bool bTmp;
-00088         _is >> bTmp;
-00089         b[i] = bTmp;
-00090       }                 
-00091     // END   Code of input
-00092   }
-00093 
-00094   // accessing and setting values
-00095   void setB(vector<bool> & _b)
-00096   {
-00097     b=_b;
-00098   }
-00099   const vector<bool> & B()
-00100   {
-00101     return b;
-00102   }
-00103 
-00104 private:                           // put all data here
-00105     // START Private data of an eoOneMax object
-00106   std::vector<bool> b;
-00107     // END   Private data of an eoOneMax object
-00108 };
-00109 
-00110 #endif
-00111 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_one_max_eval_func_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_one_max_eval_func_8h-source.html deleted file mode 100644 index f03bad558..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_one_max_eval_func_8h-source.html +++ /dev/null @@ -1,68 +0,0 @@ - - -EO: eoOneMaxEvalFunc.h Source File - - - - - -

eoOneMaxEvalFunc.h

00001 
-00006 /*
-00007 Template for evaluator in EO, a functor that computes the fitness of an EO
-00008 ==========================================================================
-00009 */
-00010  
-00011 #ifndef _eoOneMaxEvalFunc_h
-00012 #define _eoOneMaxEvalFunc_h
-00013 
-00014 // include whatever general include you need
-00015 #include <stdexcept>
-00016 #include <fstream>
-00017 
-00018 // include the base definition of eoEvalFunc
-00019 #include "eoEvalFunc.h"
-00020 
-00025 template <class EOT>
-00026 class eoOneMaxEvalFunc : public eoEvalFunc<EOT>
-00027 {
-00028 public:
-00030 // START eventually add or modify the anyVariable argument
-00031   eoOneMaxEvalFunc()
-00032   //  eoOneMaxEvalFunc( varType  _anyVariable) : anyVariable(_anyVariable) 
-00033 // END eventually add or modify the anyVariable argument
-00034   {
-00035     // START Code of Ctor of an eoOneMaxEvalFunc object
-00036     // END   Code of Ctor of an eoOneMaxEvalFunc object
-00037   }
-00038 
-00045   void operator()(EOT & _eo)
-00046   {
-00047     // test for invalid to avoid recomputing fitness of unmodified individuals
-00048     if (_eo.invalid())
-00049       {
-00050         double fit;                // to hold fitness value
-00051     // START Code of computation of fitness of the eoOneMax object
-00052         const vector<bool> & b = _eo.B();
-00053         fit = 0;
-00054         for (unsigned i=0; i<b.size(); i++)
-00055           fit += (b[i]?0:1);
-00056     // END   Code of computation of fitness of the eoOneMax object
-00057         _eo.fitness(fit);
-00058       }
-00059   }
-00060 
-00061 private:
-00062 // START Private data of an eoOneMaxEvalFunc object
-00063   //  varType anyVariable;                 // for example ...
-00064 // END   Private data of an eoOneMaxEvalFunc object
-00065 };
-00066 
-00067 
-00068 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_one_max_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_one_max_init_8h-source.html deleted file mode 100644 index 23913e12f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_one_max_init_8h-source.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: eoOneMaxInit.h Source File - - - - - -

eoOneMaxInit.h

00001 
-00006 /*
-00007 Template for EO objects initialization in EO
-00008 ============================================
-00009 */
-00010 
-00011 #ifndef _eoOneMaxInit_h
-00012 #define _eoOneMaxInit_h
-00013 
-00014 // include the base definition of eoInit
-00015 #include <eoInit.h>
-00016 
-00025 template <class GenotypeT>
-00026 class eoOneMaxInit: public eoInit<GenotypeT> {
-00027 public:
-00029 // START eventually add or modify the anyVariable argument
-00030 //  eoOneMaxInit()
-00031     eoOneMaxInit( unsigned  _vecSize) : vecSize(_vecSize) 
-00032 // END eventually add or modify the anyVariable argument
-00033   {
-00034     // START Code of Ctor of an eoOneMaxInit object
-00035     // END   Code of Ctor of an eoOneMaxInit object
-00036   }
-00037 
-00038 
-00044   void operator()(GenotypeT & _genotype)
-00045   {
-00046     // START Code of random initialization of an eoOneMax object
-00047     vector<bool> b(vecSize);
-00048     for (unsigned i=0; i<vecSize; i++)
-00049       b[i]=rng.flip();
-00050     _genotype.setB(b);
-00051     // END   Code of random initialization of an eoOneMax object
-00052     _genotype.invalidate();        // IMPORTANT in case the _genotype is old
-00053   }
-00054 
-00055 private:
-00056 // START Private data of an eoOneMaxInit object
-00057   unsigned vecSize;     // size of all bitstrings that this eoInit randomize
-00058   //  varType anyVariable;                 // for example ...
-00059 // END   Private data of an eoOneMaxInit object
-00060 };
-00061 
-00062 #endif
-00063 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_one_max_mutation_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_one_max_mutation_8h-source.html deleted file mode 100644 index 49f35bb07..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_one_max_mutation_8h-source.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: eoOneMaxMutation.h Source File - - - - - -

eoOneMaxMutation.h

00001 
-00006 /*
-00007 Template for simple mutation operators
-00008 ======================================
-00009 */
-00010 
-00011 #ifndef eoOneMaxMutation_H
-00012 #define eoOneMaxMutation_H
-00013 
-00014 
-00015 #include <eoOp.h>
-00016 
-00024 template<class GenotypeT>
-00025 class eoOneMaxMutation: public eoMonOp<GenotypeT>
-00026 {
-00027 public:
-00031     // START eventually add or modify the anyVariable argument
-00032     eoOneMaxMutation()
-00033     //  eoOneMaxMutation( varType  _anyVariable) : anyVariable(_anyVariable)
-00034     // END eventually add or modify the anyVariable argument
-00035         {
-00036             // START Code of Ctor of an eoOneMaxEvalFunc object
-00037             // END   Code of Ctor of an eoOneMaxEvalFunc object
-00038         }
-00039 
-00041     string className() const { return "eoOneMaxMutation"; }
-00042 
-00047     bool operator()(GenotypeT & _genotype)
-00048         {
-00049             bool isModified(true);
-00050             // START code for mutation of the _genotype object
-00051 
-00058             return isModified;
-00059             // END code for mutation of the _genotype object
-00060         }
-00061 
-00062 private:
-00063 // START Private data of an eoOneMaxMutation object
-00064     //  varType anyVariable;               // for example ...
-00065 // END   Private data of an eoOneMaxMutation object
-00066 };
-00067 
-00068 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_one_max_quad_crossover_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_one_max_quad_crossover_8h-source.html deleted file mode 100644 index f1ff78ce4..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_one_max_quad_crossover_8h-source.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoOneMaxQuadCrossover.h Source File - - - - - -

eoOneMaxQuadCrossover.h

00001 
-00006 /*
-00007 Template for simple quadratic crossover operators
-00008 =================================================
-00009 
-00010 Quadratic crossover operators modify the both genotypes
-00011 */
-00012 
-00013 #ifndef eoOneMaxQuadCrossover_H
-00014 #define eoOneMaxQuadCrossover_H
-00015 
-00016 #include <eoOp.h>
-00017 
-00025 template<class GenotypeT>
-00026 class eoOneMaxQuadCrossover: public eoQuadOp<GenotypeT>
-00027 {
-00028 public:
-00032 // START eventually add or modify the anyVariable argument
-00033     eoOneMaxQuadCrossover()
-00034     //  eoOneMaxQuadCrossover( varType  _anyVariable) : anyVariable(_anyVariable)
-00035     // END eventually add or modify the anyVariable argument
-00036         {
-00037             // START Code of Ctor of an eoOneMaxEvalFunc object
-00038             // END   Code of Ctor of an eoOneMaxEvalFunc object
-00039         }
-00040 
-00042     string className() const { return "eoOneMaxQuadCrossover"; }
-00043 
-00049     bool operator()(GenotypeT& _genotype1, GenotypeT & _genotype2)
-00050         {
-00051             bool oneAtLeastIsModified(true);
-00052             // START code for crossover of _genotype1 and _genotype2 objects
-00053 
-00060             return oneAtLeastIsModified;
-00061             // END code for crossover of _genotype1 and _genotype2 objects
-00062         }
-00063 
-00064 private:
-00065 // START Private data of an eoOneMaxQuadCrossover object
-00066     //  varType anyVariable;               // for example ...
-00067 // END   Private data of an eoOneMaxQuadCrossover object
-00068 };
-00069 
-00070 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_one_to_one_breeder_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_one_to_one_breeder_8h-source.html deleted file mode 100644 index f642e6903..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_one_to_one_breeder_8h-source.html +++ /dev/null @@ -1,123 +0,0 @@ - - -EO: eoOneToOneBreeder.h Source File - - - - - -

eoOneToOneBreeder.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoOneToOneBreeder.h 
-00005 // (c) Maarten Keijzer and Marc Schoenauer, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mkeijzer@dhi.dk
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoOneToOneBreeder_h
-00027 #define eoOneToOneBreeder_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <eoOp.h>
-00032 #include <eoGenOp.h>
-00033 #include <eoPopulator.h>
-00034 #include <eoSelectOne.h>
-00035 #include <eoSequentialSelect.h>
-00036 #include <eoBreed.h>
-00037 #include <eoEvalFunc.h>
-00038 #include <eoPopulator.h>
-00039 #include <utils/eoHowMany.h>
-00040 
-00041 /*****************************************************************************
-00042  * eoOneToOneBreeder: transforms a population using 
-00043  *   - an operator that MODIFIES only one parent from the populator
-00044  *     (though it can use any number aside) and thus generates ONE offspring)
-00045  *   - a local replacement between the parent and its offspring
-00046  *
-00047  * Typically, Differential Evolution (Storn and Price 94) and Deb et al's 
-00048  *   G3 can be built on this
-00049  ****************************************************************************
-00050  */
-00051 template<class EOT>
-00052 class eoOneToOneBreeder: public eoBreed<EOT>
-00053 {
-00054  public:
-00062   eoOneToOneBreeder(
-00063           eoGenOp<EOT>& _op,
-00064           eoEvalFunc<EOT> & _eval, 
-00065           double _pReplace = 1.0,
-00066           eoHowMany _howMany = eoHowMany(1.0) ) :
-00067       op(_op), eval(_eval), select( false ), 
-00068       pReplace(_pReplace), howMany(_howMany) {}
-00069 
-00070 
-00078   void operator()(const eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00079     {
-00080       unsigned target = howMany(_parents.size());
-00081       
-00082       _offspring.clear();
-00083       eoSelectivePopulator<EOT> popit(_parents, _offspring, select);
-00084       
-00085       for (unsigned iParent=0; iParent<target; iParent++)
-00086         {
-00087           unsigned pos = popit.tellp(); // remember current position
-00088           EOT theParent = *popit;  // remember the parent itself
-00089 
-00090           // now apply operator - will modify the parent
-00091           op(popit);
-00092 
-00093           // replacement
-00094           EOT & leOffspring = *popit;
-00095 
-00096           // check: only one offspring?
-00097           unsigned posEnd = popit.tellp();
-00098           if (posEnd != pos)
-00099             throw std::runtime_error("Operator can only generate a SINGLE offspring in eoOneToOneBreeder");
-00100 
-00101           // do the tournament between parent and offspring
-00102           eval(leOffspring);  // first need to evaluate the offspring
-00103           if (theParent > leOffspring) // old parent better than offspring
-00104             if (rng.uniform() < pReplace) // if probability
-00105               leOffspring = theParent; // replace
-00106           // finally, go to next guy to handle
-00107           ++popit;
-00108         }
-00109     }
-00110 
-00112   virtual std::string className() const { return "eoOneToOneBreeder"; }
-00113 
-00114  private:
-00115   eoGenOp<EOT>& op;
-00116   eoEvalFunc<EOT> & eval;
-00117   eoSequentialSelect<EOT> select;
-00118   double pReplace;
-00119   eoHowMany howMany;
-00120 };
-00121 
-00122 #endif
-00123 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_op_8h-source.html deleted file mode 100644 index 8cef98616..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_op_8h-source.html +++ /dev/null @@ -1,118 +0,0 @@ - - -EO: eoOp.h Source File - - - - - -

eoOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 //-----------------------------------------------------------------------------
-00003 // eoOp.h
-00004 // (c) GeNeura Team, 1998
-00005 /* 
-00006     This library is free software; you can redistribute it and/or
-00007     modify it under the terms of the GNU Lesser General Public
-00008     License as published by the Free Software Foundation; either
-00009     version 2 of the License, or (at your option) any later version.
-00010 
-00011     This library is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00014     Lesser General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU Lesser General Public
-00017     License along with this library; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 
-00020     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00021     CVS Info: $Date: 2004/08/10 17:19:46 $ $Header: /cvsroot/eodev/eo/src/eoOp.h,v 1.29 2004/08/10 17:19:46 jmerelo Exp $ $Author: jmerelo $ 
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoOp_H
-00026 #define _eoOp_H
-00027 
-00028 #include <eoObject.h>
-00029 #include <eoPrintable.h>
-00030 #include <eoFunctor.h>
-00031 #include <utils/eoRNG.h>
-00058 
-00067 template<class EOType>
-00068 class eoOp
-00069 {
-00070 public:
-00072   enum OpType { unary = 0, binary = 1, quadratic = 2, general = 3};
-00074 
-00076   eoOp(OpType _type)
-00077     :opType( _type ) {};
-00078 
-00080   eoOp( const eoOp& _eop )
-00081     :opType( _eop.opType ) {};
-00082 
-00084   virtual ~eoOp(){};
-00085 
-00087   OpType getType() const {return opType;};
-00088 
-00089 private:
-00090 
-00092   OpType opType;
-00093 };
-00094 
-00100 template <class EOType>
-00101 class eoMonOp: public eoOp<EOType>, public eoUF<EOType&, bool>
-00102 {
-00103 public:
-00105   eoMonOp()
-00106     : eoOp<EOType>( eoOp<EOType>::unary ) {};
-00107   virtual std::string className() const {return "eoMonOp";};
-00108 };
-00109 
-00110 
-00116 template<class EOType>
-00117 class eoBinOp: public eoOp<EOType>, public eoBF<EOType&, const EOType&, bool>
-00118 {
-00119 public:
-00121   eoBinOp()
-00122       :eoOp<EOType>( eoOp<EOType>::binary ) {};
-00123   virtual std::string className() const {return "eoBinOp";};
-00124 };
-00125 
-00131 template<class EOType>
-00132 class eoQuadOp: public eoOp<EOType>, public eoBF<EOType&, EOType&, bool> {
-00133 public:
-00135   eoQuadOp()
-00136     :eoOp<EOType>( eoOp<EOType>::quadratic ) {};
-00137   virtual std::string className() const {return "eoQuadOp";};
-00138 };
-00139 
-00142 template <class EOT>
-00143 class eoQuad2BinOp: public eoBinOp<EOT>
-00144 {
-00145 public:
-00149   eoQuad2BinOp(eoQuadOp<EOT> & _quadOp) : quadOp(_quadOp) {}
-00150 
-00153   bool operator()(EOT & _eo1, const EOT & _eo2)
-00154   {
-00155     EOT eoTmp = _eo2;              // a copy that can be modified
-00156     // if the embedded eoQuadOp is not symmetrical,
-00157     // the result might be biased - hence the flip ...
-00158     if (eo::rng.flip(0.5))
-00159       return quadOp(_eo1, eoTmp);          // both are modified - that's all
-00160     else
-00161       return quadOp(eoTmp, _eo1);          // both are modified - that's all
-00162   }
-00163 
-00164 private:
-00165   eoQuadOp<EOT> & quadOp;
-00166 };
-00167 
-00168 #endif
-00169 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_op_container_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_op_container_8h-source.html deleted file mode 100644 index e610e2e38..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_op_container_8h-source.html +++ /dev/null @@ -1,149 +0,0 @@ - - -EO: eoOpContainer.h Source File - - - - - -

eoOpContainer.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoOpContainer.h
-00005 // (c) Maarten Keijzer and Marc Schoenauer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mkeijzer@dhi.dk
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoOpContainer_H
-00027 #define _eoOpContainer_H
-00028 
-00029 #include <eoGenOp.h>
-00030 
-00041 template <class EOT>
-00042 class eoOpContainer : public eoGenOp<EOT>
-00043 {
-00044   public :
-00046   eoOpContainer() : max_to_produce(0) {}
-00047 
-00050   virtual ~eoOpContainer(void) {}
-00051 
-00053   virtual unsigned max_production(void)
-00054   {
-00055     return max_to_produce;
-00056   }
-00057 
-00063   void add(eoOp<EOT>& _op, double _rate)
-00064   {
-00065     ops.push_back(&wrap_op<EOT>(_op, store));
-00066     rates.push_back(_rate);
-00067     max_to_produce = std::max(max_to_produce,ops.back()->max_production());
-00068   }
-00069 
-00070   virtual std::string className() const = 0;
-00071 
-00072   protected :
-00073 
-00074   std::vector<double> rates;
-00075   std::vector<eoGenOp<EOT>*> ops;
-00076 
-00077   private :
-00078   eoFunctorStore store;
-00079   unsigned max_to_produce;
-00080 };
-00081 
-00087 template <class EOT>
-00088 class eoSequentialOp : public eoOpContainer<EOT>
-00089 {
-00090 public:
-00091 
-00092     using eoOpContainer<EOT>::ops;
-00093     using eoOpContainer<EOT>::rates;
-00094 
-00095     typedef unsigned position_type;
-00096 
-00097 
-00098     void apply(eoPopulator<EOT>& _pop) {
-00099         position_type pos = _pop.tellp();
-00100         for (size_t i = 0; i < rates.size(); ++i) {
-00101             _pop.seekp(pos);
-00102             do {
-00103                 if (eo::rng.flip(rates[i])) {
-00104                     //            try
-00105                     //            {
-00106                     // apply it to all the guys in the todo std::list
-00107                     (*ops[i])(_pop);
-00108                     //            }
-00109                     // check for out of individuals and do nothing with that...
-00110                     //            catch(eoPopulator<EOT>::OutOfIndividuals&)
-00111                     //        {
-00112                     //          std::cout << "Warning: not enough individuals to handle\n";
-00113                     //          return ;
-00114                     //        }
-00115                 }
-00116 
-00117                 if (!_pop.exhausted())
-00118                     ++_pop;
-00119             }
-00120             while (!_pop.exhausted());
-00121         }
-00122     }
-00123     virtual std::string className() const {return "SequentialOp";}
-00124 
-00125 private:
-00126 
-00127     std::vector<size_t> to_apply;
-00128     std::vector<size_t> production;
-00129 };
-00130 
-00131 
-00132 
-00134 template <class EOT>
-00135 class eoProportionalOp : public eoOpContainer<EOT>
-00136 {
-00137 public:
-00138 
-00139     using eoOpContainer< EOT >::ops;
-00140     using eoOpContainer< EOT >::rates;
-00141 
-00142     void apply(eoPopulator<EOT>& _pop)
-00143     {
-00144       unsigned i = eo::rng.roulette_wheel(rates);
-00145 
-00146       try
-00147       {
-00148         (*ops[i])(_pop);
-00149         ++_pop;
-00150       }
-00151       catch( typename eoPopulator<EOT>::OutOfIndividuals&)
-00152       {}
-00153     }
-00154   virtual std::string className() const {return "ProportionalOp";}
-00155 };
-00156 
-00157 
-00158 #endif
-00159 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_op_sel_mason_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_op_sel_mason_8h-source.html deleted file mode 100644 index 5c0686f8c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_op_sel_mason_8h-source.html +++ /dev/null @@ -1,105 +0,0 @@ - - -EO: eoOpSelMason.h Source File - - - - - -

eoOpSelMason.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoOpSelMason.h
-00005 // (c) GeNeura Team, 1999
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _EOOPSELMASON_H
-00026 #define _EOOPSELMASON_H
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 #include <eoProportionalOpSel.h>
-00030 #include <eoOpFactory.h>        // for eoFactory and eoOpFactory
-00031 
-00032 #include <map>
-00033 
-00034 //-----------------------------------------------------------------------------
-00035 
-00038 template<class eoClass>
-00039 class eoOpSelMason: public eoFactory<eoOpSelector<eoClass> > {
-00040         
-00041 public:
-00042         typedef std::vector<eoOp<eoClass>* > vOpP;
-00043         typedef map<eoOpSelector<eoClass>*, vOpP > MEV;
-00044 
-00046         //{@
-00048         eoOpSelMason( eoOpFactory<eoClass>& _opFact): operatorFactory( _opFact ) {};
-00049         
-00051         virtual ~eoOpSelMason() {};
-00053 
-00065         virtual eoOpSelector<eoClass>* make(std::istream& _is) {
-00066 
-00067                 std::string opSelName;
-00068                 _is >> opSelName;
-00069                 eoOpSelector<eoClass>* opSelectorP;
-00070                 // Build the operator selector
-00071                 if ( opSelName == "eoProportionalOpSel" ) {
-00072                         opSelectorP = new eoProportionalOpSel<eoClass>();
-00073                 }
-00074 
-00075                 // Temp std::vector for storing pointers
-00076                 vOpP tmpPVec;
-00077                 // read operator rate and name
-00078                 while ( _is ) {
-00079                         float rate;
-00080                         _is >> rate;
-00081                         if ( _is ) {
-00082                                 eoOp<eoClass>* op = operatorFactory.make( _is );        // This reads the rest of the line
-00083                                 // Add the operators to the selector, don´t pay attention to the IDs
-00084                                 opSelectorP->addOp( *op, rate );
-00085                                 // Keep it in the store, to destroy later
-00086                                 tmpPVec.push_back( op );
-00087                         } // if
-00088                 } // while
-00089 
-00090                 // Put it in the map
-00091                 allocMap.insert( MEV::value_type( opSelectorP, tmpPVec ) );
-00092                 
-00093                 return opSelectorP;
-00094         };
-00095 
-00097 
-00098 
-00099         virtual std::string className() const { return "eoOpSelMason"; }
-00100 
-00102         
-00103 private:
-00104         map<eoOpSelector<eoClass>*,std::vector<eoOp<eoClass>* > > allocMap;
-00105         eoOpFactory<eoClass>& operatorFactory;
-00106 };
-00107 
-00108 
-00109 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_additive_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_additive_8h-source.html deleted file mode 100644 index 0f1462f67..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_additive_8h-source.html +++ /dev/null @@ -1,118 +0,0 @@ - - -EO: eoPBILAdditive.h Source File - - - - - -

eoPBILAdditive.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoPBILAdditive.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoPBILAdditive_H
-00027 #define _eoPBILAdditive_H
-00028 
-00029 #include <eoDistribUpdater.h>
-00030 #include <ga/eoPBILDistrib.h>
-00031 
-00045 template <class EOT>
-00046 class eoPBILAdditive :  public eoDistribUpdater<EOT>
-00047 {
-00048 public:
-00052   eoPBILAdditive(double _LRBest, unsigned _nbBest = 1,
-00053                 double _tolerance=0.0,
-00054                 double _LRWorst = 0.0, unsigned _nbWorst = 0 ) :
-00055     maxBound(1.0-_tolerance), minBound(_tolerance),
-00056     LR(0.0), nbBest(_nbBest), nbWorst(_nbWorst)
-00057   {
-00058     if (nbBest+nbWorst == 0)
-00059       throw std::runtime_error("Must update either from best or from worst in eoPBILAdditive");
-00060 
-00061     if (_nbBest)
-00062       {
-00063         lrb = _LRBest/_nbBest;
-00064         LR += _LRBest;
-00065       }
-00066     else
-00067       lrb=0.0;                     // just in case
-00068     if (_nbWorst)
-00069       {
-00070         lrw = _LRWorst/_nbWorst;
-00071         LR += _LRWorst;
-00072       }
-00073     else
-00074       lrw=0.0;                     // just in case
-00075   }
-00076 
-00078   virtual void operator()(eoDistribution<EOT> & _distrib, eoPop<EOT>& _pop)
-00079   {
-00080     eoPBILDistrib<EOT>& distrib = dynamic_cast<eoPBILDistrib<EOT>&>(_distrib);
-00081 
-00082     std::vector<double> & p = distrib.value();
-00083 
-00084     unsigned i, popSize=_pop.size();
-00085     std::vector<const EOT*> result;
-00086     _pop.sort(result);    // is it necessary to sort the whole population?
-00087                          // but I'm soooooooo lazy !!!
-00088 
-00089     for (unsigned g=0; g<distrib.size(); g++)
-00090       {
-00091         p[g] *= (1-LR);            // relaxation
-00092         if (nbBest)                // update from some of the best
-00093           for (i=0; i<nbBest; i++)
-00094             {
-00095               const EOT & best = (*result[i]);
-00096               if ( best[g] )       // if 1, increase proba
-00097                 p[g] +=  lrb;
-00098             }
-00099         if (nbWorst)
-00100           for (i=popSize-1; i>=popSize-nbWorst; i--)
-00101             {
-00102               const EOT & best = (*result[i]);
-00103               if ( !best[g] )      // if 0, increase proba
-00104                 p[g] +=  lrw;
-00105             }
-00106         // stay in [0,1] (possibly strictly due to tolerance)
-00107         p[g] = std::min(maxBound, p[g]);
-00108         p[g] = std::max(minBound, p[g]);
-00109       }
-00110   }
-00111 
-00112 private:
-00113   double maxBound, minBound;    // proba stay away from 0 and 1 by at least tolerance
-00114   double LR;           // learning rate
-00115   unsigned nbBest;     // number of Best individuals used for update
-00116   unsigned nbWorst;    // number of Worse individuals used for update
-00117   double lrb, lrw;     // "local" learning rates (see operator())
-00118 };
-00119 
-00120 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_distrib_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_distrib_8h-source.html deleted file mode 100644 index 2f909fa9e..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_distrib_8h-source.html +++ /dev/null @@ -1,97 +0,0 @@ - - -EO: eoPBILDistrib.h Source File - - - - - -

eoPBILDistrib.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoPBILDistrib.h
-00005 // (c) Marc Schoenauer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@inria.fr
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoPBILDistrib_H
-00026 #define _eoPBILDistrib_H
-00027 
-00028 #include <eoDistribution.h>
-00029 
-00043 template <class EOT>
-00044 class eoPBILDistrib :  public eoDistribution<EOT>, 
-00045                        public eoValueParam<std::vector<double> >
-00046 {
-00047 public:
-00049   eoPBILDistrib(unsigned _genomeSize) :
-00050     eoDistribution<EOT>(), 
-00051     eoValueParam<std::vector<double> >(std::vector<double>(_genomeSize, 0.5), "Distribution"),
-00052     genomeSize(_genomeSize)
-00053   {}
-00054 
-00056   virtual void operator()(EOT & _eo)
-00057   {
-00058     _eo.resize(genomeSize);        // just in case
-00059     for (unsigned i=0; i<genomeSize; i++)
-00060       _eo[i] = eo::rng.flip(value()[i]);
-00061     _eo.invalidate();              // DO NOT FORGET!!!
-00062   }
-00063 
-00065   unsigned Size() {return genomeSize;}
-00066 
-00068   virtual void printOn(std::ostream& os) const
-00069   {
-00070     os << value().size() << ' ';
-00071     for (unsigned i=0; i<value().size(); i++)
-00072       os << value()[i] << ' ';
-00073   } 
-00074   
-00076   virtual void readFrom(std::istream& is)
-00077   {
-00078     unsigned sz;
-00079     is >> sz;
-00080     
-00081     value().resize(sz);
-00082     unsigned i;
-00083     
-00084     for (i = 0; i < sz; ++i)
-00085       {
-00086         double atom;
-00087         is >> atom;
-00088         value()[i] = atom;
-00089       }
-00090   }
-00091 
-00092   unsigned int size() {return genomeSize;}
-00093 
-00094   virtual std::string className() const {return "eoPBILDistrib";};
-00095 
-00096 private:
-00097   unsigned genomeSize; // size of indis
-00098 };
-00099 
-00100 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_org_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_org_8h-source.html deleted file mode 100644 index 7823ff899..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_p_b_i_l_org_8h-source.html +++ /dev/null @@ -1,82 +0,0 @@ - - -EO: eoPBILOrg.h Source File - - - - - -

eoPBILOrg.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoPBILOrg.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoPBILOrg_H
-00027 #define _eoPBILOrg_H
-00028 
-00029 #include <eoDistribUpdater.h>
-00030 #include <ga/eoPBILDistrib.h>
-00031 
-00041 template <class EOT>
-00042 class eoPBILOrg :  public eoDistribUpdater<EOT>
-00043 {
-00044 public:
-00046   eoPBILOrg(double _LR, double _tolerance=0.0 ) :
-00047     LR(_LR), maxBound(1.0-_tolerance), minBound(_tolerance)
-00048   {}
-00049 
-00050 
-00052   virtual void operator()(eoDistribution<EOT> & _distrib, eoPop<EOT>& _pop)
-00053   {
-00054     const EOT & best = _pop.best_element();
-00055     eoPBILDistrib<EOT>& distrib = dynamic_cast<eoPBILDistrib<EOT>&>(_distrib);
-00056 
-00057     std::vector<double> & p = distrib.value();
-00058 
-00059     for (unsigned g=0; g<distrib.size(); g++)
-00060       {
-00061         //      double & r = value()[g];
-00062         p[g] *= (1-LR);
-00063         if ( best[g] )
-00064           p[g] +=  LR;
-00065         // else nothing
-00066 
-00067         // stay away from 0 and 1
-00068         p[g] = std::min(maxBound, p[g]);
-00069         p[g] = std::max(minBound, p[g]);
-00070       }
-00071   }
-00072 
-00073 private:
-00074   double LR;    // learning rate for best guys
-00075   double maxBound, minBound;    // proba stay away from 0 and 1 by at least tolerance
-00076 };
-00077 
-00078 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_param_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_param_8h-source.html deleted file mode 100644 index c37b7b0f5..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_param_8h-source.html +++ /dev/null @@ -1,365 +0,0 @@ - - -EO: eoParam.h Source File - - - - - -

eoParam.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoParam.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00006 /*
-00007   This library is free software; you can redistribute it and/or
-00008   modify it under the terms of the GNU Lesser General Public
-00009   License as published by the Free Software Foundation; either
-00010   version 2 of the License, or (at your option) any later version.
-00011 
-00012   This library is distributed in the hope that it will be useful,
-00013   but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015   Lesser General Public License for more details.
-00016 
-00017   You should have received a copy of the GNU Lesser General Public
-00018   License along with this library; if not, write to the Free Software
-00019   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021   Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022   Marc.Schoenauer@polytechnique.fr
-00023   mkeijzer@dhi.dk
-00024 */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoParam_h
-00028 #define eoParam_h
-00029 
-00030 #include <cmath>
-00031 #include <iterator>
-00032 #include <stdexcept>
-00033 #include <sstream>
-00034 #include <string>
-00035 #include <vector>
-00036 #include <eoScalarFitness.h>
-00037 
-00038 
-00042 class eoParam
-00043 {
-00044 public:
-00045 
-00047     eoParam ()
-00048         : repLongName(""), repDefault(""), repDescription(""),
-00049           repShortHand(0), repRequired(false)
-00050         {}
-00051 
-00060     eoParam (std::string _longName, std::string _default,
-00061              std::string _description, char _shortName = 0, bool _required = false)
-00062         : repLongName(_longName), repDefault(_default),
-00063           repDescription(_description ),
-00064           repShortHand(_shortName), repRequired( _required)
-00065         {}
-00066 
-00070     virtual ~eoParam () {};
-00071 
-00075     virtual std::string getValue () const = 0;
-00076 
-00080     virtual void setValue(const std::string& _value)   = 0 ;
-00081 
-00085     char shortName() const { return repShortHand; };
-00086 
-00090     const std::string& longName() const { return repLongName; };
-00091 
-00095     const std::string& description() const { return repDescription; };
-00096 
-00100     const std::string& defValue() const { return repDefault; };
-00101 
-00105     void defValue( const std::string& str ) { repDefault = str; };
-00106 
-00110     void setLongName(std::string _longName) { repLongName = _longName;}
-00111 
-00115     bool required() const { return repRequired; };
-00116 
-00117 private:
-00118     std::string repLongName;
-00119     std::string repDefault;
-00120     std::string repDescription;
-00121     char repShortHand;
-00122     bool repRequired;
-00123 };
-00124 
-00125 
-00126 
-00135 template <class ValueType>
-00136 class eoValueParam : public eoParam
-00137 {
-00138 public :
-00139 
-00141     eoValueParam(void) : eoParam() {}
-00142 
-00151     eoValueParam(ValueType _defaultValue,
-00152                  std::string _longName,
-00153                  std::string _description = "No description",
-00154                  char _shortHand = 0,
-00155                  bool _required = false)
-00156         : eoParam(_longName, "", _description, _shortHand, _required),
-00157           repValue(_defaultValue)
-00158         {
-00159             eoParam::defValue(getValue());
-00160         }
-00161 
-00166     ValueType& value()
-00167         { return repValue; }
-00168 
-00175     const ValueType& value() const
-00176         { return repValue; }
-00177 
-00178 
-00179     std::string getValue(void) const
-00180         {
-00181             std::ostringstream os;
-00182             os << repValue;
-00183             return os.str();
-00184         }
-00185 
-00186 
-00187     void setValue(const std::string& _value)
-00188         {
-00189             std::istringstream is(_value);
-00190             is >> repValue;
-00191         }
-00192 
-00193 protected:
-00194 
-00195     ValueType repValue;
-00196 };
-00197 
-00198 /*
-00199   Specialization for std::string
-00200 */
-00201 template <>
-00202 inline std::string eoValueParam<std::string>::getValue() const
-00203 {
-00204     return repValue;
-00205 }
-00206 
-00207 
-00208 template <>
-00209 inline void eoValueParam<bool>::setValue(const std::string& _value)
-00210 {
-00211     if (_value.empty())
-00212     {
-00213         repValue = true;
-00214         return;
-00215     }
-00216     std::istringstream is(_value);
-00217     is >> repValue;
-00218 }
-00219 
-00220 
-00222 template <>
-00223 inline std::string eoValueParam<std::pair<double, double> >::getValue(void) const
-00224 {
-00225     // use own buffer as MSVC's buffer leaks!
-00226     std::ostringstream os;
-00227     os << repValue.first << ' ' << repValue.second;
-00228     return os.str();
-00229 }
-00230 
-00232 template <>
-00233 inline void eoValueParam<std::pair<double, double> >::setValue(const std::string& _value)
-00234 {
-00235     std::istringstream is(_value);
-00236     is >> repValue.first;
-00237     is >> repValue.second;
-00238 }
-00239 
-00240 // The std::vector<std::vector<double> >
-00243 template <>
-00244 inline std::string eoValueParam<std::vector<std::vector<double> > >::getValue(void) const
-00245 {
-00246     std::ostringstream os;
-00247     os << repValue.size() << ' ';
-00248     for (unsigned i = 0; i < repValue.size(); ++i)
-00249     {
-00250         os << repValue[i].size() << ' ';
-00251         std::copy(repValue[i].begin(), repValue[i].end(), std::ostream_iterator<double>(os, " "));
-00252     }
-00253     return os.str();
-00254 }
-00255 
-00257 template <>
-00258 inline void eoValueParam<std::vector<std::vector<double> > >::setValue(const std::string& _value)
-00259 {
-00260     std::istringstream is(_value);
-00261     unsigned i,j,sz;
-00262     is >> sz;
-00263     repValue.resize(sz);
-00264 
-00265     for (i = 0; i < repValue.size(); ++i)
-00266     {
-00267         unsigned sz2;
-00268         is >> sz2;
-00269         repValue[i].resize(sz2);
-00270         for (j = 0; j < sz2; ++j)
-00271         {
-00272             is >> repValue[i][j];
-00273         }
-00274     }
-00275 }
-00276 
-00277 // The std::vector<double>
-00280 template <>
-00281 inline std::string eoValueParam<std::vector<double> >::getValue(void) const
-00282 {
-00283     std::ostringstream os;
-00284     os << repValue.size() << ' ';
-00285     std::copy(repValue.begin(), repValue.end(), std::ostream_iterator<double>(os, " "));
-00286     return os.str();
-00287 }
-00288 
-00290 template <>
-00291 inline void eoValueParam<std::vector<double> >::setValue(const std::string& _value)
-00292 {
-00293     std::istringstream is(_value);
-00294     unsigned sz;
-00295     is >> sz;
-00296     repValue.resize(sz);
-00297     std::copy(std::istream_iterator<double>(is), std::istream_iterator<double>(), repValue.begin());
-00298 }
-00299 
-00300 // The std::vector<eoMinimizingFitness>
-00303 template <>
-00304 inline std::string eoValueParam<std::vector<eoMinimizingFitness> >::getValue(void) const
-00305 {
-00306     std::ostringstream os;
-00307     os << repValue.size() << ' ';
-00308     std::copy(repValue.begin(), repValue.end(), std::ostream_iterator<eoMinimizingFitness>(os, " "));
-00309     return os.str();
-00310 }
-00311 
-00313 // NOTE: g++ doesn support it either!!!
-00314 template <>
-00315 inline void eoValueParam<std::vector<eoMinimizingFitness> >::setValue(const std::string& _value)
-00316 {
-00317     std::istringstream is(_value);
-00318     unsigned sz;
-00319     is >> sz;
-00320     repValue.resize(sz);
-00321     std::copy(std::istream_iterator<eoMinimizingFitness>(is), std::istream_iterator<eoMinimizingFitness>(), repValue.begin());
-00322 }
-00323 
-00324 // The std::vector<const EOT*>
-00326 template <>
-00327 inline std::string eoValueParam<std::vector<void*> >::getValue(void) const
-00328 {
-00329     throw std::runtime_error("I cannot getValue for a std::vector<EOT*>");
-00330     return std::string("");
-00331 }
-00332 
-00333 template <>
-00334 inline void eoValueParam<std::vector<void*> >::setValue(const std::string&)
-00335 {
-00336     throw std::runtime_error("I cannot setValue for a std::vector<EOT*>");
-00337     return;
-00338 }
-00339 
-00340 /*template <class ContainerType>
-00341   class eoContainerParam : public eoParam
-00342   {
-00343   public :
-00344   eoContainerParam (ContainerType& value, std::string _shortName, std::string _longName,
-00345   std::string _default,
-00346   std::string _description,
-00347   bool _required,
-00348   bool _change )
-00349   : value(_value), eoParam(_shortName, _longName, _description, _default, _required, _change)
-00350   {}
-00351 
-00352 
-00353   //  void setValue(const std::string & _value)
-00354   // {
-00355   //     std::istd::stringstream is(_value);
-00356   //    copy(std::istream_iterator<Container::value_type>(is), std::istream_iterator<Container::value_type>(), back_inserter(value));
-00357   // }
-00358 
-00359   private :
-00360   ContainerType& value;
-00361   };*/
-00362 
-00373 class eoParamParamType : public std::pair<std::string,std::vector<std::string> >
-00374 {
-00375 public:
-00376     eoParamParamType(std::string _value)
-00377         {
-00378             readFrom(_value);
-00379         }
-00380 
-00381     std::ostream & printOn(std::ostream & _os) const
-00382         {
-00383             _os << first;
-00384             unsigned narg = second.size();
-00385             if (!narg)
-00386                 return _os;
-00387 
-00388             // Here, we do have args
-00389             _os << "(";
-00390             if (narg == 1)         // 1 arg only
-00391             {
-00392                 _os << second[0] << ")" ;
-00393                 return _os;
-00394             }
-00395             // and here more than 1 arg
-00396             for (unsigned i=0; i<narg-1; i++)
-00397                 _os << second[i] << "," ;
-00398             _os << second[narg-1] << ")";
-00399             return _os;
-00400         }
-00401 
-00402     std::istream & readFrom(std::istream & _is)
-00403         {
-00404             std::string value;
-00405             _is >> value;
-00406             readFrom(value);
-00407             return _is;
-00408         }
-00409 
-00410     void readFrom(std::string &  _value)
-00411         {
-00412             second.resize(0);              // just in case
-00413             size_t pos = _value.find('(');
-00414             if (pos >= _value.size())      // no arguments
-00415             {
-00416                 first = _value;
-00417                 return;
-00418             }
-00419             // so here we do have arguments
-00420             std::string t = _value.substr(pos+1);// the arguments
-00421             _value.resize(pos);
-00422             first = _value;    // done for the keyword (NOTE: may be empty std::string!)
-00423 
-00424             // now all arguments
-00425             std::string delim(" (),");
-00426             while ( (pos=t.find_first_not_of(delim)) < t.size())
-00427             {
-00428                 size_t posEnd = t.find_first_of(delim, pos);
-00429                 std::string u = t.substr(pos,posEnd);//(t, pos);
-00430                 /*u.resize(posEnd - pos);*/
-00431                 second.push_back(u);
-00432                 t = t.substr(posEnd+1);
-00433             }
-00434         }
-00435 };
-00436 
-00437 // at the moment, the following are defined in eoParser.cpp
-00438 std::ostream & operator<<(std::ostream & _os, const eoParamParamType & _rate);
-00439 std::istream & operator>>(std::istream & _is,  eoParamParamType & _rate);
-00440 
-00441 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_pareto_constraint_fitness_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_pareto_constraint_fitness_8h-source.html deleted file mode 100644 index 49b524ebe..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_pareto_constraint_fitness_8h-source.html +++ /dev/null @@ -1,215 +0,0 @@ - - -EO: eoParetoConstraintFitness.h Source File - - - - - -

eoParetoConstraintFitness.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoParetoConstraintFitness.h
-00005 // (c) Maarten Keijzer and Marc Schoenauer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mkeijzer@cs.vu.nl
-00022              Marc.Schoenauer@inria.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoParetoConstraintFitness_h
-00027 #define _eoParetoConstraintFitness_h
-00028 
-00029 #include <math.h>
-00030 #include <vector>
-00031 #include <stdexcept>
-00032 #include <iostream>
-00033 
-00034 #include <eoParetoFitness.h>
-00035 
-00060 template <class FitnessTraits = eoParetoFitnessTraits>
-00061 class eoParetoOneConstraintFitness : public std::vector<double>
-00062 {
-00063 private: 
-00064   // this class implements only 1 inequality constraint 
-00065   //               (must ponder a bit for generality without huge overload)
-00066   double constraintValue;          // inequality cstr - must be negative
-00067 
-00068 public :
-00069   typedef FitnessTraits fitness_traits;
-00070 
-00071   eoParetoOneConstraintFitness(void) : std::vector<double>(FitnessTraits::nObjectives(),0.0)  {}
-00072 
-00073   // Ctr from a std::vector<double> (size nObjectives+1)
-00074   eoParetoOneConstraintFitness(std::vector<double> & _v) : 
-00075     std::vector<double>(_v) 
-00076   {
-00077 #ifndef NDEBUG
-00078     if (_v.size() != fitness_traits::nObjectives()+1)
-00079       throw std::runtime_error("Size error in Ctor of eoParetoOneConstraintFitness from std::vector");
-00080 #endif
-00081     constraintValue = _v[fitness_traits::nObjectives()];
-00082     resize(fitness_traits::nObjectives());
-00083   }
-00084   
-00085   // Ctr from a std::vector<double> and a value
-00086   eoParetoOneConstraintFitness(std::vector<double> & _v, double _c) : 
-00087     std::vector<double>(_v), constraintValue(_c) 
-00088   {
-00089 #ifndef NDEBUG
-00090     if (_v.size() != fitness_traits::nObjectives())
-00091       throw std::runtime_error("Size error in Ctor of eoParetoOneConstraintFitness from std::vector and value");
-00092 #endif
-00093   }
-00094   
-00095 
-00099   static void setUp(unsigned _n, std::vector<bool> & _b) {FitnessTraits::setUp(_n, _b);}
-00100   static bool maximizing(unsigned _i) { return FitnessTraits::maximizing(_i);}
-00101 
-00102   bool feasible() const { return constraintValue<=0;} 
-00103   double violation() const { return (feasible()?0.0:constraintValue);}
-00104   double ConstraintValue() const {return constraintValue;}
-00105   void ConstraintValue(double _c) {constraintValue=_c;}
-00106 
-00108   //bool operator<(const eoParetoFitness<FitnessTraits>& _other) const
-00109   bool dominates(const eoParetoOneConstraintFitness<FitnessTraits>& _other) const
-00110   {
-00111     bool dom = false;
-00112 
-00113     double tol = FitnessTraits::tol();
-00114     const std::vector<double>& performance = *this;
-00115     const std::vector<double>& otherperformance = _other;
-00116 
-00117     if (feasible() && _other.feasible())
-00118     // here both are feasible: do the "standard" domination
-00119       for (unsigned i = 0; i < FitnessTraits::nObjectives(); ++i)
-00120         {
-00121           bool maxim = FitnessTraits::maximizing(i);
-00122           double aval = maxim? performance[i] : -performance[i];
-00123           double bval = maxim? otherperformance[i] : -otherperformance[i];
-00124           
-00125           if (fabs(aval - bval) > tol)
-00126             {
-00127               if (aval < bval)
-00128                 {
-00129                   return false; // cannot dominate
-00130                 }
-00131               // else aval < bval
-00132               dom = true; // for the moment: goto next objective
-00133             }
-00134           //else they're equal in this objective, goto next
-00135         }
-00136     else
-00137       {                    // one at least is not feasible
-00138         if (feasible())
-00139           return true;             // feasible wins
-00140         else if (_other.feasible())
-00141           return false;            // feasible wins
-00142         return (violation()<_other.violation()); // smallest violation wins
-00143       }
-00144 
-00145     return dom;
-00146   }
-00147 
-00149   bool operator<(const eoParetoOneConstraintFitness<FitnessTraits>& _other) const
-00150   {
-00151     double tol = FitnessTraits::tol();
-00152     const std::vector<double>& performance = *this;
-00153     const std::vector<double>& otherperformance = _other;
-00154     for (unsigned i = 0; i < FitnessTraits::nObjectives(); ++i)
-00155     {
-00156       bool maxim = FitnessTraits::maximizing(i);
-00157       double aval = maxim? performance[i] : -performance[i];
-00158       double bval = maxim? otherperformance[i] : -otherperformance[i];
-00159 
-00160       if (fabs(aval-bval) > tol)
-00161       {
-00162         if (aval < bval)
-00163           return true;
-00164 
-00165         return false;
-00166       }
-00167     }
-00168 
-00169     return false;
-00170   }
-00171 
-00172   bool operator>(const eoParetoOneConstraintFitness<FitnessTraits>& _other) const
-00173   {
-00174     return _other < *this;
-00175   }
-00176 
-00177   bool operator<=(const eoParetoOneConstraintFitness<FitnessTraits>& _other) const
-00178   {
-00179     return operator==(_other) || operator<(_other);
-00180   }
-00181 
-00182   bool operator>=(const eoParetoOneConstraintFitness<FitnessTraits>& _other) const
-00183   {
-00184     return _other <= *this;
-00185   }
-00186 
-00187   bool operator==(const eoParetoOneConstraintFitness<FitnessTraits>& _other) const
-00188   { // check if they're all within tolerance
-00189     for (unsigned i = 0; i < size(); ++i)
-00190     {
-00191       if (fabs(operator[](i) - _other[i]) > FitnessTraits::tol())
-00192       {
-00193         return false;
-00194       }
-00195     }
-00196     return true;
-00197   }
-00198 
-00199   bool operator!=(const eoParetoOneConstraintFitness<FitnessTraits>& _other) const
-00200   { return ! operator==(_other); }
-00201 
-00202 };
-00203 
-00204 template <class FitnessTraits>
-00205 std::ostream& operator<<(std::ostream& os, const eoParetoOneConstraintFitness<FitnessTraits>& fitness)
-00206 {
-00207   for (unsigned i = 0; i < fitness.size(); ++i)
-00208   {
-00209     os << fitness[i] << ' ';
-00210   }
-00211   os << fitness.ConstraintValue() << " " ;
-00212   return os;
-00213 }
-00214 
-00215 template <class FitnessTraits>
-00216 std::istream& operator>>(std::istream& is, eoParetoOneConstraintFitness<FitnessTraits>& fitness)
-00217 {
-00218   fitness = eoParetoOneConstraintFitness<FitnessTraits>();
-00219   for (unsigned i = 0; i < fitness.size(); ++i)
-00220   {
-00221     is >> fitness[i];
-00222   }
-00223   double r;
-00224   is >> r;
-00225   fitness.ConstraintValue(r);
-00226   return is;
-00227 }
-00228 
-00229 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_pareto_fitness_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_pareto_fitness_8cpp-source.html deleted file mode 100644 index aa194a2d3..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_pareto_fitness_8cpp-source.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoParetoFitness.cpp Source File - - - - - -

eoParetoFitness.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // eoPareto.cpp
-00005 // (c) EEAAX,1996-GeNeura Team,1998-Maarten Keijzer,2000-Marc Schoenauer 2002
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011  
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016  
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020  
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mak@dhi.dk
-00024 */
-00025 //-----------------------------------------------------------------------------
-00026 #ifdef _MSC_VER
-00027 // to avoid long name warnings
-00028 #pragma warning(disable:4786)
-00029 #endif 
-00030 
-00031 #include "eoParetoFitness.h"
-00032 
-00033 
-00034 // need to allocate the static variables of class eoVariableParetoTraits
-00035 unsigned eoVariableParetoTraits::nObj;
-00036 std::vector<bool> eoVariableParetoTraits::bObj;
-00037 
-00038 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_pareto_fitness_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_pareto_fitness_8h-source.html deleted file mode 100644 index e2a562ad2..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_pareto_fitness_8h-source.html +++ /dev/null @@ -1,221 +0,0 @@ - - -EO: eoParetoFitness.h Source File - - - - - -

eoParetoFitness.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoParetoFitness.h
-00005 // (c) Maarten Keijzer and Marc Schoenauer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mak@dhi.dk
-00022              Marc.Schoenauer@inria.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoParetoFitness_h
-00027 #define _eoParetoFitness_h
-00028 
-00029 #include <math.h>
-00030 #include <vector>
-00031 #include <stdexcept>
-00032 #include <iostream>
-00033 
-00034 
-00042 class eoParetoFitnessTraits
-00043 {
-00044   public :
-00045 
-00046   static unsigned nObjectives()          { return 2; }
-00047   static double tol()               { return 1e-6; }
-00048   static bool maximizing(int which) { return true; } // by default: all are maximizing
-00049 };
-00050 
-00056 class eoVariableParetoTraits : public eoParetoFitnessTraits
-00057 {
-00058 public :
-00060   static void setUp(unsigned _n, std::vector<bool> & _b)
-00061   {
-00062     // possible problems
-00063     if ( nObj && (nObj != _n) )    // was already set to a different value
-00064       {
-00065         std::cout << "WARNING\n";
-00066         std::cout << "WARNING : you are changing the number of objectives\n";
-00067         std::cout << "WARNING : Make sure all existing objects are destroyed\n";
-00068         std::cout << "WARNING\n";
-00069       }
-00070     nObj=_n; 
-00071     bObj=_b;
-00072     if (nObj != bObj.size())
-00073       throw std::runtime_error("Number of objectives and min/max size don't match in VariableParetoTraits::setup");
-00074   }
-00075 
-00077   static unsigned nObjectives()
-00078   { 
-00079 #ifndef NDEBUG
-00080     if (!nObj)
-00081       throw std::runtime_error("Number of objectives not assigned in VariableParetoTraits");
-00082 #endif
-00083     return nObj; 
-00084   }
-00085   static bool maximizing(unsigned _i) 
-00086   {
-00087 #ifndef NDEBUG
-00088     if (_i >= bObj.size())
-00089       throw std::runtime_error("Wrong index in VariableParetoTraits");
-00090 #endif
-00091     return bObj[_i]; 
-00092   }
-00093 private:
-00094   static unsigned nObj;
-00095   static std::vector<bool> bObj;
-00096 };
-00097 
-00107 template <class FitnessTraits = eoParetoFitnessTraits>
-00108 class eoParetoFitness : public std::vector<double>
-00109 {
-00110 public :
-00111 
-00112   typedef FitnessTraits fitness_traits;
-00113 
-00114   eoParetoFitness(void) : std::vector<double>(FitnessTraits::nObjectives(),0.0) {}
-00115 
-00116   // Ctr from a std::vector<double>
-00117   eoParetoFitness(std::vector<double> & _v) : std::vector<double>(_v) {}
-00118   
-00119 
-00123   static void setUp(unsigned _n, std::vector<bool> & _b) {FitnessTraits::setUp(_n, _b);}
-00124   static bool maximizing(unsigned _i) { return FitnessTraits::maximizing(_i);}
-00125 
-00127   //bool operator<(const eoParetoFitness<FitnessTraits>& _other) const
-00128   bool dominates(const eoParetoFitness<FitnessTraits>& _other) const
-00129   {
-00130     bool dom = false;
-00131 
-00132     double tol = FitnessTraits::tol();
-00133     const std::vector<double>& performance = *this;
-00134     const std::vector<double>& otherperformance = _other;
-00135 
-00136     for (unsigned i = 0; i < FitnessTraits::nObjectives(); ++i)
-00137     {
-00138       bool maxim = FitnessTraits::maximizing(i);
-00139       double aval = maxim? performance[i] : -performance[i];
-00140       double bval = maxim? otherperformance[i] : -otherperformance[i];
-00141 
-00142       if (fabs(aval - bval) > tol)
-00143       {
-00144         if (aval < bval)
-00145         {
-00146           return false; // cannot dominate
-00147         }
-00148         // else aval < bval
-00149         dom = true; // for the moment: goto next objective
-00150       }
-00151       //else they're equal in this objective, goto next
-00152     }
-00153 
-00154     return dom;
-00155   }
-00156 
-00158   bool operator<(const eoParetoFitness<FitnessTraits>& _other) const
-00159   {
-00160     double tol = FitnessTraits::tol();
-00161     const std::vector<double>& performance = *this;
-00162     const std::vector<double>& otherperformance = _other;
-00163     for (unsigned i = 0; i < FitnessTraits::nObjectives(); ++i)
-00164     {
-00165       bool maxim = FitnessTraits::maximizing(i);
-00166       double aval = maxim? performance[i] : -performance[i];
-00167       double bval = maxim? otherperformance[i] : -otherperformance[i];
-00168 
-00169       if (fabs(aval-bval) > tol)
-00170       {
-00171         if (aval < bval)
-00172           return true;
-00173 
-00174         return false;
-00175       }
-00176     }
-00177 
-00178     return false;
-00179   }
-00180 
-00181   bool operator>(const eoParetoFitness<FitnessTraits>& _other) const
-00182   {
-00183     return _other < *this;
-00184   }
-00185 
-00186   bool operator<=(const eoParetoFitness<FitnessTraits>& _other) const
-00187   {
-00188     return operator==(_other) || operator<(_other);
-00189   }
-00190 
-00191   bool operator>=(const eoParetoFitness<FitnessTraits>& _other) const
-00192   {
-00193     return _other <= *this;
-00194   }
-00195 
-00196   bool operator==(const eoParetoFitness<FitnessTraits>& _other) const
-00197   { // check if they're all within tolerance
-00198     for (unsigned i = 0; i < size(); ++i)
-00199     {
-00200       if (fabs(operator[](i) - _other[i]) > FitnessTraits::tol())
-00201       {
-00202         return false;
-00203       }
-00204     }
-00205     return true;
-00206   }
-00207 
-00208   bool operator!=(const eoParetoFitness<FitnessTraits>& _other) const
-00209   { return ! operator==(_other); }
-00210 
-00211 };
-00212 
-00213 template <class FitnessTraits>
-00214 std::ostream& operator<<(std::ostream& os, const eoParetoFitness<FitnessTraits>& fitness)
-00215 {
-00216   for (unsigned i = 0; i < fitness.size(); ++i)
-00217   {
-00218     os << fitness[i] << ' ';
-00219   }
-00220   return os;
-00221 }
-00222 
-00223 template <class FitnessTraits>
-00224 std::istream& operator>>(std::istream& is, eoParetoFitness<FitnessTraits>& fitness)
-00225 {
-00226   fitness = eoParetoFitness<FitnessTraits>();
-00227   for (unsigned i = 0; i < fitness.size(); ++i)
-00228   {
-00229     is >> fitness[i];
-00230   }
-00231   return is;
-00232 }
-00233 
-00234 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_pareto_ranking_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_pareto_ranking_8h-source.html deleted file mode 100644 index 62409230f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_pareto_ranking_8h-source.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: eoParetoRanking.h Source File - - - - - -

eoParetoRanking.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoParetoRanking_h
-00028 #define eoParetoRanking_h
-00029 
-00030 #include <eoPerf2Worth.h>
-00031 #include <eoDominanceMap.h>
-00032 
-00039 template <class EOT>
-00040 class eoParetoRanking : public eoPerf2WorthCached<EOT, double>
-00041 {
-00042 public:
-00043 
-00044     using eoPerf2WorthCached<EOT, double>::value;
-00045 
-00046     eoParetoRanking(eoDominanceMap<EOT>& _dominanceMap)
-00047         : eoPerf2WorthCached<EOT, double>(), dominanceMap(_dominanceMap)
-00048         {}
-00049 
-00050     void calculate_worths(const eoPop<EOT>& _pop)
-00051     {
-00052       dominanceMap(_pop);
-00053       value() = dominanceMap.sum_dominators(); // get rank: 0 means part of current front
-00054 
-00055       // calculate maximum
-00056       double maxim = *std::max_element(value().begin(), value().end());
-00057 
-00058       // higher is better, so invert the value
-00059       for (unsigned i = 0; i < value().size(); ++i)
-00060       {
-00061         value()[i] = maxim - value()[i];
-00062       }
-00063 
-00064     }
-00065 
-00066   private :
-00067 
-00068   eoDominanceMap<EOT>& dominanceMap;
-00069 };
-00070 
-00071 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_parse_tree_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_parse_tree_8h-source.html deleted file mode 100644 index 0d00277a5..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_parse_tree_8h-source.html +++ /dev/null @@ -1,166 +0,0 @@ - - -EO: eoParseTree.h Source File - - - - - -

eoParseTree.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoParseTree.h : eoParseTree class (for Tree-based Genetic Programming)
-00005 // (c) Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              mak@dhi.dk
-00023 
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoParseTree_h
-00028 #define eoParseTree_h
-00029 
-00030 #include <iterator>
-00031 #include <list>
-00032 
-00033 #include <EO.h>
-00034 #include <eoInit.h>
-00035 #include <eoOp.h>
-00036 #include <gp/parse_tree.h>
-00037 
-00038 using namespace gp_parse_tree;
-00039 
-00053 template <class FType, class Node>
-00054 class eoParseTree : public EO<FType>, public parse_tree<Node>
-00055 {
-00056 public:
-00057 
-00058     using parse_tree<Node>::back;
-00059     using parse_tree<Node>::ebegin;
-00060     using parse_tree<Node>::eend;
-00061     using parse_tree<Node>::size;
-00062 
-00063 
-00064     typedef typename parse_tree<Node>::subtree Subtree;
-00065 
-00066     /* For Compatibility with the intel C++ compiler for Linux 5.x */
-00067     typedef Node reference;
-00068     typedef const reference const_reference;
-00069 
-00073     eoParseTree(void)  {}
-00074 
-00079     eoParseTree(const parse_tree<Node>& tree)  : parse_tree<Node>(tree) {}
-00080 
-00081 //    eoParseTree(const eoParseTree<FType, Node>& tree) :  parse_tree<Node>(tree) {}
-00086     virtual void pruneTree(unsigned _size)
-00087     {
-00088         if (_size < 1)
-00089             return;
-00090 
-00091         while (size() > _size)
-00092         {
-00093             back() = operator[](size()-2);
-00094         }
-00095     }
-00096 
-00102     eoParseTree(std::istream& is) : EO<FType>(), parse_tree<Node>()
-00103     {
-00104         readFrom(is);
-00105     }
-00106 
-00108     std::string className(void) const { return "eoParseTree"; }
-00109 
-00114     void printOn(std::ostream& os) const
-00115     {
-00116         EO<FType>::printOn(os);
-00117         os << ' ';
-00118 
-00119         os << size() << ' ';
-00120 
-00121         std::copy(ebegin(), eend(), std::ostream_iterator<Node>(os, " "));
-00122     }
-00123 
-00128     void readFrom(std::istream& is)
-00129     {
-00130 
-00131 
-00132         EO<FType>::readFrom(is);
-00133 
-00134         unsigned sz;
-00135         is >> sz;
-00136 
-00137 
-00138         std::vector<Node> v(sz);
-00139 
-00140         unsigned i;
-00141 
-00142         for (i = 0; i < sz; ++i)
-00143         {
-00144             Node node;
-00145             is >> node;
-00146             v[i] = node;
-00147         }
-00148         parse_tree<Node> tmp(v.begin(), v.end());
-00149         swap(tmp);
-00150 
-00151         /*
-00152          * old code which caused problems for paradisEO
-00153          *
-00154          * this can be removed once it has proved itself
-00155         EO<FType>::readFrom(is);
-00156 
-00157         // even older code
-00158         FType fit;
-00159         is >> fit;
-00160 
-00161         fitness(fit);
-00162 
-00163 
-00164         std::copy(std::istream_iterator<Node>(is), std::istream_iterator<Node>(), back_inserter(*this));
-00165         */
-00166     }
-00167 };
-00168 
-00169 // friend function to print eoParseTree
-00170 template <class FType, class Node>
-00171 std::ostream& operator<<(std::ostream& os, const eoParseTree<FType, Node>& eot)
-00172 {
-00173     eot.printOn(os);
-00174     return os;
-00175 }
-00176 
-00177 // friend function to read eoParseTree
-00178 template <class FType, class Node>
-00179 std::istream& operator>>(std::istream& is, eoParseTree<FType, Node>& eot)
-00180 {
-00181     eot.readFrom(is);
-00182     return is;
-00183 }
-00184 
-00185 // for backward compatibility
-00186 #include <gp/eoParseTreeOp.h>
-00187 #include <gp/eoParseTreeDepthInit.h>
-00188 
-00189 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_parse_tree_depth_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_parse_tree_depth_init_8h-source.html deleted file mode 100644 index 6641ad642..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_parse_tree_depth_init_8h-source.html +++ /dev/null @@ -1,208 +0,0 @@ - - -EO: eoParseTreeDepthInit.h Source File - - - - - -

eoParseTreeDepthInit.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // eoParseTreeDepthInit.h : initializor for eoParseTree class
-00005 // (c) Maarten Keijzer 2000  Jeroen Eggermont 2002
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011  
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016  
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020  
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              mak@dhi.dk 
-00023              jeggermo@liacs.nl
-00024             
-00025  */
-00026 //-----------------------------------------------------------------------------
-00027 
-00028 #ifndef eoParseTreeDepthInit_h
-00029 #define eoParseTreeDepthInit_h
-00030 
-00031 #include <EO.h>
-00032 #include <gp/eoParseTree.h>
-00033 #include <eoInit.h>
-00034 #include <eoOp.h>
-00035 #include <eoPop.h>
-00036 
-00037 using namespace gp_parse_tree;
-00038 
-00044 // eoGpDepthInitializer is defined for backward compatibility
-00045 #define eoGpDepthInitializer eoParseTreeDepthInit
-00046 
-00047 template <class FType, class Node>
-00048 class eoParseTreeDepthInit : public eoInit< eoParseTree<FType, Node> >
-00049 {
-00050     protected:
-00051         // a binary predicate for sorting
-00052         // hopefully this will work with M$VC++ 6.0
-00053         struct lt_arity:public std::binary_function<Node,Node,bool>
-00054         {
-00055                 bool operator()(const Node &_node1, const Node &_node2) { return (_node1.arity() < _node2.arity());};
-00056         };
-00057 
-00058     public :
-00059 
-00060     typedef eoParseTree<FType, Node> EoType;
-00061     
-00069         eoParseTreeDepthInit(
-00070         unsigned _max_depth,
-00071         const std::vector<Node>& _initializor,
-00072         bool _grow = true,
-00073         bool _ramped_half_and_half = false)
-00074             :
-00075             eoInit<EoType>(),
-00076                         max_depth(_max_depth),
-00077                         initializor(_initializor),
-00078                         grow(_grow),
-00079                         ramped_half_and_half(_ramped_half_and_half),
-00080                         current_depth(_max_depth)
-00081     {
-00082       if(initializor.empty())
-00083       {
-00084         throw std::logic_error("eoParseTreeDepthInit: uhm, wouldn't you rather give a non-empty set of Nodes?");
-00085       }
-00086       // lets sort the initializor std::vector according to  arity (so we can be sure the terminals are in front)
-00087       // we use stable_sort so that if element i was in front of element j and they have the same arity i remains in front of j
-00088       stable_sort(initializor.begin(), initializor.end(), lt_arity());
-00089     }
-00091         virtual std::string className() const { return "eoParseTreeDepthInit"; };
-00092 
-00096     void operator()(EoType& _tree)
-00097         {
-00098         std::list<Node> sequence;
-00099         generate(sequence, current_depth);
-00100 
-00101         parse_tree<Node> tmp(sequence.begin(), sequence.end());
-00102         _tree.swap(tmp);
-00103         
-00104         if(ramped_half_and_half)
-00105         {
-00106                 if(grow)
-00107                 {
-00108                         if (current_depth > 2)
-00109                                 current_depth--;
-00110                         else
-00111                                 current_depth = max_depth;      
-00112                 }
-00113                 // change the grow method from 'grow' to 'full' or from 'full' to 'grow'
-00114                 grow = !grow;
-00115         };
-00116         
-00117         }
-00118    private :
-00119     void generate(std::list<Node>& sequence, int the_max, int last_terminal = -1)
-00120     {
-00121             if (last_terminal == -1)
-00122             { // check where the last terminal in the sequence resides
-00123             typename std::vector<Node>::iterator it;
-00124                     for (it = initializor.begin(); it != initializor.end(); ++it)
-00125                     {
-00126                             if (it->arity() > 0)
-00127                                     break;
-00128                     }
-00129                 
-00130                     last_terminal = it - initializor.begin();
-00131             }
-00132 
-00133             if (the_max == 1)
-00134             { // generate terminals only
-00135                     typename std::vector<Node>::iterator it = initializor.begin() + rng.random(last_terminal);
-00136                     it->randomize();
-00137                     sequence.push_front(*it);
-00138                     return;
-00139             }
-00140         
-00141             typename std::vector<Node>::iterator what_it;
-00142 
-00143             if (grow)
-00144             {
-00145                     what_it = initializor.begin() + rng.random(initializor.size());
-00146             }
-00147             else // full
-00148             {
-00149                     what_it = initializor.begin() + last_terminal + rng.random(initializor.size() - last_terminal);
-00150             }
-00151 
-00152         what_it->randomize();
-00153 
-00154             sequence.push_front(*what_it);
-00155 
-00156             for (int i = 0; i < what_it->arity(); ++i)
-00157                     generate(sequence, the_max - 1, last_terminal);
-00158     }
-00159 
-00160 
-00161 
-00162         unsigned max_depth; 
-00163         std::vector<Node> initializor;
-00164         bool grow;
-00165         bool ramped_half_and_half;
-00166         unsigned current_depth;
-00167 };
-00168 
-00178 template <class FType, class Node>
-00179 void  eoInitRampedHalfAndHalf(eoPop< eoParseTree<FType,Node> > &pop, unsigned int population_size, unsigned int init_max_depth, std::vector<Node> &initializor)
-00180 {
-00181         typedef eoParseTree<FType,Node> EoType;
-00182         typedef eoPop< EoType > Pop;
-00183         
-00184         unsigned int M = init_max_depth - 1;
-00185         unsigned int part_pop_size = population_size / (2*M);
-00186         unsigned int m=0;
-00187 
-00188         std::cerr << "EO WARNING: Ramped Half and Half Initialization is now supported by eoParseTreeDepthInit." << std::endl;
-00189         std::cerr << "            This function is now obsolete and might be removed in the future so you should"<< std::endl;
-00190         std::cerr << "            update your code to use: " << std::endl << std::endl;
-00191         std::cerr << "            eoParseTreeDepthInit( _max_depth, _initializer, bool _grow, bool _ramped_half_and_half)" << std::endl << std::endl;
-00192         
-00193         pop.clear();
-00194         
-00195         // initialize with Depth's (D) -> 2
-00196         for(m=init_max_depth; m >= 2; m--)
-00197         {
-00198                 eoParseTreeDepthInit<FType, Node> grow_initializer(m, initializor, true);
-00199                 Pop grow(part_pop_size, grow_initializer);
-00200                 pop.insert(pop.begin(), grow.begin(), grow.end());
-00201                 
-00202                 eoParseTreeDepthInit<FType, Node> full_initializer(m, initializor, false);
-00203                 Pop full(part_pop_size, full_initializer);
-00204                 pop.insert(pop.begin(), full.begin(), full.end());
-00205         }       
-00206         
-00207         bool g = true;
-00208         while (pop.size() < population_size)
-00209         {
-00210                 eoParseTreeDepthInit<FType, Node> initializer(init_max_depth, initializor, g);
-00211                 Pop p(1, initializer);
-00212                 pop.insert(pop.begin(), p.begin(), p.end());
-00213                 g= !g;
-00214         }
-00215 }
-00216 
-00217 
-00218 #endif
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_parse_tree_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_parse_tree_op_8h-source.html deleted file mode 100644 index 3d494cc5c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_parse_tree_op_8h-source.html +++ /dev/null @@ -1,303 +0,0 @@ - - -EO: eoParseTreeOp.h Source File - - - - - -

eoParseTreeOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // eoParseTreeOp.h : crossover and mutation operator for  the eoParseTree class
-00005 // (c) Maarten Keijzer 2000  for eoSubtreeXOver, eoBranchMutation
-00006 // (c) Jeroen Eggermont 2001 for other mutation operators
-00007 
-00008 /*
-00009     This library is free software; you can redistribute it and/or
-00010     modify it under the terms of the GNU Lesser General Public
-00011     License as published by the Free Software Foundation; either
-00012     version 2 of the License, or (at your option) any later version.
-00013  
-00014     This library is distributed in the hope that it will be useful,
-00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00017     Lesser General Public License for more details.
-00018  
-00019     You should have received a copy of the GNU Lesser General Public
-00020     License along with this library; if not, write to the Free Software
-00021     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00022  
-00023     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00024              mak@dhi.dk 
-00025              jeggermo@liacs.nl
-00026  */
-00027 //-----------------------------------------------------------------------------
-00028 
-00029 #ifndef eoParseTreeOp_h
-00030 #define eoParseTreeOp_h
-00031 
-00032 #include <EO.h>
-00033 #include <eoOp.h>
-00034 
-00035 #include <gp/eoParseTree.h>
-00036 
-00041 template<class FType, class Node>
-00042 class eoSubtreeXOver: public eoQuadOp< eoParseTree<FType, Node> > {
-00043 public:
-00044 
-00045   typedef eoParseTree<FType,Node> EoType;
-00050   eoSubtreeXOver( unsigned _max_length)
-00051     : eoQuadOp<EoType>(), max_length(_max_length) {};
-00052 
-00054   virtual std::string className() const { return "eoSubtreeXOver"; };
-00055 
-00057   virtual ~eoSubtreeXOver () {};
-00058 
-00064   bool operator()(EoType & _eo1, EoType & _eo2 )
-00065   {
-00066           int i = rng.random(_eo1.size());
-00067           int j = rng.random(_eo2.size());
-00068 
-00069           typename parse_tree<Node>::subtree tmp = _eo1[i];
-00070           _eo1[i] = _eo2[j]; // insert subtree
-00071           _eo2[j] = tmp;
-00072 
-00073           _eo1.pruneTree(max_length);
-00074           _eo2.pruneTree(max_length);
-00075           
-00076     return true;
-00077   }
-00078  private:
-00079   unsigned max_length;
-00080 };
-00081 
-00086 template<class FType, class Node>
-00087 class eoBranchMutation: public eoMonOp< eoParseTree<FType, Node> >
-00088 {
-00089 public:
-00090 
-00091   typedef eoParseTree<FType,Node> EoType;
-00097   eoBranchMutation(eoInit<EoType>& _init, unsigned _max_length)
-00098     : eoMonOp<EoType>(), max_length(_max_length), initializer(_init)
-00099   {};
-00100   
-00102   virtual std::string className() const { return "eoBranchMutation"; };
-00103 
-00105   virtual ~eoBranchMutation() {};
-00106   
-00111   bool operator()(EoType& _eo1 )
-00112   {
-00113           int i = rng.random(_eo1.size());
-00114 
-00115       EoType eo2;
-00116       initializer(eo2);
-00117 
-00118           int j = rng.random(eo2.size());
-00119 
-00120           _eo1[i] = eo2[j]; // insert subtree
-00121 
-00122           _eo1.pruneTree(max_length);
-00123 
-00124     return true;
-00125   }
-00126 
-00127 private :
-00128 
-00129   unsigned max_length;
-00130   eoInit<EoType>& initializer;
-00131 };
-00132 
-00133 // Additional Mutation operators from 
-00134 // TITLE:"Genetic Programming~An Introduction"
-00135 // AUTHORS: Banzhaf, Nordin, Keller, Francone
-00136 // ISBN: 3-920993-58-6
-00137 // ISBN: 1-55860-510-X
-00138 //
-00139 // For the eoParseTree class
-00140 
-00146 template<class FType, class Node>
-00147 class eoPointMutation: public eoMonOp< eoParseTree<FType, Node> >
-00148 {
-00149 public:
-00150 
-00151   typedef eoParseTree<FType,Node> EoType;
-00152 
-00157   eoPointMutation( std::vector<Node>& _initializor)
-00158     : eoMonOp<EoType>(), initializor(_initializor)
-00159   {};
-00160   
-00162   virtual std::string className() const { return "eoPointMutation"; };
-00163 
-00165   virtual ~eoPointMutation() {};
-00166 
-00171   bool operator()(EoType& _eo1 )
-00172   {
-00173         // select a random node i that is to be mutated
-00174         int i = rng.random(_eo1.size());
-00175         // request the arity of the node that is to be replaced
-00176         int arity = _eo1[i].arity();
-00177         
-00178         int j=0;
-00179         
-00180         do
-00181         {
-00182                 j = rng.random(initializor.size());
-00183                 
-00184         }while ((initializor[j].arity() != arity));
-00185         
-00186         _eo1[i] = initializor[j];
-00187         
-00188         
-00189         
-00190         return true;
-00191   }
-00192 
-00193 private :
-00194         std::vector<Node>& initializor;
-00195 
-00196 };
-00197 
-00203 template<class FType, class Node>
-00204 class eoExpansionMutation: public eoMonOp< eoParseTree<FType, Node> >
-00205 {
-00206 public:
-00207 
-00208   typedef eoParseTree<FType, Node> EoType;
-00209   
-00215   eoExpansionMutation(eoInit<EoType>& _init, unsigned _max_length)
-00216     : eoMonOp<EoType>(), max_length(_max_length), initializer(_init)
-00217   {};
-00218   
-00220   virtual std::string className() const { return "eoExpansionMutation"; };
-00221 
-00223   virtual ~eoExpansionMutation() {};
-00228   bool operator()(EoType& _eo1 )
-00229   {
-00230           int i = rng.random(_eo1.size());
-00231           // look for a terminal
-00232           while (_eo1[i].arity() != 0)
-00233           {
-00234                 i= rng.random(_eo1.size());
-00235           };
-00236           
-00237           // create a new tree to
-00238           EoType eo2;
-00239           // make sure we get a tree with more than just a terminal
-00240           do
-00241           {
-00242                 initializer(eo2);
-00243           }while(eo2.size() == 1);      
-00244           
-00245           int j = rng.random(eo2.size());
-00246           // make sure we select a subtree (and not a terminal)
-00247           while((eo2[j].arity() == 0))
-00248           {
-00249                 j = rng.random(eo2.size());
-00250           };
-00251           
-00252 
-00253           _eo1[i] = eo2[j]; // insert subtree
-00254 
-00255           _eo1.pruneTree(max_length);
-00256           
-00257     return true;
-00258   }
-00259 
-00260 private :
-00261 
-00262   unsigned max_length;
-00263   eoInit<EoType>& initializer;
-00264 };
-00265 
-00271 template<class FType, class Node>
-00272 class eoCollapseSubtreeMutation: public eoMonOp< eoParseTree<FType, Node> >
-00273 {
-00274 public:
-00275 
-00276   typedef eoParseTree<FType,Node> EoType;
-00282   eoCollapseSubtreeMutation(eoInit<EoType>& _init, unsigned _max_length)
-00283     : eoMonOp<EoType>(), max_length(_max_length), initializer(_init)
-00284   {};
-00285 
-00287   virtual std::string className() const { return "eoCollapseSubtreeMutation"; };
-00288 
-00290   virtual ~eoCollapseSubtreeMutation() {};
-00295   bool operator()(EoType& _eo1 )
-00296   {
-00297           int i = rng.random(_eo1.size());
-00298           // look for a subtree
-00299           while ((_eo1[i].arity() == 0) && (_eo1.size() > 1))
-00300           {
-00301                 i= rng.random(_eo1.size());
-00302           };
-00303         
-00304           // create a new tree to
-00305           EoType eo2;
-00306           initializer(eo2);
-00307           
-00308           int j = rng.random(eo2.size());
-00309           // make sure we select a subtree (and not a terminal)
-00310           while(eo2[j].arity() != 0)
-00311           {
-00312                 j = rng.random(eo2.size());
-00313           };
-00314 
-00315           _eo1[i] = eo2[j]; // insert subtree
-00316           
-00317           // we don't have to prune because the subtree is always smaller
-00318           _eo1.pruneTree(max_length);
-00319         
-00320     return true;
-00321   }
-00322 
-00323 private :
-00324 
-00325   unsigned max_length;
-00326   eoInit<EoType>& initializer;
-00327 };
-00328 
-00329 
-00335 template<class FType, class Node>
-00336 class eoHoistMutation: public eoMonOp< eoParseTree<FType, Node> >
-00337 {
-00338 public:
-00339 
-00340   typedef eoParseTree<FType,Node> EoType;
-00345   eoHoistMutation()
-00346     : eoMonOp<EoType>()
-00347   {};
-00348   
-00350   virtual std::string className() const { return "eoHoistMutation"; };
-00351 
-00353   virtual ~eoHoistMutation() {};
-00358   bool operator()(EoType& _eo1 )
-00359   {
-00360         
-00361           
-00362           // select a hoist point
-00363           int i = rng.random(_eo1.size());
-00364           // and create a new tree
-00365           EoType eo2(_eo1[i]);
-00366           
-00367           // we don't have to prune because the new tree is always smaller
-00368           //_eo1.pruneTree(max_length);
-00369           
-00370           _eo1 = eo2;
-00371 
-00372     return true;
-00373   }
-00374 
-00375 private :
-00376 
-00377 };
-00378 
-00379 
-00380 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_parser_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_parser_8cpp-source.html deleted file mode 100644 index fc9b9e447..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_parser_8cpp-source.html +++ /dev/null @@ -1,427 +0,0 @@ - - -EO: eoParser.cpp Source File - - - - - -

eoParser.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoParser.cpp
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 #pragma warning(disable:4786)
-00029 #endif
-00030 
-00031 #include <stdexcept>
-00032 #include <algorithm>
-00033 #include <fstream>
-00034 #include <iomanip>
-00035 
-00036 #include <utils/compatibility.h>
-00037 
-00038 #include <utils/eoParser.h>
-00039 
-00040 using namespace std;
-00041 
-00042 void eoWarning(std::string str)
-00043 {
-00044     cout << str << '\n';
-00045 }
-00046 
-00047 std::ostream& printSectionHeader(std::ostream& os, std::string section)
-00048 {
-00049     if (section == "")
-00050         section = "General";
-00051 
-00052     os << '\n' << setw(10) << "######    " << setw(20) << section << setw(10) << "    ######\n";
-00053     return os;
-00054 }
-00055 
-00056 eoParameterLoader::~eoParameterLoader()
-00057 {
-00058     for (unsigned i = 0; i < ownedParams.size(); ++i)
-00059     {
-00060         delete ownedParams[i];
-00061     }
-00062 }
-00063 
-00064 
-00065 eoParser::eoParser ( unsigned _argc, char **_argv , string _programDescription,
-00066                      string _lFileParamName, char _shortHand) :
-00067     programName(_argv[0]),
-00068     programDescription( _programDescription),
-00069     needHelp(false, "help", "Prints this message", 'h'),
-00070     stopOnUnknownParam(true, "stopOnUnknownParam", "Stop if unkown param entered", '\0')
-00071 {
-00072     // need to process the param file first
-00073     // if we want command-line to have highest priority
-00074     unsigned i;
-00075     for (i = 1; i < _argc; ++i)
-00076     {
-00077         if(_argv[i][0] == '@')
-00078         { // read response file
-00079             char *pts = _argv[i]+1; // yes a char*, sorry :-)
-00080             ifstream ifs (pts);
-00081             ifs.peek(); // check if it exists
-00082             if (!ifs)
-00083             {
-00084                 string msg = string("Could not open response file: ") + pts;
-00085                 throw runtime_error(msg);
-00086             }
-00087             // read  - will be overwritten by command-line
-00088             readFrom(ifs);
-00089             break; // stop reading command line args for '@'
-00090         }
-00091     }
-00092     // now read arguments on command-line
-00093     stringstream stream;
-00094     for (i = 1; i < _argc; ++i)
-00095     {
-00096         stream << _argv[i] << '\n';
-00097     }
-00098     readFrom(stream);
-00099     processParam(needHelp);
-00100     processParam(stopOnUnknownParam);
-00101 }
-00102 
-00103 
-00104 
-00105 eoParam * eoParser::getParamWithLongName(const std::string& _name) const
-00106 {
-00107     typedef std::multimap<std::string, eoParam*> MultiMapType;
-00108     typedef MultiMapType::const_iterator iter;
-00109     std::string search(prefix+_name);
-00110     for(iter p = params.begin(); p != params.end(); ++p)
-00111         if(p->second->longName() == search)
-00112             return p->second;
-00113     return 0;
-00114 }
-00115 
-00116 
-00117 
-00118 void eoParser::processParam(eoParam& param, std::string section)
-00119 {
-00120     // this param enters the parser: add the prefix to the long name
-00121     if (prefix != "")
-00122     {
-00123         param.setLongName(prefix+param.longName());
-00124         section = prefix + section;  // and to section
-00125     }
-00126     doRegisterParam(param); // plainly register it
-00127     params.insert(make_pair(section, &param));
-00128 }
-00129 
-00130 void eoParser::doRegisterParam(eoParam& param) const
-00131 {
-00132     if (param.required() && !isItThere(param))
-00133     {
-00134         string msg = "Required parameter: " + param.longName() + " missing";
-00135         messages.push_back(msg);
-00136     }
-00137     pair<bool, string> value = getValue(param);
-00138     if (value.first)
-00139     {
-00140         param.setValue(value.second);
-00141     }
-00142 }
-00143 
-00144 pair<bool, string> eoParser::getValue(eoParam& _param) const
-00145 {
-00146     pair<bool, string> result(false, "");
-00147 
-00148     if (_param.shortName() != 0)
-00149     {
-00150         map<char, string>::const_iterator it = shortNameMap.find(_param.shortName());
-00151         if (it != shortNameMap.end())
-00152         {
-00153             result.second = it->second;
-00154             result.first = true;
-00155             return result;
-00156         }
-00157     }
-00158     map<string, string>::const_iterator it = longNameMap.find(_param.longName());
-00159     if (it != longNameMap.end())
-00160     {
-00161         result.second = it->second;
-00162         result.first = true;
-00163         return result;
-00164     }
-00165     // else (TODO: check environment, just long names)
-00166     return result;
-00167 }
-00168 
-00169 void eoParser::updateParameters() const
-00170 {
-00171  typedef MultiMapType::const_iterator It;
-00172 
-00173   for (It p = params.begin(); p != params.end(); ++p)
-00174   {
-00175         doRegisterParam(*p->second);
-00176   }
-00177 }
-00178 
-00179 void eoParser::readFrom(istream& is)
-00180 {
-00181     string str;
-00182     // we must avoid processing \section{xxx} if xxx is NOT "Parser"
-00183     bool processing = true;
-00184     while (is >> str)
-00185     {
-00186         if (str.find(string("\\section{"))==0) // found section begin
-00187             processing = (str.find(string("Parser"))<str.size());
-00188 
-00189         if (processing)         // right \section (or no \section at all)
-00190         {
-00191             if (str[0] == '#')
-00192             { // skip the rest of the line
-00193                 string tempStr;
-00194                 getline(is, tempStr);
-00195             }
-00196             if (str[0] == '-')
-00197             {
-00198                 if (str.size() < 2)
-00199                 {
-00200                     eoWarning("Missing parameter");
-00201                     needHelp.value() = true;
-00202                     return;
-00203                 }
-00204 
-00205                 if (str[1] == '-') // two consecutive dashes
-00206                 {
-00207                     string::iterator equalLocation = find(str.begin() + 2, str.end(), '=');
-00208                     string value;
-00209 
-00210                     if (equalLocation == str.end())
-00211                     { // TODO: it should be the next string
-00212                         value = "";
-00213                     }
-00214                     else
-00215                     {
-00216                         value = string(equalLocation + 1, str.end());
-00217                     }
-00218 
-00219                     string name(str.begin() + 2, equalLocation);
-00220                     longNameMap[name] = value;
-00221 
-00222                 }
-00223                 else // it should be a char
-00224                 {
-00225                     string value = "1"; // flags do not need a special
-00226 
-00227                     if (str.size() >= 2)
-00228                     {
-00229                         if (str[2] == '=')
-00230                         {
-00231                             if (str.size() >= 3)
-00232                                 value = string(str.begin() + 3, str.end());
-00233                         }
-00234                         else
-00235                         {
-00236                             value = string(str.begin() + 2, str.end());
-00237                         }
-00238                     }
-00239 
-00240                     shortNameMap[str[1]] = value;
-00241                 }
-00242             }
-00243         }
-00244     }
-00245 
-00246     updateParameters();
-00247 }
-00248 
-00249 void eoParser::printOn(ostream& os) const
-00250 {
-00251     typedef MultiMapType::const_iterator It;
-00252 
-00253     It p = params.begin();
-00254 
-00255     std::string section = p->first;
-00256 
-00257     printSectionHeader(os, section);
-00258     //print every param with its value
-00259     for (; p != params.end(); ++p)
-00260       {
-00261         std::string newSection = p->first;
-00262 
-00263         if (newSection != section)
-00264         {
-00265             section = newSection;
-00266             printSectionHeader(os, section);
-00267         }
-00268 
-00269         eoParam* param = p->second;
-00270 
-00271         if (!isItThere(*param))  // comment out the ones not set by the user
-00272           os << "# ";
-00273 
-00274         string str = "--" + param->longName() + "=" + param->getValue();
-00275 
-00276         os.setf(ios_base::left, ios_base::adjustfield);
-00277         os << setw(40) << str;
-00278 
-00279         os << setw(0) << " # ";
-00280         if (param->shortName())
-00281             os << '-' << param->shortName() << " : ";
-00282         os << param->description();
-00283 
-00284         if (param->required())
-00285         {
-00286             os << " REQUIRED ";
-00287         }
-00288 
-00289         os  << '\n';
-00290     }
-00291 }
-00292 
-00293 void eoParser::printHelp(ostream& os)
-00294 {
-00295     if (needHelp.value() == false && !messages.empty())
-00296     {
-00297         std::copy(messages.begin(), messages.end(), ostream_iterator<string>(os, "\n"));
-00298         messages.clear();
-00299         return;
-00300     }
-00301 
-00302     // print program name and description
-00303     os << this->programName <<": "<< programDescription << "\n\n";
-00304 
-00305     // print the usage when calling the program from the command line
-00306     os << "Usage: "<< programName<<" [Options]\n";
-00307     // only short usage!
-00308     os << "Options of the form \"-f[=Value]\" or \"--Name[=value]\"" << endl;
-00309 
-00310     os << "Where:"<<endl;
-00311 
-00312     typedef MultiMapType::const_iterator It;
-00313 
-00314     It p = params.begin();
-00315 
-00316     std::string section = p->first;
-00317 
-00318     printSectionHeader(os, section);
-00319 
-00320     //print every param with its value
-00321     for (; p != params.end(); ++p)
-00322     {
-00323         std::string newSection = p->first;
-00324 
-00325         if (newSection != section)
-00326         {
-00327             section = newSection;
-00328             printSectionHeader(os, section);
-00329         }
-00330 
-00331         if (p->second->shortName())
-00332                 os << "-" << p->second->shortName() << ", ";
-00333 
-00334         os << "--" <<p->second->longName() <<":\t"
-00335              << p->second->description() ;
-00336 
-00337           os << "\n" << setw(20) << ( (p->second->required())?"Required":"Optional" );
-00338       os <<". By default: "<<p->second->defValue() << '\n';
-00339     } // for p
-00340 
-00341     os << "\n@param_file \t defines a file where the parameters are stored\n";
-00342     os << '\n';
-00343 
-00344 }
-00345 
-00346 bool eoParser::userNeedsHelp(void)
-00347 {
-00348   /*
-00349      check whether there are long or short names entered
-00350      without a corresponding parameter
-00351   */
-00352   // first, check if we want to check that !
-00353   if (stopOnUnknownParam.value())
-00354     {
-00355       for (LongNameMapType::const_iterator lIt = longNameMap.begin(); lIt != longNameMap.end(); ++lIt)
-00356         {
-00357           string entry = lIt->first;
-00358 
-00359           MultiMapType::const_iterator it;
-00360 
-00361           for (it = params.begin(); it != params.end(); ++it)
-00362             {
-00363               if (entry == it->second->longName())
-00364                 {
-00365                   break;
-00366                 }
-00367             }
-00368 
-00369           if (it == params.end())
-00370             {
-00371               string msg = "Unknown parameter: --" + entry + " entered, type -h or --help to see available parameters";
-00372               messages.push_back(msg);
-00373             }
-00374         }
-00375 
-00376       for (ShortNameMapType::const_iterator sIt = shortNameMap.begin(); sIt != shortNameMap.end(); ++sIt)
-00377         {
-00378           char entry = sIt->first;
-00379 
-00380           MultiMapType::const_iterator it;
-00381 
-00382           for (it = params.begin(); it != params.end(); ++it)
-00383             {
-00384               if (entry == it->second->shortName())
-00385                 {
-00386                   break;
-00387                 }
-00388             }
-00389 
-00390           if (it == params.end())
-00391             {
-00392               string entryString(1, entry);
-00393               string msg = "Unknown parameter: -" + entryString + " entered, type -h or --help to see available parameters";
-00394               messages.push_back(msg);
-00395             }
-00396         }
-00397     }
-00398   return needHelp.value() || !messages.empty();
-00399 }
-00400 
-00402 ostream & operator<<(ostream & _os, const eoParamParamType & _rate)
-00403 {
-00404   _rate.printOn(_os);
-00405   return _os;
-00406 }
-00407 
-00408 istream & operator>>(istream & _is,  eoParamParamType & _rate)
-00409 {
-00410   _rate.readFrom(_is);
-00411   return _is;
-00412 }
-00413 
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_parser_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_parser_8h-source.html deleted file mode 100644 index 0bcebd120..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_parser_8h-source.html +++ /dev/null @@ -1,210 +0,0 @@ - - -EO: eoParser.h Source File - - - - - -

eoParser.h

00001 /* (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00002 
-00003 This library is free software; you can redistribute it and/or modify it under
-00004 the terms of the GNU Lesser General Public License as published by the Free
-00005 Software Foundation; either version 2 of the License, or (at your option) any
-00006 later version.
-00007 
-00008 This library is distributed in the hope that it will be useful, but WITHOUT ANY
-00009 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-00010 PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-00011 
-00012 You should have received a copy of the GNU Lesser General Public License along
-00013 with this library; if not, write to the Free Software Foundation, Inc., 59
-00014 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-00015 
-00016 Contact: http://eodev.sourceforge.net
-00017          todos@geneura.ugr.es, http://geneura.ugr.es
-00018          Marc.Schoenauer@polytechnique.fr
-00019          mkeijzer@dhi.dk
-00020 */
-00021 
-00022 
-00023 #ifndef EO_PARSER_H
-00024 #define EO_PARSER_H
-00025 
-00026 #include <map>
-00027 #include <sstream>
-00028 #include <string>
-00029 
-00030 #include "eoParam.h"
-00031 #include "eoObject.h"
-00032 #include "eoPersistent.h"
-00033 
-00040 class eoParameterLoader
-00041 {
-00042 public :
-00043 
-00045     virtual ~eoParameterLoader();
-00046 
-00052     virtual void processParam(eoParam& param, std::string section = "") = 0;
-00053 
-00057     virtual bool isItThere(eoParam& _param) const = 0;
-00058 
-00069     template <class ValueType>
-00070     eoValueParam<ValueType>& createParam(ValueType _defaultValue,
-00071                                          std::string _longName,
-00072                                          std::string _description,
-00073                                          char _shortHand = 0,
-00074                                          std::string _section = "",
-00075                                          bool _required = false)
-00076         {
-00077             eoValueParam<ValueType>* p = new eoValueParam<ValueType>(_defaultValue,
-00078                                                                      _longName,
-00079                                                                      _description,
-00080                                                                      _shortHand,
-00081                                                                      _required);
-00082             ownedParams.push_back(p);
-00083             processParam(*p, _section);
-00084             return *p;
-00085         }
-00086 
-00087 
-00088 private :
-00089 
-00090     std::vector<eoParam*> ownedParams;
-00091 };
-00092 
-00093 
-00094 
-00100 class eoParser : public eoParameterLoader, public eoObject, public eoPersistent
-00101 {
-00102 
-00103 public:
-00104 
-00119   eoParser ( unsigned _argc, char **_argv , std::string _programDescription = "",
-00120            std::string _lFileParamName = "param-file", char _shortHand = 'p');
-00121 
-00125   void processParam(eoParam& param, std::string section = "");
-00126 
-00127   void readFrom(std::istream& is);
-00128 
-00129   void printOn(std::ostream& os) const;
-00130 
-00132   std::string className(void) const { return "Parser"; }
-00133 
-00135   bool userNeedsHelp(void);
-00140   void printHelp(std::ostream& os);
-00141 
-00142   std::string ProgramName() { return programName; }
-00143 
-00148     virtual bool isItThere(eoParam& _param) const
-00149         { return getValue(_param).first; }
-00150 
-00159     eoParam * getParamWithLongName(const std::string& _name) const;
-00160 
-00161 
-00162 
-00172     template <class ValueType>
-00173     eoValueParam<ValueType>& getORcreateParam(ValueType _defaultValue,
-00174                                               std::string _longName,
-00175                                               std::string _description,
-00176                                               char _shortHand = 0,
-00177                                               std::string _section = "",
-00178                                               bool _required = false)
-00179         {
-00180             eoParam* ptParam = getParamWithLongName(_longName);
-00181             if (ptParam) {
-00182                 // found
-00183                 eoValueParam<ValueType>* ptTypedParam =
-00184                     dynamic_cast<eoValueParam<ValueType>*>(ptParam);
-00185                 return *ptTypedParam;
-00186             }
-00187             // not found -> create it
-00188             return createParam (_defaultValue, _longName, _description,
-00189                                 _shortHand, _section, _required);
-00190         }
-00191 
-00192 
-00193 
-00210     template <class ValueType>
-00211     eoValueParam<ValueType>& setORcreateParam(ValueType _defaultValue,
-00212                                               std::string _longName,
-00213                                               std::string _description,
-00214                                               char _shortHand = 0,
-00215                                               std::string _section = "",
-00216                                               bool _required = false)
-00217         {
-00218             eoValueParam<ValueType>& param = createParam(_defaultValue, _longName, _description,
-00219                                                          _shortHand, _section, _required);
-00220             std::ostringstream os;
-00221             os << _defaultValue;
-00222             if(isItThere(param)) {
-00223                 param.setValue(os.str());
-00224             } else {
-00225                 longNameMap[_longName] = os.str();
-00226                 shortNameMap[_shortHand] = os.str();
-00227             }
-00228             return param;
-00229         }
-00230 
-00231 
-00232 
-00234     void setStopOnUnknownParam(bool _b) {stopOnUnknownParam.value()=_b;}
-00235     bool getStopOnUnknownParam() {return stopOnUnknownParam.value();}
-00236 
-00238     void setPrefix(const std:: string & _prefix) {prefix = _prefix;}
-00239 
-00240   void resetPrefix() {prefix = "";}
-00241 
-00242   std::string getPrefix() {return prefix;}
-00243 
-00244 private:
-00245 
-00246   void doRegisterParam(eoParam& param) const;
-00247 
-00248   std::pair<bool, std::string> getValue(eoParam& _param) const;
-00249 
-00250   void updateParameters() const;
-00251 
-00252   typedef std::multimap<std::string, eoParam*> MultiMapType;
-00253 
-00254   // used to store all parameters that are processed
-00255   MultiMapType params;
-00256 
-00257   std::string programName;
-00258   std::string programDescription;
-00259 
-00260   typedef std::map<char, std::string> ShortNameMapType;
-00261   ShortNameMapType shortNameMap;
-00262 
-00263   typedef std::map<std::string, std::string> LongNameMapType;
-00264   LongNameMapType longNameMap;
-00265 
-00266   eoValueParam<bool>   needHelp;
-00267   eoValueParam<bool>   stopOnUnknownParam;
-00268 
-00269   mutable std::vector<std::string> messages;
-00270 
-00271   std::string prefix;   // used for all created params - in processParam
-00272 
-00273 };
-00274 
-00275 
-00276 
-00277 #endif //  EO_PARSER_H
-00278 
-00279 
-00280 
-00281 // Local Variables:
-00282 // coding: iso-8859-1
-00283 // mode:C++
-00284 // c-file-style: "Stroustrup"
-00285 // comment-column: 35
-00286 // fill-column: 80
-00287 // End:
-

Generated on Thu Oct 19 05:06:36 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_perf2_worth_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_perf2_worth_8h-source.html deleted file mode 100644 index 918551f2d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_perf2_worth_8h-source.html +++ /dev/null @@ -1,216 +0,0 @@ - - -EO: eoPerf2Worth.h Source File - - - - - -

eoPerf2Worth.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoPerf2Worth_h
-00028 #define eoPerf2Worth_h
-00029 
-00030 #include <utils/eoParam.h>
-00031 #include <eoPop.h>
-00032 #include <eoFunctor.h>
-00033 
-00034 #include <algorithm>
-00035 #include <vector>
-00036 #include <string>
-00037 
-00042 template <class EOT, class WorthT = double>
-00043 class eoPerf2Worth : public eoUF<const eoPop<EOT>&, void>, public eoValueParam<std::vector<WorthT> >
-00044 {
-00045 public:
-00046 
-00047     using eoValueParam<std::vector<WorthT> >::value;
-00048 
-00050     eoPerf2Worth(std::string _description = "Worths")
-00051         : eoValueParam<std::vector<WorthT> >(std::vector<WorthT>(0), _description)
-00052         {}
-00053 
-00056   virtual void sort_pop(eoPop<EOT>& _pop)
-00057   { // start with a std::vector of indices
-00058       std::vector<unsigned> indices(_pop.size());
-00059 
-00060     unsigned i;
-00061     for (i = 0; i < _pop.size();++i)
-00062     { // could use generate, but who cares
-00063       indices[i] = i;
-00064     }
-00065 
-00066     std::sort(indices.begin(), indices.end(), compare_worth(value()));
-00067 
-00068     eoPop<EOT>      tmp_pop;
-00069     tmp_pop.resize(_pop.size());
-00070     std::vector<WorthT>  tmp_worths(value().size());
-00071 
-00072     for (i = 0; i < _pop.size(); ++i)
-00073     {
-00074       tmp_pop[i] = _pop[indices[i]];
-00075       tmp_worths[i] = value()[indices[i]];
-00076     }
-00077 
-00078     std::swap(_pop, tmp_pop);
-00079     std::swap(value(), tmp_worths);
-00080   }
-00081 
-00083     class compare_worth
-00084     {
-00085     public:
-00086 
-00087         compare_worth(const std::vector<WorthT>& _worths) : worths(_worths) {}
-00088 
-00089         bool operator()(unsigned a, unsigned b) const {
-00090             return worths[b] < worths[a]; // sort in descending (!) order
-00091         }
-00092 
-00093     private:
-00094 
-00095         const std::vector<WorthT>& worths;
-00096     };
-00097 
-00098 
-00099 
-00100     virtual void resize(eoPop<EOT>& _pop, unsigned sz) {
-00101         _pop.resize(sz);
-00102         value().resize(sz);
-00103     };
-00104 
-00105 };
-00106 
-00110 template <class EOT, class WorthT = typename EOT::Fitness>
-00111 class eoPerf2WorthCached : public eoPerf2Worth<EOT, WorthT>
-00112 {
-00113 public:
-00114 
-00115     using eoPerf2Worth<EOT, WorthT>::value;
-00116 
-00117     eoPerf2WorthCached(std::string _description = "Worths") : eoPerf2Worth<EOT, WorthT>(_description) {}
-00118 
-00119 
-00125   void operator()(const eoPop<EOT>& _pop)
-00126   {
-00127     unsigned i;
-00128       if (fitness_cache.size() == _pop.size())
-00129       {
-00130         bool in_sync = true;
-00131         for (i = 0; i < _pop.size(); ++i)
-00132         {
-00133           if (fitness_cache[i] != _pop[i].fitness())
-00134           {
-00135             in_sync = false;
-00136             fitness_cache[i] = _pop[i].fitness();
-00137           }
-00138         }
-00139 
-00140         if (in_sync)
-00141         { // worths are up to date
-00142           return;
-00143         }
-00144       }
-00145       else // just cache the fitness
-00146       {
-00147         fitness_cache.resize(_pop.size());
-00148         for (i = 0; i < _pop.size(); ++i)
-00149         {
-00150           fitness_cache[i] = _pop[i].fitness();
-00151         }
-00152       }
-00153 
-00154     // call derived implementation of perf2worth mapping
-00155     calculate_worths(_pop);
-00156   }
-00157 
-00159   virtual void calculate_worths(const eoPop<EOT>& _pop) = 0;
-00160 
-00164   virtual void sort_pop(eoPop<EOT>& _pop)
-00165   { // start with a std::vector of indices
-00166       std::vector<unsigned> indices(_pop.size());
-00167 
-00168     unsigned i;
-00169     for (i = 0; i < _pop.size();++i)
-00170     { // could use generate, but who cares
-00171       indices[i] = i;
-00172     }
-00173 
-00174     std::sort(indices.begin(), indices.end(), compare_worth(value()));
-00175 
-00176     eoPop<EOT>      tmp_pop;
-00177     tmp_pop.resize(_pop.size());
-00178     std::vector<WorthT>  tmp_worths(value().size());
-00179 
-00180 #ifdef _MSC_VER
-00181     std::vector<EOT::Fitness> tmp_cache(_pop.size());
-00182 #else
-00183     std::vector<typename EOT::Fitness> tmp_cache(_pop.size());
-00184 #endif
-00185     for (i = 0; i < _pop.size(); ++i)
-00186     {
-00187       tmp_pop[i] = _pop[indices[i]];
-00188       tmp_worths[i] = value()[indices[i]];
-00189 
-00190       tmp_cache[i] = fitness_cache[indices[i]];
-00191     }
-00192 
-00193     std::swap(_pop, tmp_pop);
-00194     std::swap(value(), tmp_worths);
-00195     std::swap(fitness_cache, tmp_cache);
-00196   }
-00197 
-00200   class compare_worth
-00201   {
-00202   public :
-00203     compare_worth(const std::vector<WorthT>& _worths) : worths(_worths) {}
-00204 
-00205     bool operator()(unsigned a, unsigned b) const
-00206     {
-00207       return worths[b] < worths[a]; // sort in descending (!) order
-00208     }
-00209 
-00210   private :
-00211 
-00212     const std::vector<WorthT>& worths;
-00213   };
-00214 
-00215   virtual void resize(eoPop<EOT>& _pop, unsigned sz)
-00216   {
-00217     _pop.resize(sz);
-00218     value().resize(sz);
-00219     fitness_cache.resize(sz);
-00220   }
-00221 
-00222   private :
-00223   std::vector <typename EOT::Fitness> fitness_cache;
-00224 };
-00225 
-00226 
-00227 
-00229 template <class EOT>
-00230 class eoNoPerf2Worth : public eoPerf2Worth<EOT, typename EOT::Fitness>
-00231 {
-00232 public:
-00233 
-00234     using eoValueParam< EOT >::value;
-00235 
-00236     // default behaviour, just copy fitnesses
-00237     void operator()(const eoPop<EOT>& _pop) {
-00238         unsigned i;
-00239         value().resize(_pop.size());
-00240         for (i = 0; i < _pop.size(); ++i)
-00241             value()[i]=_pop[i];
-00242     }
-00243 };
-00244 
-00245 
-00246 
-00247 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_periodic_continue_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_periodic_continue_8h-source.html deleted file mode 100644 index dd382ea17..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_periodic_continue_8h-source.html +++ /dev/null @@ -1,75 +0,0 @@ - - -EO: eoPeriodicContinue.h Source File - - - - - -

eoPeriodicContinue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 // "eoFreqContinue.h"
-00004 
-00005 // (c) OPAC Team, LIFL, Feb. 2006
-00006 
-00007 /* This library is free software; you can redistribute it and/or
-00008    modify it under the terms of the GNU Lesser General Public
-00009    License as published by the Free Software Foundation; either
-00010    version 2 of the License, or (at your option) any later version.
-00011    
-00012    This library is distributed in the hope that it will be useful,
-00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015    Lesser General Public License for more details.
-00016    
-00017    You should have received a copy of the GNU Lesser General Public
-00018    License along with this library; if not, write to the Free Software
-00019    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-00020    
-00021    Contact: cahon@lifl.fr  
-00022 */
-00023 
-00024 #ifndef __eoPeriodicContinue_h
-00025 #define __eoPeriodicContinue_h
-00026 
-00027 #include <eoContinue.h>
-00028 #include <eoPop.h>
-00029 
-00030 template <class EOT> class eoPeriodicContinue: public eoContinue <EOT> {
-00031 
-00032 public:
-00033   
-00035   eoPeriodicContinue (unsigned __period, unsigned __init_counter = 0);
-00036 
-00039   bool operator () (const eoPop <EOT> & pop);
-00040     
-00041 private:
-00042 
-00043   unsigned period;
-00044   
-00045   unsigned counter;
-00046 
-00047 };
-00048 
-00049 template <class EOT> 
-00050 eoPeriodicContinue <EOT> :: eoPeriodicContinue (unsigned __period, unsigned __init_counter
-00051                                                 ) : period (__period),
-00052                                                     counter (__init_counter) {
-00053 
-00054 }
-00055 
-00056 template <class EOT> 
-00057 bool eoPeriodicContinue <EOT> :: operator () (const eoPop <EOT> & __pop) {
-00058     
-00059   return ((++ counter) % period) != 0 ;
-00060 }
-00061 
-00062 #endif
-00063 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_persistent_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_persistent_8cpp-source.html deleted file mode 100644 index 1711659f8..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_persistent_8cpp-source.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: eoPersistent.cpp Source File - - - - - -

eoPersistent.cpp

00001 #ifdef _MSC_VER
-00002 // to avoid long name warnings
-00003 #pragma warning(disable:4786)
-00004 #endif 
-00005 
-00006 #include <eoPersistent.h>
-00007 
-00008 //Implementation of these objects
-00009 
-00010 //-----------------------------------------------------------------------------
-00011 
-00012 std::istream & operator >> ( std::istream& _is, eoPersistent& _o ) {
-00013   _o.readFrom(_is);
-00014   return _is;
-00015 };
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_persistent_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_persistent_8h-source.html deleted file mode 100644 index c3c5a3583..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_persistent_8h-source.html +++ /dev/null @@ -1,74 +0,0 @@ - - -EO: eoPersistent.h Source File - - - - - -

eoPersistent.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 
-00004 
-00005 //-----------------------------------------------------------------------------
-00006 
-00007 // eoPersistent.h
-00008 // (c) GeNeura Team, 1999
-00009 /* 
-00010     This library is free software; you can redistribute it and/or
-00011     modify it under the terms of the GNU Lesser General Public
-00012     License as published by the Free Software Foundation; either
-00013     version 2 of the License, or (at your option) any later version.
-00014 
-00015     This library is distributed in the hope that it will be useful,
-00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00018     Lesser General Public License for more details.
-00019 
-00020     You should have received a copy of the GNU Lesser General Public
-00021     License along with this library; if not, write to the Free Software
-00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00023 
-00024     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00025  */
-00026 //-----------------------------------------------------------------------------
-00027 
-00028 #ifndef EOPERSISTENT_H
-00029 #define EOPERSISTENT_H
-00030 
-00032 
-00033 
-00034 const unsigned MAXLINELENGTH=1024;
-00036 
-00037 //-----------------------------------------------------------------------------
-00038 
-00039 #include <iostream>  // std::istream, std::ostream
-00040 #include <string>    // para std::string
-00041 
-00042 //-----------------------------------------------------------------------------
-00043 #include "eoPrintable.h"
-00044 
-00045 //-----------------------------------------------------------------------------
-00046 // eoPersistent
-00047 //-----------------------------------------------------------------------------
-00052 class eoPersistent: public eoPrintable
-00053 {
-00054  public:
-00056   virtual ~eoPersistent() {}
-00057   
-00063   virtual void readFrom(std::istream& _is) = 0;
-00064   
-00065 };
-00066 
-00067 //-----------------------------------------------------------------------------
-00069 std::istream & operator >> ( std::istream& _is, eoPersistent& _o );
-00070 
-00071 #endif
-00072 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_pop_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_pop_8h-source.html deleted file mode 100644 index 740bcf282..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_pop_8h-source.html +++ /dev/null @@ -1,243 +0,0 @@ - - -EO: eoPop.h Source File - - - - - -

eoPop.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoPop.h 
-00005 // (c) GeNeura Team, 1998
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _EOPOP_H
-00026 #define _EOPOP_H
-00027 
-00028 #include <algorithm>
-00029 #include <iostream>
-00030 #include <iterator> // needed for GCC 3.2
-00031 #include <vector>
-00032 
-00033 // EO includes
-00034 #include <eoOp.h> // for eoInit
-00035 #include <eoPersistent.h>
-00036 #include <eoInit.h>
-00037 #include <utils/rnd_generators.h>  // for shuffle method
-00038 
-00053 template<class EOT>
-00054 class eoPop: public std::vector<EOT>, public eoObject, public eoPersistent 
-00055 {
-00056 
-00057  public:
-00058      
-00059      using std::vector<EOT>::size;
-00060      using std::vector<EOT>::resize;
-00061      using std::vector<EOT>::operator[];
-00062      using std::vector<EOT>::begin;
-00063      using std::vector<EOT>::end;
-00064      
-00065      typedef typename EOT::Fitness Fitness;
-00068         eoPop()   : std::vector<EOT>(), eoObject(), eoPersistent() {};
-00069         
-00075     eoPop( unsigned _popSize, eoInit<EOT>& _chromInit )
-00076       :std::vector<EOT>() 
-00077     {
-00078         resize(_popSize);
-00079           for ( unsigned i = 0; i < _popSize; i++ )
-00080       {
-00081                 _chromInit(operator[](i));
-00082           }
-00083         };
-00084 
-00091     void append( unsigned _newPopSize, eoInit<EOT>& _chromInit )
-00092     {
-00093       unsigned oldSize = size();
-00094       if (_newPopSize < oldSize)
-00095         {
-00096           throw std::runtime_error("New size smaller than old size in pop.append");
-00097           return;
-00098         }
-00099       if (_newPopSize == oldSize)
-00100         return;
-00101       resize(_newPopSize);         // adjust the size
-00102       for ( unsigned i = oldSize; i < _newPopSize; i++ )
-00103         {
-00104           _chromInit(operator[](i));
-00105         }
-00106     };
-00107   
-00108   
-00113   eoPop( std::istream& _is ) :std::vector<EOT>() {
-00114     readFrom( _is );
-00115   }
-00116   
-00118         virtual ~eoPop() {};
-00119 
-00120 
-00122       struct Ref { const EOT* operator()(const EOT& eot) { return &eot;}};
-00124       struct Cmp {
-00125           bool operator()(const EOT* a, const EOT* b) const
-00126             { return b->operator<(*a); }
-00127       };
-00128 
-00133   void sort(void)
-00134   {
-00135       std::sort(begin(), end(), std::greater<EOT>());
-00136   }
-00137 
-00139   void sort(std::vector<const EOT*>& result) const
-00140   {
-00141       result.resize(size());
-00142 
-00143       std::transform(begin(), end(), result.begin(), Ref());
-00144 
-00145       std::sort(result.begin(), result.end(), Cmp());
-00146   }
-00147 
-00152   void shuffle(void)
-00153   {
-00154     UF_random_generator<unsigned int> gen;
-00155       std::random_shuffle(begin(), end(), gen);
-00156   }
-00157 
-00159   void shuffle(std::vector<const EOT*>& result) const
-00160   {
-00161       result.resize(size());
-00162 
-00163       std::transform(begin(), end(), result.begin(), Ref());
-00164 
-00165       UF_random_generator<unsigned int> gen;
-00166       std::random_shuffle(result.begin(), result.end(), gen);
-00167   }
-00168 
-00170   typename eoPop<EOT>::iterator it_best_element() 
-00171   {
-00172     typename eoPop<EOT>::iterator it = std::max_element(begin(), end());
-00173     return it;
-00174   }
-00175 
-00177   const EOT & best_element() const
-00178   {
-00179     typename eoPop<EOT>::const_iterator it = std::max_element(begin(), end());
-00180     return (*it);
-00181   }
-00182 
-00184   const EOT & worse_element() const
-00185   {
-00186     typename eoPop<EOT>::const_iterator it = std::min_element(begin(), end());
-00187     return (*it);
-00188   }
-00189 
-00191   typename eoPop<EOT>::iterator it_worse_element()
-00192   {
-00193     typename eoPop<EOT>::iterator it = std::min_element(begin(), end());
-00194     return it;
-00195   }
-00196 
-00201   typename eoPop<EOT>::iterator nth_element(int nth)
-00202   {
-00203       typename eoPop<EOT>::iterator it = begin() + nth;
-00204       std::nth_element(begin(), it, end(), std::greater<EOT>());
-00205       return it;
-00206   }
-00207 
-00208   struct GetFitness { Fitness operator()(const EOT& _eo) const { return _eo.fitness(); } };
-00209   
-00211   Fitness nth_element_fitness(int which) const
-00212   { // probably not the fastest way to do this, but what the heck
-00213       
-00214       std::vector<Fitness> fitness(size());
-00215       std::transform(begin(), end(), fitness.begin(), GetFitness());
-00216 
-00217       typename std::vector<Fitness>::iterator it = fitness.begin() + which;
-00218       std::nth_element(fitness.begin(), it, fitness.end(), std::greater<Fitness>());
-00219       return *it;
-00220   }
-00221 
-00225   void nth_element(int which, std::vector<const EOT*>& result) const
-00226   {
-00227 
-00228       result.resize(size());
-00229       std::transform(begin(), end(), result.begin(), Ref());
-00230   
-00231       typename std::vector<const EOT*>::iterator it  = result.begin() + which;
-00232 
-00233       std::nth_element(result.begin(), it, result.end(), Cmp());
-00234   }
-00235 
-00237   void swap(eoPop<EOT>& other)
-00238   {
-00239       std::swap(static_cast<std::vector<EOT>& >(*this), static_cast<std::vector<EOT>& >(other));
-00240   }
-00241   
-00247   virtual void sortedPrintOn(std::ostream& _os) const 
-00248   {
-00249     std::vector<const EOT*> result;
-00250     sort(result);
-00251     _os << size() << '\n';
-00252     for (unsigned i = 0; i < size(); ++i)
-00253       {
-00254         _os << *result[i] << std::endl;
-00255       }
-00256   }
-00257 
-00262   virtual void printOn(std::ostream& _os) const 
-00263   {
-00264         _os << size() << '\n';
-00265         std::copy( begin(), end(), std::ostream_iterator<EOT>( _os, "\n") );
-00266   }
-00267 
-00274   virtual void readFrom(std::istream& _is) 
-00275   {
-00276     size_t sz;
-00277     _is >> sz;
-00278 
-00279     resize(sz);
-00280 
-00281     for (size_t i = 0; i < sz; ++i) {  
-00282         operator[](i).readFrom( _is );
-00283     }
-00284   }
-00285 
-00289   virtual std::string className() const {return "eoPop";};
-00291 
-00292   virtual void invalidate()
-00293   {
-00294     for (unsigned i=0; i<size(); i++)
-00295       this->operator[](i).invalidate();
-00296   }
-00297 
-00298 
-00299  protected:
-00300 
-00301 };
-00302 
-00303 #endif
-00304 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_pop_algo_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_pop_algo_8h-source.html deleted file mode 100644 index 60f27631c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_pop_algo_8h-source.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: eoPopAlgo.h Source File - - - - - -

eoPopAlgo.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 #ifndef eoPopAlgo_h
-00004 #define eoPopAlgo_h
-00005 
-00006 #include <eoPop.h>
-00007 #include <eoFunctor.h>
-00008 
-00013 template <class EOT> class eoPopAlgo : public eoUF <eoPop <EOT> &, void> {
-00014     
-00015 } ;
-00016         
-00017 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_pop_eval_func_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_pop_eval_func_8h-source.html deleted file mode 100644 index 8d7b61e30..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_pop_eval_func_8h-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoPopEvalFunc.h Source File - - - - - -

eoPopEvalFunc.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoPopEvalFunc_H
-00028 #define eoPopEvalFunc_H
-00029 
-00030 #include <eoEvalFunc.h>
-00031 #include <apply.h>
-00032 
-00048 template<class EOT>
-00049 class eoPopEvalFunc : public eoBF<eoPop<EOT> & , eoPop<EOT> &, void> 
-00050 {};
-00051 
-00053 //           eoPopLoopEval
-00055 
-00059 template<class EOT>
-00060 class eoPopLoopEval : public eoPopEvalFunc<EOT> {
-00061 public:
-00063   eoPopLoopEval(eoEvalFunc<EOT> & _eval) : eval(_eval) {}
-00064 
-00066   void operator()(eoPop<EOT> & _parents, eoPop<EOT> & _offspring)
-00067   {
-00068     apply<EOT>(eval, _offspring);
-00069   }
-00070 
-00071 private:
-00072   eoEvalFunc<EOT> & eval;
-00073 };
-00074 
-00076 //           eoTimeVaryingLoopEval
-00078 
-00083 template<class EOT>
-00084 class eoTimeVaryingLoopEval : public eoPopEvalFunc<EOT> {
-00085 public:
-00087   eoTimeVaryingLoopEval(eoEvalFunc<EOT> & _eval) : eval(_eval) {}
-00088 
-00090   void operator()(eoPop<EOT> & _parents, eoPop<EOT> & _offspring)
-00091   {
-00092     apply<EOT>(eval, _parents);
-00093     apply<EOT>(eval, _offspring);
-00094   }
-00095 
-00096 private:
-00097   eoEvalFunc<EOT> & eval;
-00098 };
-00099 
-00100 #endif
-00101 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_pop_stat_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_pop_stat_8h-source.html deleted file mode 100644 index c18e2e720..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_pop_stat_8h-source.html +++ /dev/null @@ -1,104 +0,0 @@ - - -EO: eoPopStat.h Source File - - - - - -

eoPopStat.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoPopStat.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00035 #ifndef _eoPopStat_h
-00036 #define _eoPopStat_h
-00037 
-00038 #include <utils/eoStat.h>
-00039 
-00040 
-00050 template <class EOT>
-00051 class eoPopStat : public eoStat<EOT, std::string>
-00052 {
-00053 public:
-00054 
-00055     using eoStat<EOT, std::string>::value;
-00056 
-00061    eoPopStat(unsigned _howMany = 0, std::string _desc ="")
-00062          : eoStat<EOT, std::string>("", _desc), combien( _howMany) {}
-00063 
-00068 void operator()(const eoPop<EOT>& _pop)
-00069 {
-00070   value() = "\n# ====== pop dump =====\n";
-00071   unsigned howmany=combien?combien:_pop.size();
-00072   for (unsigned i = 0; i < howmany; ++i)
-00073   {
-00074       std::ostringstream os;
-00075       os << _pop[i] << std::endl;
-00076 
-00077       // paranoid:
-00078       value() += os.str();
-00079   }
-00080 }
-00081 
-00082 private:
-00083   unsigned combien;
-00084 };
-00085 
-00095 template <class EOT>
-00096 class eoSortedPopStat : public eoSortedStat<EOT, std::string>
-00097 {
-00098 public:
-00099 
-00100     using eoSortedStat<EOT, std::string>::value;
-00101 
-00107     eoSortedPopStat(unsigned _howMany = 0, std::string _desc ="")
-00108         : eoSortedStat<EOT, std::string>("", _desc) , combien( _howMany)
-00109         {}
-00110 
-00116     void operator()(const std::vector<const EOT*>& _pop)
-00117         {
-00118     value() = "";                  // empty
-00119     unsigned howMany=combien?combien:_pop.size();
-00120     for (unsigned i = 0; i < howMany; ++i)
-00121       {
-00122         std::ostringstream os;
-00123         os << *_pop[i] << std::endl;
-00124 
-00125         // paranoid:
-00126         value() += os.str();
-00127       }
-00128   }
-00129 private:
-00130   unsigned combien;
-00131 };
-00132 
-00133 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_populator_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_populator_8h-source.html deleted file mode 100644 index 25211c481..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_populator_8h-source.html +++ /dev/null @@ -1,182 +0,0 @@ - - -EO: eoPopulator.h Source File - - - - - -

eoPopulator.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoPopulator.h
-00005 // (c) Maarten Keijzer and Marc Schoenauer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mkeijzer@dhi.dk
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoPopulator_H
-00027 #define _eoPopulator_H
-00028 
-00029 #include <eoPop.h>
-00030 #include <eoSelectOne.h>
-00031 
-00038 template <class EOT>
-00039 class eoPopulator
-00040 {
-00041 public :
-00042 
-00043   eoPopulator(const eoPop<EOT>& _src, eoPop<EOT>& _dest) : dest(_dest), current(dest.end()), src(_src)
-00044   {
-00045     dest.reserve(src.size()); // we don't know this, but wth.
-00046     current = dest.end();
-00047   }
-00048 
-00050     virtual ~eoPopulator() {};
-00051 
-00052   struct OutOfIndividuals {};
-00053 
-00058   EOT& operator*(void)
-00059   {
-00060     if (current == dest.end())
-00061       get_next(); // get a new individual
-00062 
-00063     return *current;
-00064   }
-00065 
-00070   eoPopulator& operator++()
-00071   {
-00072     if (current == dest.end())
-00073       { // keep the pointer there
-00074         return *this;
-00075       }
-00076     // else
-00077     ++current;
-00078     return *this;
-00079   }
-00080 
-00084   void insert(const EOT& _eo)
-00085   { /* not really efficient, but its nice to have */
-00086     current = dest.insert(current, _eo);
-00087   }
-00088 
-00091   void reserve(int how_many)
-00092   {
-00093     size_t sz = current - dest.begin();
-00094     if (dest.capacity() < dest.size() + how_many)
-00095     {
-00096       dest.reserve(dest.size() + how_many);
-00097     }
-00098 
-00099     current = dest.begin() + sz;
-00100   }
-00101 
-00105   const eoPop<EOT>& source(void) { return src; }
-00106 
-00110   eoPop<EOT>& offspring(void)    { return dest; }
-00111 
-00112   typedef unsigned position_type;
-00113 
-00115   position_type tellp()         { return current - dest.begin(); }
-00117   void seekp(position_type pos) { current = dest.begin() + pos; }
-00119   bool exhausted(void)          { return current == dest.end(); }
-00120 
-00124   virtual const EOT& select() = 0;
-00125 
-00126 protected:
-00127     eoPop<EOT>& dest;
-00128     typename eoPop<EOT>::iterator current;
-00129     const eoPop<EOT>& src;
-00130 
-00131 private:
-00132 
-00133   void get_next() {
-00134     if(current == dest.end())
-00135       { // get new individual from derived class select()
-00136         dest.push_back(select());
-00137         current = dest.end();
-00138         --current;
-00139         return;
-00140       }
-00141     // else
-00142     ++current;
-00143     return;
-00144   }
-00145 
-00146 };
-00147 
-00148 
-00153 template <class EOT>
-00154 class eoSeqPopulator : public eoPopulator<EOT>
-00155 {
-00156 public:
-00157 
-00158     using eoPopulator< EOT >::src;
-00159 
-00160     eoSeqPopulator(const eoPop<EOT>& _pop, eoPop<EOT>& _dest) :
-00161         eoPopulator<EOT>(_pop, _dest), current(0) {}
-00162 
-00164     const EOT& select(void) {
-00165         if(current >= eoPopulator< EOT >::src.size()) {
-00166             throw OutOfIndividuals();
-00167         }
-00168 
-00169         const EOT& res = src[current++];
-00170         return res;
-00171     }
-00172 
-00173 
-00174 private:
-00175 
-00176     struct OutOfIndividuals {};
-00177 
-00178     unsigned current;
-00179 };
-00180 
-00181 
-00185 template <class EOT>
-00186 class eoSelectivePopulator : public eoPopulator<EOT>
-00187 {
-00188 public :
-00189 
-00190     using eoPopulator< EOT >::src;
-00191 
-00192     eoSelectivePopulator(const eoPop<EOT>& _pop, eoPop<EOT>& _dest, eoSelectOne<EOT>& _sel)
-00193         : eoPopulator<EOT>(_pop, _dest), sel(_sel)
-00194         { sel.setup(_pop); };
-00195 
-00197     const EOT& select() {
-00198         return sel(src);
-00199     }
-00200 
-00201 
-00202 private:
-00203 
-00204     eoSelectOne<EOT>& sel;
-00205 };
-00206 
-00207 #endif
-00208 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_printable_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_printable_8cpp-source.html deleted file mode 100644 index 3e1f49511..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_printable_8cpp-source.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: eoPrintable.cpp Source File - - - - - -

eoPrintable.cpp

00001 #ifdef _MSC_VER
-00002 // to avoid long name warnings
-00003 #pragma warning(disable:4786)
-00004 #endif 
-00005 
-00006 //-----------------------------------------------------------------------------
-00007 // eoPrintable.cpp
-00008 //-----------------------------------------------------------------------------
-00009 
-00010 #include <eoPrintable.h>
-00011 
-00012 //-----------------------------------------------------------------------------
-00013 //Implementation of these objects
-00014 //-----------------------------------------------------------------------------
-00015 
-00016 std::ostream & operator << ( std::ostream& _os, const eoPrintable& _o ) {
-00017         _o.printOn(_os);
-00018         return _os;
-00019 };
-00020 
-00021 //-----------------------------------------------------------------------------
-00022 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_printable_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_printable_8h-source.html deleted file mode 100644 index 21619ad5f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_printable_8h-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoPrintable.h Source File - - - - - -

eoPrintable.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoPrintable.h
-00005 // (c) GeNeura Team, 1998
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef EOPRINTABLE_H
-00026 #define EOPRINTABLE_H
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 #include <iostream>  // std::istream, std::ostream
-00031 #include <string> // para std::string
-00032 
-00033 //-----------------------------------------------------------------------------
-00034 // eoPrintable
-00035 //-----------------------------------------------------------------------------
-00043 class eoPrintable
-00044 {
-00045  public:
-00047   virtual ~eoPrintable() {}
-00048   
-00053   virtual void printOn(std::ostream& _os) const = 0;
-00054 };
-00055 
-00056 //-----------------------------------------------------------------------------
-00058 std::ostream & operator << ( std::ostream& _os, const eoPrintable& _o );
-00059 
-00060 #endif
-00061 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_prop_g_a_gen_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_prop_g_a_gen_op_8h-source.html deleted file mode 100644 index 01cbc2756..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_prop_g_a_gen_op_8h-source.html +++ /dev/null @@ -1,88 +0,0 @@ - - -EO: eoPropGAGenOp.h Source File - - - - - -

eoPropGAGenOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoPropGAGenOp.h
-00005 // (c) Marc.Schoenauer 2005
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoPropGAGenOp_h
-00028 #define _eoPropGAGenOp_h
-00029 
-00030 #include "eoGenOp.h"
-00031 #include "eoInvalidateOps.h"
-00033 // class eoSGAGenOp
-00035 
-00041 template<class EOT> 
-00042 class eoPropGAGenOp : public eoGenOp<EOT>
-00043 {
-00044  public:
-00045     
-00051   eoPropGAGenOp(double _wClone, eoQuadOp<EOT>& _cross, double _wCross, 
-00052                  eoMonOp<EOT>& _mut, double _wMut)
-00053     : wClone(_wClone),
-00054       cross(_cross),
-00055       wCross(_wCross),
-00056       mut(_mut), 
-00057       wMut(_wMut) 
-00058   {
-00059     propOp.add(cross, wCross); // the crossover - with weight wCross
-00060     propOp.add(mut, wMut); // mutation with weight wMut
-00061     propOp.add(monClone, wClone);
-00062   }
-00063   
-00065   virtual void apply(eoPopulator<EOT>& _pop)
-00066   {
-00067     propOp.apply(_pop);
-00068   }
-00069 
-00071   virtual unsigned max_production(void) {return 2;}
-00072 
-00073   virtual std::string className() const {return "eoPropGAGenOp";}
-00074 
-00075 
-00076  private:
-00077   double wClone;
-00078   eoQuadOp<EOT> &cross;   // eoInvalidateXXX take the boolean output
-00079   double wCross;
-00080   eoMonOp<EOT> & mut;      // of the XXX op and invalidate the EOT
-00081   double wMut;
-00082   eoProportionalOp<EOT> propOp;
-00083   eoMonCloneOp<EOT> monClone;
-00084 };
-00085 
-00086 
-00087 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_proportional_combined_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_proportional_combined_op_8h-source.html deleted file mode 100644 index 8b4e4a318..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_proportional_combined_op_8h-source.html +++ /dev/null @@ -1,183 +0,0 @@ - - -EO: eoProportionalCombinedOp.h Source File - - - - - -

eoProportionalCombinedOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 //-----------------------------------------------------------------------------
-00003 // eoCombinedOp.h
-00004 // (c) GeNeura Team, 1998, Marc Schoenauer, 2000
-00005 /* 
-00006     This library is free software; you can redistribute it and/or
-00007     modify it under the terms of the GNU Lesser General Public
-00008     License as published by the Free Software Foundation; either
-00009     version 2 of the License, or (at your option) any later version.
-00010 
-00011     This library is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00014     Lesser General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU Lesser General Public
-00017     License along with this library; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 
-00020     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00021  */
-00022 //-----------------------------------------------------------------------------
-00023 
-00024 #ifndef _eoCombinedOp_H
-00025 #define _eoCombinedOp_H
-00026 
-00027 #include <eoObject.h>
-00028 #include <eoPrintable.h>
-00029 #include <eoFunctor.h>
-00030 #include <eoOp.h>
-00031 #include <utils/eoRNG.h>
-00048 
-00049 
-00050 
-00051 
-00057 template <class EOT>
-00058 class eoPropCombinedMonOp: public eoMonOp<EOT>
-00059 {
-00060 public:
-00062   eoPropCombinedMonOp(eoMonOp<EOT> & _first, const double _rate)
-00063   {
-00064     ops.push_back(&_first);
-00065     rates.push_back(_rate);
-00066   }
-00067 
-00068   virtual std::string className() const { return "eoPropCombinedMonOp"; }
-00069 
-00070   virtual void add(eoMonOp<EOT> & _op, const double _rate, bool _verbose=false)
-00071   {
-00072     ops.push_back(&_op);
-00073     rates.push_back(_rate);
-00074     // compute the relative rates in percent - to warn the user!
-00075     if (_verbose)
-00076       printOn(std::cout);
-00077   }
-00078 
-00079   // outputs the operators and percentages
-00080   virtual void printOn(std::ostream & _os)
-00081   {
-00082     double total = 0;
-00083     unsigned i;
-00084     for (i=0; i<ops.size(); i++)
-00085       total += rates[i];
-00086     _os << "In " << className() << "\n" ;
-00087     for (i=0; i<ops.size(); i++)
-00088       _os << ops[i]->className() << " with rate " << 100*rates[i]/total << " %\n";
-00089   }
-00090 
-00091   virtual bool operator()(EOT & _indi)
-00092   {
-00093     unsigned what = rng.roulette_wheel(rates); // choose one op
-00094     return (*ops[what])(_indi);            // apply it
-00095   }
-00096 protected:
-00097 std::vector<eoMonOp<EOT>*> ops;
-00098 std::vector<double> rates;
-00099 };
-00100 
-00104 
-00108 template <class EOT>
-00109 class eoPropCombinedBinOp: public eoBinOp<EOT>
-00110 {
-00111 public:
-00113   eoPropCombinedBinOp(eoBinOp<EOT> & _first, const double _rate)
-00114   {
-00115     ops.push_back(&_first);
-00116     rates.push_back(_rate);
-00117   }
-00118 
-00119 virtual std::string className() const { return "eoPropCombinedBinOp"; }
-00120 
-00121 virtual void add(eoBinOp<EOT> & _op, const double _rate, bool _verbose=false)
-00122   {
-00123     ops.push_back(&_op);
-00124     rates.push_back(_rate);
-00125     // compute the relative rates in percent - to warn the user!
-00126     if (_verbose)
-00127       {
-00128         double total = 0;
-00129         unsigned i;
-00130         for (i=0; i<ops.size(); i++)
-00131           total += rates[i];
-00132         std::cout << "In " << className() << "\n" ;
-00133         for (i=0; i<ops.size(); i++)
-00134           std::cout << ops[i]->className() << " with rate " << 100*rates[i]/total << " %\n";
-00135       }
-00136   }
-00137 
-00138   virtual void operator()(EOT & _indi1, const EOT & _indi2)
-00139   {
-00140     unsigned what = rng.roulette_wheel(rates); // choose one op index
-00141     return (*ops[what])(_indi1, _indi2);                   // apply it
-00142   }
-00143 private:
-00144 std::vector<eoBinOp<EOT>*> ops;
-00145 std::vector<double> rates;
-00146 };
-00147 
-00148 
-00152 
-00162 template <class EOT>
-00163 class eoPropCombinedQuadOp: public eoQuadOp<EOT>
-00164 {
-00165 public:
-00167   eoPropCombinedQuadOp(eoQuadOp<EOT> & _first, const double _rate)
-00168   {
-00169     ops.push_back(&_first);
-00170     rates.push_back(_rate);
-00171   }
-00172 
-00173 virtual std::string className() const { return "eoPropCombinedQuadOp"; }
-00174 
-00175   // addition of a true operator
-00176 virtual void add(eoQuadOp<EOT> & _op, const double _rate, bool _verbose=false)
-00177   {
-00178     ops.push_back(&_op);
-00179     rates.push_back(_rate);
-00180     // compute the relative rates in percent - to warn the user!
-00181     if (_verbose)
-00182       printOn(std::cout);
-00183   }
-00184 
-00185   // outputs the operators and percentages
-00186   virtual void printOn(std::ostream & _os)
-00187   {
-00188     double total = 0;
-00189     unsigned i;
-00190     for (i=0; i<ops.size(); i++)
-00191       total += rates[i];
-00192     _os << "In " << className() << "\n" ;
-00193     for (i=0; i<ops.size(); i++)
-00194       _os << ops[i]->className() << " with rate " << 100*rates[i]/total << " %\n";
-00195   }
-00196 
-00197   virtual bool operator()(EOT & _indi1, EOT & _indi2)
-00198   {
-00199     unsigned what = rng.roulette_wheel(rates); // choose one op index
-00200     return (*ops[what])(_indi1, _indi2);                   // apply it
-00201   }
-00202 private:
-00203 std::vector<eoQuadOp<EOT>*> ops;
-00204 std::vector<double> rates;
-00205 };
-00206 
-00207 
-00208 // for General Ops, it's another story - see eoOpCOntainer
-00209 #endif
-00210 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_proportional_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_proportional_select_8h-source.html deleted file mode 100644 index bcccf867a..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_proportional_select_8h-source.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: eoProportionalSelect.h Source File - - - - - -

eoProportionalSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoProportionalSelect.h
-00005 // (c) GeNeura Team, 1998 - EEAAX 1999, Maarten Keijzer 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoProportionalSelect_h
-00028 #define eoProportionalSelect_h
-00029 
-00030 //-----------------------------------------------------------------------------
-00031 
-00032 #include <utils/eoRNG.h>
-00033 #include <utils/selectors.h>
-00034 #include <eoSelectOne.h>
-00035 #include <eoPop.h>
-00036 //-----------------------------------------------------------------------------
-00043 //-----------------------------------------------------------------------------
-00044 
-00045 template <class EOT> class eoProportionalSelect: public eoSelectOne<EOT> 
-00046 {
-00047 public:
-00049   eoProportionalSelect(const eoPop<EOT>& pop = eoPop<EOT>()) 
-00050   {
-00051     if (minimizing_fitness<EOT>())
-00052       throw std::logic_error("eoProportionalSelect: minimizing fitness");
-00053   }
-00054 
-00055   void setup(const eoPop<EOT>& _pop)
-00056   {
-00057       if (_pop.size() == 0) return;
-00058       
-00059       cumulative.resize(_pop.size());
-00060       cumulative[0] = _pop[0].fitness();
-00061 
-00062       for (unsigned i = 1; i < _pop.size(); ++i) 
-00063       {
-00064           cumulative[i] = _pop[i].fitness() + cumulative[i-1];
-00065       }
-00066   }
-00067     
-00070   const EOT& operator()(const eoPop<EOT>& _pop) 
-00071   {
-00072       if (cumulative.size() == 0) setup(_pop);
-00073       
-00074       double fortune = rng.uniform() * cumulative.back(); 
-00075       typename FitVec::iterator result = std::upper_bound(cumulative.begin(), cumulative.end(), fortune);
-00076       return _pop[result - cumulative.begin()];
-00077   }
-00078 
-00079 private :
-00080 
-00081   typedef std::vector<typename EOT::Fitness> FitVec;
-00082   FitVec cumulative;
-00083 };
-00084 
-00085 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_r_n_g_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_r_n_g_8cpp-source.html deleted file mode 100644 index 459a42767..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_r_n_g_8cpp-source.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: eoRNG.cpp Source File - - - - - -

eoRNG.cpp

00001 #ifdef _MSC_VER
-00002 // to avoid long name warnings
-00003 #pragma warning(disable:4786)
-00004 #endif
-00005 
-00006 #include <ctime>
-00007 #include "eoRNG.h"
-00008 
-00009 namespace eo
-00010 {
-00012     eoRng rng(time(0));
-00013 }
-00014 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_r_n_g_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_r_n_g_8h-source.html deleted file mode 100644 index 05d75e012..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_r_n_g_8h-source.html +++ /dev/null @@ -1,355 +0,0 @@ - - -EO: eoRNG.h Source File - - - - - -

eoRNG.h

00001 
-00024 #ifndef EO_RANDOM_NUMBER_GENERATOR
-00025 #define EO_RANDOM_NUMBER_GENERATOR
-00026 
-00027 // uint32_t is an unsigned integer type capable of holding 32 bits.
-00028 //
-00029 // In the applicatione here exactly 32 but should typically be fastest, but 64
-00030 // might be better on an Alpha with GCC at -O3 optimization so try your options
-00031 // and see what's best for you.
-00032 //
-00033 // The C99-standard defines uint32_t to be declared in stdint.h, but some
-00034 // systmes don't have that and implement it in inttypes.h.
-00035 #if (! defined __sun)
-00036 #include <stdint.h>
-00037 #else
-00038 #include <inttypes.h>
-00039 #endif
-00040 
-00041 #include <vector>
-00042 #include "eoPersistent.h"
-00043 #include "eoObject.h"
-00044 
-00103 class eoRng : public eoObject, public eoPersistent
-00104 {
-00105 public :
-00106 
-00113     eoRng(uint32_t s)
-00114         : state(0), next(0), left(-1), cached(false), N(624), M(397), K(0x9908B0DFU)
-00115         {
-00116             state = new uint32_t[N+1];
-00117             initialize(2*s);
-00118         }
-00119 
-00120     ~eoRng(void)
-00121         {
-00122             delete [] state;
-00123         }
-00124 
-00135     void reseed(uint32_t s)
-00136         {
-00137             initialize(2*s);
-00138         }
-00139 
-00150     void oldReseed(uint32_t s)
-00151         {
-00152             initialize(s);
-00153         }
-00154 
-00158     double uniform(double m = 1.0)
-00159         { // random number between [0, m]
-00160             return m * double(rand()) / double(1.0 + rand_max());
-00161         }
-00162 
-00166     uint32_t random(uint32_t m)
-00167         {
-00168             return uint32_t(uniform() * double(m));
-00169         }
-00170 
-00175     bool flip(float bias=0.5)
-00176         {
-00177             return uniform() < bias;
-00178         }
-00179 
-00183     double normal(void);        // gaussian mutation, stdev 1
-00184 
-00188     double normal(double stdev)
-00189         {
-00190             return stdev * normal();
-00191         }
-00192 
-00196     double normal(double mean, double stdev)
-00197         {
-00198             return mean + normal(stdev);
-00199         }
-00200 
-00204     double negexp(double mean)
-00205         {
-00206             return ( -mean*log((double)rand() / rand_max()));
-00207         }
-00208 
-00212     uint32_t rand();
-00213 
-00217     uint32_t rand_max(void) const { return uint32_t(0xffffffff); }
-00218 
-00224     template <typename TYPE>
-00225     int roulette_wheel(const std::vector<TYPE>& vec, TYPE total = 0)
-00226         {
-00227             if (total == 0)
-00228             { // count
-00229                 for (unsigned    i = 0; i < vec.size(); ++i)
-00230                     total += vec[i];
-00231             }
-00232             double fortune = uniform() * total;
-00233             int i = 0;
-00234             while (fortune > 0)
-00235             {
-00236                 fortune -= vec[i++];
-00237             }
-00238             return --i;
-00239         }
-00240 
-00241 
-00246     template <typename TYPE>
-00247     const TYPE& choice(const std::vector<TYPE>& vec) const
-00248         { return vec[random(vec.size())]; }
-00249 
-00250 
-00261     template <typename TYPE>
-00262     TYPE& choice(std::vector<TYPE>& vec)
-00263         { return vec[random(vec.size())]; }
-00264 
-00266     void printOn(std::ostream& _os) const
-00267         {
-00268             for (int i = 0; i < N; ++i)
-00269             {
-00270                 _os << state[i] << ' ';
-00271             }
-00272             _os << int(next - state) << ' ';
-00273             _os << left << ' ' << cached << ' ' << cacheValue;
-00274         }
-00275 
-00277     void readFrom(std::istream& _is)
-00278         {
-00279             for (int i = 0; i < N; ++i)
-00280             {
-00281                 _is >> state[i];
-00282             }
-00283 
-00284             int n;
-00285             _is >> n;
-00286             next = state + n;
-00287 
-00288             _is >> left;
-00289             _is >> cached;
-00290             _is >> cacheValue;
-00291         }
-00292 
-00293     std::string className(void) const { return "Mersenne-Twister"; }
-00294 
-00295 private:
-00296 
-00297     uint32_t restart(void);
-00298 
-00299 
-00300     /* @brief Initialize state
-00301 
-00302     We initialize state[0..(N-1)] via the generator
-00303 
-00304     <tt>x_new = (69069 * x_old) mod 2^32</tt>
-00305 
-00306     from Line 15 of Table 1, p. 106, Sec. 3.3.4 of Knuth's _The Art of Computer
-00307     Programming_, Volume 2, 3rd ed.
-00308 
-00309     Notes (SJC): I do not know what the initial state requirements of the
-00310     Mersenne Twister are, but it seems this seeding generator could be better.
-00311     It achieves the maximum period for its modulus (2^30) iff x_initial is odd
-00312     (p. 20-21, Sec. 3.2.1.2, Knuth); if x_initial can be even, you have
-00313     sequences like 0, 0, 0, ...; 2^31, 2^31, 2^31, ...; 2^30, 2^30, 2^30, ...;
-00314     2^29, 2^29 + 2^31, 2^29, 2^29 + 2^31, ..., etc. so I force seed to be odd
-00315     below.
-00316 
-00317     Even if x_initial is odd, if x_initial is 1 mod 4 then
-00318 
-00319     the          lowest bit of x is always 1,
-00320     the  next-to-lowest bit of x is always 0,
-00321     the 2nd-from-lowest bit of x alternates      ... 0 1 0 1 0 1 0 1 ... ,
-00322     the 3rd-from-lowest bit of x 4-cycles        ... 0 1 1 0 0 1 1 0 ... ,
-00323     the 4th-from-lowest bit of x has the 8-cycle ... 0 0 0 1 1 1 1 0 ... ,
-00324     ...
-00325 
-00326     and if x_initial is 3 mod 4 then
-00327 
-00328     the          lowest bit of x is always 1,
-00329     the  next-to-lowest bit of x is always 1,
-00330     the 2nd-from-lowest bit of x alternates      ... 0 1 0 1 0 1 0 1 ... ,
-00331     the 3rd-from-lowest bit of x 4-cycles        ... 0 0 1 1 0 0 1 1 ... ,
-00332     the 4th-from-lowest bit of x has the 8-cycle ... 0 0 1 1 1 1 0 0 ... ,
-00333     ...
-00334 
-00335     The generator's potency (min. s>=0 with (69069-1)^s = 0 mod 2^32) is 16,
-00336     which seems to be alright by p. 25, Sec. 3.2.1.3 of Knuth. It also does well
-00337     in the dimension 2..5 spectral tests, but it could be better in dimension 6
-00338     (Line 15, Table 1, p. 106, Sec. 3.3.4, Knuth).
-00339 
-00340     Note that the random number user does not see the values generated here
-00341     directly since restart() will always munge them first, so maybe none of all
-00342     of this matters. In fact, the seed values made here could even be
-00343     extra-special desirable if the Mersenne Twister theory says so-- that's why
-00344     the only change I made is to restrict to odd seeds.
-00345     */
-00346     void initialize(uint32_t seed);
-00347 
-00349     uint32_t* state;
-00350 
-00351     uint32_t* next;
-00352 
-00353     int left;
-00354 
-00355     // for normal distribution
-00356     bool cached;
-00357 
-00358     float cacheValue;
-00359 
-00360     const int N;
-00361 
-00362     const int M;
-00363 
-00365     const uint32_t K;
-00366 
-00367 
-00376     eoRng(const eoRng&);
-00377 
-00382     eoRng& operator=(const eoRng&);
-00383 };
-00384 
-00385 
-00386 
-00387 namespace eo
-00388 {
-00390     extern eoRng rng;
-00391 }
-00392 using eo::rng;
-00393 
-00394 
-00395 
-00396 
-00397 
-00398 // Implementation of some eoRng members.... Don't mind the mess, it does work.
-00399 
-00400 
-00401 #define hiBit(u)       ((u) & 0x80000000U)   // mask all but highest   bit of u
-00402 #define loBit(u)       ((u) & 0x00000001U)   // mask all but lowest    bit of u
-00403 #define loBits(u)      ((u) & 0x7FFFFFFFU)   // mask     the highest   bit of u
-00404 #define mixBits(u, v)  (hiBit(u)|loBits(v))  // move hi bit of u to hi bit of v
-00405 
-00406 inline void eoRng::initialize(uint32_t seed)
-00407 {
-00408     left = -1;
-00409 
-00410     register uint32_t x = (seed | 1U) & 0xFFFFFFFFU, *s = state;
-00411     register int    j;
-00412 
-00413     for(left=0, *s++=x, j=N; --j;
-00414         *s++ = (x*=69069U) & 0xFFFFFFFFU);
-00415 }
-00416 
-00417 
-00418 
-00419 inline uint32_t eoRng::restart(void)
-00420 {
-00421     register uint32_t *p0=state, *p2=state+2, *pM=state+M, s0, s1;
-00422     register int    j;
-00423 
-00424     left=N-1, next=state+1;
-00425 
-00426     for(s0=state[0], s1=state[1], j=N-M+1; --j; s0=s1, s1=*p2++)
-00427         *p0++ = *pM++ ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U);
-00428 
-00429     for(pM=state, j=M; --j; s0=s1, s1=*p2++)
-00430         *p0++ = *pM++ ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U);
-00431 
-00432     s1=state[0], *p0 = *pM ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U);
-00433     s1 ^= (s1 >> 11);
-00434     s1 ^= (s1 <<  7) & 0x9D2C5680U;
-00435     s1 ^= (s1 << 15) & 0xEFC60000U;
-00436     return(s1 ^ (s1 >> 18));
-00437 }
-00438 
-00439 
-00440 
-00441 inline uint32_t eoRng::rand(void)
-00442 {
-00443 
-00444     uint32_t y;
-00445 
-00446     if(--left < 0)
-00447         return(restart());
-00448 
-00449     y  = *next++;
-00450     y ^= (y >> 11);
-00451     y ^= (y <<  7) & 0x9D2C5680U;
-00452     y ^= (y << 15) & 0xEFC60000U;
-00453     return(y ^ (y >> 18));
-00454 }
-00455 
-00456 
-00457 
-00458 inline double eoRng::normal(void)
-00459 {
-00460     if (cached)
-00461     {
-00462         cached = false;
-00463         return cacheValue;
-00464     }
-00465 
-00466     float rSquare, factor, var1, var2;
-00467 
-00468     do
-00469     {
-00470         var1 = 2.0 * uniform() - 1.0;
-00471         var2 = 2.0 * uniform() - 1.0;
-00472 
-00473         rSquare = var1 * var1 + var2 * var2;
-00474     }
-00475     while (rSquare >= 1.0 || rSquare == 0.0);
-00476 
-00477     factor = sqrt(-2.0 * log(rSquare) / rSquare);
-00478 
-00479     cacheValue = var1 * factor;
-00480     cached = true;
-00481 
-00482     return (var2 * factor);
-00483 }
-00484 
-00485 
-00486 
-00487 namespace eo {
-00488     // a few convenience functions for generating numbers
-00489 
-00503     template <typename T>
-00504     inline T random(const T& max) {
-00505         return static_cast<T>(rng.uniform() * max); }
-00506 
-00516     template <typename T>
-00517     inline T random(const T& min, const T& max) {
-00518         return static_cast<T>(rng.uniform() * (max-min)) + min; }
-00519 
-00521     inline double normal() { return rng.normal(); }
-00522 }
-00523 
-00524 
-00525 #endif
-00526 
-00527 
-00528 // Local Variables:
-00529 // coding: iso-8859-1
-00530 // mode: C++
-00531 // c-file-style: "Stroustrup"
-00532 // fill-column: 80
-00533 // End:
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_random_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_random_select_8h-source.html deleted file mode 100644 index 8a3c53875..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_random_select_8h-source.html +++ /dev/null @@ -1,96 +0,0 @@ - - -EO: eoRandomSelect.h Source File - - - - - -

eoRandomSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoRandomSelect.h
-00005 // (c) GeNeura Team, 1998 - EEAAX 1999, Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoRandomSelect_h
-00028 #define eoRandomSelect_h
-00029 
-00030 //-----------------------------------------------------------------------------
-00037 #include <utils/eoRNG.h>
-00038 #include <eoSelectOne.h>
-00039 
-00040 //-----------------------------------------------------------------------------
-00042 //-----------------------------------------------------------------------------
-00043 
-00044 template <class EOT> class eoRandomSelect: public eoSelectOne<EOT>
-00045 {
-00046  public:
-00047 
-00049   virtual const EOT& operator()(const eoPop<EOT>& _pop)
-00050   {
-00051     return _pop[eo::rng.random(_pop.size())] ;
-00052   }
-00053 };
-00054 
-00055 //-----------------------------------------------------------------------------
-00058 //-----------------------------------------------------------------------------
-00059 
-00060 template <class EOT> class eoBestSelect: public eoSelectOne<EOT>
-00061 {
-00062  public:
-00063 
-00065   virtual const EOT& operator()(const eoPop<EOT>& _pop)
-00066   {
-00067     return _pop.best_element() ;
-00068   }
-00069 };
-00070 
-00071 //-----------------------------------------------------------------------------
-00076 //-----------------------------------------------------------------------------
-00077 
-00078 template <class EOT> class eoNoSelect: public eoSelectOne<EOT>
-00079 {
-00080  public:
-00083   eoNoSelect(): current(0) {}
-00084 
-00085   virtual const EOT& operator()(const eoPop<EOT>& _pop)
-00086   {
-00087     if (current >= _pop.size())
-00088       current=0;
-00089 
-00090     current++;
-00091     return _pop[current-1] ;
-00092   }
-00093 private:
-00094   unsigned current;
-00095 };
-00096 
-00097 #endif
-00098 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_ranking_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_ranking_8h-source.html deleted file mode 100644 index a0e15c571..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_ranking_8h-source.html +++ /dev/null @@ -1,97 +0,0 @@ - - -EO: eoRanking.h Source File - - - - - -

eoRanking.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoRanking_h
-00028 #define eoRanking_h
-00029 
-00030 #include <eoPerf2Worth.h>
-00031 
-00037 template <class EOT>
-00038 class eoRanking : public eoPerf2Worth<EOT> // false: do not cache fitness
-00039 {
-00040 public:
-00041 
-00042     using eoPerf2Worth<EOT>::value;
-00043 
-00044   /* Ctor:
-00045    @param _p selective pressure (in (1,2]
-00046    @param _e exponent (1 == linear)
-00047   */
-00048   eoRanking(double _p=2.0, double _e=1.0):
-00049     pressure(_p), exponent(_e) {}
-00050 
-00051   /* helper function: finds index in _pop of _eo, an EOT * */
-00052   int lookfor(const EOT *_eo, const eoPop<EOT>& _pop)
-00053     {
-00054       typename eoPop<EOT>::const_iterator it;
-00055       for (it=_pop.begin(); it<_pop.end(); it++)
-00056         {
-00057           if (_eo == &(*it))
-00058             return it-_pop.begin();
-00059         }
-00060       throw std::runtime_error("Not found in eoLinearRanking");
-00061     }
-00062 
-00063   /* COmputes the ranked fitness: fitnesses range in [m,M]
-00064      with m=2-pressure/popSize and M=pressure/popSize.
-00065      in between, the progression depstd::ends on exponent (linear if 1).
-00066    */
-00067   virtual void operator()(const eoPop<EOT>& _pop)
-00068     {
-00069       std::vector<const EOT *> rank;
-00070       _pop.sort(rank);
-00071       unsigned pSize =_pop.size();
-00072       unsigned int pSizeMinusOne = pSize-1;
-00073 
-00074       if (pSize <= 1)
-00075         throw std::runtime_error("Cannot do ranking with population of size <= 1");
-00076 
-00077       // value() refers to the std::vector of worthes (we're in an eoParamvalue)
-00078       value().resize(pSize);
-00079 
-00080       double beta = (2-pressure)/pSize;
-00081       if (exponent == 1.0)         // no need for exponetial then
-00082         {
-00083           double alpha = (2*pressure-2)/(pSize*pSizeMinusOne);
-00084           for (unsigned i=0; i<pSize; i++)
-00085             {
-00086               int which = lookfor(rank[i], _pop);
-00087               value()[which] = alpha*(pSize-i)+beta; // worst -> 1/[P(P-1)/2]
-00088             }
-00089         }
-00090       else                                 // exponent != 1
-00091         {
-00092           double gamma = (2*pressure-2)/pSize;
-00093           for (unsigned i=0; i<pSize; i++)
-00094             {
-00095               int which = lookfor(rank[i], _pop);
-00096               // value in in [0,1]
-00097               double tmp = ((double)(pSize-i))/pSize;
-00098               // to the exponent, and back to [m,M]
-00099               value()[which] = gamma*pow(tmp, exponent)+beta;
-00100             }
-00101         }
-00102     }
-00103  private:
-00104   double pressure;      // selective pressure
-00105   double exponent;
-00106 };
-00107 
-00108 
-00109 
-00110 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_ranking_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_ranking_select_8h-source.html deleted file mode 100644 index 4b28c85fb..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_ranking_select_8h-source.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: eoRankingSelect.h Source File - - - - - -

eoRankingSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoRankingSelect.h
-00005 // (c) GeNeura Team, 1998, Maarten Keijzer 2000, Marc Schoenauer 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mak@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoRankingSelect_h
-00027 #define eoRankingSelect_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <eoSelectFromWorth.h>
-00032 #include <eoRanking.h>
-00033 
-00040 template <class EOT> 
-00041 class eoRankingSelect: public eoRouletteWorthSelect<EOT, double> 
-00042 {
-00043 public:
-00048   eoRankingSelect(double _p = 2.0, double _e=1.0): 
-00049     eoRouletteWorthSelect<EOT, double>(ranking), ranking(_p, _e) {}
-00050 
-00051 private :
-00052   eoRanking<EOT> ranking;          // derived from eoPerf2Worth
-00053 };
-00054 
-00055 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_real_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_real_8h-source.html deleted file mode 100644 index 7751e7692..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_real_8h-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -EO: eoReal.h Source File - - - - - -

eoReal.h

00001 /*
-00002    eoReal.h
-00003 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00004 
-00005     This library is free software; you can redistribute it and/or
-00006     modify it under the terms of the GNU Lesser General Public
-00007     License as published by the Free Software Foundation; either
-00008     version 2 of the License, or (at your option) any later version.
-00009 
-00010     This library is distributed in the hope that it will be useful,
-00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00013     Lesser General Public License for more details.
-00014 
-00015     You should have received a copy of the GNU Lesser General Public
-00016     License along with this library; if not, write to the Free Software
-00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00018 
-00019     Contact: Marc.Schoenauer@polytechnique.fr
-00020              todos@geneura.ugr.es, http://geneura.ugr.es 
-00021              mkeijzer@dhi.dk
-00022 */
-00023 
-00024 #ifndef eoReal_h
-00025 #define eoReal_h
-00026 
-00027 //-----------------------------------------------------------------------------
-00028 
-00029 #include <iostream>    // std::ostream, std::istream
-00030 #include <string>      // std::string
-00031 
-00032 #include <eoVector.h>
-00033 
-00037 template <class FitT> class eoReal: public eoVector<FitT, double>
-00038 {
-00039  public:
-00040 
-00045   eoReal(unsigned size = 0, double value = 0.0):
-00046     eoVector<FitT, double>(size, value) {}
-00047 
-00049   virtual std::string className() const
-00050     {
-00051       return "eoReal";
-00052     }
-00053 
-00054 };
-00055 
-00056 //-----------------------------------------------------------------------------
-00057 
-00058 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_real_atom_xover_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_real_atom_xover_8h-source.html deleted file mode 100644 index 8ea085a12..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_real_atom_xover_8h-source.html +++ /dev/null @@ -1,62 +0,0 @@ - - -EO: eoRealAtomXover.h Source File - - - - - -

eoRealAtomXover.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00031 #ifndef _eoRealAtomXover_H
-00032 #define _eoRealAtomXover_H
-00033 
-00034 #include <utils/eoRNG.h>
-00035 
-00036 #include <eoOp.h>
-00037 
-00041 class eoDoubleExchange: public eoBinOp<double>
-00042 {
-00043 public:
-00047   eoDoubleExchange() {}
-00048 
-00050   virtual std::string className() const { return "eoDoubleExchange"; }
-00051 
-00055   bool operator()(double& r1, const double& r2) 
-00056   {
-00057     if (eo::rng.flip())
-00058       if (r1 != r2)        // if r1 == r2 you must return false
-00059         {
-00060           r1 = r2;
-00061           return true;
-00062         }
-00063     return false;
-00064   }
-00065   
-00066 };
-00067 
-00071 class eoDoubleIntermediate: public eoBinOp<double>
-00072 {
-00073 public:
-00077   eoDoubleIntermediate() {}
-00078 
-00080   virtual std::string className() const { return "eoDoubleIntermediate"; }
-00081 
-00085   bool operator()(double& r1, const double& r2) 
-00086   {
-00087     double alpha = eo::rng.uniform();
-00088     r1 = alpha * r2 + (1-alpha) * r1;
-00089     return true;
-00090   }
-00091   
-00092 };
-00093 
-00094 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_real_bounds_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_real_bounds_8cpp-source.html deleted file mode 100644 index dfbc65d39..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_real_bounds_8cpp-source.html +++ /dev/null @@ -1,267 +0,0 @@ - - -EO: eoRealBounds.cpp Source File - - - - - -

eoRealBounds.cpp

00001 #ifdef _MSC_VER
-00002 // to avoid long name warnings
-00003 #pragma warning(disable:4786)
-00004 #endif
-00005 
-00006 #ifdef HAVE_CONFIG_H
-00007 #include <config.h>
-00008 #endif
-00009 
-00010 #include <ctime>
-00011 #include <sstream>
-00012 
-00013 #include "eoRealBounds.h"
-00014 #include "eoRealVectorBounds.h"
-00015 
-00016 
-00017 // the global dummy bounds
-00018 // (used for unbounded variables when bounds are required)
-00019 eoRealNoBounds eoDummyRealNoBounds;
-00020 eoRealVectorNoBounds eoDummyVectorNoBounds(0);
-00021 
-00023 
-00024 // removes leading delimiters - return false if nothing else left
-00025 bool remove_leading(std::string & _s, const std::string _delim)
-00026 {
-00027   size_t posDebToken = _s.find_first_not_of(_delim);
-00028   if (posDebToken >= _s.size())
-00029     return false;
-00030   _s = _s.substr(posDebToken);
-00031   return true;
-00032 }
-00033 
-00034 double read_double(std::string _s)
-00035 {
-00036     std::istringstream is(_s);
-00037   double r;
-00038   is >> r;
-00039   return r;
-00040 }
-00041 
-00042 long int read_int(std::string _s)
-00043 {
-00044     std::istringstream is(_s);
-00045   long int i;
-00046   is >> i;
-00047   return i;
-00048 }
-00049 
-00050 // need to rewrite copy ctor and assignement operator because of ownedBounds
-00051 eoRealVectorBounds::eoRealVectorBounds(const eoRealVectorBounds & _b):
-00052   eoRealBaseVectorBounds(_b)
-00053 {
-00054   factor = _b.factor;
-00055   ownedBounds = _b.ownedBounds;
-00056   // duplicate all pointers!
-00057   if (ownedBounds.size()>0)
-00058     for (unsigned i=0; i<ownedBounds.size(); i++)
-00059       ownedBounds[i] = ownedBounds[i]->dup();
-00060 }
-00061 
-00062 
-00063 // the readFrom method of eoRealVectorNoBounds:
-00064 // only calls the readFrom(string) - for param reading
-00065 void eoRealVectorBounds::readFrom(std::istream& _is)
-00066 {
-00067   std::string value;
-00068   _is >> value;
-00069   readFrom(value);
-00070   return;
-00071 }
-00072 
-00073 void eoRealVectorBounds::readFrom(std::string _value)
-00074 {
-00075   // keep track of old size - to adjust in the end
-00076   unsigned oldSize = size();
-00077   // clean-up before filling in
-00078   if (ownedBounds.size()>0)
-00079     for (unsigned i = 0; i < ownedBounds.size(); ++i)
-00080       {
-00081         delete ownedBounds[i];
-00082       }
-00083   ownedBounds.resize(0);
-00084   factor.resize(0);
-00085   resize(0);
-00086 
-00087   // now read
-00088   std::string delim(",; ");
-00089   while (_value.size()>0)
-00090     {
-00091       if (!remove_leading(_value, delim)) // only delimiters were left
-00092         break;
-00093       // look for opening char
-00094       size_t posDeb = _value.find_first_of("[(");
-00095       if (posDeb >= _value.size())      // nothing left to read (though probably a syntax error there)
-00096         {
-00097           break;
-00098         }
-00099       // ending char
-00100       std::string closeChar = (_value[posDeb] == '(' ? std::string(")") : std::string("]") );
-00101 
-00102       size_t posFin = _value.find_first_of(std::string(closeChar));
-00103       if (posFin >= _value.size())
-00104         throw std::runtime_error("Syntax error when reading bounds");
-00105 
-00106   // y a-t-il un nbre devant
-00107       unsigned count = 1;
-00108       if (posDeb > 0)                   // something before opening
-00109         {
-00110           std::string sCount = _value.substr(0, posDeb);
-00111           count = read_int(sCount);
-00112           if (count <= 0)
-00113             throw std::runtime_error("Syntax error when reading bounds");
-00114         }
-00115 
-00116       // the bounds
-00117       std::string sBounds = _value.substr(posDeb+1, posFin-posDeb-1);
-00118       // and remove from original string
-00119       _value = _value.substr(posFin+1);
-00120 
-00121       remove_leading(sBounds, delim);
-00122       size_t posDelim = sBounds.find_first_of(delim);
-00123       if (posDelim >= sBounds.size())
-00124         throw std::runtime_error("Syntax error when reading bounds");
-00125 
-00126       bool minBounded=false, maxBounded=false;
-00127       double minBound=0, maxBound=0;
-00128 
-00129       // min bound
-00130       std::string sMinBounds = sBounds.substr(0,posDelim);
-00131       if (sMinBounds != std::string("-inf"))
-00132         {
-00133           minBounded = true;
-00134           minBound = read_double(sMinBounds);
-00135         }
-00136 
-00137       // max bound
-00138       size_t posEndDelim = sBounds.find_first_not_of(delim,posDelim);
-00139 
-00140       std::string sMaxBounds = sBounds.substr(posEndDelim);
-00141       if (sMaxBounds != std::string("+inf"))
-00142         {
-00143           maxBounded = true;
-00144           maxBound = read_double(sMaxBounds);
-00145         }
-00146 
-00147       // now create the eoRealBounds objects
-00148       eoRealBounds *ptBounds;
-00149       if (minBounded && maxBounded)
-00150         ptBounds = new eoRealInterval(minBound, maxBound);
-00151       else if (!minBounded && !maxBounded)      // no bound at all
-00152         ptBounds = new eoRealNoBounds;
-00153       else if (!minBounded && maxBounded)
-00154         ptBounds = new eoRealAboveBound(maxBound);
-00155       else if (minBounded && !maxBounded)
-00156         ptBounds = new eoRealBelowBound(minBound);
-00157       // store it for memory management
-00158       ownedBounds.push_back(ptBounds);
-00159       // push the count
-00160       factor.push_back(count);
-00161       // and add count of it to the actual bounds
-00162       for (unsigned i=0; i<count; i++)
-00163         push_back(ptBounds);
-00164     }
-00165   // now adjust the size to the initial value
-00166   adjust_size(oldSize);
-00167 }
-00168 
-00170 void eoRealVectorBounds::adjust_size(unsigned _dim)
-00171 {
-00172   if ( size() < _dim )
-00173     {
-00174       // duplicate last bound
-00175       unsigned missing = _dim-size();
-00176       eoRealBounds * ptBounds = back();
-00177       for (unsigned i=0; i<missing; i++)
-00178         push_back(ptBounds);
-00179       // update last factor (warning: can be > 1 already!)
-00180       factor[factor.size()-1] += missing;
-00181     }
-00182 }
-00183 
-00189 eoRealBounds* eoGeneralRealBounds::getBoundsFromString(std::string _value)
-00190 {
-00191   // now read
-00192   std::string delim(",; ");
-00193   std::string beginOrClose("[(])");
-00194   if (!remove_leading(_value, delim)) // only delimiters were left
-00195     throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor");
-00196 
-00197   // look for opening char
-00198   size_t posDeb = _value.find_first_of(beginOrClose);   // allow ]a,b]
-00199   if (posDeb >= _value.size())  // nothing left to read
-00200     throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor");
-00201 
-00202   // ending char: next {}() after posDeb
-00203   size_t posFin = _value.find_first_of(beginOrClose,posDeb+1);
-00204   if (posFin >= _value.size())  // not found
-00205     throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor");
-00206 
-00207   // the bounds
-00208   std::string sBounds = _value.substr(posDeb+1, posFin-posDeb-1);
-00209   // and remove from original string
-00210   _value = _value.substr(posFin+1);
-00211 
-00212   remove_leading(sBounds, delim);
-00213   size_t posDelim = sBounds.find_first_of(delim);
-00214   if (posDelim >= sBounds.size())
-00215     throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor");
-00216 
-00217       bool minBounded=false, maxBounded=false;
-00218       double minBound=0, maxBound=0;
-00219 
-00220       // min bound
-00221       std::string sMinBounds = sBounds.substr(0,posDelim);
-00222 
-00223       if ( (sMinBounds != std::string("-inf")) &&
-00224            (sMinBounds != std::string("-infinity"))
-00225            )
-00226         {
-00227           minBounded = true;
-00228           minBound = read_double(sMinBounds);
-00229         }
-00230 
-00231       // max bound
-00232       size_t posEndDelim = sBounds.find_first_not_of(delim,posDelim);
-00233 
-00234       std::string sMaxBounds = sBounds.substr(posEndDelim);
-00235 
-00236       if ( (sMaxBounds != std::string("+inf")) &&
-00237            (sMaxBounds != std::string("+infinity"))
-00238            )
-00239         {
-00240           maxBounded = true;
-00241           maxBound = read_double(sMaxBounds);
-00242         }
-00243 
-00244       // now create the embedded eoRealBounds object
-00245       eoRealBounds * locBound;
-00246       if (minBounded && maxBounded)
-00247         {
-00248           if (maxBound <= minBound)
-00249             throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor");
-00250           locBound = new eoRealInterval(minBound, maxBound);
-00251         }
-00252       else if (!minBounded && !maxBounded)      // no bound at all
-00253         locBound = new eoRealNoBounds;
-00254       else if (!minBounded && maxBounded)
-00255         locBound = new eoRealAboveBound(maxBound);
-00256       else if (minBounded && !maxBounded)
-00257         locBound = new eoRealBelowBound(minBound);
-00258       return locBound;
-00259 }
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_real_bounds_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_real_bounds_8h-source.html deleted file mode 100644 index 2fb18710f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_real_bounds_8h-source.html +++ /dev/null @@ -1,493 +0,0 @@ - - -EO: eoRealBounds.h Source File - - - - - -

eoRealBounds.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoRealBounds.h
-00005 // (c) Marc Schoenauer 2001, Maarten Keijzer 2000, GeNeura Team, 1998
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoRealBounds_h
-00028 #define _eoRealBounds_h
-00029 
-00030 #include <stdexcept>               // std::exceptions!
-00031 #include <utils/eoRNG.h>
-00032 
-00075 class eoRealBounds : public eoPersistent
-00076 { 
-00077 public:
-00078   virtual ~eoRealBounds(){}
-00079 
-00082   virtual bool isBounded(void) const  = 0;
-00083 
-00087   virtual bool hasNoBoundAtAll(void) const  = 0;
-00088 
-00091   virtual bool isMinBounded(void) const = 0;
-00092 
-00095   virtual bool isMaxBounded(void) const = 0;
-00096 
-00099   virtual bool isInBounds(double)  const = 0;
-00100 
-00103   virtual void foldsInBounds(double &)  const = 0;
-00104 
-00107   virtual void truncate(double &)  const = 0;
-00108 
-00112   virtual double minimum()  const = 0 ;
-00116   virtual double maximum()  const = 0 ;
-00120   virtual double range()  const = 0;
-00121 
-00125   virtual double uniform(eoRng & _rng = eo::rng)  const = 0;
-00126 
-00128   virtual eoRealBounds * dup()  const = 0;
-00129 };
-00130 
-00133 class eoRealNoBounds : public eoRealBounds
-00134 {
-00135 public:
-00136   virtual ~eoRealNoBounds(){}
-00137 
-00138   virtual bool isBounded(void)  const {return false;}
-00139   virtual bool hasNoBoundAtAll(void) const  {return true;}
-00140   virtual bool isMinBounded(void)  const {return false;}
-00141   virtual bool isMaxBounded(void)  const {return false;}
-00142   virtual void foldsInBounds(double &)  const {return;}
-00143   virtual void truncate(double &)  const {return;}
-00144   virtual bool isInBounds(double)  const {return true;}
-00145 
-00146   virtual double minimum() const
-00147   {
-00148     throw std::logic_error("Trying to get minimum of unbounded eoRealBounds");
-00149   }
-00150   virtual double maximum() const 
-00151   {
-00152     throw std::logic_error("Trying to get maximum of unbounded eoRealBounds");
-00153   }
-00154   virtual double range() const 
-00155   {
-00156     throw std::logic_error("Trying to get range of unbounded eoRealBounds");
-00157   }
-00158 
-00159   virtual double uniform(eoRng & _rng = eo::rng) const 
-00160   {
-00161     throw std::logic_error("Trying to generate uniform values in unbounded eoRealBounds");
-00162   }
-00163 
-00164   // methods from eoPersistent
-00171   virtual void readFrom(std::istream& _is) 
-00172   {
-00173     throw std::runtime_error("Should not use eoRealBounds::readFrom");
-00174   }
-00175 
-00180   virtual void printOn(std::ostream& _os) const
-00181   {
-00182     _os << "[-inf,+inf]";
-00183   }
-00184 
-00186   virtual eoRealBounds * dup() const 
-00187   {
-00188     return new eoRealNoBounds(*this);
-00189   }
-00190 
-00191 };
-00192 
-00193 // one object for all - see eoRealBounds.cpp
-00194 extern eoRealNoBounds eoDummyRealNoBounds;
-00195 
-00199 class eoRealInterval : public eoRealBounds
-00200 {
-00201 public :
-00202   virtual ~eoRealInterval(){}
-00203   
-00207   eoRealInterval(double _min=0, double _max=1) : 
-00208     repMinimum(_min), repMaximum(_max), repRange(_max-_min) 
-00209   {
-00210     if (repRange<=0)
-00211       throw std::logic_error("Void range in eoRealBounds");
-00212   }
-00213 
-00214   // accessors  
-00215   virtual double minimum() const { return repMinimum; }
-00216   virtual double maximum() const { return repMaximum; }
-00217   virtual double range()  const { return repRange; }
-00218 
-00219   // description
-00220   virtual bool isBounded(void)  const {return true;}
-00221   virtual bool hasNoBoundAtAll(void)  const {return false;}
-00222   virtual bool isMinBounded(void)  const {return true;}
-00223   virtual bool isMaxBounded(void)  const {return true;}
-00224 
-00225   virtual double uniform(eoRng & _rng = eo::rng) const 
-00226   {
-00227     return repMinimum + _rng.uniform(repRange);
-00228   }  
-00229 
-00230   // says if a given double is within the bounds
-00231   virtual bool isInBounds(double _r) const 
-00232   {
-00233     if (_r < repMinimum)
-00234       return false;
-00235     if (_r > repMaximum)
-00236       return false;
-00237     return true;
-00238   }
-00239 
-00240   // folds a value into bounds
-00241   virtual void foldsInBounds(double &  _r) const 
-00242   {
-00243     long iloc;
-00244     double dlargloc = 2 * range() ;
-00245 
-00246     if (fabs(_r) > 1.0E9)               // iloc too large!
-00247       {
-00248         _r = uniform();
-00249         return;
-00250       }
-00251 
-00252     if ( (_r > maximum()) )
-00253       {
-00254         iloc = (long) ( (_r-minimum()) / dlargloc ) ;
-00255         _r -= dlargloc * iloc ;
-00256         if ( _r > maximum() )
-00257           _r = 2*maximum() - _r ;
-00258       }
-00259     
-00260     if (_r < minimum()) 
-00261       {
-00262         iloc = (long) ( (maximum()-_r) / dlargloc ) ;
-00263         _r += dlargloc * iloc ;
-00264         if (_r < minimum())
-00265           _r = 2*minimum() - _r ;
-00266       }
-00267   }    
-00268 
-00269   // truncates to the bounds
-00270   virtual void truncate(double & _r) const 
-00271   {
-00272     if (_r < repMinimum)
-00273       _r = repMinimum;
-00274     else if (_r > repMaximum)
-00275       _r = repMaximum;
-00276     return;
-00277   }
-00278 
-00279   // methods from eoPersistent
-00286   virtual void readFrom(std::istream& _is) 
-00287   {
-00288     throw std::runtime_error("Should not use eoRealInterval::readFrom");
-00289   }
-00290 
-00295   virtual void printOn(std::ostream& _os) const
-00296   {
-00297     _os << "[" << repMinimum << "," << repMaximum << "]";
-00298   }
-00299 
-00301   virtual eoRealBounds * dup() const 
-00302   {
-00303     return new eoRealInterval(*this);
-00304   }
-00305 
-00306 private :
-00307   double repMinimum;
-00308   double repMaximum;
-00309   double repRange;                         // to minimize operations ???
-00310 };
-00311 
-00315 class eoRealBelowBound : public eoRealBounds
-00316 {
-00317 public :
-00318   virtual ~eoRealBelowBound(){}  
-00322   eoRealBelowBound(double _min=0) : 
-00323     repMinimum(_min)
-00324   {}
-00325 
-00326   // accessors  
-00327   virtual double minimum() const { return repMinimum; }
-00328 
-00329   virtual double maximum() const 
-00330   {
-00331     throw std::logic_error("Trying to get maximum of eoRealBelowBound");
-00332   }
-00333   virtual double range() const 
-00334   {
-00335     throw std::logic_error("Trying to get range of eoRealBelowBound");
-00336   }
-00337 
-00338   // random generators
-00339   virtual double uniform(eoRng & _rng = eo::rng) const 
-00340   {
-00341     throw std::logic_error("Trying to generate uniform values in eoRealBelowBound");
-00342   }
-00343 
-00344   // description
-00345   virtual bool isBounded(void)  const {return false;}
-00346   virtual bool hasNoBoundAtAll(void)  const {return false;}
-00347   virtual bool isMinBounded(void)  const {return true;}
-00348   virtual bool isMaxBounded(void) const  {return false;}
-00349 
-00350   // says if a given double is within the bounds
-00351   virtual bool isInBounds(double _r) const 
-00352   {
-00353     if (_r < repMinimum)
-00354       return false;
-00355     return true;
-00356   }
-00357 
-00358   // folds a value into bounds
-00359   virtual void foldsInBounds(double &  _r) const 
-00360   {
-00361     // easy as a pie: symmetry w.r.t. minimum
-00362     if (_r < repMinimum)           // nothing to do otherwise
-00363       _r = 2*repMinimum - _r;
-00364     return ;
-00365   }    
-00366 
-00367   // truncates to the bounds
-00368   virtual void truncate(double & _r) const 
-00369   {
-00370     if (_r < repMinimum)
-00371       _r = repMinimum;
-00372     return;
-00373   }
-00374 
-00375   // methods from eoPersistent
-00382   virtual void readFrom(std::istream& _is) 
-00383   {
-00384     throw std::runtime_error("Should not use eoRealBelowBound::readFrom");
-00385   }
-00386 
-00391   virtual void printOn(std::ostream& _os) const
-00392   {
-00393     _os << "[" << repMinimum << ",+inf]";
-00394   }
-00395 
-00397   virtual eoRealBounds * dup() const 
-00398   {
-00399     return new eoRealBelowBound(*this);
-00400   }
-00401 
-00402 private :
-00403   double repMinimum;
-00404 };
-00405 
-00409 class eoRealAboveBound : public eoRealBounds
-00410 {
-00411 public :
-00412   virtual ~eoRealAboveBound(){}
-00413   
-00417   eoRealAboveBound(double _max=0) : 
-00418     repMaximum(_max)
-00419   {}
-00420 
-00421   // accessors  
-00422   virtual double maximum() const  { return repMaximum; }
-00423 
-00424   virtual double minimum() const 
-00425   {
-00426     throw std::logic_error("Trying to get minimum of eoRealAboveBound");
-00427   }
-00428   virtual double range() const 
-00429   {
-00430     throw std::logic_error("Trying to get range of eoRealAboveBound");
-00431   }
-00432 
-00433   // random generators
-00434   virtual double uniform(eoRng & _rng = eo::rng) const 
-00435   {
-00436     throw std::logic_error("Trying to generate uniform values in eoRealAboveBound");
-00437   }
-00438 
-00439   // description
-00440   virtual bool isBounded(void)  const {return false;}
-00441   virtual bool hasNoBoundAtAll(void)  const {return false;}
-00442   virtual bool isMinBounded(void)  const {return false;}
-00443   virtual bool isMaxBounded(void)  const {return true;}
-00444 
-00445   // says if a given double is within the bounds
-00446   virtual bool isInBounds(double _r) const 
-00447   {
-00448     if (_r > repMaximum)
-00449       return false;
-00450     return true;
-00451   }
-00452 
-00453   // folds a value into bounds
-00454   virtual void foldsInBounds(double &  _r) const 
-00455   {
-00456     // easy as a pie: symmetry w.r.t. maximum
-00457     if (_r > repMaximum)           // nothing to do otherwise
-00458       _r = 2*repMaximum - _r;
-00459     return ;
-00460   }    
-00461 
-00462   // truncates to the bounds
-00463   virtual void truncate(double & _r) const 
-00464   {
-00465     if (_r > repMaximum)
-00466       _r = repMaximum;
-00467     return;
-00468   }
-00469 
-00470   // methods from eoPersistent
-00477   virtual void readFrom(std::istream& _is) 
-00478   {
-00479     throw std::runtime_error("Should not use eoRealAboveBound::readFrom");
-00480   }
-00481 
-00486   virtual void printOn(std::ostream& _os) const
-00487   {
-00488     _os << "[-inf," << repMaximum << "]";
-00489   }
-00490 
-00492   virtual eoRealBounds * dup() const 
-00493   {
-00494     return new eoRealAboveBound(*this);
-00495   }
-00496 
-00497 private :
-00498   double repMaximum;
-00499 };
-00500 
-00502 
-00506 class eoGeneralRealBounds : public eoRealBounds
-00507 {
-00508 public:
-00510   eoGeneralRealBounds(std::string _s = "[-infinity,+infinity]")
-00511   {
-00512     repBound = getBoundsFromString(_s);
-00513   }
-00514 
-00516   eoGeneralRealBounds(const eoGeneralRealBounds & _b):eoRealBounds(_b)
-00517   {
-00518     // replicate the embedded bound (I'm pretty sure there is another
-00519     // way to do that !!!
-00520 
-00521     bool minBounded = _b.isMinBounded();
-00522     bool maxBounded = _b.isMaxBounded();
-00523     double minimum, maximum;
-00524     const eoRealBounds & bb = _b.theBounds();
-00525     if (minBounded) minimum = bb.minimum();
-00526     if (maxBounded) maximum = bb.maximum();
-00527 
-00528       if (minBounded && maxBounded)
-00529         repBound = new eoRealInterval(minimum, maximum);
-00530       else if (!minBounded && !maxBounded)      // no bound at all
-00531         repBound = new eoRealNoBounds;
-00532       else if (!minBounded && maxBounded)
-00533         repBound = new eoRealAboveBound(maximum);
-00534       else if (minBounded && !maxBounded)
-00535         repBound = new eoRealBelowBound(minimum);
-00536   }
-00537 
-00538   eoGeneralRealBounds& operator=(const eoGeneralRealBounds& _b)
-00539   {
-00540     // replicate the embedded bound (I'm pretty sure there is another
-00541     // way to do that !!!
-00542 
-00543     bool minBounded = _b.isMinBounded();
-00544     bool maxBounded = _b.isMaxBounded();
-00545     double minimum, maximum;
-00546     const eoRealBounds & bb = _b.theBounds();
-00547     if (minBounded) minimum = bb.minimum();
-00548     if (maxBounded) maximum = bb.maximum();
-00549 
-00550     // first delete the embedded bounds if necessary
-00551     if (repBound)
-00552       delete repBound;
-00553     // now reallocate
-00554       if (minBounded && maxBounded)
-00555         repBound = new eoRealInterval(minimum, maximum);
-00556       else if (!minBounded && !maxBounded)      // no bound at all
-00557         repBound = new eoRealNoBounds;
-00558       else if (!minBounded && maxBounded)
-00559         repBound = new eoRealAboveBound(maximum);
-00560       else if (minBounded && !maxBounded)
-00561         repBound = new eoRealBelowBound(minimum);
-00562       return (*this);
-00563   }
-00564 
-00565 
-00567   ~eoGeneralRealBounds()
-00568   {
-00569     delete repBound;
-00570   }
-00571 
-00573 
-00575   virtual bool isBounded(void)  const {return repBound->isBounded();}
-00576 
-00580   virtual bool hasNoBoundAtAll(void)  const {return repBound->hasNoBoundAtAll();}
-00581 
-00584   virtual bool isMinBounded(void)  const {return repBound->isMinBounded();}
-00585 
-00588   virtual bool isMaxBounded(void) const {return repBound->isMaxBounded();}
-00589 
-00592   virtual bool isInBounds(double _x)  const {return repBound->isInBounds(_x);}
-00593 
-00596   virtual void foldsInBounds(double & _x) const {return repBound->foldsInBounds(_x);}
-00597 
-00600   virtual void truncate(double & _x)  const {return repBound->truncate(_x);}
-00601 
-00605   virtual double minimum()  const {return repBound->minimum();}
-00609   virtual double maximum() const {return repBound->maximum();}
-00613   virtual double range()  const {return repBound->range();}
-00614 
-00618   virtual double uniform(eoRng & _rng = eo::rng)  const {return repBound->uniform();}
-00619 
-00621   virtual eoRealBounds * dup() const  {return repBound->dup();}
-00622 
-00624   const eoRealBounds & theBounds()  const { return *repBound;} 
-00625 
-00629   virtual void printOn(std::ostream& _os) const
-00630   {
-00631     repBound->printOn(_os);
-00632   }
-00633 
-00635   virtual void readFrom(std::istream& _is) 
-00636   {
-00637     std::string s;
-00638     _is >> s;
-00639     if (repBound)
-00640       delete repBound;
-00641     repBound = getBoundsFromString(s);
-00642   }
-00643 
-00644 private:
-00645   // reading from a string
-00646   eoRealBounds * getBoundsFromString(std::string);
-00647 
-00648   eoRealBounds * repBound;
-00649 };
-00650 
-00651 
-00652 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_real_init_bounded_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_real_init_bounded_8h-source.html deleted file mode 100644 index 42470ac3c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_real_init_bounded_8h-source.html +++ /dev/null @@ -1,76 +0,0 @@ - - -EO: eoRealInitBounded.h Source File - - - - - -

eoRealInitBounded.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoRealInitBounded.h
-00005 // (c) EEAAX 2000 - Maarten Keijzer 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mak@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoRealInitBounded_h
-00027 #define eoRealInitBounded_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <utils/eoRNG.h>
-00032 #include <eoInit.h>
-00033 #include <es/eoReal.h>
-00034 #include <utils/eoRealVectorBounds.h>
-00035 
-00039 template <class EOT>
-00040 class eoRealInitBounded : public eoInit<EOT>
-00041 {
-00042  public:
-00044   eoRealInitBounded(eoRealVectorBounds & _bounds):bounds(_bounds) 
-00045   {
-00046         if (!bounds.isBounded())
-00047       throw std::runtime_error("Needs bounded bounds to initialize a std::vector<double>");
-00048   }
-00049 
-00051   virtual void operator()(EOT & _eo)
-00052     {
-00053       bounds.uniform(_eo);  // resizes, and fills uniformly in bounds
-00054       _eo.invalidate();            // was MISSING!!!!
-00055     }
-00056 
-00058   virtual eoRealVectorBounds & theBounds() {return bounds;}
-00059   virtual unsigned size(){return bounds.size();}
-00060 
-00061  private:
-00062   eoRealVectorBounds & bounds;
-00063 };
-00064 
-00065 //-----------------------------------------------------------------------------
-00067 #endif 
-00068 
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_real_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_real_op_8h-source.html deleted file mode 100644 index e9241c06f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_real_op_8h-source.html +++ /dev/null @@ -1,382 +0,0 @@ - - -EO: eoRealOp.h Source File - - - - - -

eoRealOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoRealOp.h
-00005 // (c) Maarten Keijzer 2000 - Marc Schoenauer 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mak@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoRealOp_h
-00027 #define eoRealOp_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <algorithm>    // swap_ranges
-00032 #include <utils/eoRNG.h>
-00033 #include <es/eoReal.h>
-00034 #include <utils/eoRealVectorBounds.h>
-00035 
-00036 //-----------------------------------------------------------------------------
-00037 
-00045 template<class EOT> class eoUniformMutation: public eoMonOp<EOT>
-00046 {
-00047  public:
-00056   eoUniformMutation(const double& _epsilon, const double& _p_change = 1.0):
-00057     homogeneous(true), bounds(eoDummyVectorNoBounds), epsilon(1, _epsilon),
-00058     p_change(1, _p_change) {}
-00059 
-00066   eoUniformMutation(eoRealVectorBounds & _bounds,
-00067                     const double& _epsilon, const double& _p_change = 1.0):
-00068     homogeneous(false), bounds(_bounds), epsilon(_bounds.size(), _epsilon),
-00069     p_change(_bounds.size(), _p_change)
-00070   {
-00071     // scale to the range - if any
-00072     for (unsigned i=0; i<bounds.size(); i++)
-00073       if (bounds.isBounded(i))
-00074           epsilon[i] *= _epsilon*bounds.range(i);
-00075   }
-00076 
-00083   eoUniformMutation(eoRealVectorBounds & _bounds,
-00084                     const std::vector<double>& _epsilon,
-00085                     const std::vector<double>& _p_change):
-00086     homogeneous(false), bounds(_bounds), epsilon(_epsilon),
-00087     p_change(_p_change) {}
-00088 
-00090   virtual std::string className() const { return "eoUniformMutation"; }
-00091 
-00096   bool operator()(EOT& _eo)
-00097     {
-00098       bool hasChanged=false;
-00099       if (homogeneous)             // implies no bounds object
-00100         for (unsigned lieu=0; lieu<_eo.size(); lieu++)
-00101           {
-00102             if (rng.flip(p_change[0]))
-00103               {
-00104                 _eo[lieu] += 2*epsilon[0]*rng.uniform()-epsilon[0];
-00105                 hasChanged = true;
-00106               }
-00107           }
-00108       else
-00109         {
-00110           // sanity check ?
-00111           if (_eo.size() != bounds.size())
-00112             throw std::runtime_error("Invalid size of indi in eoUniformMutation");
-00113 
-00114           for (unsigned lieu=0; lieu<_eo.size(); lieu++)
-00115             if (rng.flip(p_change[lieu]))
-00116               {
-00117                 // check the bounds
-00118                 double emin = _eo[lieu]-epsilon[lieu];
-00119                 double emax = _eo[lieu]+epsilon[lieu];
-00120                 if (bounds.isMinBounded(lieu))
-00121                   emin = std::max(bounds.minimum(lieu), emin);
-00122                 if (bounds.isMaxBounded(lieu))
-00123                   emax = std::min(bounds.maximum(lieu), emax);
-00124                 _eo[lieu] = emin + (emax-emin)*rng.uniform();
-00125                 hasChanged = true;
-00126               }
-00127         }
-00128       return hasChanged;
-00129     }
-00130 
-00131 private:
-00132   bool homogeneous;   // == no bounds passed in the ctor
-00133   eoRealVectorBounds & bounds;
-00134   std::vector<double> epsilon;     // the ranges for mutation
-00135   std::vector<double> p_change;    // the proba that each variable is modified
-00136 };
-00137 
-00144 template<class EOT> class eoDetUniformMutation: public eoMonOp<EOT>
-00145 {
-00146  public:
-00154   eoDetUniformMutation(const double& _epsilon, const unsigned& _no = 1):
-00155     homogeneous(true), bounds(eoDummyVectorNoBounds),
-00156     epsilon(1, _epsilon), no(_no) {}
-00157 
-00164   eoDetUniformMutation(eoRealVectorBounds & _bounds,
-00165                        const double& _epsilon, const unsigned& _no = 1):
-00166     homogeneous(false), bounds(_bounds),
-00167     epsilon(_bounds.size(), _epsilon), no(_no)
-00168   {
-00169     // scale to the range - if any
-00170     for (unsigned i=0; i<bounds.size(); i++)
-00171       if (bounds.isBounded(i))
-00172           epsilon[i] *= _epsilon*bounds.range(i);
-00173   }
-00174 
-00181   eoDetUniformMutation(eoRealVectorBounds & _bounds,
-00182                        const std::vector<double>& _epsilon,
-00183                        const unsigned& _no = 1):
-00184     homogeneous(false), bounds(_bounds), epsilon(_epsilon), no(_no)
-00185   {
-00186     // scale to the range - if any
-00187     for (unsigned i=0; i<bounds.size(); i++)
-00188       if (bounds.isBounded(i))
-00189           epsilon[i] *= _epsilon[i]*bounds.range(i);
-00190   }
-00191 
-00193   virtual std::string className() const { return "eoDetUniformMutation"; }
-00194 
-00199   bool operator()(EOT& _eo)
-00200     {
-00201       if (homogeneous)
-00202         for (unsigned i=0; i<no; i++)
-00203           {
-00204             unsigned lieu = rng.random(_eo.size());
-00205             // actually, we should test that we don't re-modify same variable!
-00206             _eo[lieu] = 2*epsilon[0]*rng.uniform()-epsilon[0];
-00207           }
-00208       else
-00209         {
-00210           // sanity check ?
-00211           if (_eo.size() != bounds.size())
-00212             throw std::runtime_error("Invalid size of indi in eoDetUniformMutation");
-00213           for (unsigned i=0; i<no; i++)
-00214             {
-00215               unsigned lieu = rng.random(_eo.size());
-00216               // actually, we should test that we don't re-modify same variable!
-00217 
-00218               // check the bounds
-00219               double emin = _eo[lieu]-epsilon[lieu];
-00220               double emax = _eo[lieu]+epsilon[lieu];
-00221               if (bounds.isMinBounded(lieu))
-00222                 emin = std::max(bounds.minimum(lieu), emin);
-00223               if (bounds.isMaxBounded(lieu))
-00224                 emax = std::min(bounds.maximum(lieu), emax);
-00225               _eo[lieu] = emin + (emax-emin)*rng.uniform();
-00226             }
-00227         }
-00228       return true;
-00229     }
-00230 
-00231 private:
-00232   bool homogeneous;   //  == no bounds passed in the ctor
-00233   eoRealVectorBounds & bounds;
-00234   std::vector<double> epsilon;     // the ranges of mutation
-00235   unsigned no;
-00236 };
-00237 
-00238 
-00239 // two arithmetical crossovers
-00240 
-00247 template<class EOT> class eoSegmentCrossover: public eoQuadOp<EOT>
-00248 {
-00249  public:
-00259   eoSegmentCrossover(const double& _alpha = 0.0) :
-00260     bounds(eoDummyVectorNoBounds), alpha(_alpha), range(1+2*_alpha) {}
-00261 
-00270   eoSegmentCrossover(eoRealVectorBounds & _bounds,
-00271                      const double& _alpha = 0.0) :
-00272     bounds(_bounds), alpha(_alpha), range(1+2*_alpha) {}
-00273 
-00275   virtual std::string className() const { return "eoSegmentCrossover"; }
-00276 
-00282   bool operator()(EOT& _eo1, EOT& _eo2)
-00283     {
-00284       unsigned i;
-00285       double r1, r2, fact;
-00286       double alphaMin = -alpha;
-00287       double alphaMax = 1+alpha;
-00288       if (alpha == 0.0)            // no check to perform
-00289         fact = -alpha + rng.uniform(range); // in [-alpha,1+alpha)
-00290       else                         // look for the bounds for fact
-00291         {
-00292           for (i=0; i<_eo1.size(); i++)
-00293             {
-00294               r1=_eo1[i];
-00295               r2=_eo2[i];
-00296               if (r1 != r2) {      // otherwise you'll get NAN's
-00297                 double rmin = std::min(r1, r2);
-00298                 double rmax = std::max(r1, r2);
-00299                 double length = rmax - rmin;
-00300                 if (bounds.isMinBounded(i))
-00301                   {
-00302                     alphaMin = std::max(alphaMin, (bounds.minimum(i)-rmin)/length);
-00303                     alphaMax = std::min(alphaMax, (rmax-bounds.minimum(i))/length);
-00304                   }
-00305                 if (bounds.isMaxBounded(i))
-00306                   {
-00307                     alphaMax = std::min(alphaMax, (bounds.maximum(i)-rmin)/length);
-00308                     alphaMin = std::max(alphaMin, (rmax-bounds.maximum(i))/length);
-00309                   }
-00310               }
-00311             }
-00312           fact = alphaMin + (alphaMax-alphaMin)*rng.uniform();
-00313         }
-00314 
-00315       for (i=0; i<_eo1.size(); i++)
-00316         {
-00317           r1=_eo1[i];
-00318           r2=_eo2[i];
-00319           _eo1[i] = fact * r1 + (1-fact) * r2;
-00320           _eo2[i] = (1-fact) * r1 + fact * r2;
-00321         }
-00322       return true;         // shoudl test if fact was 0 or 1 :-)))
-00323     }
-00324 
-00325 protected:
-00326   eoRealVectorBounds & bounds;
-00327   double alpha;
-00328   double range;                    // == 1+2*alpha
-00329 };
-00330 
-00337 template<class EOT> class eoHypercubeCrossover: public eoQuadOp<EOT>
-00338 {
-00339  public:
-00349   eoHypercubeCrossover(const double& _alpha = 0.0):
-00350     bounds(eoDummyVectorNoBounds), alpha(_alpha), range(1+2*_alpha)
-00351   {
-00352     if (_alpha < 0)
-00353       throw std::runtime_error("BLX coefficient should be positive");
-00354   }
-00355 
-00364   eoHypercubeCrossover(eoRealVectorBounds & _bounds,
-00365                         const double& _alpha = 0.0):
-00366     bounds(_bounds), alpha(_alpha), range(1+2*_alpha)
-00367   {
-00368     if (_alpha < 0)
-00369       throw std::runtime_error("BLX coefficient should be positive");
-00370   }
-00371 
-00373   virtual std::string className() const { return "eoHypercubeCrossover"; }
-00374 
-00380   bool operator()(EOT& _eo1, EOT& _eo2)
-00381     {
-00382       bool hasChanged = false;
-00383       unsigned i;
-00384       double r1, r2, fact;
-00385       if (alpha == 0.0)            // no check to perform
-00386           for (i=0; i<_eo1.size(); i++)
-00387             {
-00388               r1=_eo1[i];
-00389               r2=_eo2[i];
-00390               if (r1 != r2) {      // otherwise do nothing
-00391                 fact = rng.uniform(range);       // in [0,1)
-00392                 _eo1[i] = fact * r1 + (1-fact) * r2;
-00393                 _eo2[i] = (1-fact) * r1 + fact * r2;
-00394                 hasChanged = true; // forget (im)possible alpha=0
-00395               }
-00396             }
-00397       else         // check the bounds
-00398         // do not try to get a bound on the linear factor, but rather
-00399         // on the object variables themselves
-00400         for (i=0; i<_eo1.size(); i++)
-00401           {
-00402             r1=_eo1[i];
-00403             r2=_eo2[i];
-00404             if (r1 != r2) {        // otherwise do nothing
-00405               double rmin = std::min(r1, r2);
-00406               double rmax = std::max(r1, r2);
-00407 
-00408               // compute min and max for object variables
-00409               double objMin = -alpha * rmax + (1+alpha) * rmin;
-00410               double objMax = -alpha * rmin + (1+alpha) * rmax;
-00411 
-00412               // first find the limits on the alpha's
-00413               if (bounds.isMinBounded(i))
-00414                 {
-00415                   objMin = std::max(objMin, bounds.minimum(i));
-00416                 }
-00417               if (bounds.isMaxBounded(i))
-00418                 {
-00419                   objMax = std::min(objMax, bounds.maximum(i));
-00420                 }
-00421               // then draw variables
-00422               double median = (objMin+objMax)/2.0; // uniform within bounds
-00423               // double median = (rmin+rmax)/2.0;  // Bounce on bounds
-00424               double valMin = objMin + (median-objMin)*rng.uniform();
-00425               double valMax = median + (objMax-median)*rng.uniform();
-00426               // don't always put large value in _eo1 - or what?
-00427               if (rng.flip(0.5))
-00428                 {
-00429                   _eo1[i] = valMin;
-00430                   _eo2[i] = valMax;
-00431                 }
-00432               else
-00433                 {
-00434                   _eo1[i] = valMax;
-00435                   _eo2[i] = valMin;
-00436                 }
-00437               // seomthing has changed
-00438               hasChanged = true; // forget (im)possible alpha=0
-00439             }
-00440           }
-00441 
-00442     return hasChanged;
-00443    }
-00444 
-00445 protected:
-00446   eoRealVectorBounds & bounds;
-00447   double alpha;
-00448   double range;                    // == 1+2*alphaMin
-00449 };
-00450 
-00451 
-00457 template<class EOT> class eoRealUXover: public eoQuadOp<EOT>
-00458 {
-00459  public:
-00464   eoRealUXover(const float& _preference = 0.5): preference(_preference)
-00465     {
-00466       if ( (_preference <= 0.0) || (_preference >= 1.0) )
-00467         std::runtime_error("UxOver --> invalid preference");
-00468     }
-00469 
-00471   virtual std::string className() const { return "eoRealUXover"; }
-00472 
-00479   bool operator()(EOT& _eo1, EOT& _eo2)
-00480     {
-00481       if ( _eo1.size() != _eo2.size())
-00482             std::runtime_error("UxOver --> chromosomes sizes don't match" );
-00483       bool changed = false;
-00484       for (unsigned int i=0; i<_eo1.size(); i++)
-00485         {
-00486           if (rng.flip(preference))
-00487             if (_eo1[i] != _eo2[i])
-00488               {
-00489                 double tmp = _eo1[i];
-00490               _eo1[i]=_eo2[i];
-00491               _eo2[i] = tmp;
-00492               changed = true;
-00493             }
-00494         }
-00495       return changed;
-00496     }
-00497     private:
-00498       float preference;
-00499 };
-00500 
-00501 
-00502 //-----------------------------------------------------------------------------
-00504 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_real_vector_bounds_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_real_vector_bounds_8h-source.html deleted file mode 100644 index 199f3c3cd..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_real_vector_bounds_8h-source.html +++ /dev/null @@ -1,334 +0,0 @@ - - -EO: eoRealVectorBounds.h Source File - - - - - -

eoRealVectorBounds.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoRealVectorBounds.h
-00005 // (c) Marc Schoenauer 2001, Maarten Keijzer 2000, GeNeura Team, 1998
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoRealVectorBounds_h
-00028 #define _eoRealVectorBounds_h
-00029 
-00030 #include <stdexcept>               // std::exceptions!
-00031 #include <utils/eoRNG.h>
-00032 #include <utils/eoRealBounds.h>
-00033 
-00058 class eoRealBaseVectorBounds : public std::vector<eoRealBounds *>
-00059 { 
-00060 public:
-00061   // virtual desctructor (to avoid warning?)
-00062   virtual ~eoRealBaseVectorBounds(){}
-00063 
-00066   eoRealBaseVectorBounds() : std::vector<eoRealBounds *>(0) {}
-00067 
-00070   eoRealBaseVectorBounds(unsigned _dim, eoRealBounds & _bounds) : 
-00071     std::vector<eoRealBounds *>(_dim, &_bounds)
-00072   {}
-00073   
-00076   eoRealBaseVectorBounds(eoRealBounds & _xbounds, eoRealBounds & _ybounds) : 
-00077     std::vector<eoRealBounds *>(0)
-00078   {
-00079         push_back( &_xbounds);
-00080         push_back( &_ybounds);
-00081   }
-00082   
-00085   virtual bool isBounded(unsigned _i) 
-00086   { 
-00087     return (*this)[_i]->isBounded();
-00088   }
-00089  
-00092   virtual bool isBounded(void) 
-00093   {
-00094     for (unsigned i=0; i<size(); i++)
-00095       if (! (*this)[i]->isBounded())
-00096         return false;
-00097     return true;
-00098   }
-00099 
-00102   virtual bool hasNoBoundAtAll(unsigned _i) 
-00103   { 
-00104     return (*this)[_i]->hasNoBoundAtAll();
-00105   }
-00106  
-00109   virtual bool hasNoBoundAtAll(void) 
-00110   {
-00111     for (unsigned i=0; i<size(); i++)
-00112       if (! (*this)[i]->hasNoBoundAtAll())
-00113         return false;
-00114     return true;
-00115   }
-00116 
-00117   virtual bool isMinBounded(unsigned _i) 
-00118   { return (*this)[_i]->isMinBounded();} ;
-00119 
-00120   virtual bool isMaxBounded(unsigned _i) 
-00121   { return (*this)[_i]->isMaxBounded();} ;
-00122 
-00125   virtual void foldsInBounds(unsigned _i, double & _r)
-00126   {
-00127     (*this)[_i]->foldsInBounds(_r);
-00128   }
-00129 
-00132   virtual void foldsInBounds(std::vector<double> & _v)
-00133   {
-00134    for (unsigned i=0; i<size(); i++)
-00135      {
-00136        (*this)[i]->foldsInBounds(_v[i]);
-00137      }    
-00138   }
-00139 
-00142   virtual void truncate(unsigned _i, double & _r)
-00143   {
-00144     (*this)[_i]->truncate(_r);
-00145   }
-00146 
-00149   virtual void truncate(std::vector<double> & _v)
-00150   {
-00151    for (unsigned i=0; i<size(); i++)
-00152      {
-00153        (*this)[i]->truncate(_v[i]);
-00154      }    
-00155   }
-00156 
-00159   virtual bool isInBounds(unsigned _i, double _r)
-00160   { return (*this)[_i]->isInBounds(_r); }
-00161 
-00164   virtual bool isInBounds(std::vector<double> _v)
-00165   {
-00166     for (unsigned i=0; i<size(); i++)
-00167       if (! isInBounds(i, _v[i]))
-00168         return false;
-00169     return true;
-00170   }
-00171 
-00174   virtual double minimum(unsigned _i) {return (*this)[_i]->minimum();}
-00175   virtual double maximum(unsigned _i) {return (*this)[_i]->maximum();}
-00176   virtual double range(unsigned _i) {return (*this)[_i]->range();}
-00177 
-00181   virtual double averageRange() 
-00182   {
-00183     double r=0.0;
-00184     for (unsigned i=0; i<size(); i++)
-00185       r += range(i);
-00186     return r/size();
-00187   }
-00188 
-00192   virtual double uniform(unsigned _i, eoRng & _rng = eo::rng)
-00193   { 
-00194     double r= (*this)[_i]->uniform();
-00195     return r;
-00196   }
-00197 
-00201   void uniform(std::vector<double> & _v, eoRng & _rng = eo::rng)
-00202   {
-00203     _v.resize(size());
-00204     for (unsigned i=0; i<size(); i++)
-00205       {
-00206       _v[i] = uniform(i, _rng);
-00207       }
-00208   }  
-00209 
-00214   virtual void printOn(std::ostream& _os) const
-00215   {
-00216     for (unsigned i=0; i<size(); i++)
-00217       {
-00218         operator[](i)->printOn(_os);
-00219         _os << ";";
-00220       }
-00221   }
-00222 };
-00223 
-00225 
-00228 class eoRealVectorBounds : public eoRealBaseVectorBounds, public eoPersistent
-00229 {
-00230 public:
-00233   eoRealVectorBounds():eoRealBaseVectorBounds() {}
-00234 
-00237   eoRealVectorBounds(unsigned _dim, eoRealBounds & _bounds) : 
-00238     eoRealBaseVectorBounds(_dim, _bounds), factor(1,_dim), ownedBounds(0)
-00239   {}
-00240   
-00243   eoRealVectorBounds(eoRealBounds & _xbounds, eoRealBounds & _ybounds) : 
-00244     eoRealBaseVectorBounds(_xbounds, _ybounds), factor(2,1), ownedBounds(0)
-00245   {}
-00246   
-00249   eoRealVectorBounds(unsigned _dim, double _min, double _max) : 
-00250     eoRealBaseVectorBounds(), factor(1, _dim), ownedBounds(0)
-00251   {
-00252     if (_max-_min<=0)
-00253       throw std::logic_error("Void range in eoRealVectorBounds");
-00254     eoRealBounds *ptBounds = new eoRealInterval(_min, _max);
-00255     // handle memory once
-00256     ownedBounds.push_back(ptBounds);
-00257     // same bound for everyone
-00258     for (unsigned int i=0; i<_dim; i++)
-00259       push_back(ptBounds);
-00260   }
-00261 
-00264   eoRealVectorBounds(std::vector<double> _min, std::vector<double> _max) : 
-00265     factor(_min.size(), 1), ownedBounds(0)
-00266   {
-00267     if (_max.size() != _min.size())
-00268       throw std::logic_error("Dimensions don't match in eoRealVectorBounds");
-00269     // the bounds
-00270     eoRealBounds *ptBounds;
-00271     for (unsigned i=0; i<_min.size(); i++)
-00272       {
-00273         ptBounds = new eoRealInterval(_min[i], _max[i]);
-00274         ownedBounds.push_back(ptBounds);
-00275         push_back(ptBounds);
-00276       }
-00277   }
-00278 
-00282   eoRealVectorBounds(std::string _s) : eoRealBaseVectorBounds()
-00283   {
-00284     readFrom(_s);
-00285   }
-00286 
-00288   virtual ~eoRealVectorBounds()
-00289   {
-00290 //     std::cout << "Dtor, avec size = " << ownedBounds.size() << std::endl;
-00291 //     for (unsigned i = 0; i < ownedBounds.size(); ++i)
-00292 //     {
-00293 //         delete ownedBounds[i];
-00294 //     }
-00295 }
-00296 
-00297 
-00298   // methods from eoPersistent
-00304   virtual void readFrom(std::istream& _is) ;
-00305 
-00310   virtual void readFrom(std::string _s) ;
-00311 
-00313   virtual void printOn(std::ostream& _os) const
-00314   {
-00315     if (factor[0]>1)
-00316       _os << factor[0] ;
-00317     operator[](0)->printOn(_os);
-00318 
-00319     // other bounds
-00320     unsigned int index=factor[0];
-00321     if (factor.size()>1)
-00322       for (unsigned i=1; i<factor.size(); i++)
-00323         {
-00324           _os << ";";
-00325           if (factor[i] > 1)
-00326             _os << factor[i];
-00327           operator[](index)->printOn(_os);
-00328           index += factor[i];
-00329         }
-00330   }
-00331 
-00333   void adjust_size(unsigned _dim);
-00334 
-00337   eoRealVectorBounds(const eoRealVectorBounds &);
-00338 
-00339 private:// WARNING: there is no reason for both std::vector below 
-00340         //to be synchronized in any manner
-00341   std::vector<unsigned int> factor;        // std::list of nb of "grouped" bounds
-00342   std::vector<eoRealBounds *> ownedBounds; 
-00343 // keep this one private
-00344   eoRealVectorBounds& operator=(const eoRealVectorBounds&);
-00345   };
-00346 
-00348 
-00352 class eoRealVectorNoBounds: public eoRealVectorBounds
-00353 { 
-00354 public:
-00355   // virtual desctructor (to avoid warning?)
-00356   virtual ~eoRealVectorNoBounds(){}
-00357 
-00361   eoRealVectorNoBounds(unsigned _dim) : 
-00362     eoRealVectorBounds( (_dim?_dim:1), eoDummyRealNoBounds)
-00363   {}
-00364 
-00365   
-00366   virtual bool isBounded(unsigned)  {return false;}
-00367   virtual bool isBounded(void)   {return false;}
-00368 
-00369   virtual bool hasNoBoundAtAll(unsigned)  {return true;}
-00370   virtual bool hasNoBoundAtAll(void)  {return true;}
-00371 
-00372   virtual bool isMinBounded(unsigned)   {return false;}
-00373   virtual bool isMaxBounded(unsigned)   {return false;}
-00374 
-00375   virtual void foldsInBounds(unsigned, double &) {return;}
-00376   virtual void foldsInBounds(std::vector<double> &) {return;}
-00377 
-00378   virtual void truncate(unsigned, double &) {return;}
-00379   virtual void truncate(std::vector<double> &) {return;}
-00380 
-00381   virtual bool isInBounds(unsigned, double) {return true;}
-00382   virtual bool isInBounds(std::vector<double>) {return true;}
-00383 
-00384   // accessors  
-00385   virtual double minimum(unsigned)
-00386   {
-00387     throw std::logic_error("Trying to get minimum of eoRealVectorNoBounds");
-00388   }
-00389   virtual double maximum(unsigned)
-00390   {
-00391     throw std::logic_error("Trying to get maximum of eoRealVectorNoBounds");
-00392   }
-00393   virtual double range(unsigned)
-00394   {
-00395     throw std::logic_error("Trying to get range of eoRealVectorNoBounds");
-00396   }
-00397 
-00398   virtual double averageRange() 
-00399   {
-00400     throw std::logic_error("Trying to get average range of eoRealVectorNoBounds");
-00401   }
-00402 
-00403   // random generators
-00404   virtual double uniform(unsigned, eoRng & _rng = eo::rng)
-00405   {
-00406     throw std::logic_error("No uniform distribution on eoRealVectorNoBounds");
-00407   }
-00408 
-00409   // fills a std::vector with uniformly chosen variables in bounds
-00410   void uniform(std::vector<double> &, eoRng & _rng = eo::rng)
-00411   {
-00412     throw std::logic_error("No uniform distribution on eoRealVectorNoBounds");
-00413   }
-00414 
-00415 };
-00416 
-00417 
-00418 
-00419 // one object for all - see eoRealBounds.cpp
-00420 extern eoRealVectorNoBounds eoDummyVectorNoBounds;
-00421 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_reduce_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_reduce_8h-source.html deleted file mode 100644 index b37019779..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_reduce_8h-source.html +++ /dev/null @@ -1,280 +0,0 @@ - - -EO: eoReduce.h Source File - - - - - -

eoReduce.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoReduce.h
-00005 //   Base class for population-merging classes
-00006 // (c) GeNeura Team, 1998
-00007 /* 
-00008    This library is free software; you can redistribute it and/or
-00009    modify it under the terms of the GNU Lesser General Public
-00010    License as published by the Free Software Foundation; either
-00011    version 2 of the License, or (at your option) any later version.
-00012 
-00013    This library is distributed in the hope that it will be useful,
-00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016    Lesser General Public License for more details.
-00017 
-00018    You should have received a copy of the GNU Lesser General Public
-00019    License along with this library; if not, write to the Free Software
-00020    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022    Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoReduce_h
-00027 #define eoReduce_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <iostream>
-00032 
-00033 // EO includes
-00034 #include <eoPop.h>     // eoPop
-00035 #include <eoFunctor.h>  // eoReduce
-00036 #include <utils/selectors.h>
-00037 
-00045 template<class EOT> class eoReduce: public eoBF<eoPop<EOT>&, unsigned, void>
-00046 {};
-00047 
-00049 template <class EOT> class eoTruncate : public eoReduce<EOT>
-00050 {
-00051     void operator()(eoPop<EOT>& _newgen, unsigned _newsize)
-00052     {
-00053         if (_newgen.size() == _newsize)
-00054             return;
-00055         if (_newgen.size() < _newsize)
-00056           throw std::logic_error("eoTruncate: Cannot truncate to a larger size!\n");
-00057 
-00058         _newgen.nth_element(_newsize);
-00059         _newgen.resize(_newsize);
-00060     }
-00061 };
-00062 
-00064 template <class EOT> class eoRandomReduce : public eoReduce<EOT>
-00065 {
-00066     void operator()(eoPop<EOT>& _newgen, unsigned _newsize)
-00067     {
-00068         if (_newgen.size() == _newsize)
-00069             return;
-00070         if (_newgen.size() < _newsize)
-00071           throw std::logic_error("eoRandomReduce: Cannot truncate to a larger size!\n");
-00072 
-00073         // shuffle the population, then trucate
-00074         _newgen.shuffle();
-00075         _newgen.resize(_newsize);
-00076     }
-00077 };
-00078 
-00083 template <class EOT> class eoEPReduce : public eoReduce<EOT>
-00084 {
-00085 public:
-00086 typedef typename EOT::Fitness Fitness; 
-00087 
-00088   eoEPReduce(unsigned _t_size  ):
-00089     t_size(_t_size)
-00090   {
-00091     if (t_size < 2)
-00092       { 
-00093         std::cout << "Warning: EP tournament size should be >= 2. Adjusted" << std::endl;
-00094         t_size = 2;
-00095       }
-00096   }
-00097 
-00099   // compares the scores
-00100   // uses the fitness if scores are equals ????
-00101   typedef std::pair<float, typename eoPop<EOT>::iterator>  EPpair;
-00102   struct Cmp {
-00103     bool operator()(const EPpair a, const EPpair b) const
-00104     { 
-00105       if (b.first == a.first)
-00106         return  (*b.second < *a.second);
-00107       return b.first < a.first; 
-00108     }
-00109   };
-00110   
-00111   
-00112   void operator()(eoPop<EOT>& _newgen, unsigned _newsize)
-00113   {
-00114     unsigned int presentSize = _newgen.size();
-00115     
-00116     if (presentSize == _newsize)
-00117             return;
-00118         if (presentSize < _newsize)
-00119           throw std::logic_error("eoTruncate: Cannot truncate to a larger size!\n");
-00120         std::vector<EPpair> scores(presentSize);
-00121         for (unsigned i=0; i<presentSize; i++)
-00122           {
-00123             scores[i].second = _newgen.begin()+i;
-00124             Fitness fit = _newgen[i].fitness();
-00125             for (unsigned itourn = 0; itourn < t_size; ++itourn)
-00126               {
-00127                 const EOT & competitor = _newgen[rng.random(presentSize)];
-00128                 if (fit > competitor.fitness())
-00129                   scores[i].first += 1;
-00130                 else if (fit == competitor.fitness())
-00131                   scores[i].first += 0.5;
-00132               }
-00133           }
-00134 
-00135         // now we have the scores
-00136         typename std::vector<EPpair>::iterator it = scores.begin() + _newsize;
-00137         std::nth_element(scores.begin(), it, scores.end(), Cmp());
-00138         // sort(scores.begin(), scores.end(), Cmp());
-00139         unsigned j;
-00140 //      std::cout << "Les scores apres tri\n";
-00141 //      for (j=0; j<scores.size(); j++)
-00142 //        {
-00143 //          std::cout << scores[j].first << " " << *scores[j].second << std::endl;
-00144 //        }
-00145         eoPop<EOT> tmPop;
-00146         for (j=0; j<_newsize; j++)
-00147           {
-00148             tmPop.push_back(*scores[j].second);
-00149           }
-00150         _newgen.swap(tmPop);
-00151         // erase does not work, but I'm sure there is a way in STL to mark
-00152         // and later delete all inside a std::vector ??????
-00153         // this would avoid all copies here
-00154 
-00155 //      it = scores.begin() + _newsize;
-00156 //      while (it < scores.end())
-00157 //        _newgen.erase(it->second);
-00158     }
-00159 private:
-00160   unsigned t_size;
-00161 };
-00162 
-00166 template <class EOT> 
-00167 class eoLinearTruncate : public eoReduce<EOT>
-00168 {
-00169   void operator()(eoPop<EOT>& _newgen, unsigned _newsize)
-00170   {
-00171     unsigned oldSize = _newgen.size();
-00172     if (oldSize == _newsize)
-00173       return;
-00174     if (oldSize < _newsize)
-00175       throw std::logic_error("eoLinearTruncate: Cannot truncate to a larger size!\n");
-00176     for (unsigned i=0; i<oldSize - _newsize; i++)
-00177       {
-00178         typename eoPop<EOT>::iterator it = _newgen.it_worse_element();
-00179         _newgen.erase(it);          
-00180       }
-00181   }
-00182 };
-00183 
-00187 template <class EOT> 
-00188 class eoDetTournamentTruncate : public eoReduce<EOT>
-00189 {
-00190 public:
-00191   eoDetTournamentTruncate(unsigned _t_size):
-00192     t_size(_t_size)
-00193   {
-00194     if (t_size < 2)
-00195       { 
-00196         std::cout << "Warning, Size for eoDetTournamentTruncate adjusted to 2\n";
-00197         t_size = 2;
-00198       }
-00199   }
-00200 
-00201   void operator()(eoPop<EOT>& _newgen, unsigned _newsize)
-00202   {
-00203     unsigned oldSize = _newgen.size();
-00204     if (_newsize == 0)
-00205       {
-00206         _newgen.resize(0);
-00207         return;
-00208       }
-00209     if (oldSize == _newsize)
-00210       return;
-00211     if (oldSize < _newsize)
-00212       throw std::logic_error("eoDetTournamentTruncate: Cannot truncate to a larger size!\n");
-00213 
-00214     // Now OK to erase some losers
-00215     for (unsigned i=0; i<oldSize - _newsize; i++)
-00216       {
-00217         //OLDCODE EOT & eo = inverse_deterministic_tournament<EOT>(_newgen, t_size);
-00218         //OLDCODE _newgen.erase(&eo);
-00219         
-00220         // Jeroen Eggermont stdc++v3  patch
-00221         // in the new code from stdc++v3 an iterator from a container<T> is no longer an pointer to T
-00222         // Because eo already contained a fuction using eoPop<EOT>::iterator's we will use the following
-00223         
-00224         _newgen.erase( inverse_deterministic_tournament(_newgen.begin(), _newgen.end(), t_size) );
-00225         
-00226       }
-00227   }
-00228 private:
-00229   unsigned t_size;
-00230 };
-00231 
-00235 template <class EOT> 
-00236 class eoStochTournamentTruncate : public eoReduce<EOT>
-00237 {
-00238 public:
-00239   eoStochTournamentTruncate(double _t_rate):
-00240     t_rate(_t_rate)
-00241   {
-00242     if (t_rate <= 0.5)
-00243       { 
-00244         std::cout << "Warning, Rate for eoStochTournamentTruncate adjusted to 0.51\n";
-00245         t_rate = 0.51;
-00246       }
-00247     if (t_rate > 1)
-00248       {
-00249         std::cout << "Warning, Rate for eoStochTournamentTruncate adjusted to 1\n";
-00250         t_rate = 1;
-00251       }
-00252   }
-00253 
-00254   void operator()(eoPop<EOT>& _newgen, unsigned _newsize)
-00255   {
-00256     unsigned oldSize = _newgen.size();
-00257     if (_newsize == 0)
-00258       {
-00259         _newgen.resize(0);
-00260         return;
-00261       }
-00262     if (oldSize == _newsize)
-00263       return;
-00264     if (oldSize < _newsize)
-00265       throw std::logic_error("eoStochTournamentTruncate: Cannot truncate to a larger size!\n");
-00266     // Now OK to erase some losers
-00267     for (unsigned i=0; i<oldSize - _newsize; i++)
-00268       {
-00269         //OLDCODE EOT & eo = inverse_stochastic_tournament<EOT>(_newgen, t_rate);
-00270         //OLDCODE _newgen.erase(&eo);
-00271         
-00272         // Jeroen Eggermont stdc++v3  patch
-00273         // in the new code from stdc++v3 an iterator from a container<T> is no longer an pointer to T
-00274         // Because eo already contained a fuction using eoPop<EOT>::iterator's we will use the following
-00275         
-00276         _newgen.erase( inverse_stochastic_tournament(_newgen.begin(), _newgen.end(), t_rate) );
-00277         
-00278         
-00279       }
-00280   }
-00281 
-00282 private:
-00283   double t_rate;
-00284 };
-00285 
-00286 //-----------------------------------------------------------------------------
-00287 
-00288 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_reduce_merge_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_reduce_merge_8h-source.html deleted file mode 100644 index da9f0cd7b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_reduce_merge_8h-source.html +++ /dev/null @@ -1,89 +0,0 @@ - - -EO: eoReduceMerge.h Source File - - - - - -

eoReduceMerge.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoReduceMerge_h
-00028 #define _eoReduceMerge_h
-00029 
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 #include <eoPop.h>
-00033 #include <eoFunctor.h>
-00034 #include <eoMerge.h>
-00035 #include <eoReduce.h>
-00036 #include <eoReplacement.h>
-00037 #include <utils/eoHowMany.h>
-00038 //-----------------------------------------------------------------------------
-00039 
-00040 
-00052 template <class EOT>
-00053 class eoReduceMerge : public eoReplacement<EOT>
-00054 {
-00055     public:
-00056         eoReduceMerge(eoReduce<EOT>& _reduce, eoMerge<EOT>& _merge) :
-00057         reduce(_reduce), merge(_merge)
-00058         {}
-00059 
-00060         void operator()(eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00061         {
-00062           if (_parents.size() < _offspring.size())
-00063             throw std::logic_error("eoReduceMerge: More offspring than parents!\n");
-00064           reduce(_parents, _parents.size() - _offspring.size()); 
-00065           merge(_offspring, _parents);
-00066         }
-00067 
-00068     private :
-00069         eoReduce<EOT>& reduce;
-00070         eoMerge<EOT>& merge;
-00071 };
-00072 
-00076 template <class EOT> 
-00077 class eoSSGAWorseReplacement : public eoReduceMerge<EOT>
-00078 {
-00079     public :
-00080         eoSSGAWorseReplacement() : eoReduceMerge<EOT>(truncate, plus) {}
-00081 
-00082     private :
-00083         eoLinearTruncate<EOT> truncate;
-00084         eoPlus<EOT> plus;
-00085 };
-00086 
-00090 template <class EOT> 
-00091 class eoSSGADetTournamentReplacement : public eoReduceMerge<EOT>
-00092 {
-00093     public :
-00094         eoSSGADetTournamentReplacement(unsigned _t_size) : 
-00095           eoReduceMerge<EOT>(truncate, plus), truncate(_t_size) {}
-00096 
-00097     private :
-00098         eoDetTournamentTruncate<EOT> truncate;
-00099         eoPlus<EOT> plus;
-00100 };
-00101 
-00107 template <class EOT> 
-00108 class eoSSGAStochTournamentReplacement : public eoReduceMerge<EOT>
-00109 {
-00110     public :
-00111         eoSSGAStochTournamentReplacement(double _t_rate) : 
-00112           eoReduceMerge<EOT>(truncate, plus), truncate(_t_rate) {}
-00113 
-00114     private :
-00115         eoStochTournamentTruncate<EOT> truncate;
-00116         eoPlus<EOT> plus;
-00117 };
-00118 
-00119 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_reduce_merge_reduce_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_reduce_merge_reduce_8h-source.html deleted file mode 100644 index 7cf06ea9c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_reduce_merge_reduce_8h-source.html +++ /dev/null @@ -1,126 +0,0 @@ - - -EO: eoReduceMergeReduce.h Source File - - - - - -

eoReduceMergeReduce.h

00001 
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoReduceMergeReduce_h
-00027 #define _eoReduceMergeReduce_h
-00028 
-00029 
-00030 //-----------------------------------------------------------------------------
-00031 #include <eoPop.h>
-00032 #include <eoFunctor.h>
-00033 #include <eoMerge.h>
-00034 #include <eoReduce.h>
-00035 #include <utils/eoHowMany.h>
-00036 //-----------------------------------------------------------------------------
-00037 
-00048 template <class EOT>
-00049 class eoReduceMergeReduce : public eoReplacement<EOT>
-00050 {
-00051 public:
-00052   eoReduceMergeReduce(eoHowMany _howManyElite, 
-00053                       bool _strongElitism, 
-00054                       eoHowMany _howManyReducedParents,
-00055                       eoReduce<EOT> & _reduceParents,
-00056                       eoHowMany _howManyReducedOffspring, 
-00057                       eoReduce<EOT> & _reduceOffspring,
-00058                       eoReduce<EOT> & _reduceFinal) :
-00059     howManyElite(_howManyElite),
-00060     strongElitism(_strongElitism),
-00061     howManyReducedParents(_howManyReducedParents),
-00062     howManyReducedOffspring (_howManyReducedOffspring),
-00063     reduceParents(_reduceParents),
-00064     reduceOffspring(_reduceOffspring),
-00065     reduceFinal(_reduceFinal)
-00066   {}
-00067     
-00068     void operator()(eoPop<EOT> & _parents, eoPop<EOT> & _offspring)
-00069     {
-00070       eoPop<EOT> temp;
-00071       unsigned int finalPopSize = _parents.size();
-00072       unsigned int offSize = _offspring.size();
-00073 
-00074       unsigned int elite = howManyElite(finalPopSize);
-00075       if (elite)                   // some parents MUST be saved somewhere
-00076         {
-00077           temp.resize(elite);
-00078           _parents.nth_element(elite);
-00079           std::copy(_parents.begin(), _parents.begin()+elite, temp.begin());
-00080           _parents.erase(_parents.begin(), _parents.begin()+elite);
-00081         }
-00082 
-00083       // the reduce steps. First the parents
-00084       unsigned reducedParentSize = howManyReducedParents(_parents.size());
-00085       if (!reducedParentSize)
-00086         _parents.clear();
-00087       else if (reducedParentSize != _parents.size())
-00088         reduceParents(_parents, reducedParentSize);
-00089 
-00090       // then the offspring
-00091       unsigned reducedOffspringSize = howManyReducedOffspring(offSize);
-00092       if (!reducedOffspringSize)
-00093         throw std::runtime_error("No offspring left after reduction!");
-00094       if (reducedOffspringSize != offSize) // need reduction
-00095         reduceOffspring(_offspring, reducedOffspringSize);
-00096 
-00097       // now merge reduced populations
-00098       _parents.resize(reducedParentSize + _offspring.size());
-00099       std::copy(_offspring.begin(), _offspring.end(), 
-00100                 _parents.begin()+reducedParentSize); 
-00101 
-00102       // reduce the resulting population
-00103       // size depstd::ends on elitism
-00104       if (elite && strongElitism)
-00105         {
-00106           if (_parents.size() != finalPopSize-elite)
-00107             reduceFinal(_parents, finalPopSize-elite);
-00108           // and put back the elite
-00109           unsigned oldPSize = _parents.size();
-00110           _parents.resize(_parents.size()+elite);
-00111           std::copy(temp.begin(), temp.end(), _parents.begin()+oldPSize);
-00112         }
-00113       else      
-00114         {                   // only reduce final pop to right size
-00115           if (_parents.size() != finalPopSize)
-00116             reduceFinal(_parents, finalPopSize);
-00117           if (elite)       // then treat weak elitism
-00118             {
-00119               unsigned toSave = 0;
-00120               _parents.sort();
-00121               EOT & eoLimit = _parents[elite-1];
-00122               unsigned index=0;
-00123               while ( (temp[index++] > eoLimit) && (index < temp.size()) )
-00124                 toSave++;
-00125               if (toSave)
-00126                 for (unsigned i=0; i<toSave; i++)
-00127                   _parents[finalPopSize-1-i] = temp[i];
-00128             }
-00129         }
-00130     }
-00131 
-00132 private:
-00133   eoHowMany howManyElite;          // if 0, no elitism at all
-00134   bool strongElitism;              // if false -> weak estd::listism
-00135   eoHowMany howManyReducedParents; // if 0, no parent in final replacement
-00136   eoHowMany howManyReducedOffspring; // if 0, std::runtime_error
-00137   // the reducers
-00138   eoReduce<EOT> & reduceParents;
-00139   eoReduce<EOT> & reduceOffspring;
-00140   eoReduce<EOT> & reduceFinal;
-00141 };
-00142 
-00143 #endif
-

Generated on Thu Oct 19 05:06:37 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_reduce_split_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_reduce_split_8h-source.html deleted file mode 100644 index c71c4cd54..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_reduce_split_8h-source.html +++ /dev/null @@ -1,298 +0,0 @@ - - -EO: eoReduceSplit.h Source File - - - - - -

eoReduceSplit.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoReduceSplit.h
-00005 //   Base class for population-reducing classes - retaining the poor losers
-00006 // (c) GeNeura Team, 1998, Marc Schoenauer, 2002
-00007 /* 
-00008    This library is free software; you can redistribute it and/or
-00009    modify it under the terms of the GNU Lesser General Public
-00010    License as published by the Free Software Foundation; either
-00011    version 2 of the License, or (at your option) any later version.
-00012 
-00013    This library is distributed in the hope that it will be useful,
-00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016    Lesser General Public License for more details.
-00017 
-00018    You should have received a copy of the GNU Lesser General Public
-00019    License along with this library; if not, write to the Free Software
-00020    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022    Contact: Marc.Schoenauer@inria.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoReduceSplit_h
-00027 #define eoReduceSplit_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <iostream>
-00032 
-00033 // EO includes
-00034 #include <eoPop.h>     // eoPop
-00035 #include <eoFunctor.h>  // eoReduce
-00036 #include <utils/selectors.h>
-00037 
-00042 template<class EOT> class eoReduceSplit: public eoBF<eoPop<EOT>&, eoPop<EOT> &, void >
-00043 {};
-00044 
-00046 template <class EOT> 
-00047 class eoTruncateSplit : public eoReduceSplit<EOT>
-00048 {
-00049 public:
-00053   eoTruncateSplit(eoHowMany _howMany, bool _returnEliminated = false):
-00054     howMany(_howMany), returnEliminated(_returnEliminated) {}
-00055     
-00057   void operator()(eoPop<EOT>& _newgen, eoPop<EOT> & _eliminated)
-00058   {
-00059     unsigned popSize = _newgen.size();
-00060     unsigned eliminated = howMany(popSize);
-00061     if (!eliminated)   // nothing to do
-00062       return ;
-00063     unsigned newsize = popSize - eliminated;
-00064     if (newsize < 0)
-00065       throw std::logic_error("eoTruncateSplit: Cannot truncate to a larger size!\n");
-00066     
-00067     _newgen.nth_element(newsize);
-00068 
-00069     // save poor losers if necessary
-00070     if (returnEliminated)
-00071       for (unsigned i=0; i<eliminated; i++)
-00072         _eliminated.push_back(_newgen[newsize+i]);
-00073     // truncate
-00074     _newgen.resize(newsize);
-00075     return ;
-00076   }
-00077 
-00078 private:
-00079   eoHowMany howMany;
-00080   bool returnEliminated;
-00081 };
-00082 
-00086 template <class EOT> 
-00087 class eoLinearTruncateSplit : public eoReduceSplit<EOT>
-00088 {
-00089 public:
-00093   eoLinearTruncateSplit(eoHowMany _howMany, bool _returnEliminated = false):
-00094     howMany(_howMany), returnEliminated(_returnEliminated) {}
-00095     
-00097   void operator()(eoPop<EOT>& _newgen, eoPop<EOT> & _eliminated)
-00098   {
-00099     unsigned popSize = _newgen.size();
-00100     unsigned eliminated = howMany(popSize);
-00101     if (!eliminated)   // nothing to do
-00102       return ;
-00103     unsigned newsize = popSize - eliminated;
-00104     if (newsize < 0)
-00105       throw std::logic_error("eoLinearTruncateSplit: Cannot truncate to a larger size!\n");
-00106 
-00107     _eliminated.reserve(_eliminated.size()+eliminated); //in case not empty?
-00108     for (unsigned i=0; i<eliminated; i++)
-00109       {
-00110         typename eoPop<EOT>::iterator it = _newgen.it_worse_element();
-00111         if (returnEliminated)
-00112           _eliminated.push_back(*it);
-00113         _newgen.erase(it);          
-00114       }
-00115   }
-00116 
-00117 private:
-00118   eoHowMany howMany;
-00119   bool returnEliminated;
-00120 };
-00121 
-00123 template <class EOT> 
-00124 class eoRandomSplit : public eoReduceSplit<EOT>
-00125 {
-00126 public:
-00130   eoRandomSplit(eoHowMany _howMany, bool _returnEliminated = false):
-00131     howMany(_howMany), returnEliminated(_returnEliminated) {}
-00132     
-00134   void operator()(eoPop<EOT>& _newgen, eoPop<EOT> & _eliminated)
-00135   {
-00136     unsigned popSize = _newgen.size();
-00137     unsigned eliminated = howMany(popSize);
-00138     if (!eliminated)   // nothing to do
-00139       return ;
-00140     unsigned newsize = popSize - eliminated;
-00141     if (newsize < 0)
-00142       throw std::logic_error("eoRandomSplit: Cannot truncate to a larger size!\n");
-00143 
-00144     _newgen.shuffle();
-00145 
-00146     // save poor losers if necessary
-00147     if (returnEliminated)
-00148       for (unsigned i=0; i<eliminated; i++)
-00149         _eliminated.push_back(_newgen[newsize+i]);
-00150     // truncate
-00151     _newgen.resize(newsize);
-00152     return ;
-00153   }
-00154 
-00155 private:
-00156   eoHowMany howMany;
-00157   bool returnEliminated;
-00158 };
-00159 
-00160 
-00162 template <class EOT> 
-00163 class eoLinearRandomSplit : public eoReduceSplit<EOT>
-00164 {
-00165 public:
-00169   eoLinearRandomSplit(eoHowMany _howMany, bool _returnEliminated = false):
-00170     howMany(_howMany), returnEliminated(_returnEliminated) {}
-00171     
-00173   void operator()(eoPop<EOT>& _newgen, eoPop<EOT> & _eliminated)
-00174   {
-00175     unsigned popSize = _newgen.size();
-00176     unsigned eliminated = howMany(popSize);
-00177     if (!eliminated)   // nothing to do
-00178       return ;
-00179     unsigned newsize = popSize - eliminated;
-00180     if (newsize < 0)
-00181       throw std::logic_error("eoLinearRandomSplit: Cannot truncate to a larger size!\n");
-00182 
-00183     _eliminated.reserve(_eliminated.size()+eliminated); //in case not empty?
-00184     for (unsigned i=0; i<eliminated; i++)
-00185       {
-00186         unsigned loser=random(_newgen.size());
-00187         typename eoPop<EOT>::iterator it = _newgen.begin()+loser;
-00188         if (returnEliminated)
-00189           _eliminated.push_back(*it);
-00190         _newgen.erase(it);          
-00191       }
-00192     return ;
-00193   }
-00194 
-00195 private:
-00196   eoHowMany howMany;
-00197   bool returnEliminated;
-00198 };
-00199 
-00200 
-00204 template <class EOT> 
-00205 class eoDetTournamentTruncateSplit : public eoReduceSplit<EOT>
-00206 {
-00207 public:
-00211   eoDetTournamentTruncateSplit(unsigned _t_size, eoHowMany _howMany, 
-00212                       bool _returnEliminated = false):
-00213     t_size(_t_size), howMany(_howMany), 
-00214     returnEliminated(_returnEliminated) 
-00215   {
-00216     if (t_size < 2)
-00217       { 
-00218         std::cout << "Warning, Size for eoDetTournamentTruncateSplit adjusted to 2\n";
-00219         t_size = 2;
-00220       }
-00221   }
-00222 
-00224   void operator()(eoPop<EOT>& _newgen, eoPop<EOT> & _eliminated)
-00225   // BUG???  void operator()(eoPop<EOT>& _newgen, unsigned _newsize)
-00226   {
-00227     unsigned popSize = _newgen.size();
-00228     unsigned eliminated = howMany(popSize);
-00229     if (!eliminated)   // nothing to do
-00230       return ;
-00231     unsigned newsize = popSize - eliminated;
-00232     if (newsize < 0)
-00233       throw std::logic_error("eoDetTournamentTruncateSplit: Cannot truncate to a larger size!\n");
-00234 
-00235 
-00236     _eliminated.reserve(_eliminated.size()+eliminated); //in case not empty?
-00237     for (unsigned i=0; i<eliminated; i++)
-00238       {
-00239         typename eoPop<EOT>::iterator it = inverse_deterministic_tournament(_newgen.begin(), _newgen.end(), t_size);
-00240         if (returnEliminated)
-00241           _eliminated.push_back(*it);
-00242         _newgen.erase(it);
-00243       }
-00244   }
-00245 
-00246 private:
-00247   unsigned t_size;
-00248   eoHowMany howMany;
-00249   bool returnEliminated;
-00250 };
-00251 
-00255 template <class EOT> 
-00256 class eoStochTournamentTruncateSplit : public eoReduce<EOT>
-00257 {
-00258 public:
-00262   eoStochTournamentTruncateSplit(double _t_rate, eoHowMany _howMany, 
-00263                       bool _returnEliminated = false):
-00264     t_rate(_t_rate), howMany(_howMany), 
-00265     returnEliminated(_returnEliminated) 
-00266   {
-00267     if (t_rate <= 0.5)
-00268       { 
-00269         std::cout << "Warning, Rate for eoStochTournamentTruncateSplit adjusted to 0.51\n";
-00270         t_rate = 0.51;
-00271       }
-00272     if (t_rate > 1)
-00273       {
-00274         std::cout << "Warning, Rate for eoStochTournamentTruncateSplit adjusted to 1\n";
-00275         t_rate = 1;
-00276       }
-00277   }
-00278 
-00280   void operator()(eoPop<EOT>& _newgen, eoPop<EOT> & _eliminated)
-00281   //BUG???  void operator()(eoPop<EOT>& _newgen, unsigned _newsize)
-00282   {
-00283     /* old version
-00284     if (!_eliminated.size())       // nothing to do
-00285       return;
-00286     unsigned oldSize = _newgen.size();
-00287     unsigned newSize = oldSize - _eliminated.size();
-00288     unsigned eliminated = howMany(popSize);
-00289     if (newSize < 0)
-00290       throw std::logic_error("eoStochTournamentTruncateSplit: Cannot truncate to a larger size!\n");
-00291 
-00292 end of old version    */
-00293 
-00294     unsigned popSize = _newgen.size();
-00295     unsigned eliminated = howMany(popSize);
-00296     if (!eliminated)   // nothing to do
-00297       return ;
-00298     unsigned newsize = popSize - eliminated;
-00299     if (newsize < 0)
-00300       throw std::logic_error("eoDetTournamentTruncateSplit: Cannot truncate to a larger size!\n");
-00301 
-00302 
-00303 
-00304     _eliminated.reserve(_eliminated.size()+eliminated); //in case not empty?
-00305     for (unsigned i=0; i<_eliminated.size(); i++)
-00306       {
-00307         typename eoPop<EOT>::iterator it = inverse_stochastic_tournament(_newgen.begin(), _newgen.end(), t_rate);
-00308         if (returnEliminated)
-00309           _eliminated.push_back(*it);
-00310         _newgen.erase(it);
-00311       }
-00312   }
-00313 
-00314 
-00315 private:
-00316   double t_rate;
-00317   eoHowMany howMany;
-00318   bool returnEliminated;
-00319 };
-00320 
-00321 //-----------------------------------------------------------------------------
-00322 
-00323 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_replacement_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_replacement_8h-source.html deleted file mode 100644 index d6c8510b0..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_replacement_8h-source.html +++ /dev/null @@ -1,71 +0,0 @@ - - -EO: eoReplacement.h Source File - - - - - -

eoReplacement.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoReplacement_h
-00028 #define _eoReplacement_h
-00029 
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 #include <eoPop.h>
-00033 #include <eoFunctor.h>
-00034 #include <eoMerge.h>
-00035 #include <eoReduce.h>
-00036 #include <utils/eoHowMany.h>
-00037 //-----------------------------------------------------------------------------
-00038 
-00074 
-00076 template<class EOT>
-00077 class eoReplacement : public eoBF<eoPop<EOT>&, eoPop<EOT>&, void>
-00078 {};
-00079 
-00083 template <class EOT>
-00084 class eoGenerationalReplacement : public eoReplacement<EOT>
-00085 {
-00086     public :
-00088   void operator()(eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00089   {
-00090     _parents.swap(_offspring);
-00091   }
-00092 };
-00093 
-00101 template <class EOT>
-00102 class eoWeakElitistReplacement : public eoReplacement<EOT>
-00103 {
-00104 public :
-00105   typedef typename EOT::Fitness Fitness;
-00106 
-00107   // Ctor, takes an eoReplacement
-00108   eoWeakElitistReplacement(eoReplacement<EOT> & _replace) :
-00109     replace(_replace) {}
-00110 
-00112   void operator()(eoPop<EOT>& _pop, eoPop<EOT>& _offspring)
-00113   {
-00114     const EOT & oldChamp = _pop.best_element();
-00115     replace(_pop, _offspring);     // "normal" replacement, parents are the new
-00116     if (_pop.best_element() < oldChamp) // need to do something
-00117       {
-00118         typename eoPop<EOT>::iterator itPoorGuy = _pop.it_worse_element();
-00119         (*itPoorGuy) = oldChamp;
-00120       }
-00121   }
-00122 private:
-00123   eoReplacement<EOT> & replace;
-00124 };
-00125 
-00127 
-00128 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_rnd_generators_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_rnd_generators_8h-source.html deleted file mode 100644 index 144d79972..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_rnd_generators_8h-source.html +++ /dev/null @@ -1,123 +0,0 @@ - - -EO: eoRndGenerators.h Source File - - - - - -

eoRndGenerators.h

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003   -----------------------------------------------------------------------------
-00004   eoRndGenerators.h
-00005 
-00006   mimics the rnd_generator.h by putting the generators in the EO-hierarchy
-00007 
-00008  (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000
-00009 
-00010     This library is free software; you can redistribute it and/or
-00011     modify it under the terms of the GNU Lesser General Public
-00012     License as published by the Free Software Foundation; either
-00013     version 2 of the License, or (at your option) any later version.
-00014 
-00015     This library is distributed in the hope that it will be useful,
-00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00018     Lesser General Public License for more details.
-00019 
-00020     You should have received a copy of the GNU Lesser General Public
-00021     License along with this library; if not, write to the Free Software
-00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00023 
-00024     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00025  */
-00026 
-00027 //-----------------------------------------------------------------------------
-00028 
-00029 #ifndef eoRndGenerators_h
-00030 #define eoRndGenerators_h
-00031 
-00032 #include "eoRNG.h"
-00033 #include <eoFunctor.h>
-00034 #include <stdexcept>
-00035 
-00036 using eo::rng;
-00037 
-00046 template <class T>
-00047 class eoRndGenerator : public eoF<T>
-00048 {
-00049   typedef T AtomType;
-00050 };
-00051 
-00066 template <class T = double> class eoUniformGenerator : public eoRndGenerator<T>
-00067 {
-00068   // added new ctor with 2 params, and modified the data to minim and range
-00069   // (was maxim only). MS 3/11/2000
-00070   public :
-00071     eoUniformGenerator(T _max = T(1.0), eoRng& _rng = rng) :
-00072       minim(T(0.0)), range(_max), uniform(_rng) {}
-00073     eoUniformGenerator(T _min, T _max, eoRng& _rng = rng) :
-00074       minim(_min), range(_max-_min), uniform(_rng)
-00075   {
-00076     if (_min>_max)
-00077       throw std::logic_error("Min is greater than Max in uniform_generator");
-00078   }
-00079 
-00084   T operator()(void) { return minim+static_cast<T>(uniform.uniform(range)); }
-00085 
-00086 private :
-00087   T minim;
-00088   T range;
-00089   eoRng& uniform;
-00090 };
-00091 
-00092 
-00094 template <>
-00095 inline bool eoUniformGenerator<bool>::operator()(void)
-00096 {
-00097     return uniform.flip(0.5);
-00098 }
-00099 
-00104 class eoBooleanGenerator : public eoRndGenerator<bool>
-00105 {
-00106   public :
-00107   eoBooleanGenerator(float _bias = 0.5, eoRng& _rng = rng) : bias(_bias), gen(_rng) {}
-00108 
-00109   bool operator()(void) { return gen.flip(bias); }
-00110   private :
-00111   float bias;
-00112   eoRng& gen;
-00113 };
-00114 
-00120 template <class T = double> class eoNormalGenerator : public eoRndGenerator<T>
-00121 {
-00122   public :
-00123     eoNormalGenerator(T _stdev = T(1.0), eoRng& _rng = rng) : stdev(_stdev), normal(_rng) {}
-00124 
-00125   T operator()(void) { return (T) normal.normal(stdev); }
-00126 
-00127   private :
-00128     T stdev;
-00129   eoRng& normal;
-00130 };
-00131 
-00137 template <class T = double> class eoNegExpGenerator : public eoRndGenerator<T>
-00138 {
-00139   public :
-00140     eoNegExpGenerator(T _mean = 1.0, eoRng& _rng = rng) : mean(_mean), negexp(_rng) {}
-00141 
-00142   T operator()(void) { return (T) negexp.negexp(mean); }
-00143 
-00144   private :
-00145     T mean;
-00146   eoRng& negexp;
-00147 };
-00148 
-00149 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_s_b_xcross_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_s_b_xcross_8h-source.html deleted file mode 100644 index 92ec5facc..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_s_b_xcross_8h-source.html +++ /dev/null @@ -1,127 +0,0 @@ - - -EO: eoSBXcross.h Source File - - - - - -

eoSBXcross.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSBXcross.h
-00005 // (c) Maarten Keijzer 2000 - Marc Schoenauer 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mak@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #include <algorithm>    // swap_ranges
-00027 #include <utils/eoParser.h>
-00028 #include <utils/eoRNG.h>
-00029 #include <es/eoReal.h>
-00030 #include <utils/eoRealBounds.h>
-00031 #include <utils/eoRealVectorBounds.h>
-00032 
-00033 
-00034 
-00035 template<class EOT> class eoSBXCrossover: public eoQuadOp<EOT>
-00036 {
-00037  public:
-00038   /****
-00039    * (Default) Constructor.
-00040    * The bounds are initialized with the global object that says: no bounds.
-00041    *
-00042    * 
-00043    */
-00044     eoSBXCrossover(const double& _eta = 1.0) :
-00045     bounds(eoDummyVectorNoBounds), eta(_eta), range(1) {}
-00046 
-00047 
-00049 
-00061      eoSBXCrossover(eoRealVectorBounds & _bounds, 
-00062                      const double& _eta = 1.0) : 
-00063      bounds(_bounds), eta(_eta), range(1) {}
-00064 
-00066 
-00068 
-00075      eoSBXCrossover(eoParser & _parser) : 
-00076     // First, decide whether the objective variables are bounded
-00077     // Warning, must be the same keywords than other possible objectBounds elsewhere
-00078        bounds (_parser.getORcreateParam(eoDummyVectorNoBounds, "objectBounds", "Bounds for variables", 'B', "Variation Operators").value()) ,
-00079     // then get eta value
-00080        eta (_parser.getORcreateParam(1.0, "eta", "SBX eta parameter", '\0', "Variation Operators").value()) ,
-00081        range(1) {}
-00082     
-00083 
-00085   virtual std::string className() const { return "eoSBXCrossover"; }
-00086 
-00087   /*****************************************
-00088    * SBX crossover - modifies both parents *
-00089    * @param _eo1 The first parent          *
-00090    * @param _eo2 The first parent          *    
-00091    *****************************************/
-00092   bool operator()(EOT& _eo1, EOT& _eo2)
-00093     {
-00094       unsigned i;
-00095       double r1, r2, beta;
-00096 
-00097         for (i=0; i<_eo1.size(); i++)
-00098           {
-00099       double u = rng.uniform(range) ;
-00100 
-00101       if ( u <= 0.5 ) 
-00102         beta = exp( (1/(eta+1))*log(2*u));
-00103       else
-00104         beta = exp((1/(eta+1))*log(1/(2*(1-u))));
-00105 
-00106 
-00107             
-00108               r1=_eo1[i];
-00109               r2=_eo2[i];   
-00110               _eo1[i] =0.5*((1+beta)*r1+(1-beta)*r2);
-00111               _eo2[i] =0.5*((1-beta)*r1+(1+beta)*r2);
-00112 
-00113         
-00114               if(!(bounds.isInBounds(i,_eo1[i])))
-00115                 bounds.foldsInBounds(i,_eo1[i]);
-00116               if(!(bounds.isInBounds(i,_eo2[i])))
-00117                 bounds.foldsInBounds(i,_eo2[i]);
-00118 
-00119 
-00120 
-00121            }
-00122         return true;
-00123         }
-00124                            
-00125     
-00126 
-00127 protected:
-00128   eoRealVectorBounds & bounds;
-00129   double eta;
-00130   double range;                    // == 1
-00131 };
-00132 
-00133 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_s_g_a_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_s_g_a_8h-source.html deleted file mode 100644 index ee5b96c07..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_s_g_a_8h-source.html +++ /dev/null @@ -1,125 +0,0 @@ - - -EO: eoSGA.h Source File - - - - - -

eoSGA.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSGA.h
-00005 // (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoSGA_h
-00028 #define _eoSGA_h
-00029 
-00030 #include <eoInvalidateOps.h>
-00031 #include <eoContinue.h>
-00032 #include <eoPop.h>
-00033 #include <eoSelectOne.h>
-00034 #include <eoSelectPerc.h>
-00035 #include <eoEvalFunc.h>
-00036 #include <eoAlgo.h>
-00037 #include <apply.h>
-00038 
-00048 template <class EOT>
-00049 class eoSGA : public eoAlgo<EOT>
-00050 {
-00051 public :
-00052 
-00053   // added this second ctor as I didn't like the ordering of the parameters
-00054   // in the one above. Any objection :-) MS
-00055   eoSGA(
-00056         eoSelectOne<EOT>& _select,
-00057         eoQuadOp<EOT>& _cross, float _crate,
-00058         eoMonOp<EOT>& _mutate, float _mrate,
-00059         eoEvalFunc<EOT>& _eval,
-00060         eoContinue<EOT>& _cont)
-00061     : cont(_cont),
-00062           mutate(_mutate),
-00063           mutationRate(_mrate),
-00064           cross(_cross),
-00065           crossoverRate(_crate),
-00066           select(_select),
-00067           eval(_eval) {}
-00068 
-00069   void operator()(eoPop<EOT>& _pop)
-00070   {
-00071     eoPop<EOT> offspring;
-00072 
-00073     do
-00074       {
-00075         select(_pop, offspring);
-00076 
-00077         unsigned i;
-00078 
-00079         for (i=0; i<_pop.size()/2; i++)
-00080           {
-00081             if ( rng.flip(crossoverRate) )
-00082             {
-00083                     // this crossover generates 2 offspring from two parents
-00084                     if (cross(offspring[2*i], offspring[2*i+1]))
-00085         {
-00086           offspring[2*i].invalidate();
-00087           offspring[2*i+1].invalidate();
-00088         }
-00089       }
-00090           }
-00091 
-00092         for (i=0; i < _pop.size(); i++)
-00093           {
-00094             if (rng.flip(mutationRate) )
-00095             {
-00096                      if (mutate(offspring[i]))
-00097           offspring[i].invalidate();
-00098             }
-00099           }
-00100 
-00101         _pop.swap(offspring);
-00102         apply<EOT>(eval, _pop);
-00103 
-00104       } while (cont(_pop));
-00105   }
-00106 
-00107 private :
-00108 
-00109   eoContinue<EOT>& cont;
-00111   eoInvalidateMonOp<EOT> mutate;
-00112   float mutationRate;
-00113   // eoInvalidateQuadOp invalidates the embedded operator
-00114   eoInvalidateQuadOp<EOT> cross;
-00115   float crossoverRate;
-00116   eoSelectPerc<EOT> select;
-00117   eoEvalFunc<EOT>& eval;
-00118 };
-00119 
-00120 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_s_g_a_gen_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_s_g_a_gen_op_8h-source.html deleted file mode 100644 index 9dcd54a9f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_s_g_a_gen_op_8h-source.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: eoSGAGenOp.h Source File - - - - - -

eoSGAGenOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSGAGenOp.h
-00005 // (c) Marc.Schoenauer 2002
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoSGAGenOp_h
-00028 #define _eoSGAGenOp_h
-00029 
-00030 #include "eoGenOp.h"
-00031 #include "eoInvalidateOps.h"
-00033 // class eoSGAGenOp
-00035 
-00043 template<class EOT> 
-00044 class eoSGAGenOp : public eoGenOp<EOT>
-00045 {
-00046  public:
-00047     
-00052   eoSGAGenOp(eoQuadOp<EOT>& _cross, double _pCross, 
-00053                  eoMonOp<EOT>& _mut, double _pMut)
-00054     : cross(_cross),
-00055       pCross(_pCross),
-00056       mut(_mut), 
-00057       pMut(_pMut) 
-00058   {
-00059     // the crossover - with probability pCross
-00060     propOp.add(cross, pCross); // crossover, with proba pcross
-00061     propOp.add(quadClone, 1-pCross); // nothing, with proba 1-pcross
-00062     
-00063     // now the sequential
-00064     op.add(propOp, 1.0);         // always do combined crossover
-00065     op.add(mut, pMut);     // then mutation, with proba pmut
-00066   }
-00067   
-00069   virtual void apply(eoPopulator<EOT>& _pop)
-00070   {
-00071     op.apply(_pop);
-00072   }
-00073 
-00075   virtual unsigned max_production(void) {return 2;}
-00076 
-00077   virtual std::string className() const {return "eoSGAGenOp";}
-00078 
-00079 
-00080  private:
-00081   eoQuadOp<EOT> &cross;   // eoInvalidateXXX take the boolean output
-00082   double pCross;
-00083   eoMonOp<EOT> & mut;      // of the XXX op and invalidate the EOT
-00084   double pMut;
-00085   eoProportionalOp<EOT> propOp;
-00086   eoQuadCloneOp<EOT> quadClone;
-00087   eoSequentialOp<EOT> op;
-00088 };
-00089 
-00090 
-00091 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_s_g_a_transform_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_s_g_a_transform_8h-source.html deleted file mode 100644 index c1506d2f1..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_s_g_a_transform_8h-source.html +++ /dev/null @@ -1,155 +0,0 @@ - - -EO: eoSGATransform.h Source File - - - - - -

eoSGATransform.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSGA.h
-00005 // (c) Marc.Schoenauer 2000 - Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoSGATransform_h
-00028 #define _eoSGATransform_h
-00029 
-00030 #include <eoInvalidateOps.h>
-00031 #include <eoPop.h>
-00032 
-00034 // class eoSGATransform
-00036 #include <vector>          // std::vector
-00037 #include <utils/eoRNG.h>
-00038 #include <eoTransform.h>
-00039 
-00045 template<class EOT> class eoSGATransform : public eoTransform<EOT>
-00046 {
-00047  public:
-00048     
-00050   eoSGATransform(eoQuadOp<EOT>& _cross, double _cProba, 
-00051                  eoMonOp<EOT>& _mutate, double _mProba)
-00052     : cross(_cross),
-00053       crossoverProba(_cProba),
-00054       mutate(_mutate), 
-00055       mutationProba(_mProba) {}
-00056 
-00057 
-00062   void operator()(eoPop<EOT>& _pop) 
-00063   {
-00064     unsigned i;
-00065                 
-00066     for (i=0; i<_pop.size()/2; i++) 
-00067       {
-00068         if ( rng.flip(crossoverProba) ) 
-00069           {
-00070             // this crossover generates 2 offspring from two parents
-00071             cross(_pop[2*i], _pop[2*i+1]);
-00072           }
-00073       }
-00074 
-00075     for (i=0; i < _pop.size(); i++) 
-00076       {
-00077         if (rng.flip(mutationProba) ) 
-00078           {
-00079             mutate(_pop[i]);
-00080           }
-00081                   
-00082       }
-00083   };
-00084     
-00085  private:
-00086   eoInvalidateQuadOp<EOT> cross;
-00087   double crossoverProba;
-00088   eoInvalidateMonOp<EOT> mutate;
-00089   double mutationProba;
-00090 };
-00091 
-00098 template<class EOT> class eoDynSGATransform : public eoTransform<EOT>
-00099 {
-00100  public:
-00101     
-00103   eoDynSGATransform(eoQuadOp<EOT>& _cross, double _cProba, 
-00104                  eoMonOp<EOT>& _mutate, double _mProba)
-00105     : cross(_cross),
-00106       crossoverProbaHolder(_cProba), crossoverProba(crossoverProbaHolder),
-00107       mutate(_mutate), 
-00108       mutationProbaHolder(_mProba), mutationProba(mutationProbaHolder) {}
-00109 
-00111   //  these will usually be some eoValueParam<double>.value()
-00112   //  hence the ...Holder data will bever be used in this case
-00113   eoDynSGATransform(eoQuadOp<EOT>& _cross, double* _cProbaRef, 
-00114                  eoMonOp<EOT>& _mutate, double* _mProbaRef)
-00115     : cross(_cross),
-00116       crossoverProbaHolder(0), crossoverProba(*_cProbaRef),
-00117       mutate(_mutate), 
-00118       mutationProbaHolder(0), mutationProba(*_mProbaRef) {}
-00119 
-00120 
-00125   void operator()(eoPop<EOT>& _pop) 
-00126   {
-00127     unsigned i;
-00128                 
-00129     for (i=0; i<_pop.size()/2; i++) 
-00130       {
-00131         if ( rng.flip(crossoverProba) ) 
-00132           {
-00133             // this crossover generates 2 offspring from two parents
-00134             cross(_pop[2*i], _pop[2*i+1]);
-00135           }
-00136       }
-00137 
-00138     for (i=0; i < _pop.size(); i++) 
-00139       {
-00140         if (rng.flip(mutationProba) ) 
-00141           {
-00142             mutate(_pop[i]);
-00143           }
-00144                   
-00145       }
-00146   };
-00147   // accessors - mainly for EASEA
-00148   double & PCrossHandle() { return crossoverProba;}    
-00149   double & PMutHandle() { return mutationProba;}
-00150 
-00151 private:
-00152   // difference with eoSGATransform: the operator probabilities 
-00153   // they can be passed by reference or by value.
-00154   // hence we need here to use a reference, and to eventually store a value
-00155   eoInvalidateQuadOp<EOT> cross;
-00156   double crossoverProbaHolder;  // the value, used only if ctor gets a value
-00157   double& crossoverProba;       // the reference, to be used in operator()
-00158   eoInvalidateMonOp<EOT> mutate;
-00159   double mutationProbaHolder;   // the value, used only if ctor gets a value
-00160   double& mutationProba;        // the reference, to be used in operator()
-00161 };
-00162 
-00163 
-00164 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_s_t_l_functor_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_s_t_l_functor_8h-source.html deleted file mode 100644 index 54cddd761..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_s_t_l_functor_8h-source.html +++ /dev/null @@ -1,107 +0,0 @@ - - -EO: eoSTLFunctor.h Source File - - - - - -

eoSTLFunctor.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSTLFunctor.h
-00005 // (c) Maarten Keijzer 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoSTLFunctor_H
-00028 #define _eoSTLFunctor_H
-00029 
-00030 #include "eoFunctor.h"
-00031 
-00040 template <class R>
-00041 class eoSTLF
-00042 {
-00043   public:
-00044 
-00045     typedef R result_type;
-00046 
-00047     eoSTLF(eoF<R>& _f) : f(_f) {}
-00048 
-00049     R operator()(void)
-00050     {
-00051       return f();
-00052     }
-00053 
-00054   private :
-00055 
-00056   eoF<R>& f;
-00057 };
-00058 
-00059 #ifdef _MSVC
-00062 template <>
-00063 void eoSTLF<void>::operator()(void)
-00064 {
-00065   f();
-00066 }
-00067 #endif
-00068 
-00077 template <class A1, class R>
-00078 class eoSTLUF : public std::unary_function<A1, R>
-00079 {
-00080   public:
-00081     eoSTLUF(eoUF<A1,R>& _f) : f(_f) {}
-00082 
-00083     R operator()(A1 a)
-00084     {
-00085       return f(a);
-00086     }
-00087 
-00088   private:
-00089     eoUF<A1, R>& f;
-00090 };
-00091 
-00100 template <class A1, class A2, class R>
-00101 class eoSTLBF : public std::binary_function<A1, A2, R>
-00102 {
-00103   public:
-00104     eoSTLBF(eoUF<A1,R>& _f) : f(_f) {}
-00105 
-00106     R operator()(A1 a1, A2 a2)
-00107     {
-00108       return f(a1, a2);
-00109     }
-00110 
-00111   private:
-00112 
-00113     eoBF<A1, A2, R>& f;
-00114 };
-00115 
-00116 // TODO: put automated wrappers here...
-00117 
-00118 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_8h-source.html deleted file mode 100644 index 29314e1be..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_8h-source.html +++ /dev/null @@ -1,97 +0,0 @@ - - -EO: eoScalarFitness.h Source File - - - - - -

eoScalarFitness.h

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003   -----------------------------------------------------------------------------
-00004   eoScalarFitness.h
-00005 
-00006  (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000
-00007 
-00008     This library is free software; you can redistribute it and/or
-00009     modify it under the terms of the GNU Lesser General Public
-00010     License as published by the Free Software Foundation; either
-00011     version 2 of the License, or (at your option) any later version.
-00012 
-00013     This library is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016     Lesser General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU Lesser General Public
-00019     License along with this library; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023  */
-00024 
-00025 
-00026 #ifndef eoScalarFitness_h
-00027 #define eoScalarFitness_h
-00028 
-00029 #include <functional>
-00030 #include <iostream>
-00031 
-00042 template <class ScalarType, class Compare >
-00043 class eoScalarFitness
-00044 {
-00045     public :
-00046 
-00047     eoScalarFitness() : value() {}
-00048     eoScalarFitness(const eoScalarFitness& other) : value(other.value) {}
-00049     eoScalarFitness(const ScalarType& v) : value(v) {}
-00050 
-00051     eoScalarFitness& operator=(const eoScalarFitness& other)
-00052     { value = other.value; return *this; }
-00053     eoScalarFitness& operator=(const ScalarType& v)
-00054     { value = v; return *this; }
-00055 
-00056     operator ScalarType(void) const { return value; }
-00057 
-00059     bool operator<(const eoScalarFitness& other) const
-00060     { return Compare()(value, other.value); }
-00061 
-00062     // implementation of the other operators
-00063     bool operator>( const eoScalarFitness<ScalarType, Compare>& y ) const  { return y < *this; }
-00064     // implementation of the other operators
-00065     bool operator<=( const eoScalarFitness<ScalarType, Compare>& y ) const { return !(*this > y); }
-00066     // implementation of the other operators
-00067     bool operator>=(const eoScalarFitness<ScalarType, Compare>& y ) const { return !(*this < y); }
-00068 
-00069 
-00070     private :
-00071         ScalarType value;
-00072 };
-00073 
-00080 typedef eoScalarFitness<double, std::less<double> >    eoMaximizingFitness;
-00081 typedef eoScalarFitness<double, std::greater<double> > eoMinimizingFitness;
-00082 
-00083 template <class F, class Cmp>
-00084 std::ostream& operator<<(std::ostream& os, const eoScalarFitness<F, Cmp>& f)
-00085 {
-00086     os << (F) f;
-00087     return os;
-00088 }
-00089 
-00090 template <class F, class Cmp>
-00091 std::istream& operator>>(std::istream& is, eoScalarFitness<F, Cmp>& f)
-00092 {
-00093     F value;
-00094     is >> value;
-00095     f = value;
-00096     return is;
-00097 }
-00098 
-00099 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_assembled_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_assembled_8cpp-source.html deleted file mode 100644 index 307e0da0f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_assembled_8cpp-source.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: eoScalarFitnessAssembled.cpp Source File - - - - - -

eoScalarFitnessAssembled.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // eoScalarFitnessAssembled.cpp
-00005 // Marc Wintermantel & Oliver Koenig
-00006 // IMES-ST@ETHZ.CH
-00007 // March 2003
-00008 
-00009 /*
-00010     This library is free software; you can redistribute it and/or
-00011     modify it under the terms of the GNU Lesser General Public
-00012     License as published by the Free Software Foundation; either
-00013     version 2 of the License, or (at your option) any later version.
-00014  
-00015     This library is distributed in the hope that it will be useful,
-00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00018     Lesser General Public License for more details.
-00019  
-00020     You should have received a copy of the GNU Lesser General Public
-00021     License along with this library; if not, write to the Free Software
-00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00023  
-00024     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00025              Marc.Schoenauer@inria.fr
-00026              mak@dhi.dk
-00027 */
-00028 //-----------------------------------------------------------------------------
-00029 #ifdef _MSC_VER
-00030 // to avoid long name warnings
-00031 #pragma warning(disable:4786)
-00032 #endif 
-00033 
-00034 #include "eoScalarFitnessAssembled.h"
-00035 
-00036 
-00037 // need to allocate the static variables of class eoScalarFitnessAssembledTraits
-00038 std::vector<std::string> eoScalarFitnessAssembledTraits::TermDescriptions;
-00039 
-00040 
-00041 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_assembled_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_assembled_8h-source.html deleted file mode 100644 index fbfbc8b8b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_assembled_8h-source.html +++ /dev/null @@ -1,248 +0,0 @@ - - -EO: eoScalarFitnessAssembled.h Source File - - - - - -

eoScalarFitnessAssembled.h

00001  /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- */
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoScalarFitnessAssembled.h
-00005 // Marc Wintermantel & Oliver Koenig
-00006 // IMES-ST@ETHZ.CH
-00007 // March 2003
-00008 
-00009 /*
-00010     This library is free software; you can redistribute it and/or
-00011     modify it under the terms of the GNU Lesser General Public
-00012     License as published by the Free Software Foundation; either
-00013     version 2 of the License, or (at your option) any later version.
-00014 
-00015     This library is distributed in the hope that it will be useful,
-00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00018     Lesser General Public License for more details.
-00019 
-00020     You should have received a copy of the GNU Lesser General Public
-00021     License along with this library; if not, write to the Free Software
-00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00023 
-00024     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00025              Marc.Schoenauer@inria.fr
-00026              mak@dhi.dk
-00027 */
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 #ifndef eoScalarFitnessAssembled_h
-00031 #define eoScalarFitnessAssembled_h
-00032 
-00033 #include <functional>
-00034 #include <iostream>
-00035 #include <stdexcept>
-00036 #include <vector>
-00037 #include <string>
-00038 
-00040 
-00043 class eoScalarFitnessAssembledTraits{
-00044 
-00045 public:
-00046 
-00047   typedef std::vector<std::string>::size_type size_type;
-00048 
-00049   static void setDescription( size_type _idx, std::string _descr ) {
-00050     if ( _idx < TermDescriptions.size() )
-00051       TermDescriptions[_idx] = _descr;
-00052     else{
-00053       TermDescriptions.resize(_idx, "Unnamed variable" );
-00054       TermDescriptions[_idx] = _descr;
-00055     }
-00056   }
-00057 
-00058   static std::string getDescription( size_type _idx) {
-00059     if ( _idx < TermDescriptions.size() )
-00060       return TermDescriptions[_idx ];
-00061     else
-00062       return "Unnamed Variable";
-00063   }
-00064 
-00065   static void resize( size_type _n, const std::string& _descr) {
-00066     TermDescriptions.resize(_n, _descr);
-00067   }
-00068 
-00069   static size_type size() { return TermDescriptions.size(); }
-00070 
-00071   static std::vector<std::string> getDescriptionVector() { return TermDescriptions; }
-00072 
-00073 private:
-00074   static std::vector<std::string> TermDescriptions;
-00075 };
-00076 
-00078 
-00087 template <class ScalarType, class Compare, class FitnessTraits >
-00088 class eoScalarFitnessAssembled : public std::vector<ScalarType> {
-00089 
-00090 public:
-00091 
-00092     using std::vector< ScalarType >::empty;
-00093     using std::vector< ScalarType >::front;
-00094     using std::vector< ScalarType >::size;
-00095 
-00096 
-00097   typedef typename std::vector<ScalarType> baseVector;
-00098   typedef typename baseVector::size_type size_type;
-00099 
-00100   // Basic constructors and assignments
-00101   eoScalarFitnessAssembled()
-00102     : baseVector( FitnessTraits::size() ),
-00103       feasible(true), failed(false), msg("")
-00104   {}
-00105 
-00106   eoScalarFitnessAssembled( size_type _n,
-00107                             const ScalarType& _val,
-00108                             const std::string& _descr="Unnamed variable" )
-00109     : baseVector(_n, _val),
-00110       feasible(true), failed(false), msg("")
-00111   {
-00112     if ( _n > FitnessTraits::size() )
-00113     FitnessTraits::resize(_n, _descr);
-00114   }
-00115 
-00116   eoScalarFitnessAssembled( const eoScalarFitnessAssembled& other)
-00117     : baseVector( other ),
-00118       feasible(other.feasible),
-00119       failed(other.failed),
-00120       msg(other.msg)
-00121   {}
-00122 
-00123   eoScalarFitnessAssembled& operator=( const eoScalarFitnessAssembled& other) {
-00124     baseVector::operator=( other );
-00125     feasible = other.feasible;
-00126     failed = other.failed;
-00127     msg = other.msg;
-00128     return *this;
-00129   }
-00130 
-00131   // Constructors and assignments to work with scalar type
-00132   eoScalarFitnessAssembled( const ScalarType& v )
-00133     : baseVector( 1, v ),
-00134       feasible(true), failed(false), msg("")
-00135   {}
-00136 
-00137   eoScalarFitnessAssembled& operator=( const ScalarType& v ) {
-00138 
-00139       if( empty() )
-00140           push_back( v );
-00141       else
-00142           front() = v;
-00143       return *this;
-00144   }
-00145 
-00147   void push_back(const ScalarType& _val ){
-00148     baseVector::push_back( _val );
-00149     if ( size() > FitnessTraits::size() )
-00150       FitnessTraits::setDescription( size()-1, "Unnamed variable");
-00151   }
-00152 
-00154   void push_back(const ScalarType& _val, const std::string& _descr ){
-00155     baseVector::push_back( _val );
-00156     FitnessTraits::setDescription( size()-1, _descr );
-00157   }
-00158 
-00160   void resize( size_type _n, const ScalarType& _val = ScalarType(), const std::string& _descr = "Unnamed variable" ){
-00161     baseVector::resize(_n, _val);
-00162     FitnessTraits::resize(_n, _descr);
-00163   }
-00164 
-00166   void setDescription( size_type _idx, std::string _descr ) {
-00167     FitnessTraits::setDescription( _idx, _descr );
-00168   }
-00169 
-00171   std::string getDescription( size_type _idx ){ return FitnessTraits::getDescription( _idx ); }
-00172 
-00174   std::vector<std::string> getDescriptionVector() { return FitnessTraits::getDescriptionVector(); }
-00175 
-00177 
-00181   bool feasible;
-00182 
-00184 
-00188   bool failed;
-00189 
-00191 
-00195   std::string msg;
-00196 
-00197 
-00198   // Scalar type access
-00199   operator ScalarType(void) const {
-00200     if ( empty() )
-00201       return 0.0;
-00202     else
-00203       return front();
-00204   }
-00205 
-00207   void printAll(std::ostream& os) const {
-00208     for (size_type i=0; i < size(); ++i )
-00209       os << FitnessTraits::getDescription(i) << " = " << operator[](i) << " ";
-00210   }
-00211 
-00212   // Comparison, using less by default
-00213   bool operator<(const eoScalarFitnessAssembled& other) const{
-00214     if ( empty() || other.empty() )
-00215       return false;
-00216     else
-00217       return Compare()( front() , other.front() );
-00218   }
-00219 
-00220   // implementation of the other operators
-00221   bool operator>( const eoScalarFitnessAssembled<ScalarType, Compare, FitnessTraits>& y ) const  { return y < *this; }
-00222 
-00223   // implementation of the other operators
-00224   bool operator<=( const eoScalarFitnessAssembled<ScalarType, Compare, FitnessTraits>& y ) const { return !(*this > y); }
-00225 
-00226   // implementation of the other operators
-00227   bool operator>=(const eoScalarFitnessAssembled<ScalarType, Compare, FitnessTraits>& y ) const { return !(*this < y); }
-00228 
-00229 };
-00230 
-00237 typedef eoScalarFitnessAssembled<double, std::less<double>, eoScalarFitnessAssembledTraits >    eoAssembledMaximizingFitness;
-00238 typedef eoScalarFitnessAssembled<double, std::greater<double>, eoScalarFitnessAssembledTraits > eoAssembledMinimizingFitness;
-00239 
-00240 template <class F, class Cmp, class FitnessTraits>
-00241 std::ostream& operator<<(std::ostream& os, const eoScalarFitnessAssembled<F, Cmp, FitnessTraits>& f)
-00242 {
-00243   for (unsigned i=0; i < f.size(); ++i)
-00244     os << f[i] << " ";
-00245 
-00246   os << f.feasible << " ";
-00247   os << f.failed << " ";
-00248 
-00249   return os;
-00250 }
-00251 
-00252 template <class F, class Cmp, class FitnessTraits>
-00253 std::istream& operator>>(std::istream& is, eoScalarFitnessAssembled<F, Cmp, FitnessTraits>& f)
-00254 {
-00255   for (unsigned i=0; i < f.size(); ++i){
-00256     F value;
-00257     is >> value;
-00258     f[i] = value;
-00259   }
-00260 
-00261   is >> f.feasible;
-00262   is >> f.failed;
-00263 
-00264   return is;
-00265 }
-00266 
-00267 #endif
-00268 
-00269 
-00270 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_stat_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_stat_8h-source.html deleted file mode 100644 index c19022c48..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_scalar_fitness_stat_8h-source.html +++ /dev/null @@ -1,75 +0,0 @@ - - -EO: eoScalarFitnessStat.h Source File - - - - - -

eoScalarFitnessStat.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoScalarFitnessStat.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoScalarFitnessStat_h
-00028 #define _eoScalarFitnessStat_h
-00029 
-00030 #include <utils/eoRealVectorBounds.h>
-00031 #include <utils/eoStat.h>
-00032 
-00036 template <class EOT, class FitT = typename EOT::Fitness>
-00037 class eoScalarFitnessStat : public eoSortedStat<EOT, std::vector<double> >
-00038 {
-00039 public:
-00040 
-00041     using eoSortedStat<EOT, std::vector<double> >::value;
-00042 
-00043     eoScalarFitnessStat(std::string _description = "FitnessES",
-00044                         eoRealVectorBounds & _bounds = eoDummyVectorNoBounds)
-00045         : eoSortedStat<EOT,  std::vector<double> >(std::vector<double>(0), _description),
-00046           range(*_bounds[0])
-00047         {}
-00048 
-00049   virtual void operator()(const std::vector<const EOT*>& _popPters)
-00050     {
-00051       value().resize(_popPters.size());
-00052       for (unsigned i=0; i<_popPters.size(); i++)
-00053         {
-00054           value()[i] = _popPters[i]->fitness();
-00055           range.truncate(value()[i]);
-00056         }
-00057     }
-00058 
-00059 private :
-00060   eoRealBounds & range;
-00061 };
-00062 
-00063 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_select_8h-source.html deleted file mode 100644 index 97083ff64..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_select_8h-source.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: eoSelect.h Source File - - - - - -

eoSelect.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoSelect_h
-00026 #define _eoSelect_h
-00027 
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 #include <eoPop.h>
-00031 //-----------------------------------------------------------------------------
-00032 
-00039 template<class EOT>
-00040 class eoSelect : public eoBF<const eoPop<EOT>&, eoPop<EOT>&, void>
-00041 {};
-00042 
-00043 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_select_factory_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_select_factory_8h-source.html deleted file mode 100644 index cd08f05a8..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_select_factory_8h-source.html +++ /dev/null @@ -1,90 +0,0 @@ - - -EO: eoSelectFactory.h Source File - - - - - -

eoSelectFactory.h

00001 // eoSelectFactory.h
-00002 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00003 
-00004 //-----------------------------------------------------------------------------
-00005 // EOFactory.h
-00006 // (c) GeNeura Team, 1998
-00007 /* 
-00008     This library is free software; you can redistribute it and/or
-00009     modify it under the terms of the GNU Lesser General Public
-00010     License as published by the Free Software Foundation; either
-00011     version 2 of the License, or (at your option) any later version.
-00012 
-00013     This library is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016     Lesser General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU Lesser General Public
-00019     License along with this library; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _EOSELECTFACTORY_H
-00027 #define _EOSELECTFACTORY_H
-00028 
-00029 #include <eoFactory.h>
-00030 #include <eoRandomSelect.h>
-00031 #include <eoTournament.h>
-00032 
-00033 //-----------------------------------------------------------------------------
-00034 
-00038 template< class EOT>
-00039 class eoSelectFactory: public eoFactory<eoSelect< EOT> > {
-00040         
-00041 public:
-00042         
-00044         //{@
-00046         eoSelectFactory( ) {}
-00047         
-00049         virtual ~eoSelectFactory() {}
-00051 
-00056         virtual eoSelect<EOT>* make(std::istream& _is) {
-00057                 eoSelect<EOT> * selectPtr;
-00058                 std::string objectTypeStr;
-00059                 _is >> objectTypeStr;
-00060                 // All selectors have a rate, the proportion of the original population
-00061                 float rate;
-00062                 _is >> rate;
-00063                 if  ( objectTypeStr == "eoTournament") {
-00064                         // another parameter is necessary
-00065                         unsigned tSize;
-00066                         _is >> tSize;
-00067                         selectPtr = new eoTournament<EOT>( rate, tSize );
-00068                 } else  {
-00069                         if ( objectTypeStr == "eoRandomSelect" ) {
-00070                                 selectPtr = new eoRandomSelect<EOT>( rate );
-00071                         } else {
-00072                                                 throw std::runtime_error( "Incorrect selector type" );
-00073                         }
-00074                 }
-00075                 return selectPtr;
-00076         }
-00077 
-00079 
-00080         void printOn( std::ostream& _os ) const {};
-00081         void readFrom( std::istream& _is ){};
-00082 
-00085         
-00086 };
-00087 
-00088 
-00089 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_select_from_worth_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_select_from_worth_8h-source.html deleted file mode 100644 index 57fdf3516..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_select_from_worth_8h-source.html +++ /dev/null @@ -1,194 +0,0 @@ - - -EO: eoSelectFromWorth.h Source File - - - - - -

eoSelectFromWorth.h

00001 
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoSelectFromWorth_h
-00027 #define _eoSelectFromWorth_h
-00028 
-00029 #include <iostream>
-00030 //-----------------------------------------------------------------------------
-00031 #include <eoSelectOne.h>
-00032 #include <eoPerf2Worth.h>
-00033 #include <utils/selectors.h>
-00034 //-----------------------------------------------------------------------------
-00035 
-00050 template <class EOT, class WorthType = double>
-00051 class eoSelectFromWorth : public eoSelectOne<EOT>
-00052 {
-00053 public:
-00054 
-00055     /* Default ctor from an eoPerf2Worth object */
-00056     eoSelectFromWorth(eoPerf2Worth<EOT, WorthType>& _perf2Worth)
-00057         : perf2Worth(_perf2Worth)
-00058         {}
-00059 
-00060     /* setup the worthes */
-00061     virtual void setup(const eoPop<EOT>& pop) {
-00062         perf2Worth(pop);
-00063 #ifndef NDEBUG
-00064         fitness.resize(pop.size());
-00065         for (unsigned i = 0; i < pop.size(); ++i) {
-00066             fitness[i] = pop[i].fitness();
-00067         }
-00068 #endif
-00069     }
-00070 
-00071 
-00072 protected:
-00073 
-00074     eoPerf2Worth<EOT, WorthType>& perf2Worth;
-00075 
-00076 #ifndef NDEBUG
-00077     std::vector<typename EOT::Fitness> fitness;
-00078     void check_sync(unsigned index, const EOT& _eo) {
-00079         if (fitness[index] != _eo.fitness()) {
-00080             throw std::runtime_error("eoSelectFromWorth: fitnesses are not in sync");
-00081         }
-00082     }
-00083 #endif
-00084 };
-00085 
-00086 
-00090 template <class EOT, class WorthT = double>
-00091 class eoDetTournamentWorthSelect : public eoSelectFromWorth<EOT, WorthT>
-00092 {
-00093 public:
-00094 
-00095     using eoSelectFromWorth<EOT, WorthT>::perf2Worth;
-00096 
-00097     typedef typename std::vector<WorthT>::iterator worthIterator;
-00098 
-00099     /* Default ctor from an eoPerf2Worth object +  tournament size */
-00100     eoDetTournamentWorthSelect(eoPerf2Worth<EOT, WorthT>& perf2Worth,
-00101                                unsigned _tSize)
-00102         : eoSelectFromWorth<EOT, WorthT>(perf2Worth), tSize(_tSize) {}
-00103 
-00104     /* Perform deterministic tournament on worthes by calling the
-00105        appropriate fn see selectors.h */
-00106     virtual const EOT& operator()(const eoPop<EOT>& pop) {
-00107         worthIterator it = deterministic_tournament(perf2Worth.value().begin(),
-00108                                                     perf2Worth.value().end(),
-00109                                                     tSize);
-00110         unsigned index = it - perf2Worth.value().begin();
-00111 #ifndef NDEBUG
-00112         // check whether the stuff is still in sync
-00113         check_sync(index, pop[index]);
-00114 #endif
-00115         return pop[index];
-00116     }
-00117 
-00118 
-00119 private:
-00120 
-00121     unsigned tSize;
-00122 };
-00123 
-00127 template <class EOT, class WorthT = double>
-00128 class eoStochTournamentWorthSelect : public eoSelectFromWorth<EOT, WorthT>
-00129 {
-00130 public:
-00131 
-00132     using eoSelectFromWorth<EOT, WorthT>::perf2Worth;
-00133 
-00134     typedef typename std::vector<WorthT>::iterator worthIterator;
-00135 
-00136     /* Default ctor from an eoPerf2Worth object +  tournament rate */
-00137     eoStochTournamentWorthSelect(eoPerf2Worth<EOT, WorthT> &_perf2Worth, double _tRate)
-00138         : eoSelectFromWorth<EOT, WorthT>(_perf2Worth), tRate(_tRate)
-00139         {}
-00140 
-00141   /* Perform stochastic tournament on worthes
-00142      by calling the appropriate fn in selectors.h
-00143   */
-00144   virtual const EOT& operator()(const eoPop<EOT>& _pop) {
-00145       worthIterator it = stochastic_tournament(perf2Worth.value().begin(),
-00146                                                perf2Worth.value().end(),
-00147                                                tRate);
-00148 
-00149     unsigned index = it - perf2Worth.value().begin();
-00150 
-00151 #ifndef NDEBUG
-00152   // check whether the stuff is still in sync
-00153   check_sync(index, _pop[index]);
-00154 #endif
-00155 
-00156     return _pop[index];
-00157   }
-00158 
-00159 private:
-00160   double tRate;
-00161 };
-00162 
-00166 template <class EOT, class WorthT = double>
-00167 class eoRouletteWorthSelect : public eoSelectFromWorth<EOT, WorthT>
-00168 {
-00169 public:
-00170 
-00171     using eoSelectFromWorth<EOT, WorthT>::perf2Worth;
-00172 
-00173     typedef typename std::vector<WorthT>::iterator worthIterator;
-00174 
-00175 
-00176     /* Default ctor from an eoPerf2Worth object */
-00177     eoRouletteWorthSelect(eoPerf2Worth<EOT, WorthT> &_perf2Worth)
-00178         : eoSelectFromWorth<EOT, WorthT>(_perf2Worth)
-00179         {}
-00180 
-00181   /* We have to override the default behavior to compute the total
-00182    * only once!
-00183    */
-00184   virtual void setup(const eoPop<EOT>& _pop)
-00185   {
-00186     eoSelectFromWorth<EOT, WorthT>::setup(_pop);
-00187     total = 0.0;
-00188     for (worthIterator it = perf2Worth.value().begin();
-00189          it<perf2Worth.value().end(); ++it)
-00190       total += (*it);
-00191   }
-00192 
-00193   /* Perform roulette wheel on worthes
-00194      by calling the appropriate fn
-00195      see selectors.h
-00196   */
-00197   virtual const EOT& operator()(const eoPop<EOT>& _pop) {
-00198  //     cout << "On affiche les worths\n";
-00199  //     for (unsigned i=0;
-00200  //      i<perf2Worth.value().size();
-00201  //      i++)
-00202  //       cout << perf2Worth.value().operator[](i) << "\n";
-00203  //     cout << endl;
-00204       worthIterator it = roulette_wheel(perf2Worth.value().begin(),
-00205                                         perf2Worth.value().end(),
-00206                                         total);
-00207 
-00208    unsigned index = it - perf2Worth.value().begin();
-00209 
-00210 #ifndef NDEBUG
-00211   // check whether the stuff is still in sync
-00212   check_sync(index, _pop[index]);
-00213 #endif
-00214 
-00215     return _pop[index];
-00216     return _pop[it - perf2Worth.value().begin()];
-00217   }
-00218 
-00219 private:
-00220   double total;
-00221 };
-00222 
-00223 #endif
-00224 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_select_many_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_select_many_8h-source.html deleted file mode 100644 index 2e99379ce..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_select_many_8h-source.html +++ /dev/null @@ -1,59 +0,0 @@ - - -EO: eoSelectMany.h Source File - - - - - -

eoSelectMany.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoSelectMany_h
-00028 #define _eoSelectMany_h
-00029 
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 #include <eoSelect.h>
-00033 #include <eoSelectOne.h>
-00034 #include <utils/eoHowMany.h>
-00035 #include <math.h>
-00036 //-----------------------------------------------------------------------------
-00037 
-00044 template<class EOT>
-00045 class eoSelectMany : public eoSelect<EOT>
-00046 {
-00047  public:
-00049      eoSelectMany(eoSelectOne<EOT>& _select, 
-00050                     double  _rate, bool _interpret_as_rate = true) 
-00051          : select(_select), howMany(_rate, _interpret_as_rate) {}
-00052 
-00053      // Ctor with eoHowMany
-00054      eoSelectMany(eoSelectOne<EOT>& _select, eoHowMany _howMany) 
-00055          : select(_select), howMany(_howMany) {}
-00056 
-00063   virtual void operator()(const eoPop<EOT>& _source, eoPop<EOT>& _dest)
-00064   {
-00065     unsigned target = howMany(_source.size());
-00066     
-00067     _dest.resize(target);
-00068     
-00069     select.setup(_source);
-00070     
-00071     for (size_t i = 0; i < _dest.size(); ++i)
-00072       _dest[i] = select(_source);
-00073   }
-00074   
-00075 private :
-00076   eoSelectOne<EOT>& select;
-00077   eoHowMany howMany;
-00078 };
-00079 
-00080 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_select_number_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_select_number_8h-source.html deleted file mode 100644 index 2b86050ff..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_select_number_8h-source.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoSelectNumber.h Source File - - - - - -

eoSelectNumber.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoSelectNumber_h
-00026 #define _eoSelectNumber_h
-00027 
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 #include <eoSelect.h>
-00031 #include <eoSelectOne.h>
-00032 #include <math.h>
-00033 //-----------------------------------------------------------------------------
-00034 
-00041 template<class EOT>
-00042 class eoSelectNumber : public eoSelect<EOT>
-00043 {
-00044  public:
-00046      eoSelectNumber(eoSelectOne<EOT>& _select, unsigned _nb_to_select = 1) 
-00047          : select(_select), nb_to_select(_nb_to_select) {}
-00048 
-00055   virtual void operator()(const eoPop<EOT>& _source, eoPop<EOT>& _dest)
-00056   {
-00057     size_t target = static_cast<size_t>(nb_to_select);
-00058     
-00059     _dest.resize(target);
-00060     
-00061     select.setup(_source);
-00062     
-00063     for (size_t i = 0; i < _dest.size(); ++i)
-00064       _dest[i] = select(_source);
-00065   }
-00066   
-00067 private :
-00068   eoSelectOne<EOT>& select;
-00069   unsigned nb_to_select;
-00070 };
-00071 
-00072 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_select_one_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_select_one_8h-source.html deleted file mode 100644 index ae290748c..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_select_one_8h-source.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: eoSelectOne.h Source File - - - - - -

eoSelectOne.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoSelectOne_h
-00026 #define _eoSelectOne_h
-00027 
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 #include <eoPop.h>
-00031 #include <eoFunctor.h>
-00032 //-----------------------------------------------------------------------------
-00033 
-00040 #ifdef _MSC_VER
-00041 template<class EOT, class WorthT = EOT::Fitness>
-00042 #else
-00043 template<class EOT, class WorthT = typename EOT::Fitness>
-00044 #endif
-00045 class eoSelectOne : public eoUF<const eoPop<EOT>&, const EOT&>
-00046 {
-00047     public :
-00049       virtual void setup(const eoPop<EOT>& _pop)
-00050       {}
-00051 };
-00052 
-00053 
-00054 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_select_perc_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_select_perc_8h-source.html deleted file mode 100644 index 5a26bc2b1..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_select_perc_8h-source.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoSelectPerc.h Source File - - - - - -

eoSelectPerc.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoSelectPerc_h
-00026 #define _eoSelectPerc_h
-00027 
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 #include <eoSelect.h>
-00031 #include <eoSelectOne.h>
-00032 #include <math.h>
-00033 //-----------------------------------------------------------------------------
-00034 
-00041 template<class EOT>
-00042 class eoSelectPerc : public eoSelect<EOT>
-00043 {
-00044  public:
-00046      eoSelectPerc(eoSelectOne<EOT>& _select, float _rate = 1.0) 
-00047          : select(_select), rate(_rate) {}
-00048 
-00055   virtual void operator()(const eoPop<EOT>& _source, eoPop<EOT>& _dest)
-00056   {
-00057     size_t target = static_cast<size_t>(floor(rate * _source.size()));
-00058     
-00059     _dest.resize(target);
-00060     
-00061     select.setup(_source);
-00062     
-00063     for (size_t i = 0; i < _dest.size(); ++i)
-00064       _dest[i] = select(_source);
-00065   }
-00066   
-00067 private :
-00068   eoSelectOne<EOT>& select;
-00069   float rate;
-00070 };
-00071 
-00072 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sequential_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sequential_select_8h-source.html deleted file mode 100644 index f3fb7aa6a..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sequential_select_8h-source.html +++ /dev/null @@ -1,128 +0,0 @@ - - -EO: eoSequentialSelect.h Source File - - - - - -

eoSequentialSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSequential.h
-00005 // (c) GeNeura Team, 1998 - Maarten Keijzer 2000, Marc Schoenauer, 2002
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoSequential_h
-00028 #define eoSequential_h
-00029 
-00030 #include <limits>
-00031 
-00032 #include "utils/eoData.h"
-00033 #include "utils/eoRNG.h"
-00034 #include "eoSelectOne.h"
-00035 
-00052 template <class EOT> class eoSequentialSelect: public eoSelectOne<EOT>
-00053 {
-00054  public:
-00058   eoSequentialSelect(bool _ordered = true)
-00059         : ordered(_ordered), current(std::numeric_limits<unsigned>::max()) {}
-00060 
-00061   void setup(const eoPop<EOT>& _pop)
-00062   {
-00063     eoPters.resize(_pop.size());
-00064     if (ordered)    // probably we could have a marker to avoid re-sorting
-00065             _pop.sort(eoPters);
-00066     else
-00067       _pop.shuffle(eoPters);
-00068     current=0;
-00069   }
-00070 
-00071   virtual const EOT& operator()(const eoPop<EOT>& _pop)
-00072   {
-00073     if (current >= _pop.size())
-00074       setup(_pop);
-00075 
-00076     unsigned eoN = current;
-00077     current++;
-00078     return *eoPters[eoN] ;
-00079   }
-00080 private:
-00081   bool ordered;
-00082   unsigned current;
-00083   std::vector<const EOT*> eoPters;
-00084 };
-00085 
-00086 
-00087 
-00097 template <class EOT> class eoEliteSequentialSelect: public eoSelectOne<EOT>
-00098 {
-00099  public:
-00100 
-00104   eoEliteSequentialSelect(): current(std::numeric_limits<unsigned>::max()) {}
-00105 
-00106   void setup(const eoPop<EOT>& _pop)
-00107   {
-00108     eoPters.resize(_pop.size());
-00109     _pop.shuffle(eoPters);
-00110     // now get the best
-00111     unsigned int ibest = 0;
-00112     const EOT * best = eoPters[0];
-00113     if (_pop.size() == 1)
-00114       throw std::runtime_error("Trying eoEliteSequentialSelect with only one individual!");
-00115     for (unsigned i=1; i<_pop.size(); i++)
-00116       if (*eoPters[i]>*best)
-00117         {
-00118           ibest = i;
-00119           best = eoPters[ibest];
-00120         }
-00121     // and put it upfront
-00122     const EOT *ptmp = eoPters[0];
-00123     eoPters[0]=best;
-00124     eoPters[ibest] = ptmp;
-00125     // exit after setting current
-00126     current=0;
-00127   }
-00128 
-00129   virtual const EOT& operator()(const eoPop<EOT>& _pop)
-00130   {
-00131     if (current >= _pop.size())
-00132       setup(_pop);
-00133 
-00134     unsigned eoN = current;
-00135     current++;
-00136     return *eoPters[eoN] ;
-00137   }
-00138 private:
-00139   unsigned current;
-00140   std::vector<const EOT*> eoPters;
-00141 };
-00142 
-00143 
-00144 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sharing_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sharing_8h-source.html deleted file mode 100644 index 5626c76e5..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sharing_8h-source.html +++ /dev/null @@ -1,115 +0,0 @@ - - -EO: eoSharing.h Source File - - - - - -

eoSharing.h

00001 
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoSharing_h
-00027 #define eoSharing_h
-00028 
-00029 #include <eoPerf2Worth.h>
-00030 #include <utils/eoDistance.h>
-00031 
-00037   class dMatrix : public std::vector<double>
-00038   {
-00039   public:
-00040     // Ctor : sets size
-00041     dMatrix(unsigned _s) : std::vector<double>(_s*_s), rSize(_s) {}
-00042 
-00044     double operator()(unsigned _i, unsigned _j) const
-00045     {
-00046       return this->operator[](_i*rSize + _j);
-00047     }
-00048 
-00050     double & operator()(unsigned _i, unsigned _j)
-00051     {
-00052       return this->operator[](_i*rSize + _j);
-00053     }
-00054 
-00056     void printOn(std::ostream & _os)
-00057     {
-00058       unsigned index=0;
-00059       for (unsigned i=0; i<rSize; i++)
-00060         {
-00061           for (unsigned j=0; j<rSize; j++)
-00062             _os << this->operator[](index++) << " " ;
-00063           _os << std::endl;
-00064         }
-00065       _os << std::endl;
-00066     }
-00067 
-00068     private:
-00069       unsigned rSize;              // row size (== number of columns!)
-00070   };
-00071 
-00072 
-00078 template <class EOT>
-00079 class eoSharing : public eoPerf2Worth<EOT>
-00080 {
-00081 public:
-00082 
-00083     using eoPerf2Worth<EOT>::value;
-00084 
-00085 
-00086   /* Ctor requires a distance - cannot have a default distance! */
-00087   eoSharing(double _nicheSize, eoDistance<EOT> & _dist) : eoPerf2Worth<EOT>("Sharing"),
-00088                                              nicheSize(_nicheSize),
-00089                                              dist(_dist)
-00090   {}
-00091 
-00094     void operator()(const eoPop<EOT>& _pop)
-00095     {
-00096       unsigned i, j,
-00097         pSize=_pop.size();
-00098       if (pSize <= 1)
-00099         throw std::runtime_error("Apptempt to do sharing with population of size 1");
-00100       value().resize(pSize);
-00101       std::vector<double> sim(pSize);      // to hold the similarities
-00102       dMatrix distMatrix(pSize*(pSize-1)/2); // to hold the distances
-00103 
-00104       // compute the similarities (wrong name for distMatrix, I know)
-00105       distMatrix(0,0)=1;
-00106       for (i=1; i<pSize; i++)
-00107         {
-00108           distMatrix(i,i)=1;
-00109           for (j=0; j<i; j++)
-00110             {
-00111               double d =  dist(_pop[i], _pop[j]);
-00112               distMatrix(i,j) =
-00113                 distMatrix(j,i) = ( d>nicheSize ? 0 : 1-(d/nicheSize) );
-00114             }
-00115         }
-00116 
-00117       for (i=0; i<pSize; i++)
-00118         {
-00119           double sum=0.0;
-00120           for (j=0; j<pSize; j++)
-00121             sum += distMatrix(i,j);
-00122           sim[i] = sum;
-00123         }
-00124 
-00125       // now set the worthes values
-00126       for (i = 0; i < _pop.size(); ++i)
-00127         value()[i]=_pop[i].fitness()/sim[i];
-00128     }
-00129     // private data of class eoSharing
-00130 private:
-00131   double nicheSize;
-00132   eoDistance<EOT> & dist;            // specific distance
-00133 };
-00134 
-00135 
-00136 
-00137 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sharing_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sharing_select_8h-source.html deleted file mode 100644 index d264dc4b9..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sharing_select_8h-source.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: eoSharingSelect.h Source File - - - - - -

eoSharingSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSharingSelect.h
-00005 // (c) GeNeura Team, 1998, Maarten Keijzer 2000, Marc Schoenauer 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mak@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoSharingSelect_h
-00027 #define eoSharingSelect_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <eoSelectFromWorth.h>
-00032 #include <eoSharing.h>
-00033 
-00042 template <class EOT> 
-00043 class eoSharingSelect: public eoRouletteWorthSelect<EOT, double> 
-00044 {
-00045 public:
-00049   eoSharingSelect(double _sigma, eoDistance<EOT> & _dist): 
-00050     eoRouletteWorthSelect<EOT, double>(sharing), sharing(_sigma, _dist) {}
-00051 
-00052 private :
-00053   eoSharing<EOT> sharing;          // derived from eoPerf2Worth
-00054 };
-00055 
-00056 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_simple_e_d_a_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_simple_e_d_a_8h-source.html deleted file mode 100644 index 2b589599f..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_simple_e_d_a_8h-source.html +++ /dev/null @@ -1,103 +0,0 @@ - - -EO: eoSimpleEDA.h Source File - - - - - -

eoSimpleEDA.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSimpleEDA.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoSimpleEDA_h
-00027 #define _eoSimpleEDA_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <apply.h>
-00032 #include <eoEDA.h>
-00033 #include <eoContinue.h>
-00034 #include <eoDistribUpdater.h>
-00035 #include <eoEvalFunc.h>
-00036 
-00046 template<class EOT> class eoSimpleEDA: public eoEDA<EOT>
-00047 {
-00048  public:
-00049 
-00053   eoSimpleEDA(eoDistribUpdater<EOT>& _update,
-00054            eoEvalFunc<EOT>& _eval,
-00055            unsigned _popSize, 
-00056            eoContinue<EOT>& _continuator
-00057            ) : 
-00058     update(_update),
-00059     eval(_eval),
-00060     popSize(_popSize),
-00061     continuator(_continuator)
-00062   {}
-00063 
-00069   virtual void operator()(eoDistribution<EOT>& _distrib)
-00070   {
-00071     eoPop<EOT> pop(popSize, _distrib);
-00072     do
-00073     {
-00074       try
-00075       {
-00076         apply<EOT>(_distrib, pop); // re-init. of _pop from distrib
-00077 
-00078         apply<EOT>(eval, pop);     // eval of current population
-00079 
-00080         update(_distrib, pop);     // updates distrib from _pop
-00081         
-00082       }
-00083       catch (std::exception& e)
-00084       {
-00085             std::string s = e.what();
-00086             s.append( " in eoSimpleEDA");
-00087             throw std::runtime_error( s );
-00088       }
-00089     } while ( continuator( pop ) );
-00090   }
-00091 
-00092  private:
-00093   eoDistribUpdater<EOT> & update;
-00094 
-00095   eoEvalFunc<EOT>&          eval;
-00096   
-00097   unsigned                  popSize;
-00098 
-00099   eoContinue<EOT>&          continuator;
-00100 };
-00101 
-00102 //-----------------------------------------------------------------------------
-00103 
-00104 #endif
-00105 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_st_parse_tree_depth_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_st_parse_tree_depth_init_8h-source.html deleted file mode 100644 index d2e87f58d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_st_parse_tree_depth_init_8h-source.html +++ /dev/null @@ -1,178 +0,0 @@ - - -EO: eoStParseTreeDepthInit.h Source File - - - - - -

eoStParseTreeDepthInit.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // eoStParseTreeDepthInit.h : initializor strongly type GP
-00005 // (c) Jeroen Eggermont 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011  
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016  
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020  
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              jeggermo@liacs.nl
-00023             
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoStParseTreeDepthInit_h
-00028 #define eoStParseTreeDepthInit_h
-00029 
-00030 #include <EO.h>
-00031 #include <gp/eoParseTree.h>
-00032 #include <eoInit.h>
-00033 #include <eoOp.h>
-00034 
-00035 
-00036 using namespace gp_parse_tree;
-00037 
-00038 #define TERMINAL 0
-00039 
-00040 #define NONTERMINAL 4
-00041 #define ALL 5
-00042 
-00060 template <class FType, class Node>
-00061 class eoStParseTreeDepthInit : public eoInit< eoParseTree<FType, Node> >
-00062 {
-00063     public :
-00064 
-00065     typedef eoParseTree<FType, Node> EoType;
-00066     
-00073         eoStParseTreeDepthInit(
-00074         unsigned _max_depth,
-00075                 const std::vector<Node>& _node,
-00076                 const int& _return_type,
-00077         bool _grow = true)
-00078             :
-00079             eoInit<EoType>(),
-00080                         max_depth(_max_depth),
-00081                         return_type(_return_type),
-00082                         grow(_grow)
-00083     {
-00084       if(_node.empty())
-00085       {
-00086         throw std::logic_error("eoStParseTreeDepthInit: uhm, wouldn't you rather give a non-empty set of Nodes?");
-00087       }
-00088       
-00089       
-00090       unsigned int i=0;
-00091       int arity=0;
-00092       int type=0;
-00093       std::vector<Node> node_std::vector;
-00094       for(i=0; i < _node.size(); i++)
-00095       {
-00096         arity = _node[i].arity();
-00097         type = _node[i].type();
-00098         if(arity==0)
-00099         {
-00100                 node_std::vector = node[type][TERMINAL];
-00101                 node_std::vector.push_back(_node[i]);
-00102                 node[type][TERMINAL]= node_std::vector;
-00103         }       
-00104         else    
-00105         //if (arity != 0) // non-terminal
-00106         {
-00107                 node_std::vector = node[type][NONTERMINAL];
-00108                 node_std::vector.push_back(_node[i]);
-00109                 node[type][NONTERMINAL] = node_std::vector;
-00110         }
-00111         node_std::vector = node[type][ALL];
-00112         node_std::vector.push_back(_node[i]);
-00113         node[type][ALL] = node_std::vector;
-00114                 
-00115       }
-00116       
-00117 
-00118     }
-00120         virtual std::string className() const { return "eoStParseTreeDepthInit"; };
-00121 
-00125     void operator()(EoType& _tree)
-00126         {
-00127                 std::list<Node> sequence;
-00128                 bool good_tree = false;
-00129                 do 
-00130                 {
-00131                         sequence.clear();
-00132                         good_tree = generate(sequence, max_depth, return_type);
-00133                 }while (!good_tree);    
-00134 
-00135                 parse_tree<Node> tmp(sequence.begin(), sequence.end());
-00136                 _tree.swap(tmp);
-00137         }
-00138    private :
-00139     bool generate(std::list<Node>& sequence, int the_max, int request_type)
-00140     {
-00141             
-00142             int selected=0;
-00143             bool ok = true;
-00144             
-00145             if (the_max == 1)
-00146             { // generate terminals only
-00147                 if( node[request_type][TERMINAL].empty() ) // no possible terminal node of this type
-00148                         return false; // we have an invalid tree
-00149                 else
-00150                 {       
-00151                         selected = rng.random((node[request_type][TERMINAL]).size());
-00152                         sequence.push_front(node[request_type][TERMINAL][selected]);
-00153                         return true;
-00154                 }       
-00155               
-00156             }
-00157             
-00158             int arity=0;
-00159             if (grow)
-00160             {
-00161                 selected = rng.random((node[request_type][ALL]).size());
-00162                 arity = node[request_type][ALL][selected].arity();
-00163                 sequence.push_front(node[request_type][ALL][selected]);
-00164                 for (int i = 0; i < arity; ++i)
-00165                     ok &= generate(sequence, the_max - 1, node[request_type][ALL][selected].type(i));
-00166             }
-00167             else // full
-00168             {
-00169                  selected = rng.random((node[request_type][NONTERMINAL]).size());
-00170                  arity = node[request_type][NONTERMINAL][selected].arity();
-00171                  sequence.push_front(node[request_type][NONTERMINAL][selected]);
-00172                  for (int i = 0; i < arity; ++i)
-00173                      ok &=generate(sequence, the_max - 1, node[request_type][NONTERMINAL][selected].type(i));
-00174             }
-00175             
-00176             return ok;
-00177             
-00178     }
-00179 
-00180 
-00181 
-00182      
-00183         unsigned max_depth; 
-00184         map < int, map < int, std::vector<Node> > > node;
-00185 
-00186         int return_type;
-00187         bool grow;
-00188 };
-00189 
-00190 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_st_parse_tree_op_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_st_parse_tree_op_8h-source.html deleted file mode 100644 index d6e4858b3..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_st_parse_tree_op_8h-source.html +++ /dev/null @@ -1,271 +0,0 @@ - - -EO: eoStParseTreeOp.h Source File - - - - - -

eoStParseTreeOp.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // eoStParseTreeOp.h : crossover and mutation operators for  the strongly typed GP
-00005 // (c) Jeroen Eggermont 2001 for other mutation operators
-00006 
-00007 /*
-00008     This library is free software; you can redistribute it and/or
-00009     modify it under the terms of the GNU Lesser General Public
-00010     License as published by the Free Software Foundation; either
-00011     version 2 of the License, or (at your option) any later version.
-00012  
-00013     This library is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016     Lesser General Public License for more details.
-00017  
-00018     You should have received a copy of the GNU Lesser General Public
-00019     License along with this library; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021  
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023              mak@dhi.dk 
-00024              jeggermo@liacs.nl
-00025  */
-00026 //-----------------------------------------------------------------------------
-00027 
-00028 #ifndef eoStParseTreeOp_h
-00029 #define eoStParseTreeOp_h
-00030 
-00031 #include <EO.h>
-00032 #include <eoOp.h>
-00033 #include <map.h>
-00034 #include <iostream>
-00035 
-00036 #include <gp/eoParseTree.h>
-00037 
-00038 // a help function
-00039 template <class EOT>
-00040 void get_possible_nodes(const EOT &_eo, std::vector<int> &possible_nodes, const int type)
-00041 {
-00042         int n=0;
-00043         possible_nodes.clear();
-00044         // collect the possible crossover points in _eo (nodes with the same type)
-00045         for(n=0; n < _eo.size(); n++)
-00046                 if (type == _eo[n]->type())
-00047                         possible_nodes.push_back(n);
-00048 }       
-00049 
-00050 
-00055 template<class FType, class Node>
-00056 class eoStSubtreeXOver: public eoQuadOp< eoParseTree<FType, Node> > {
-00057 public:
-00058 
-00059   typedef eoParseTree<FType,Node> EoType;
-00064   eoStSubtreeXOver( unsigned _max_length)
-00065     : eoQuadOp<EoType>(), max_length(_max_length) {};
-00066 
-00068   virtual std::string className() const { return "eoStSubtreeXOver"; };
-00069 
-00071   virtual ~eoStSubtreeXOver () {};
-00072 
-00078   bool operator()(EoType & _eo1, EoType & _eo2 )
-00079   {
-00080           int i = 0;
-00081           std::vector<int> nodes;
-00082           int n = 0;
-00083           int type = 0;
-00084           int j = 0;
-00085           set<int> test;
-00086           do
-00087           {
-00088                 do // select a random node in _eo1 as crossover point, and check if we didn't try it already
-00089                 {
-00090                         i = rng.random(_eo1.size());
-00091                 }while(test.count(i) > 0);
-00092                 
-00093                 test.insert(i);
-00094                 
-00095                 type = _eo1[i]->type();
-00096                 
-00097                 get_possible_nodes<EoType>(_eo2, nodes, type);
-00098                 
-00099          }while(nodes.empty() && (test.size() < _eo1.size()));  
-00100          
-00101          if (nodes.empty()) // we failed to select a crossover point but tried all points (test.size() == _eo1.size()).
-00102                 return true;  // should this be false ??
-00103 
-00104          // we did find at least one possible crossover point in _eo2
-00105                 
-00106          n = rng.random(nodes.size());
-00107          j = nodes[n];
-00108            
-00109          parse_tree<Node>::subtree tmp = _eo1[i];
-00110          _eo1[i] = _eo2[j]; // insert subtree
-00111          _eo2[j] = tmp;
-00112 
-00113          // we can't prune anymore
-00114          /*     
-00115          _eo1.pruneTree(max_length);
-00116          _eo2.pruneTree(max_length);
-00117          */
-00118          
-00119          return true;
-00120   }
-00121  private:
-00122   unsigned max_length;
-00123 };
-00124 
-00129 template<class FType, class Node>
-00130 class eoStBranchMutation: public eoMonOp< eoParseTree<FType, Node> >
-00131 {
-00132 public:
-00133 
-00134   typedef eoParseTree<FType,Node> EoType;
-00140   eoStBranchMutation(eoInit<EoType>& _init, unsigned _max_length)
-00141     : eoMonOp<EoType>(), max_length(_max_length), initializer(_init)
-00142   {};
-00143   
-00145   virtual std::string className() const { return "eoStBranchMutation"; };
-00146 
-00148   virtual ~eoStBranchMutation() {};
-00149   
-00154   bool operator()(EoType& _eo1 )
-00155   {
-00156           int i = rng.random(_eo1.size());
-00157           std::vector<int> nodes;
-00158           int type = _eo1[i]->type();
-00159           int j=0;
-00160           int n=0;
-00161 
-00162           EoType eo2;
-00163           
-00164           do
-00165           {
-00166                 initializer(eo2);
-00167                 get_possible_nodes(eo2, nodes, type);
-00168           }while (nodes.empty());       
-00169 
-00170           n = rng.random(nodes.size());
-00171           j = nodes[n];
-00172           
-00173           _eo1[i] = eo2[j]; // insert subtree
-00174           
-00175           // no more pruning
-00176           /*
-00177           _eo1.pruneTree(max_length);
-00178           */
-00179 
-00180     return true;
-00181   }
-00182 
-00183 private :
-00184 
-00185   unsigned max_length;
-00186   eoInit<EoType>& initializer;
-00187 };
-00188 
-00189 
-00194 template<class FType, class Node>
-00195 class eoStPointMutation: public eoMonOp< eoParseTree<FType, Node> >
-00196 {
-00197 public:
-00198 
-00199   typedef eoParseTree<FType,Node> EoType;
-00200 
-00205   eoStPointMutation( std::vector<Node>& _node)
-00206     : eoMonOp<EoType>()
-00207   {
-00208         unsigned int i=0;
-00209         int arity=0;
-00210         int type=0;
-00211         std::vector<Node> node_std::vector;
-00212         for(i=0; i < _node.size(); i++)
-00213         {
-00214                 arity = _node[i].arity();
-00215                 type = _node[i].type();
-00216                 
-00217                         node_std::vector = node[type][arity];
-00218                         node_std::vector.push_back(_node[i]);
-00219                         node[type][arity]= node_std::vector;
-00220                 
-00221         };
-00222   };
-00223   
-00225   virtual std::string className() const { return "eoStPointMutation"; };
-00226 
-00228   virtual ~eoStPointMutation() {};
-00229 
-00234   bool operator()(EoType& _eo1 )
-00235   {
-00236         // select a random node i that is to be mutated
-00237         int i = rng.random(_eo1.size());
-00238         int arity = _eo1[i].arity();
-00239         int type = _eo1[i]->type();
-00240         int j = rng.random(node[type][arity].size());
-00241 
-00242         
-00243         _eo1[i] = node[type][arity][j];
-00244         return true;
-00245   }
-00246 
-00247 private :
-00248         
-00249         map < int, map < int, std::vector<Node> > > node;
-00250 };
-00251 
-00252  
-00257 template<class FType, class Node>
-00258 class eoStHoistMutation: public eoMonOp< eoParseTree<FType, Node> >
-00259 {
-00260 public:
-00261 
-00262   typedef eoParseTree<FType,Node> EoType;
-00268   eoStHoistMutation(eoInit<EoType>& _init, unsigned _max_length)
-00269     : eoMonOp<EoType>(), max_length(_max_length), initializer(_init)
-00270   {};
-00271   
-00273   virtual std::string className() const { return "eoStHoistMutation"; };
-00274 
-00276   virtual ~eoStHoistMutation() {};
-00277   
-00282   bool operator()(EoType& _eo1 )
-00283   {
-00284 
-00285           std::vector<int> nodes;
-00286           // get the type of the current tree
-00287           int type = _eo1[ _eo1.size() - 1 ]->type();
-00288 
-00289         
-00290           
-00291           do
-00292           {
-00293                 initializer(eo2);
-00294                 get_possible_nodes(eo2, nodes, type);
-00295           }while (nodes.empty());       
-00296           
-00297           // select a subtree-node to replace the current tree
-00298           int n = rng.random(nodes.size());
-00299           int i = nodes[n];
-00300           
-00301           EoType eo2(_eo1[i]);
-00302           
-00303           _eo1 = eo2;
-00304 
-00305           return true;
-00306   }
-00307 
-00308 private :
-00309 
-00310   unsigned max_length;
-00311   eoInit<EoType>& initializer;
-00312 };
-00313 
-00314 
-00315 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_stat_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_stat_8h-source.html deleted file mode 100644 index 02b49325e..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_stat_8h-source.html +++ /dev/null @@ -1,414 +0,0 @@ - - -EO: eoStat.h Source File - - - - - -

eoStat.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoStat.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoStat_h
-00028 #define _eoStat_h
-00029 
-00030 #include <numeric> // accumulate
-00031 
-00032 #include <eoFunctor.h>
-00033 #include <utils/eoParam.h>
-00034 #include <eoPop.h>
-00035 #include <eoParetoFitness.h>
-00036 
-00044 template <class EOT>
-00045 class eoStatBase : public eoUF<const eoPop<EOT>&, void>
-00046 {
-00047 public:
-00048   virtual void lastCall(const eoPop<EOT>&) {}
-00049   virtual std::string className(void) const { return "eoStatBase"; }
-00050 };
-00051 
-00057 template <class EOT, class T>
-00058 class eoStat : public eoValueParam<T>, public eoStatBase<EOT>
-00059 {
-00060 public:
-00061 
-00062     eoStat(T _value, std::string _description)
-00063         : eoValueParam<T>(_value, _description)
-00064         {}
-00065 
-00066     virtual std::string className(void) const
-00067         { return "eoStat"; }
-00068 };
-00069 
-00070 
-00071 
-00075 template <class EOT>
-00076 class eoSortedStatBase : public eoUF<const std::vector<const EOT*>&, void>
-00077 {
-00078 public:
-00079   virtual void lastCall(const std::vector<const EOT*>&) {}
-00080   virtual std::string className(void) const { return "eoSortedStatBase"; }
-00081 };
-00082 
-00088 template <class EOT, class ParamType>
-00089 class eoSortedStat : public eoSortedStatBase<EOT>, public eoValueParam<ParamType>
-00090 {
-00091 public :
-00092   eoSortedStat(ParamType _value, std::string _desc) : eoValueParam<ParamType>(_value, _desc) {}
-00093   virtual std::string className(void) const { return "eoSortedStat"; }
-00094 };
-00095 
-00105 #ifdef _MSC_VER
-00106 template <class EOT> class eoAverageStat : public eoStat<EOT, EOT::Fitness>
-00107 #else
-00108 template <class EOT> class eoAverageStat : public eoStat<EOT, typename EOT::Fitness>
-00109 #endif
-00110 {
-00111 public :
-00112 
-00113     using eoStat<EOT, typename EOT::Fitness>::value;
-00114 
-00115     typedef typename EOT::Fitness Fitness;
-00116 
-00117     eoAverageStat(std::string _description = "Average Fitness")
-00118       : eoStat<EOT, Fitness>(Fitness(), _description) {}
-00119 
-00120     static Fitness sumFitness(double _sum, const EOT& _eot){
-00121         _sum += _eot.fitness();
-00122         return _sum;
-00123     }
-00124 
-00125     eoAverageStat(double _value, std::string _desc) : eoStat<EOT, double>(_value, _desc) {}
-00126 
-00127     virtual void operator()(const eoPop<EOT>& _pop){
-00128       doit(_pop, Fitness()); // specializations for scalar and std::vector
-00129     }
-00130 
-00131   virtual std::string className(void) const { return "eoAverageStat"; }
-00132 
-00133 private :
-00134 
-00135     // Specialization for pareto fitness
-00136     template <class T>
-00137     void doit(const eoPop<EOT>& _pop, eoParetoFitness<T>)
-00138     {
-00139       value().clear();
-00140       value().resize(_pop[0].fitness().size(), 0.0);
-00141 
-00142       for (unsigned o = 0; o < value().size(); ++o)
-00143       {
-00144         for (unsigned i = 0; i < _pop.size(); ++i)
-00145         {
-00146           value()[o] += _pop[i].fitness()[o];
-00147         }
-00148 
-00149         value()[o] /= _pop.size();
-00150       }
-00151     }
-00152 
-00153     // Default behavior
-00154     template <class T>
-00155     void doit(const eoPop<EOT>& _pop, T)
-00156     {
-00157         Fitness v = std::accumulate(_pop.begin(), _pop.end(), Fitness(0.0), eoAverageStat::sumFitness);
-00158 
-00159         value() = v / _pop.size();
-00160     }
-00161 
-00162 };
-00163 
-00167 template <class EOT>
-00168 class eoSecondMomentStats : public eoStat<EOT, std::pair<double, double> >
-00169 {
-00170 public :
-00171 
-00172     using eoStat<EOT, std::pair<double, double> >::value;
-00173 
-00174     typedef typename EOT::Fitness fitness_type;
-00175 
-00176     typedef std::pair<double, double> SquarePair;
-00177 
-00178     eoSecondMomentStats(std::string _description = "Average & Stdev")
-00179         : eoStat<EOT, SquarePair>(std::make_pair(0.0,0.0), _description)
-00180         {}
-00181 
-00182     static SquarePair sumOfSquares(SquarePair _sq, const EOT& _eo)
-00183     {
-00184         double fitness = _eo.fitness();
-00185 
-00186         _sq.first += fitness;
-00187         _sq.second += fitness * fitness;
-00188         return _sq;
-00189     }
-00190 
-00191     virtual void operator()(const eoPop<EOT>& _pop)
-00192     {
-00193         SquarePair result = std::accumulate(_pop.begin(), _pop.end(), std::make_pair(0.0, 0.0), eoSecondMomentStats::sumOfSquares);
-00194 
-00195         double n = _pop.size();
-00196         value().first = result.first / n; // average
-00197         value().second = sqrt( (result.second - n * value().first * value().first) / (n - 1.0)); // stdev
-00198     }
-00199 
-00200   virtual std::string className(void) const { return "eoSecondMomentStats"; }
-00201 };
-00202 
-00206 #ifdef _MSC_VER
-00207 template <class EOT>
-00208 class eoNthElementFitnessStat : public eoSortedStat<EOT, EOT::Fitness >
-00209 #else
-00210 template <class EOT>
-00211 class eoNthElementFitnessStat : public eoSortedStat<EOT, typename EOT::Fitness >
-00212 #endif
-00213 {
-00214 public :
-00215     using eoSortedStat<EOT, typename EOT::Fitness >::value;
-00216 
-00217     typedef typename EOT::Fitness Fitness;
-00218 
-00219     eoNthElementFitnessStat(unsigned _whichElement, std::string _description = "nth element fitness")
-00220       : eoSortedStat<EOT, Fitness>(Fitness(), _description), whichElement(_whichElement) {}
-00221 
-00222     virtual void operator()(const std::vector<const EOT*>& _pop)
-00223     {
-00224         if (whichElement > _pop.size())
-00225             throw std::logic_error("fitness requested of element outside of pop");
-00226 
-00227         doit(_pop, Fitness());
-00228     }
-00229 
-00230   virtual std::string className(void) const { return "eoNthElementFitnessStat"; }
-00231 private :
-00232 
-00233     struct CmpFitness
-00234     {
-00235       CmpFitness(unsigned _whichElement, bool _maxim) : whichElement(_whichElement), maxim(_maxim) {}
-00236 
-00237       bool operator()(const EOT* a, const EOT* b)
-00238       {
-00239         if (maxim)
-00240           return a->fitness()[whichElement] > b->fitness()[whichElement];
-00241 
-00242         return a->fitness()[whichElement] < b->fitness()[whichElement];
-00243       }
-00244 
-00245       unsigned whichElement;
-00246       bool maxim;
-00247     };
-00248 
-00249     // Specialization for eoParetoFitness
-00250     template <class T>
-00251     void doit(const eoPop<EOT>& _pop, eoParetoFitness<T>)
-00252     {
-00253       typedef typename EOT::Fitness::fitness_traits traits;
-00254 
-00255       value().resize(traits::nObjectives());
-00256 
-00257       // copy of pointers, what the heck
-00258       std::vector<const EOT*> tmp_pop = _pop;
-00259 
-00260       for (unsigned o = 0; o < value().size(); ++o)
-00261       {
-00262         typename std::vector<const EOT*>::iterator nth = tmp_pop.begin() + whichElement;
-00263         std::nth_element(tmp_pop.begin(), nth, tmp_pop.end(), CmpFitness(o, traits::maximizing(o)));
-00264         value()[o] = (*nth)->fitness()[o];
-00265       }
-00266     }
-00267 
-00268     // for everything else
-00269     template <class T>
-00270     void doit(const std::vector<const EOT*>& _pop, T)
-00271     {
-00272       value() = _pop[whichElement]->fitness();
-00273     }
-00274 
-00275     unsigned whichElement;
-00276 };
-00277 
-00278 /* Actually, you shouldn't need to sort the population to get the best fitness
-00279    MS - 17/11/00
-00280 
-00281    But then again, if another stat needs sorted fitness anyway, getting the best
-00282    out would be very fast.
-00283    MK - 09/01/03
-00284 
-00285 template <class EOT>
-00286 class eoBestFitnessStat : public eoStat<EOT, typename EOT::Fitness >
-00287 {
-00288 public :
-00289     typedef typename EOT::Fitness Fitness;
-00290 
-00291     eoBestFitnessStat(std::string _description = "Best Fitness") :
-00292       eoStat<EOT, Fitness>(Fitness(), _description) {}
-00293 
-00294     virtual void operator()(const eoPop<EOT>& _pop)
-00295     {
-00296         value() = _pop.nth_element_fitness(0);
-00297     }
-00298 
-00299 };
-00300 */
-00301 
-00311 #ifdef _MSC_VER
-00312 template <class EOT>
-00313 class eoBestFitnessStat : public eoStat<EOT, EOT::Fitness>
-00314 #else
-00315 template <class EOT>
-00316 class eoBestFitnessStat : public eoStat<EOT, typename EOT::Fitness>
-00317 #endif
-00318 {
-00319 public:
-00320 
-00321     using eoStat<EOT, typename EOT::Fitness>::value;
-00322 
-00323     typedef typename EOT::Fitness Fitness;
-00324 
-00325     eoBestFitnessStat(std::string _description = "Best ")
-00326         : eoStat<EOT, Fitness>(Fitness(), _description)
-00327         {}
-00328 
-00329     void operator()(const eoPop<EOT>& _pop) {
-00330         doit(_pop, Fitness() ); // specializations for scalar and std::vector
-00331     }
-00332 
-00333     virtual std::string className(void) const { return "eoBestFitnessStat"; }
-00334 
-00335 
-00336 private :
-00337 
-00338     struct CmpFitness
-00339     {
-00340       CmpFitness(unsigned _which, bool _maxim) : which(_which), maxim(_maxim) {}
-00341 
-00342       bool operator()(const EOT& a, const EOT& b)
-00343       {
-00344         if (maxim)
-00345           return a.fitness()[which] < b.fitness()[which];
-00346 
-00347         return a.fitness()[which] > b.fitness()[which];
-00348       }
-00349 
-00350       unsigned which;
-00351       bool maxim;
-00352     };
-00353 
-00354     // Specialization for pareto fitness
-00355     template <class T>
-00356     void doit(const eoPop<EOT>& _pop, eoParetoFitness<T>)
-00357     {
-00358       typedef typename EOT::Fitness::fitness_traits traits;
-00359       value().resize(traits::nObjectives());
-00360 
-00361       for (unsigned o = 0; o < traits::nObjectives(); ++o)
-00362       {
-00363         typename eoPop<EOT>::const_iterator it = std::max_element(_pop.begin(), _pop.end(), CmpFitness(o, traits::maximizing(o)));
-00364         value()[o] = it->fitness()[o];
-00365       }
-00366     }
-00367 
-00368     // default
-00369     template<class T>
-00370     void doit(const eoPop<EOT>& _pop, T)
-00371     { // find the largest elements
-00372       value() = _pop.best_element().fitness();
-00373     }
-00374 
-00375 };
-00376 
-00377 template <class EOT>
-00378 class eoDistanceStat : public eoStat<EOT, double>
-00379 {
-00380 public:
-00381 
-00382     using eoDistanceStat< EOT >::value;
-00383 
-00384     eoDistanceStat(std::string _name = "distance")
-00385         : eoStat<EOT, double>(0.0, _name)
-00386         {}
-00387 
-00388     template <class T>
-00389     double distance(T a, T b)
-00390     {
-00391         T res = a-b;
-00392         return res < 0? -res : res;
-00393     }
-00394 
-00395     double distance(bool a, bool b)
-00396     {
-00397         return (a==b)? 0 : 1;
-00398     }
-00399 
-00400     void operator()(const eoPop<EOT>& _pop)
-00401     {
-00402         double& v = value();
-00403         v = 0.0;
-00404 
-00405         for (unsigned i = 0; i < _pop.size(); ++i)
-00406         {
-00407             for (unsigned j = 0; j < _pop.size(); ++j)
-00408             {
-00409                 for (unsigned k = 0; k < _pop[i].size(); ++k)
-00410                 {
-00411                     v += distance(_pop[i][k], _pop[j][k]);
-00412                 }
-00413             }
-00414         }
-00415 
-00416         double sz = _pop.size();
-00417         v /= sz * sz * _pop[0].size();
-00418     }
-00419   virtual std::string className(void) const { return "eoDistanceStat"; }
-00420 
-00421 };
-00422 
-00423 
-00424 
-00425 /*
-00426 template <class EOT>
-00427 class eoStdevStat : public eoStat<EOT, double >
-00428 {
-00429 public :
-00430     typedef typename eoSecondMomentStats<EOT>::SquarePair SquarePair;
-00431 
-00432     eoStdevStat(std::string _description = "Stdev") : eoStat<EOT, double>(0.0, _description) {}
-00433 
-00434     virtual void operator()(const eoPop<EOT>& _pop)
-00435     {
-00436         SquarePair result = std::accumulate(pop.begin(), pop.end(), std::make_pair(0.0, 0.0), eoSecondMomentStats::sumOfSquares);
-00437 
-00438         double n = pop.size();
-00439         value() = sqrt( (result.second - (result.first / n)) / (n - 1.0)); // stdev
-00440     }
-00441 };
-00442 */
-00443 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_state_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_state_8cpp-source.html deleted file mode 100644 index 855bdaa2a..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_state_8cpp-source.html +++ /dev/null @@ -1,210 +0,0 @@ - - -EO: eoState.cpp Source File - - - - - -

eoState.cpp

00001 #ifdef _MSC_VER
-00002 #pragma warning(disable:4786)
-00003 #endif
-00004 
-00005 #ifdef HAVE_CONFIG_H
-00006 #include <config.h>
-00007 #endif
-00008 
-00009 #include <algorithm>
-00010 #include <fstream>
-00011 #include <sstream>
-00012 
-00013 #include "eoState.h"
-00014 #include "eoObject.h"
-00015 #include "eoPersistent.h"
-00016 
-00017 using namespace std;
-00018 
-00019 
-00020 
-00021 void removeComment(string& str, string comment)
-00022 {
-00023     string::size_type pos = str.find(comment);
-00024 
-00025     if (pos != string::npos)
-00026     {
-00027         str.erase(pos, str.size());
-00028     }
-00029 }
-00030 
-00031 bool is_section(const string& str, string& name)
-00032 {
-00033     string::size_type pos = str.find("\\section{");
-00034 
-00035     if (pos == string::npos)
-00036         return false;
-00037     //else
-00038 
-00039     string::size_type end = str.find("}");
-00040 
-00041     if (end == string::npos)
-00042         return false;
-00043     // else
-00044 
-00045     name = str.substr(pos + 9, end-9);
-00046 
-00047     return true;
-00048 }
-00049 
-00050 eoState::~eoState(void)
-00051 {
-00052     for (unsigned i = 0; i < ownedObjects.size(); ++i)
-00053     {
-00054         delete ownedObjects[i];
-00055     }
-00056 }
-00057 
-00058 void eoState::registerObject(eoPersistent& registrant)
-00059 {
-00060     string name = createObjectName(dynamic_cast<eoObject*>(&registrant));
-00061 
-00062     pair<ObjectMap::iterator,bool> res = objectMap.insert(make_pair(name, &registrant));
-00063 
-00064     if (res.second == true)
-00065     {
-00066         creationOrder.push_back(res.first);
-00067     }
-00068     else
-00069     {
-00070         throw logic_error("Interval error: object already present in the state");
-00071     }
-00072 }
-00073 
-00074 void eoState::load(const string& _filename)
-00075 {
-00076     ifstream is (_filename.c_str());
-00077 
-00078     if (!is)
-00079     {
-00080         string str = "Could not open file " + _filename;
-00081         throw runtime_error(str);
-00082     }
-00083 
-00084     load(is);
-00085 }
-00086 
-00087 void eoState::load(std::istream& is)
-00088 {
-00089     string str;
-00090     string name;
-00091 
-00092     getline(is, str);
-00093 
-00094     if (is.fail())
-00095     {
-00096         string str = "Error while reading stream";
-00097         throw runtime_error(str);
-00098     }
-00099 
-00100     while(! is.eof())
-00101     { // parse section header
-00102         if (is_section(str, name))
-00103         {
-00104             string fullString;
-00105             ObjectMap::iterator it = objectMap.find(name);
-00106 
-00107             if (it == objectMap.end())
-00108             { // ignore
-00109                 while (getline(is, str))
-00110                 {
-00111                     if (is_section(str, name))
-00112                         break;
-00113                 }
-00114             }
-00115             else
-00116             {
-00117 
-00118                 eoPersistent* object = it->second;
-00119 
-00120                 // now we have the object, get lines, remove comments etc.
-00121 
-00122                 string fullstring;
-00123 
-00124                 while (getline(is, str))
-00125                 {
-00126                   if (is.eof())
-00127                     throw runtime_error("No section in load file");
-00128                   if (is_section(str, name))
-00129                     break;
-00130 
-00131                     removeComment(str, getCommentString());
-00132                     fullstring += str + "\n";
-00133                 }
-00134                 istringstream the_stream(fullstring);
-00135                 object->readFrom(the_stream);
-00136             }
-00137         }
-00138         else // if (is_section(str, name)) - what if file empty
-00139           {
-00140             getline(is, str);   // try next line!
-00141             //      if (is.eof())
-00142             //        throw runtime_error("No section in load file");
-00143           }
-00144     }
-00145 
-00146 }
-00147 
-00148 void eoState::save(const string& filename) const
-00149 { // saves in order of insertion
-00150     ofstream os(filename.c_str());
-00151 
-00152     if (!os)
-00153     {
-00154         string msg = "Could not open file: " + filename + " for writing!";
-00155         throw runtime_error(msg);
-00156     }
-00157 
-00158     save(os);
-00159 }
-00160 
-00161 void eoState::save(std::ostream& os) const
-00162 { // saves in order of insertion
-00163     for (vector<ObjectMap::iterator>::const_iterator it = creationOrder.begin(); it != creationOrder.end(); ++it)
-00164     {
-00165         os << "\\section{" << (*it)->first << "}\n";
-00166         (*it)->second->printOn(os);
-00167         os << '\n';
-00168     }
-00169 }
-00170 
-00171 string eoState::createObjectName(eoObject* obj)
-00172 {
-00173     if (obj == 0)
-00174     {
-00175         ostringstream os;
-00176         os << objectMap.size();
-00177         return os.str();
-00178     }
-00179     // else
-00180 
-00181     string name = obj->className();
-00182     ObjectMap::const_iterator it = objectMap.find(name);
-00183 
-00184     unsigned count = 1;
-00185     while (it != objectMap.end())
-00186     {
-00187         ostringstream os;
-00188         os << obj->className().c_str() << count++;
-00189         name = os.str();
-00190         it = objectMap.find(name);
-00191     }
-00192 
-00193     return name;
-00194 }
-00195 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_state_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_state_8h-source.html deleted file mode 100644 index a1d2586a9..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_state_8h-source.html +++ /dev/null @@ -1,105 +0,0 @@ - - -EO: eoState.h Source File - - - - - -

eoState.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoState.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoState_h
-00028 #define eoState_h
-00029 
-00030 #include <stdexcept>
-00031 #include <string>
-00032 #include <map>
-00033 #include <vector>
-00034 
-00035 #include <eoFunctorStore.h>
-00036 
-00037 class eoObject;
-00038 class eoPersistent;
-00039 
-00054 class eoState : public eoFunctorStore
-00055 {
-00056 public :
-00057 
-00058     eoState(void) {}
-00059 
-00060     ~eoState(void);
-00061 
-00065     void registerObject(eoPersistent& registrant);
-00066 
-00072     template <class T>
-00073     T&   takeOwnership(const T& persistent)
-00074     {
-00075         // If the compiler budges here, T is not a subclass of eoPersistent
-00076         ownedObjects.push_back(new T(persistent));
-00077         return static_cast<T&>(*ownedObjects.back());
-00078     }
-00079 
-00083     struct loading_error : public std::runtime_error
-00084     {
-00085         loading_error(std::string huh = "Error while loading") : std::runtime_error(huh) {}
-00086     };
-00087 
-00088     std::string getCommentString(void) const { return "#"; }
-00089 
-00095     void load(const std::string& _filename);
-00096 
-00102     void load(std::istream& is);
-00103 
-00109     void save(const std::string& _filename) const;
-00110 
-00116     void save(std::ostream& os) const;
-00117 
-00118 private :
-00119     std::string createObjectName(eoObject* obj);
-00120 
-00121     // first is Persistent, second is the raw data associated with it.
-00122     typedef std::map<std::string, eoPersistent*> ObjectMap;
-00123 
-00124     ObjectMap objectMap;
-00125 
-00126     std::vector<ObjectMap::iterator> creationOrder;
-00127     std::vector<eoPersistent*> ownedObjects;
-00128 
-00129     // private copy and assignment as eoState is supposed to be unique
-00130     eoState(const eoState&);
-00131     eoState& operator=(const eoState&);
-00132 
-00133 };
-00134 
-00135 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_stdout_monitor_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_stdout_monitor_8cpp-source.html deleted file mode 100644 index 174b7aeaf..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_stdout_monitor_8cpp-source.html +++ /dev/null @@ -1,70 +0,0 @@ - - -EO: eoStdoutMonitor.cpp Source File - - - - - -

eoStdoutMonitor.cpp

00001 #ifdef _MSC_VER
-00002 // to avoid long name warnings
-00003 #pragma warning(disable:4786)
-00004 #endif 
-00005 
-00006 #include <iostream>
-00007 #include <fstream>
-00008 #include <stdexcept>
-00009 
-00010 #include <utils/eoStdoutMonitor.h>
-00011 #include <utils/compatibility.h>
-00012 #include <utils/eoParam.h>
-00013 
-00014 using namespace std;
-00015 
-00016 eoMonitor& eoStdoutMonitor::operator()(void)
-00017 {
-00018     if (!cout)
-00019     {
-00020         string str = "eoStdoutMonitor: Could not write to cout";
-00021         throw runtime_error(str);
-00022     }
-00023     if (firsttime)
-00024     {
-00025       if (verbose)
-00026         cout << "First Generation" << endl;
-00027       else
-00028         {
-00029           for(iterator it = vec.begin(); it != vec.end(); ++it)
-00030             {
-00031               cout << (*it)->longName() << delim;
-00032             }
-00033           cout << endl;
-00034         }
-00035         firsttime = false;
-00036     }
-00037     // ok, now the real saving. write out
-00038     if (verbose)
-00039       {
-00040       for(iterator it = vec.begin(); it != vec.end(); ++it)
-00041         {
-00042           cout << (*it)->longName() << ": " << (*it)->getValue() << '\n';
-00043         }
-00044       cout << "\n****** End of Generation ******\n" << endl;
-00045       }
-00046     else                        // a one-liner
-00047       {
-00048         for(iterator it = vec.begin(); it != vec.end(); ++it)
-00049           {
-00050             cout << (*it)->getValue() << delim;
-00051           }
-00052         cout << endl;
-00053       }
-00054     return *this;
-00055 }
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_stdout_monitor_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_stdout_monitor_8h-source.html deleted file mode 100644 index 0f9218b90..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_stdout_monitor_8h-source.html +++ /dev/null @@ -1,64 +0,0 @@ - - -EO: eoStdoutMonitor.h Source File - - - - - -

eoStdoutMonitor.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoStdoutMonitor.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoStdoutMonitor_h
-00028 #define _eoStdoutMonitor_h
-00029 
-00030 #include <string>
-00031 
-00032 #include <utils/eoMonitor.h>
-00033 #include <eoObject.h>
-00034 
-00038 class eoStdoutMonitor : public eoMonitor
-00039 {
-00040 public :
-00041     eoStdoutMonitor(bool _verbose=true, std::string _delim = "\t") : 
-00042       verbose(_verbose), delim(_delim), firsttime(true) {}
-00043     eoMonitor& operator()(void);
-00044 
-00045   virtual std::string className(void) const { return "eoStdoutMonitor"; }
-00046 private :
-00047   bool verbose;
-00048   std::string delim;
-00049   bool firsttime;
-00050 };
-00051 
-00052 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_steady_fit_continue_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_steady_fit_continue_8h-source.html deleted file mode 100644 index 04994046a..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_steady_fit_continue_8h-source.html +++ /dev/null @@ -1,117 +0,0 @@ - - -EO: eoSteadyFitContinue.h Source File - - - - - -

eoSteadyFitContinue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoSteadyFitContinue.h
-00005 // (c) GeNeura Team, 1999, Marc Schoenauer, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoSteadyFitContinue_h
-00026 #define _eoSteadyFitContinue_h
-00027 
-00028 #include <eoContinue.h>
-00029 
-00034 template< class EOT>
-00035 class eoSteadyFitContinue: public eoContinue<EOT>
-00036 {
-00037 public:
-00038   typedef typename EOT::Fitness Fitness;
-00039 
-00041   eoSteadyFitContinue( unsigned long _minGens, unsigned long _steadyGens)
-00042     : repMinGenerations( _minGens ), repSteadyGenerations( _steadyGens),
-00043       steadyState(false), thisGenerationPlaceHolder(0),
-00044       thisGeneration(thisGenerationPlaceHolder){};
-00045         
-00047   eoSteadyFitContinue( unsigned long _minGens, unsigned long _steadyGen,
-00048                  unsigned long& _currentGen)
-00049     : repMinGenerations( _minGens ), repSteadyGenerations( _steadyGen),
-00050       steadyState(_currentGen>_minGens), thisGenerationPlaceHolder(0),
-00051       thisGeneration(_currentGen){};
-00052 
-00055   virtual bool operator() ( const eoPop<EOT>& _vEO ) {
-00056     thisGeneration++;
-00057     //    std::cout << " [" << thisGeneration << "] ";
-00058     Fitness bestCurrentFitness = _vEO.nth_element_fitness(0);
-00059 
-00060     if (steadyState) {     // already after MinGenenerations
-00061       if (bestCurrentFitness > bestSoFar) {
-00062         bestSoFar = bestCurrentFitness;
-00063         lastImprovement = thisGeneration;
-00064       } else {
-00065         if (thisGeneration - lastImprovement > repSteadyGenerations) {
-00066           std::cout << "STOP in eoSteadyFitContinue: Done " << repSteadyGenerations 
-00067                << " generations without improvement\n";
-00068           return false;
-00069         }
-00070       } 
-00071     } else {               // not yet in steady state
-00072       if (thisGeneration > repMinGenerations) { // go to steady state
-00073         steadyState = true;
-00074         bestSoFar = bestCurrentFitness;
-00075         lastImprovement = thisGeneration;
-00076         std::cout << "eoSteadyFitContinue: Done the minimum number of generations\n";
-00077       }
-00078     }
-00079     return true;
-00080   }
-00081 
-00084   virtual void totalGenerations( unsigned long _mg, unsigned long _sg ) { 
-00085     repMinGenerations = _mg; 
-00086     repSteadyGenerations = _sg;
-00087     reset();
-00088   };
-00089 
-00091   virtual void reset () {
-00092     steadyState=false;
-00093     thisGeneration = 0;
-00094   }
-00095 
-00097   virtual unsigned long minGenerations( ) 
-00098   {  return repMinGenerations;  };
-00099   virtual unsigned long steadyGenerations( ) 
-00100   {  return repSteadyGenerations;       };
-00101     
-00102   virtual std::string className(void) const { return "eoSteadyFitContinue"; }
-00103 private:
-00104   unsigned long repMinGenerations;
-00105   unsigned long  repSteadyGenerations;
-00106   bool steadyState;
-00107   unsigned long thisGenerationPlaceHolder;
-00108   unsigned long& thisGeneration;
-00109   unsigned int lastImprovement;
-00110   Fitness bestSoFar;
-00111 };
-00112 
-00113 #endif
-00114 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_stoch_tournament_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_stoch_tournament_select_8h-source.html deleted file mode 100644 index 654a41189..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_stoch_tournament_select_8h-source.html +++ /dev/null @@ -1,83 +0,0 @@ - - -EO: eoStochTournamentSelect.h Source File - - - - - -

eoStochTournamentSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoStochTournamentSelect.h
-00005 // (c) GeNeura Team, 1998 - EEAAX 1999
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef eoStochTournamentSelect_h
-00027 #define eoStochTournamentSelect_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <functional>
-00032 #include <numeric>           // accumulate
-00033 #include <eoSelectOne.h>     // eoSelectOne
-00034 #include <utils/selectors.h> // stochastic_tournament
-00035 
-00036 //-----------------------------------------------------------------------------
-00040 //-----------------------------------------------------------------------------
-00041 
-00042 template <class EOT> class eoStochTournamentSelect: public eoSelectOne<EOT>
-00043 {
-00044  public:
-00045 
-00047   eoStochTournamentSelect(double _Trate = 1.0 ) : eoSelectOne<EOT>(), Trate(_Trate) 
-00048   {
-00049     // consistency checks
-00050     if (Trate < 0.5) {
-00051       std::cerr << "Warning, Tournament rate should be > 0.5\nAdjusted to 0.55\n";
-00052       Trate = 0.55;
-00053     }
-00054     if (Trate > 1) {
-00055       std::cerr << "Warning, Tournament rate should be < 1\nAdjusted to 1\n";
-00056       Trate = 1;
-00057     }
-00058   }
-00059   
-00061   virtual const EOT& operator()(const eoPop<EOT>& pop) 
-00062   {
-00063       return stochastic_tournament(pop, Trate);
-00064   }
-00065   
-00066 private:
-00067   double Trate;
-00068 };
-00069 
-00070 //-----------------------------------------------------------------------------
-00071 
-00072 #endif
-00073 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_stochastic_universal_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_stochastic_universal_select_8h-source.html deleted file mode 100644 index 56528e80d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_stochastic_universal_select_8h-source.html +++ /dev/null @@ -1,117 +0,0 @@ - - -EO: eoStochasticUniversalSelect.h Source File - - - - - -

eoStochasticUniversalSelect.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoStochasticUniversalSelect.h
-00005 // (c) Maarten Keijzer 2003
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@cs.vu.nl
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef eoStochasticUniversalSelect_h
-00028 #define eoStochasticUniversalSelect_h
-00029 
-00030 //-----------------------------------------------------------------------------
-00031 
-00032 #include <utils/eoRNG.h>
-00033 #include <eoSelectOne.h>
-00034 #include <utils/selectors.h>
-00035 #include <eoPop.h>
-00036 
-00037 //-----------------------------------------------------------------------------
-00042 //-----------------------------------------------------------------------------
-00043 
-00044 template <class EOT> class eoStochasticUniversalSelect: public eoSelectOne<EOT>
-00045 {
-00046 public:
-00048   eoStochasticUniversalSelect(const eoPop<EOT>& pop = eoPop<EOT>())
-00049   {
-00050     if (minimizing_fitness<EOT>())
-00051       throw std::logic_error("eoStochasticUniversalSelect: minimizing fitness");
-00052   }
-00053 
-00054   void setup(const eoPop<EOT>& _pop)
-00055   {
-00056       if (_pop.size() == 0) return;
-00057 
-00058       std::vector<typename EOT::Fitness> cumulative(_pop.size());
-00059 
-00060       cumulative[0] = _pop[0].fitness();
-00061       for (unsigned i = 1; i < _pop.size(); ++i)
-00062       {
-00063           cumulative[i] = _pop[i].fitness() + cumulative[i-1];
-00064       }
-00065 
-00066       indices.reserve(_pop.size());
-00067       indices.resize(0);
-00068 
-00069       double fortune = rng.uniform() * cumulative.back();
-00070       double step = cumulative.back() / double(_pop.size());
-00071 
-00072       unsigned i = std::upper_bound(cumulative.begin(), cumulative.end(), fortune) - cumulative.begin();
-00073 
-00074       while (indices.size() < _pop.size()) {
-00075 
-00076           while (cumulative[i] < fortune) {i++;} // linear search is good enough as we average one step each time
-00077 
-00078           indices.push_back(i);
-00079           fortune += step;
-00080           if (fortune >= cumulative.back()) { // start at the beginning
-00081               fortune -= cumulative.back();
-00082               i = 0;
-00083           }
-00084       }
-00085       // shuffle
-00086       for (int i = indices.size() - 1; i > 0; --i) {
-00087           int j = rng.random(i+1);
-00088           std::swap(indices[i], indices[j]);
-00089       }
-00090   }
-00091 
-00094   const EOT& operator()(const eoPop<EOT>& _pop)
-00095   {
-00096       if (indices.empty()) setup(_pop);
-00097 
-00098       unsigned index = indices.back();
-00099       indices.pop_back();
-00100       return _pop[index];
-00101   }
-00102 
-00103 private :
-00104 
-00105   typedef std::vector<unsigned> IndexVec;
-00106   IndexVec indices;
-00107 };
-00108 
-00109 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_string_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_string_8h-source.html deleted file mode 100644 index b03b9478b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_string_8h-source.html +++ /dev/null @@ -1,85 +0,0 @@ - - -EO: eoString.h Source File - - - - - -

eoString.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoString.h
-00005 // (c) GeNeura Team, 1998
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoString_H
-00026 #define _eoString_H
-00027 
-00028 // STL libraries
-00029 #include <iostream>
-00030 #include <string>
-00031 #include <stdexcept>
-00032 
-00033 
-00034 #include <EO.h>
-00035 
-00036 //-----------------------------------------------------------------------------
-00037 // eoString
-00038 //-----------------------------------------------------------------------------
-00039 
-00041 template <class fitnessT >
-00042 class eoString: public EO<fitnessT>, public std::string
-00043 {
-00044 public:
-00045 
-00046     typedef char Type;
-00047     typedef char AtomType;
-00048     typedef std::string   ContainerType;
-00049 
-00050 
-00052 
-00053 
-00054   eoString( const std::string& _str ="" )
-00055     : std::string( _str ) {};
-00056 
-00058   virtual void printOn(std::ostream& os) const
-00059   {
-00060     EO<fitnessT>::printOn(os);
-00061     os << ' ';
-00062 
-00063     os << size() << ' ' << substr() << std::endl;
-00064 
-00065   }
-00066 
-00074   virtual std::string className() const {return "eoString";};
-00076 
-00077 
-00078 };
-00079 
-00080 #endif
-00081 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_survive_and_die_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_survive_and_die_8h-source.html deleted file mode 100644 index 45c92656e..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_survive_and_die_8h-source.html +++ /dev/null @@ -1,150 +0,0 @@ - - -EO: eoSurviveAndDie.h Source File - - - - - -

eoSurviveAndDie.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoSurviveAndDie_h
-00028 #define _eoSurviveAndDie_h
-00029 
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 #include <eoPop.h>
-00033 #include <eoFunctor.h>
-00034 #include <eoMerge.h>
-00035 #include <eoReduce.h>
-00036 #include <utils/eoHowMany.h>
-00037 //-----------------------------------------------------------------------------
-00038 
-00052 template <class EOT>
-00053 class eoSurviveAndDie : public eoBF<eoPop<EOT> &, eoPop<EOT> &, void>
-00054 {
-00055 public:
-00056     eoSurviveAndDie(double _survive, double _die, bool _interpret_as_rate = true):
-00057         howmanySurvive(_survive, _interpret_as_rate),
-00058         howmanyDie(_die, _interpret_as_rate)
-00059     {}
-00060 
-00061 protected:
-00062     eoHowMany howmanySurvive;
-00063     eoHowMany howmanyDie;
-00064 
-00065 };
-00066 
-00072 template <class EOT>
-00073 class eoDeterministicSurviveAndDie : public eoSurviveAndDie<EOT>
-00074 {
-00075 public:
-00076 
-00077     using eoSurviveAndDie< EOT >::howmanyDie;
-00078     using eoSurviveAndDie< EOT >::howmanySurvive;
-00079 
-00081     eoDeterministicSurviveAndDie(double _survive, double _die, bool _interpret_as_rate = true)
-00082         : eoSurviveAndDie< EOT >(_survive, _die, _interpret_as_rate)
-00083     {}
-00084 
-00085 
-00086     void operator()(eoPop<EOT> & _pop, eoPop<EOT> & _luckyGuys)
-00087     {
-00088         unsigned pSize = _pop.size();
-00089         unsigned nbSurvive = howmanySurvive(pSize);
-00090         // first, save the best into _luckyGuys
-00091         if (nbSurvive)
-00092             {
-00093                 _pop.nth_element(nbSurvive);
-00094                 // copy best
-00095                 _luckyGuys.resize(nbSurvive);
-00096                 std::copy(_pop.begin(), _pop.begin()+nbSurvive, _luckyGuys.begin());
-00097                 // erase them from pop
-00098                 _pop.erase(_pop.begin(), _pop.begin()+nbSurvive);
-00099             }
-00100         unsigned nbRemaining = _pop.size();
-00101 
-00102         // carefull, we can have a rate of 1 if we want to kill all remaining
-00103         unsigned nbDie = std::min(howmanyDie(pSize), pSize-nbSurvive);
-00104         if (nbDie > nbRemaining)
-00105             throw std::logic_error("eoDeterministicSurviveAndDie: Too many to kill!\n");
-00106 
-00107         if (!nbDie)
-00108           {
-00109             return;
-00110           }
-00111         // else
-00112         // kill the worse nbDie
-00113         _pop.nth_element(nbRemaining-nbDie);
-00114         _pop.resize(nbRemaining-nbDie);
-00115     }
-00116 
-00117 };
-00118 
-00131 template <class EOT>
-00132 class eoDeterministicSaDReplacement : public eoReplacement<EOT>
-00133 {
-00134 public:
-00136   eoDeterministicSaDReplacement(eoReduce<EOT>& _reduceGlobal,
-00137                  double _surviveParents, double _dieParents=0,
-00138                  double _surviveOffspring=0, double _dieOffspring=0,
-00139                  bool _interpret_as_rate = true ) :
-00140         reduceGlobal(_reduceGlobal),
-00141         sAdParents(_surviveParents, _dieParents, _interpret_as_rate),
-00142         sAdOffspring(_surviveOffspring, _dieOffspring, _interpret_as_rate)
-00143     {}
-00144 
-00146     eoDeterministicSaDReplacement(
-00147                  double _surviveParents, double _dieParents=0,
-00148                  double _surviveOffspring=0, double _dieOffspring=0,
-00149                  bool _interpret_as_rate = true ) :
-00150         reduceGlobal(truncate),
-00151         sAdParents(_surviveParents, _dieParents, _interpret_as_rate),
-00152         sAdOffspring(_surviveOffspring, _dieOffspring, _interpret_as_rate)
-00153     {}
-00154 
-00155     void operator()(eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00156     {
-00157         unsigned pSize = _parents.size(); // target number of individuals
-00158 
-00159         eoPop<EOT> luckyParents;       // to hold the absolute survivors
-00160         sAdParents(_parents, luckyParents);
-00161 
-00162         eoPop<EOT> luckyOffspring;       // to hold the absolute survivors
-00163         sAdOffspring(_offspring, luckyOffspring);
-00164 
-00165         unsigned survivorSize = luckyOffspring.size() + luckyParents.size();
-00166         if (survivorSize > pSize)
-00167             throw std::logic_error("eoGeneralReplacement: More survivors than parents!\n");
-00168 
-00169         plus(_parents, _offspring); // all that remain in _offspring
-00170 
-00171         reduceGlobal(_offspring, pSize - survivorSize);
-00172         plus(luckyParents, _offspring);
-00173         plus(luckyOffspring, _offspring);
-00174 
-00175         _parents.swap(_offspring);
-00176 
-00177     }
-00178 
-00179 private :
-00180   eoReduce<EOT>& reduceGlobal;
-00181   eoDeterministicSurviveAndDie<EOT> sAdParents;
-00182   eoDeterministicSurviveAndDie<EOT> sAdOffspring;
-00183   // plus helper (could be replaced by operator+= ???)
-00184   eoPlus<EOT> plus;
-00185   // the default reduce: deterministic truncation
-00186   eoTruncate<EOT> truncate;
-00187 };
-00188 
-00189 
-00190 
-00191 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_8h-source.html deleted file mode 100644 index 17e348419..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_8h-source.html +++ /dev/null @@ -1,80 +0,0 @@ - - -EO: eoSym.h Source File - - - - - -

eoSym.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef EOSYM_H_
-00019 #define EOSYM_H_
-00020 
-00021 #include <EO.h>
-00022 #include <Sym.h>
-00023 #include <FunDef.h>
-00024 
-00025 
-00026 template <class Fitness>
-00027 class EoSym : public EO<Fitness>, public Sym {
-00028 
-00029     public:
-00030         
-00031         void set(const Sym& sym) {
-00032             EO<Fitness>::invalidate();
-00033             static_cast<Sym*>(this)->operator=(sym);
-00034         }
-00035 
-00036         Sym& get()      { return static_cast<Sym&>(*this); };
-00037         Sym get() const { return static_cast<Sym&>(*this); };
-00038         
-00039         virtual void printOn(std::ostream& os) const;
-00040         virtual void readFrom(std::istream& is);
-00041 };
-00042 
-00043 
-00044 template <class Fitness>
-00045 void EoSym<Fitness>::printOn(std::ostream& os) const {
-00046     EO<Fitness>::printOn(os);
-00047     os << ' ';
-00048     write_raw(os, *this);
-00049 }
-00050 
-00051 template <class Fitness>
-00052 void EoSym<Fitness>::readFrom(std::istream& is) {
-00053     EO<Fitness>::readFrom(is);
-00054     read_raw(is, *this); 
-00055 }
-00056 
-00057 template <class Fitness>
-00058 inline std::ostream& operator<<(std::ostream& os, const EoSym<Fitness>& f) { f.printOn(os); return os; }
-00059 template <class Fitness>
-00060 inline std::istream& operator>>(std::istream& is, EoSym<Fitness>& f) { f.readFrom(is); return is; }
-00061 
-00062 
-00063 #endif
-00064 
-00065 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_crossover_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_crossover_8cpp-source.html deleted file mode 100644 index 3b7a6dc89..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_crossover_8cpp-source.html +++ /dev/null @@ -1,93 +0,0 @@ - - -EO: eoSymCrossover.cpp Source File - - - - - -

eoSymCrossover.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 
-00019 #include <Sym.h>
-00020 #include <NodeSelector.h>
-00021 
-00022 #include <eoSymCrossover.h>
-00023 #include <utils/eoRNG.h>
-00024 
-00025 bool subtree_quad(Sym& a, Sym& b, NodeSelector& select) {
-00026     NodeSelector::NodeSelection sel_a = select.select_node(a);
-00027     NodeSelector::NodeSelection sel_b = select.select_node(b);
-00028 
-00029     Sym aprime = insert_subtree(a, sel_a.idx(), sel_b.subtree() );
-00030     Sym bprime = insert_subtree(b, sel_b.idx(), sel_a.subtree() );
-00031 
-00032     a = aprime;
-00033     b = bprime;
-00034     return true;
-00035 }
-00036 
-00037 bool subtree_bin(Sym& a, const Sym& b, NodeSelector& select) {
-00038     NodeSelector::NodeSelection sel_a = select.select_node(a);
-00039     NodeSelector::NodeSelection sel_b = select.select_node(b);
-00040 
-00041     a = insert_subtree(a, sel_a.idx(), sel_b.subtree());
-00042 
-00043     return true;
-00044 }
-00045 
-00046 Sym homologous_binimpl(Sym a, Sym b) {
-00047     
-00048     if(a == b) { return a; } // no point 
-00049     
-00050     bool use_a = rng.random(2);
-00051 
-00052     token_t head = (use_a? a : b).token();
-00053     SymVec args = use_a?a.args() : b.args();
-00054 
-00055     const SymVec& a_args = a.args();
-00056     const SymVec& b_args = b.args();
-00057     unsigned mn = std::min(a_args.size(), b_args.size());
-00058     
-00059     bool changed = !use_a;
-00060     
-00061     for (unsigned i = 0; i < mn; ++i) {
-00062         args[i] = homologous_binimpl(a_args[i], b_args[i]);
-00063         if (args[i] != a_args[i]) {
-00064             changed = true;
-00065         }
-00066     }
-00067     
-00068     return changed? Sym(head, args) : a;
-00069 }
-00070 
-00071 bool homologous_bin(Sym& a, const Sym& b) {
-00072     if (a==b) return false;
-00073     Sym org = a;
-00074     a = homologous_binimpl(a,b);
-00075     return org != a;
-00076 }
-00077 
-00078 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_crossover_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_crossover_8h-source.html deleted file mode 100644 index 8e0c789cf..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_crossover_8h-source.html +++ /dev/null @@ -1,76 +0,0 @@ - - -EO: eoSymCrossover.h Source File - - - - - -

eoSymCrossover.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef EOSYMCROSSOVER_H
-00019 #define EOSYMCROSSOVER_H
-00020 
-00021 class NodeSelector;
-00022 class Sym;
-00023 
-00024 #include <eoOp.h>
-00025     
-00026 extern bool subtree_quad(Sym& a, Sym& b, NodeSelector& select);
-00027 template <class EoType>
-00028 class eoQuadSubtreeCrossover : public eoQuadOp<EoType> {
-00029     NodeSelector& node_selector;
-00030     
-00031     public:
-00032     eoQuadSubtreeCrossover(NodeSelector& _node_selector) : node_selector(_node_selector) {}
-00033     
-00034     bool operator()(EoType& a, EoType& b) { return subtree_quad(a,b, node_selector); }
-00035 };
-00036 
-00037 
-00038 extern bool subtree_bin(Sym& a, const Sym& b, NodeSelector& select);
-00039 template <class EoType>
-00040 class eoBinSubtreeCrossover : public eoBinOp<EoType> {
-00041     NodeSelector& node_selector;
-00042 
-00043     public :
-00044 
-00045     eoBinSubtreeCrossover(NodeSelector& _node_selector) : node_selector(_node_selector) {}
-00046 
-00047     bool operator()(EoType& a, const EoType& b) { return subtree_bin(a, b, node_selector); }
-00048 };
-00049 
-00053 extern bool homologous_bin(Sym& a, const Sym& b);
-00054 template <class EoType>
-00055 class eoBinHomologousCrossover : public eoBinOp<EoType> {
-00056     public:
-00057         bool operator()(EoType& a, const EoType& b) {
-00058             return homologous_bin(a,b);
-00059         }
-00060 };
-00061 
-00062 
-00063 #endif
-00064 
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_eval_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_eval_8h-source.html deleted file mode 100644 index 96081007d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_eval_8h-source.html +++ /dev/null @@ -1,103 +0,0 @@ - - -EO: eoSymEval.h Source File - - - - - -

eoSymEval.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef SYMEVAL_H
-00019 #define SYMEVAL_H
-00020 
-00021 #include <Sym.h>
-00022 #include <FunDef.h>
-00023 #include <ErrorMeasure.h>
-00024 #include <BoundsCheck.h>
-00025 
-00026 #include <eoPopEvalFunc.h>
-00027 
-00028 template <class EoType>
-00029 class eoSymPopEval : public eoPopEvalFunc<EoType> {
-00030 
-00031     BoundsCheck&  check;
-00032     ErrorMeasure& measure;
-00033     unsigned size_cap; 
-00034     
-00035     public:
-00036 
-00037     eoSymPopEval(BoundsCheck& _check, ErrorMeasure& _measure, unsigned _size_cap) :
-00038         check(_check), measure(_measure), size_cap(_size_cap) {}
-00039 
-00048     void operator()(eoPop<EoType>& p1, eoPop<EoType>& p2) {
-00049         
-00050         std::vector<unsigned> unevaluated;
-00051         std::vector<Sym> tmppop;
-00052         
-00053         for (unsigned i = 0; i < p1.size(); ++i) {
-00054             if (p1[i].invalid()) {
-00055 
-00056                 if (expand_all(p1[i]).size() < size_cap && check.in_bounds(p1[i])) {
-00057                     unevaluated.push_back(i);
-00058                     tmppop.push_back( static_cast<Sym>(p1[i]) );
-00059                 } else {
-00060                     p1[i].fitness( measure.worst_performance() );
-00061                 }
-00062             }
-00063         }
-00064 
-00065         for (unsigned i = 0; i < p2.size(); ++i) {
-00066             if (p2[i].invalid()) {
-00067                 
-00068                 if (expand_all(p2[i]).size() < size_cap && check.in_bounds(p2[i])) {
-00069                     
-00070                     unevaluated.push_back(p1.size() + i);
-00071                     tmppop.push_back( static_cast<Sym>(p2[i]) );
-00072 
-00073                 } else {
-00074                     p2[i].fitness( measure.worst_performance() ); // pretty bad error
-00075                 }
-00076             }
-00077         }
-00078 
-00079         std::vector<ErrorMeasure::result> result = measure.calc_error(tmppop);
-00080 
-00081         for (unsigned i = 0; i < result.size(); ++i) {
-00082             unsigned idx = unevaluated[i];
-00083 
-00084             if (idx < p1.size()) {
-00085                 p1[idx].fitness(result[i].error);
-00086             } else {
-00087                 idx -= p1.size();
-00088                 p2[idx].fitness(result[i].error);
-00089             }
-00090         }
-00091     }
-00092 
-00093 };
-00094 
-00095 
-00096 #endif
-

Generated on Thu Oct 19 05:06:38 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_init_8h-source.html deleted file mode 100644 index 86ba1190d..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_init_8h-source.html +++ /dev/null @@ -1,75 +0,0 @@ - - -EO: eoSymInit.h Source File - - - - - -

eoSymInit.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef EOSYMINIT_H
-00019 #define EOSYMINIT_H
-00020 
-00021 #include <eoInit.h>
-00022 #include <TreeBuilder.h>
-00023 
-00025 template <class EoType>
-00026 class eoSymInit : public eoInit<EoType> {
-00027     
-00028     TreeBuilder& builder;
-00029     
-00030     double      own_grow_prob;
-00031     unsigned    own_max_depth;
-00032     
-00033     
-00034     double& grow_prob;
-00035     unsigned& max_depth;
-00036 
-00037     public:
-00038         
-00040         eoSymInit(TreeBuilder& _builder) 
-00041         :   builder(_builder), 
-00042             own_grow_prob(0.5), 
-00043             own_max_depth(6),
-00044             grow_prob(own_grow_prob), 
-00045             max_depth(own_max_depth) 
-00046         {}
-00047 
-00049         eoSymInit(TreeBuilder& _builder, double& _grow_prob, unsigned& _max_depth) 
-00050         :   builder(_builder), 
-00051             grow_prob(_grow_prob), 
-00052             max_depth(_max_depth) 
-00053         {}
-00054    
-00056         void operator()(EoType& tree) {
-00057             int depth_to_use = rng.random(max_depth-2) + 2; // two levels minimum
-00058             builder.build_tree(tree, depth_to_use, rng.flip(grow_prob));
-00059         }
-00060     
-00061 };
-00062 
-00063 #endif
-00064 
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_lambda_mutate_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_lambda_mutate_8cpp-source.html deleted file mode 100644 index 0977a25c7..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_lambda_mutate_8cpp-source.html +++ /dev/null @@ -1,44 +0,0 @@ - - -EO: eoSymLambdaMutate.cpp Source File - - - - - -

eoSymLambdaMutate.cpp

00001 #include <eoSymLambdaMutate.h>
-00002 #include "FunDef.h"
-00003 #include "NodeSelector.h"
-00004 
-00005 Sym compress(Sym sym, NodeSelector& sel) {
-00006     
-00007     return ::compress(sym);
-00008     
-00009     NodeSelector::NodeSelection s = sel.select_node(sym);
-00010     
-00011     Sym f = SymLambda( s.subtree());
-00012     
-00013     if (f == s.subtree()) { return sym; }
-00014     
-00015     return insert_subtree(sym, s.idx(), f);
-00016 }
-00017 
-00018 extern Sym expand(Sym sym, NodeSelector& sel) {
-00019 
-00020     return ::expand_all(sym);
-00021     
-00022     NodeSelector::NodeSelection s = sel.select_node(sym);
-00023     
-00024     Sym f = SymUnlambda( s.subtree());
-00025     
-00026     if (f == s.subtree()) { return sym; }
-00027     
-00028     return insert_subtree(sym, s.idx(), f);
-00029 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_lambda_mutate_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_lambda_mutate_8h-source.html deleted file mode 100644 index cfabdefb2..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_lambda_mutate_8h-source.html +++ /dev/null @@ -1,62 +0,0 @@ - - -EO: eoSymLambdaMutate.h Source File - - - - - -

eoSymLambdaMutate.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef SYMLAMBDAMUTATE_H
-00019 #define SYMLAMBDAMUTATE_H
-00020 
-00021 #include <eoOp.h>
-00022 
-00023 class NodeSelector;
-00024 class Sym;
-00025 extern Sym compress(Sym, NodeSelector&);
-00026 extern Sym expand(Sym, NodeSelector&);
-00027 
-00028 
-00029 template <class EoType>
-00030 class eoSymLambdaMutate : public eoMonOp<EoType> {
-00031     NodeSelector& selector;
-00032     public :
-00033         eoSymLambdaMutate(NodeSelector& s) : selector(s) {}
-00034         
-00035         bool operator()(EoType& tomutate) {
-00036             if (rng.flip()) {
-00037                 tomutate.set( expand(tomutate, selector));
-00038             } else {
-00039                 tomutate.set( compress(tomutate, selector));
-00040             }
-00041             return true; 
-00042         }
-00043     
-00044 };
-00045 
-00046 
-00047 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_mutate_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_mutate_8cpp-source.html deleted file mode 100644 index ad3a16802..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_mutate_8cpp-source.html +++ /dev/null @@ -1,88 +0,0 @@ - - -EO: eoSymMutate.cpp Source File - - - - - -

eoSymMutate.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include <eoSymMutate.h>
-00019 #include <FunDef.h>
-00020 #include <utils/eoRNG.h>
-00021 
-00022 using namespace std;
-00023 
-00024 std::pair<Sym, bool> do_mutate(Sym sym, double p, const LanguageTable& table) {
-00025     
-00026     bool changed = false;
-00027     SymVec args = sym.args();
-00028     if (rng.flip(p)) {
-00029         token_t new_token = table.get_random_function(sym.token(), args.size());
-00030         if (new_token != sym.token()) {
-00031             changed = true;
-00032             sym = Sym(new_token, args);
-00033         }
-00034     }
-00035 
-00036     for (unsigned i = 0; i < args.size(); ++i) {
-00037         std::pair<Sym,bool> r = do_mutate(args[i], p, table);   
-00038         changed |= r.second;
-00039         if (r.second) 
-00040             args[i] = r.first;
-00041     }
-00042 
-00043     if (changed)
-00044         return std::make_pair(Sym(sym.token(), args), true);
-00045     // else
-00046     return std::make_pair(sym, false);
-00047 }
-00048         
-00049         
-00050 // these two can (should?) move to an impl file
-00051 bool mutate(Sym& sym, double p, const LanguageTable& table) {
-00052     std::pair<Sym, bool> r = do_mutate(sym, p, table);
-00053     sym = r.first;
-00054     return r.second;
-00055 }
-00056 
-00057 
-00058 bool mutate_constants(Sym& sym, double stdev) {
-00059     vector<double> values = get_constants(sym);
-00060 
-00061     if (values.empty()) {
-00062         return false;
-00063     }
-00064     
-00065     for (unsigned i = 0; i < values.size(); ++i) {
-00066         values[i] += rng.normal() * stdev;
-00067     }
-00068     
-00069     sym = set_constants(sym, values);
-00070 
-00071     return true;
-00072 }
-00073 
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_sym_mutate_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_sym_mutate_8h-source.html deleted file mode 100644 index 865ac79b3..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_sym_mutate_8h-source.html +++ /dev/null @@ -1,119 +0,0 @@ - - -EO: eoSymMutate.h Source File - - - - - -

eoSymMutate.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef SYMMUTATE_H
-00019 #define SYMMUTATE_H
-00020 
-00021 #include <TreeBuilder.h>
-00022 #include <NodeSelector.h>
-00023 
-00024 #include <eoSym.h>
-00025 #include <eoOp.h>
-00026 
-00027 template <class EoType>
-00028 class eoSymSubtreeMutate : public eoMonOp<EoType> {
-00029     
-00030         TreeBuilder& subtree_builder;
-00031         NodeSelector& node_selector;
-00032     public :
-00033         
-00034         eoSymSubtreeMutate(TreeBuilder& _subtree_builder, NodeSelector& _node_selector)
-00035         : subtree_builder(_subtree_builder), node_selector(_node_selector) {}
-00036         
-00037         
-00038         bool operator()(EoType& tomutate) {
-00039             unsigned xover_point = node_selector.select_node(tomutate).idx();
-00040             // create subtree
-00041             Sym newtree = subtree_builder.build_tree(6, true); // TODO, parameterize
-00042             static_cast<Sym&>(tomutate) = insert_subtree(tomutate, xover_point, newtree);
-00043             return true;
-00044         }
-00045     
-00046 };
-00047 
-00055 extern bool mutate(Sym& sym, double p, const LanguageTable& table);
-00056 
-00057 template <class EoType>
-00058 class eoSymNodeMutate : public eoMonOp<EoType> {
-00059     
-00060         LanguageTable& table;
-00061         double own_mutation_rate;
-00062         bool   own_is_rate_absolute;
-00063         
-00064 
-00065     public:
-00066         
-00067         double& mutation_rate;
-00068         bool& is_rate_absolute;
-00069             
-00070         eoSymNodeMutate(LanguageTable& _table)
-00071         :   table(_table),
-00072             own_mutation_rate(1.0),
-00073             own_is_rate_absolute(false), // this means a probability of node mutation of 1/sym.size()
-00074             mutation_rate(own_mutation_rate),
-00075             is_rate_absolute(own_is_rate_absolute)
-00076         {}
-00077 
-00078         eoSymNodeMutate(LanguageTable& _table, double& _mutation_rate, bool& _is_rate_absolute) 
-00079         :   table(_table),
-00080             mutation_rate(_mutation_rate),
-00081             is_rate_absolute(_is_rate_absolute) 
-00082         {}
-00083 
-00084         
-00085         bool operator()(EoType& _eo) {
-00086             double p = mutation_rate;
-00087             if (!is_rate_absolute) p /= _eo.size();
-00088 
-00089             return mutate(_eo, p, table);
-00090         }
-00091         
-00092 };
-00093 
-00097 extern bool mutate_constants(Sym& sym, double stdev);
-00098 template <class EoType>
-00099 class eoSymConstantMutate : public eoMonOp<EoType> {
-00100     
-00101     double& stdev;
-00102 
-00103     
-00104     public :
-00105     eoSymConstantMutate(double& _stdev) : stdev(_stdev) {}
-00106 
-00107     bool operator()(EoType& _eo) {
-00108         return mutate_constants(_eo, stdev);
-00109     }
-00110     
-00111     
-00112 };
-00113 
-00114 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_time_counter_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_time_counter_8h-source.html deleted file mode 100644 index 680b3f3ff..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_time_counter_8h-source.html +++ /dev/null @@ -1,75 +0,0 @@ - - -EO: eoTimeCounter.h Source File - - - - - -

eoTimeCounter.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoTimeCounter.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, and GeNeura Team, 2002
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoTimeCounter_h
-00028 #define _eoTimeCounter_h
-00029 
-00030 #include <time.h>
-00031 #include <utils/eoStat.h>
-00032 
-00033 
-00038 class eoTimeCounter : public eoUpdater, public eoValueParam<double>
-00039 {
-00040 public:
-00041   eoTimeCounter() : eoValueParam<double>(0.0, "Time") // : firstTime(true)  
-00042   {}
-00043 
-00045   virtual void operator()()
-00046   {
-00047     // ask for system time
-00048     utime = clock();
-00049 //     if (firstTime)   /* first generation */
-00050 //       {
-00051 //      firstTime=false;
-00052 //      firstUtime = tmsStruct.tms_utime;
-00053 //       }
-00054     // store elapsed user time
-00055 //     value(tmsStruct.tms_utime - firstUtime);
-00056     value()=double(utime)/CLOCKS_PER_SEC;
-00057   }
-00058   
-00059 private:
-00060 //   bool firstTime;
-00061 //   clock_t firstUtime;
-00062   clock_t utime;
-00063 };
-00064 
-00065 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_timed_monitor_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_timed_monitor_8h-source.html deleted file mode 100644 index d26fbfdbb..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_timed_monitor_8h-source.html +++ /dev/null @@ -1,87 +0,0 @@ - - -EO: eoTimedMonitor.h Source File - - - - - -

eoTimedMonitor.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoTimedMonitor.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2005
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoTimedMonitor_h
-00028 #define _eoTimedMonitor_h
-00029 
-00030 #include <string>
-00031 
-00032 #include <utils/eoMonitor.h>
-00033 #include <eoObject.h>
-00034 #include <time.h>
-00035 
-00040 class eoTimedMonitor : public eoMonitor
-00041 {
-00042 public :
-00043     eoTimedMonitor(int seconds_) : seconds(seconds_), last_tick(0) {}
-00044     
-00045     eoMonitor& operator()(void) {
-00046         bool monitor = false;
-00047         if (last_tick == 0) {
-00048             monitor = true;
-00049             last_tick = clock();
-00050         }
-00051 
-00052         clock_t tick = clock();
-00053 
-00054         if ( (tick-last_tick) >= seconds * CLOCKS_PER_SEC) {
-00055             monitor = true;
-00056         }
-00057 
-00058         if (monitor) {
-00059             for (unsigned i = 0; i < monitors.size(); ++i) {
-00060                 (*monitors[i])();
-00061             }
-00062             last_tick = clock();
-00063         }
-00064         return *this;
-00065     }
-00066 
-00067     void add(eoMonitor& mon) { monitors.push_back(&mon); }
-00068     
-00069   virtual std::string className(void) const { return "eoTimedMonitor"; }
-00070 private :
-00071   clock_t last_tick;
-00072   int seconds;
-00073   std::vector<eoMonitor*> monitors;
-00074 };
-00075 
-00076 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_transform_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_transform_8h-source.html deleted file mode 100644 index 4144e215b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_transform_8h-source.html +++ /dev/null @@ -1,31 +0,0 @@ - - -EO: eoTransform.h Source File - - - - - -

eoTransform.h

00001 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 #ifndef _eoTransform_h
-00026 #define _eoTransform_h
-00027 
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 #include <eoPop.h>
-00031 //-----------------------------------------------------------------------------
-00032 
-00037 template<class EOT>
-00038 class eoTransform : public eoUF<eoPop<EOT>&, void>
-00039 {};
-00040 
-00041 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_trunc_select_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_trunc_select_8h-source.html deleted file mode 100644 index d0a9080a3..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_trunc_select_8h-source.html +++ /dev/null @@ -1,53 +0,0 @@ - - -EO: eoTruncSelect.h Source File - - - - - -

eoTruncSelect.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoTruncSelect_h
-00028 #define _eoTruncSelect_h
-00029 
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 #include <eoSelect.h>
-00033 #include <utils/eoHowMany.h>
-00034 #include <math.h>
-00035 //-----------------------------------------------------------------------------
-00036 
-00042 template<class EOT>
-00043 class eoTruncSelect : public eoSelect<EOT>
-00044 {
-00045  public:
-00047   eoTruncSelect(eoSelectOne<EOT>& _select, eoHowMany _howMany) 
-00048     : select(_select), howMany(_howMany) {}
-00049   
-00056   virtual void operator()(const eoPop<EOT>& _source, eoPop<EOT>& _dest)
-00057   {
-00058     unsigned target = howMany(_source.size());
-00059     
-00060     _dest.resize(target);
-00061     
-00062     select.setup(_source);
-00063     
-00064     for (size_t i = 0; i < _dest.size(); ++i)
-00065       _dest[i] = select(_source);
-00066   }
-00067   
-00068 private :
-00069   eoSelectOne<EOT>& select;
-00070   eoHowMany howMany;
-00071 };
-00072 
-00073 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_truncated_select_many_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_truncated_select_many_8h-source.html deleted file mode 100644 index 2d9a84826..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_truncated_select_many_8h-source.html +++ /dev/null @@ -1,88 +0,0 @@ - - -EO: eoTruncatedSelectMany.h Source File - - - - - -

eoTruncatedSelectMany.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoTruncatedSelectMany_h
-00028 #define _eoTruncatedSelectMany_h
-00029 
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 #include <eoSelect.h>
-00033 #include <eoSelectOne.h>
-00034 #include <utils/eoHowMany.h>
-00035 #include <math.h>
-00036 //-----------------------------------------------------------------------------
-00037 
-00052 template<class EOT>
-00053 class eoTruncatedSelectMany : public eoSelect<EOT>
-00054 {
-00055  public:
-00057      eoTruncatedSelectMany(eoSelectOne<EOT>& _select, 
-00058                   double  _rateGenitors, double  _rateFertile, 
-00059                   bool _interpret_as_rateG = true, 
-00060                   bool _interpret_as_rateF = true)
-00061          : select(_select), 
-00062            howManyGenitors(_rateGenitors, _interpret_as_rateG),
-00063            howManyFertile(_rateFertile, _interpret_as_rateF) {}
-00064 
-00065      // Ctor with eoHowManys
-00066      eoTruncatedSelectMany(eoSelectOne<EOT>& _select, 
-00067                   eoHowMany _howManyGenitors, eoHowMany _howManyFertile) 
-00068          : select(_select), howManyGenitors(_howManyGenitors),
-00069            howManyFertile(_howManyFertile) {}
-00070 
-00077   virtual void operator()(const eoPop<EOT>& _source, eoPop<EOT>& _dest)
-00078   {
-00079     unsigned target = howManyGenitors(_source.size());
-00080 
-00081     _dest.resize(target);
-00082 
-00083     unsigned nbFertile = howManyFertile(_source.size());
-00084 
-00085     //revert to standard selection (see eoSelectMany) if no truncation
-00086     if (nbFertile == _source.size())
-00087       {
-00088         select.setup(_source);
-00089         
-00090         for (size_t i = 0; i < _dest.size(); ++i)
-00091           _dest[i] = select(_source);
-00092       }
-00093     else
-00094       {
-00095     // at the moment, brute force (rush rush, no good)
-00096     // what we would need otherwise is a std::vector<EOT &> class
-00097     // and selectors that act on such a thing
-00098         eoPop<EOT> tmpPop = _source; // hum hum, could be a pain in the ass
-00099 
-00100         tmpPop.sort();             // maybe we could only do partial sort?
-00101         tmpPop.resize(nbFertile);  // only the best guys here now
-00102         tmpPop.shuffle();          // as some selectors are order-sensitive
-00103 
-00104         select.setup(tmpPop);
-00105         
-00106         for (size_t i = 0; i < _dest.size(); ++i)
-00107           _dest[i] = select(tmpPop);
-00108       }
-00109   }
-00110   
-00111 private :
-00112   eoSelectOne<EOT>& select;        // selector for one guy
-00113   eoHowMany howManyGenitors;       // number of guys to select
-00114   eoHowMany howManyFertile;        // number of fertile guys
-00115 };
-00116 
-00117 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_truncated_select_one_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_truncated_select_one_8h-source.html deleted file mode 100644 index 0f563edeb..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_truncated_select_one_8h-source.html +++ /dev/null @@ -1,88 +0,0 @@ - - -EO: eoTruncatedSelectOne.h Source File - - - - - -

eoTruncatedSelectOne.h

00001 
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoTruncatedSelectOne_h
-00028 #define _eoTruncatedSelectOne_h
-00029 
-00030 
-00031 //-----------------------------------------------------------------------------
-00032 #include <eoSelect.h>
-00033 #include <eoSelectOne.h>
-00034 #include <utils/eoHowMany.h>
-00035 #include <math.h>
-00036 //-----------------------------------------------------------------------------
-00037 
-00044 template<class EOT>
-00045 class eoTruncatedSelectOne : public eoSelectOne<EOT>
-00046 {
-00047 public:
-00049   eoTruncatedSelectOne(eoSelectOne<EOT>& _select, 
-00050                        double  _rateFertile, 
-00051                        bool _interpret_as_rateF = true)
-00052     : select(_select), 
-00053       howManyFertile(_rateFertile, _interpret_as_rateF),
-00054       tmpPop(), actualPop(tmpPop)
-00055   {}
-00056 
-00058   eoTruncatedSelectOne(eoSelectOne<EOT>& _select, 
-00059                         eoHowMany _howManyFertile) 
-00060     : select(_select), howManyFertile(_howManyFertile),
-00061     tmpPop(), actualPop(tmpPop)
-00062   {}
-00063 
-00064 
-00066   void setup(const eoPop<EOT>& _source)
-00067   {
-00068     unsigned fertile = howManyFertile(_source.size());
-00069     if (fertile == _source.size())  // noting to do, all are fertile
-00070       {
-00071         actualPop = _source;
-00072       }
-00073     else
-00074       {
-00075         // copy only best ferile to actualPop
-00076         tmpPop.resize(fertile);
-00077         std::vector<const EOT *> result;
-00078         _source.nth_element(fertile, result);
-00079         for (unsigned i=0; i<fertile; i++)
-00080           tmpPop[i] = *result[i];
-00081 
-00082         // and just in case
-00083         actualPop = tmpPop;
-00084       }
-00085 
-00086     // AND DON'T FORGET to call the embedded select setup method on actualPop
-00087     select.setup(actualPop);
-00088 
-00089     return;
-00090   }
-00091   
-00098   const EOT& operator()(const eoPop<EOT>& _pop) 
-00099   {
-00100     return select(actualPop);
-00101   }
-00102 
-00103 
-00104 private :
-00105   eoSelectOne<EOT>& select;        // selector for one guy
-00106   eoHowMany howManyFertile;        // number of fertile guys
-00107   eoPop<EOT> tmpPop;               // intermediate population - fertile guys
-00108   eoPop<EOT> & actualPop;          // to avoid copies when 100% fertility
-00109 };
-00110 
-00111 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_uniform_init_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_uniform_init_8h-source.html deleted file mode 100644 index 6f32f2548..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_uniform_init_8h-source.html +++ /dev/null @@ -1,123 +0,0 @@ - - -EO: eoUniformInit.h Source File - - - - - -

eoUniformInit.h

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003   -----------------------------------------------------------------------------
-00004   eoUniformInit.h
-00005 
-00006  (c) Maarten Keijzer, GeNeura Team, Marc Schoenauer, 1999 - 2002
-00007 
-00008     This library is free software; you can redistribute it and/or
-00009     modify it under the terms of the GNU Lesser General Public
-00010     License as published by the Free Software Foundation; either
-00011     version 2 of the License, or (at your option) any later version.
-00012 
-00013     This library is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016     Lesser General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU Lesser General Public
-00019     License along with this library; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023              Marc.Schoenauer@inria.fr
-00024  */
-00025 
-00026 //-----------------------------------------------------------------------------
-00039 #ifndef eoUniformInit_h
-00040 #define eoUniformInit_h
-00041 
-00042 #include "eoRNG.h"
-00043 #include "eoInit.h"
-00044 #include "eoRealBounds.h"
-00045 #include <stdexcept>
-00046 
-00047 using eo::rng;
-00048 
-00062 template <class T = double> class eoUniformInit : public eoInit<T>
-00063 {
-00064   public :
-00066   eoUniformInit(T _max = T(1.0), eoRng& _rng = rng) :
-00067     minim(T(0.0)), range(_max), uniform(_rng) 
-00068   {}
-00069   
-00071   eoUniformInit(eoRealBounds & _bound, eoRng& _rng = rng) :
-00072     minim(_bound.minimum()), range(_bound.range()), uniform(_rng)
-00073   {}
-00074   
-00076   eoUniformInit(T _min, T _max, eoRng& _rng = rng) :
-00077     minim(_min), range(_max-_min), uniform(_rng)
-00078   {
-00079     if (_min>_max)
-00080       throw std::logic_error("Min is greater than Max in uniform_generator");
-00081   }
-00082   
-00087   void operator()(T & _t) 
-00088   { 
-00089     _t = minim+static_cast<T>(uniform.uniform(range)); 
-00090   }
-00091 
-00092 private :
-00093   T minim;
-00094   T range;
-00095   eoRng& uniform;
-00096 };
-00097 
-00098 
-00100 template <>
-00101 inline void eoUniformInit<bool>::operator()(bool & _b)
-00102 {
-00103     _b = uniform.flip(0.5);
-00104 }
-00105 
-00110 class eoBooleanInit : public eoInit<bool>
-00111 {
-00112   public :
-00113   eoBooleanInit(float _bias = 0.5, eoRng& _rng = rng) : bias(_bias), gen(_rng) {}
-00114 
-00115   void operator()(bool & _b) { _b = gen.flip(bias); }
-00116   private :
-00117   float bias;
-00118   eoRng& gen;
-00119 };
-00120 
-00126 template <class T = double> class eoNormalInit : public eoInit<T>
-00127 {
-00128   public :
-00129     eoNormalInit(T _stdev = T(1.0), eoRng& _rng = rng) : stdev(_stdev), normal(_rng) {}
-00130 
-00131   void operator()(T & _t) { _t = (T) normal.normal(stdev); }
-00132 
-00133   private :
-00134     T stdev;
-00135   eoRng& normal;
-00136 };
-00137 
-00143 template <class T = double> class eoNegExpInit : public eoInit<T>
-00144 {
-00145   public :
-00146     eoNegExpInit(T _mean = 1.0, eoRng& _rng = rng) : mean(_mean), negexp(_rng) {}
-00147 
-00148   void operator()(T & _t) { _t = (T) negexp.negexp(mean); }
-00149 
-00150   private :
-00151     T mean;
-00152   eoRng& negexp;
-00153 };
-00154 
-00155 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_updatable_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_updatable_8h-source.html deleted file mode 100644 index 18fc35fdb..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_updatable_8h-source.html +++ /dev/null @@ -1,112 +0,0 @@ - - -EO: eoUpdatable.h Source File - - - - - -

eoUpdatable.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoUpdatable.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoUpdatable_h
-00028 #define _eoUpdatable_h
-00029 
-00030 #include <utils/eoUpdater.h>
-00031 
-00036 class eoUpdatable
-00037 {
-00038 public:
-00039 
-00041     virtual ~eoUpdatable() {};
-00042 
-00043     virtual void update() = 0;
-00044 };
-00045 
-00046 
-00047 
-00051 class eoDynUpdater : public eoUpdater
-00052 {public :
-00053     eoDynUpdater(eoUpdatable & _toUpdate) : toUpdate(_toUpdate) {};
-00054 
-00055     virtual void operator()()
-00056     {
-00057         toUpdate.update();
-00058     }
-00059 
-00060 private:
-00061     eoUpdatable& toUpdate;
-00062 };
-00063 
-00067 class eoTimedDynUpdate : public eoDynUpdater
-00068 {
-00069 public :
-00070     eoTimedDynUpdate(eoUpdatable & _toUpdate, time_t _interval) :
-00071     eoDynUpdater(_toUpdate),
-00072         interval(_interval), last_time(time(0)), first_time(time(0)) {}
-00073 
-00074     void operator()(void)
-00075       {
-00076         time_t now = time(0);
-00077 
-00078         if (now >= last_time + interval)
-00079           {
-00080             last_time = now;
-00081             eoDynUpdater::operator() ();
-00082           }
-00083       }
-00084 private :
-00085     const time_t interval;
-00086     time_t last_time;
-00087     const time_t first_time;
-00088 };
-00089 
-00093 class eoCountedDynUpdate : public eoDynUpdater
-00094 {
-00095 public :
-00096     eoCountedDynUpdate(eoUpdatable & _toUpdate, unsigned _interval)
-00097         : eoDynUpdater(_toUpdate), interval(_interval), counter(0) {}
-00098 
-00099     void operator()(void)
-00100       {
-00101         if (++counter % interval == 0)
-00102           {
-00103             eoDynUpdater::operator() ();
-00104           }
-00105       }
-00106 private :
-00107     const unsigned interval;
-00108     unsigned counter;
-00109 };
-00110 
-00111 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_updater_8cpp-source.html b/trunk/paradiseo-eo/doc/html/eo_updater_8cpp-source.html deleted file mode 100644 index c8427e2e1..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_updater_8cpp-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: eoUpdater.cpp Source File - - - - - -

eoUpdater.cpp

00001 #ifdef _MSC_VER
-00002 #pragma warning(disable:4786)
-00003 #endif
-00004 
-00005 #ifdef HAVE_CONFIG_H
-00006 #include <config.h>
-00007 #endif
-00008 
-00009 #include <sstream>
-00010 
-00011 #include <utils/eoState.h>
-00012 #include <utils/eoUpdater.h>
-00013 
-00014 using namespace std;
-00015 
-00016 void eoTimedStateSaver::operator()(void)
-00017 {
-00018     time_t now = time(0);
-00019 
-00020     if (now >= last_time + interval)
-00021     {
-00022         last_time = now;
-00023         ostringstream os;
-00024         os << prefix << (now - first_time) << '.' << extension;
-00025         state.save(os.str());
-00026     }
-00027 }
-00028 
-00029 void eoCountedStateSaver::doItNow(void)
-00030 {
-00031         ostringstream os;
-00032         os << prefix << counter << '.' << extension;
-00033         state.save(os.str());
-00034 }
-00035 
-00036 void eoCountedStateSaver::operator()(void)
-00037 {
-00038     if (++counter % interval == 0)
-00039       doItNow();
-00040 }
-00041 
-00042 void eoCountedStateSaver::lastCall(void)
-00043 {
-00044     if (saveOnLastCall)
-00045       doItNow();
-00046 }
-00047 
-00048 
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_updater_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_updater_8h-source.html deleted file mode 100644 index b5408e823..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_updater_8h-source.html +++ /dev/null @@ -1,149 +0,0 @@ - - -EO: eoUpdater.h Source File - - - - - -

eoUpdater.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoUpdater.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _eoUpdater_h
-00028 #define _eoUpdater_h
-00029 
-00030 #include <string>
-00031 #include <eoFunctor.h>
-00032 #include <utils/eoState.h>
-00033 #include <utils/eoParam.h>
-00034 
-00039 class eoUpdater : public eoF<void>
-00040 {
-00041 public:
-00042   virtual void lastCall() {}
-00043   virtual std::string className(void) const { return "eoUpdater"; }
-00044 };
-00045 
-00049 template <class T>
-00050 class eoIncrementor : public eoUpdater
-00051 {public :
-00053     eoIncrementor(T& _counter, T _stepsize = 1) : counter(_counter), stepsize(_stepsize) {}
-00054 
-00056     virtual void operator()()
-00057     {
-00058         counter += stepsize;
-00059     }
-00060 
-00061   virtual std::string className(void) const { return "eoIncrementor"; }
-00062 private:
-00063     T& counter;
-00064     T stepsize;
-00065 };
-00066 
-00070 template <class T>
-00071 class eoIncrementorParam : public eoUpdater, public eoValueParam<T>
-00072 {
-00073 public:
-00074 
-00075     using eoValueParam<T>::value;
-00076 
-00078   eoIncrementorParam( std::string _name, T _stepsize = 1) :
-00079     eoValueParam<T>(T(0), _name), stepsize(_stepsize) {}
-00080 
-00084   eoIncrementorParam( std::string _name, T _countValue, T _stepsize) :
-00085     eoValueParam<T>(_countValue, _name), stepsize(_stepsize) {}
-00086 
-00088   virtual void operator()()
-00089   {
-00090       value() += stepsize;
-00091   }
-00092 
-00093   virtual std::string className(void) const { return "eoIncrementorParam"; }
-00094 
-00095 private:
-00096   T stepsize;
-00097 };
-00098 
-00099 #include <time.h>
-00100 
-00104 class eoTimedStateSaver : public eoUpdater
-00105 {
-00106 public :
-00107     eoTimedStateSaver(time_t _interval, const eoState& _state, std::string _prefix = "state", std::string _extension = "sav") : state(_state),
-00108         interval(_interval), last_time(time(0)), first_time(time(0)),
-00109     prefix(_prefix), extension(_extension) {}
-00110 
-00111     void operator()(void);
-00112 
-00113   virtual std::string className(void) const { return "eoTimedStateSaver"; }
-00114 private :
-00115     const eoState& state;
-00116 
-00117     const time_t interval;
-00118     time_t last_time;
-00119     const time_t first_time;
-00120     const std::string prefix;
-00121     const std::string extension;
-00122 };
-00123 
-00127 class eoCountedStateSaver : public eoUpdater
-00128 {
-00129 public :
-00130     eoCountedStateSaver(unsigned _interval, const eoState& _state, std::string _prefix, bool _saveOnLastCall, std::string _extension = "sav", unsigned _counter = 0)
-00131       : state(_state), interval(_interval), counter(_counter),
-00132       saveOnLastCall(_saveOnLastCall),
-00133       prefix(_prefix), extension(_extension) {}
-00134 
-00135     eoCountedStateSaver(unsigned _interval, const eoState& _state, std::string _prefix = "state", std::string _extension = "sav", unsigned _counter = 0)
-00136       : state(_state), interval(_interval), counter(_counter),
-00137         saveOnLastCall(true),
-00138         prefix(_prefix), extension(_extension) {}
-00139 
-00140     virtual void lastCall(void);
-00141     void operator()(void);
-00142 
-00143   virtual std::string className(void) const { return "eoCountedStateSaver"; }
-00144 private :
-00145     void doItNow(void);
-00146 
-00147     const eoState& state;
-00148     const unsigned interval;
-00149     unsigned counter;
-00150     bool saveOnLastCall;
-00151 
-00152     const std::string prefix;
-00153     const std::string extension;
-00154 };
-00155 
-00156 
-00157 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_variable_length_crossover_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_variable_length_crossover_8h-source.html deleted file mode 100644 index e6e607e37..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_variable_length_crossover_8h-source.html +++ /dev/null @@ -1,316 +0,0 @@ - - -EO: eoVariableLengthCrossover.h Source File - - - - - -

eoVariableLengthCrossover.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoVariableLengthCrossover.h
-00005 // (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@cs.vu.nl
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoVariableLengthCrossover_h
-00027 #define _eoVariableLengthCrossover_h
-00028 
-00029 #include <eoFunctor.h>
-00030 #include <eoOp.h>
-00031 
-00040 template <class Atom>
-00041 class eoAtomExchange : public eoBF<unsigned, Atom &, bool>
-00042 {
-00043 public:
-00045   virtual void randomize(unsigned int, unsigned int){}
-00047   virtual std::string className() const=0;
-00048 };
-00049 
-00051 template <class Atom>
-00052 class eoUniformAtomExchange: public eoAtomExchange<Atom>
-00053 {
-00054 public:
-00055     eoUniformAtomExchange(double _rate=0.5):rate(_rate){}
-00056 
-00061   void randomize(unsigned _size1, unsigned _size2)
-00062   {
-00063     mask.resize(_size1 + _size2);
-00064     for (unsigned i=0; i<_size1+_size2; i++)
-00065         mask[i]=eo::rng.flip(rate);
-00066   }
-00067 
-00069     bool operator()(unsigned _i, Atom & )
-00070     {
-00071       return mask[_i];
-00072     }
-00073 
-00075   virtual std::string className() const {return "eoUniformAtomExchange";}
-00076 
-00077 private:
-00078   double rate;
-00079   std::vector<bool> mask;
-00080 };
-00081 
-00085 
-00088 template <class EOT>
-00089 class eoVlAtomExchangeQuadOp : public eoQuadOp<EOT>
-00090 {
-00091 public :
-00092 
-00093   typedef typename EOT::AtomType AtomType;
-00094 
-00096   eoVlAtomExchangeQuadOp(unsigned _Min, unsigned _Max,
-00097                          eoAtomExchange<AtomType>& _atomExchange):
-00098     Min(_Min), Max(_Max), atomExchange(_atomExchange) {}
-00099 
-00100   bool operator()(EOT & _eo1, EOT & _eo2)
-00101   {
-00102     EOT tmp1, tmp2;                // empty individuals
-00103     unsigned index=0;
-00104     // main loop: until sizes are OK, do only simulated exchange
-00105     unsigned i, i1, i2;
-00106     do {
-00107       // "initialize the AtomExchange
-00108       atomExchange.randomize(_eo1.size(), _eo2.size());
-00109       // simulate crossover
-00110       i1=i2=0;
-00111       for (i=0; i<_eo1.size(); i++)
-00112         {
-00113           if (atomExchange(i, _eo1[i]))
-00114             i1++;
-00115           else
-00116             i2++;
-00117         }
-00118       for (i=0; i<_eo2.size(); i++)
-00119         {
-00120           if (atomExchange(i, _eo2[i]))
-00121             i2++;
-00122           else
-00123             i1++;
-00124         }
-00125       index++;
-00126     } while ( ( (i1<Min) || (i2<Min) ||
-00127                 (i1>Max) || (i2>Max) )
-00128               && (index<10000) );
-00129     if (index >= 10000)
-00130       {
-00131         std::cout << "Warning: impossible to generate individual of the right size in 10000 trials\n";
-00132         return false;
-00133       }
-00134   // here we know we have the right sizes: do the actual exchange
-00135       for (i=0; i<_eo1.size(); i++)
-00136         {
-00137           if (atomExchange(i, _eo1[i]))
-00138             tmp1.push_back(_eo1[i]);
-00139           else
-00140             tmp2.push_back(_eo1[i]);
-00141         }
-00142       for (i=0; i<_eo2.size(); i++)
-00143         {
-00144           if (atomExchange(i, _eo2[i]))
-00145             tmp2.push_back(_eo2[i]);
-00146           else
-00147             tmp1.push_back(_eo2[i]);
-00148         }
-00149       // and put everything back in place
-00150     _eo1.swap(tmp1);
-00151     _eo2.swap(tmp2);
-00152     return true;         // should we test that? Yes, but no time now
-00153   }
-00154 
-00156   virtual std::string className() const
-00157   {
-00158       std::ostringstream os;
-00159       os << "eoVlAtomExchangeQuadOp(" << atomExchange.className() << ")";
-00160       return os.str();
-00161   }
-00162 
-00163 private:
-00164   unsigned Min, Max;
-00165   eoAtomExchange<AtomType> & atomExchange;
-00166 };
-00167 
-00171 template <class EOT>
-00172 class eoInnerExchangeQuadOp : public eoQuadOp<EOT>
-00173 {
-00174 public :
-00175 
-00176   typedef typename EOT::AtomType AtomType;
-00177 
-00179   eoInnerExchangeQuadOp( eoQuadOp<AtomType>& _op, float _rate = 0.5):
-00180     op(_op), rate( _rate ) {}
-00181 
-00183   bool operator()(EOT & _eo1, EOT & _eo2)
-00184   {
-00185     unsigned size1 = _eo1.size(), size2 = _eo2.size(), minsize = ( size1 > size2)?size2:size1;
-00186     bool changed = false;
-00187     for ( unsigned i = 0; i < minsize; i ++ ) {
-00188       if ( rng.flip( rate ) ) {
-00189         bool changedHere = op( _eo1[i], _eo2[i] );
-00190         changed |= changedHere;
-00191       }
-00192     }
-00193     return changed;      // should we test that? Yes, but no time now
-00194   }
-00195 
-00196   virtual std::string className() const
-00197   {
-00198     return "eoInnerExchangeQuadOp(" + op.className() + ")";
-00199   }
-00200 
-00201 private:
-00202   float rate;
-00203   eoQuadOp<AtomType> & op;
-00204 };
-00205 
-00206 
-00207 
-00208 
-00218 template <class EOT>
-00219 class eoVlUniformQuadOp : public eoQuadOp<EOT>
-00220 {
-00221 public :
-00222 
-00223   typedef typename EOT::AtomType AtomType;
-00224 
-00225   // default ctor: requires bounds on number of genes + a rate
-00226   eoVlUniformQuadOp(unsigned _Min, unsigned _Max, double _rate=0.5) :
-00227     Min(_Min), Max(_Max), rate(_rate) {}
-00228 
-00229   bool operator()(EOT & _eo1, EOT & _eo2)
-00230   {
-00231     unsigned i;
-00232     EOT tmp1, tmp2;
-00233     unsigned index=0;
-00234     do {
-00235       for (i=0; i<_eo1.size(); i++)
-00236         {
-00237           if (eo::rng.flip(rate))
-00238             tmp1.push_back(_eo1[i]);
-00239           else
-00240             tmp2.push_back(_eo1[i]);
-00241           // here we should look for _eo1[i] inside _eo2 and erase it if found!
-00242         }
-00243       for (i=0; i<_eo2.size(); i++)
-00244         {
-00245           if (eo::rng.flip(rate))
-00246             tmp1.push_back(_eo2[i]);
-00247           else
-00248             tmp2.push_back(_eo2[i]);
-00249         }
-00250       index++;
-00251     } while ( ( (tmp1.size()<Min) || (tmp2.size()<Min) ||
-00252               (tmp1.size()>Max) || (tmp2.size()>Max) )
-00253               && (index<10000) );
-00254     if (index >= 10000)
-00255       {
-00256         std::cout << "Warning: impossible to generate individual of the right size in 10000 trials\n";
-00257         return false;
-00258       }
-00259 
-00260     _eo1.swap(tmp1);
-00261     _eo2.swap(tmp2);
-00262     return true;                   // should we test that?
-00263   }
-00264 private:
-00265   unsigned Min, Max;
-00266   double rate;
-00267 };
-00268 
-00269 
-00279 template <class EOT>
-00280 class eoVlUniformBinOp : public eoBinOp<EOT>
-00281 {
-00282 public :
-00283 
-00284   typedef typename EOT::AtomType AtomType;
-00285 
-00286   // default ctor: requires bounds on number of genes + a rate
-00287   eoVlUniformBinOp(unsigned _Min, unsigned _Max, double _rate=0.5) :
-00288     Min(_Min), Max(_Max), rate(_rate) {}
-00289 
-00290   bool operator()(EOT & _eo1, const EOT & _eo2)
-00291   {
-00292     unsigned i;
-00293     EOT tmp1;
-00294     bool tmpIsOne=true, tmpIsTwo=true;
-00295     unsigned index=0;
-00296     do {
-00297       for (i=0; i<_eo1.size(); i++)
-00298         {
-00299           if (eo::rng.flip(rate))
-00300             {
-00301               tmp1.push_back(_eo1[i]);
-00302               tmpIsTwo = false;
-00303             }
-00304           else
-00305             tmpIsOne=false;
-00306         // we should look for _eo1[i] inside _eo2 and erase it there if found!
-00307         }
-00308       for (i=0; i<_eo2.size(); i++)
-00309         {
-00310           if (! eo::rng.flip(rate))
-00311             {
-00312               tmp1.push_back(_eo2[i]);
-00313               tmpIsOne = false;
-00314             }
-00315           else
-00316             tmpIsTwo = false;
-00317         }
-00318       index++;
-00319     } while ( ( (tmp1.size()<Min) || (tmp1.size()>Max) )
-00320               && (index<10000) );
-00321     // this while condition is not optimal, as it may take some time
-00322     if (index >= 10000)
-00323       {
-00324         std::cout << "Warning: impossible to generate individual of the right size in 10000 trials\n";
-00325         return false;
-00326       }
-00327 
-00328     _eo1.swap(tmp1);
-00329     if (tmpIsTwo)
-00330       {
-00331         //      _eo1.fitness(_eo2.fitness());     NO FITNESS EXISTS HERE!
-00332         return false;
-00333       }
-00334     if (tmpIsOne)                  // already has the right fitness
-00335       {                            // WRONG: NO FITNESS EXISTS HERE!
-00336         return false;
-00337       }
-00338     return true;                   // there were some modifications...
-00339   }
-00340 
-00341 private:
-00342   unsigned Min, Max;
-00343   double rate;
-00344 };
-00345 
-00346 
-00347 
-00348 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_variable_length_mutation_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_variable_length_mutation_8h-source.html deleted file mode 100644 index 2bcc9675b..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_variable_length_mutation_8h-source.html +++ /dev/null @@ -1,134 +0,0 @@ - - -EO: eoVariableLengthMutation.h Source File - - - - - -

eoVariableLengthMutation.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoVariableLengthMutation.h
-00005 // (c) Marc Schoenauer 1999 - Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@cs.vu.nl
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _eoVariableLengthMutation_h
-00027 #define _eoVariableLengthMutation_h
-00028 
-00029 #include <eoFunctor.h>
-00030 #include <eoOp.h>
-00031 #include <eoInit.h>
-00032 
-00047 template <class EOT>
-00048 class eoVlAddMutation : public eoMonOp<EOT>
-00049 {
-00050 public :
-00051 
-00052   typedef typename EOT::AtomType AtomType;
-00053 
-00059   eoVlAddMutation(unsigned _nMax, eoInit<AtomType> & _atomInit) :
-00060     nMax(_nMax), atomInit(_atomInit) {}
-00061 
-00063   bool operator()(EOT & _eo)
-00064   {
-00065     if (_eo.size() >= nMax)
-00066       return false;                // unmodifed
-00067     AtomType atom;
-00068     atomInit(atom);
-00069     unsigned pos = rng.random(_eo.size()+1);
-00070     _eo.insert(_eo.begin()+pos, atom);
-00071     return true;
-00072   }
-00073 
-00075   virtual std::string className() const { return "eoVlAddMutation"; }
-00076 
-00077 private:
-00078   unsigned nMax;
-00079   eoInit<AtomType> & atomInit;
-00080 };
-00081 
-00082 
-00084 template <class EOT>
-00085 class eoGeneDelChooser : public eoUF<EOT &, unsigned int>
-00086 {
-00087 public:
-00088   virtual std::string className() const =0;
-00089 
-00090 };
-00091 
-00093 template <class EOT>
-00094 class eoUniformGeneChooser: public eoGeneDelChooser<EOT>
-00095 {
-00096 public:
-00097     eoUniformGeneChooser(){}
-00098     unsigned operator()(EOT & _eo)
-00099     {
-00100         return eo::rng.random(_eo.size());
-00101     }
-00102   virtual std::string className() const { return "eoUniformGeneChooser"; }
-00103 };
-00104 
-00109 template <class EOT>
-00110 class eoVlDelMutation : public eoMonOp<EOT>
-00111 {
-00112 public :
-00113 
-00114   typedef typename EOT::AtomType AtomType;
-00115 
-00121   eoVlDelMutation(unsigned _nMin, eoGeneDelChooser<EOT> & _chooser) :
-00122     nMin(_nMin), uChooser(), chooser(_chooser) {}
-00123 
-00128   eoVlDelMutation(unsigned _nMin) :
-00129     nMin(_nMin), uChooser(), chooser(uChooser) {}
-00130 
-00134   bool operator()(EOT & _eo)
-00135   {
-00136     if (_eo.size() <= nMin)
-00137       return false;                // unmodifed
-00138     unsigned pos = chooser(_eo);
-00139     _eo.erase(_eo.begin()+pos);
-00140     return true;
-00141   }
-00142 
-00143   virtual std::string className() const
-00144   {
-00145     std::ostringstream os;
-00146     os << "eoVlDelMutation("<<chooser.className() << ")";
-00147     return os.str();
-00148   }
-00149 
-00150 private:
-00151     unsigned nMin;
-00152     eoUniformGeneChooser<EOT> uChooser;
-00153     eoGeneDelChooser<EOT> & chooser;
-00154 };
-00155 
-00156 
-00157 
-00158 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_vector_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_vector_8h-source.html deleted file mode 100644 index 50968e394..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_vector_8h-source.html +++ /dev/null @@ -1,135 +0,0 @@ - - -EO: eoVector.h Source File - - - - - -

eoVector.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoVector.h
-00005 // (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mak@dhi.dk
-00024 
-00025     CVS Info: $Date: 2005/10/06 17:22:40 $ $Header: /cvsroot/eodev/eo/src/eoVector.h,v 1.17 2005/10/06 17:22:40 kuepper Exp $ $Author: kuepper $
-00026 
-00027  */
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 #ifndef _eoVector_h
-00031 #define _eoVector_h
-00032 
-00033 #include <vector>
-00034 #include <iterator>
-00035 #include <EO.h>
-00036 
-00045 template <class FitT, class GeneType>
-00046 class eoVector : public EO<FitT>, public std::vector<GeneType>
-00047 {
-00048 public:
-00049 
-00050     using EO<FitT>::invalidate;
-00051     using std::vector<GeneType>::operator[];
-00052     using std::vector<GeneType>::begin;
-00053     using std::vector<GeneType>::end;
-00054     using std::vector<GeneType>::resize;
-00055     using std::vector<GeneType>::size;
-00056 
-00057     typedef GeneType                AtomType;
-00058     typedef std::vector<GeneType>   ContainerType;
-00059 
-00065     eoVector(unsigned size = 0, GeneType value = GeneType())
-00066         : EO<FitT>(), std::vector<GeneType>(size, value)
-00067         {}
-00068 
-00070     template <class OtherFitnessType>
-00071     eoVector(const eoVector<OtherFitnessType, GeneType>& _vec) : std::vector<GeneType>(_vec)
-00072     {}
-00073 
-00074   // we can't have a Ctor from a std::vector, it would create ambiguity
-00075   //  with the copy Ctor
-00076   void value(const std::vector<GeneType>& _v)
-00077   {
-00078     if (_v.size() != size())       // safety check
-00079       {
-00080         if (size())                // NOT an initial empty std::vector
-00081           std::cout << "Warning: Changing size in eoVector assignation"<<std::endl;
-00082         resize(_v.size());
-00083       }
-00084 
-00085     std::copy(_v.begin(), _v.end(), begin());
-00086     invalidate();
-00087   }
-00088 
-00090     bool operator<(const eoVector<FitT, GeneType>& _eo) const
-00091     {
-00092         return EO<FitT>::operator<(_eo);
-00093     }
-00094 
-00096     virtual void printOn(std::ostream& os) const
-00097     {
-00098         EO<FitT>::printOn(os);
-00099         os << ' ';
-00100 
-00101         os << size() << ' ';
-00102 
-00103         std::copy(begin(), end(), std::ostream_iterator<AtomType>(os, " "));
-00104     }
-00105 
-00107     virtual void readFrom(std::istream& is)
-00108     {
-00109         EO<FitT>::readFrom(is);
-00110 
-00111         unsigned sz;
-00112         is >> sz;
-00113 
-00114         resize(sz);
-00115         unsigned i;
-00116 
-00117         for (i = 0; i < sz; ++i)
-00118         {
-00119             AtomType atom;
-00120             is >> atom;
-00121             operator[](i) = atom;
-00122         }
-00123     }
-00124 };
-00125 
-00127 template <class FitT, class GeneType>
-00128 bool operator<(const eoVector<FitT, GeneType>& _eo1, const eoVector<FitT, GeneType>& _eo2)
-00129 {
-00130     return _eo1.operator<(_eo2);
-00131 }
-00132 template <class FitT, class GeneType>
-00133 bool operator>(const eoVector<FitT, GeneType>& _eo1, const eoVector<FitT, GeneType>& _eo2)
-00134 {
-00135     return _eo1.operator>(_eo2);
-00136 }
-00137 
-00138 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/eo_virus_8h-source.html b/trunk/paradiseo-eo/doc/html/eo_virus_8h-source.html deleted file mode 100644 index 9cbdb62f2..000000000 --- a/trunk/paradiseo-eo/doc/html/eo_virus_8h-source.html +++ /dev/null @@ -1,116 +0,0 @@ - - -EO: eoVirus.h Source File - - - - - -

eoVirus.h

00001 /* eoVirus.h
-00002 
-00003 (c) GeNeura Team 2001, Marc Schoenauer 2000
-00004 
-00005 This library is free software; you can redistribute it and/or modify
-00006 it under the terms of the GNU Lesser General Public License as
-00007 published by the Free Software Foundation; either version 2 of the
-00008 License, or (at your option) any later version.
-00009 
-00010 This library is distributed in the hope that it will be useful, but
-00011 WITHOUT ANY WARRANTY; without even the implied warranty of
-00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-00013 Lesser General Public License for more details.
-00014 
-00015 You should have received a copy of the GNU Lesser General Public
-00016 License along with this library; if not, write to the Free Software
-00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-00018 USA
-00019 
-00020 Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00021          Marc.Schoenauer@polytechnique.fr
-00022 */
-00023 
-00024 
-00025 #ifndef eoVirus_h
-00026 #define eoVirus_h
-00027 
-00028 #include <iostream>
-00029 #include <functional>
-00030 #include <string>
-00031 #include <vector>
-00032 
-00033 #include "ga/eoBit.h"
-00034 
-00048 template <class FitT>
-00049 class eoVirus : public eoBit<FitT>
-00050 {
-00051 public:
-00052 
-00053     using eoBit<FitT>::begin;
-00054     using eoBit<FitT>::end;
-00055     using eoBit<FitT>::size;
-00056 
-00057 
-00062     eoVirus(unsigned _size = 0, bool _value = false, bool _virValue = false):
-00063         eoBit<FitT>(_size, _value), virus( _size, _virValue) {}
-00064 
-00066     virtual std::string className() const {
-00067         return "eoVirus";
-00068     }
-00069 
-00071     void virResize( unsigned _i ) {
-00072         virus.resize(_i );
-00073     }
-00074 
-00076     bool virusBit( unsigned _i ) const {
-00077         return virus[_i];
-00078     }
-00079 
-00081     void virusBitSet( unsigned _i, bool _bit ) {
-00082         virus[_i ] = _bit;
-00083     }
-00084 
-00089     virtual void printOn(std::ostream& os) const {
-00090         EO<FitT>::printOn(os);
-00091         os << ' ';
-00092         os << size() << ' ';
-00093         std::copy(begin(), end(), std::ostream_iterator<bool>(os));
-00094         std::cout << std::endl;
-00095         std::copy(virus.begin(), virus.end(), std::ostream_iterator<bool>(os));
-00096     }
-00097 
-00102     virtual void readFrom(std::istream& is){
-00103         eoBit<FitT>::readFrom(is);
-00104         unsigned s;
-00105         is >> s;
-00106         std::string bits;
-00107         is >> bits;
-00108         if (is) {
-00109             virus.resize(bits.size());
-00110             std::transform(bits.begin(), bits.end(), virus.begin(),
-00111                            std::bind2nd(std::equal_to<char>(), '1'));
-00112         }
-00113     }
-00114 
-00115 
-00116 private:
-00117 
-00118     std::vector<bool> virus;
-00119 };
-00120 
-00121 //-----------------------------------------------------------------------------
-00122 
-00123 #endif //eoBit_h
-00124 
-00125 
-00126 // Local Variables:
-00127 // coding: iso-8859-1
-00128 // mode: C++
-00129 // c-file-style: "Stroustrup"
-00130 // End:
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/es_2make__op_8h-source.html b/trunk/paradiseo-eo/doc/html/es_2make__op_8h-source.html deleted file mode 100644 index 39cbcd3e0..000000000 --- a/trunk/paradiseo-eo/doc/html/es_2make__op_8h-source.html +++ /dev/null @@ -1,303 +0,0 @@ - - -EO: make_op.h Source File - - - - - -

es/make_op.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_op.h - the real-valued version
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_op_h
-00028 #define _make_op_h
-00029 
-00030 // the operators
-00031 #include <eoOp.h>
-00032 #include <eoGenOp.h>
-00033 #include <eoCloneOps.h>
-00034 #include <eoOpContainer.h>
-00035 // combinations of simple eoOps (eoMonOp and eoQuadOp)
-00036 #include <eoProportionalCombinedOp.h>
-00037 
-00038 // the specialized Real stuff
-00039 #include <es/eoReal.h>
-00040 #include <es/eoRealInitBounded.h>
-00041 #include <es/eoRealOp.h>
-00042 #include <es/eoNormalMutation.h>
-00043   // also need the parser and param includes
-00044 #include <utils/eoParser.h>
-00045 #include <utils/eoState.h>
-00046 
-00047 
-00048 /*
-00049  * This function builds the operators that will be applied to the eoReal
-00050  *
-00051  * It uses a parser (to get user parameters) and a state (to store the memory)
-00052  * the last argument is an individual, needed for 2 reasons
-00053  *     it disambiguates the call after instanciations
-00054  *     some operator might need some private information about the indis
-00055  *
-00056  * This is why the template is the complete EOT even though only the fitness
-00057  * is actually templatized here: the following only applies to bitstrings
-00058  *
-00059  * Note : the last parameter is an eoInit: if some operator needs some info
-00060  *        about the gneotypes, the init has it all (e.g. bounds, ...)
-00061  *        Simply do
-00062  *        EOT myEO;
-00063  *        _init(myEO);
-00064  *        and myEO is then an ACTUAL object
-00065 */
-00066 template <class EOT>
-00067 eoGenOp<EOT> & do_make_op(eoParameterLoader& _parser, eoState& _state, eoInit<EOT>& _init)
-00068 {
-00069   // First, decide whether the objective variables are bounded
-00070   eoValueParam<eoParamParamType>& boundsParam
-00071       = _parser.getORcreateParam(eoParamParamType("(0,1)"), "objectBounds",
-00072                                  "Bounds for variables (unbounded if absent)",
-00073                                  'B', "Genetic Operators");
-00074 
-00075   // get initisalizer size == std::vector size
-00076   //  eoRealInitBounded<EOT> * realInit = (eoRealInitBounded<EOT>*)(&_init);
-00077   //  unsigned vecSize = realInit->theBounds().size();
-00078 
-00079   // get std::vector size: safer???
-00080   EOT eoTmp;
-00081   _init(eoTmp);
-00082   unsigned vecSize = eoTmp.size();
-00083 
-00084   // the bounds pointer
-00085   eoRealVectorBounds * ptBounds;
-00086   if (_parser.isItThere(boundsParam))   // otherwise, no bounds
-00087     {
-00091       eoParamParamType & ppBounds = boundsParam.value(); // std::pair<std::string,std::vector<std::string> >
-00092       // transform into a std::vector<double>
-00093       std::vector<double> v;
-00094       std::vector<std::string>::iterator it;
-00095       for (it=ppBounds.second.begin(); it<ppBounds.second.end(); it++)
-00096         {
-00097           istrstream is(it->c_str());
-00098           double r;
-00099           is >> r;
-00100           v.push_back(r);
-00101         }
-00102       // now create the eoRealVectorBounds object
-00103       if (v.size() == 2) // a min and a max for all variables
-00104         ptBounds = new eoRealVectorBounds(vecSize, v[0], v[1]);
-00105       else                                 // no time now
-00106         throw std::runtime_error("Sorry, only unique bounds for all variables implemented at the moment. Come back later");
-00107       // we need to give ownership of this pointer to somebody
-00109     }
-00110   else                     // no param for bounds was given
-00111     ptBounds = new eoRealVectorNoBounds(vecSize); // DON'T USE eoDummyVectorNoBounds
-00112                                    // as it does not have any dimension
-00113 
-00114   // this is a temporary version(!),
-00115   // while Maarten codes the full tree-structured general operator input
-00116   // BTW we must leave that simple version available somehow, as it is the one
-00117   // that 90% people use!
-00118   eoValueParam<std::string>& operatorParam
-00119       =  _parser.getORcreateParam(std::string("SGA"), "operator",
-00120                                   "Description of the operator (SGA only now)",
-00121                                   'o', "Genetic Operators");
-00122 
-00123   if (operatorParam.value() != std::string("SGA"))
-00124     throw std::runtime_error("Sorry, only SGA-like operator available right now\n");
-00125 
-00126     // now we read Pcross and Pmut,
-00127     // the relative weights for all crossovers -> proportional choice
-00128     // the relative weights for all mutations -> proportional choice
-00129     // and create the eoGenOp that is exactly
-00130     // crossover with pcross + mutation with pmut
-00131 
-00132   eoValueParam<double>& pCrossParam
-00133       = _parser.getORcreateParam(0.6, "pCross", "Probability of Crossover",
-00134                                  'C', "Genetic Operators" );
-00135   // minimum check
-00136   if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) )
-00137     throw std::runtime_error("Invalid pCross");
-00138 
-00139   eoValueParam<double>& pMutParam
-00140       = _parser.getORcreateParam(0.1, "pMut", "Probability of Mutation",
-00141                                  'M', "Genetic Operators" );
-00142   // minimum check
-00143   if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) )
-00144     throw std::runtime_error("Invalid pMut");
-00145 
-00146     // the crossovers
-00148     // the parameters
-00149   eoValueParam<double>& segmentRateParam
-00150       = _parser.getORcreateParam(double(1.0), "segmentRate",
-00151                                  "Relative rate for segment crossover",
-00152                                  's', "Genetic Operators" );
-00153   // minimum check
-00154   if ( (segmentRateParam.value() < 0) )
-00155     throw std::runtime_error("Invalid segmentRate");
-00156 
-00157   eoValueParam<double>& arithmeticRateParam
-00158       = _parser.getORcreateParam(double(2.0), "arithmeticRate",
-00159                                  "Relative rate for arithmetic crossover",
-00160                                  'A', "Genetic Operators" );
-00161   // minimum check
-00162   if ( (arithmeticRateParam.value() < 0) )
-00163     throw std::runtime_error("Invalid arithmeticRate");
-00164 
-00165     // minimum check
-00166   bool bCross = true;
-00167   if (segmentRateParam.value()+arithmeticRateParam.value()==0)
-00168     {
-00169       std::cerr << "Warning: no crossover" << std::endl;
-00170       bCross = false;
-00171     }
-00172 
-00173   // Create the CombinedQuadOp
-00174   eoPropCombinedQuadOp<EOT> *ptCombinedQuadOp = NULL;
-00175   eoQuadOp<EOT> *ptQuad = NULL;
-00176 
-00177   if (bCross)
-00178     {
-00179       // segment crossover for bitstring - pass it the bounds
-00180       ptQuad = new eoSegmentCrossover<EOT>(*ptBounds);
-00181       _state.storeFunctor(ptQuad);
-00182       ptCombinedQuadOp = new eoPropCombinedQuadOp<EOT>(*ptQuad, segmentRateParam.value());
-00183 
-00184         // arithmetic crossover
-00185       ptQuad = new eoArithmeticCrossover<EOT>(*ptBounds);
-00186       _state.storeFunctor(ptQuad);
-00187       ptCombinedQuadOp->add(*ptQuad, arithmeticRateParam.value());
-00188 
-00189       // don't forget to store the CombinedQuadOp
-00190       _state.storeFunctor(ptCombinedQuadOp);
-00191     }
-00192 
-00193   // the mutations
-00195   // the parameters
-00196   eoValueParam<double> & epsilonParam
-00197       = _parser.getORcreateParam(0.01, "epsilon", "Half-size of interval for Uniform Mutation",
-00198                                  'e', "Genetic Operators" );
-00199   // minimum check
-00200   if ( (epsilonParam.value() < 0) )
-00201     throw std::runtime_error("Invalid epsilon");
-00202 
-00203   eoValueParam<double> & uniformMutRateParam
-00204       = _parser.getORcreateParam(1.0, "uniformMutRate",
-00205                                  "Relative rate for uniform mutation", 'u', "Genetic Operators" );
-00206   // minimum check
-00207   if ( (uniformMutRateParam.value() < 0) )
-00208     throw std::runtime_error("Invalid uniformMutRate");
-00209 
-00210   eoValueParam<double> & detMutRateParam
-00211       = _parser.getORcreateParam(1.0, "detMutRate",
-00212                                  "Relative rate for deterministic uniform mutation",
-00213                                  'd', "Genetic Operators" );
-00214   // minimum check
-00215   if ( (detMutRateParam.value() < 0) )
-00216     throw std::runtime_error("Invalid detMutRate");
-00217 
-00218   eoValueParam<double> & normalMutRateParam
-00219       = _parser.getORcreateParam(1.0, "normalMutRate",
-00220                                  "Relative rate for Gaussian mutation",
-00221                                  'd', "Genetic Operators" );
-00222   // minimum check
-00223   if ( (normalMutRateParam.value() < 0) )
-00224     throw std::runtime_error("Invalid normalMutRate");
-00225   // and the sigma
-00226   eoValueParam<double> & sigmaParam
-00227       = _parser.getORcreateParam(1.0, "sigma",
-00228                                  "Sigma (fixed) for Gaussian mutation",
-00229                                  'S', "Genetic Operators" );
-00230   // minimum check
-00231   if ( (sigmaParam.value() < 0) )
-00232     throw std::runtime_error("Invalid sigma");
-00233 
-00234     // minimum check
-00235   bool bMut = true;
-00236   if (uniformMutRateParam.value()+detMutRateParam.value()+normalMutRateParam.value()==0)
-00237     {
-00238       std::cerr << "Warning: no mutation" << std::endl;
-00239       bMut = false;
-00240     }
-00241   if (!bCross && !bMut)
-00242     throw std::runtime_error("No operator called in SGA operator definition!!!");
-00243 
-00244     // Create the CombinedMonOp
-00245   eoPropCombinedMonOp<EOT> *ptCombinedMonOp = NULL;
-00246   eoMonOp<EOT> *ptMon = NULL;
-00247 
-00248   if (bMut)
-00249     {
-00250       // uniform mutation on all components:
-00251       // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-00252       ptMon = new eoUniformMutation<EOT>(*ptBounds, epsilonParam.value());
-00253       _state.storeFunctor(ptMon);
-00254       // create the CombinedMonOp
-00255       ptCombinedMonOp = new eoPropCombinedMonOp<EOT>(*ptMon, uniformMutRateParam.value());
-00256 
-00257         // mutate exactly 1 component (uniformly) per individual
-00258       ptMon = new eoDetUniformMutation<EOT>(*ptBounds, epsilonParam.value());
-00259       _state.storeFunctor(ptMon);
-00260       ptCombinedMonOp->add(*ptMon, detMutRateParam.value());
-00261 
-00262       // mutate all component using Gaussian mutation
-00263       ptMon = new eoNormalMutation<EOT>(*ptBounds, sigmaParam.value());
-00264       _state.storeFunctor(ptMon);
-00265       ptCombinedMonOp->add(*ptMon, normalMutRateParam.value());
-00266       _state.storeFunctor(ptCombinedMonOp);
-00267     }
-00268 
-00269   // now build the eoGenOp:
-00270   // to simulate SGA (crossover with proba pCross + mutation with proba pMut
-00271   // we must construct
-00272   //     a sequential combination of
-00273   //          with proba 1, a proportional combination of
-00274   //                        a QuadCopy and our crossover
-00275   //          with proba pMut, our mutation
-00276 
-00277   // the crossover - with probability pCross
-00278   eoProportionalOp<EOT> * cross = new eoProportionalOp<EOT> ;
-00279   _state.storeFunctor(cross);
-00280   ptQuad = new eoQuadCloneOp<EOT>;
-00281   _state.storeFunctor(ptQuad);
-00282   cross->add(*ptCombinedQuadOp, pCrossParam.value()); // user crossover
-00283   cross->add(*ptQuad, 1-pCrossParam.value()); // clone operator
-00284 
-00285   // now the sequential
-00286   eoSequentialOp<EOT> *op = new eoSequentialOp<EOT>;
-00287   _state.storeFunctor(op);
-00288   op->add(*cross, 1.0);  // always crossover (but clone with prob 1-pCross
-00289   op->add(*ptCombinedMonOp, pMutParam.value());
-00290 
-00291   // that's it!
-00292   return *op;
-00293 }
-00294 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/es_8h-source.html b/trunk/paradiseo-eo/doc/html/es_8h-source.html deleted file mode 100644 index 86a64c4fb..000000000 --- a/trunk/paradiseo-eo/doc/html/es_8h-source.html +++ /dev/null @@ -1,78 +0,0 @@ - - -EO: es.h Source File - - - - - -

es.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // es.h
-00005 // (c) GeNeura Team 1998 - Maarten Keijzer 2000 - Marc Schoenauer 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mak@dhi.dk
-00023              todos@geneura.ugr.es, http://geneura.ugr.es
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00032 #ifndef _es_h
-00033 #define _es_h
-00034 
-00035 // contains the include specific to real representations, i.e. in src/es dir
-00036 //-----------------------------------------------------------------------------
-00037  
-00038 // the genotypes - from plain std::vector<double> to full correlated mutation
-00039 #include <es/eoReal.h>
-00040 #include <es/eoEsSimple.h>
-00041 #include <es/eoEsStdev.h>
-00042 #include <es/eoEsFull.h>
-00043 
-00044 // the initialization
-00045 #include <es/eoEsChromInit.h>
-00046 
-00047 // general operators
-00048 #include <es/eoRealOp.h>
-00049 #include <es/eoNormalMutation.h>
-00050 #include <es/eoRealAtomXover.h> // for generic operators
-00051 
-00052 // SBX crossover (following Deb)
-00053 #include <es/eoSBXcross.h>
-00054 
-00055 // ES specific operators
-00056 #include <es/eoEsGlobalXover.h> // Global ES Xover
-00057 #include <es/eoEsStandardXover.h> // 2-parents ES Xover
-00058 
-00059 // the ES-mutations
-00060 #include <es/eoEsMutationInit.h>
-00061 #include <es/eoEsMutate.h>
-00062 
-00063 #endif
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/exercise1_83_8cpp-source.html b/trunk/paradiseo-eo/doc/html/exercise1_83_8cpp-source.html deleted file mode 100644 index 10ad2bd06..000000000 --- a/trunk/paradiseo-eo/doc/html/exercise1_83_8cpp-source.html +++ /dev/null @@ -1,159 +0,0 @@ - - -EO: exercise1.3.cpp Source File - - - - - -

exercise1.3.cpp

00001 #ifdef HAVE_CONFIG_H
-00002 #include <config.h>
-00003 #endif
-00004 
-00005 //-----------------------------------------------------------------------------
-00006 // FirstBitGA.cpp
-00007 //-----------------------------------------------------------------------------
-00008 //*
-00009 // An instance of a VERY simple Bitstring Genetic Algorithm
-00010 //
-00011 //-----------------------------------------------------------------------------
-00012 // standard includes
-00013 #include <iostream>
-00014 #include <stdexcept>
-00015 
-00016 // the general include for eo
-00017 #include <eo>
-00018 
-00019 //-----------------------------------------------------------------------------
-00020 // Include the corresponding file
-00021 #include <ga.h>          // bitstring representation & operators
-00022 // define your individuals
-00023 typedef eoBit<double> Indi;     // A bitstring with fitness double
-00024 
-00025 using namespace std;
-00026 
-00027 //-----------------------------------------------------------------------------
-00032 double binary_value(const Indi & _indi)
-00033 {
-00034   double sum = 0;
-00035   for (unsigned i = 0; i < _indi.size(); i++)
-00036     sum += _indi[i];
-00037   return sum;
-00038 }
-00039 
-00040 //-----------------------------------------------------------------------------
-00041 
-00042 void main_function(int argc, char **argv)
-00043 {
-00044   const unsigned int SEED = 42; // seed for random number generator
-00045   const unsigned int VEC_SIZE = 8; // Number of bits in genotypes
-00046   const unsigned int POP_SIZE = 20; // Size of population
-00047   const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-00048   const float CROSS_RATE = 0.8; // Crossover rate
-00049   const double P_MUT_PER_BIT = 0.01;    // probability of bit-flip mutation
-00050   const float MUT_RATE = 1.0;   // mutation rate
-00051 
-00053   //  Random seed
-00055   //reproducible random seed: if you don't change SEED above,
-00056   // you'll aways get the same result, NOT a random run
-00057   rng.reseed(SEED);
-00058 
-00060   // Fitness function
-00062   // Evaluation: from a plain C++ fn to an EvalFunc Object
-00063   eoEvalFuncPtr<Indi> eval(  binary_value );
-00064 
-00066   // Initilisation of population
-00068 
-00069   // declare the population
-00070   eoPop<Indi> pop;
-00071   // fill it!
-00072   for (unsigned int igeno=0; igeno<POP_SIZE; igeno++)
-00073     {
-00074       Indi v;           // void individual, to be filled
-00075       for (unsigned ivar=0; ivar<VEC_SIZE; ivar++)
-00076         {
-00077           bool r = rng.flip(); // new value, random in {0,1}
-00078           v.push_back(r);       // append that random value to v
-00079         }
-00080       eval(v);                  // evaluate it
-00081       pop.push_back(v);         // and put it in the population
-00082     }
-00083 
-00084   // sort pop before printing it!
-00085   pop.sort();
-00086   // Print (sorted) intial population (raw printout)
-00087   cout << "Initial Population" << endl;
-00088   cout << pop;
-00089 
-00091   // selection and replacement
-00093 
-00094   // solution solution solution: uncomment one of the following,
-00095   //                             comment out the eoDetTournament lines
-00096 
-00097   // The well-known roulette
-00098   // eoProportionalSelect<Indi> select;
-00099 
-00100   // could also use stochastic binary tournament selection
-00101   //
-00102   //  const double RATE = 0.75;
-00103   //  eoStochTournamentSelect<Indi> select(RATE);     // RATE in ]0.5,1]
-00104   // The robust tournament selection
-00105   const unsigned int T_SIZE = 3; // size for tournament selection
-00106   eoDetTournamentSelect<Indi> select(T_SIZE);       // T_SIZE in [2,POP_SIZE]
-00107 
-00108   // and of course the random selection
-00109   // eoRandomSelect<Indi> select;
-00110 
-00111   // The simple GA evolution engine uses generational replacement
-00112   // so no replacement procedure is needed
-00113 
-00115   // termination condition
-00117   // stop after MAX_GEN generations
-00118   eoGenContinue<Indi> continuator(MAX_GEN);
-00119 
-00120 
-00122   // The variation operators
-00124   // standard bit-flip mutation for bitstring
-00125   eoBitMutation<Indi>  mutation(P_MUT_PER_BIT);
-00126   // 1-point mutation for bitstring
-00127   eo1PtBitXover<Indi> xover;
-00128 
-00130   // the algorithm
-00132   // standard Generational GA requires as parameters
-00133   // selection, evaluation, crossover and mutation, stopping criterion
-00134 
-00135 
-00136   eoSGA<Indi> gga(select, xover, CROSS_RATE, mutation, MUT_RATE,
-00137                    eval, continuator);
-00138 
-00139   // Apply algo to pop - that's it!
-00140   gga(pop);
-00141 
-00142   // Print (sorted) intial population
-00143   pop.sort();
-00144   cout << "FINAL Population\n" << pop << endl;
-00145 }
-00146 
-00147 // A main that catches the exceptions
-00148 
-00149 int main(int argc, char **argv)
-00150 {
-00151 
-00152     try
-00153     {
-00154         main_function(argc, argv);
-00155     }
-00156     catch(exception& e)
-00157     {
-00158         cout << "Exception: " << e.what() << '\n';
-00159     }
-00160 
-00161     return 1;
-00162 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/exercise2_83_8cpp-source.html b/trunk/paradiseo-eo/doc/html/exercise2_83_8cpp-source.html deleted file mode 100644 index a78228a4a..000000000 --- a/trunk/paradiseo-eo/doc/html/exercise2_83_8cpp-source.html +++ /dev/null @@ -1,198 +0,0 @@ - - -EO: exercise2.3.cpp Source File - - - - - -

exercise2.3.cpp

00001 //-----------------------------------------------------------------------------
-00002 // FirstBitEA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 //*
-00005 // Still an instance of a VERY simple Bitstring Genetic Algorithm
-00006 // (see FirstBitGA.cpp) but now with  Breeder - and Combined Ops
-00007 //
-00008 //-----------------------------------------------------------------------------
-00009 #ifdef HAVE_CONFIG_H
-00010 #include <config.h>
-00011 #endif
-00012 
-00013 // standard includes
-00014 #include <stdexcept>  // runtime_error
-00015 #include <iostream>   // cout
-00016 
-00017 // the general include for eo
-00018 #include <eo>
-00019 
-00020 // REPRESENTATION
-00021 //-----------------------------------------------------------------------------
-00022 // Include the corresponding file
-00023 #include <ga.h>          // bitstring representation & operators
-00024 // define your individuals
-00025 typedef eoBit<double> Indi;     // A bitstring with fitness double
-00026 
-00027 // EVAL
-00028 //-----------------------------------------------------------------------------
-00029 // a simple fitness function that computes the number of ones of a bitstring
-00030 // Now in a separate file, and declared as binary_value(const vector<bool> &)
-00031 
-00032 #include "binary_value.h"
-00033 
-00034 // GENERAL
-00035 //-----------------------------------------------------------------------------
-00036 
-00037 using namespace std;
-00038 
-00039 void main_function(int argc, char **argv)
-00040 {
-00041 // PARAMETRES
-00042   const unsigned int SEED = 42; // seed for random number generator
-00043   const unsigned int T_SIZE = 3; // size for tournament selection
-00044   const unsigned int VEC_SIZE = 20; // Number of bits in genotypes
-00045   const unsigned int POP_SIZE = 20; // Size of population
-00046 
-00047   const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-00048   const unsigned int MIN_GEN = 10;  // Minimum number of generation before ...
-00049   const unsigned int STEADY_GEN = 50; // stop after STEADY_GEN gen. without improvelent
-00050 
-00051   const double P_CROSS = 0.8;   // Crossover probability
-00052   const double P_MUT = 1.0;     // mutation probability
-00053 
-00054   const double P_MUT_PER_BIT = 0.01;    // internal probability for bit-flip mutation
-00055   // some parameters for chosing among different operators
-00056   const double onePointRate = 0.5;     // rate for 1-pt Xover
-00057   const double twoPointsRate = 0.5;     // rate for 2-pt Xover
-00058   const double URate = 0.5;            // rate for Uniform Xover
-00059   const double bitFlipRate = 0.5;      // rate for bit-flip mutation
-00060   const double oneBitRate = 0.5;       // rate for one-bit mutation
-00061 
-00062 // GENERAL
-00064   //  Random seed
-00066   //reproducible random seed: if you don't change SEED above,
-00067   // you'll aways get the same result, NOT a random run
-00068   rng.reseed(SEED);
-00069 
-00070 // EVAL
-00072   // Fitness function
-00074   // Evaluation: from a plain C++ fn to an EvalFunc Object
-00075   // you need to give the full description of the function
-00076   eoEvalFuncPtr<Indi, double, const vector<bool>& > eval(  binary_value );
-00077 
-00078 // INIT
-00080   // Initilisation of population
-00082 
-00083   // based on boolean_generator class (see utils/rnd_generator.h)
-00084   eoUniformGenerator<bool> uGen;
-00085   eoInitFixedLength<Indi> random(VEC_SIZE, uGen);
-00086   // Initialization of the population
-00087   eoPop<Indi> pop(POP_SIZE, random);
-00088 
-00089   // and evaluate it in one loop
-00090   apply<Indi>(eval, pop);       // STL syntax
-00091 
-00092 // OUTPUT
-00093   // sort pop before printing it!
-00094   pop.sort();
-00095   // Print (sorted) intial population (raw printout)
-00096   cout << "Initial Population" << endl;
-00097   cout << pop;
-00098 
-00099 // ENGINE
-00101   // selection and replacement
-00103 // SELECT
-00104   // The robust tournament selection
-00105   eoDetTournamentSelect<Indi> selectOne(T_SIZE);       // T_SIZE in [2,POP_SIZE]
-00106   // solution solution solution solution solution solution solution
-00107   // modify the nb offspring / rate in the constructor. 2 ways:
-00108   // second arg treated as integer
-00109   eoSelectMany<Indi> select(selectOne,2, eo_is_an_integer);
-00110   // second arg treated as a rate (default behavior)
-00111   //  eoSelectMany<Indi> select(selectOne,0.1);
-00112 
-00113 // REPLACE
-00114   // solution solution solution solution solution solution solution
-00115   // eoCommaReplacement keeps the best among offspring
-00116   // eoPlusReplacement keeps the best among parents + offspring
-00117   //  eoCommaReplacement<Indi> replace;
-00118   eoPlusReplacement<Indi> replace;
-00119 
-00120 // OPERATORS
-00122   // The variation operators
-00124 // CROSSOVER
-00125   // 1-point crossover for bitstring
-00126   eo1PtBitXover<Indi> xover1;
-00127   // uniform crossover for bitstring
-00128   eoUBitXover<Indi> xoverU;
-00129   // 2-pots xover
-00130   eoNPtsBitXover<Indi> xover2(2);
-00131   // Combine them with relative rates
-00132   eoPropCombinedQuadOp<Indi> xover(xover1, onePointRate);
-00133   xover.add(xoverU, URate);
-00134   xover.add(xover2, twoPointsRate, true);
-00135 
-00136 // MUTATION
-00137   // standard bit-flip mutation for bitstring
-00138   eoBitMutation<Indi>  mutationBitFlip(P_MUT_PER_BIT);
-00139   // mutate exactly 1 bit per individual
-00140   eoDetBitFlip<Indi> mutationOneBit;
-00141   // Combine them with relative rates
-00142   eoPropCombinedMonOp<Indi> mutation(mutationBitFlip, bitFlipRate);
-00143   mutation.add(mutationOneBit, oneBitRate, true);
-00144 
-00145   // The operators are  encapsulated into an eoTRansform object
-00146   eoSGATransform<Indi> transform(xover, P_CROSS, mutation, P_MUT);
-00147 
-00148 // STOP
-00149 // CHECKPOINT
-00151   // termination conditions: use more than one
-00153   // stop after MAX_GEN generations
-00154   eoGenContinue<Indi> genCont(MAX_GEN);
-00155   // do MIN_GEN gen., then stop after STEADY_GEN gen. without improvement
-00156   eoSteadyFitContinue<Indi> steadyCont(MIN_GEN, STEADY_GEN);
-00157   // stop when fitness reaches a target (here VEC_SIZE)
-00158   eoFitContinue<Indi> fitCont(VEC_SIZE);
-00159   // do stop when one of the above says so
-00160   eoCombinedContinue<Indi> continuator(genCont);
-00161   continuator.add(steadyCont);
-00162   continuator.add(fitCont);
-00163 
-00164 // GENERATION
-00166   // the algorithm
-00168 
-00169   // Easy EA requires
-00170   // selection, transformation, eval, replacement, and stopping criterion
-00171   eoEasyEA<Indi> gga(continuator, eval, select, transform, replace);
-00172 
-00173   // Apply algo to pop - that's it!
-00174   gga(pop);
-00175 
-00176 // OUTPUT
-00177   // Print (sorted) intial population
-00178   pop.sort();
-00179   cout << "FINAL Population\n" << pop << endl;
-00180 // GENERAL
-00181 }
-00182 
-00183 // A main that catches the exceptions
-00184 
-00185 int main(int argc, char **argv)
-00186 {
-00187     try
-00188     {
-00189         main_function(argc, argv);
-00190     }
-00191     catch(exception& e)
-00192     {
-00193         cout << "Exception: " << e.what() << '\n';
-00194     }
-00195 
-00196     return 1;
-00197 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/exercise3_81_8cpp-source.html b/trunk/paradiseo-eo/doc/html/exercise3_81_8cpp-source.html deleted file mode 100644 index 4c4afb905..000000000 --- a/trunk/paradiseo-eo/doc/html/exercise3_81_8cpp-source.html +++ /dev/null @@ -1,407 +0,0 @@ - - -EO: exercise3.1.cpp Source File - - - - - -

exercise3.1.cpp

00001 //-----------------------------------------------------------------------------
-00002 // SecondBitGA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 //*
-00005 // Same code than FirstBitEA as far as Evolutionary Computation is concerned
-00006 // but now you learn to enter the parameters in a more flexible way
-00007 // and to twidle the output to your preferences!
-00008 //-----------------------------------------------------------------------------
-00009 #ifdef HAVE_CONFIG_H
-00010 #include <config.h>
-00011 #endif
-00012 
-00013 // standard includes
-00014 #include <fstream>
-00015 #include <iostream>   // cout
-00016 #include <stdexcept>  // runtime_error
-00017 
-00018 // the general include for eo
-00019 #include <eo>
-00020 
-00021 // EVAL
-00022 #include "binary_value.h"
-00023 
-00024 // REPRESENTATION
-00025 //-----------------------------------------------------------------------------
-00026 // Include the corresponding file
-00027 #include <ga.h>          // bitstring representation & operators
-00028 // define your genotype and fitness types
-00029 typedef eoBit<eoMinimizingFitness> Indi;
-00030 
-00031 using namespace std;
-00032 
-00033 // the main_function: nothing changed(!), except variable initialization
-00034 void main_function(int argc, char **argv)
-00035 {
-00036 // PARAMETRES
-00037 //-----------------------------------------------------------------------------
-00038 // instead of having all values of useful parameters as constants, read them:
-00039 // either on the command line (--option=value or -o=value)
-00040 //     or in a parameter file (same syntax, order independent,
-00041 //                             # = usual comment character
-00042 //     or in the environment (TODO)
-00043 
-00044   // First define a parser from the command-line arguments
-00045     eoParser parser(argc, argv);
-00046 
-00047     // For each parameter, define Parameter, read it through the parser,
-00048     // and assign the value to the variable
-00049 
-00050     eoValueParam<uint32_t> seedParam(time(0), "seed", "Random number seed", 'S');
-00051     parser.processParam( seedParam );
-00052     unsigned seed = seedParam.value();
-00053 
-00054    // description of genotype
-00055     eoValueParam<unsigned int> vecSizeParam(100, "vecSize", "Genotype size",'V');
-00056     parser.processParam( vecSizeParam, "Representation" );
-00057     unsigned vecSize = vecSizeParam.value();
-00058 
-00059    // parameters for evolution engine
-00060     eoValueParam<unsigned int> popSizeParam(100, "popSize", "Population size",'P');
-00061     parser.processParam( popSizeParam, "Evolution engine" );
-00062     unsigned popSize = popSizeParam.value();
-00063 
-00064     eoValueParam<unsigned int> tSizeParam(10, "tSize", "Tournament size",'T');
-00065     parser.processParam( tSizeParam, "Evolution Engine" );
-00066     unsigned tSize = tSizeParam.value();
-00067 
-00068    // init and stop
-00069     eoValueParam<string> loadNameParam("", "Load","A save file to restart from",'L');
-00070     parser.processParam( loadNameParam, "Persistence" );
-00071     string loadName = loadNameParam.value();
-00072 
-00073     eoValueParam<unsigned int> maxGenParam(500, "maxGen", "Maximum number of generations",'G');
-00074     parser.processParam( maxGenParam, "Stopping criterion" );
-00075     unsigned maxGen = maxGenParam.value();
-00076 
-00077     eoValueParam<unsigned int> minGenParam(500, "minGen", "Minimum number of generations",'g');
-00078     parser.processParam( minGenParam, "Stopping criterion" );
-00079     unsigned minGen = minGenParam.value();
-00080 
-00081     eoValueParam<unsigned int> steadyGenParam(100, "steadyGen", "Number of generations with no improvement",'s');
-00082     parser.processParam( steadyGenParam, "Stopping criterion" );
-00083     unsigned steadyGen = steadyGenParam.value();
-00084 
-00085    // operators probabilities at the algorithm level
-00086     eoValueParam<double> pCrossParam(0.6, "pCross", "Probability of Crossover", 'C');
-00087     parser.processParam( pCrossParam, "Genetic Operators" );
-00088     double pCross = pCrossParam.value();
-00089 
-00090     eoValueParam<double> pMutParam(0.1, "pMut", "Probability of Mutation", 'M');
-00091     parser.processParam( pMutParam, "Genetic Operators" );
-00092     double pMut = pMutParam.value();
-00093 
-00094    // relative rates for crossovers
-00095     eoValueParam<double> onePointRateParam(1, "onePointRate", "Relative rate for one point crossover", '1');
-00096     parser.processParam( onePointRateParam, "Genetic Operators" );
-00097     double onePointRate = onePointRateParam.value();
-00098 
-00099     eoValueParam<double> twoPointsRateParam(1, "twoPointRate", "Relative rate for two point crossover", '2');
-00100     parser.processParam( twoPointsRateParam, "Genetic Operators" );
-00101     double twoPointsRate = twoPointsRateParam.value();
-00102 
-00103     eoValueParam<double> uRateParam(2, "uRate", "Relative rate for uniform crossover", 'U');
-00104     parser.processParam( uRateParam, "Genetic Operators" );
-00105     double URate =  uRateParam.value();
-00106 
-00107    // relative rates and private parameters for mutations;
-00108     eoValueParam<double> pMutPerBitParam(0.01, "pMutPerBit", "Probability of flipping 1 bit in bit-flip mutation", 'b');
-00109     parser.processParam( pMutPerBitParam, "Genetic Operators" );
-00110     double pMutPerBit = pMutPerBitParam.value();
-00111 
-00112     eoValueParam<double> bitFlipRateParam(0.01, "bitFlipRate", "Relative rate for bit-flip mutation", 'B');
-00113     parser.processParam( bitFlipRateParam, "Genetic Operators" );
-00114     double bitFlipRate =  bitFlipRateParam.value();
-00115 
-00116     eoValueParam<double> oneBitRateParam(0.01, "oneBitRate", "Relative rate for deterministic bit-flip mutation", 'D');
-00117     parser.processParam( oneBitRateParam, "Genetic Operators" );
-00118     double oneBitRate = oneBitRateParam.value();
-00119 
-00120     // the name of the "status" file where all actual parameter values will be saved
-00121     string str_status = parser.ProgramName() + ".status"; // default value
-00122     eoValueParam<string> statusParam(str_status.c_str(), "status","Status file",'S');
-00123     parser.processParam( statusParam, "Persistence" );
-00124 
-00125    // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED
-00126    // i.e. in case you need parameters somewhere else, postpone these
-00127     if (parser.userNeedsHelp())
-00128       {
-00129         parser.printHelp(cout);
-00130         exit(1);
-00131       }
-00132     if (statusParam.value() != "")
-00133       {
-00134         ofstream os(statusParam.value().c_str());
-00135         os << parser;           // and you can use that file as parameter file
-00136       }
-00137 
-00138 // EVAL
-00140   // Fitness function
-00142   // Evaluation: from a plain C++ fn to an EvalFunc Object ...
-00143   eoEvalFuncPtr<Indi, double, const vector<bool>& > plainEval( binary_value );
-00144   // ... to an object that counts the nb of actual evaluations
-00145   eoEvalFuncCounter<Indi> eval(plainEval);
-00146 
-00147 // INIT
-00149   // Initilisation of population
-00151   // Either load or initialize
-00152   // create an empty pop
-00153   eoPop<Indi> pop;
-00154   // create a state for reading
-00155   eoState inState;              // a state for loading - WITHOUT the parser
-00156   // register the rng and the pop in the state, so they can be loaded,
-00157   // and the present run will be the exact conitnuation of the saved run
-00158   // eventually with different parameters
-00159   inState.registerObject(rng);
-00160   inState.registerObject(pop);
-00161 
-00162   if (loadName != "")
-00163     {
-00164       inState.load(loadName); //  load the pop and the rng
-00165       // the fitness is read in the file:
-00166       // do only evaluate the pop if the fitness has changed
-00167     }
-00168   else
-00169     {
-00170       rng.reseed(seed);
-00171       // a Indi random initializer
-00172       // based on boolean_generator class (see utils/rnd_generator.h)
-00173       eoUniformGenerator<bool> uGen;
-00174       eoInitFixedLength<Indi> random(vecSize, uGen);
-00175 
-00176       // Init pop from the randomizer: need to use the append function
-00177       pop.append(popSize, random);
-00178       // and evaluate pop (STL syntax)
-00179       apply<Indi>(eval, pop);
-00180     } // end of initializatio of the population
-00181 
-00182 // OUTPUT
-00183   // sort pop for pretty printout
-00184   //   pop.sort();
-00185   // Print (sorted) intial population (raw printout)
-00186   cout << "Initial Population" << endl << pop ;
-00187   cout << "and best is " << pop.best_element() << "\n\n";
-00188   cout << "and worse is " << pop.worse_element() << "\n\n";
-00189 // ENGINE
-00191   // selection and replacement
-00193 // SELECT
-00194   // The robust tournament selection
-00195   eoDetTournamentSelect<Indi> selectOne(tSize);       // tSize in [2,POPSIZE]
-00196   // is now encapsulated in a eoSelectPerc (entage)
-00197   eoSelectPerc<Indi> select(selectOne);// by default rate==1
-00198 
-00199 // REPLACE
-00200   // And we now have the full slection/replacement - though with
-00201   // generational replacement at the moment :-)
-00202   eoGenerationalReplacement<Indi> replace;
-00203   // want to add (weak) elitism? easy!
-00204   // rename the eoGenerationalReplacement replace_main,
-00205   // then encapsulate it in the elitist replacement
-00206   //  eoWeakElitistReplacement<Indi> replace(replace_main);
-00207 
-00208 // OPERATORS
-00210   // The variation operators
-00212 // CROSSOVER
-00213   // 1-point crossover for bitstring
-00214   eo1PtBitXover<Indi> xover1;
-00215   // uniform crossover for bitstring
-00216   eoUBitXover<Indi> xoverU;
-00217   // 2-pots xover
-00218   eoNPtsBitXover<Indi> xover2(2);
-00219   // Combine them with relative rates
-00220   eoPropCombinedQuadOp<Indi> xover(xover1, onePointRate);
-00221   xover.add(xoverU, URate);
-00222   xover.add(xover2, twoPointsRate, true);
-00223 
-00224 // MUTATION
-00225   // standard bit-flip mutation for bitstring
-00226   eoBitMutation<Indi>  mutationBitFlip(pMutPerBit);
-00227   // mutate exactly 1 bit per individual
-00228   eoDetBitFlip<Indi> mutationOneBit;
-00229   // Combine them with relative rates
-00230   eoPropCombinedMonOp<Indi> mutation(mutationBitFlip, bitFlipRate);
-00231   mutation.add(mutationOneBit, oneBitRate, true);
-00232 
-00233   // The operators are  encapsulated into an eoTRansform object
-00234   eoSGATransform<Indi> transform(xover, pCross, mutation, pMut);
-00235 
-00236 // STOP
-00238   // termination condition see FirstBitEA.cpp
-00240   eoGenContinue<Indi> genCont(maxGen);
-00241   eoSteadyFitContinue<Indi> steadyCont(minGen, steadyGen);
-00242   // eoFitContinue<Indi> fitCont(vecSize);   // remove if minimizing :-)
-00243   eoCombinedContinue<Indi> continuator(genCont);
-00244   continuator.add(steadyCont);
-00245   //  continuator.add(fitCont);
-00246   // Ctrl C signal handling: don't know if that works in MSC ...
-00247 #ifndef _MSC_VER
-00248   eoCtrlCContinue<Indi> ctrlC;
-00249   continuator.add(ctrlC);
-00250 #endif
-00251 
-00252 // CHECKPOINT
-00253   // but now you want to make many different things every generation
-00254   // (e.g. statistics, plots, ...).
-00255   // the class eoCheckPoint is dedicated to just that:
-00256 
-00257   // Declare a checkpoint (from a continuator: an eoCheckPoint
-00258   // IS AN eoContinue and will be called in the loop of all algorithms)
-00259   eoCheckPoint<Indi> checkpoint(continuator);
-00260 
-00261     // Create a counter parameter
-00262     eoValueParam<unsigned> generationCounter(0, "Gen.");
-00263 
-00264     // Create an incrementor (sub-class of eoUpdater). Note that the
-00265     // parameter's value is passed by reference,
-00266     // so every time the incrementer is updated (every generation),
-00267     // the data in generationCounter will change.
-00268     eoIncrementor<unsigned> increment(generationCounter.value());
-00269 
-00270     // Add it to the checkpoint,
-00271     // so the counter is updated (here, incremented) every generation
-00272     checkpoint.add(increment);
-00273 
-00274     // now some statistics on the population:
-00275     // Best fitness in population
-00276     eoBestFitnessStat<Indi> bestStat;
-00277     eoAverageStat<Indi> averageStat;
-00278     // Second moment stats: average and stdev
-00279     eoSecondMomentStats<Indi> SecondStat;
-00280     // the Fitness Distance Correlation
-00281     // need first an object to compute the distances
-00282     eoQuadDistance<Indi> dist;  // Hamming distance
-00283     eoFDCStat<Indi> fdcStat(dist);
-00284 
-00285     // Add them to the checkpoint to get them called at the appropriate time
-00286     checkpoint.add(bestStat);
-00287     checkpoint.add(averageStat);
-00288     checkpoint.add(SecondStat);
-00289     checkpoint.add(fdcStat);
-00290 
-00291     // The Stdout monitor will print parameters to the screen ...
-00292     eoStdoutMonitor monitor(false);
-00293 
-00294     // when called by the checkpoint (i.e. at every generation)
-00295     checkpoint.add(monitor);
-00296 
-00297     // the monitor will output a series of parameters: add them
-00298     monitor.add(generationCounter);
-00299     monitor.add(eval);          // because now eval is an eoEvalFuncCounter!
-00300     monitor.add(bestStat);
-00301     monitor.add(SecondStat);
-00302     monitor.add(fdcStat);
-00303 
-00304     // test de eoPopStat and/or eoSortedPopStat.
-00305     // Dumps the whole pop every 10 gen.
-00306     //    eoSortedPopStat<Indi> popStat(10, "Dump of whole population");
-00307 //     eoPopStat<Indi> popStat(10, "Dump of whole population");
-00308 //     checkpoint.add(popStat);
-00309 //     monitor.add(popStat);
-00310 
-00311     // A file monitor: will print parameters to ... a File, yes, you got it!
-00312     eoFileMonitor fileMonitor("stats.xg", " ");
-00313 
-00314     // the checkpoint mechanism can handle monitors
-00315     checkpoint.add(fileMonitor);
-00316 
-00317     // the fileMonitor can monitor parameters, too, but you must tell it!
-00318     fileMonitor.add(generationCounter);
-00319     fileMonitor.add(bestStat);
-00320     fileMonitor.add(SecondStat);
-00321 
-00322 #ifndef _MSC_VER
-00323     // and an eoGnuplot1DMonitor will 1-print to a file, and 2- plot on screen
-00324     eoGnuplot1DMonitor gnuMonitor("best_average.xg",minimizing_fitness<Indi>());
-00325     // the checkpoint mechanism can handle multiple monitors
-00326     checkpoint.add(gnuMonitor);
-00327     // the gnuMonitor can monitor parameters, too, but you must tell it!
-00328     gnuMonitor.add(eval);
-00329     gnuMonitor.add(bestStat);
-00330     gnuMonitor.add(averageStat);
-00331 
-00332     // send a scaling command to gnuplot
-00333     gnuMonitor.gnuplotCommand("set yrange [0:500]");
-00334 
-00335     // a specific plot monitor for FDC
-00336     // first into a file (it adds everything ti itself
-00337     eoFDCFileSnapshot<Indi> fdcFileSnapshot(fdcStat);
-00338     // then to a Gnuplot monitor
-00339     eoGnuplot1DSnapshot fdcGnuplot(fdcFileSnapshot);
-00340     // and of coruse add them to the checkPoint
-00341     checkpoint.add(fdcFileSnapshot);
-00342     checkpoint.add(fdcGnuplot);
-00343 
-00344     // want to see how the fitness is spread?
-00345     eoScalarFitnessStat<Indi> fitStat;
-00346     checkpoint.add(fitStat);
-00347     // a gnuplot-based monitor for snapshots: needs a dir name
-00348     // where to store the files
-00349     eoGnuplot1DSnapshot fitSnapshot("Fitnesses");
-00350     // add any stat that is a vector<double> to it
-00351     fitSnapshot.add(fitStat);
-00352     // and of course add it to the checkpoint
-00353     checkpoint.add(fitSnapshot);
-00354 #endif
-00355     // Last type of item the eoCheckpoint can handle: state savers:
-00356     eoState outState;
-00357     // Register the algorithm into the state (so it has something to save!!)
-00358     outState.registerObject(rng);
-00359     outState.registerObject(pop);
-00360 
-00361     // and feed the state to state savers
-00362     // save state every 100th  generation
-00363     eoCountedStateSaver stateSaver1(100, outState, "generation");
-00364     // save state every 1 seconds
-00365     eoTimedStateSaver   stateSaver2(1, outState, "time");
-00366 
-00367     // Don't forget to add the two savers to the checkpoint
-00368     checkpoint.add(stateSaver1);
-00369     checkpoint.add(stateSaver2);
-00370     // and that's it for the (control and) output
-00371 
-00372 // GENERATION
-00374   // the algorithm
-00376 
-00377   // Easy EA requires
-00378   // selection, transformation, eval, replacement, and stopping criterion
-00379   eoEasyEA<Indi> gga(checkpoint, eval, select, transform, replace);
-00380 
-00381   // Apply algo to pop - that's it!
-00382   gga(pop);
-00383 
-00384 // OUTPUT
-00385   // Print (sorted) intial population
-00386   pop.sort();
-00387   cout << "FINAL Population\n" << pop << endl;
-00388 // GENERAL
-00389 }
-00390 
-00391 // A main that catches the exceptions
-00392 int main(int argc, char **argv)
-00393 {
-00394     try
-00395     {
-00396         main_function(argc, argv);
-00397     }
-00398     catch(exception& e)
-00399     {
-00400         cout << "Exception: " << e.what() << '\n';
-00401     }
-00402 
-00403     return 1;
-00404 }
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/files.html b/trunk/paradiseo-eo/doc/html/files.html deleted file mode 100644 index 91331fef2..000000000 --- a/trunk/paradiseo-eo/doc/html/files.html +++ /dev/null @@ -1,431 +0,0 @@ - - -EO: File Index - - - - -

EO File List

Here is a list of all documented files with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
abstract1.cpp [code]
algos.cpp [code]
apply.h [code]
test/binary_value.h [code]
tutorial/Lesson2/binary_value.h [code]
tutorial/Lesson3/binary_value.h [code]
tutorial/Lesson4/binary_value.h [code]
BitEA.cpp [code]
BoundsCheck.cpp [code]
BoundsCheck.h [code]
breeders.cpp [code]
CMAParams.cpp [code]
CMAParams.h [code]
CMAState.cpp [code]
CMAState.h [code]
compatibility.h [code]
continuators.cpp [code]
Dataset.cpp [code]
Dataset.h [code]
def_abstract_functor.h [code]
eig.cpp [code]
eig.h [code]
EO.h [code]
eoAged.h [code]
eoAlgo.h [code]
eoAssembledFitnessStat.h [code]
eoBit.h [code]
eoBitOp.h [code]
eoBitOpFactory.h [code]
eoBoolFlip.h [code]
eoBreed.h [code]
eoCellularEasyEA.h [code]
eoCheckPoint.h [code]
eoCloneOps.h [code]
eoCMABreed.h [code]
eoCMAInit.h [code]
eoCombinedContinue.h [code]
eoCombinedInit.h [code]
eoContinue.h [code]
eoCounter.h [code]
eoCtrlCContinue.cpp [code]
eoCtrlCContinue.h [code]
eoData.cpp [code]
eoData.h [code]
eoDetSelect.h [code]
eoDetTournamentSelect.h [code]
eoDistance.h [code]
eoDistribUpdater.h [code]
eoDistribution.h [code]
eoDominanceMap.h [code]
eoDrawable.h [code]
eoEasyEA.h [code]
eoEDA.h [code]
eoEsChromInit.h [code]
eoEsFull.h [code]
eoEsGlobalXover.h [code]
eoEsMutate.h [code]
eoEsMutationInit.h [code]
eoEsSimple.h [code]
eoEsStandardXover.h [code]
eoEsStdev.h [code]
eoEvalContinue.h [code]
eoEvalFunc.h [code]
eoEvalFuncCounter.h [code]
eoEvalFuncPtr.h [code]
eoExternalEO.h [code]
eoExternalOpFunctions.h [code]
eoFactory.h [code]
eoFDCStat.h [code]
eoFileMonitor.cpp [code]
eoFileMonitor.h [code]
eoFileSnapshot.h [code]
eoFitContinue.h [code]
eoFitnessScalingSelect.h [code]
eoFlOrBinOp.h [code]
eoFlOrMonOp.h [code]
eoFlOrQuadOp.h [code]
eoFunctor.h [code]
eoFunctorStore.cpp [code]
eoFunctorStore.h [code]
eoG3Replacement.h [code]
eoGenContinue.h [code]
eoGeneralBreeder.h [code]
eoGenOp.h [code]
eoGnuplot.cpp [code]
eoGnuplot.h [code]
eoGnuplot1DMonitor.cpp [code]
eoGnuplot1DMonitor.h [code]
eoGnuplot1DSnapshot.cpp [code]
eoGnuplot1DSnapshot.h [code]
eoHowMany.h [code]
eoInit.h [code]
eoInitVirus.h [code]
eoIntBounds.cpp [code]
eoIntBounds.h [code]
eoInvalidateOps.h [code]
eoLinearFitScaling.h [code]
eoMerge.h [code]
eoMergeReduce.h [code]
eoMGGReplacement.h [code]
eoMOFitnessStat.h [code]
eoMonitor.h [code]
eoNDSorting.h [code]
eoNormalMutation.h [code]
eoObject.h [code]
eoOneMax.h [code]
eoOneMaxEvalFunc.h [code]
eoOneMaxInit.h [code]
eoOneMaxMutation.h [code]
eoOneMaxQuadCrossover.h [code]
eoOneToOneBreeder.h [code]
eoOp.h [code]
eoOpContainer.h [code]
eoOpSelMason.h [code]
eoParam.h [code]
eoParetoConstraintFitness.h [code]
eoParetoFitness.cpp [code]
eoParetoFitness.h [code]
eoParetoRanking.h [code]
eoParser.cpp [code]
eoParser.h [code]
eoParseTree.h [code]
eoParseTreeDepthInit.h [code]
eoParseTreeOp.h [code]
eoPBILAdditive.h [code]
eoPBILDistrib.h [code]
eoPBILOrg.h [code]
eoPerf2Worth.h [code]
eoPeriodicContinue.h [code]
eoPersistent.cpp [code]
eoPersistent.h [code]
eoPop.h [code]
eoPopAlgo.h [code]
eoPopEvalFunc.h [code]
eoPopStat.h [code]
eoPopulator.h [code]
eoPrintable.cpp [code]
eoPrintable.h [code]
eoPropGAGenOp.h [code]
eoProportionalCombinedOp.h [code]
eoProportionalSelect.h [code]
eoRandomSelect.h [code]
eoRanking.h [code]
eoRankingSelect.h [code]
eoReal.h [code]
eoRealAtomXover.h [code]
eoRealBounds.cpp [code]
eoRealBounds.h [code]
eoRealInitBounded.h [code]
eoRealOp.h [code]
eoRealVectorBounds.h [code]
eoReduce.h [code]
eoReduceMerge.h [code]
eoReduceMergeReduce.h [code]
eoReduceSplit.h [code]
eoReplacement.h [code]
eoRndGenerators.h [code]
eoRNG.cpp [code]
eoRNG.h [code]
eoSBXcross.h [code]
eoScalarFitness.h [code]
eoScalarFitnessAssembled.cpp [code]
eoScalarFitnessAssembled.h [code]
eoScalarFitnessStat.h [code]
eoSelect.h [code]
eoSelectFactory.h [code]
eoSelectFromWorth.h [code]
eoSelectMany.h [code]
eoSelectNumber.h [code]
eoSelectOne.h [code]
eoSelectPerc.h [code]
eoSequentialSelect.h [code]
eoSGA.h [code]
eoSGAGenOp.h [code]
eoSGATransform.h [code]
eoSharing.h [code]
eoSharingSelect.h [code]
eoSimpleEDA.h [code]
eoStat.h [code]
eoState.cpp [code]
eoState.h [code]
eoStdoutMonitor.cpp [code]
eoStdoutMonitor.h [code]
eoSteadyFitContinue.h [code]
eoSTLFunctor.h [code]
eoStochasticUniversalSelect.h [code]
eoStochTournamentSelect.h [code]
eoStParseTreeDepthInit.h [code]
eoStParseTreeOp.h [code]
eoString.h [code]
eoSurviveAndDie.h [code]
eoSym.h [code]
eoSymCrossover.cpp [code]
eoSymCrossover.h [code]
eoSymEval.h [code]
eoSymInit.h [code]
eoSymLambdaMutate.cpp [code]
eoSymLambdaMutate.h [code]
eoSymMutate.cpp [code]
eoSymMutate.h [code]
eoTimeCounter.h [code]
eoTimedMonitor.h [code]
eoTransform.h [code]
eoTruncatedSelectMany.h [code]
eoTruncatedSelectOne.h [code]
eoTruncSelect.h [code]
eoUniformInit.h [code]
eoUpdatable.h [code]
eoUpdater.cpp [code]
eoUpdater.h [code]
eoVariableLengthCrossover.h [code]
eoVariableLengthMutation.h [code]
eoVector.h [code]
eoVirus.h [code]
ErrorMeasure.cpp [code]
ErrorMeasure.h [code]
es.h [code]
ESEA.cpp [code]
exercise1.3.cpp [code]
exercise2.3.cpp [code]
exercise3.1.cpp [code]
FirstBitEA.cpp [code]
FirstBitGA.cpp [code]
FirstRealEA.cpp [code]
FirstRealGA.cpp [code]
fitness.h [code]
fitness_traits.cpp [code]
FunDef.cpp [code]
FunDef.h [code]
ga.h [code]
geneticOps.cpp [code]
gprop.cpp [code]
gprop.h [code]
index.h [code]
Interval.h [code]
l2.h [code]
LanguageTable.cpp [code]
LanguageTable.h [code]
main.cpp [code]
make_algo_easea.h [code]
make_algo_pareto.h [code]
make_algo_scalar.h [code]
make_algo_scalar_es.cpp [code]
make_algo_scalar_ga.cpp [code]
make_algo_scalar_real.cpp [code]
make_checkpoint.h [code]
make_checkpoint_assembled.h [code]
make_checkpoint_es.cpp [code]
make_checkpoint_FDC.h [code]
make_checkpoint_ga.cpp [code]
make_checkpoint_pareto.h [code]
make_checkpoint_real.cpp [code]
make_continue.h [code]
make_continue_es.cpp [code]
make_continue_ga.cpp [code]
make_continue_pareto.h [code]
make_continue_real.cpp [code]
make_es.h [code]
make_ga.h [code]
make_general_replacement.h [code]
make_genotype_es.cpp [code]
make_genotype_ga.cpp [code]
make_genotype_ga.h [code]
make_genotype_MyStruct.h [code]
make_genotype_OneMax.h [code]
make_genotype_real.cpp [code]
make_genotype_real.h [code]
make_help.cpp [code]
make_MyStruct.cpp [code]
make_OneMax.cpp [code]
es/make_op.h [code]
ga/make_op.h [code]
make_op_es.cpp [code]
make_op_es.h [code]
make_op_ga.cpp [code]
make_op_MyStruct.h [code]
make_op_OneMax.h [code]
make_op_real.cpp [code]
make_op_real.h [code]
make_PBILdistrib.h [code]
make_PBILupdate.h [code]
make_pop.h [code]
make_pop_es.cpp [code]
make_pop_ga.cpp [code]
make_pop_real.cpp [code]
make_real.h [code]
make_run.h [code]
make_run_es.cpp [code]
make_run_ga.cpp [code]
make_run_real.cpp [code]
mastermind.cpp [code]
mastermind.h [code]
matrices.h [code]
mergers.cpp [code]
mlp.h [code]
monitors.cpp [code]
mse.h [code]
MultiFuncs.cpp [code]
MultiFunction.cpp [code]
MultiFunction.h [code]
MyStructEA.cpp [code]
MyStructLibEA.cpp [code]
MyStructSEA.cpp [code]
NEWS [code]
src/pyeo/NEWS [code]
node.h [code]
node_pool.h [code]
NodeSelector.cpp [code]
NodeSelector.h [code]
OneMaxEA.cpp [code]
OneMaxLibEA.cpp [code]
parameters.h [code]
parse_tree.h [code]
perf2worth.cpp [code]
pickle.h [code]
pipecom.cpp [code]
pipecom.h [code]
PyEO.cpp [code]
PyEO.h [code]
qp.h [code]
random_numbers.cpp [code]
contrib/mathsym/README [code]
README [code]
src/pyeo/README [code]
tutorial/README [code]
tutorial/Templates/README [code]
README.cpp [code]
test/real_value.h [code]
tutorial/Lesson2/real_value.h [code]
tutorial/Lesson3/real_value.h [code]
tutorial/Lesson4/real_value.h [code]
RealEA.cpp [code]
reduce.cpp [code]
replacement.cpp [code]
rnd_generators.h [code]
RoyalRoad.h [code]
Scaling.cpp [code]
Scaling.h [code]
SecondBitEA.cpp [code]
SecondRealEA.cpp [code]
selectOne.cpp [code]
selectors.cpp [code]
selectors.h [code]
shared_ptr.h [code]
statistics.cpp [code]
stats.h [code]
Sym.cpp [code]
Sym.h [code]
sym_compile.cpp [code]
sym_compile.h [code]
sym_operations.cpp [code]
SymImpl.cpp [code]
SymImpl.h [code]
SymOps.cpp [code]
SymOps.h [code]
symreg.cpp [code]
t-eo.cpp [code]
t-eoAtomOps.cpp [code]
t-eoBaseFunctions.cpp [code]
t-eobin.cpp [code]
t-eobreeder.cpp [code]
t-eoCheckpointing.cpp [code]
t-eoCMAES.cpp [code]
t-eoEasyEA.cpp [code]
t-eoESAll.cpp [code]
t-eoESFull.cpp [code]
t-eoESOps.cpp [code]
t-eoExternalEO.cpp [code]
t-eofitness.cpp [code]
t-eoFitnessAssembled.cpp [code]
t-eoFitnessAssembledEA.cpp [code]
t-eoFunctor.cpp [code]
t-eoGA.cpp [code]
t-eogeneration.cpp [code]
t-eoGenOp.cpp [code]
t-eoGOpSel.cpp [code]
t-eoinclusion.cpp [code]
t-eoinsertion.cpp [code]
t-eolottery.cpp [code]
t-eoNonUniform.cpp [code]
t-eoPareto.cpp [code]
t-eoParetoFitness.cpp [code]
t-eoPBIL.cpp [code]
t-eoproblem.cpp [code]
t-eoRandom.cpp [code]
t-eoReal.cpp [code]
t-eoReplacement.cpp [code]
t-eoRoulette.cpp [code]
t-eoSelect.cpp [code]
t-eoSharing.cpp [code]
t-eoSSGA.cpp [code]
t-eoStateAndParser.cpp [code]
t-eoSymreg.cpp [code]
t-eoUniform.cpp [code]
t-eoVector.cpp [code]
t-eoVirus.cpp [code]
t-MGE-control.cpp [code]
t-MGE.cpp [code]
t-MGE1bit.cpp [code]
t-selectOne.cpp [code]
TargetInfo.cpp [code]
TargetInfo.h [code]
test_compile.cpp [code]
test_diff.cpp [code]
test_lambda.cpp [code]
test_mf.cpp [code]
test_simplify.cpp [code]
testeo.cpp [code]
token.h [code]
TreeBuilder.cpp [code]
TreeBuilder.h [code]
util.cpp [code]
valueParam.cpp [code]
valueParam.h [code]
vecop.h [code]
VirusOp.h [code]
-
Generated on Thu Oct 19 05:06:33 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/fitness_8h-source.html b/trunk/paradiseo-eo/doc/html/fitness_8h-source.html deleted file mode 100644 index bb939be95..000000000 --- a/trunk/paradiseo-eo/doc/html/fitness_8h-source.html +++ /dev/null @@ -1,243 +0,0 @@ - - -EO: fitness.h Source File - - - - - -

fitness.h

00001 /*
-00002     This library is free software; you can redistribute it and/or modify
-00003     it under the terms of the GNU General Public License as published by
-00004     the Free Software Foundation; either version 2 of the License, or
-00005     (at your option) any later version.
-00006 
-00007     This library is distributed in the hope that it will be useful,
-00008     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00009     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00010     Lesser General Public License for more details.
-00011 
-00012     You should have received a copy of the GNU General Public License
-00013     along with this library; if not, write to the Free Software
-00014     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00015 
-00016     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00017              jeggermo@liacs.nl
-00018 */
-00019 
-00020 #ifndef _FITNESS_FUNCTION_H
-00021 #define _FITNESS_FUNCTION_H
-00022 
-00023 #include <gp/eoParseTree.h>
-00024 #include <eo>
-00025 
-00026 #include <cmath>
-00027 #include "parameters.h"
-00028 #include "node.h"
-00029 
-00030 using namespace gp_parse_tree;
-00031 using namespace std;
-00032 
-00033 
-00034 
-00035 // the first fitness is the normal goal fitness
-00036 // the second fitness is the tree size (we prefer smaller trees)
-00037 // lets use names to define the different fitnesses
-00038 #define NORMAL 0      // Stepwise Adaptation of Weights Fitness
-00039 #define SMALLESTSIZE 1  // The size of the tree, we want to minimize this one -- statistics will tell us the smallest tree size
-00040 
-00041 
-00042 // Look: overloading the maximization without overhead (thing can be inlined)
-00043 class MinimizingFitnessTraits : public eoParetoFitnessTraits
-00044 {
-00045   public :
-00046   static bool maximizing(int which) { return false;} // we want to minimize both fitnesses
-00047   static unsigned nObjectives()          { return 2;} // the number of fitnesses }
-00048 };
-00049 
-00050 // Lets define our MultiObjective FitnessType
-00051 typedef eoParetoFitness<MinimizingFitnessTraits> FitnessType;
-00052 
-00053 
-00054 // John Koza's sextic polynomial (our example problem)
-00055 
-00056 double sextic_polynomial(double x)
-00057 {
-00058         double result=0;
-00059         result = pow(x,6) - (2*pow(x,4)) + pow(x,2);
-00060         return result;
-00061 };
-00062 
-00063 // we use the following functions for the basic math functions
-00064 
-00065 double _plus(double arg1, double arg2)
-00066 {
-00067         return arg1 + arg2;
-00068 }
-00069 
-00070 double _minus(double arg1, double arg2)
-00071 {
-00072         return arg1 - arg2;
-00073 }
-00074 
-00075 double _multiplies(double arg1, double arg2)
-00076 {
-00077         return arg1 * arg2;
-00078 }
-00079 
-00080 // the function for a protected divide looks a little bit different
-00081 double _divides(double arg1, double arg2)
-00082 {
-00083         if (arg2 ==0)
-00084                 return 0;
-00085         else
-00086                 return arg1 / arg2;
-00087 }
-00088 
-00089 double _negate(double arg1)
-00090 {
-00091         return -arg1;
-00092 }
-00093 
-00094 
-00095 
-00096 // now let's define our tree nodes
-00097 
-00098 void init(vector<Node> &initSequence)
-00099 {
-00100 
-00101                 // we have only one variable (X)
-00102                 Operation varX( (unsigned int) 0, string("X") );
-00103 
-00104 
-00105                 // the main binary operators
-00106                 Operation OpPLUS ( _plus, string("+"));
-00107                 Operation OpMINUS( _minus,string("-"));
-00108                 Operation OpMULTIPLIES(_multiplies,string("*"));
-00109                 // We can use a protected divide function.
-00110                 Operation OpDIVIDE( _divides, string("/") );
-00111 
-00112 
-00113                 // Now the functions as binary functions
-00114                 Operation PLUS( string("plus"), _plus);
-00115                 Operation MINUS( string("minus"), _minus);
-00116                 Operation MULTIPLIES( string("multiply"), _multiplies);
-00117                 Operation DIVIDE( string("divide"), _divides);
-00118 
-00119 
-00120                 // and some unary  functions
-00121                 Operation NEGATE( _negate,string("-"));
-00122                 Operation SIN ( sin, string("sin"));
-00123                 Operation COS ( cos, string("cos"));
-00124 
-00125                 // Now we are ready to add the possible nodes to our initSequence (which is used by the eoDepthInitializer)
-00126 
-00127                 // so lets start with our variable
-00128                 initSequence.push_back(varX);
-00129 
-00130                 // followed by the constants 2, 4, 6
-00131                 for(unsigned int i=2; i <= 6; i+=2)
-00132                 {
-00133                         char text[255];
-00134                         sprintf(text, "%i", i);
-00135                         Operation op(i*1.0, text);
-00136                         initSequence.push_back( op );
-00137                         // and we add the variable again (so we have get lots of variables);
-00138                         initSequence.push_back( varX );
-00139                 }
-00140 
-00141                 // next we add the unary functions
-00142 
-00143                 initSequence.push_back( NEGATE );
-00144                 initSequence.push_back( SIN );
-00145                 initSequence.push_back( COS );
-00146 
-00147                 // and the binary functions
-00148                 initSequence.push_back( PLUS);
-00149                 initSequence.push_back( MINUS );
-00150                 initSequence.push_back( MULTIPLIES );
-00151                 initSequence.push_back( DIVIDE );
-00152 
-00153                 // and the binary operators
-00154                 initSequence.push_back( OpPLUS);
-00155                 initSequence.push_back( OpMINUS );
-00156 
-00157                 initSequence.push_back( OpMULTIPLIES );
-00158                 initSequence.push_back( OpDIVIDE );
-00159 
-00160 
-00161 };
-00162 
-00163 
-00164 
-00165 class RegFitness: public eoEvalFunc< eoParseTree<FitnessType, Node> >
-00166 {
-00167         public:
-00168 
-00169                 typedef eoParseTree<FitnessType, Node> EoType;
-00170 
-00171                 void operator()(EoType &_eo)
-00172                 {
-00173 
-00174                                 vector< double > input(1); // the input variable(s)
-00175                                 double output(0.);
-00176                                 double target;
-00177                                 FitnessType fitness;
-00178 
-00179 
-00180                                 float x=0;
-00181                                 double fit=0;
-00182                                 for(x=-1; x <= 1; x+=0.1)
-00183                                 {
-00184                                         input[0] = x;
-00185                                         target = sextic_polynomial(x);
-00186                                         _eo.apply(output,input);
-00187 
-00188                                         fit += pow(target - output, 2);
-00189                                 }
-00190 
-00191                                 fitness[NORMAL] = fit;
-00192 
-00193                                 fitness[SMALLESTSIZE] =  _eo.size() / (1.0*parameter.MaxSize);
-00194                                 _eo.fitness(fitness);
-00195 
-00196                                 if (fitness[NORMAL] < best[NORMAL])
-00197                                 {
-00198                                         best[NORMAL] = fitness[NORMAL];
-00199                                         tree="";
-00200                                         _eo.apply(tree);
-00201                                 }
-00202 
-00203                 }
-00204 
-00205 
-00206 
-00207                 RegFitness(eoValueParam<unsigned> &_generationCounter, vector< Node > &initSequence, Parameters &_parameter) : eoEvalFunc<EoType>(), generationCounter(_generationCounter), parameter(_parameter)
-00208                 {
-00209                         init(initSequence);
-00210                         best[NORMAL] = 1000;
-00211                         tree= "not found";
-00212                 };
-00213 
-00214                 ~RegFitness()
-00215                 {
-00216                         cerr << "Best Fitness= " << best[NORMAL] << endl;
-00217                         cerr << tree << endl;
-00218                 };
-00219 
-00220         private:
-00221                 eoValueParam<unsigned> &generationCounter; // so we know the current generation
-00222                 Parameters &parameter; // the parameters
-00223                 FitnessType best;       // the best found fitness
-00224                 string tree;
-00225 };
-00226 
-00227 #endif
-00228 
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/fitness__traits_8cpp-source.html b/trunk/paradiseo-eo/doc/html/fitness__traits_8cpp-source.html deleted file mode 100644 index 4d68f293e..000000000 --- a/trunk/paradiseo-eo/doc/html/fitness__traits_8cpp-source.html +++ /dev/null @@ -1,448 +0,0 @@ - - -EO: fitness_traits.cpp Source File - - - - - -

fitness_traits.cpp

00001 #include <map> // for pair
-00002 #include <iostream>
-00003 #include <stdexcept>
-00004 #include <vector>
-00005 #include <algorithm>
-00006 #include <math.h> // for exp
-00007 
-00008 using namespace std;
-00009 
-00010 /* fitness_traits.h */
-00011 
-00012 // default traits: defaults to a double that needs to be maximized
-00013 template <class T = double>
-00014 struct fitness_traits
-00015 {
-00016   // Needs mapping can be used to figure out whether you need to do fitness scaling (or not)
-00017   const static bool needs_mapping               = false;
-00018 
-00019   // storage_type: what to store next to the genotype
-00020   typedef T storage_type;
-00021 
-00022   // performance_type: what the eoEvalFunc calculates
-00023   typedef T performance_type;
-00024 
-00025   // worth_type: what the scaling function does
-00026   typedef T worth_type;
-00027 
-00028   // access_performance: how to get from what is stored to a mutable performance
-00029   static performance_type& access_performance(storage_type& a) { return a; }
-00030 
-00031   // access_worth: how to get from what is stored to a mutable worth
-00032   static worth_type&       access_worth(storage_type& a)       { return a; }
-00033 
-00034   // get_performance: from storage_type to a performance figure
-00035   static performance_type  get_performance(storage_type a) { return a; }
-00036 
-00037   // get_worth: from storage_type to a worth figure
-00038   static worth_type        get_worth(storage_type a)       { return a; }
-00039 
-00040   // get the fitness out of the individual
-00041   template <class EOT>
-00042   static worth_type    get_fitness(const EOT& _eo)       { return _eo.performance(); }
-00043 
-00044   // compare the two individuals
-00045   template <class EOT>
-00046   static bool is_better(const EOT& _eo1, const EOT& _eo2)
-00047   {
-00048     return _eo1.performance() > _eo2.performance();
-00049   }
-00050 };
-00051 
-00052 struct minimization {};
-00053 struct maximization {};
-00054 
-00055 struct fitness_traits<minimization> : public fitness_traits<double>
-00056 {
-00057   // for minimization, invert the is_better
-00058   template <class EOT>
-00059   static bool is_better(const EOT& _eo1, const EOT& _eo2)
-00060   {
-00061     return _eo1.performance() < _eo2.performance();
-00062   }
-00063 };
-00064 
-00065 // for maximization, just take the default behaviour
-00066 struct fitness_traits<maximization> : public fitness_traits<double> {};
-00067 
-00068 // forward declaration
-00069 //template <class EOT> class eoPop;
-00070 //template <class Fitness, class Traits> class EO;
-00071 
-00072 // unfortunately, partial template specialization is not approved by Microsoft (though ANSI says it's ok)
-00073 // Probably need some macro-magic to make this work (MicroSoft == MacroHard)
-00074 // A pair class: first == performance, second == worth, redefine all types, data and functions
-00075 template <class Performance, class Worth>
-00076 struct fitness_traits< pair<Performance, Worth> >
-00077 {
-00078   typedef pair<Performance, Worth> storage_type;
-00079   typedef Performance performance_type;
-00080   typedef Worth       worth_type;
-00081 
-00082   const static bool needs_mapping = true;
-00083 
-00084   static performance_type& access_performance(storage_type& a)     { return a.first; }
-00085   static worth_type&       access_worth(storage_type& a)           { return a.second; }
-00086 
-00087   static performance_type get_performance(const storage_type& a)     { return a.first; }
-00088   static worth_type       get_worth(const storage_type& a)           { return a.second; }
-00089 
-00090   // This function calls _eo.worth() which in turn checks the fitness flag and calls get_worth above
-00091   // The compiler should be able to inline all these calls and come up with a very compact solution
-00092   template <class EOT>
-00093   static worth_type    get_fitness(const EOT& _eo) { return _eo.worth(); }
-00094 
-00095   template <class EOT>
-00096   static bool is_better(const EOT& _eo1, const EOT& _eo2)
-00097   {
-00098     return _eo1.worth() > _eo2.worth();
-00099   }
-00100 };
-00101 
-00102 /* end fitness_traits.h */
-00103 
-00104 /* EO.h 
-00105 
-00106 The Fitness template argument is there for backward compatibility reasons
-00107 
-00108 */
-00109 
-00110 template <class Fitness, class Traits = fitness_traits<Fitness> >
-00111 class EO
-00112 {
-00113 public :
-00114 
-00115   typedef Traits                            fitness_traits;
-00116   typedef typename Traits::storage_type     storage_type;
-00117   typedef typename Traits::performance_type performance_type;
-00118   typedef typename Traits::worth_type       worth_type;
-00119 
-00120   EO() : valid_performance(false), valid_worth(false), rep_fitness() {}
-00121 
-00122   // for backwards compatibility
-00123   void fitness(performance_type perf)
-00124   {
-00125     performance(perf);
-00126   }
-00127 
-00128   void performance(performance_type perf)
-00129   {
-00130     valid_performance = true;
-00131     Traits::access_performance(rep_fitness) = perf;
-00132   }
-00133 
-00134   performance_type performance(void) const
-00135   {
-00136     if(!valid_performance) throw runtime_error("no performance");
-00137     return Traits::get_performance(rep_fitness);
-00138   }
-00139 
-00140   void worth(worth_type worth)
-00141   {
-00142     valid_worth = true;
-00143     Traits::access_worth(rep_fitness) = worth;
-00144   }
-00145 
-00146   worth_type worth(void) const
-00147   {
-00148     if(!valid_worth)  throw runtime_error("no worth");
-00149     if(!Traits::needs_mapping)  throw runtime_error("no mapping");
-00150     return Traits::get_worth(rep_fitness);
-00151   }
-00152 
-00153   worth_type fitness(void) const
-00154   {
-00155     return Traits::get_fitness(*this);
-00156   }
-00157 
-00158   void invalidate(void)
-00159   {
-00160     valid_performance = false;
-00161     valid_worth = false;
-00162   }
-00163 
-00164   void invalidate_worth(void)
-00165   {
-00166     valid_worth = false;
-00167   }
-00168 
-00169   bool operator<(const EO<Fitness, Traits>& other) const
-00170   {
-00171     return !Traits::is_better(other, *this);
-00172   }
-00173 
-00174   bool operator>(const EO<Fitness, Traits>& other) const
-00175   {
-00176     return Traits::is_better(other, *this);
-00177   }
-00178 
-00179   private :
-00180 
-00181   bool valid_performance;
-00182   bool valid_worth;
-00183   storage_type rep_fitness;
-00184 };
-00185 
-00186 /* end EO.h */
-00187 
-00188 /* eoPerf2Worth.h */
-00189 
-00190 // get the name known
-00191 template <class EOT> class eoPop;
-00192 
-00193 template <class EOT>
-00194 void exponential_scaling(eoPop<EOT>& _pop)
-00195 {
-00196     for (unsigned i = 0; i < _pop.size(); ++i)
-00197     { // change minimimization into maximization
-00198       _pop[i].worth(exp(-_pop[i].performance()));
-00199     }
-00200 }
-00201 
-00202 template <class EOT>
-00203 class eoPerf2Worth /* : public eoUF<eoPop<EOT>&, void> */
-00204 {
-00205 public :
-00206   virtual void operator()(eoPop<EOT>& _pop)
-00207   {
-00208     return exponential_scaling(_pop);
-00209   }
-00210 };
-00211 
-00212 /* end eoPerf2Worth.h */
-00213 
-00214 
-00215 /* eoPop.h */
-00216 
-00217 template <class EOT>
-00218 class eoPop : public vector<EOT>
-00219 {
-00220 public :
-00221 
-00222   typedef typename EOT::fitness_traits fitness_traits;
-00223 
-00224   eoPop(void) : p2w(0) {}
-00225 
-00226   void sort()
-00227   {
-00228     scale(); // get the worths up to date
-00229 
-00230     std::sort(begin(), end(), greater<EOT>());
-00231   }
-00232 
-00233   void scale()
-00234   {
-00235     if (p2w)
-00236     {
-00237       if (!fitness_traits::needs_mapping)
-00238       {
-00239         throw runtime_error("eoPop: no scaling needed, yet a scaling function is defined");
-00240       }
-00241 
-00242       (*p2w)(*this);
-00243     }
-00244     else if (fitness_traits::needs_mapping)
-00245     {
-00246       throw runtime_error("eoPop: no scaling function attached to the population, while one was certainly called for");
-00247     }
-00248   }
-00249 
-00250   void setPerf2Worth(eoPerf2Worth<EOT>& _p2w)
-00251   {
-00252     p2w = &_p2w;
-00253   }
-00254 
-00255   void setPerf2Worth(eoPerf2Worth<EOT>* _p2w)
-00256   {
-00257     p2w = _p2w;
-00258   }
-00259 
-00260   eoPerf2Worth<EOT>* getPerf2Worth() { return p2w; }
-00261 
-00262   void swap(eoPop<EOT>& other)
-00263   {
-00264     vector<EOT>::swap(other);
-00265     eoPerf2Worth<EOT>* tmp = p2w;
-00266     p2w = other.p2w;
-00267     other.p2w = tmp;
-00268   }
-00269 
-00270 private :
-00271 
-00272   // a pointer as it can be emtpy
-00273   eoPerf2Worth<EOT>* p2w;
-00274 };
-00275 
-00276 // need this one to be able to swap the members as well...
-00277 template <class EOT>
-00278 void swap(eoPop<EOT>& _p1, eoPop<EOT>& _p2)
-00279 {
-00280   _p1.swap(_p2);
-00281 }
-00282 
-00283 /* end eoPop.h */
-00284 
-00285 /* main and test */
-00286 
-00287 template <class EOT>
-00288 void algo(eoPop<EOT>& _pop)
-00289 {
-00290   eoPop<EOT> offspring;                          // how to get the scaling info into this guy??
-00291   offspring.setPerf2Worth(_pop.getPerf2Worth()); // like this!
-00292 
-00293   std::copy(_pop.begin(), _pop.end(), back_inserter(offspring));
-00294 
-00295   offspring.sort(); // should call scale
-00296 
-00297   swap(_pop, offspring);
-00298 }
-00299 
-00300 void minimization_test()
-00301 {
-00302   typedef EO<minimization> eo_type;
-00303 
-00304   eo_type eo1;
-00305   eo_type eo2;
-00306 
-00307   eo1.performance(1.0);
-00308   eo2.performance(2.0);
-00309 
-00310   std::cout << "With minimizing fitness" << std::endl;
-00311   std::cout << eo1.fitness() << " < " << eo2.fitness() << " returns " << (eo1 < eo2) << std::endl;
-00312   std::cout << eo2.fitness() << " < " << eo1.fitness() << " returns " << (eo2 < eo1) << std::endl;
-00313 }
-00314 
-00315 void the_main()
-00316 {
-00317   typedef EO<double> simple_eo;
-00318   typedef EO<pair<double, double> > scaled_eo;
-00319 
-00320   simple_eo eo1;
-00321   simple_eo eo3;
-00322 
-00323 /* First test some simple comparisons */
-00324 
-00325   eo1.fitness(10); // could also use performance()
-00326   eo3.fitness(5);
-00327 
-00328   std::cout << eo1.fitness() << std::endl;
-00329   std::cout << eo3.fitness() << std::endl;
-00330 
-00331   std::cout << "eo1 < eo3 = " << (eo1 < eo3) << std::endl;
-00332 
-00333 
-00334   scaled_eo eo2;
-00335   scaled_eo eo4;
-00336   eo2.performance(10);
-00337   eo4.performance(8);
-00338 
-00339 /* Now test if the worth gets accessed and if the flag protects it */
-00340 
-00341   try
-00342   {
-00343     std::cout << eo2.fitness() << std::endl;
-00344     std::cout << "did not throw" << std::endl;
-00345     assert(false); // should throw
-00346   }
-00347   catch(std::exception& e)
-00348   {
-00349     std::cout << "Fitness threw exception, as it should" << std::endl;
-00350     std::cout << e.what() << std::endl;
-00351   }
-00352 
-00353 /* Set the worth and all is well (this is normally done by some perf2worth functor */
-00354 
-00355   eo2.worth(3);
-00356   eo4.worth(5);
-00357 
-00358   std::cout << "with maximization " << std::endl;
-00359   std::cout << eo2.fitness() << std::endl;
-00360   std::cout << eo4.fitness() << std::endl;
-00361   std::cout << eo2.fitness() << " < " << eo4.fitness() << " returns " << (eo2 < eo4) << std::endl;
-00362 
-00363 /* Test the minimization of fitness */
-00364   minimization_test();
-00365 
-00366 
-00367 /* Populations */
-00368 
-00369 // test pop without scaling, should have no overhead save for a single empty pointer in pop
-00370   eoPop<simple_eo> pop0;
-00371   pop0.resize(1);
-00372   pop0[0].fitness(1);
-00373 
-00374   algo(pop0);
-00375 
-00376   std::cout << pop0[0].fitness() << std::endl;
-00377 
-00378   assert(pop0[0].fitness() == 1);
-00379 
-00380 /* test pop with scaling */
-00381 
-00382   eoPerf2Worth<scaled_eo> perf2worth;
-00383   eoPop<scaled_eo> pop1;
-00384 
-00385   pop1.resize(1);
-00386 
-00387   pop1[0].fitness(1.0); // emulate evaluation
-00388 
-00389     // at this point getting the fitness should throw
-00390   try
-00391   {
-00392     std::cout << pop1[0].fitness() << std::endl;
-00393     std::cout << "did not throw" << std::endl;
-00394     assert(false); // should throw
-00395   }
-00396   catch(std::exception& e)
-00397   {
-00398     std::cout << "Fitness threw exception, as it should" << std::endl;
-00399     std::cout << e.what() << std::endl;
-00400   }
-00401 
-00402   // at this point trying to scale should throw
-00403   try
-00404   {
-00405     algo(pop1); // should complain that it cannot scale
-00406     assert(false); // so it would never get here
-00407   }
-00408   catch(std::exception& e)
-00409   { // but rather ends here
-00410     std::cout << e.what() << std::endl;
-00411   }
-00412 
-00413   // ok, now set the scaling
-00414   pop1.setPerf2Worth(perf2worth);
-00415 
-00416   algo(pop1);
-00417 
-00418   std::cout << "the fitness has been transformed from " << pop1[0].performance() << " to exp(-1) = " << pop1[0].fitness() << std::endl;
-00419 }
-00420 
-00421 int main()
-00422 {
-00423   try
-00424   {
-00425     the_main();
-00426   }
-00427   catch(std::exception& e)
-00428   {
-00429     std::cout << e.what() << std::endl;
-00430   }
-00431 }
-00432 
-00433 
-

Generated on Thu Oct 19 05:06:39 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/ftv2blank.png b/trunk/paradiseo-eo/doc/html/ftv2blank.png deleted file mode 100644 index 493c3c0b6..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2blank.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2doc.png b/trunk/paradiseo-eo/doc/html/ftv2doc.png deleted file mode 100644 index f72999f92..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2doc.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2folderclosed.png b/trunk/paradiseo-eo/doc/html/ftv2folderclosed.png deleted file mode 100644 index d6d063440..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2folderclosed.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2folderopen.png b/trunk/paradiseo-eo/doc/html/ftv2folderopen.png deleted file mode 100644 index bbe2c913c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2folderopen.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2lastnode.png b/trunk/paradiseo-eo/doc/html/ftv2lastnode.png deleted file mode 100644 index e7b9ba90c..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2lastnode.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2link.png b/trunk/paradiseo-eo/doc/html/ftv2link.png deleted file mode 100644 index 14f3fed00..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2link.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2mlastnode.png b/trunk/paradiseo-eo/doc/html/ftv2mlastnode.png deleted file mode 100644 index 09ceb6adb..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2mlastnode.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2mnode.png b/trunk/paradiseo-eo/doc/html/ftv2mnode.png deleted file mode 100644 index 3254c0511..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2mnode.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2node.png b/trunk/paradiseo-eo/doc/html/ftv2node.png deleted file mode 100644 index c9f06a57f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2node.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2plastnode.png b/trunk/paradiseo-eo/doc/html/ftv2plastnode.png deleted file mode 100644 index 0b07e0091..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2plastnode.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2pnode.png b/trunk/paradiseo-eo/doc/html/ftv2pnode.png deleted file mode 100644 index 2001b797b..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2pnode.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/ftv2vertline.png b/trunk/paradiseo-eo/doc/html/ftv2vertline.png deleted file mode 100644 index b330f3a33..000000000 Binary files a/trunk/paradiseo-eo/doc/html/ftv2vertline.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/functions.html b/trunk/paradiseo-eo/doc/html/functions.html deleted file mode 100644 index bb45fcf73..000000000 --- a/trunk/paradiseo-eo/doc/html/functions.html +++ /dev/null @@ -1,403 +0,0 @@ - - -EO: Class Members - - - - - -
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | r | s | t | u | v | w | ~
- -

- -

-Here is a list of all documented class members with links to the class documentation for each member:

- a -

-

- b -

-

- c -

-

- d -

-

- e -

-

- f -

-

- g -

-

- h -

-

- i -

-

- k -

-

- l -

-

- m -

-

- n -

-

- o -

-

- p -

-

- r -

-

- s -

-

- t -

-

- u -

-

- v -

-

- w -

-

- ~ -

-
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/functions_func.html b/trunk/paradiseo-eo/doc/html/functions_func.html deleted file mode 100644 index e9ff8972a..000000000 --- a/trunk/paradiseo-eo/doc/html/functions_func.html +++ /dev/null @@ -1,382 +0,0 @@ - - -EO: Class Members - Functions - - - - - -
a | b | c | d | e | f | g | h | i | l | m | n | o | p | r | s | t | u | v | w | ~
- -

- -

-

- a -

-

- b -

-

- c -

-

- d -

-

- e -

-

- f -

-

- g -

-

- h -

-

- i -

-

- l -

-

- m -

-

- n -

-

- o -

-

- p -

-

- r -

-

- s -

-

- t -

-

- u -

-

- v -

-

- w -

-

- ~ -

-
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/functions_type.html b/trunk/paradiseo-eo/doc/html/functions_type.html deleted file mode 100644 index 5a96bff46..000000000 --- a/trunk/paradiseo-eo/doc/html/functions_type.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Class Members - Typedefs - - - - - - -

-

-
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/functions_vars.html b/trunk/paradiseo-eo/doc/html/functions_vars.html deleted file mode 100644 index ee48d715f..000000000 --- a/trunk/paradiseo-eo/doc/html/functions_vars.html +++ /dev/null @@ -1,36 +0,0 @@ - - -EO: Class Members - Variables - - - - - - -

-

-
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/ga_2make__op_8h-source.html b/trunk/paradiseo-eo/doc/html/ga_2make__op_8h-source.html deleted file mode 100644 index bb4639dba..000000000 --- a/trunk/paradiseo-eo/doc/html/ga_2make__op_8h-source.html +++ /dev/null @@ -1,223 +0,0 @@ - - -EO: make_op.h Source File - - - - - -

ga/make_op.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_op.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_op_h
-00028 #define _make_op_h
-00029 
-00030 // the operators
-00031 #include <eoOp.h>
-00032 #include <eoGenOp.h>
-00033 #include <eoCloneOps.h>
-00034 #include <eoOpContainer.h>
-00035 // combinations of simple eoOps (eoMonOp and eoQuadOp)
-00036 #include <eoProportionalCombinedOp.h>
-00037 
-00038 // the specialized GA stuff
-00039 #include <ga/eoBit.h>
-00040 #include <ga/eoBitOp.h>
-00041   // also need the parser and param includes
-00042 #include <utils/eoParser.h>
-00043 #include <utils/eoState.h>
-00044 
-00045 
-00047 // canonical (crossover + mutation) only at the moment //
-00048 
-00049 /*
-00050  * This function builds the operators that will be applied to the bitstrings
-00051  *
-00052  * It uses a parser (to get user parameters) and a state (to store the memory)
-00053  * the last argument is an individual, needed for 2 reasons
-00054  *     it disambiguates the call after instanciations
-00055  *     some operator might need some private information about the indis
-00056  *
-00057  * This is why the template is the complete EOT even though only the fitness
-00058  * is actually templatized here: the following only applies to bitstrings
-00059  *
-00060  * Note : the last parameter is an eoInit: if some operator needs some info 
-00061  *        about the gneotypes, the init has it all (e.g. bounds, ...)
-00062  *        Simply do 
-00063  *        EOT myEO;
-00064  *        _init(myEO);
-00065  *        and myEO is then an ACTUAL object
-00066 */
-00067 
-00068 template <class EOT>
-00069 eoGenOp<EOT> & do_make_op(eoParser& _parser, eoState& _state, eoInit<EOT>& _init)
-00070 {
-00071   // this is a temporary version, while Maarten codes the full tree-structured
-00072   // general operator input
-00073   // BTW we must leave that simple version available somehow, as it is the one
-00074   // that 90% people use!
-00075     eoValueParam<std::string>& operatorParam =  _parser.createParam(std::string("SGA"), "operator", "Description of the operator (SGA only now)", 'o', "Variation Operators");
-00076 
-00077     if (operatorParam.value() != std::string("SGA"))
-00078         throw std::runtime_error("Only SGA-like operator available right now\n");
-00079 
-00080     // now we read Pcross and Pmut, 
-00081     // the relative weights for all crossovers -> proportional choice
-00082     // the relative weights for all mutations -> proportional choice
-00083     // and create the eoGenOp that is exactly 
-00084     // crossover with pcross + mutation with pmut
-00085 
-00086     eoValueParam<double>& pCrossParam = _parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" );
-00087     // minimum check
-00088     if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) )
-00089       throw std::runtime_error("Invalid pCross");
-00090 
-00091     eoValueParam<double>& pMutParam = _parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" );
-00092     // minimum check
-00093     if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) )
-00094       throw std::runtime_error("Invalid pMut");
-00095 
-00096     // the crossovers
-00098     // the parameters
-00099     eoValueParam<double>& onePointRateParam = _parser.createParam(double(1.0), "onePointRate", "Relative rate for one point crossover", '1', "Variation Operators" );
-00100     // minimum check
-00101     if ( (onePointRateParam.value() < 0) )
-00102       throw std::runtime_error("Invalid onePointRate");
-00103 
-00104     eoValueParam<double>& twoPointsRateParam = _parser.createParam(double(1.0), "twoPointRate", "Relative rate for two point crossover", '2', "Variation Operators" );
-00105     // minimum check
-00106     if ( (twoPointsRateParam.value() < 0) )
-00107       throw std::runtime_error("Invalid twoPointsRate");
-00108 
-00109     eoValueParam<double>& uRateParam = _parser.createParam(double(2.0), "uRate", "Relative rate for uniform crossover", 'U', "Variation Operators" );
-00110     // minimum check
-00111     if ( (uRateParam.value() < 0) )
-00112       throw std::runtime_error("Invalid uRate");
-00113 
-00114     // minimum check
-00115     bool bCross = true;
-00116     if (onePointRateParam.value()+twoPointsRateParam.value()+uRateParam.value()==0)
-00117       {
-00118         std::cerr << "Warning: no crossover" << std::endl;
-00119         bCross = false;
-00120       }
-00121     
-00122     // Create the CombinedQuadOp
-00123     eoPropCombinedQuadOp<EOT> *ptCombinedQuadOp = NULL;
-00124     eoQuadOp<EOT> *ptQuad = NULL;
-00125     // 1-point crossover for bitstring
-00126     ptQuad = new eo1PtBitXover<EOT>;
-00127     _state.storeFunctor(ptQuad);
-00128     ptCombinedQuadOp = new eoPropCombinedQuadOp<EOT>(*ptQuad, onePointRateParam.value());
-00129     
-00130     // uniform crossover for bitstring
-00131     ptQuad = new eoUBitXover<EOT>;
-00132     _state.storeFunctor(ptQuad);
-00133     ptCombinedQuadOp->add(*ptQuad, uRateParam.value());
-00134     
-00135     // 2-points xover
-00136     ptQuad = new eoNPtsBitXover<EOT>;
-00137     _state.storeFunctor(ptQuad);
-00138     ptCombinedQuadOp->add(*ptQuad, twoPointsRateParam.value());
-00139 
-00140     // don't forget to store the CombinedQuadOp
-00141     _state.storeFunctor(ptCombinedQuadOp);
-00142 
-00143     // the mutations
-00145     // the parameters
-00146     eoValueParam<double> & pMutPerBitParam = _parser.createParam(0.01, "pMutPerBit", "Probability of flipping 1 bit in bit-flip mutation", 'b', "Variation Operators" );
-00147     // minimum check
-00148     if ( (pMutPerBitParam.value() < 0) || (pMutPerBitParam.value() > 0.5) )
-00149       throw std::runtime_error("Invalid pMutPerBit");
-00150 
-00151     eoValueParam<double> & bitFlipRateParam = _parser.createParam(0.01, "bitFlipRate", "Relative rate for bit-flip mutation", 's', "Variation Operators" );
-00152     // minimum check
-00153     if ( (bitFlipRateParam.value() < 0) )
-00154       throw std::runtime_error("Invalid bitFlipRate");
-00155       
-00156     eoValueParam<double> & oneBitRateParam = _parser.createParam(0.01, "oneBitRate", "Relative rate for deterministic bit-flip mutation", 'd', "Variation Operators" );
-00157     // minimum check
-00158     if ( (oneBitRateParam.value() < 0) )
-00159       throw std::runtime_error("Invalid oneBitRate");
-00160 
-00161     // minimum check
-00162     bool bMut = true;
-00163     if (bitFlipRateParam.value()+oneBitRateParam.value()==0)
-00164       {
-00165         std::cerr << "Warning: no mutation" << std::endl;
-00166         bMut = false;
-00167       }
-00168     
-00169     // Create the CombinedMonOp
-00170     eoPropCombinedMonOp<EOT> *ptCombinedMonOp = NULL;
-00171     eoMonOp<EOT> *ptMon = NULL;
-00172 
-00173   // standard bit-flip mutation for bitstring
-00174   ptMon = new eoBitMutation<EOT>(pMutPerBitParam.value());
-00175   _state.storeFunctor(ptMon);
-00176   // create the CombinedMonOp
-00177   ptCombinedMonOp = new eoPropCombinedMonOp<EOT>(*ptMon, bitFlipRateParam.value());
-00178 
-00179   // mutate exactly 1 bit per individual
-00180   ptMon = new eoDetBitFlip<EOT>; 
-00181   _state.storeFunctor(ptMon);
-00182   ptCombinedMonOp->add(*ptMon, oneBitRateParam.value());
-00183 
-00184   _state.storeFunctor(ptCombinedMonOp);
-00185 
-00186   // now build the eoGenOp:
-00187   // to simulate SGA (crossover with proba pCross + mutation with proba pMut
-00188   // we must construct
-00189   //     a sequential combination of
-00190   //          with proba 1, a proportional combination of 
-00191   //                        a QuadCopy and our crossover
-00192   //          with proba pMut, our mutation
-00193 
-00194   // the crossover - with probability pCross
-00195   eoProportionalOp<EOT> * cross = new eoProportionalOp<EOT> ;
-00196   _state.storeFunctor(cross);
-00197   ptQuad = new eoQuadCloneOp<EOT>;
-00198   _state.storeFunctor(ptQuad);
-00199   cross->add(*ptCombinedQuadOp, pCrossParam.value()); // user crossover
-00200   cross->add(*ptQuad, 1-pCrossParam.value()); // clone operator
-00201 
-00202   // now the sequential
-00203   eoSequentialOp<EOT> *op = new eoSequentialOp<EOT>;
-00204   _state.storeFunctor(op);
-00205   op->add(*cross, 1.0);  // always crossover (but clone with prob 1-pCross
-00206   op->add(*ptCombinedMonOp, pMutParam.value());
-00207 
-00208   // that's it!
-00209   return *op;
-00210 }
-00211 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/ga_8h-source.html b/trunk/paradiseo-eo/doc/html/ga_8h-source.html deleted file mode 100644 index 4b411c790..000000000 --- a/trunk/paradiseo-eo/doc/html/ga_8h-source.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: ga.h Source File - - - - - -

ga.h

00001 //-----------------------------------------------------------------------------
-00002 // ga.h
-00003 // (c) GeNeura Team 1998 - 2000, Marc Schoenauer 2001
-00004 /* 
-00005     This library is free software; you can redistribute it and/or
-00006     modify it under the terms of the GNU Lesser General Public
-00007     License as published by the Free Software Foundation; either
-00008     version 2 of the License, or (at your option) any later version.
-00009 
-00010     This library is distributed in the hope that it will be useful,
-00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00013     Lesser General Public License for more details.
-00014 
-00015     You should have received a copy of the GNU Lesser General Public
-00016     License along with this library; if not, write to the Free Software
-00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00018 
-00019     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00020              Marc.Schoenauer@polytechnique.fr
-00021  */
-00022 //-----------------------------------------------------------------------------
-00023 
-00024 #ifdef _MSC_VER
-00025 // to avoid long name warnings
-00026 #pragma warning(disable:4786)
-00027 #endif 
-00028 
-00029 #ifndef _ga_h
-00030 #define _ga_h
-00031 
-00032 // all bitstring-specific files
-00033 #include <ga/eoBit.h>
-00034 
-00035 // the operators
-00036 #include <ga/eoBitOp.h>
-00037 
-00038 // #include <ga/eoBitOpFactory.h> to be corrected - thanks someone!
-00039 
-00040 //-----------------------------------------------------------------------------
-00041 
-00042 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/genetic_ops_8cpp-source.html b/trunk/paradiseo-eo/doc/html/genetic_ops_8cpp-source.html deleted file mode 100644 index 684efe0ed..000000000 --- a/trunk/paradiseo-eo/doc/html/genetic_ops_8cpp-source.html +++ /dev/null @@ -1,173 +0,0 @@ - - -EO: geneticOps.cpp Source File - - - - - -

geneticOps.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoGenOp.h>
-00022 #include <eoOp.h>
-00023 #include <eoCloneOps.h>
-00024 #include <eoPopulator.h>
-00025 #include <eoOpContainer.h>
-00026 
-00027 #include "PyEO.h"
-00028 #include "def_abstract_functor.h"
-00029 
-00030 using namespace boost::python;
-00031 
-00032 class GenOpWrapper : public eoGenOp<PyEO>
-00033 {
-00034     public:
-00035 
-00036     PyObject* self;
-00037     GenOpWrapper(PyObject* p) : self(p) {}
-00038     unsigned max_production(void)
-00039     {
-00040         return call_method<unsigned>(self,"max_production");
-00041     }
-00042     std::string className() const
-00043     {
-00044         return "GenOpDerivative"; // never saw the use of className anyway
-00045     }
-00046     
-00047     void apply(eoPopulator<PyEO>& populator )
-00048     {
-00049         boost::python::call_method<void>(self,"apply", boost::ref( populator ) );
-00050     }
-00051 };
-00052 
-00053 class PopulatorWrapper : public eoPopulator<PyEO>
-00054 {
-00055 public:
-00056     PyObject* self;
-00057     PopulatorWrapper(PyObject* p, const eoPop<PyEO>& src, eoPop<PyEO>& dest) 
-00058         : eoPopulator<PyEO>(src, dest), self(p) 
-00059         {
-00060             //throw std::runtime_error("abstract base class");
-00061         }
-00062     
-00063     const PyEO& select()
-00064     {
-00065         return call_method<const PyEO&>(self,"select");
-00066     }
-00067 };
-00068 
-00069 class MonOpWrapper : public eoMonOp<PyEO>
-00070 {
-00071 public:
-00072     PyObject* self;
-00073     MonOpWrapper(PyObject* p) : self(p) {}
-00074     bool operator()(PyEO& _eo)
-00075     { return boost::python::call_method<bool>(self, "__call__", boost::ref( _eo )); }
-00076 };
-00077 class BinOpWrapper : public eoBinOp<PyEO>
-00078 {
-00079 public:
-00080     PyObject* self;
-00081     BinOpWrapper(PyObject* p) : self(p) {}
-00082     bool operator()(PyEO& _eo, const PyEO& _eo2)
-00083     { return boost::python::call_method<bool>(self, "__call__", boost::ref( _eo ), boost::ref(_eo2)); }
-00084 };
-00085 class QuadOpWrapper : public eoQuadOp<PyEO>
-00086 {
-00087 public:
-00088     PyObject* self;
-00089     QuadOpWrapper(PyObject* p) : self(p) {}
-00090     bool operator()(PyEO& _eo, PyEO& _eo2)
-00091     { return boost::python::call_method<bool>(self, "__call__", boost::ref( _eo ), boost::ref(_eo2)); }
-00092 };
-00093 
-00094 void geneticOps()
-00095 {
-00096     class_<eoPopulator<PyEO>, PopulatorWrapper, boost::noncopyable>
-00097         ("eoPopulator", init<const eoPop<PyEO>&, eoPop<PyEO>&>() )
-00098         .def("select", &PopulatorWrapper::select,  return_internal_reference<>() )
-00099         .def("get", &eoPopulator<PyEO>::operator*, return_internal_reference<>() )
-00100         .def("next", &eoPopulator<PyEO>::operator++, return_internal_reference<>() )
-00101         .def("insert", &eoPopulator<PyEO>::insert)
-00102         .def("reserve", &eoPopulator<PyEO>::reserve)
-00103         .def("source", &eoPopulator<PyEO>::source, return_internal_reference<>() )
-00104         .def("offspring", &eoPopulator<PyEO>::offspring, return_internal_reference<>() )
-00105         .def("tellp", &eoPopulator<PyEO>::tellp)
-00106         .def("seekp", &eoPopulator<PyEO>::seekp)
-00107         .def("exhausted", &eoPopulator<PyEO>::exhausted)
-00108         ;
-00109 
-00110     class_<eoSeqPopulator<PyEO>, bases<eoPopulator<PyEO> > >
-00111         ("eoSeqPopulator", init<const eoPop<PyEO>&, eoPop<PyEO>&>() )
-00112         .def("select", &eoSeqPopulator<PyEO>::select, return_internal_reference<>() )
-00113         ;
-00114     
-00115     class_<eoSelectivePopulator<PyEO>, bases<eoPopulator<PyEO> > >
-00116         ("eoSelectivePopulator", init<const eoPop<PyEO>&, eoPop<PyEO>&, eoSelectOne<PyEO>& >() )
-00117         .def("select", &eoSeqPopulator<PyEO>::select, return_internal_reference<>() )
-00118         ;
-00119     enum_<eoOp<PyEO>::OpType>("OpType")
-00120         .value("unary", eoOp<PyEO>::unary)
-00121         .value("binary", eoOp<PyEO>::binary)
-00122         .value("quadratic", eoOp<PyEO>::quadratic)
-00123         .value("general", eoOp<PyEO>::general)
-00124         ;
-00125    
-00126     class_<eoOp<PyEO> >("eoOp", init<eoOp<PyEO>::OpType>())
-00127         .def("getType", &eoOp<PyEO>::getType);
-00128     
-00129     class_<eoMonOp<PyEO>, MonOpWrapper, bases<eoOp<PyEO> >, boost::noncopyable>("eoMonOp", init<>())
-00130         .def("__call__", &MonOpWrapper::operator(), "an example docstring");
-00131     class_<eoBinOp<PyEO>, BinOpWrapper, bases<eoOp<PyEO> >, boost::noncopyable>("eoBinOp", init<>())
-00132         .def("__call__", &BinOpWrapper::operator());
-00133     class_<eoQuadOp<PyEO>, QuadOpWrapper, bases<eoOp<PyEO> >, boost::noncopyable>("eoQuadOp", init<>())
-00134         .def("__call__", &QuadOpWrapper::operator());
-00135     
-00136     class_<eoGenOp<PyEO>, GenOpWrapper, bases<eoOp<PyEO> >, boost::noncopyable>("eoGenOp", init<>())
-00137         .def("max_production", &GenOpWrapper::max_production)
-00138         .def("className", &GenOpWrapper::className)
-00139         .def("apply", &GenOpWrapper::apply)
-00140         .def("__call__", &eoGenOp<PyEO>::operator())
-00141         ;
-00142     
-00143     class_<eoSequentialOp<PyEO>, bases<eoGenOp<PyEO> >, boost::noncopyable>("eoSequentialOp", init<>())
-00144         .def("add", &eoSequentialOp<PyEO>::add, WC1)
-00145         .def("apply", &eoSequentialOp<PyEO>::apply)
-00146         ;
-00147    
-00148     class_<eoProportionalOp<PyEO>, bases<eoGenOp<PyEO> >, boost::noncopyable>("eoProportionalOp", init<>())
-00149         .def("add", &eoProportionalOp<PyEO>::add, WC1)
-00150         .def("apply", &eoProportionalOp<PyEO>::apply)
-00151         ;
-00152     
-00153     /* Cloning */
-00154     class_<eoMonCloneOp<PyEO>, bases<eoMonOp<PyEO> > >("eoMonCloneOp").def("__call__", &eoMonCloneOp<PyEO>::operator());
-00155     class_<eoBinCloneOp<PyEO>, bases<eoBinOp<PyEO> > >("eoBinCloneOp").def("__call__", &eoBinCloneOp<PyEO>::operator());
-00156     class_<eoQuadCloneOp<PyEO>, bases<eoQuadOp<PyEO> > >("eoQuadCloneOp").def("__call__", &eoQuadCloneOp<PyEO>::operator());
-00157 
-00158 }
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/gprop_8cpp-source.html b/trunk/paradiseo-eo/doc/html/gprop_8cpp-source.html deleted file mode 100644 index 766ff7cac..000000000 --- a/trunk/paradiseo-eo/doc/html/gprop_8cpp-source.html +++ /dev/null @@ -1,185 +0,0 @@ - - -EO: gprop.cpp Source File - - - - - -

gprop.cpp

00001 //-----------------------------------------------------------------------------
-00002 // gprop
-00003 //-----------------------------------------------------------------------------
-00004 using namespace std;
-00005 
-00006 #include <stdlib.h>                // EXIT_SUCCESS EXIT_FAILURE
-00007 #include <stdexcept>               // exception 
-00008 #include <iostream>                // cerr cout
-00009 #include <fstream>                 // ifstream
-00010 #include <string>                  // string
-00011 #include <eo>                      // all usefull eo stuff
-00012 #include "gprop.h"                 // Chrom eoChromInit eoChromMutation eoChromXover eoChromEvaluator
-00013 
-00014 //-----------------------------------------------------------------------------
-00015 // global variables
-00016 //-----------------------------------------------------------------------------
-00017 
-00018 unsigned in, out, hidden;
-00019 mlp::set train, validate, test;
-00020 
-00021 //-----------------------------------------------------------------------------
-00022 // parameters
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 eoValueParam<unsigned> pop_size(10, "pop_size", "population size", 'p');
-00026 eoValueParam<unsigned> generations(10, "generations", "number of generation", 'g');
-00027 eoValueParam<double> mut_rate(0.25, "mut_rate", "mutation rate", 'm');
-00028 eoValueParam<double> xover_rate(0.25, "xover_rate", "default crossover rate", 'x');
-00029 eoValueParam<string> file("", "file", "common start of patterns filenames *.trn *.val and *.tst", 'f');
-00030 eoValueParam<unsigned> hiddenp(0, "hidden", "number of neurons in hidden layer", 'd');
-00031 
-00032 //-----------------------------------------------------------------------------
-00033 // auxiliar functions
-00034 //-----------------------------------------------------------------------------
-00035 
-00036 void arg(int argc, char** argv);
-00037 void load_file(mlp::set& s, const string& s);
-00038 void ga();
-00039 
-00040 //-----------------------------------------------------------------------------
-00041 // main
-00042 //-----------------------------------------------------------------------------
-00043 
-00044 int main(int argc, char** argv)
-00045 {
-00046   try
-00047     {
-00048       arg(argc, argv);
-00049       ga();
-00050     }
-00051   catch (exception& e)
-00052     {
-00053       cerr << argv[0] << ": " << e.what() << endl;
-00054       exit(EXIT_FAILURE);
-00055     }
-00056 
-00057   return 0;
-00058 }
-00059 
-00060 //-----------------------------------------------------------------------------
-00061 // implementation
-00062 //-----------------------------------------------------------------------------
-00063 
-00064 void arg(int argc, char** argv)
-00065 {
-00066   eoParser parser(argc, argv);
-00067   
-00068   parser.processParam(pop_size,    "genetic operators");
-00069   parser.processParam(generations, "genetic operators");
-00070   parser.processParam(mut_rate,    "genetic operators");
-00071   parser.processParam(xover_rate,  "genetic operators");
-00072   parser.processParam(file,        "files");
-00073   parser.processParam(hiddenp,     "genetic operators");
-00074 
-00075   if (parser.userNeedsHelp())
-00076     {
-00077       parser.printHelp(cout);
-00078       exit(EXIT_SUCCESS);
-00079     }
-00080 
-00081   load_file(train, "trn");
-00082   load_file(validate, "val");
-00083   load_file(test, "tst");
-00084     
-00085   phenotype::trn_max = train.size();
-00086   phenotype::val_max = validate.size();
-00087   phenotype::tst_max = test.size();
-00088 
-00089   in = train.front().input.size();
-00090   out = train.front().output.size();
-00091   gprop_use_datasets(&train, &validate, &test);
-00092   hidden = hiddenp.value();
-00093 }
-00094 
-00095 //-----------------------------------------------------------------------------
-00096 
-00097 void load_file(mlp::set& set, const string& ext)
-00098 {
-00099   string filename = file.value(); filename += "." + ext;
-00100 
-00101   ifstream ifs(filename.c_str());
-00102   if (!ifs)
-00103     {
-00104       cerr << "can't open file \"" << filename << "\"" << endl;
-00105       exit(EXIT_FAILURE);
-00106     } 
-00107   
-00108   ifs >> set;
-00109 
-00110   if (set.size() == 0)
-00111     {
-00112       cerr << filename << " data file is empty!";
-00113       exit(EXIT_FAILURE);
-00114     }
-00115 }
-00116 
-00117 //-----------------------------------------------------------------------------
-00118 
-00119 void ga()
-00120 {
-00121   // create population
-00122   eoInitChrom init;
-00123   eoPop<Chrom> pop(pop_size.value(), init);
-00124   
-00125   // evaluate population
-00126   eoEvalFuncPtr<Chrom> evaluator(eoChromEvaluator);
-00127   apply<Chrom>(evaluator, pop);
-00128   
-00129   // selector
-00130   eoStochTournamentSelect<Chrom> select;
-00131 
-00132   // genetic operators
-00133   eoChromMutation mutation;
-00134   eoChromXover xover;
-00135   
-00136   // stop condition
-00137   eoGenContinue<Chrom> continuator1(generations.value());
-00138   phenotype p; p.val_ok = validate.size() - 1; p.mse_error = 0;
-00139   eoFitContinue<Chrom> continuator2(p);
-00140   eoCombinedContinue<Chrom> continuator(continuator1, continuator2);
-00141 
-00142   // checkpoint
-00143   eoCheckPoint<Chrom> checkpoint(continuator);
-00144   
-00145   // monitor
-00146   eoStdoutMonitor monitor;
-00147   checkpoint.add(monitor);
-00148   
-00149   // statistics
-00150   eoBestFitnessStat<Chrom> stats;
-00151   checkpoint.add(stats);
-00152   monitor.add(stats);
-00153   
-00154   // genetic algorithm
-00155   eoSGA<Chrom> sga(select,
-00156                    xover, xover_rate.value(), 
-00157                    mutation, mut_rate.value(), 
-00158                    evaluator, 
-00159                    checkpoint);
-00160  
-00161   sga(pop);
-00162 
-00163   cout << "best: " << *max_element(pop.begin(), pop.end()) << endl;
-00164 }
-00165 
-00166 //-----------------------------------------------------------------------------
-00167 
-00168 // Local Variables: 
-00169 // mode:C++
-00170 // End:
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/gprop_8h-source.html b/trunk/paradiseo-eo/doc/html/gprop_8h-source.html deleted file mode 100644 index 0f2acc800..000000000 --- a/trunk/paradiseo-eo/doc/html/gprop_8h-source.html +++ /dev/null @@ -1,254 +0,0 @@ - - -EO: gprop.h Source File - - - - - -

gprop.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // gprop.h
-00005 // (c) GeNeura Team 1998
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 
-00026 #ifndef gprop_h
-00027 #define gprop_h
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #include <iostream>               // istream ostream
-00032 #include <iomanip>                // setprecision
-00033 #include <string>                 // string
-00034 #include <EO.h>                   // EO
-00035 #include <eoOp.h>                 // eoMonOp eoQuadraticOp
-00036 #include <eoInit.h>               // eoInit
-00037 #include <utils/rnd_generators.h> // normal_generator
-00038 #include "mlp.h"                  // mlp::net mlp::set
-00039 #include "qp.h"                   // qp::set
-00040 #include "mse.h"                  // mse::error
-00041 
-00042 //-----------------------------------------------------------------------------
-00043 // phenotype
-00044 //-----------------------------------------------------------------------------
-00045 
-00046 struct phenotype
-00047 {
-00048   int trn_ok, val_ok, tst_ok;
-00049   double mse_error;
-00050 
-00051   static int trn_max, val_max, tst_max;
-00052 
-00053   friend bool operator<(const phenotype& a, const phenotype& b)
-00054   {
-00055     return a.val_ok < b.val_ok || !(b.val_ok < a.val_ok) && b.mse_error < a.mse_error;
-00056   }
-00057 
-00058   friend bool operator==(const phenotype& a, const phenotype& b)
-00059   {
-00060     return a.val_ok == b.val_ok && b.mse_error == a.mse_error;
-00061   }
-00062 
-00063   friend bool operator>=(const phenotype& a, const phenotype& b)
-00064   {
-00065     return !(a < b);
-00066   }
-00067 
-00068   friend bool operator>(const phenotype& a, const phenotype& b)
-00069   {
-00070     return (!(a == b)) && (!(a < b));
-00071   }
-00072   
-00073   
-00074   
-00075   friend ostream& operator<<(ostream& os, const phenotype& p)
-00076   {
-00077     return os << p.trn_ok << "/" << p.trn_max << " "
-00078               << p.val_ok << "/" << p.val_max << " "
-00079               << p.tst_ok << "/" << p.tst_max << " "
-00080               << p.mse_error;
-00081   }
-00082   
-00083   friend istream& operator>>(istream& is, phenotype& p)
-00084   {
-00085     return is; // complete me
-00086   }
-00087 };
-00088 
-00089 
-00090 int phenotype::trn_max = 0, phenotype::val_max = 0, phenotype::tst_max = 0;
-00091 
-00092 //-----------------------------------------------------------------------------
-00093 // genotype
-00094 //-----------------------------------------------------------------------------
-00095 #ifndef GPROP_GENOTYPE
-00096 #define GPROP_GENOTYPE mlp::net
-00097 #endif
-00098 
-00099 typedef GPROP_GENOTYPE genotype;
-00100 
-00101 //-----------------------------------------------------------------------------
-00102 // Chrom
-00103 //-----------------------------------------------------------------------------
-00104 
-00105 extern unsigned in, out, hidden;
-00106 
-00107 class Chrom: public EO<phenotype>, public genotype
-00108 {
-00109 public:
-00110   Chrom(): genotype(in, out, vector<unsigned>(hidden < 1 ? 0 : 1, hidden)) {}
-00111 
-00112   string className() const { return "Chrom"; }
-00113 
-00114   void printOn (ostream& os) const 
-00115   { 
-00116     os << setprecision(3) << static_cast<genotype>(*this) << "  \t" 
-00117        << fitness(); 
-00118     // os << fitness();
-00119   }
-00120   
-00121   void readFrom (istream& is) 
-00122   {
-00123     invalidate(); // complete me
-00124   }
-00125 };
-00126 
-00127 //-----------------------------------------------------------------------------
-00128 // eoChromInit
-00129 //-----------------------------------------------------------------------------
-00130 
-00131 class eoInitChrom: public eoInit<Chrom>
-00132 {
-00133 public:
-00134   void operator()(Chrom& chrom)
-00135   {
-00136     chrom.reset();
-00137     chrom.invalidate();
-00138   }
-00139 };
-00140 
-00141 //-----------------------------------------------------------------------------
-00142 // global variables
-00143 //-----------------------------------------------------------------------------
-00144 
-00145 mlp::set *trn_set = 0, *val_set = 0, *tst_set = 0;
-00146 
-00147 void gprop_use_datasets(mlp::set *trn, mlp::set *val, mlp::set *tst) {
-00148    trn_set = trn;
-00149    val_set = val;
-00150    tst_set = tst;
-00151 }
-00152 
-00153 void ensure_datasets_initialized() {
-00154     if (!trn_set) {
-00155         cerr << "trn_set is not initialized.  Must call gprop_use_datasets before training\n";
-00156         cerr.flush();
-00157         abort();
-00158     }
-00159 }
-00160 
-00161 //-----------------------------------------------------------------------------
-00162 // eoChromMutation
-00163 //-----------------------------------------------------------------------------
-00164 
-00165 class eoChromMutation: public eoMonOp<Chrom>
-00166 {
-00167 public:
-00168   bool operator()(Chrom& chrom)
-00169   {
-00170     mse::net tmp(chrom);
-00171     tmp.train(*trn_set, 10, 0, 0.001);
-00172     return true;
-00173   }
-00174 };
-00175 
-00176 //-----------------------------------------------------------------------------
-00177 // eoChromXover
-00178 //-----------------------------------------------------------------------------
-00179 
-00180 class eoChromXover: public eoQuadOp<Chrom>
-00181 {
-00182 public:
-00183   bool operator()(Chrom& chrom1, Chrom& chrom2)
-00184   {
-00185     chrom1.normalize();
-00186     chrom2.desaturate();
-00187 
-00188     mse::net tmp1(chrom1), tmp2(chrom2);
-00189     ensure_datasets_initialized();
-00190     tmp1.train(*trn_set, 100, 0, 0.001);
-00191     tmp2.train(*trn_set, 100, 0, 0.001);
-00192 
-00193     return true;
-00194   }
-00195 };
-00196 
-00197 //-----------------------------------------------------------------------------
-00198 // eoChromEvaluator
-00199 //-----------------------------------------------------------------------------
-00200 
-00201 int correct(const mlp::net& net, const mlp::set& set)
-00202 {
-00203   int sum = 0;
-00204   
-00205   for (mlp::set::const_iterator s = set.begin(); s != set.end(); ++s)
-00206     {
-00207       unsigned partial = 0;
-00208       
-00209       for (unsigned i = 0; i < s->output.size(); ++i)
-00210         if (s->output[i] < 0.5 && net(s->input)[i] < 0.5 ||
-00211             s->output[i] > 0.5 && net(s->input)[i] > 0.5)
-00212           ++partial;
-00213       
-00214       if (partial == s->output.size())
-00215         ++sum;
-00216     }
-00217 
-00218   return sum;
-00219 }
-00220 
-00221 phenotype eoChromEvaluator(const Chrom& chrom)
-00222 {
-00223   phenotype p;
-00224   ensure_datasets_initialized();
-00225   p.trn_ok = correct(chrom, *trn_set);
-00226   p.val_ok = correct(chrom, *val_set);
-00227   p.tst_ok = correct(chrom, *tst_set);
-00228   p.mse_error = mse::error(chrom, *val_set);
-00229 
-00230   return p;
-00231 };
-00232 
-00233 //-----------------------------------------------------------------------------
-00234 
-00235 #endif // gprop_h
-00236 
-00237 // Local Variables: 
-00238 // mode:C++ 
-00239 // End:
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/group___evolution_strategies.html b/trunk/paradiseo-eo/doc/html/group___evolution_strategies.html deleted file mode 100644 index 7bcebee78..000000000 --- a/trunk/paradiseo-eo/doc/html/group___evolution_strategies.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: EvolutionStrategies - - - - -

EvolutionStrategies

- - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  eoEsChromInit< EOT >
 Random Es-chromosome initializer (therefore derived from eoInit). More...
class  eoEsFull< Fit >
 The most complex evolutionary strategy representation. More...
class  eoEsMutate< EOT >
 ES-style mutation in the large. More...
class  eoEsMutationInit
 Initialize Mutation operator. More...
class  eoEsSimple< Fit >
 Simple Evolution Strategy. More...
class  eoEsStdev< Fit >
 Evolutionary Strategy with a standard deviation per parameter. More...
class  eoIntBounds
 Defines bound classes for real numbers. More...
class  eoRealBounds
 Defines bound classes for real numbers. More...
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/group___operators.html b/trunk/paradiseo-eo/doc/html/group___operators.html deleted file mode 100644 index 98c26319f..000000000 --- a/trunk/paradiseo-eo/doc/html/group___operators.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Operators - - - - -

Operators

Genetic Operators are used for various purposes. -More... - -
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/group___parse_tree.html b/trunk/paradiseo-eo/doc/html/group___parse_tree.html deleted file mode 100644 index 0039db3ec..000000000 --- a/trunk/paradiseo-eo/doc/html/group___parse_tree.html +++ /dev/null @@ -1,116 +0,0 @@ - - -EO: ParseTree - - - - -

ParseTree

Various functions for tree-based Genetic Programming. -More... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  eoParseTree< FType, Node >
 Implementation of parse-tree for genetic programming. More...
class  eoParseTreeDepthInit< FType, Node >
 eoParseTreeDepthInit : the initializer class for eoParseTree More...
class  eoSubtreeXOver< FType, Node >
 eoSubtreeXOver --> subtree xover More...
class  eoBranchMutation< FType, Node >
 eoBranchMutation --> replace a subtree with a randomly created subtree More...
class  eoPointMutation< FType, Node >
 eoPointMutation --> replace a Node with a Node of the same arity More...
class  eoExpansionMutation< FType, Node >
 eoExpansionMutation --> replace a terminal with a randomly created subtree More...
class  eoCollapseSubtreeMutation< FType, Node >
 eoCollapseSubtree --> replace a subtree with a randomly chosen terminal More...
class  eoHoistMutation< FType, Node >
 eoHoistMutation --> replace the individual with one of its subtree's More...

Functions

template<class FType, class Node>
void eoInitRampedHalfAndHalf (eoPop< eoParseTree< FType, Node > > &pop, unsigned int population_size, unsigned int init_max_depth, std::vector< Node > &initializor)
 A template function for ramped half and half initialization of an eoParseTree population.
-

Detailed Description

-Various functions for tree-based Genetic Programming. -

-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-template<class FType, class Node>
void eoInitRampedHalfAndHalf eoPop< eoParseTree< FType, Node > > &  pop,
unsigned int  population_size,
unsigned int  init_max_depth,
std::vector< Node > &  initializor
-
- - - - - -
-   - - -

-A template function for ramped half and half initialization of an eoParseTree population. -

-

Parameters:
- - - - - -
pop the population to be created
population_size the size of the population to be created
init_max_depth the initial maximum tree depth
initializor A std::vector containing the possible nodes
-
- -

-Definition at line 179 of file eoParseTreeDepthInit.h.

-


Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/group___prop_combined_operators.html b/trunk/paradiseo-eo/doc/html/group___prop_combined_operators.html deleted file mode 100644 index 8d4731173..000000000 --- a/trunk/paradiseo-eo/doc/html/group___prop_combined_operators.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: PropCombinedOperators - - - - -

PropCombinedOperators

Combination of same-type Genetic Operators - Proportional choice. -More... - -
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/group___st_parse_tree.html b/trunk/paradiseo-eo/doc/html/group___st_parse_tree.html deleted file mode 100644 index 57a088521..000000000 --- a/trunk/paradiseo-eo/doc/html/group___st_parse_tree.html +++ /dev/null @@ -1,40 +0,0 @@ - - -EO: StParseTree - - - - -

StParseTree

Various functions for strongly typed tree-based Genetic Programming. -More... - - - - - - - - - - - - - - - - - -

Classes

class  eoStParseTreeDepthInit< FType, Node >
 eoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming More...
class  eoStSubtreeXOver< FType, Node >
 eoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming More...
class  eoStBranchMutation< FType, Node >
 eoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree More...
class  eoStPointMutation< FType, Node >
 eoStPointMutation --> replace a Node with a Node of the same arity and type More...
class  eoStHoistMutation< FType, Node >
 eoStHoistMutation --> replace the individual with one of its strongly typed subtree's More...
-

Detailed Description

-Various functions for strongly typed tree-based Genetic Programming. -

-The StParseTree functions use the same eoParseTree class for the individual but now each node class must have two additional functions.

    -
  • int type(void) which returns the return type of the node
  • -
  • int type(int child) which returns the required type for child 0, 1 or 2
  • -
-Pruning strongly typed trees is not possible at the moment.
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/group__bitstring.html b/trunk/paradiseo-eo/doc/html/group__bitstring.html deleted file mode 100644 index f3a24abee..000000000 --- a/trunk/paradiseo-eo/doc/html/group__bitstring.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: Bitstring - - - - -

Bitstring

Various functions for a bitstring representation. -More... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  eoBit< FitT >
 Implementation of bitstring chromosome. More...
class  eoBit< FitT >
 Implementation of bitstring chromosome. More...
class  eoBitBitFlip
 eoBitFlip --> changes 1 bit More...
class  eoDetBitFlip< Chrom >
 eoDetBitFlip --> changes exactly k bits More...
class  eoBitMutation< Chrom >
 eoBitMutation --> classical mutation More...
class  eoBitInversion< Chrom >
 eoBitInversion: inverts the bits of the chromosome between an interval More...
class  eoBitNext< Chrom >
 eoBitNext --> next value when bitstring considered as binary value More...
class  eoBitPrev< Chrom >
 eoBitPrev --> previous value when bitstring treated as binary value More...
class  eo1PtBitCrossover
 eo1PtBitXover --> classic 1-point crossover More...
class  eoUBitXover< Chrom >
 eoUBitXover --> classic Uniform crossover More...
class  eoNPtsBitXover< Chrom >
 eoNPtsBitXover --> n-point crossover More...
class  eoBitGxOver< Chrom >
 eoBitGxOver --> Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) More...
-

Detailed Description

-Various functions for a bitstring representation. -

-


Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/group__selectors.html b/trunk/paradiseo-eo/doc/html/group__selectors.html deleted file mode 100644 index 914dd8a42..000000000 --- a/trunk/paradiseo-eo/doc/html/group__selectors.html +++ /dev/null @@ -1,16 +0,0 @@ - - -EO: Selectors - - - - -

Selectors

- -
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/hierarchy.html b/trunk/paradiseo-eo/doc/html/hierarchy.html deleted file mode 100644 index 7ecdf3e8d..000000000 --- a/trunk/paradiseo-eo/doc/html/hierarchy.html +++ /dev/null @@ -1,1323 +0,0 @@ - - -EO: Hierarchical Index - - - - -

EO Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: -
Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/index.html b/trunk/paradiseo-eo/doc/html/index.html deleted file mode 100644 index 916b351e2..000000000 --- a/trunk/paradiseo-eo/doc/html/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - -EO - - - - - diff --git a/trunk/paradiseo-eo/doc/html/index_8h-source.html b/trunk/paradiseo-eo/doc/html/index_8h-source.html deleted file mode 100644 index 051a5f323..000000000 --- a/trunk/paradiseo-eo/doc/html/index_8h-source.html +++ /dev/null @@ -1,20 +0,0 @@ - - -EO: index.h Source File - - - - -

index.h

00001 
-00062 // Local Variables:
-00063 // coding: iso-8859-1
-00064 // mode: C++
-00065 // c-file-style: "Stroustrup"
-00066 // fill-column: 80
-00067 // End:
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/installdox b/trunk/paradiseo-eo/doc/html/installdox deleted file mode 100755 index 9b89fe025..000000000 --- a/trunk/paradiseo-eo/doc/html/installdox +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/perl - -%subst = ( ); -$quiet = 0; - -if (open(F,"search.cfg")) -{ - $_= ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_; - $_= ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_; -} - -while ( @ARGV ) { - $_ = shift @ARGV; - if ( s/^-// ) { - if ( /^l(.*)/ ) { - $v = ($1 eq "") ? shift @ARGV : $1; - ($v =~ /\/$/) || ($v .= "/"); - $_ = $v; - if ( /(.+)\@(.+)/ ) { - if ( exists $subst{$1} ) { - $subst{$1} = $2; - } else { - print STDERR "Unknown tag file $1 given with option -l\n"; - &usage(); - } - } else { - print STDERR "Argument $_ is invalid for option -l\n"; - &usage(); - } - } - elsif ( /^q/ ) { - $quiet = 1; - } - elsif ( /^\?|^h/ ) { - &usage(); - } - else { - print STDERR "Illegal option -$_\n"; - &usage(); - } - } - else { - push (@files, $_ ); - } -} - -foreach $sub (keys %subst) -{ - if ( $subst{$sub} eq "" ) - { - print STDERR "No substitute given for tag file `$sub'\n"; - &usage(); - } - elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" ) - { - print "Substituting $subst{$sub} for each occurence of tag file $sub\n"; - } -} - -if ( ! @files ) { - if (opendir(D,".")) { - foreach $file ( readdir(D) ) { - $match = ".html"; - next if ( $file =~ /^\.\.?$/ ); - ($file =~ /$match/) && (push @files, $file); - ($file =~ "tree.js") && (push @files, $file); - } - closedir(D); - } -} - -if ( ! @files ) { - print STDERR "Warning: No input files given and none found!\n"; -} - -foreach $f (@files) -{ - if ( ! $quiet ) { - print "Editing: $f...\n"; - } - $oldf = $f; - $f .= ".bak"; - unless (rename $oldf,$f) { - print STDERR "Error: cannot rename file $oldf\n"; - exit 1; - } - if (open(F,"<$f")) { - unless (open(G,">$oldf")) { - print STDERR "Error: opening file $oldf for writing\n"; - exit 1; - } - if ($oldf ne "tree.js") { - while () { - s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g; - print G "$_"; - } - } - else { - while () { - s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g; - print G "$_"; - } - } - } - else { - print STDERR "Warning file $f does not exist\n"; - } - unlink $f; -} - -sub usage { - print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n"; - print STDERR "Options:\n"; - print STDERR " -l tagfile\@linkName tag file + URL or directory \n"; - print STDERR " -q Quiet mode\n\n"; - exit 1; -} diff --git a/trunk/paradiseo-eo/doc/html/l2_8h-source.html b/trunk/paradiseo-eo/doc/html/l2_8h-source.html deleted file mode 100644 index 0e193466f..000000000 --- a/trunk/paradiseo-eo/doc/html/l2_8h-source.html +++ /dev/null @@ -1,155 +0,0 @@ - - -EO: l2.h Source File - - - - - -

l2.h

00001 //-----------------------------------------------------------------------------
-00002 // l2.h
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifndef l2_h
-00006 #define l2_h
-00007 
-00008 //-----------------------------------------------------------------------------
-00009 
-00010 #include <math.h>  // log
-00011 #include <qp.h>    // neuron layer net set
-00012 
-00013 //-----------------------------------------------------------------------------
-00014 
-00015 namespace l2
-00016 {
-00017   //---------------------------------------------------------------------------
-00018   // useful typedefs
-00019   //---------------------------------------------------------------------------
-00020 
-00021   using qp::real;
-00022   using qp::vector;
-00023   using qp::max_real;
-00024   using qp::min_real;
-00025   using qp::set;
-00026   using qp::neuron;
-00027   using qp::layer;
-00028 
-00029   //---------------------------------------------------------------------------
-00030   // error
-00031   //---------------------------------------------------------------------------
-00032   
-00033   real error(const mlp::net& net, const set& ts)
-00034   {
-00035     real error_ = 0.0;
-00036 
-00037     for (set::const_iterator s = ts.begin(); s != ts.end(); ++s)
-00038       {
-00039         vector out = net(s->input);
-00040         
-00041         for (unsigned i = 0; i < out.size(); ++i)
-00042           {
-00043             real target = s->output[i];
-00044             real value = out[i];
-00045             error_ -= target * log(value + min_real) + 
-00046               (1.0 - target) * log(1.0 - value + min_real);
-00047           }
-00048       }
-00049 
-00050     return error_;
-00051   }
-00052 
-00053   //-------------------------------------------------------------------------
-00054   // l2
-00055   //-------------------------------------------------------------------------
-00056   
-00057   class net: public qp::net
-00058   {
-00059   public:
-00060     net(mlp::net& n): qp::net(n) {}
-00061     
-00062     real error(const set& ts)
-00063     {
-00064       real error_ = 0;
-00065       
-00066       for (set::const_iterator s = ts.begin(); s != ts.end(); ++s)
-00067         {
-00068           forward(s->input);
-00069           error_ -= backward(s->input, s->output);
-00070         }
-00071       
-00072       return error_;
-00073     }
-00074     
-00075   private:
-00076     real backward(const vector& input, const vector& output)
-00077     {
-00078       reverse_iterator current_layer = rbegin();
-00079       reverse_iterator backward_layer = current_layer + 1;
-00080       real error_ = 0;
-00081 
-00082       // output layer
-00083       for (unsigned j = 0; j < current_layer->size(); ++j)
-00084         {
-00085           neuron& n = (*current_layer)[j];
-00086           real out = output[j];
-00087           n.ndelta += n.delta = (out - n.out) / 
-00088             (n.out * (1.0 - n.out) + min_real) * n.out * (1.0 - n.out);
-00089 
-00090           if (size() == 1)                                        // monolayer
-00091             n.dxo += n.delta * input;
-00092           else                                                    // multilayer
-00093             for (unsigned k = 0; k < n.dxo.size(); ++k)
-00094               n.dxo[k] += n.delta * (*backward_layer)[k].out;
-00095           
-00096           error_ += out * log(n.out + min_real) + 
-00097             (1.0 - out) * log(1.0 - n.out + min_real);
-00098         }
-00099       
-00100       // hidden layers
-00101       while (++current_layer != rend())
-00102         {
-00103           reverse_iterator forward_layer  = current_layer - 1;
-00104           reverse_iterator backward_layer = current_layer + 1;
-00105           
-00106           for (unsigned j = 0; j < current_layer->size(); ++j)
-00107             {
-00108               neuron& n = (*current_layer)[j];
-00109               real sum = 0; 
-00110               for (unsigned k = 0; k < forward_layer->size(); ++k)
-00111                 {
-00112                   neuron& nf = (*forward_layer)[k];
-00113                   sum += nf.delta * (nf.n->weight[j] + nf.dweight1[j]);
-00114                 }
-00115               n.delta = n.out * (1.0 - n.out) * sum;
-00116               n.ndelta += n.delta;
-00117               
-00118               if (backward_layer == rend())               // first hidden layer
-00119                 n.dxo += n.delta * input;
-00120               else                                     // rest of hidden layers
-00121                 for (unsigned k = 0; k < n.dxo.size(); ++k)
-00122                   n.dxo[k] += n.delta * (*backward_layer)[k].out;
-00123             }
-00124         }
-00125     
-00126       return error_;
-00127     }
-00128   };
-00129   
-00130   //---------------------------------------------------------------------------
-00131   
-00132 } // namespace l2
-00133 
-00134 //-----------------------------------------------------------------------------
-00135 
-00136 #endif // l2_h
-00137 
-00138 // Local Variables: 
-00139 // mode:C++ 
-00140 // End:
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/main.html b/trunk/paradiseo-eo/doc/html/main.html deleted file mode 100644 index 51e74df11..000000000 --- a/trunk/paradiseo-eo/doc/html/main.html +++ /dev/null @@ -1,23 +0,0 @@ - - -EO: Welcome to Evolving Objects - - - - -

Welcome to Evolving Objects

-

-

0.9.4-cvs

-Introduction

-EO is a templates-based, ANSI-C++ compliant evolutionary computation library. It contains classes for almost any kind of evolutionary computation you might come up to - at least for the ones we could think of. It is component-based, so that if you don't find the class you need in it, it is very easy to subclass existing abstract or concrete classes.

-Tutorial

-The best place to learn about the features and approaches of EO is to look at the tutorial.

-Installation

-The installation procedure of the package is detailed in the README file in the top-directory of the source-tree.

-Overall Design

-For an introduction to the design of EO you can look at the slides from a talk at EA 2001 or the corresponding article in Lecture Notes In Computer Science 2310, Selected Papers from the 5th European Conference on Artificial Evolution.
Generated on Thu Oct 19 05:06:33 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/main_8cpp-source.html b/trunk/paradiseo-eo/doc/html/main_8cpp-source.html deleted file mode 100644 index 70bddfab9..000000000 --- a/trunk/paradiseo-eo/doc/html/main_8cpp-source.html +++ /dev/null @@ -1,187 +0,0 @@ - - -EO: main.cpp Source File - - - - - -

main.cpp

00001 /*
-00002     This program is free software; you can redistribute it and/or modify
-00003     it under the terms of the GNU General Public License as published by
-00004     the Free Software Foundation; either version 2 of the License, or
-00005     (at your option) any later version.
-00006 
-00007     This library is distributed in the hope that it will be useful,
-00008     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00009     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00010     Lesser General Public License for more details.
-00011 
-00012     You should have received a copy of the GNU General Public License
-00013     along with this library; if not, write to the Free Software
-00014     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00015 
-00016     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00017              jeggermo@liacs.nl
-00018 */
-00019 
-00020 #ifdef _MSC_VER
-00021 #pragma warning(disable:4786)
-00022 #endif
-00023 
-00024 #ifdef HAVE_CONFIG_H
-00025 #include <config.h>
-00026 #endif
-00027 
-00028 #include <iostream>
-00029 #include "gp/eoParseTree.h"
-00030 #include "eo"
-00031 
-00032 using namespace gp_parse_tree;
-00033 using namespace std;
-00034 
-00035 //-----------------------------------------------------------------------------
-00036 
-00037 #include "node.h"
-00038 #include "parameters.h"
-00039 #include "fitness.h"
-00040 
-00041 
-00042 // TYPE DECLARATIONS FOR GP
-00043 
-00044 
-00045 typedef eoParseTree<FitnessType, Node > EoType;
-00046 typedef eoPop<EoType> Pop;
-00047 
-00048 //-----------------------------------------------------------------------------
-00049 
-00050 int main(int argc, char *argv[])
-00051 {
-00052 
-00053         // the vector containing the possible nodes
-00054         vector<Node> initSequence;
-00055 
-00056         // initialise parameters
-00057         Parameters parameter(argc, argv);
-00058 
-00059         // set the randomseed
-00060         rng.reseed(parameter.randomseed);
-00061 
-00062          // Create a generation counter
-00063         eoValueParam<unsigned> generationCounter(0, "Gen.");
-00064 
-00065         // Create an incrementor (sub-class of eoUpdater). Note that the
-00066         // parameter's value is passed by reference,
-00067         // so every time the incrementer is updated (every generation),
-00068         // the data in generationCounter will change.
-00069         eoIncrementor<unsigned> increment(generationCounter.value());
-00070 
-00071 
-00072         // create an instantiation of the fitness/evaluation function
-00073         // it initializes the initSequence vector
-00074         // the parameters are passed on as well
-00075         RegFitness eval(generationCounter, initSequence, parameter);
-00076 
-00077         // Depth Initializor, set for Ramped Half and Half Initialization
-00078         eoParseTreeDepthInit<FitnessType, Node> initializer(parameter.InitMaxDepth, initSequence, true, true);
-00079 
-00080         // create the initial population
-00081         Pop pop(parameter.population_size, initializer);
-00082 
-00083         // and evaluate the individuals
-00084         apply<EoType>(eval, pop);
-00085 
-00086         generationCounter.value()++; // set the generationCounter to 1
-00087 
-00088 
-00089         // define X-OVER
-00090 
-00091         eoSubtreeXOver<FitnessType, Node>   xover(parameter.MaxSize);
-00092 
-00093         // define MUTATION
-00094       eoBranchMutation<FitnessType, Node> mutation(initializer, parameter.MaxSize);
-00095 //      eoExpansionMutation<FitnessType, Node> mutation(initializer, parameter.MaxSize);
-00096 //      eoCollapseSubtreeMutation<FitnessType, Node> mutation(initializer, parameter.MaxSize);
-00097 //      eoPointMutation<FitnessType, Node> mutation(initSequence);
-00098 //      eoHoistMutation<FitnessType, Node> mutation;
-00099 
-00100         // The operators are  encapsulated into an eoTRansform object,
-00101         // that performs sequentially crossover and mutation
-00102         eoSGATransform<EoType> transform(xover, parameter.xover_rate, mutation, parameter.mutation_rate);
-00103 
-00104         // The robust tournament selection
-00105         // in our case 5-tournament selection
-00106         eoDetTournamentSelect<EoType> selectOne(parameter.tournamentsize);
-00107         // is now encapsulated in a eoSelectMany
-00108         eoSelectMany<EoType> select(selectOne, parameter.offspring_size, eo_is_an_integer);
-00109 
-00110         // and the generational replacement
-00111         //eoGenerationalReplacement<EoType> replace;
-00112         // or the SteadtState replacment
-00113         //eoSSGAWorseReplacement<EoType> replace;
-00114         // or comma selection
-00115         eoCommaReplacement<EoType> replace;
-00116 
-00117         // Terminators
-00118         eoGenContinue<EoType> term(parameter.nGenerations);
-00119 
-00120         eoCheckPoint<EoType> checkPoint(term);
-00121 
-00122         // STATISTICS
-00123         eoAverageStat<EoType>     avg;
-00124         eoBestFitnessStat<EoType> best;
-00125 
-00126 
-00127         // Add it to the checkpoint,
-00128         // so the counter is updated (here, incremented) every generation
-00129         checkPoint.add(increment);
-00130         checkPoint.add(avg);
-00131         checkPoint.add(best);
-00132 
-00133 #ifdef HAVE_GNUPLOT
-00134         eoGnuplot1DMonitor gnuplotmonitor("gnuplotBestStats");
-00135         gnuplotmonitor.add(generationCounter);
-00136         gnuplotmonitor.add(best);
-00137         // we need to add a empty string variable if we want to seed the second fitness value
-00138         eoValueParam<string> dummy1("", "Smallest Tree Size");
-00139         gnuplotmonitor.add(dummy1);
-00140 
-00141         eoGnuplot1DMonitor gnuplotAvgmonitor("gnuplotAvgStats");
-00142         gnuplotAvgmonitor.add(generationCounter);
-00143         gnuplotAvgmonitor.add(avg);
-00144         // we need to add a empty string variable if we want to seed the second fitness value
-00145         eoValueParam<string> dummy2("", "Average Tree Size");
-00146         gnuplotAvgmonitor.add(dummy2);
-00147 
-00148         checkPoint.add(gnuplotmonitor);
-00149         checkPoint.add(gnuplotAvgmonitor);
-00150 #endif
-00151         // GP Generation
-00152         eoEasyEA<EoType> gp(checkPoint, eval, select, transform, replace);
-00153 
-00154         cout << "Initialization done" << endl;
-00155 
-00156 
-00157         try
-00158         {
-00159                 gp(pop);
-00160         }
-00161         catch (exception& e)
-00162         {
-00163             cout << "exception: " << e.what() << endl;;
-00164             exit(EXIT_FAILURE);
-00165         }
-00166 
-00167         return 1;
-00168 
-00169 };
-00170 
-00171 
-00172 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make___my_struct_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make___my_struct_8cpp-source.html deleted file mode 100644 index b0b85aa5c..000000000 --- a/trunk/paradiseo-eo/doc/html/make___my_struct_8cpp-source.html +++ /dev/null @@ -1,137 +0,0 @@ - - -EO: make_MyStruct.cpp Source File - - - - - -

make_MyStruct.cpp

00001 
-00006 /*
-00007 Template for creating a new representation in EO
-00008 ================================================
-00009 
-00010 This is the template file that allows separate compilation of
-00011 everything that is representation independant (evolution engine and
-00012 general output) for an Evolutionary Algorithm with scalar fitness.
-00013 
-00014 It includes of course the definition of the genotype (eoMyStruct.h) and
-00015 is written like the make_xxx.cpp files in dirs src/ga (for bitstrings)
-00016 and src/es (for real vectors).
-00017 
-00018 */
-00019 
-00020 // Miscilaneous include and declaration 
-00021 #include <iostream>
-00022 using namespace std;
-00023 
-00024 // eo general include
-00025 #include "eo"
-00026 // the real bounds (not yet in general eo include)
-00027 #include "utils/eoRealVectorBounds.h"
-00028 
-00029 // include here whatever specific files for your representation
-00030 // Basically, this should include at least the following
-00031 
-00035 #include "eoMyStruct.h"
-00036 
-00037 // create an initializer: this is NOT representation-independent
-00038 // and will be done in the main file
-00039 // However, should you decide to freeze that part, you could use the
-00040 // following (and remove it from the main file, of course!!!)
-00041 //------------------------------------------------------------------
-00042 // #include "make_genotype_MyStruct.h"
-00043 // eoInit<eoMyStruct<double>> & make_genotype(eoParser& _parser, eoState&_state, eoMyStruct<double> _eo)
-00044 // {
-00045 //   return do_make_genotype(_parser, _state, _eo);
-00046 // } 
-00047 
-00048 // eoInit<eoMyStruct<eoMinimizingFitness>> & make_genotype(eoParser& _parser, eoState&_state, eoMyStruct<eoMinimizingFitness> _eo)
-00049 // {
-00050 //   return do_make_genotype(_parser, _state, _eo);
-00051 // } 
-00052 
-00053 // same thing for the variation operaotrs
-00054 //---------------------------------------
-00055 // #include "make_op_MyStruct.h"
-00056 // eoGenOp<eoMyStruct<double>>&  make_op(eoParser& _parser, eoState& _state, eoInit<eoMyStruct<double>>& _init)
-00057 // {
-00058 //   return do_make_op(_parser, _state, _init);
-00059 // }
-00060 
-00061 // eoGenOp<eoMyStruct<eoMinimizingFitness>>&  make_op(eoParser& _parser, eoState& _state, eoInit<eoMyStruct<eoMinimizingFitness>>& _init)
-00062 // {
-00063 //   return do_make_op(_parser, _state, _init);
-00064 // }
-00065 
-00066 // The following modules use ***representation independent*** routines
-00067 
-00068 // how to initialize the population 
-00069 // it IS representation independent if an eoInit is given
-00070 #include <do/make_pop.h>
-00071 eoPop<eoMyStruct<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoMyStruct<double> > & _init)
-00072 {
-00073   return do_make_pop(_parser, _state, _init);
-00074 }
-00075 
-00076 eoPop<eoMyStruct<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoMyStruct<eoMinimizingFitness> > & _init)
-00077 {
-00078   return do_make_pop(_parser, _state, _init);
-00079 }
-00080 
-00081 // the stopping criterion
-00082 #include <do/make_continue.h>
-00083 eoContinue<eoMyStruct<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoMyStruct<double> > & _eval)
-00084 {
-00085   return do_make_continue(_parser, _state, _eval);
-00086 }
-00087 
-00088 eoContinue<eoMyStruct<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoMyStruct<eoMinimizingFitness> > & _eval)
-00089 {
-00090   return do_make_continue(_parser, _state, _eval);
-00091 }
-00092 
-00093 // outputs (stats, population dumps, ...)
-00094 #include <do/make_checkpoint.h>
-00095 eoCheckPoint<eoMyStruct<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoMyStruct<double> >& _eval, eoContinue<eoMyStruct<double> >& _continue) 
-00096 {
-00097   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00098 }
-00099 
-00100 eoCheckPoint<eoMyStruct<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoMyStruct<eoMinimizingFitness> >& _eval, eoContinue<eoMyStruct<eoMinimizingFitness> >& _continue) 
-00101 {
-00102   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00103 }
-00104 
-00105 // evolution engine (selection and replacement)
-00106 #include <do/make_algo_scalar.h>
-00107 eoAlgo<eoMyStruct<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoMyStruct<double> >& _eval, eoContinue<eoMyStruct<double> >& _continue, eoGenOp<eoMyStruct<double> >& _op)
-00108 {
-00109   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00110 }
-00111 
-00112 eoAlgo<eoMyStruct<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoMyStruct<eoMinimizingFitness> >& _eval, eoContinue<eoMyStruct<eoMinimizingFitness> >& _continue, eoGenOp<eoMyStruct<eoMinimizingFitness> >& _op)
-00113 {
-00114   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00115 }
-00116 
-00117 // simple call to the algo. stays there for consistency reasons 
-00118 // no template for that one
-00119 #include <do/make_run.h>
-00120 void run_ea(eoAlgo<eoMyStruct<double> >& _ga, eoPop<eoMyStruct<double> >& _pop)
-00121 {
-00122   do_run(_ga, _pop);
-00123 }
-00124 
-00125 void run_ea(eoAlgo<eoMyStruct<eoMinimizingFitness> >& _ga, eoPop<eoMyStruct<eoMinimizingFitness> >& _pop)
-00126 {
-00127   do_run(_ga, _pop);
-00128 }
-00129 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make___one_max_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make___one_max_8cpp-source.html deleted file mode 100644 index dad3eb866..000000000 --- a/trunk/paradiseo-eo/doc/html/make___one_max_8cpp-source.html +++ /dev/null @@ -1,137 +0,0 @@ - - -EO: make_OneMax.cpp Source File - - - - - -

make_OneMax.cpp

00001 
-00006 /*
-00007 Template for creating a new representation in EO
-00008 ================================================
-00009 
-00010 This is the template file that llows separate compilation of
-00011 everything that is representation independant (evolution engine and
-00012 general output) for an Evolutionary Algorithm with scalar fitness.
-00013 
-00014 It includes of course the definition of the genotype (eoOneMax.h) and
-00015 is written like the make_xxx.cpp files in dirs src/ga (for bitstrings)
-00016 and src/es (for real vectors).
-00017 
-00018 */
-00019 
-00020 // Miscilaneous include and declaration 
-00021 #include <iostream>
-00022 using namespace std;
-00023 
-00024 // eo general include
-00025 #include "eo"
-00026 // the real bounds (not yet in general eo include)
-00027 #include "utils/eoRealVectorBounds.h"
-00028 
-00029 // include here whatever specific files for your representation
-00030 // Basically, this should include at least the following
-00031 
-00035 #include "eoOneMax.h"
-00036 
-00037 // create an initializer: this is NOT representation-independent
-00038 // and will be done in the main file
-00039 // However, should you decide to freeze that part, you could use the
-00040 // following (and remove it from the main file, of course!!!)
-00041 //------------------------------------------------------------------
-00042 // #include "make_genotype_OneMax.h"
-00043 // eoInit<eoOneMax<double>> & make_genotype(eoParser& _parser, eoState&_state, eoOneMax<double> _eo)
-00044 // {
-00045 //   return do_make_genotype(_parser, _state, _eo);
-00046 // } 
-00047 
-00048 // eoInit<eoOneMax<eoMinimizingFitness>> & make_genotype(eoParser& _parser, eoState&_state, eoOneMax<eoMinimizingFitness> _eo)
-00049 // {
-00050 //   return do_make_genotype(_parser, _state, _eo);
-00051 // } 
-00052 
-00053 // same thing for the variation operaotrs
-00054 //---------------------------------------
-00055 // #include "make_op_OneMax.h"
-00056 // eoGenOp<eoOneMax<double>>&  make_op(eoParser& _parser, eoState& _state, eoInit<eoOneMax<double>>& _init)
-00057 // {
-00058 //   return do_make_op(_parser, _state, _init);
-00059 // }
-00060 
-00061 // eoGenOp<eoOneMax<eoMinimizingFitness>>&  make_op(eoParser& _parser, eoState& _state, eoInit<eoOneMax<eoMinimizingFitness>>& _init)
-00062 // {
-00063 //   return do_make_op(_parser, _state, _init);
-00064 // }
-00065 
-00066 // The following modules use ***representation independent*** routines
-00067 
-00068 // how to initialize the population 
-00069 // it IS representation independent if an eoInit is given
-00070 #include <do/make_pop.h>
-00071 eoPop<eoOneMax<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoOneMax<double> > & _init)
-00072 {
-00073   return do_make_pop(_parser, _state, _init);
-00074 }
-00075 
-00076 eoPop<eoOneMax<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoOneMax<eoMinimizingFitness> > & _init)
-00077 {
-00078   return do_make_pop(_parser, _state, _init);
-00079 }
-00080 
-00081 // the stopping criterion
-00082 #include <do/make_continue.h>
-00083 eoContinue<eoOneMax<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoOneMax<double> > & _eval)
-00084 {
-00085   return do_make_continue(_parser, _state, _eval);
-00086 }
-00087 
-00088 eoContinue<eoOneMax<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoOneMax<eoMinimizingFitness> > & _eval)
-00089 {
-00090   return do_make_continue(_parser, _state, _eval);
-00091 }
-00092 
-00093 // outputs (stats, population dumps, ...)
-00094 #include <do/make_checkpoint.h>
-00095 eoCheckPoint<eoOneMax<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoOneMax<double> >& _eval, eoContinue<eoOneMax<double> >& _continue) 
-00096 {
-00097   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00098 }
-00099 
-00100 eoCheckPoint<eoOneMax<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoOneMax<eoMinimizingFitness> >& _eval, eoContinue<eoOneMax<eoMinimizingFitness> >& _continue) 
-00101 {
-00102   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00103 }
-00104 
-00105 // evolution engine (selection and replacement)
-00106 #include <do/make_algo_scalar.h>
-00107 eoAlgo<eoOneMax<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoOneMax<double> >& _eval, eoContinue<eoOneMax<double> >& _continue, eoGenOp<eoOneMax<double> >& _op)
-00108 {
-00109   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00110 }
-00111 
-00112 eoAlgo<eoOneMax<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoOneMax<eoMinimizingFitness> >& _eval, eoContinue<eoOneMax<eoMinimizingFitness> >& _continue, eoGenOp<eoOneMax<eoMinimizingFitness> >& _op)
-00113 {
-00114   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00115 }
-00116 
-00117 // simple call to the algo. stays there for consistency reasons 
-00118 // no template for that one
-00119 #include <do/make_run.h>
-00120 void run_ea(eoAlgo<eoOneMax<double> >& _ga, eoPop<eoOneMax<double> >& _pop)
-00121 {
-00122   do_run(_ga, _pop);
-00123 }
-00124 
-00125 void run_ea(eoAlgo<eoOneMax<eoMinimizingFitness> >& _ga, eoPop<eoOneMax<eoMinimizingFitness> >& _pop)
-00126 {
-00127   do_run(_ga, _pop);
-00128 }
-00129 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make___p_b_i_ldistrib_8h-source.html b/trunk/paradiseo-eo/doc/html/make___p_b_i_ldistrib_8h-source.html deleted file mode 100644 index 28ee7ea2e..000000000 --- a/trunk/paradiseo-eo/doc/html/make___p_b_i_ldistrib_8h-source.html +++ /dev/null @@ -1,105 +0,0 @@ - - -EO: make_PBILdistrib.h Source File - - - - - -

make_PBILdistrib.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_PBILdistrib.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _make_PBILdistrib_h
-00027 #define _make_PBILdistrib_h
-00028 
-00029 #include <ctime>                   // for time(0) for random seeding
-00030 #include <ga/eoPBILOrg.h>
-00031 #include <utils/eoRNG.h>
-00032 #include <utils/eoParser.h>
-00033 #include <utils/eoState.h>
-00034 
-00035 
-00037 
-00048 template <class EOT>
-00049 eoPBILDistrib<EOT> &  do_make_PBILdistrib(eoParser & _parser, eoState& _state, EOT)
-00050 {
-00051   // First the random seed
-00052     eoValueParam<uint32_t>& seedParam = _parser.createParam(uint32_t(0), "seed", "Random number seed", 'S');
-00053     if (seedParam.value() == 0)
-00054         seedParam.value() = time(0);
-00055 
-00056     // chromosome size:
-00057     unsigned theSize;
-00058     // but it might have been already read in the definition fo the performance
-00059     eoParam* ptParam = _parser.getParamWithLongName(std::string("chromSize"));
-00060 
-00061     if (!ptParam)                          // not already defined: read it here
-00062       {
-00063         theSize = _parser.createParam(unsigned(10), "chromSize", "The length of the bitstrings", 'n',"Problem").value();
-00064       }
-00065     else                                   // it was read before, get its value
-00066       {
-00067         eoValueParam<unsigned>* ptChromSize = dynamic_cast<eoValueParam<unsigned>*>(ptParam);
-00068         theSize = ptChromSize->value();
-00069       }
-00070 
-00071     eoPBILDistrib<EOT> * ptDistrib = new eoPBILDistrib<EOT>(theSize);
-00072     _state.storeFunctor(ptDistrib);
-00073 
-00074     // now the initialization: read a previously saved distribution, or random
-00075   eoValueParam<std::string>& loadNameParam = _parser.createParam(std::string(""), "Load","A save file to restart from",'L', "Persistence" );
-00076   if (loadNameParam.value() != "") // something to load
-00077     {
-00078       // create another state for reading
-00079       eoState inState;          // a state for loading - WITHOUT the parser
-00080       // register the rng and the distribution in the state,
-00081       // so they can be loaded,
-00082       // and the present run will be the exact continuation of the saved run
-00083       // eventually with different parameters
-00084       inState.registerObject(*ptDistrib);
-00085       inState.registerObject(rng);
-00086       inState.load(loadNameParam.value()); //  load the distrib and the rng
-00087     }
-00088   else                          // nothing loaded from a file
-00089     {
-00090       rng.reseed(seedParam.value());
-00091     }
-00092 
-00093   // for future stateSave, register the algorithm into the state
-00094    _state.registerObject(_parser);
-00095    _state.registerObject(*ptDistrib);
-00096    _state.registerObject(rng);
-00097 
-00098   return *ptDistrib;
-00099 }
-00100 
-00101 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make___p_b_i_lupdate_8h-source.html b/trunk/paradiseo-eo/doc/html/make___p_b_i_lupdate_8h-source.html deleted file mode 100644 index 7e4fd3527..000000000 --- a/trunk/paradiseo-eo/doc/html/make___p_b_i_lupdate_8h-source.html +++ /dev/null @@ -1,83 +0,0 @@ - - -EO: make_PBILupdate.h Source File - - - - - -

make_PBILupdate.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_PBILupdate.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@polytechnique.fr
-00022              mkeijzer@dhi.dk
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #ifndef _make_PBILupdate_h
-00027 #define _make_PBILupdate_h
-00028 
-00029 #include <ga/eoPBILOrg.h>
-00030 #include <utils/eoRNG.h>
-00031 #include <utils/eoParser.h>
-00032 #include <utils/eoState.h>
-00033 
-00034 
-00036 
-00047 template <class EOT>
-00048 eoDistribUpdater<EOT> &  do_make_PBILupdate(eoParser & _parser, eoState& _state, EOT)
-00049 {
-00050   // ast the moment, a single update rule is available 
-00051   // but at some point we'll have to choose among different rules
-00052 
-00053     std::string UType = _parser.createParam(std::string("PBIL"), "updateRule", "Type of update rule (only PBIL additive at the moment)", 'U', "Algorithm").value();
-00054 
-00055   unsigned nbBest = _parser.createParam(unsigned(1), "nbBest", "Number of good guys to update from", 'B', "Algorithm").value();
-00056     double LRBest = _parser.createParam(0.1, "LRBest", "Learning Rate (from best guys)", 'L', "Algorithm").value();
-00057   unsigned nbWorst = _parser.createParam(unsigned(0), "nbWorst", "Number of bad guys to update from", 'W', "Algorithm").value();
-00058     double LRWorst = _parser.createParam(0.01, "LRWorst", "Learning Rate (from best guys)", 'L', "Algorithm").value();
-00059     double tolerance = _parser.createParam(0.0, "tolerance", "Keeping away from 0 and 1", 't', "Algorithm").value();
-00060 
-00061     // a pointer to choose among several possible types
-00062   eoDistribUpdater<EOT> * ptUpdate; 
-00063 
-00064   if (UType == std::string("PBIL"))
-00065     {
-00066     if ( (nbWorst == 0) && (nbBest == 1) )
-00067       ptUpdate = new eoPBILOrg<EOT>(LRBest, tolerance);
-00068     else
-00069       ptUpdate = new eoPBILAdditive<EOT>(LRBest, nbBest, tolerance, LRWorst, nbWorst);
-00070     }
-00071   else
-00072     throw std::runtime_error("Only PBIL additive update rule available at the moment");
-00073 
-00074   // done: don't forget to store the allocated pointers
-00075   _state.storeFunctor(ptUpdate); 
-00076   return *ptUpdate;
-00077 }
-00078 
-00079 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__algo__easea_8h-source.html b/trunk/paradiseo-eo/doc/html/make__algo__easea_8h-source.html deleted file mode 100644 index 3d2e2c4a2..000000000 --- a/trunk/paradiseo-eo/doc/html/make__algo__easea_8h-source.html +++ /dev/null @@ -1,349 +0,0 @@ - - -EO: make_algo_easea.h Source File - - - - - -

make_algo_easea.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_algo_easea.h
-00005 // (c) Marc Schoenauer and Pierre Collet, 2002
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Pierre.Collet@polytechnique.fr
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_algo_easea_h
-00028 #define _make_algo_easea_h
-00029 
-00030 #include <utils/eoData.h>     // for eo_is_a_rate
-00031 // everything tha's needed for the algorithms - SCALAR fitness
-00032 
-00033 // Selection
-00034 // the eoSelectOne's
-00035 #include <eoRandomSelect.h>
-00036 #include <eoSequentialSelect.h>
-00037 #include <eoDetTournamentSelect.h>
-00038 #include <eoProportionalSelect.h>
-00039 #include <eoFitnessScalingSelect.h>
-00040 #include <eoRankingSelect.h>
-00041 #include <eoStochTournamentSelect.h>
-00042 // #include <eoSelect.h>    included in all others
-00043 
-00044 // Breeders
-00045 #include <eoGeneralBreeder.h>
-00046 
-00047 // Replacement
-00048 #include "make_general_replacement.h"
-00049 #include "eoMGGReplacement.h"
-00050 #include "eoG3Replacement.h"
-00051 
-00052 
-00053 // Algorithm (only this one needed)
-00054 #include <eoEasyEA.h>
-00055 
-00056   // also need the parser and param includes
-00057 #include <utils/eoParser.h>
-00058 #include <utils/eoState.h>
-00059 
-00060 
-00061 /*
-00062  * This function builds the algorithm (i.e. selection and replacement)
-00063  *      from existing continue (or checkpoint) and operators
-00064  *
-00065  * It uses a parser (to get user parameters) and a state (to store the memory)
-00066  * the last argument is an individual, needed for 2 reasons
-00067  *     it disambiguates the call after instanciations
-00068  *     some operator might need some private information about the indis
-00069  *
-00070  * This is why the template is the complete EOT even though only the fitness
-00071  * is actually templatized here
-00072 */
-00073 
-00074 template <class EOT>
-00075 eoAlgo<EOT> & do_make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<EOT>& _eval, eoContinue<EOT>& _continue, eoGenOp<EOT>& _op)
-00076 {
-00077   // the selection
-00078   eoValueParam<eoParamParamType>& selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection", "Selection: Roulette, Ranking(p,e), DetTour(T), StochTour(t), Sequential(ordered/unordered) or EliteSequentialSelect", 'S', "Evolution Engine");
-00079 
-00080   eoParamParamType & ppSelect = selectionParam.value(); // std::pair<std::string,std::vector<std::string> >
-00081 
-00082   eoSelectOne<EOT>* select ;
-00083   if (ppSelect.first == std::string("DetTour")) 
-00084   {
-00085     unsigned detSize;
-00086 
-00087     if (!ppSelect.second.size())   // no parameter added
-00088       {
-00089         std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl;
-00090         detSize = 2;
-00091         // put back 2 in parameter for consistency (and status file)
-00092         ppSelect.second.push_back(std::string("2"));
-00093       }
-00094     else          // parameter passed by user as DetTour(T)
-00095       detSize = atoi(ppSelect.second[0].c_str());
-00096     select = new eoDetTournamentSelect<EOT>(detSize);
-00097   }
-00098   else if (ppSelect.first == std::string("StochTour"))
-00099     {
-00100       double p;
-00101       if (!ppSelect.second.size())   // no parameter added
-00102         {
-00103           std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl;
-00104           p = 1;
-00105           // put back p in parameter for consistency (and status file)
-00106           ppSelect.second.push_back(std::string("1"));
-00107         }
-00108       else        // parameter passed by user as DetTour(T)
-00109         p = atof(ppSelect.second[0].c_str());
-00110       
-00111       select = new eoStochTournamentSelect<EOT>(p);
-00112     }
-00113   else if (ppSelect.first == std::string("Ranking"))
-00114     {
-00115       double p,e;
-00116       if (ppSelect.second.size()==2)   // 2 parameters: pressure and exponent
-00117         {
-00118           p = atof(ppSelect.second[0].c_str());
-00119           e = atof(ppSelect.second[1].c_str());
-00120         }
-00121       else if (ppSelect.second.size()==1)   // 1 parameter: pressure 
-00122         {
-00123           std::cerr << "WARNING, no exponent to Ranking, using 1" << std::endl;
-00124           e = 1;
-00125           ppSelect.second.push_back(std::string("1"));
-00126           p = atof(ppSelect.second[0].c_str());
-00127         }
-00128       else // no parameters ... or garbage
-00129         {
-00130           std::cerr << "WARNING, no parameter to Ranking, using (2,1)" << std::endl;
-00131           p=2;
-00132           e=1;
-00133           // put back in parameter for consistency (and status file)
-00134           ppSelect.second.resize(2); // just in case
-00135           ppSelect.second[0] = (std::string("2"));
-00136           ppSelect.second[1] = (std::string("1"));
-00137         }
-00138       // check for authorized values
-00139       // pressure in (0,1]
-00140       if ( (p<=1) || (p>2) )
-00141         {
-00142           std::cerr << "WARNING, selective pressure must be in (1,2] in Ranking, using 2\n";
-00143           p=2;
-00144           ppSelect.second[0] = (std::string("2"));
-00145         }
-00146       // exponent >0
-00147       if (e<=0)
-00148         {
-00149           std::cerr << "WARNING, exponent must be positive in Ranking, using 1\n";
-00150           e=1;
-00151           ppSelect.second[1] = (std::string("1"));
-00152         }
-00153       // now we're OK
-00154       eoPerf2Worth<EOT> & p2w = _state.storeFunctor( new eoRanking<EOT>(p,e) );
-00155       select = new eoRouletteWorthSelect<EOT>(p2w);
-00156     }
-00157   else if (ppSelect.first == std::string("Sequential")) // one after the other
-00158     {
-00159       bool b;
-00160       if (ppSelect.second.size() == 0)   // no argument -> default = ordered
-00161         {
-00162           b=true;
-00163           // put back in parameter for consistency (and status file)
-00164           ppSelect.second.push_back(std::string("ordered"));
-00165         }
-00166       else
-00167         b = !(ppSelect.second[0] == std::string("unordered"));
-00168       select = new eoSequentialSelect<EOT>(b);
-00169     }
-00170   else if (ppSelect.first == std::string("EliteSequential")) // Best first, one after the other in random order afterwards
-00171     {
-00172       select = new eoEliteSequentialSelect<EOT>;
-00173     }
-00174   else if (ppSelect.first == std::string("Roulette")) // no argument (yet)
-00175     {
-00176       select = new eoProportionalSelect<EOT>;
-00177     }
-00178   else if (ppSelect.first == std::string("Random")) // no argument
-00179     {
-00180       select = new eoRandomSelect<EOT>;
-00181     }
-00182   else
-00183     {
-00184       std::string stmp = std::string("Invalid selection: ") + ppSelect.first;
-00185       throw std::runtime_error(stmp.c_str());
-00186     }
-00187 
-00188   _state.storeFunctor(select);
-00189 
-00190   // the number of offspring 
-00191     eoValueParam<eoHowMany>& offspringRateParam =  _parser.createParam(eoHowMany(1.0), "nbOffspring", "Nb of offspring (percentage or absolute)", 'O', "Evolution Engine");
-00192 
-00194   // the replacement
-00196 
-00225   eoParamParamType & replacementParam = _parser.createParam(eoParamParamType("General"), "replacement", "Type of replacement: General, or Generational, ESComma, ESPlus, SSGA(T), EP(T), G3, MGG(T)", '\0', "Evolution Engine").value();
-00226   // the pointer
-00227   eoReplacement<EOT> * ptReplace;
-00228 
-00229   // first, separate G3 and MGG
-00230   // maybe one day we have a common class - but is it really necessary???
-00231   if (replacementParam.first == std::string("G3"))
-00232     {
-00233     // reduce the parents: by default, survive parents = -2 === 2 parents die
-00234     eoHowMany surviveParents =  _parser.createParam(eoHowMany(-2,false), "surviveParents", "Nb of surviving parents (percentage or absolute)", '\0', "Evolution Engine / Replacement").value();
-00235     // at the moment, this is the only argument
-00236     ptReplace = new eoG3Replacement<EOT>(-surviveParents);    // must receive nb of eliminated parets!
-00237     _state.storeFunctor(ptReplace);
-00238     }
-00239   else  if (replacementParam.first == std::string("MGG"))
-00240     {
-00241       float t;
-00242       unsigned tSize;
-00243     // reduce the parents: by default, survive parents = -2 === 2 parents die
-00244     eoHowMany surviveParents =  _parser.createParam(eoHowMany(-2,false), "surviveParents", "Nb of surviving parents (percentage or absolute)", '\0', "Evolution Engine / Replacement").value();
-00245     // the tournament size
-00246     if (!replacementParam.second.size())   // no parameter added
-00247       {
-00248         std::cerr << "WARNING, no parameter passed to MGG replacement, using 2" << std::endl;
-00249         tSize = 2;
-00250         // put back 2 in parameter for consistency (and status file)
-00251         replacementParam.second.push_back(std::string("2"));
-00252       }
-00253     else
-00254       {
-00255         t = atof(replacementParam.second[0].c_str());
-00256         if (t>=2)
-00257           {                        // build the appropriate deafult value
-00258             tSize = unsigned(t);
-00259           }
-00260         else
-00261           {
-00262             throw std::runtime_error("Sorry, only deterministic tournament available at the moment");
-00263           }
-00264       }
-00265     ptReplace = new eoMGGReplacement<EOT>(-surviveParents, tSize);    
-00266     _state.storeFunctor(ptReplace);
-00267     }
-00268   else {   // until the end of what was the only loop/switch
-00269     
-00270   // the default deafult values
-00271   eoHowMany elite (0.0);
-00272   bool strongElitism (false);
-00273   eoHowMany surviveParents (0.0);
-00274   eoParamParamType reduceParentType ("Deterministic");
-00275   eoHowMany surviveOffspring (1.0);
-00276   eoParamParamType reduceOffspringType ("Deterministic");
-00277   eoParamParamType reduceFinalType ("Deterministic");
-00278 
-00279   // depending on the value entered by the user, change some of the above
-00280   double t;
-00281 
-00282   // ---------- General
-00283   if (replacementParam.first == std::string("General"))
-00284   {
-00285     ;                              // defaults OK
-00286   }
-00287   // ---------- ESComma
-00288   else if (replacementParam.first == std::string("ESComma"))
-00289   {
-00290     ;                              // OK too
-00291   }
-00292   // ---------- ESPlus
-00293   else if (replacementParam.first == std::string("ESPlus"))
-00294   {
-00295     surviveParents = eoHowMany(1.0);
-00296   }
-00297   // ---------- Generational
-00298   else if (replacementParam.first == std::string("Generational"))
-00299   {
-00300     ;                        // OK too (we should check nb of offspring)
-00301   }
-00302   // ---------- EP
-00303   else if (replacementParam.first == std::string("EP"))
-00304   {
-00305     if (!replacementParam.second.size())   // no parameter added
-00306       {
-00307         std::cerr << "WARNING, no parameter passed to EP replacement, using 6" << std::endl;
-00308         // put back 6 in parameter for consistency (and status file)
-00309         replacementParam.second.push_back(std::string("6"));
-00310       }
-00311     // by coincidence, the syntax for the EP reducer is the same than here:
-00312     reduceFinalType = replacementParam;
-00313     surviveParents = eoHowMany(1.0);
-00314   }
-00315   // ---------- SSGA
-00316   else if (replacementParam.first == std::string("SSGA"))
-00317   {
-00318     if (!replacementParam.second.size())   // no parameter added
-00319       {
-00320         std::cerr << "WARNING, no parameter passed to SSGA replacement, using 2" << std::endl;
-00321         // put back 2 in parameter for consistency (and status file)
-00322         replacementParam.second.push_back(std::string("2"));
-00323         reduceParentType = eoParamParamType(std::string("DetTour(2)"));
-00324       }
-00325     else
-00326       {
-00327         t = atof(replacementParam.second[0].c_str());
-00328         if (t>=2)
-00329           {                        // build the appropriate deafult value
-00330             reduceParentType = eoParamParamType(std::string("DetTour(") + replacementParam.second[0].c_str() + ")");
-00331           }
-00332         else   // check for [0.5,1] will be made in make_general_replacement
-00333           {                        // build the appropriate deafult value
-00334             reduceParentType = eoParamParamType(std::string("StochTour(") + replacementParam.second[0].c_str() + ")");
-00335           }
-00336       }
-00337     // 
-00338     surviveParents = eoHowMany(-1);
-00339     surviveOffspring = eoHowMany(1);
-00340   }
-00341   else                 // no replacement recognized
-00342     {
-00343       throw std::runtime_error("Invalid replacement type " + replacementParam.first);
-00344     }
-00345 
-00346   ptReplace = & make_general_replacement<EOT>(
-00347      _parser, _state, elite, strongElitism, surviveParents, reduceParentType, surviveOffspring, reduceOffspringType, reduceFinalType);
-00348 
-00349   } // end of the ugly construct due to G3 and MGG - totaly heterogeneous at the moment
-00350 
-00351 
-00353   // the general breeder
-00355   eoGeneralBreeder<EOT> *breed = 
-00356     new eoGeneralBreeder<EOT>(*select, _op, offspringRateParam.value());
-00357   _state.storeFunctor(breed);
-00358 
-00360   // now the eoEasyEA
-00362   eoAlgo<EOT> *algo = new eoEasyEA<EOT>(_continue, _eval, *breed, *ptReplace);
-00363   _state.storeFunctor(algo);
-00364   // that's it!
-00365   return *algo;
-00366 }
-00367 
-00368 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__algo__pareto_8h-source.html b/trunk/paradiseo-eo/doc/html/make__algo__pareto_8h-source.html deleted file mode 100644 index 67904eca8..000000000 --- a/trunk/paradiseo-eo/doc/html/make__algo__pareto_8h-source.html +++ /dev/null @@ -1,218 +0,0 @@ - - -EO: make_algo_pareto.h Source File - - - - - -

make_algo_pareto.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_algo_pareto.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_algo_pareto_h
-00028 #define _make_algo_pareto_h
-00029 
-00030 #include "utils/eoData.h"     // for eo_is_a_rate
-00031 // everything tha's needed for the algorithms - SCALAR fitness
-00032 
-00033 // Selection
-00034 // the eoSelectOne's
-00035 #include "eoSelectFromWorth.h"
-00036 #include "eoNDSorting.h"
-00037 
-00038 // Breeders
-00039 #include "eoGeneralBreeder.h"
-00040 
-00041 // Replacement - at the moment limited to eoNDPlusReplacement, locally defined
-00042 #include "eoReplacement.h"
-00043 
-00044 template <class EOT, class WorthT = double>
-00045 class eoNDPlusReplacement : public eoReplacement<EOT>
-00046 {
-00047 public:
-00048   eoNDPlusReplacement(eoPerf2Worth<EOT, WorthT>& _perf2worth) : perf2worth(_perf2worth) {}
-00049 
-00050   struct WorthPair : public std::pair<WorthT, const EOT*>
-00051   {
-00052     bool operator<(const WorthPair& other) const { return other.first < this->first; }
-00053   };
-00054 
-00055   void operator()(eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00056   {
-00057     unsigned sz = _parents.size();
-00058     _parents.reserve(_parents.size() + _offspring.size());
-00059     copy(_offspring.begin(), _offspring.end(), back_inserter(_parents));
-00060 
-00061     // calculate worths
-00062     perf2worth(_parents);
-00063     perf2worth.sort_pop(_parents);
-00064     perf2worth.resize(_parents, sz);
-00065 
-00066     _offspring.clear();
-00067   }
-00068 
-00069 private :
-00070   eoPerf2Worth<EOT, WorthT>& perf2worth;
-00071 };
-00072 
-00073 
-00074 // Algorithm (only this one needed)
-00075 #include "eoEasyEA.h"
-00076 
-00077   // also need the parser and param includes
-00078 #include "utils/eoParser.h"
-00079 #include "utils/eoState.h"
-00080 
-00081 
-00082 /*
-00083  * This function builds the algorithm (i.e. selection and replacement)
-00084  *      from existing continue (or checkpoint) and operators
-00085  *
-00086  * It uses a parser (to get user parameters) and a state (to store the memory)
-00087  * the last argument is an individual, needed for 2 reasons
-00088  *     it disambiguates the call after instanciations
-00089  *     some operator might need some private information about the indis
-00090  *
-00091  * This is why the template is the complete EOT even though only the fitness
-00092  * is actually templatized here
-00093 */
-00094 
-00095 template <class EOT>
-00096 eoAlgo<EOT> & do_make_algo_pareto(eoParser& _parser, eoState& _state, eoEvalFunc<EOT>& _eval, eoContinue<EOT>& _continue, eoGenOp<EOT>& _op)
-00097 {
-00098   // the selection
-00099   std::string & selStr = _parser.createParam(std::string("NSGA-II"), "selCrit", "Pareto Selection Criterion: NSGA, NSGA-II, ParetoRanking", 'S', "Evolution Engine").value();
-00100   double nicheSize = _parser.createParam(1.0, "nicheSize", "Size of niche for NSGA-I", '\0', "Evolution Engine").value();
-00101   eoPerf2Worth<EOT, double> *p2w;
-00102   if ( (selStr == std::string("NSGA")) || (selStr == std::string("NSGA-I") ) )
-00103     p2w = new eoNDSorting_I<EOT>(nicheSize);
-00104   else   if (selStr == std::string("NSGA-II"))
-00105     p2w = new eoNDSorting_II<EOT>();
-00106   else   if (selStr == std::string("ParetoRanking"))
-00107     {
-00108       eoDominanceMap<EOT>&  dominance = _state.storeFunctor(new eoDominanceMap<EOT>);
-00109     p2w = new eoParetoRanking<EOT>(dominance);
-00110     }
-00111 
-00112   _state.storeFunctor(p2w);
-00113 
-00114   // now the selector (from p2w) - cut-and-pasted from make_algo_scalar!
-00115   // only all classes are now ...FromWorth ...
-00116   // only the ranking is not re-implemented (yet?)
-00117   eoValueParam<eoParamParamType>& selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection", "Selection: Roulette, DetTour(T), StochTour(t) or Random", 'S', "Evolution Engine");
-00118 
-00119   eoParamParamType & ppSelect = selectionParam.value(); // std::pair<std::string,std::vector<std::string> >
-00120 
-00121   eoSelectOne<EOT>* select ;
-00122   if (ppSelect.first == std::string("DetTour")) 
-00123   {
-00124     unsigned detSize;
-00125 
-00126     if (!ppSelect.second.size())   // no parameter added
-00127       {
-00128         std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl;
-00129         detSize = 2;
-00130         // put back 2 in parameter for consistency (and status file)
-00131         ppSelect.second.push_back(std::string("2"));
-00132       }
-00133     else          // parameter passed by user as DetTour(T)
-00134       detSize = atoi(ppSelect.second[0].c_str());
-00135     select = new eoDetTournamentWorthSelect<EOT>(*p2w, detSize);
-00136   }
-00137   else if (ppSelect.first == std::string("StochTour"))
-00138     {
-00139       double p;
-00140       if (!ppSelect.second.size())   // no parameter added
-00141         {
-00142           std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl;
-00143           p = 1;
-00144           // put back p in parameter for consistency (and status file)
-00145           ppSelect.second.push_back(std::string("1"));
-00146         }
-00147       else        // parameter passed by user as DetTour(T)
-00148         p = atof(ppSelect.second[0].c_str());
-00149       
-00150       select = new eoStochTournamentWorthSelect<EOT>(*p2w, p);
-00151     }
-00152 //   else if (ppSelect.first == std::string("Sequential")) // one after the other
-00153 //     {
-00154 //       bool b;
-00155 //       if (ppSelect.second.size() == 0)   // no argument -> default = ordered
-00156 //      {
-00157 //        b=true;
-00158 //        // put back in parameter for consistency (and status file)
-00159 //        ppSelect.second.push_back(std::string("ordered"));
-00160 //      }
-00161 //       else
-00162 //      b = !(ppSelect.second[0] == std::string("unordered"));
-00163 //       select = new eoSequentialWorthSelect<EOT>(b);
-00164 //     }
-00165   else if (ppSelect.first == std::string("Roulette")) // no argument (yet)
-00166     {
-00167       select = new eoRouletteWorthSelect<EOT>(*p2w);
-00168     }
-00169   else if (ppSelect.first == std::string("Random")) // no argument, no perf2Worth
-00170     {
-00171       select = new eoRandomSelect<EOT>;
-00172     }
-00173   else
-00174     {
-00175       std::string stmp = std::string("Invalid selection: ") + ppSelect.first;
-00176       throw std::runtime_error(stmp.c_str());
-00177     }
-00178 
-00179   _state.storeFunctor(select);
-00180 
-00181 
-00182   // the number of offspring 
-00183     eoValueParam<eoHowMany>& offspringRateParam =  _parser.createParam(eoHowMany(1.0), "nbOffspring", "Nb of offspring (percentage or absolute)", 'O', "Evolution Engine");
-00184 
-00185   // the replacement
-00186     // actually limited to eoNDPlusReplacement
-00187   eoReplacement<EOT> & replace = _state.storeFunctor(
-00188            new eoNDPlusReplacement<EOT, double>(*p2w)
-00189            );
-00190 
-00191   // the general breeder
-00192   eoGeneralBreeder<EOT> *breed = 
-00193     new eoGeneralBreeder<EOT>(*select, _op, offspringRateParam.value());
-00194   _state.storeFunctor(breed);
-00195 
-00196   // now the eoEasyEA
-00197   eoAlgo<EOT> *algo = new eoEasyEA<EOT>(_continue, _eval, *breed, replace);
-00198   _state.storeFunctor(algo);
-00199   // that's it!
-00200   return *algo;
-00201 }
-00202 
-00203 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__algo__scalar_8h-source.html b/trunk/paradiseo-eo/doc/html/make__algo__scalar_8h-source.html deleted file mode 100644 index 6b5b1adee..000000000 --- a/trunk/paradiseo-eo/doc/html/make__algo__scalar_8h-source.html +++ /dev/null @@ -1,326 +0,0 @@ - - -EO: make_algo_scalar.h Source File - - - - - -

make_algo_scalar.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_algo_scalar.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_algo_scalar_h
-00028 #define _make_algo_scalar_h
-00029 
-00030 #include <utils/eoData.h>     // for eo_is_a_rate
-00031 // everything tha's needed for the algorithms - SCALAR fitness
-00032 
-00033 // Selection
-00034 // the eoSelectOne's
-00035 #include <eoRandomSelect.h>
-00036 #include <eoSequentialSelect.h>
-00037 #include <eoDetTournamentSelect.h>
-00038 #include <eoProportionalSelect.h>
-00039 #include <eoFitnessScalingSelect.h>
-00040 #include <eoRankingSelect.h>
-00041 #include <eoStochTournamentSelect.h>
-00042 #include <eoSharingSelect.h>
-00043 #include <utils/eoDistance.h>
-00044 
-00045 // Breeders
-00046 #include <eoGeneralBreeder.h>
-00047 
-00048 // Replacement
-00049 // #include <eoReplacement.h>
-00050 #include <eoMergeReduce.h>
-00051 #include <eoReduceMerge.h>
-00052 #include <eoSurviveAndDie.h>
-00053 
-00054 // distance
-00055 #include <utils/eoDistance.h>
-00056 
-00057 // Algorithm (only this one needed)
-00058 #include <eoEasyEA.h>
-00059 
-00060   // also need the parser and param includes
-00061 #include <utils/eoParser.h>
-00062 #include <utils/eoState.h>
-00063 
-00064 
-00065 /*
-00066  * This function builds the algorithm (i.e. selection and replacement)
-00067  *      from existing continue (or checkpoint) and operators
-00068  *
-00069  * It uses a parser (to get user parameters) and a state (to store the memory)
-00070  * the last argument is an individual, needed for 2 reasons
-00071  *     it disambiguates the call after instanciations
-00072  *     some operator might need some private information about the indis
-00073  *
-00074  * This is why the template is the complete EOT even though only the fitness
-00075  * is actually templatized here
-00076 */
-00077 
-00078 
-00079 template <class EOT>
-00080 eoAlgo<EOT> & do_make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<EOT>& _eval, eoContinue<EOT>& _continue, eoGenOp<EOT>& _op, eoDistance<EOT> * _dist = NULL)
-00081 {
-00082   // the selection : help and comment depend on whether or not a distance is passed
-00083   std::string comment;
-00084   if (_dist == NULL)
-00085     comment = "Selection: DetTour(T), StochTour(t), Roulette, Ranking(p,e) or Sequential(ordered/unordered)";
-00086       else
-00087         comment = "Selection: DetTour(T), StochTour(t), Roulette, Ranking(p,e), Sharing(sigma_share) or Sequential(ordered/unordered)";
-00088 
-00089   eoValueParam<eoParamParamType>& selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection", comment, 'S', "Evolution Engine");
-00090 
-00091   eoParamParamType & ppSelect = selectionParam.value(); // std::pair<std::string,std::vector<std::string> >
-00092 
-00093   eoSelectOne<EOT>* select ;
-00094   if (ppSelect.first == std::string("DetTour")) 
-00095   {
-00096     unsigned detSize;
-00097 
-00098     if (!ppSelect.second.size())   // no parameter added
-00099       {
-00100         std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl;
-00101         detSize = 2;
-00102         // put back 2 in parameter for consistency (and status file)
-00103         ppSelect.second.push_back(std::string("2"));
-00104       }
-00105     else          // parameter passed by user as DetTour(T)
-00106       detSize = atoi(ppSelect.second[0].c_str());
-00107     select = new eoDetTournamentSelect<EOT>(detSize);
-00108   }
-00109   else if (ppSelect.first == std::string("Sharing")) 
-00110   {
-00111     double nicheSize;
-00112 
-00113     if (!ppSelect.second.size())   // no parameter added
-00114       {
-00115         std::cerr << "WARNING, no parameter passed to Sharing, using 0.5" << std::endl;
-00116         nicheSize = 0.5;
-00117         // put back 2 in parameter for consistency (and status file)
-00118         ppSelect.second.push_back(std::string("0.5"));
-00119       }
-00120     else          // parameter passed by user as DetTour(T)
-00121       nicheSize = atof(ppSelect.second[0].c_str());
-00122     if (_dist == NULL)             // no distance
-00123           throw std::runtime_error("You didn't specify a distance when calling make_algo_scalar and using sharing");
-00124     select = new eoSharingSelect<EOT>(nicheSize, *_dist);
-00125   }
-00126   else if (ppSelect.first == std::string("StochTour"))
-00127     {
-00128       double p;
-00129       if (!ppSelect.second.size())   // no parameter added
-00130         {
-00131           std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl;
-00132           p = 1;
-00133           // put back p in parameter for consistency (and status file)
-00134           ppSelect.second.push_back(std::string("1"));
-00135         }
-00136       else        // parameter passed by user as DetTour(T)
-00137         p = atof(ppSelect.second[0].c_str());
-00138       
-00139       select = new eoStochTournamentSelect<EOT>(p);
-00140     }
-00141   else if (ppSelect.first == std::string("Ranking"))
-00142     {
-00143       double p,e;
-00144       if (ppSelect.second.size()==2)   // 2 parameters: pressure and exponent
-00145         {
-00146           p = atof(ppSelect.second[0].c_str());
-00147           e = atof(ppSelect.second[1].c_str());
-00148         }
-00149       else if (ppSelect.second.size()==1)   // 1 parameter: pressure 
-00150         {
-00151           std::cerr << "WARNING, no exponent to Ranking, using 1" << std::endl;
-00152           e = 1;
-00153           ppSelect.second.push_back(std::string("1"));
-00154           p = atof(ppSelect.second[0].c_str());
-00155         }
-00156       else // no parameters ... or garbage
-00157         {
-00158           std::cerr << "WARNING, no parameter to Ranking, using (2,1)" << std::endl;
-00159           p=2;
-00160           e=1;
-00161           // put back in parameter for consistency (and status file)
-00162           ppSelect.second.resize(2); // just in case
-00163           ppSelect.second[0] = (std::string("2"));
-00164           ppSelect.second[1] = (std::string("1"));
-00165         }
-00166       // check for authorized values
-00167       // pressure in (0,1]
-00168       if ( (p<=1) || (p>2) )
-00169         {
-00170           std::cerr << "WARNING, selective pressure must be in (0,1] in Ranking, using 2\n";
-00171           p=2;
-00172           ppSelect.second[0] = (std::string("2"));
-00173         }
-00174       // exponent >0
-00175       if (e<=0)
-00176         {
-00177           std::cerr << "WARNING, exponent must be positive in Ranking, using 1\n";
-00178           e=1;
-00179           ppSelect.second[1] = (std::string("1"));
-00180         }
-00181       // now we're OK
-00182       eoPerf2Worth<EOT> & p2w = _state.storeFunctor( new eoRanking<EOT>(p,e) );
-00183       select = new eoRouletteWorthSelect<EOT>(p2w);
-00184     }
-00185   else if (ppSelect.first == std::string("Sequential")) // one after the other
-00186     {
-00187       bool b;
-00188       if (ppSelect.second.size() == 0)   // no argument -> default = ordered
-00189         {
-00190           b=true;
-00191           // put back in parameter for consistency (and status file)
-00192           ppSelect.second.push_back(std::string("ordered"));
-00193         }
-00194       else
-00195         b = !(ppSelect.second[0] == std::string("unordered"));
-00196       select = new eoSequentialSelect<EOT>(b);
-00197     }
-00198   else if (ppSelect.first == std::string("Roulette")) // no argument (yet)
-00199     {
-00200       select = new eoProportionalSelect<EOT>;
-00201     }
-00202   else if (ppSelect.first == std::string("Random")) // no argument
-00203     {
-00204       select = new eoRandomSelect<EOT>;
-00205     }
-00206   else
-00207     {
-00208       std::string stmp = std::string("Invalid selection: ") + ppSelect.first;
-00209       throw std::runtime_error(stmp.c_str());
-00210     }
-00211 
-00212   _state.storeFunctor(select);
-00213 
-00214   // the number of offspring 
-00215     eoValueParam<eoHowMany>& offspringRateParam =  _parser.createParam(eoHowMany(1.0), "nbOffspring", "Nb of offspring (percentage or absolute)", 'O', "Evolution Engine");
-00216 
-00217   // the replacement
-00218   eoValueParam<eoParamParamType>& replacementParam = _parser.createParam(eoParamParamType("Comma"), "replacement", "Replacement: Comma, Plus or EPTour(T), SSGAWorst, SSGADet(T), SSGAStoch(t)", 'R', "Evolution Engine");
-00219 
-00220   eoParamParamType & ppReplace = replacementParam.value(); // std::pair<std::string,std::vector<std::string> >
-00221 
-00222   eoReplacement<EOT>* replace ;
-00223   if (ppReplace.first == std::string("Comma")) // Comma == generational
-00224   {
-00225     replace = new eoCommaReplacement<EOT>;
-00226   }
-00227   else if (ppReplace.first == std::string("Plus"))
-00228     {
-00229       replace = new eoPlusReplacement<EOT>;
-00230     }
-00231   else if (ppReplace.first == std::string("EPTour"))
-00232     {
-00233       unsigned detSize;
-00234       
-00235       if (!ppReplace.second.size())   // no parameter added
-00236         {
-00237           std::cerr << "WARNING, no parameter passed to EPTour, using 6" << std::endl;
-00238           detSize = 6;
-00239           // put back in parameter for consistency (and status file)
-00240           ppReplace.second.push_back(std::string("6"));
-00241         }
-00242       else        // parameter passed by user as EPTour(T)
-00243         detSize = atoi(ppSelect.second[0].c_str());
-00244 
-00245       replace = new eoEPReplacement<EOT>(detSize);
-00246     }
-00247   else if (ppReplace.first == std::string("SSGAWorst"))
-00248     {
-00249       replace = new eoSSGAWorseReplacement<EOT>;
-00250     }
-00251   else if (ppReplace.first == std::string("SSGADet"))
-00252     {
-00253       unsigned detSize;
-00254       
-00255       if (!ppReplace.second.size())   // no parameter added
-00256         {
-00257           std::cerr << "WARNING, no parameter passed to SSGADet, using 2" << std::endl;
-00258           detSize = 2;
-00259           // put back in parameter for consistency (and status file)
-00260           ppReplace.second.push_back(std::string("2"));
-00261         }
-00262       else        // parameter passed by user as SSGADet(T)
-00263         detSize = atoi(ppSelect.second[0].c_str());
-00264       
-00265       replace = new eoSSGADetTournamentReplacement<EOT>(detSize);
-00266     }
-00267   else if (ppReplace.first == std::string("SSGAStoch"))
-00268     {
-00269       double p;
-00270       if (!ppReplace.second.size())   // no parameter added
-00271         {
-00272           std::cerr << "WARNING, no parameter passed to SSGAStoch, using 1" << std::endl;
-00273           p = 1;
-00274           // put back in parameter for consistency (and status file)
-00275           ppReplace.second.push_back(std::string("1"));
-00276         }
-00277       else        // parameter passed by user as SSGADet(T)
-00278         p = atof(ppSelect.second[0].c_str());
-00279       
-00280       replace = new eoSSGAStochTournamentReplacement<EOT>(p);
-00281     }
-00282   else
-00283     {
-00284       std::string stmp = std::string("Invalid replacement: ") + ppReplace.first;
-00285       throw std::runtime_error(stmp.c_str());
-00286     }
-00287 
-00288   _state.storeFunctor(replace);
-00289 
-00290   // adding weak elitism
-00291   eoValueParam<bool>& weakElitismParam =  _parser.createParam(false, "weakElitism", "Old best parent replaces new worst offspring *if necessary*", 'w', "Evolution Engine");
-00292   if (weakElitismParam.value())
-00293     {
-00294       eoReplacement<EOT> *replaceTmp = replace;
-00295       replace = new eoWeakElitistReplacement<EOT>(*replaceTmp);
-00296       _state.storeFunctor(replace);
-00297     }      
-00298 
-00299   // the general breeder
-00300   eoGeneralBreeder<EOT> *breed = 
-00301     new eoGeneralBreeder<EOT>(*select, _op, offspringRateParam.value());
-00302   _state.storeFunctor(breed);
-00303 
-00304   // now the eoEasyEA
-00305   eoAlgo<EOT> *algo = new eoEasyEA<EOT>(_continue, _eval, *breed, *replace);
-00306   _state.storeFunctor(algo);
-00307   // that's it!
-00308   return *algo;
-00309 }
-00310 
-00311 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__algo__scalar__es_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__algo__scalar__es_8cpp-source.html deleted file mode 100644 index f78562ae0..000000000 --- a/trunk/paradiseo-eo/doc/html/make__algo__scalar__es_8cpp-source.html +++ /dev/null @@ -1,85 +0,0 @@ - - -EO: make_algo_scalar_es.cpp Source File - - - - - -

make_algo_scalar_es.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_algo_scalar_es.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_algo_scalar.h>
-00045 // the instanciating EOType(s)
-00046 #include <es/eoEsSimple.h>         // one Sigma per individual
-00047 #include <es/eoEsStdev.h>          // one sigmal per object variable
-00048 #include <es/eoEsFull.h>           // full correlation matrix per indi
-00049 
-00051 
-00052 // Algo
-00054 eoAlgo<eoEsSimple<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsSimple<double> >& _eval, eoContinue<eoEsSimple<double> >& _continue, eoGenOp<eoEsSimple<double> >& _op, eoDistance<eoEsSimple<double> >* _dist)
-00055 {
-00056     return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00057 }
-00058 
-00059 eoAlgo<eoEsSimple<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsSimple<eoMinimizingFitness> >& _eval, eoContinue<eoEsSimple<eoMinimizingFitness> >& _continue, eoGenOp<eoEsSimple<eoMinimizingFitness> >& _op, eoDistance<eoEsSimple<eoMinimizingFitness> >* _dist)
-00060 {
-00061   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00062 }
-00063 
-00065 eoAlgo<eoEsStdev<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsStdev<double> >& _eval, eoContinue<eoEsStdev<double> >& _continue, eoGenOp<eoEsStdev<double> >& _op, eoDistance<eoEsStdev<double> >* _dist)
-00066 {
-00067   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00068 }
-00069 
-00070 eoAlgo<eoEsStdev<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsStdev<eoMinimizingFitness> >& _eval, eoContinue<eoEsStdev<eoMinimizingFitness> >& _continue, eoGenOp<eoEsStdev<eoMinimizingFitness> >& _op, eoDistance<eoEsStdev<eoMinimizingFitness> >* _dist)
-00071 {
-00072   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00073 }
-00074 
-00076 eoAlgo<eoEsFull<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsFull<double> >& _eval, eoContinue<eoEsFull<double> >& _continue, eoGenOp<eoEsFull<double> >& _op, eoDistance<eoEsFull<double> >* _dist)
-00077 {
-00078   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00079 }
-00080 
-00081 eoAlgo<eoEsFull<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsFull<eoMinimizingFitness> >& _eval, eoContinue<eoEsFull<eoMinimizingFitness> >& _continue, eoGenOp<eoEsFull<eoMinimizingFitness> >& _op, eoDistance<eoEsFull<eoMinimizingFitness> >* _dist)
-00082 {
-00083   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op);
-00084 }
-00085 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__algo__scalar__ga_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__algo__scalar__ga_8cpp-source.html deleted file mode 100644 index 200c2fb33..000000000 --- a/trunk/paradiseo-eo/doc/html/make__algo__scalar__ga_8cpp-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: make_algo_scalar_ga.cpp Source File - - - - - -

make_algo_scalar_ga.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_algo_scalar_ga.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00046 // The templatized code
-00047 #include <do/make_algo_scalar.h>
-00048 // the instanciating EOType
-00049 #include <ga/eoBit.h>
-00050 
-00052 
-00053 // Algo
-00055 eoAlgo<eoBit<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoBit<double> >& _eval, eoContinue<eoBit<double> >& _continue, eoGenOp<eoBit<double> >& _op, eoDistance<eoBit<double> >* _dist)
-00056 {
-00057   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist);
-00058 }
-00059 
-00060 eoAlgo<eoBit<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoBit<eoMinimizingFitness> >& _eval, eoContinue<eoBit<eoMinimizingFitness> >& _continue, eoGenOp<eoBit<eoMinimizingFitness> >& _op, eoDistance<eoBit<eoMinimizingFitness> >* _dist)
-00061 {
-00062   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist);
-00063 }
-00064 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__algo__scalar__real_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__algo__scalar__real_8cpp-source.html deleted file mode 100644 index e68be03c6..000000000 --- a/trunk/paradiseo-eo/doc/html/make__algo__scalar__real_8cpp-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: make_algo_scalar_real.cpp Source File - - - - - -

make_algo_scalar_real.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_algo_scalar_real.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_algo_scalar.h>
-00045 // the instanciating EOType
-00046 #include <es/eoReal.h>
-00047 
-00049 
-00050 // Algo
-00052 eoAlgo<eoReal<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoReal<double> >& _eval, eoContinue<eoReal<double> >& _continue, eoGenOp<eoReal<double> >& _op, eoDistance<eoReal<double> >* _dist)
-00053 {
-00054   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist);
-00055 }
-00056 
-00057 eoAlgo<eoReal<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoReal<eoMinimizingFitness> >& _eval, eoContinue<eoReal<eoMinimizingFitness> >& _continue, eoGenOp<eoReal<eoMinimizingFitness> >& _op, eoDistance<eoReal<eoMinimizingFitness> >* _dist)
-00058 {
-00059   return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist);
-00060 }
-00061 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__checkpoint_8h-source.html b/trunk/paradiseo-eo/doc/html/make__checkpoint_8h-source.html deleted file mode 100644 index e2dc20ac5..000000000 --- a/trunk/paradiseo-eo/doc/html/make__checkpoint_8h-source.html +++ /dev/null @@ -1,288 +0,0 @@ - - -EO: make_checkpoint.h Source File - - - - - -

make_checkpoint.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_checkpoint.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_checkpoint_h
-00028 #define _make_checkpoint_h
-00029 
-00030 #include <eoScalarFitness.h>
-00031 #include <utils/selectors.h> // for minimizing_fitness()
-00032 #include <EO.h>
-00033 #include <eoEvalFuncCounter.h>
-00034 #include <utils/checkpointing>
-00035 
-00036 // at the moment, in utils/make_help.cpp
-00037 // this should become some eoUtils.cpp with corresponding eoUtils.h
-00038 bool testDirRes(std::string _dirName, bool _erase);
-00040 
-00041 
-00042 template <class EOT>
-00043 eoCheckPoint<EOT>& do_make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<EOT>& _eval, eoContinue<EOT>& _continue)
-00044 {
-00045   // first, create a checkpoint from the eoContinue
-00046   eoCheckPoint<EOT> *checkpoint = new eoCheckPoint<EOT>(_continue);
-00047   _state.storeFunctor(checkpoint);
-00048 
-00050   // Counters
-00052   // is nb Eval to be used as counter?
-00053   eoValueParam<bool>& useEvalParam = _parser.createParam(true, "useEval", "Use nb of eval. as counter (vs nb of gen.)", '\0', "Output");
-00054   eoValueParam<bool>& useTimeParam = _parser.createParam(true, "useTime", "Display time (s) every generation", '\0', "Output");
-00055 
-00056   // if we want the time, we need an eoTimeCounter
-00057   eoTimeCounter * tCounter = NULL;
-00058 
-00059   // Create anyway a generation-counter
-00060   // Recent change (03/2002): it is now an eoIncrementorParam, both
-00061   // a parameter AND updater so you can store it into the eoState
-00062   eoIncrementorParam<unsigned> *generationCounter = new eoIncrementorParam<unsigned>("Gen.");
-00063   // store it in the state
-00064   _state.storeFunctor(generationCounter);
-00065   // And add it to the checkpoint,
-00066   checkpoint->add(*generationCounter);
-00067 
-00068     // dir for DISK output
-00069     eoValueParam<std::string>& dirNameParam =  _parser.createParam(std::string("Res"), "resDir", "Directory to store DISK outputs", '\0', "Output - Disk");
-00070     // shoudl we empty it if exists
-00071     eoValueParam<bool>& eraseParam = _parser.createParam(true, "eraseDir", "erase files in dirName if any", '\0', "Output - Disk");
-00072     bool dirOK = false;            // not tested yet
-00073 
-00075     // now some statistics on the population:
-00077 
-00087     // Best fitness in population
-00088     //---------------------------
-00089     eoValueParam<bool>& printBestParam = _parser.createParam(true, "printBestStat", "Print Best/avg/stdev every gen.", '\0', "Output");
-00090     eoValueParam<bool>& plotBestParam = _parser.createParam(false, "plotBestStat", "Plot Best/avg Stat", '\0', "Output - Graphical");
-00091     eoValueParam<bool>& fileBestParam = _parser.createParam(false, "fileBestStat", "Output bes/avg/std to file", '\0', "Output - Disk");
-00092 
-00093     eoBestFitnessStat<EOT> *bestStat = NULL;
-00094     if ( printBestParam.value() || plotBestParam.value() || fileBestParam.value() )
-00095       // we need the bestStat for at least one of the 3 above
-00096       {
-00097         bestStat = new eoBestFitnessStat<EOT>;
-00098         // store it
-00099         _state.storeFunctor(bestStat);
-00100         // add it to the checkpoint
-00101         checkpoint->add(*bestStat);
-00102       }
-00103 
-00104     // Average fitness alone
-00105     //----------------------
-00106     eoAverageStat<EOT> *averageStat = NULL; // do we need averageStat?
-00107     if ( plotBestParam.value() ) // we need it for gnuplot output
-00108       {
-00109         averageStat = new eoAverageStat<EOT>;
-00110         // store it
-00111         _state.storeFunctor(averageStat);
-00112         // add it to the checkpoint
-00113         checkpoint->add(*averageStat);
-00114       }
-00115 
-00116     // Second moment stats: average and stdev
-00117     //---------------------------------------
-00118     eoSecondMomentStats<EOT> *secondStat = NULL;
-00119     if ( printBestParam.value() ) // we need it for sreen output
-00120       {
-00121         secondStat = new eoSecondMomentStats<EOT>;
-00122         // store it
-00123         _state.storeFunctor(secondStat);
-00124         // add it to the checkpoint
-00125         checkpoint->add(*secondStat);
-00126       }
-00127 
-00128 
-00129     // Dump of the whole population
-00130     //-----------------------------
-00131     eoSortedPopStat<EOT> *popStat = NULL;
-00132     eoValueParam<bool>& printPopParam = _parser.createParam(false, "printPop", "Print sorted pop. every gen.", '\0', "Output");
-00133     if ( printPopParam.value() ) // we do want pop dump
-00134       {
-00135           popStat = new eoSortedPopStat<EOT>;
-00136         // store it
-00137         _state.storeFunctor(popStat);
-00138         // add it to the checkpoint
-00139         checkpoint->add(*popStat);
-00140       }
-00141 
-00142 
-00143     // do we wnat some histogram of fitnesses snpashots?
-00144     eoValueParam<bool> plotHistogramParam = _parser.createParam(false, "plotHisto", "Plot histogram of fitnesses", '\0', "Output - Graphical");
-00145 
-00147     // The monitors
-00149     // do we want an eoStdoutMonitor?
-00150     bool needStdoutMonitor = printBestParam.value()
-00151         || printPopParam.value() ;
-00152 
-00153     // The Stdout monitor will print parameters to the screen ...
-00154     if ( needStdoutMonitor )
-00155       {
-00156         eoStdoutMonitor *monitor = new eoStdoutMonitor(false);
-00157         _state.storeFunctor(monitor);
-00158 
-00159         // when called by the checkpoint (i.e. at every generation)
-00160         checkpoint->add(*monitor);
-00161 
-00162         // the monitor will output a series of parameters: add them
-00163         monitor->add(*generationCounter);
-00164         if (useEvalParam.value()) // we want nb of evaluations
-00165               monitor->add(_eval);
-00166         if (useTimeParam.value()) // we want time
-00167           {
-00168             tCounter = new eoTimeCounter;
-00169             _state.storeFunctor(tCounter);
-00170             checkpoint->add(*tCounter);
-00171             monitor->add(*tCounter);
-00172           }
-00173         if (printBestParam.value())
-00174             {
-00175                 monitor->add(*bestStat);
-00176                 monitor->add(*secondStat);
-00177             }
-00178         if ( printPopParam.value())
-00179           monitor->add(*popStat);
-00180       }
-00181 
-00182     // first handle the dir test - if we need at least one file
-00183     if ( ( fileBestParam.value() || plotBestParam.value() ||
-00184            plotHistogramParam.value() )
-00185          && !dirOK )               // just in case we add something before
-00186       dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE
-00187 
-00188     if (fileBestParam.value())    // A file monitor for best & secondMoment
-00189       {
-00190 #ifdef _MSVC
-00191         std::string stmp = dirNameParam.value() + "\best.xg";
-00192 #else
-00193         std::string stmp = dirNameParam.value() + "/best.xg";
-00194 #endif
-00195         eoFileMonitor *fileMonitor = new eoFileMonitor(stmp);
-00196         // save and give to checkpoint
-00197         _state.storeFunctor(fileMonitor);
-00198         checkpoint->add(*fileMonitor);
-00199         // and feed with some statistics
-00200         fileMonitor->add(*generationCounter);
-00201         fileMonitor->add(_eval);
-00202         if (tCounter)              // we want the time as well
-00203           {
-00204             //      std::cout << "On met timecounter\n";
-00205             fileMonitor->add(*tCounter);
-00206           }
-00207         fileMonitor->add(*bestStat);
-00208         fileMonitor->add(*secondStat);
-00209       }
-00210 
-00211     if (plotBestParam.value())    // an eoGnuplot1DMonitor for best & average
-00212       {
-00213         std::string stmp = dirNameParam.value() + "/gnu_best.xg";
-00214         eoGnuplot1DMonitor *gnuMonitor = new eoGnuplot1DMonitor(stmp,minimizing_fitness<EOT>());
-00215         // save and give to checkpoint
-00216         _state.storeFunctor(gnuMonitor);
-00217         checkpoint->add(*gnuMonitor);
-00218         // and feed with some statistics
-00219         if (useEvalParam.value())  // do we want eval as X coordinate
-00220           gnuMonitor->add(_eval);
-00221         else if (tCounter)         // or time?
-00222           gnuMonitor->add(*tCounter);
-00223         else                       // default: generation
-00224           gnuMonitor->add(*generationCounter);
-00225         gnuMonitor->add(*bestStat);
-00226         gnuMonitor->add(*averageStat);
-00227       }
-00228 
-00229     // historgram?
-00230     if (plotHistogramParam.value()) // want to see how the fitness is spread?
-00231       {
-00232         eoScalarFitnessStat<EOT> *fitStat = new eoScalarFitnessStat<EOT>;
-00233         _state.storeFunctor(fitStat);
-00234         checkpoint->add(*fitStat);
-00235         // a gnuplot-based monitor for snapshots: needs a dir name
-00236         eoGnuplot1DSnapshot *fitSnapshot = new eoGnuplot1DSnapshot(dirNameParam.value());
-00237         _state.storeFunctor(fitSnapshot);
-00238         // add any stat that is a std::vector<double> to it
-00239         fitSnapshot->add(*fitStat);
-00240         // and of course add it to the checkpoint
-00241         checkpoint->add(*fitSnapshot);
-00242       }
-00243 
-00245     // State savers
-00247 
-00248     // feed the state to state savers
-00249     // save state every N  generation
-00250     eoValueParam<unsigned>& saveFrequencyParam = _parser.createParam(unsigned(0), "saveFrequency", "Save every F generation (0 = only final state, absent = never)", '\0', "Persistence" );
-00251 
-00252     if (_parser.isItThere(saveFrequencyParam))
-00253     {
-00254       // first make sure dirName is OK
-00255       if (! dirOK )
-00256         dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE
-00257 
-00258       unsigned freq = (saveFrequencyParam.value()>0 ? saveFrequencyParam.value() : UINT_MAX );
-00259 #ifdef _MSVC
-00260       std::string stmp = dirNameParam.value() + "\generations";
-00261 #else
-00262       std::string stmp = dirNameParam.value() + "/generations";
-00263 #endif
-00264       eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp);
-00265       _state.storeFunctor(stateSaver1);
-00266     checkpoint->add(*stateSaver1);
-00267     }
-00268 
-00269     // save state every T seconds
-00270     eoValueParam<unsigned>& saveTimeIntervalParam = _parser.createParam(unsigned(0), "saveTimeInterval", "Save every T seconds (0 or absent = never)", '\0',"Persistence" );
-00271     if (_parser.isItThere(saveTimeIntervalParam) && saveTimeIntervalParam.value()>0)
-00272     {
-00273       // first make sure dirName is OK
-00274       if (! dirOK )
-00275         dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE
-00276 
-00277 #ifdef _MSVC
-00278       std::string stmp = dirNameParam.value() + "\time";
-00279 #else
-00280       std::string stmp = dirNameParam.value() + "/time";
-00281 #endif
-00282       eoTimedStateSaver *stateSaver2 = new eoTimedStateSaver(saveTimeIntervalParam.value(), _state, stmp);
-00283       _state.storeFunctor(stateSaver2);
-00284       checkpoint->add(*stateSaver2);
-00285     }
-00286 
-00287     // and that's it for the (control and) output
-00288     return *checkpoint;
-00289 }
-00290 
-00291 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__checkpoint___f_d_c_8h-source.html b/trunk/paradiseo-eo/doc/html/make__checkpoint___f_d_c_8h-source.html deleted file mode 100644 index ba64be802..000000000 --- a/trunk/paradiseo-eo/doc/html/make__checkpoint___f_d_c_8h-source.html +++ /dev/null @@ -1,292 +0,0 @@ - - -EO: make_checkpoint_FDC.h Source File - - - - - -

make_checkpoint_FDC.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_checkpoint.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_checkpoint_h
-00028 #define _make_checkpoint_h
-00029 
-00030 #include <eoScalarFitness.h>
-00031 #include <utils/selectors.h> // for minimizing_fitness()
-00032 #include <EO.h>
-00033 #include <eoEvalFuncCounter.h>
-00034 #include <utils/checkpointing>
-00035 
-00036 // at the moment, in utils/make_help.cpp
-00037 // this should become some eoUtils.cpp with corresponding eoUtils.h
-00038 bool testDirRes(std::string _dirName, bool _erase);
-00040 
-00041 
-00042 template <class EOT>
-00043 eoCheckPoint<EOT>& do_make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<EOT>& _eval, eoContinue<EOT>& _continue)
-00044 {
-00045   // first, create a checkpoint from the eoContinue
-00046   eoCheckPoint<EOT> *checkpoint = new eoCheckPoint<EOT>(_continue);
-00047   _state.storeFunctor(checkpoint);
-00048 
-00050   // Counters
-00052   // is nb Eval to be used as counter?
-00053   eoValueParam<bool>& useEvalParam = _parser.createParam(true, "useEval", "Use nb of eval. as counter (vs nb of gen.)", '\0', "Output");
-00054 
-00055     // Create anyway a generation-counter parameter
-00056     eoValueParam<unsigned> *generationCounter = new eoValueParam<unsigned>(0, "Gen.");
-00057     // Create an incrementor (sub-class of eoUpdater).
-00058     eoIncrementor<unsigned>* increment = new eoIncrementor<unsigned>(generationCounter->value());
-00059     // Add it to the checkpoint, 
-00060     checkpoint->add(*increment);
-00061     // and store it in the state
-00062     _state.storeFunctor(increment);
-00063 
-00064     // dir for DISK output
-00065     eoValueParam<std::string>& dirNameParam =  _parser.createParam(std::string("Res"), "resDir", "Directory to store DISK outputs", '\0', "Output - Disk");
-00066     // shoudl we empty it if exists
-00067     eoValueParam<bool>& eraseParam = _parser.createParam(false, "eraseDir", "erase files in dirName if any", '\0', "Output - Disk");
-00068     bool dirOK = false;            // not tested yet
-00069 
-00071     // now some statistics on the population:
-00073 
-00086     // Best fitness in population
-00087     //---------------------------
-00088     eoValueParam<bool>& printBestParam = _parser.createParam(true, "printBestStat", "Print Best/avg/stdev every gen.", '\0', "Output");
-00089     eoValueParam<bool>& plotBestParam = _parser.createParam(false, "plotBestStat", "Plot Best/avg Stat", '\0', "Output - Graphical");
-00090     eoValueParam<bool>& fileBestParam = _parser.createParam(false, "fileBestStat", "Output bes/avg/std to file", '\0', "Output - Disk");
-00091 
-00092     eoBestFitnessStat<EOT> *bestStat = NULL;
-00093     if ( printBestParam.value() || plotBestParam.value() || fileBestParam.value() ) 
-00094       // we need the bestStat for at least one of the 3 above
-00095       {
-00096         bestStat = new eoBestFitnessStat<EOT>;
-00097         // store it
-00098         _state.storeFunctor(bestStat);
-00099         // add it to the checkpoint
-00100         checkpoint->add(*bestStat);
-00101       }
-00102 
-00103     // Average fitness alone
-00104     //----------------------
-00105     eoAverageStat<EOT> *averageStat = NULL; // do we need averageStat?
-00106     if ( plotBestParam.value() ) // we need it for gnuplot output
-00107       {
-00108         averageStat = new eoAverageStat<EOT>;
-00109         // store it
-00110         _state.storeFunctor(averageStat);
-00111         // add it to the checkpoint
-00112         checkpoint->add(*averageStat);
-00113       }
-00114 
-00115     // Second moment stats: average and stdev
-00116     //---------------------------------------
-00117     eoSecondMomentStats<EOT> *secondStat = NULL;
-00118     if ( printBestParam.value() ) // we need it for sreen output
-00119       {
-00120         secondStat = new eoSecondMomentStats<EOT>;
-00121         // store it
-00122         _state.storeFunctor(secondStat);
-00123         // add it to the checkpoint
-00124         checkpoint->add(*secondStat);
-00125       }
-00126 
-00127 
-00128     // Dump of the whole population
-00129     //-----------------------------
-00130     eoSortedPopStat<EOT> *popStat = NULL;
-00131     eoValueParam<bool>& printPopParam = _parser.createParam(false, "printPop", "Print sorted pop. every gen.", '\0', "Output");
-00132     if ( printPopParam.value() ) // we do want pop dump
-00133       {
-00134           popStat = new eoSortedPopStat<EOT>("Dump of whole population");
-00135         // store it
-00136         _state.storeFunctor(popStat);
-00137         // add it to the checkpoint
-00138         checkpoint->add(*popStat);
-00139       }
-00140 
-00141 
-00142     // the Fitness Distance Correlation
-00143     //---------------------------------
-00144     eoValueParam<bool>& printFDCParam = _parser.createParam(true, "printFDC", "Print FDC coeff. every gen.", '\0', "Output");
-00145     eoValueParam<bool>& plotFDCParam = _parser.createParam(false, "plotFDCStat", "Plot FDC scatter plot", '\0', "Output - Graphical");
-00146 
-00147     eoFDCStat<EOT> *fdcStat = NULL;
-00148     if ( printFDCParam.value() || plotFDCParam.value() ) // we need FDCStat
-00149       {
-00150         // need first an object to compute the distances - here Hamming dist.
-00151         eoQuadDistance<EOT> *dist = new eoQuadDistance<EOT>;
-00152         _state.storeFunctor(dist);
-00153         fdcStat = new eoFDCStat<EOT>(*dist);
-00154         // storeFunctor it
-00155         _state.storeFunctor(fdcStat);
-00156         // add it to the checkpoint
-00157         checkpoint->add(*fdcStat);
-00158       }
-00159 
-00160     // do we wnat some histogram of fitnesses snpashots?
-00161     eoValueParam<bool> plotHistogramParam = _parser.createParam(false, "plotHisto", "Plot histogram of fitnesses", '\0', "Output - Graphical");
-00162 
-00164     // The monitors
-00166     // do we want an eoStdoutMonitor?
-00167     bool needStdoutMonitor = printBestParam.value() || printFDCParam.value() 
-00168         || printPopParam.value() ;
-00169 
-00170     // The Stdout monitor will print parameters to the screen ...  
-00171     if ( needStdoutMonitor ) 
-00172       {
-00173         eoStdoutMonitor *monitor = new eoStdoutMonitor(false);
-00174         _state.storeFunctor(monitor);
-00175 
-00176         // when called by the checkpoint (i.e. at every generation)
-00177         checkpoint->add(*monitor);
-00178 
-00179         // the monitor will output a series of parameters: add them
-00180         monitor->add(*generationCounter);
-00181         if (useEvalParam.value()) // we want nb of evaluations
-00182               monitor->add(_eval);
-00183         if (printBestParam.value())
-00184             {
-00185                 monitor->add(*bestStat);
-00186                 monitor->add(*secondStat);
-00187             }
-00188         if (printFDCParam.value())
-00189           monitor->add(*fdcStat);
-00190         if ( printPopParam.value())
-00191           monitor->add(*popStat);
-00192       }
-00193 
-00194     // first handle the dir test - if we need at least one file
-00195     if ( ( fileBestParam.value() || plotBestParam.value() || 
-00196            plotFDCParam.value() || plotHistogramParam.value() )
-00197          && !dirOK )               // just in case we add something before
-00198       dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE
-00199 
-00200     if (fileBestParam.value())    // A file monitor for best & secondMoment
-00201       {
-00202         std::string stmp = dirNameParam.value() + "/best.xg";
-00203         eoFileMonitor *fileMonitor = new eoFileMonitor(stmp);
-00204         // save and give to checkpoint
-00205         _state.storeFunctor(fileMonitor);
-00206         checkpoint->add(*fileMonitor);
-00207         // and feed with some statistics
-00208         fileMonitor->add(*generationCounter);
-00209         fileMonitor->add(_eval);
-00210         fileMonitor->add(*bestStat); 
-00211         fileMonitor->add(*secondStat);
-00212       }
-00213 
-00214     if (plotBestParam.value())    // an eoGnuplot1DMonitor for best & average
-00215       {
-00216         std::string stmp = dirNameParam.value() + "_gnu_best.xg";
-00217         eoGnuplot1DMonitor *gnuMonitor = new eoGnuplot1DMonitor(stmp,minimizing_fitness<EOT>());
-00218         // save and give to checkpoint
-00219         _state.storeFunctor(gnuMonitor);
-00220         checkpoint->add(*gnuMonitor);
-00221         // and feed with some statistics
-00222         if (useEvalParam.value())
-00223           gnuMonitor->add(_eval);
-00224         else
-00225           gnuMonitor->add(*generationCounter);
-00226         gnuMonitor->add(*bestStat);
-00227         gnuMonitor->add(*averageStat);
-00228       }
-00229 
-00230     if (plotFDCParam.value())    // a specific plot monitor for FDC
-00231       {
-00232         // first into a file (it adds everything ti itself
-00233         eoFDCFileSnapshot<EOT> *fdcFileSnapshot = new eoFDCFileSnapshot<EOT>(*fdcStat, dirNameParam.value());
-00234         _state.storeFunctor(fdcFileSnapshot);
-00235         // then to a Gnuplot monitor
-00236         eoGnuplot1DSnapshot *fdcGnuplot = new eoGnuplot1DSnapshot(*fdcFileSnapshot);
-00237         _state.storeFunctor(fdcGnuplot);
-00238         
-00239         // and of course add them to the checkPoint
-00240         checkpoint->add(*fdcFileSnapshot);
-00241         checkpoint->add(*fdcGnuplot);
-00242       }
-00243 
-00244     // historgram?
-00245     if (plotHistogramParam.value()) // want to see how the fitness is spread?
-00246       {
-00247         eoScalarFitnessStat<EOT> *fitStat = new eoScalarFitnessStat<EOT>;
-00248         _state.storeFunctor(fitStat);
-00249         checkpoint->add(*fitStat);
-00250         // a gnuplot-based monitor for snapshots: needs a dir name
-00251         eoGnuplot1DSnapshot *fitSnapshot = new eoGnuplot1DSnapshot(dirNameParam.value());
-00252         _state.storeFunctor(fitSnapshot);
-00253         // add any stat that is a std::vector<double> to it
-00254         fitSnapshot->add(*fitStat);
-00255         // and of course add it to the checkpoint
-00256         checkpoint->add(*fitSnapshot);
-00257       }
-00258 
-00260     // State savers
-00262 
-00263     // feed the state to state savers
-00264     // save state every N  generation
-00265     eoValueParam<unsigned>& saveFrequencyParam = _parser.createParam(unsigned(0), "saveFrequency", "Save every F generation (0 = only final state, absent = never)", '\0', "Persistence" );
-00266 
-00267     if (_parser.isItThere(saveFrequencyParam))
-00268     {
-00269       // first make sure dirName is OK
-00270       if (! dirOK )
-00271         dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE
-00272 
-00273       unsigned freq = (saveFrequencyParam.value()>0 ? saveFrequencyParam.value() : UINT_MAX );
-00274       std::string stmp = dirNameParam.value() + "/generations";
-00275       eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp); 
-00276       _state.storeFunctor(stateSaver1);
-00277     checkpoint->add(*stateSaver1);
-00278     }
-00279 
-00280     // save state every T seconds 
-00281     eoValueParam<unsigned>& saveTimeIntervalParam = _parser.createParam(unsigned(0), "saveTimeInterval", "Save every T seconds (0 or absent = never)", '\0',"Persistence" );
-00282     if (_parser.isItThere(saveTimeIntervalParam) && saveTimeIntervalParam.value()>0)
-00283     {
-00284       // first make sure dirName is OK
-00285       if (! dirOK )
-00286         dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE
-00287 
-00288       std::string stmp = dirNameParam.value() + "/time";
-00289       eoTimedStateSaver *stateSaver2 = new eoTimedStateSaver(saveTimeIntervalParam.value(), _state, stmp); 
-00290       _state.storeFunctor(stateSaver2);
-00291       checkpoint->add(*stateSaver2);
-00292     }
-00293 
-00294     // and that's it for the (control and) output
-00295     return *checkpoint;
-00296 }
-00297 
-00298 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__checkpoint__assembled_8h-source.html b/trunk/paradiseo-eo/doc/html/make__checkpoint__assembled_8h-source.html deleted file mode 100644 index 3004070ff..000000000 --- a/trunk/paradiseo-eo/doc/html/make__checkpoint__assembled_8h-source.html +++ /dev/null @@ -1,215 +0,0 @@ - - -EO: make_checkpoint_assembled.h Source File - - - - - -

make_checkpoint_assembled.h

00001  /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- */
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_checkpoint_assembled.h
-00005 // Marc Wintermantel & Oliver Koenig
-00006 // IMES-ST@ETHZ.CH
-00007 // March 2003
-00008 
-00009 /*
-00010     This library is free software; you can redistribute it and/or
-00011     modify it under the terms of the GNU Lesser General Public
-00012     License as published by the Free Software Foundation; either
-00013     version 2 of the License, or (at your option) any later version.
-00014 
-00015     This library is distributed in the hope that it will be useful,
-00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00018     Lesser General Public License for more details.
-00019 
-00020     You should have received a copy of the GNU Lesser General Public
-00021     License along with this library; if not, write to the Free Software
-00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00023 
-00024     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00025              Marc.Schoenauer@inria.fr
-00026              mak@dhi.dk
-00027 */
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 #ifndef _make_checkpoint_assembled_h
-00031 #define _make_checkpoint_assembled_h
-00032 
-00033 #include <vector>
-00034 #include <string>
-00035 
-00036 #include <eoScalarFitnessAssembled.h>
-00037 #include <utils/selectors.h>
-00038 #include <EO.h>
-00039 #include <eoEvalFuncCounter.h>
-00040 #include <utils/checkpointing>
-00041 
-00042 // at the moment, in utils/make_help.cpp
-00043 // this should become some eoUtils.cpp with corresponding eoUtils.h
-00044 bool testDirRes(std::string _dirName, bool _erase);
-00046 
-00048 template <class EOT>
-00049 eoCheckPoint<EOT>& do_make_checkpoint_assembled(eoParser& _parser, eoState& _state, eoEvalFuncCounter<EOT>& _eval, eoContinue<EOT>& _continue)
-00050 {
-00051 
-00052     // SOME PARSER PARAMETERS
-00053     // ----------------------
-00054     std::string dirName = _parser.getORcreateParam(std::string("Res"), "resDir",
-00055                                                    "Directory to store DISK outputs",
-00056                                                    '\0', "Output").value();
-00057     bool erase = _parser.getORcreateParam(true, "eraseDir",
-00058                                           "Erase files in dirName if any",
-00059                                           '\0', "Output").value();
-00060     bool gnuplots = _parser.getORcreateParam(true, "plots",
-00061                                              "Plot stuff using GnuPlot",
-00062                                              '\0', "Output").value();
-00063     bool printFile = _parser.getORcreateParam(true, "printFile",
-00064                                               "Print statistics file",
-00065                                               '\0', "Output").value();
-00066 
-00067   eoValueParam<unsigned>& saveFrequencyParam
-00068       = _parser.getORcreateParam(unsigned(0), "saveFrequency",
-00069                                  "Save every F generation (0 = only final state, absent = never)",
-00070                                  '\0', "Persistence" );
-00071 
-00072   testDirRes(dirName, erase); // TRUE
-00073 
-00074   // CREATE CHECKPOINT FROM eoContinue
-00075   // ---------------------------------
-00076   eoCheckPoint<EOT> *checkpoint = new eoCheckPoint<EOT>(_continue);
-00077   _state.storeFunctor(checkpoint);
-00078 
-00079   // GENERATIONS
-00080   // -----------
-00081   eoIncrementorParam<unsigned> *generationCounter = new eoIncrementorParam<unsigned>("Gen.");
-00082   _state.storeFunctor(generationCounter);
-00083   checkpoint->add(*generationCounter);
-00084 
-00085   // TIME
-00086   // ----
-00087   eoTimeCounter * tCounter = NULL;
-00088   tCounter = new eoTimeCounter;
-00089   _state.storeFunctor(tCounter);
-00090   checkpoint->add(*tCounter);
-00091 
-00092   // ACCESS DESCRIPTIONS OF TERMS OF FITNESS CLASS
-00093   // ---------------------------------------------
-00094   // define a temporary fitness instance
-00095   typedef typename EOT::Fitness Fit;
-00096   Fit fit;
-00097   std::vector<std::string> fitness_descriptions = fit.getDescriptionVector();
-00098   unsigned nTerms = fitness_descriptions.size();
-00099 
-00100   // STAT VALUES OF A POPULATION
-00101   // ---------------------------
-00102 
-00103   // average vals
-00104   std::vector<eoAssembledFitnessAverageStat<EOT>* > avgvals( nTerms );
-00105   for (unsigned i=0; i < nTerms; ++i){
-00106     std::string descr = "Avg. of " + fitness_descriptions[i];
-00107     avgvals[i] = new eoAssembledFitnessAverageStat<EOT>(i, descr);
-00108     _state.storeFunctor( avgvals[i] );
-00109     checkpoint->add( *avgvals[i] );
-00110   }
-00111 
-00112   // best vals
-00113   std::vector<eoAssembledFitnessBestStat<EOT>* > bestvals( nTerms );
-00114   for (unsigned j=0; j < nTerms; ++j){
-00115     std::string descr = fitness_descriptions[j] + " of best ind.";
-00116     bestvals[j] = new eoAssembledFitnessBestStat<EOT>(j, descr);
-00117     _state.storeFunctor( bestvals[j] );
-00118     checkpoint->add( *bestvals[j] );
-00119   }
-00120 
-00121   // STDOUT
-00122   // ------
-00123   eoStdoutMonitor *monitor = new eoStdoutMonitor(false);
-00124   _state.storeFunctor(monitor);
-00125   checkpoint->add(*monitor);
-00126   monitor->add(*generationCounter);
-00127   monitor->add(_eval);
-00128   monitor->add(*tCounter);
-00129 
-00130   // Add best fitness
-00131   monitor->add( *bestvals[0] );
-00132 
-00133   // Add all average vals
-00134   for (unsigned l=0; l < nTerms; ++l)
-00135     monitor->add( *avgvals[l] );
-00136 
-00137   // GNUPLOT
-00138   // -------
-00139   if (gnuplots ){
-00140     std::string stmp;
-00141 
-00142     // Histogramm of the different fitness vals
-00143     eoScalarFitnessStat<EOT> *fitStat = new eoScalarFitnessStat<EOT>;
-00144     _state.storeFunctor(fitStat);
-00145     checkpoint->add(*fitStat);
-00146     // a gnuplot-based monitor for snapshots: needs a dir name
-00147     eoGnuplot1DSnapshot *fitSnapshot = new eoGnuplot1DSnapshot(dirName);
-00148     _state.storeFunctor(fitSnapshot);
-00149     // add any stat that is a vector<double> to it
-00150     fitSnapshot->add(*fitStat);
-00151     // and of course add it to the checkpoint
-00152     checkpoint->add(*fitSnapshot);
-00153 
-00154     std::vector<eoGnuplot1DMonitor*> gnumonitors(nTerms, NULL );
-00155     for (unsigned k=0; k < nTerms; ++k){
-00156       stmp = dirName + "/gnuplot_" + fitness_descriptions[k] + ".xg";
-00157       gnumonitors[k] = new eoGnuplot1DMonitor(stmp,true);
-00158       _state.storeFunctor(gnumonitors[k]);
-00159       checkpoint->add(*gnumonitors[k]);
-00160       gnumonitors[k]->add(*generationCounter);
-00161       gnumonitors[k]->add(*bestvals[k]);
-00162       gnumonitors[k]->add(*avgvals[k]);
-00163     }
-00164 
-00165   }
-00166 
-00167   // WRITE STUFF TO FILE
-00168   // -------------------
-00169   if( printFile ){
-00170     std::string stmp2 = dirName + "/eoStatistics.sav";
-00171     eoFileMonitor *fileMonitor = new eoFileMonitor(stmp2);
-00172     _state.storeFunctor(fileMonitor);
-00173     checkpoint->add(*fileMonitor);
-00174     fileMonitor->add(*generationCounter);
-00175     fileMonitor->add(_eval);
-00176     fileMonitor->add(*tCounter);
-00177 
-00178     for (unsigned i=0; i < nTerms; ++i){
-00179       fileMonitor->add(*bestvals[i]);
-00180       fileMonitor->add(*avgvals[i]);
-00181     }
-00182 
-00183   }
-00184 
-00185   // STATE SAVER
-00186   // -----------
-00187   // feed the state to state savers
-00188 
-00189   if (_parser.isItThere(saveFrequencyParam)) {
-00190 
-00191     unsigned freq = (saveFrequencyParam.value() > 0 ? saveFrequencyParam.value() : UINT_MAX );
-00192     std::string stmp = dirName + "/generations";
-00193     eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp);
-00194     _state.storeFunctor(stateSaver1);
-00195     checkpoint->add(*stateSaver1);
-00196   }
-00197 
-00198   // and that's it for the (control and) output
-00199   return *checkpoint;
-00200 }
-00201 
-00202 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__checkpoint__es_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__checkpoint__es_8cpp-source.html deleted file mode 100644 index ed4a382fb..000000000 --- a/trunk/paradiseo-eo/doc/html/make__checkpoint__es_8cpp-source.html +++ /dev/null @@ -1,83 +0,0 @@ - - -EO: make_checkpoint_es.cpp Source File - - - - - -

make_checkpoint_es.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_checkpoint_es.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_checkpoint.h>
-00045 // the instanciating EOType(s)
-00046 #include <es/eoEsSimple.h>         // one Sigma per individual
-00047 #include <es/eoEsStdev.h>          // one sigmal per object variable
-00048 #include <es/eoEsFull.h>           // full correlation matrix per indi
-00049 
-00051 
-00052 // checkpoint
-00054 eoCheckPoint<eoEsSimple<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsSimple<double> >& _eval, eoContinue<eoEsSimple<double> >& _continue)
-00055 {
-00056   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00057 }
-00058 eoCheckPoint<eoEsSimple<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsSimple<eoMinimizingFitness> >& _eval, eoContinue<eoEsSimple<eoMinimizingFitness> >& _continue) 
-00059 {
-00060   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00061 }
-00062 
-00064 eoCheckPoint<eoEsStdev<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsStdev<double> >& _eval, eoContinue<eoEsStdev<double> >& _continue)
-00065 {
-00066   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00067 }
-00068 eoCheckPoint<eoEsStdev<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsStdev<eoMinimizingFitness> >& _eval, eoContinue<eoEsStdev<eoMinimizingFitness> >& _continue) 
-00069 {
-00070   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00071 }
-00072 
-00074 eoCheckPoint<eoEsFull<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsFull<double> >& _eval, eoContinue<eoEsFull<double> >& _continue)
-00075 {
-00076   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00077 }
-00078 eoCheckPoint<eoEsFull<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsFull<eoMinimizingFitness> >& _eval, eoContinue<eoEsFull<eoMinimizingFitness> >& _continue) 
-00079 {
-00080   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00081 }
-00082 
-00083 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__checkpoint__ga_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__checkpoint__ga_8cpp-source.html deleted file mode 100644 index 29ed7963e..000000000 --- a/trunk/paradiseo-eo/doc/html/make__checkpoint__ga_8cpp-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: make_checkpoint_ga.cpp Source File - - - - - -

make_checkpoint_ga.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_checkpoint_ga.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00046 // The templatized code
-00047 #include <do/make_checkpoint.h>
-00048 // the instanciating EOType
-00049 #include <ga/eoBit.h>
-00050 
-00052 
-00053 // checkpoint
-00055 eoCheckPoint<eoBit<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoBit<double> >& _eval, eoContinue<eoBit<double> >& _continue)
-00056 {
-00057   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00058 }
-00059 eoCheckPoint<eoBit<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoBit<eoMinimizingFitness> >& _eval, eoContinue<eoBit<eoMinimizingFitness> >& _continue) 
-00060 {
-00061   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00062 }
-00063 
-00064 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__checkpoint__pareto_8h-source.html b/trunk/paradiseo-eo/doc/html/make__checkpoint__pareto_8h-source.html deleted file mode 100644 index 63dbc5a43..000000000 --- a/trunk/paradiseo-eo/doc/html/make__checkpoint__pareto_8h-source.html +++ /dev/null @@ -1,245 +0,0 @@ - - -EO: make_checkpoint_pareto.h Source File - - - - - -

make_checkpoint_pareto.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_checkpoint_pareto.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_checkpoint_pareto_h
-00028 #define _make_checkpoint_pareto_h
-00029 
-00030 #include <stdlib.h>
-00031 #include <sstream>
-00032 
-00033 #include "EO.h"
-00034 #include "eoParetoFitness.h"
-00035 #include "eoEvalFuncCounter.h"
-00036 #include "utils/checkpointing"
-00037 #include "utils/selectors.h"
-00038 
-00039 // at the moment, in utils/make_help.cpp
-00040 // this should become some eoUtils.cpp with corresponding eoUtils.h
-00041 bool testDirRes(std::string _dirName, bool _erase);
-00043 
-00046 template <class EOT>
-00047 eoCheckPoint<EOT>& do_make_checkpoint_pareto(eoParser& _parser, eoState& _state,
-00048                                              eoEvalFuncCounter<EOT>& _eval, eoContinue<EOT>& _continue)
-00049 {
-00050     // first, create a checkpoint from the eoContinue - and store in _state
-00051     eoCheckPoint<EOT> & checkpoint = _state.storeFunctor(new eoCheckPoint<EOT>(_continue));
-00052 
-00054     typedef typename EOT::Fitness Fit;
-00055     Fit fit;
-00056     unsigned nObj = fit.size();
-00057 
-00059     // Counters
-00061     // is nb Eval to be used as counter?
-00062     bool useEval = _parser.getORcreateParam(true, "useEval",
-00063                                             "Use nb of eval. as counter (vs nb of gen.)",
-00064                                             '\0', "Output").value();
-00065 
-00066     // Create anyway a generation-counter parameter WARNING: not stored anywhere!!!
-00067     eoValueParam<unsigned> *generationCounter = new eoValueParam<unsigned>(0, "Gen.");
-00068     // Create an incrementor (sub-class of eoUpdater).
-00069     eoIncrementor<unsigned> & increment =
-00070       _state.storeFunctor(new eoIncrementor<unsigned>(generationCounter->value()) );
-00071     // Add it to the checkpoint,
-00072     checkpoint.add(increment);
-00073 
-00074     // dir for DISK output
-00075     std::string & dirName =  _parser.getORcreateParam(std::string("Res"), "resDir",
-00076                                                       "Directory to store DISK outputs",
-00077                                                       '\0', "Output - Disk").value();
-00078     // shoudl we empty it if exists
-00079     eoValueParam<bool>& eraseParam = _parser.getORcreateParam(true, "eraseDir",
-00080                                                               "erase files in dirName if any",
-00081                                                               '\0', "Output - Disk");
-00082     bool dirOK = false;            // not tested yet
-00083 
-00085     // now some statistics on the population:
-00087 
-00093     eoValueParam<eoParamParamType>& fPlotParam
-00094         = _parser.getORcreateParam(eoParamParamType("1(0,1)"), "frontFileFrequency",
-00095       "File save frequency in objective spaces (std::pairs of comma-separated objectives " \
-00096       "in 1 single parentheses std::pair)",
-00097                                    '\0', "Output - Disk");
-00098 
-00099     bool boolGnuplot = _parser.getORcreateParam(false, "plotFront",
-00100                                                 "Objective plots (requires corresponding files " \
-00101                                                 "- see frontFileFrequency",
-00102                                                 '\0', "Output - Graphical").value();
-00103 
-00104     eoParamParamType & fPlot = fPlotParam.value(); // std::pair<std::string,std::vector<std::string> >
-00105     unsigned frequency = atoi(fPlot.first.c_str());
-00106     if (frequency)                 // something to plot
-00107     {
-00108       unsigned nbPlot = fPlot.second.size();
-00109       if ( nbPlot % 2 )            // odd!
-00110         throw std::runtime_error("Odd number of front description in make_checkpoint_pareto");
-00111 
-00112       // only create the necessary stats
-00113       std::vector<bool> bStat(nObj, false); // track of who's already there
-00114       std::vector<eoMOFitnessStat<EOT>* > theStats(nObj);
-00115 
-00116       // first create the stats
-00117       for (unsigned i=0; i<nbPlot; i+=2)
-00118         {
-00119           unsigned obj1 = atoi(fPlot.second[i].c_str());
-00120           unsigned obj2 = atoi(fPlot.second[i+1].c_str());
-00121           eoMOFitnessStat<EOT>* fStat;
-00122           if (!bStat[obj1]) {              // not already there: create it
-00123               std::ostringstream os;
-00124               os << "Obj. " << obj1 << std::ends;
-00125               fStat = new eoMOFitnessStat<EOT>(obj1, os.str().c_str());
-00126               _state.storeFunctor(fStat);
-00127               bStat[obj1]=true;
-00128               theStats[obj1]=fStat;
-00129               checkpoint.add(*fStat);
-00130           }
-00131           if (!bStat[obj2]) {              // not already there: create it
-00132               std::ostringstream os;
-00133               os << "Obj. " << obj2 << std::ends;
-00134               fStat = new eoMOFitnessStat<EOT>(obj2, os.str().c_str());
-00135               _state.storeFunctor(fStat);
-00136               bStat[obj2]=true;
-00137               theStats[obj2]=fStat;
-00138               checkpoint.add(*fStat);
-00139           }
-00140 
-00141           // then the fileSnapshots
-00142           std::ostringstream os;
-00143           os << "Front." << obj1 << "." << obj2 << "." << std::ends;
-00144           eoFileSnapshot& snapshot = _state.storeFunctor(
-00145               new eoFileSnapshot(dirName, frequency, os.str().c_str()));
-00146           checkpoint.add(snapshot);
-00147 
-00148           snapshot.add(*theStats[obj1]);
-00149           snapshot.add(*theStats[obj2]);
-00150 
-00151           // and create the gnuplotter from the fileSnapshot
-00152           if(boolGnuplot)
-00153             {
-00154               eoGnuplot1DSnapshot & plotSnapshot = _state.storeFunctor(new
-00155                     eoGnuplot1DSnapshot(snapshot));
-00156               plotSnapshot.setPointSize(3);
-00157               checkpoint.add(plotSnapshot);
-00158             }
-00159         }
-00160     }
-00161     // Dump of the whole population
-00162     //-----------------------------
-00163     bool printPop = _parser.getORcreateParam(false, "printPop",
-00164                                              "Print sorted pop. every gen.",
-00165                                              '\0', "Output").value();
-00166     eoSortedPopStat<EOT> * popStat;
-00167     if ( printPop ) // we do want pop dump
-00168       {
-00169         std::cout << "On cree printpop\n";
-00170         popStat = & _state.storeFunctor(new eoSortedPopStat<EOT>);
-00171         // add it to the checkpoint
-00172         checkpoint.add(*popStat);
-00173       }
-00174 
-00176     // The monitors
-00178     // do we want an eoStdoutMonitor?
-00179     bool needStdoutMonitor = printPop ; // only this one at the moment
-00180 
-00181     // The Stdout monitor will print parameters to the screen ...
-00182     if ( needStdoutMonitor )
-00183       {
-00184         eoStdoutMonitor & monitor = _state.storeFunctor(new eoStdoutMonitor(false));
-00185 
-00186         // when called by the checkpoint (i.e. at every generation)
-00187         checkpoint.add(monitor);
-00188 
-00189         // the monitor will output a series of parameters: add them
-00190         monitor.add(*generationCounter);
-00191         if (useEval) // we want nb of evaluations
-00192           monitor.add(_eval);
-00193         if ( printPop)
-00194           monitor.add(*popStat);
-00195       }
-00196 
-00197 
-00199     // State savers
-00201 
-00202     // feed the state to state savers
-00203     // save state every N  generation
-00204     eoValueParam<unsigned>& saveFrequencyParam = _parser.createParam(unsigned(0), "saveFrequency", "Save every F generation (0 = only final state, absent = never)", '\0', "Persistence" );
-00205 
-00206     if (_parser.isItThere(saveFrequencyParam))
-00207     {
-00208       // first make sure dirName is OK
-00209       if (! dirOK )
-00210         dirOK = testDirRes(dirName, eraseParam.value()); // TRUE
-00211 
-00212       unsigned freq = (saveFrequencyParam.value()>0 ? saveFrequencyParam.value() : UINT_MAX );
-00213 #ifdef _MSVC
-00214       std::string stmp = dirName + "\generations";
-00215 #else
-00216       std::string stmp = dirName + "/generations";
-00217 #endif
-00218       eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp);
-00219       _state.storeFunctor(stateSaver1);
-00220     checkpoint.add(*stateSaver1);
-00221     }
-00222 
-00223     // save state every T seconds
-00224     eoValueParam<unsigned>& saveTimeIntervalParam
-00225         = _parser.getORcreateParam(unsigned(0), "saveTimeInterval",
-00226                                    "Save every T seconds (0 or absent = never)", '\0',"Persistence" );
-00227     if (_parser.isItThere(saveTimeIntervalParam) && saveTimeIntervalParam.value()>0)
-00228     {
-00229       // first make sure dirName is OK
-00230       if (! dirOK )
-00231         dirOK = testDirRes(dirName, eraseParam.value()); // TRUE
-00232 
-00233 #ifdef _MSVC
-00234       std::string stmp = dirName + "\time";
-00235 #else
-00236       std::string stmp = dirName + "/time";
-00237 #endif
-00238       eoTimedStateSaver *stateSaver2 = new eoTimedStateSaver(saveTimeIntervalParam.value(), _state, stmp);
-00239       _state.storeFunctor(stateSaver2);
-00240       checkpoint.add(*stateSaver2);
-00241     }
-00242 
-00243     // and that's it for the (control and) output
-00244     return checkpoint;
-00245 }
-00246 
-00247 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__checkpoint__real_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__checkpoint__real_8cpp-source.html deleted file mode 100644 index def6f3c96..000000000 --- a/trunk/paradiseo-eo/doc/html/make__checkpoint__real_8cpp-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: make_checkpoint_real.cpp Source File - - - - - -

make_checkpoint_real.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_checkpoint_real.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_checkpoint.h>
-00045 // the instanciating EOType
-00046 #include <es/eoReal.h>
-00047 
-00049 
-00050 // checkpoint
-00052 eoCheckPoint<eoReal<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoReal<double> >& _eval, eoContinue<eoReal<double> >& _continue)
-00053 {
-00054   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00055 }
-00056 eoCheckPoint<eoReal<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoReal<eoMinimizingFitness> >& _eval, eoContinue<eoReal<eoMinimizingFitness> >& _continue) 
-00057 {
-00058   return do_make_checkpoint(_parser, _state, _eval, _continue);
-00059 }
-00060 
-00061 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__continue_8h-source.html b/trunk/paradiseo-eo/doc/html/make__continue_8h-source.html deleted file mode 100644 index 5473c2ec1..000000000 --- a/trunk/paradiseo-eo/doc/html/make__continue_8h-source.html +++ /dev/null @@ -1,173 +0,0 @@ - - -EO: make_continue.h Source File - - - - - -

make_continue.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_continue.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_continue_h
-00028 #define _make_continue_h
-00029 
-00030 /*
-00031 Contains the templatized version of parser-based choice of stopping criterion
-00032 It can then be instantiated, and compiled on its own for a given EOType
-00033 (see e.g. in dir ga, ga.cpp)
-00034 */
-00035 
-00036 // Continuators - all include eoContinue.h
-00037 #include <eoCombinedContinue.h>
-00038 #include <eoGenContinue.h>
-00039 #include <eoSteadyFitContinue.h>
-00040 #include <eoEvalContinue.h>
-00041 #include <eoFitContinue.h>
-00042 #ifndef _MSC_VER
-00043 #include <eoCtrlCContinue.h>  // CtrlC handling (using 2 global variables!)
-00044 #endif
-00045 
-00046   // also need the parser and param includes
-00047 #include <utils/eoParser.h>
-00048 #include <utils/eoState.h>
-00049 
-00050 
-00052 template <class Indi>
-00053 eoCombinedContinue<Indi> * make_combinedContinue(eoCombinedContinue<Indi> *_combined, eoContinue<Indi> *_cont)
-00054 {
-00055   if (_combined)                   // already exists
-00056     _combined->add(*_cont);
-00057   else
-00058     _combined = new eoCombinedContinue<Indi>(*_cont);
-00059   return _combined;
-00060 }
-00061 
-00062 template <class Indi>
-00063 eoContinue<Indi> & do_make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval)
-00064 {
-00066   // the combined continue - to be filled
-00067   eoCombinedContinue<Indi> *continuator = NULL;
-00068 
-00069   // for each possible criterion, check if wanted, otherwise do nothing
-00070 
-00071   // First the eoGenContinue - need a default value so you can run blind
-00072   // but we also need to be able to avoid it <--> 0
-00073   eoValueParam<unsigned>& maxGenParam = _parser.getORcreateParam(unsigned(100), "maxGen", "Maximum number of generations () = none)",'G',"Stopping criterion");
-00074 
-00075     if (maxGenParam.value()) // positive: -> define and store
-00076       {
-00077         eoGenContinue<Indi> *genCont = new eoGenContinue<Indi>(maxGenParam.value());
-00078         _state.storeFunctor(genCont);
-00079         // and "add" to combined
-00080         continuator = make_combinedContinue<Indi>(continuator, genCont);
-00081       }
-00082 
-00083   // the steadyGen continue - only if user imput
-00084   eoValueParam<unsigned>& steadyGenParam = _parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion");
-00085   eoValueParam<unsigned>& minGenParam = _parser.createParam(unsigned(0), "minGen", "Minimum number of generations",'g', "Stopping criterion");
-00086     if (_parser.isItThere(steadyGenParam))
-00087       {
-00088         eoSteadyFitContinue<Indi> *steadyCont = new eoSteadyFitContinue<Indi>
-00089           (minGenParam.value(), steadyGenParam.value());
-00090         // store
-00091         _state.storeFunctor(steadyCont);
-00092         // add to combinedContinue
-00093         continuator = make_combinedContinue<Indi>(continuator, steadyCont);
-00094       }
-00095 
-00096   // Same thing with Eval - but here default value is 0
-00097   eoValueParam<unsigned long>& maxEvalParam
-00098       = _parser.getORcreateParam((unsigned long)0, "maxEval",
-00099                                  "Maximum number of evaluations (0 = none)",
-00100                                  'E', "Stopping criterion");
-00101 
-00102     if (maxEvalParam.value()) // positive: -> define and store
-00103       {
-00104         eoEvalContinue<Indi> *evalCont = new eoEvalContinue<Indi>(_eval, maxEvalParam.value());
-00105         _state.storeFunctor(evalCont);
-00106         // and "add" to combined
-00107         continuator = make_combinedContinue<Indi>(continuator, evalCont);
-00108       }
-00109     /*
-00110   // the steadyEval continue - only if user imput
-00111   eoValueParam<unsigned>& steadyGenParam = _parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion");
-00112   eoValueParam<unsigned>& minGenParam = _parser.createParam(unsigned(0), "minGen", "Minimum number of generations",'g', "Stopping criterion");
-00113     if (_parser.isItThere(steadyGenParam))
-00114       {
-00115         eoSteadyGenContinue<Indi> *steadyCont = new eoSteadyFitContinue<Indi>
-00116           (minGenParam.value(), steadyGenParam.value());
-00117         // store
-00118         _state.storeFunctor(steadyCont);
-00119         // add to combinedContinue
-00120         continuator = make_combinedContinue<Indi>(continuator, steadyCont);
-00121       }
-00122     */
-00123     // the target fitness
-00124     eoFitContinue<Indi> *fitCont;
-00125     eoValueParam<double>& targetFitnessParam = _parser.createParam(double(0.0), "targetFitness", "Stop when fitness reaches",'T', "Stopping criterion");
-00126     if (_parser.isItThere(targetFitnessParam))
-00127       {
-00128         fitCont = new eoFitContinue<Indi>
-00129           (targetFitnessParam.value());
-00130         // store
-00131         _state.storeFunctor(fitCont);
-00132         // add to combinedContinue
-00133         continuator = make_combinedContinue<Indi>(continuator, fitCont);
-00134       }
-00135 
-00136 #ifndef _MSC_VER
-00137     // the CtrlC interception (Linux only I'm afraid)
-00138     eoCtrlCContinue<Indi> *ctrlCCont;
-00139     eoValueParam<bool>& ctrlCParam = _parser.createParam(false, "CtrlC", "Terminate current generation upon Ctrl C",'C', "Stopping criterion");
-00140     if (ctrlCParam.value())
-00141       {
-00142         ctrlCCont = new eoCtrlCContinue<Indi>;
-00143         // store
-00144         _state.storeFunctor(ctrlCCont);
-00145         // add to combinedContinue
-00146         continuator = make_combinedContinue<Indi>(continuator, ctrlCCont);
-00147       }
-00148 #endif
-00149 
-00150     // now check that there is at least one!
-00151     if (!continuator)
-00152       throw std::runtime_error("You MUST provide a stopping criterion");
-00153   // OK, it's there: store in the eoState
-00154   _state.storeFunctor(continuator);
-00155 
-00156   // and return
-00157     return *continuator;
-00158 }
-00159 
-00160 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__continue__es_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__continue__es_8cpp-source.html deleted file mode 100644 index 3a56adfae..000000000 --- a/trunk/paradiseo-eo/doc/html/make__continue__es_8cpp-source.html +++ /dev/null @@ -1,83 +0,0 @@ - - -EO: make_continue_es.cpp Source File - - - - - -

make_continue_es.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_continue_es.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_continue.h>
-00045 // the instanciating EOType(s)
-00046 #include <es/eoEsSimple.h>         // one Sigma per individual
-00047 #include <es/eoEsStdev.h>          // one sigmal per object variable
-00048 #include <es/eoEsFull.h>           // full correlation matrix per indi
-00049 
-00051 
-00052 // continue
-00054 eoContinue<eoEsSimple<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsSimple<double> > & _eval)
-00055 {
-00056   return do_make_continue(_parser, _state, _eval);
-00057 }
-00058 eoContinue<eoEsSimple<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsSimple<eoMinimizingFitness> > & _eval)
-00059 {
-00060   return do_make_continue(_parser, _state, _eval);
-00061 }
-00062 
-00064 eoContinue<eoEsStdev<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsStdev<double> > & _eval)
-00065 {
-00066   return do_make_continue(_parser, _state, _eval);
-00067 }
-00068 eoContinue<eoEsStdev<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsStdev<eoMinimizingFitness> > & _eval)
-00069 {
-00070   return do_make_continue(_parser, _state, _eval);
-00071 }
-00072 
-00074 eoContinue<eoEsFull<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsFull<double> > & _eval)
-00075 {
-00076   return do_make_continue(_parser, _state, _eval);
-00077 }
-00078 eoContinue<eoEsFull<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsFull<eoMinimizingFitness> > & _eval)
-00079 {
-00080   return do_make_continue(_parser, _state, _eval);
-00081 }
-00082 
-00083 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__continue__ga_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__continue__ga_8cpp-source.html deleted file mode 100644 index 7d5ab0e55..000000000 --- a/trunk/paradiseo-eo/doc/html/make__continue__ga_8cpp-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: make_continue_ga.cpp Source File - - - - - -

make_continue_ga.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_continue_ga.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00046 // The templatized code
-00047 #include <do/make_continue.h>
-00048 // the instanciating EOType
-00049 #include <ga/eoBit.h>
-00050 
-00052 
-00053 // continue
-00055 eoContinue<eoBit<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoBit<double> > & _eval)
-00056 {
-00057   return do_make_continue(_parser, _state, _eval);
-00058 }
-00059 eoContinue<eoBit<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoBit<eoMinimizingFitness> > & _eval)
-00060 {
-00061   return do_make_continue(_parser, _state, _eval);
-00062 }
-00063 
-00064 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__continue__pareto_8h-source.html b/trunk/paradiseo-eo/doc/html/make__continue__pareto_8h-source.html deleted file mode 100644 index 9ac8d427b..000000000 --- a/trunk/paradiseo-eo/doc/html/make__continue__pareto_8h-source.html +++ /dev/null @@ -1,120 +0,0 @@ - - -EO: make_continue_pareto.h Source File - - - - - -

make_continue_pareto.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_continue_pareto.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@inria.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_continue_pareto_h
-00028 #define _make_continue_pareto_h
-00029 
-00030 /*
-00031 Contains the templatized version of parser-based choice of stopping criterion
-00032 for Pareto optimization (e.g. no "... without improvement" criterion
-00033 It can then be instantiated, and compiled on its own for a given EOType
-00034 (see e.g. in dir ga, ga.cpp)
-00035 */
-00036 
-00037 // Continuators - all include eoContinue.h
-00038 #include <eoCombinedContinue.h>
-00039 #include <eoGenContinue.h>
-00040 #include <eoEvalContinue.h>
-00041 #include <eoFitContinue.h>
-00042 #ifndef _MSC_VER
-00043 #include <eoCtrlCContinue.h>  // CtrlC handling (using 2 global variables!)
-00044 #endif
-00045 
-00046   // also need the parser and param includes
-00047 #include <utils/eoParser.h>
-00048 #include <utils/eoState.h>
-00049 
-00050 
-00052 template <class Indi>
-00053 eoCombinedContinue<Indi> * make_combinedContinue(eoCombinedContinue<Indi> *_combined, eoContinue<Indi> *_cont)
-00054 {
-00055   if (_combined)                   // already exists
-00056     _combined->add(*_cont);
-00057   else
-00058     _combined = new eoCombinedContinue<Indi>(*_cont);
-00059   return _combined;
-00060 }
-00061 
-00063 template <class Indi>
-00064 eoContinue<Indi> & do_make_continue_pareto(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval)
-00065 {
-00067   // the combined continue - to be filled
-00068   eoCombinedContinue<Indi> *continuator = NULL;
-00069 
-00070   // for each possible criterion, check if wanted, otherwise do nothing
-00071 
-00072   // First the eoGenContinue - need a default value so you can run blind
-00073   // but we also need to be able to avoid it <--> 0
-00074   eoValueParam<unsigned>& maxGenParam = _parser.createParam(unsigned(100), "maxGen", "Maximum number of generations () = none)",'G',"Stopping criterion");
-00075 
-00076     if (maxGenParam.value()) // positive: -> define and store
-00077       {
-00078         eoGenContinue<Indi> *genCont = new eoGenContinue<Indi>(maxGenParam.value());
-00079         _state.storeFunctor(genCont);
-00080         // and "add" to combined
-00081         continuator = make_combinedContinue<Indi>(continuator, genCont);
-00082       }
-00083 
-00084 #ifndef _MSC_VER
-00085     // the CtrlC interception (Linux only I'm afraid)
-00086     eoCtrlCContinue<Indi> *ctrlCCont;
-00087     eoValueParam<bool>& ctrlCParam = _parser.createParam(true, "CtrlC", "Terminate current generation upon Ctrl C",'C', "Stopping criterion");
-00088     if (_parser.isItThere(ctrlCParam))
-00089       {
-00090         ctrlCCont = new eoCtrlCContinue<Indi>;
-00091         // store
-00092         _state.storeFunctor(ctrlCCont);
-00093         // add to combinedContinue
-00094         continuator = make_combinedContinue<Indi>(continuator, ctrlCCont);
-00095       }
-00096 #endif
-00097 
-00098     // now check that there is at least one!
-00099     if (!continuator)
-00100       throw std::runtime_error("You MUST provide a stopping criterion");
-00101   // OK, it's there: store in the eoState
-00102   _state.storeFunctor(continuator);
-00103 
-00104   // and return
-00105     return *continuator;
-00106 }
-00107 
-00108 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__continue__real_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__continue__real_8cpp-source.html deleted file mode 100644 index 2246049b9..000000000 --- a/trunk/paradiseo-eo/doc/html/make__continue__real_8cpp-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: make_continue_real.cpp Source File - - - - - -

make_continue_real.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_continue_real.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_continue.h>
-00045 // the instanciating EOType
-00046 #include <es/eoReal.h>
-00047 
-00049 
-00050 // continue
-00052 eoContinue<eoReal<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoReal<double> > & _eval)
-00053 {
-00054   return do_make_continue(_parser, _state, _eval);
-00055 }
-00056 eoContinue<eoReal<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoReal<eoMinimizingFitness> > & _eval)
-00057 {
-00058   return do_make_continue(_parser, _state, _eval);
-00059 }
-00060 
-00061 
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__es_8h-source.html b/trunk/paradiseo-eo/doc/html/make__es_8h-source.html deleted file mode 100644 index 70e3a09dd..000000000 --- a/trunk/paradiseo-eo/doc/html/make__es_8h-source.html +++ /dev/null @@ -1,142 +0,0 @@ - - -EO: make_es.h Source File - - - - - -

make_es.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // es.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00044 #ifndef es_h
-00045 #define es_h
-00046 
-00047 #include <eoAlgo.h>
-00048 #include <eoScalarFitness.h>
-00049 #include <utils/eoParser.h>
-00050 #include <eoEvalFuncPtr.h>
-00051 #include <eoEvalFuncCounter.h>
-00052 #include <utils/eoCheckPoint.h>
-00053 #include <eoGenOp.h>
-00054 #include <eoPop.h>
-00055 #include <utils/eoDistance.h>
-00056 
-00057 #include <es/eoEsSimple.h>         // one Sigma per individual
-00058 #include <es/eoEsStdev.h>          // one sigmal per object variable
-00059 #include <es/eoEsFull.h>           // full correlation matrix per indi
-00060 
-00061 // include all similar declaration for eoReal - i.e. real-valued genotyes
-00062 // without self-adaptation
-00063 #include <es/make_real.h>
-00064 
-00065 //Representation dependent - rewrite everything anew for each representation
-00067 // the genotypes 
-00068 eoRealInitBounded<eoEsSimple<double> > & make_genotype(eoParser& _parser, eoState& _state, eoEsSimple<double> _eo);
-00069 eoRealInitBounded<eoEsSimple<eoMinimizingFitness> > & make_genotype(eoParser& _parser, eoState& _state, eoEsSimple<eoMinimizingFitness> _eo);
-00070 
-00071 eoRealInitBounded<eoEsStdev<double> > & make_genotype(eoParser& _parser, eoState& _state, eoEsStdev<double> _eo);
-00072 eoRealInitBounded<eoEsStdev<eoMinimizingFitness> > & make_genotype(eoParser& _parser, eoState& _state, eoEsStdev<eoMinimizingFitness> _eo);
-00073 
-00074 eoRealInitBounded<eoEsFull<double> > & make_genotype(eoParser& _parser, eoState& _state, eoEsFull<double> _eo);
-00075 eoRealInitBounded<eoEsFull<eoMinimizingFitness> > & make_genotype(eoParser& _parser, eoState& _state, eoEsFull<eoMinimizingFitness> _eo);
-00076 
-00077 
-00078 
-00079 // the operators
-00080 eoGenOp<eoEsSimple<double> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsSimple<double> >& _init);
-00081 eoGenOp<eoEsSimple<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsSimple<eoMinimizingFitness> >& _init);
-00082 eoGenOp<eoEsStdev<double> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsStdev<double> >& _init);
-00083 eoGenOp<eoEsStdev<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsStdev<eoMinimizingFitness> >& _init);
-00084 eoGenOp<eoEsFull<double> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsFull<double> >& _init);
-00085 eoGenOp<eoEsFull<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsFull<eoMinimizingFitness> >& _init);
-00086 
-00087 //Representation INdependent
-00089 // you don't need to modify that part even if you use your own representation
-00090 
-00091 // init pop
-00092 eoPop<eoEsSimple<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsSimple<double> >&);
-00093 eoPop<eoEsSimple<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsSimple<eoMinimizingFitness> >&);
-00094 
-00095 eoPop<eoEsStdev<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsStdev<double> >&);
-00096 eoPop<eoEsStdev<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsStdev<eoMinimizingFitness> >&);
-00097 
-00098 eoPop<eoEsFull<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsFull<double> >&);
-00099 eoPop<eoEsFull<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsFull<eoMinimizingFitness> >&);
-00100 
-00101 // the continue's
-00102 eoContinue<eoEsSimple<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsSimple<double> > & _eval);
-00103 eoContinue<eoEsSimple<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsSimple<eoMinimizingFitness> > & _eval);
-00104 
-00105 eoContinue<eoEsStdev<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsStdev<double> > & _eval);
-00106 eoContinue<eoEsStdev<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsStdev<eoMinimizingFitness> > & _eval);
-00107 
-00108 eoContinue<eoEsFull<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsFull<double> > & _eval);
-00109 eoContinue<eoEsFull<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsFull<eoMinimizingFitness> > & _eval);
-00110 
-00111 // the checkpoint
-00112 eoCheckPoint<eoEsSimple<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsSimple<double> >& _eval, eoContinue<eoEsSimple<double> >& _continue);
-00113 eoCheckPoint<eoEsSimple<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsSimple<eoMinimizingFitness> >& _eval, eoContinue<eoEsSimple<eoMinimizingFitness> >& _continue);
-00114 
-00115 eoCheckPoint<eoEsStdev<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsStdev<double> >& _eval, eoContinue<eoEsStdev<double> >& _continue);
-00116 eoCheckPoint<eoEsStdev<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsStdev<eoMinimizingFitness> >& _eval, eoContinue<eoEsStdev<eoMinimizingFitness> >& _continue);
-00117 
-00118 eoCheckPoint<eoEsFull<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsFull<double> >& _eval, eoContinue<eoEsFull<double> >& _continue);
-00119 eoCheckPoint<eoEsFull<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoEsFull<eoMinimizingFitness> >& _eval, eoContinue<eoEsFull<eoMinimizingFitness> >& _continue);
-00120 
-00121 
-00122 // the algo
-00123 eoAlgo<eoEsSimple<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsSimple<double> >& _eval, eoContinue<eoEsSimple<double> >& _ccontinue, eoGenOp<eoEsSimple<double> >& _op, eoDistance<eoEsSimple<double> >* _dist = NULL);
-00124 eoAlgo<eoEsSimple<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsSimple<eoMinimizingFitness> >& _eval, eoContinue<eoEsSimple<eoMinimizingFitness> >& _ccontinue, eoGenOp<eoEsSimple<eoMinimizingFitness> >& _op, eoDistance<eoEsSimple<eoMinimizingFitness> >* _dist = NULL);
-00125 
-00126 eoAlgo<eoEsStdev<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsStdev<double> >& _eval, eoContinue<eoEsStdev<double> >& _ccontinue, eoGenOp<eoEsStdev<double> >& _op, eoDistance<eoEsStdev<double> >* _dist = NULL);
-00127 eoAlgo<eoEsStdev<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsStdev<eoMinimizingFitness> >& _eval, eoContinue<eoEsStdev<eoMinimizingFitness> >& _ccontinue, eoGenOp<eoEsStdev<eoMinimizingFitness> >& _op, eoDistance<eoEsStdev<eoMinimizingFitness> >* _dist = NULL);
-00128 
-00129 eoAlgo<eoEsFull<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsFull<double> >& _eval, eoContinue<eoEsFull<double> >& _ccontinue, eoGenOp<eoEsFull<double> >& _op, eoDistance<eoEsFull<double> >* _dist = NULL);
-00130 eoAlgo<eoEsFull<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoEsFull<eoMinimizingFitness> >& _eval, eoContinue<eoEsFull<eoMinimizingFitness> >& _ccontinue, eoGenOp<eoEsFull<eoMinimizingFitness> >& _op, eoDistance<eoEsFull<eoMinimizingFitness> >* _dist = NULL);
-00131 
-00132 // run
-00133 void run_ea(eoAlgo<eoEsSimple<double> >& _ga, eoPop<eoEsSimple<double> >& _pop);
-00134 void run_ea(eoAlgo<eoEsSimple<eoMinimizingFitness> >& _ga, eoPop<eoEsSimple<eoMinimizingFitness> >& _pop);
-00135 
-00136 void run_ea(eoAlgo<eoEsStdev<double> >& _ga, eoPop<eoEsStdev<double> >& _pop);
-00137 void run_ea(eoAlgo<eoEsStdev<eoMinimizingFitness> >& _ga, eoPop<eoEsStdev<eoMinimizingFitness> >& _pop);
-00138 
-00139 void run_ea(eoAlgo<eoEsFull<double> >& _ga, eoPop<eoEsFull<double> >& _pop);
-00140 void run_ea(eoAlgo<eoEsFull<eoMinimizingFitness> >& _ga, eoPop<eoEsFull<eoMinimizingFitness> >& _pop);
-00141 
-00142 // end of parameter input (+ .status + help)
-00143 // that one is not templatized, but is here for completeness
-00144 void make_help(eoParser & _parser);
-00145 
-00146 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__ga_8h-source.html b/trunk/paradiseo-eo/doc/html/make__ga_8h-source.html deleted file mode 100644 index 58b5cc5d1..000000000 --- a/trunk/paradiseo-eo/doc/html/make__ga_8h-source.html +++ /dev/null @@ -1,96 +0,0 @@ - - -EO: make_ga.h Source File - - - - - -

make_ga.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // ga.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00038 #ifndef ga_h
-00039 #define ga_h
-00040 
-00041 #include <eoAlgo.h>
-00042 #include <eoScalarFitness.h>
-00043 #include <utils/eoParser.h>
-00044 #include <eoEvalFuncCounter.h>
-00045 #include <utils/eoCheckPoint.h>
-00046 #include <eoGenOp.h>
-00047 #include <eoPop.h>
-00048 #include <utils/eoDistance.h>
-00049 
-00050 #include <ga/eoBit.h>
-00051 
-00052 //Representation dependent - rewrite everything anew for each representation
-00054 
-00055 // the genotypes 
-00056 eoInit<eoBit<double> > & make_genotype(eoParser& _parser, eoState& _state, eoBit<double> _eo);
-00057   eoInit<eoBit<eoMinimizingFitness> > & make_genotype(eoParser& _parser, eoState& _state, eoBit<eoMinimizingFitness> _eo);
-00058 
-00059 // the operators
-00060 eoGenOp<eoBit<double> >&  make_op(eoParser& _parser, eoState& _state, eoInit<eoBit<double> >& _init);
-00061 eoGenOp<eoBit<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoInit<eoBit<eoMinimizingFitness> >& _init);
-00062 
-00063 //Representation INdependent
-00065 // if you use your own representation, simply change the types of templates
-00066 
-00067 // init pop
-00068 eoPop<eoBit<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoBit<double> >&);
-00069 eoPop<eoBit<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoBit<eoMinimizingFitness> >&);
-00070 
-00071 // the continue's
-00072 eoContinue<eoBit<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoBit<double> > & _eval);
-00073 eoContinue<eoBit<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoBit<eoMinimizingFitness> > & _eval);
-00074 
-00075 // the checkpoint
-00076 eoCheckPoint<eoBit<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoBit<double> >& _eval, eoContinue<eoBit<double> >& _continue);
-00077 eoCheckPoint<eoBit<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoBit<eoMinimizingFitness> >& _eval, eoContinue<eoBit<eoMinimizingFitness> >& _continue);
-00078 
-00079 
-00080 // the algo
-00081 eoAlgo<eoBit<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoBit<double> >& _eval, eoContinue<eoBit<double> >& _ccontinue, eoGenOp<eoBit<double> >& _op, eoDistance<eoBit<double> >* _dist = NULL);
-00082 
-00083 eoAlgo<eoBit<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoBit<eoMinimizingFitness> >& _eval, eoContinue<eoBit<eoMinimizingFitness> >& _ccontinue, eoGenOp<eoBit<eoMinimizingFitness> >& _op, eoDistance<eoBit<eoMinimizingFitness> >* _dist = NULL);
-00084 
-00085 // run
-00086 void run_ea(eoAlgo<eoBit<double> >& _ga, eoPop<eoBit<double> >& _pop);
-00087 void run_ea(eoAlgo<eoBit<eoMinimizingFitness> >& _ga, eoPop<eoBit<eoMinimizingFitness> >& _pop);
-00088 
-00089 // end of parameter input (+ .status + help)
-00090 // that one is not templatized
-00091 // Because of that, the source is in src/utils dir
-00092 void make_help(eoParser & _parser);
-00093 
-00094 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__general__replacement_8h-source.html b/trunk/paradiseo-eo/doc/html/make__general__replacement_8h-source.html deleted file mode 100644 index c87a46138..000000000 --- a/trunk/paradiseo-eo/doc/html/make__general__replacement_8h-source.html +++ /dev/null @@ -1,175 +0,0 @@ - - -EO: make_general_replacement.h Source File - - - - - -

make_general_replacement.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_general_replacement.h
-00005 // (c) Marc Schoenauer and Pierre Collet, 2002
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_general_replacement_h
-00028 #define _make_general_replacement_h
-00029 
-00030 #include <utils/eoData.h>     // for eo_is_a_rate
-00031 
-00032 // Replacement
-00033 #include <eoReduceMergeReduce.h>
-00034 
-00035 // also need the parser and param includes
-00036 #include <utils/eoParser.h>
-00037 #include <utils/eoState.h>
-00038 
-00039 
-00043 template <class EOT>
-00044 eoReduce<EOT> & decode_reduce(eoParamParamType & _ppReduce, eoState & _state)
-00045 {
-00046   unsigned int detSize;
-00047   eoReduce<EOT> * ptReduce;
-00048 
-00049   // ---------- Deterministic
-00050   if ( (_ppReduce.first == std::string("Deterministic")) || 
-00051        (_ppReduce.first == std::string("Sequential")) 
-00052        )
-00053   {
-00054     ptReduce = new eoTruncate<EOT>;
-00055   }
-00056   // ---------- EP
-00057   else if (_ppReduce.first == std::string("EP"))
-00058   {
-00059     if (!_ppReduce.second.size())   // no parameter added
-00060     {
-00061       std::cerr << "WARNING, no parameter passed to EP, using 6" << std::endl;
-00062       detSize = 6;
-00063       // put back 6 in parameter for consistency (and status file)
-00064       _ppReduce.second.push_back(std::string("6"));
-00065     }
-00066     else          // parameter passed by user as EP(T)
-00067       detSize = atoi(_ppReduce.second[0].c_str());
-00068     ptReduce = new eoEPReduce<EOT>(detSize);
-00069   }
-00070   // ---------- DetTour
-00071   else if (_ppReduce.first == std::string("DetTour"))
-00072   {
-00073     if (!_ppReduce.second.size())   // no parameter added
-00074       {
-00075         std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl;
-00076         detSize = 2;
-00077         // put back 2 in parameter for consistency (and status file)
-00078         _ppReduce.second.push_back(std::string("2"));
-00079       }
-00080     else          // parameter passed by user as DetTour(T)
-00081       detSize = atoi(_ppReduce.second[0].c_str());
-00082     ptReduce = new eoDetTournamentTruncate<EOT>(detSize);
-00083   }
-00084   else if (_ppReduce.first == std::string("StochTour"))
-00085     {
-00086       double p;
-00087       if (!_ppReduce.second.size())   // no parameter added
-00088         {
-00089           std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl;
-00090           p = 1;
-00091           // put back p in parameter for consistency (and status file)
-00092           _ppReduce.second.push_back(std::string("1"));
-00093         }
-00094       else        // parameter passed by user as DetTour(T)
-00095         {
-00096           p = atof(_ppReduce.second[0].c_str());
-00097           if ( (p<=0.5) || (p>1) )
-00098             throw std::runtime_error("Stochastic tournament size should be in [0.5,1]");
-00099         }
-00100       
-00101       ptReduce = new eoStochTournamentTruncate<EOT>(p);
-00102     }
-00103   else if ( (_ppReduce.first == std::string("Uniform")) || 
-00104             (_ppReduce.first == std::string("Random"))
-00105             )
-00106     {
-00107       ptReduce = new eoRandomReduce<EOT>;
-00108     }
-00109   else // no known reduction entered
-00110     {
-00111       throw std::runtime_error("Unknown reducer: " + _ppReduce.first);
-00112     }
-00113   // all done, stores and return a reference
-00114   _state.storeFunctor(ptReduce);
-00115   return (*ptReduce);
-00116 }
-00117 
-00134 template <class EOT>
-00135 eoReplacement<EOT> & make_general_replacement(
-00136     eoParser& _parser, eoState& _state, 
-00137     eoHowMany _elite = eoHowMany(0), 
-00138     bool _strongElitism = false,
-00139     eoHowMany _surviveParents = eoHowMany(0.0),
-00140     eoParamParamType & _reduceParentType = eoParamParamType("Deterministic"),
-00141     eoHowMany _surviveOffspring = eoHowMany(1.0),
-00142     eoParamParamType & _reduceOffspringType = eoParamParamType("Deterministic"),
-00143     eoParamParamType & _reduceFinalType  = eoParamParamType("Deterministic")
-00144         )
-00145 {
-00147   // the replacement
-00149 
-00150   // Elitism
-00151     eoHowMany elite =  _parser.createParam(_elite, "elite", "Nb of elite parents (percentage or absolute)", '\0', "Evolution Engine / Replacement").value();
-00152 
-00153     bool strongElitism = _parser.createParam(_strongElitism,"eliteType", "Strong (true) or weak (false) elitism (set elite to 0 for none)", '\0', "Evolution Engine / Replacement").value();
-00154 
-00155   // reduce the parents
-00156     eoHowMany surviveParents =  _parser.createParam(_surviveParents, "surviveParents", "Nb of surviving parents (percentage or absolute)", '\0', "Evolution Engine / Replacement").value();
-00157   
-00158   eoParamParamType & reduceParentType = _parser.createParam(_reduceParentType, "reduceParents", "Parents reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform", '\0', "Evolution Engine / Replacement").value();
-00159 
-00160   eoReduce<EOT> & reduceParent = decode_reduce<EOT>(reduceParentType, _state);
-00161 
-00162   // reduce the offspring
-00163     eoHowMany surviveOffspring =  _parser.createParam(_surviveOffspring, "surviveOffspring", "Nb of surviving offspring (percentage or absolute)", '\0', "Evolution Engine / Replacement").value();
-00164   
-00165   eoParamParamType & reduceOffspringType = _parser.createParam(_reduceOffspringType, "reduceOffspring", "Offspring reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform", '\0', "Evolution Engine / Replacement").value();
-00166 
-00167   eoReduce<EOT> & reduceOffspring = decode_reduce<EOT>(reduceOffspringType, _state);
-00168 
-00169   eoParamParamType & reduceFinalType = _parser.createParam(_reduceFinalType, "reduceFinal", "Final reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform", '\0', "Evolution Engine / Replacement").value();
-00170 
-00171   eoReduce<EOT> & reduceFinal = decode_reduce<EOT>(reduceFinalType, _state);
-00172 
-00173   // now the replacement itself
-00174   eoReduceMergeReduce<EOT> *ptReplace = new eoReduceMergeReduce<EOT>(elite, strongElitism, surviveParents, reduceParent, surviveOffspring, reduceOffspring, reduceFinal);
-00175   _state.storeFunctor(ptReplace);
-00176 
-00177   // that's it!
-00178   return *ptReplace;
-00179 }
-00180 
-00181 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__genotype___my_struct_8h-source.html b/trunk/paradiseo-eo/doc/html/make__genotype___my_struct_8h-source.html deleted file mode 100644 index 938997ac7..000000000 --- a/trunk/paradiseo-eo/doc/html/make__genotype___my_struct_8h-source.html +++ /dev/null @@ -1,88 +0,0 @@ - - -EO: make_genotype_MyStruct.h Source File - - - - - -

make_genotype_MyStruct.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_genotype.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_genotype_h
-00028 #define _make_genotype_h
-00029 
-00030 #include <eoMyStruct.h>
-00031 #include <eoMyStructInit.h>
-00032   // also need the parser and param includes
-00033 #include <utils/eoParser.h>
-00034 #include <utils/eoState.h>
-00035 
-00036 
-00037 /*
-00038  * This fuction does the create an eoInit<eoMyStruct>
-00039  *
-00040  * It could be here tempatized only on the fitness, as it can be used 
-00041  * to evolve structures with any fitness.
-00042  * However, for consistency reasons, it was finally chosen, as in 
-00043  * the rest of EO, to templatize by the full EOT, as this eventually 
-00044  * allows to choose the type of genotype at run time (see in es dir)
-00045  *
-00046  * It returns an eoInit<EOT> that can later be used to initialize 
-00047  * the population (see make_pop.h).
-00048  *
-00049  * It uses a parser (to get user parameters) and a state (to store the memory)
-00050  * the last argument is to disambiguate the call upon different instanciations.
-00051  *
-00052  * WARNING: that last argument will generally be the result of calling 
-00053  *          the default ctor of EOT, resulting in most cases in an EOT 
-00054  *          that is ***not properly initialized***
-00055 */
-00056 
-00057 template <class EOT>
-00058 eoInit<EOT> & do_make_genotype(eoParser& _parser, eoState& _state, EOT)
-00059 {
-00060   // read any useful parameter here from the parser 
-00061   // the param itself will belong to the parser (as far as memory is concerned)
-00062 
-00063   //    paramType & param = _parser.createParam(deafultValue, "Keyword", "Comment to appear in help and status", 'c',"Section of status file").value();
-00064 
-00065   // Then built the initializer - a pointer, stored in the eoState
-00066   eoInit<EOT>* init = new eoMyStructInit<EOT> /* ( param ) */ ;
-00067   // store in state
-00068   _state.storeFunctor(init);
-00069   // and return a reference
-00070   return *init;
-00071 }
-00072 
-00073 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__genotype___one_max_8h-source.html b/trunk/paradiseo-eo/doc/html/make__genotype___one_max_8h-source.html deleted file mode 100644 index 8dff01d1c..000000000 --- a/trunk/paradiseo-eo/doc/html/make__genotype___one_max_8h-source.html +++ /dev/null @@ -1,90 +0,0 @@ - - -EO: make_genotype_OneMax.h Source File - - - - - -

make_genotype_OneMax.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_genotype.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_genotype_h
-00028 #define _make_genotype_h
-00029 
-00030 #include <eoOneMax.h>
-00031 #include <eoOneMaxInit.h>
-00032   // also need the parser and param includes
-00033 #include <utils/eoParser.h>
-00034 #include <utils/eoState.h>
-00035 
-00036 
-00037 /*
-00038  * This fuction does the create an eoInit<eoOneMax>
-00039  *
-00040  * It could be here tempatized only on the fitness, as it can be used 
-00041  * to evolve structures with any fitness.
-00042  * However, for consistency reasons, it was finally chosen, as in 
-00043  * the rest of EO, to templatize by the full EOT, as this eventually 
-00044  * allows to choose the type of genotype at run time (see in es dir)
-00045  *
-00046  * It returns an eoInit<EOT> that can later be used to initialize 
-00047  * the population (see make_pop.h).
-00048  *
-00049  * It uses a parser (to get user parameters) and a state (to store the memory)
-00050  * the last argument is to disambiguate the call upon different instanciations.
-00051  *
-00052  * WARNING: that last argument will generally be the result of calling 
-00053  *          the default ctor of EOT, resulting in most cases in an EOT 
-00054  *          that is ***not properly initialized***
-00055 */
-00056 
-00057 template <class EOT>
-00058 eoInit<EOT> & do_make_genotype(eoParameterLoader& _parser, eoState& _state, EOT)
-00059 {
-00060   // read any useful parameter here from the parser 
-00061   // the param itself will belong to the parser (as far as memory is concerned)
-00062 
-00063   //    paramType & param = _parser.createParam(deafultValue, "Keyword", "Comment to appear in help and status", 'c',"Section of status file").value();
-00064 
-00065   unsigned vecSize = _parser.createParam(unsigned(8), "VecSize", "Size of the bitstrings", 'v',"Representation").value();
-00066 
-00067   // Then built the initializer - a pointer, stored in the eoState
-00068   eoInit<EOT>* init = new eoOneMaxInit<EOT>(vecSize);
-00069   // store in state
-00070   _state.storeFunctor(init);
-00071   // and return a reference
-00072   return *init;
-00073 }
-00074 
-00075 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__genotype__es_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__genotype__es_8cpp-source.html deleted file mode 100644 index 41cea88fd..000000000 --- a/trunk/paradiseo-eo/doc/html/make__genotype__es_8cpp-source.html +++ /dev/null @@ -1,108 +0,0 @@ - - -EO: make_genotype_es.cpp Source File - - - - - -

make_genotype_es.cpp

00001 /* (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00002 
-00003 This library is free software; you can redistribute it and/or modify it under
-00004 the terms of the GNU Lesser General Public License as published by the Free
-00005 Software Foundation; either version 2 of the License, or (at your option) any
-00006 later version.
-00007 
-00008 This library is distributed in the hope that it will be useful, but WITHOUT ANY
-00009 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-00010 PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-00011 
-00012 You should have received a copy of the GNU Lesser General Public License along
-00013 with this library; if not, write to the Free Software Foundation, Inc., 59
-00014 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-00015 
-00016 Contact: http://eodev.sourceforge.net
-00017          todos@geneura.ugr.es, http://geneura.ugr.es
-00018          Marc.Schoenauer@polytechnique.fr
-00019          mkeijzer@dhi.dk
-00020 */
-00021 
-00022 
-00023 #ifdef _MSC_VER
-00024 // to avoid long name warnings
-00025 #pragma warning(disable:4786)
-00026 #endif
-00027 
-00028 
-00056 // the templatized code (same for real and es here)
-00057 #include <es/make_genotype_real.h>
-00058 
-00059 
-00061 eoRealInitBounded<eoEsSimple<double> >& make_genotype(eoParser& _parser,
-00062                                                       eoState& _state,
-00063                                                       eoEsSimple<double> _eo)
-00064 {
-00065     return do_make_genotype(_parser, _state, _eo);
-00066 }
-00067 
-00068 
-00069 
-00070 eoRealInitBounded<eoEsSimple<eoMinimizingFitness> >& make_genotype(eoParser& _parser,
-00071                                                                    eoState& _state,
-00072                                                                    eoEsSimple<eoMinimizingFitness> _eo)
-00073 {
-00074     return do_make_genotype(_parser, _state, _eo);
-00075 }
-00076 
-00077 
-00078 
-00079 eoRealInitBounded<eoEsStdev<double> >& make_genotype(eoParser& _parser,
-00080                                                      eoState& _state,
-00081                                                      eoEsStdev<double> _eo)
-00082 {
-00083     return do_make_genotype(_parser, _state, _eo);
-00084 }
-00085 
-00086 
-00087 
-00088 eoRealInitBounded<eoEsStdev<eoMinimizingFitness> >& make_genotype(eoParser& _parser,
-00089                                                                   eoState& _state,
-00090                                                                   eoEsStdev<eoMinimizingFitness> _eo)
-00091 {
-00092     return do_make_genotype(_parser, _state, _eo);
-00093 }
-00094 
-00095 
-00096 
-00097 eoRealInitBounded<eoEsFull<double> > & make_genotype(eoParser& _parser,
-00098                                                      eoState& _state,
-00099                                                      eoEsFull<double> _eo)
-00100 {
-00101     return do_make_genotype(_parser, _state, _eo);
-00102 }
-00103 
-00104 
-00105 
-00106 eoRealInitBounded<eoEsFull<eoMinimizingFitness> >& make_genotype(eoParser& _parser,
-00107                                                                  eoState& _state,
-00108                                                                  eoEsFull<eoMinimizingFitness> _eo)
-00109 {
-00110     return do_make_genotype(_parser, _state, _eo);
-00111 }
-00112 
-00113 
-00114 
-00115 
-00116 // Local Variables:
-00117 // coding: iso-8859-1
-00118 // c-file-style: "Stroustrup"
-00119 // comment-column: 35
-00120 // fill-column: 80
-00121 // End:
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__genotype__ga_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__genotype__ga_8cpp-source.html deleted file mode 100644 index c0274b5c0..000000000 --- a/trunk/paradiseo-eo/doc/html/make__genotype__ga_8cpp-source.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: make_genotype_ga.cpp Source File - - - - - -

make_genotype_ga.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_genotype_ga.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // the templatized code
-00044 #include <ga/make_genotype_ga.h>
-00045 
-00047 
-00048 eoInit<eoBit<double> > & make_genotype(eoParser& _parser, eoState& _state, eoBit<double> _eo)
-00049 {
-00050   return do_make_genotype(_parser, _state, _eo);
-00051 }
-00052 eoInit<eoBit<eoMinimizingFitness> > & make_genotype(eoParser& _parser, eoState& _state, eoBit<eoMinimizingFitness> _eo)
-00053 {
-00054   return do_make_genotype(_parser, _state, _eo);
-00055 }
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__genotype__ga_8h-source.html b/trunk/paradiseo-eo/doc/html/make__genotype__ga_8h-source.html deleted file mode 100644 index e6f7a9d37..000000000 --- a/trunk/paradiseo-eo/doc/html/make__genotype__ga_8h-source.html +++ /dev/null @@ -1,91 +0,0 @@ - - -EO: make_genotype_ga.h Source File - - - - - -

make_genotype_ga.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_genotype.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_genotype_h
-00028 #define _make_genotype_h
-00029 
-00030 #include <ga/eoBit.h>
-00031 #include <eoInit.h>
-00032   // also need the parser and param includes
-00033 #include <utils/eoParser.h>
-00034 #include <utils/eoState.h>
-00035 
-00036 
-00038 /*
-00039  * This fuction does the initialization of what's needed for a particular 
-00040  * genotype (here, bitstrings).
-00041  * It could be here tempatied only on the fitness, as it can be used to evolve 
-00042  * bitstrings with any fitness.
-00043  * However, for consistency reasons, it was finally chosen, as in 
-00044  * the rest of EO, to templatize by the full EOT, as this eventually 
-00045  * allows to choose the type of genotype at run time (see in es dir)
-00046  *
-00047  * It is instanciated in ga/ga.cpp - and incorporated in the ga/libga.a
-00048  *
-00049  * It returns an eoInit<eoBit<FitT> > tha can later be used to initialize 
-00050  * the population (see make_pop.h).
-00051  *
-00052  * It uses a parser (to get user parameters) and a state (to store the memory)
-00053  * the last argument is to disambiguate the call upon different instanciations.
-00054  *
-00055  * WARNING: that last argument will generally be the result of calling 
-00056  *          the default ctor of EOT, resulting in most cases in an EOT 
-00057  *          that is ***not properly initialized***
-00058 */
-00059 
-00060 template <class EOT>
-00061 eoInit<EOT> & do_make_genotype(eoParser& _parser, eoState& _state, EOT)
-00062 {
-00063   // for bitstring, only thing needed is the size
-00064   // but it might have been already read in the definition fo the performance
-00065   unsigned theSize = _parser.getORcreateParam(unsigned(10), "chromSize", "The length of the bitstrings", 'n',"Problem").value();
-00066 
-00067   // Then we can built a bitstring random initializer
-00068   // based on boolean_generator class (see utils/rnd_generator.h)
-00069   eoBooleanGenerator * gen = new eoBooleanGenerator;
-00070   _state.storeFunctor(gen);
-00071   eoInitFixedLength<EOT>* init = new eoInitFixedLength<EOT>(theSize, *gen);
-00072   // store in state
-00073   _state.storeFunctor(init);
-00074   return *init;
-00075 }
-00076 
-00077 #endif
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__genotype__real_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__genotype__real_8cpp-source.html deleted file mode 100644 index 92b9fdcd4..000000000 --- a/trunk/paradiseo-eo/doc/html/make__genotype__real_8cpp-source.html +++ /dev/null @@ -1,64 +0,0 @@ - - -EO: make_genotype_real.cpp Source File - - - - - -

make_genotype_real.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_genotype_real.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif
-00031 
-00055 // the templatized code
-00056 #include <es/make_genotype_real.h>
-00057 
-00059 eoRealInitBounded<eoReal<double> > & make_genotype(eoParser& _parser,
-00060                                                    eoState& _state,
-00061                                                    eoReal<double> _eo)
-00062 {
-00063     return do_make_genotype(_parser, _state, _eo);
-00064 }
-00065 
-00066 
-00067 
-00068 eoRealInitBounded<eoReal<eoMinimizingFitness> > & make_genotype(eoParser& _parser,
-00069                                                                 eoState& _state,
-00070                                                                 eoReal<eoMinimizingFitness> _eo)
-00071 {
-00072     return do_make_genotype(_parser, _state, _eo);
-00073 }
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__genotype__real_8h-source.html b/trunk/paradiseo-eo/doc/html/make__genotype__real_8h-source.html deleted file mode 100644 index 320b54bd8..000000000 --- a/trunk/paradiseo-eo/doc/html/make__genotype__real_8h-source.html +++ /dev/null @@ -1,107 +0,0 @@ - - -EO: make_genotype_real.h Source File - - - - - -

make_genotype_real.h

00001 //-----------------------------------------------------------------------------
-00024 #ifndef EO_make_genotype_h
-00025 #define EO_make_genotype_h
-00026 
-00027 #include <iostream>
-00028 #include <sstream>
-00029 #include <vector>
-00030 
-00031 #include "es/eoReal.h"
-00032 #include "es/eoEsChromInit.h"
-00033 #include "utils/eoParser.h"
-00034 #include "utils/eoRealVectorBounds.h"
-00035 #include "utils/eoState.h"
-00036 
-00037 
-00060 template <class EOT>
-00061 eoEsChromInit<EOT> & do_make_genotype(eoParser& _parser, eoState& _state, EOT)
-00062 {
-00063     // the fitness type
-00064     typedef typename EOT::Fitness FitT;
-00065     eoEsChromInit<EOT> *init;
-00066 
-00067     // for eoReal, only thing needed is the size - but might have been created elswhere ...
-00068     eoValueParam<unsigned>& vecSize
-00069         = _parser.getORcreateParam(unsigned(10), "vecSize",
-00070                                    "The number of variables ",
-00071                                    'n',"Genotype Initialization");
-00072     // to build an eoReal Initializer, we need bounds: [-1,1] by default
-00073     eoValueParam<eoRealVectorBounds>& boundsParam
-00074         = _parser.getORcreateParam(eoRealVectorBounds(vecSize.value(), -1, 1),
-00075                                    "initBounds",
-00076                                    "Bounds for initialization (MUST be bounded)",
-00077                                    'B', "Genotype Initialization");
-00078     // now some initial value for sigmas - even if useless?
-00079     // should be used in Normal mutation
-00080     eoValueParam<std::string>& sigmaParam
-00081         = _parser.getORcreateParam(std::string("0.3"), "sigmaInit",
-00082                                    "Initial value for Sigmas (with a '%' -> scaled by the range of each variable)",
-00083                                    's',"Genotype Initialization");
-00084     // check if there is a vecSigmaInit
-00085     eoParam *vecSigmaParam = _parser.getParamWithLongName("vecSigmaInit");
-00086     if(vecSigmaParam) {
-00087         eoValueParam<std::vector<double> >& vecSigmaParam
-00088             = _parser.getORcreateParam(std::vector<double>(vecSize.value(), 0.3),
-00089                                        "vecSigmaInit", "Initial value for Sigma(s)",
-00090                                        'V',"Genotype Initialization");
-00091         init = new eoEsChromInit<EOT>(boundsParam.value(), vecSigmaParam.value());
-00092     } else {
-00093         // now some initial value for sigmas - even if useless?
-00094         // should be used in Normal mutation
-00095         eoValueParam<std::string>& sigmaParam
-00096             = _parser.getORcreateParam(std::string("0.3"), "sigmaInit",
-00097                                        "Initial value for Sigmas "
-00098                                        "(with '%' scaled by the range of each variable)",
-00099                                        's',"Genotype Initialization");
-00100         // check for %
-00101         bool to_scale = false;
-00102         size_t pos =  sigmaParam.value().find('%');
-00103         if(pos < sigmaParam.value().size())
-00104         {
-00105             //  found a % - use scaling and get rid of '%'
-00106             to_scale = true;
-00107             sigmaParam.value().resize(pos);
-00108         }
-00109         std::istringstream is(sigmaParam.value());
-00110         double sigma;
-00111         is >> sigma;
-00112         // minimum check
-00113         if(sigma < 0)
-00114             throw std::runtime_error("Negative sigma in make_genotype");
-00115         init = new eoEsChromInit<EOT>(boundsParam.value(), sigma, to_scale);
-00116         // define parameter
-00117         _parser.getORcreateParam(std::vector<double>(vecSize.value(), 0.3),
-00118                                  "vecSigmaInit", "Initial value for Sigma(s)",
-00119                                  'V',"Genotype Initialization");
-00120     }
-00121     // store in state
-00122     _state.storeFunctor(init);
-00123     return *init;
-00124 }
-00125 
-00126 #endif // EO_make_genotype_h
-00127 
-00128 
-00129 
-00130 // Local Variables:
-00131 // coding: iso-8859-1
-00132 // mode:C++
-00133 // c-file-style: "Stroustrup"
-00134 // comment-column: 35
-00135 // fill-column: 80
-00136 // End:
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__help_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__help_8cpp-source.html deleted file mode 100644 index 2c24c4de4..000000000 --- a/trunk/paradiseo-eo/doc/html/make__help_8cpp-source.html +++ /dev/null @@ -1,107 +0,0 @@ - - -EO: make_help.cpp Source File - - - - - -

make_help.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_help.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 #ifdef _MSC_VER
-00027 // to avoid long name warnings
-00028 #pragma warning(disable:4786)
-00029 #endif 
-00030 
-00031 #include <utils/eoParser.h>
-00032 #include <fstream>
-00033 #include <stdexcept>
-00034 
-00035 using namespace std;
-00036 
-00047 void make_help(eoParser & _parser)
-00048 {
-00049     // name of the "status" file where all actual parameter values will be saved
-00050     string str_status = _parser.ProgramName() + ".status"; // default value
-00051     eoValueParam<string>& statusParam = _parser.createParam(str_status, "status","Status file",'\0', "Persistence" );
-00052 
-00053     // dump status file BEFORE help, so the user gets a chance to use it:
-00054     // it's probably the case where she/he needs it most!!!
-00055     // Only help parameter will not be in status file - but who cares???
-00056     if (statusParam.value() != "")
-00057       {
-00058         ofstream os(statusParam.value().c_str());
-00059         os << _parser;          // and you can use that file as parameter file
-00060       }
-00061    // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED
-00062    // i.e. in case you need parameters somewhere else, postpone these
-00063     if (_parser.userNeedsHelp())
-00064       {
-00065         _parser.printHelp(cout);
-00066         cout << "You can use an edited copy of file " << statusParam.value() 
-00067              << " as parameter file" << endl;
-00068         exit(1);
-00069       }
-00070 }
-00071 
-00079 bool testDirRes(std::string _dirName, bool _erase=true)
-00080 {
-00081   string s = "test -d " + _dirName;
-00082   int res = system(s.c_str());
-00083   // test for (unlikely) errors
-00084   if ( (res==-1) || (res==127) )
-00085     {
-00086       s = "Problem executing test of dir " + _dirName;
-00087       throw runtime_error(s);
-00088     }
-00089   // now make sure there is a dir without any file in it - or quit
-00090   if (res)                    // no dir present
-00091     {
-00092       s = string("mkdir ")+ _dirName;
-00093       system(s.c_str());
-00094       return true;
-00095     }
-00096   //  else
-00097   if (_erase)                      // OK to erase
-00098     {
-00099       s = string("/bin/rm ")+ _dirName + "/*";
-00100       system(s.c_str());
-00101       return true;
-00102     }
-00103   //else
-00104   // WARNING: bug if dir exists and is empty; this says it is not!
-00105   // shoudl use scandir instead - no time now :-(((    MS Aug. 01
-00106   s = "Dir " + _dirName + " is not empty";
-00107   throw runtime_error(s);
-00108   return true;
-00109 }
-

Generated on Thu Oct 19 05:06:40 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__op___my_struct_8h-source.html b/trunk/paradiseo-eo/doc/html/make__op___my_struct_8h-source.html deleted file mode 100644 index 151d29fa5..000000000 --- a/trunk/paradiseo-eo/doc/html/make__op___my_struct_8h-source.html +++ /dev/null @@ -1,211 +0,0 @@ - - -EO: make_op_MyStruct.h Source File - - - - - -

make_op_MyStruct.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_op_MyStruct.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_op_MyStruct_h
-00028 #define _make_op_MyStruct_h
-00029 
-00030 // the operators
-00031 #include <eoOp.h>
-00032 #include <eoGenOp.h>
-00033 #include <eoCloneOps.h>
-00034 #include <eoOpContainer.h>
-00035 // combinations of simple eoOps (eoMonOp and eoQuadOp)
-00036 #include <eoProportionalCombinedOp.h>
-00037 
-00041 #include "eoMyStructMutation.h"
-00042 
-00048 // #include "eoMyStructBinOp.h"
-00049 // OR
-00050 #include "eoMyStructQuadCrossover.h"
-00051 
-00052   // also need the parser and state includes
-00053 #include <utils/eoParser.h>
-00054 #include <utils/eoState.h>
-00055 
-00056 
-00058 // canonical (crossover + mutation) only at the moment //
-00059 
-00060 /*
-00061  * This function builds the operators that will be applied to the eoMyStruct
-00062  *
-00063  * It uses a parser (to get user parameters), a state (to store the memory)
-00064  *    the last parameter is an eoInit: if some operator needs some info 
-00065  *    about the genotypes, the init has it all (e.g. bounds, ...)
-00066  *    Simply do 
-00067  *        EOT myEO;
-00068  *        _init(myEO);
-00069  *    and myEO is then an ACTUAL object
-00070  *
-00071  * As usual, the template is the complete EOT even though only the fitness
-00072  * is actually templatized here: the following only applies to eoMyStruct
-00073 */
-00074 
-00075 template <class EOT>
-00076 eoGenOp<EOT> & do_make_op(eoParameterLoader& _parser, eoState& _state, eoInit<EOT>& _init)
-00077 {
-00078   // this is a temporary version, while Maarten codes the full tree-structured
-00079   // general operator input
-00080   // BTW we must leave that simple version available somehow, as it is the one
-00081   // that 90% people use!
-00082 
-00083 
-00085     // Variation operators
-00087     // read crossover and mutations, combine each in a proportional Op
-00088     // and create the eoGenOp that calls crossover at rate pCross 
-00089     // then mutation with rate pMut
-00090 
-00091     // the crossovers
-00093 
-00094     // here we can have eoQuadOp (2->2) only - no time for the eoBinOp case
-00095 
-00096     // you can have more than one - combined in a proportional way
-00097     
-00098     // first, define the crossover objects and read their rates from the parser
-00099     
-00100     // A first crossover   
-00101     eoQuadOp<Indi> *cross = new eoMyStructQuadCrossover<Indi> /* (varType  _anyVariable) */;
-00102     // store in the state
-00103     _state.storeFunctor(cross);
-00104 
-00105   // read its relative rate in the combination
-00106     double cross1Rate = _parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", '1', "Variation Operators").value();
-00107 
-00108   // and create the combined operator with this one
-00109   eoPropCombinedQuadOp<Indi> *propXover = 
-00110     new eoPropCombinedQuadOp<Indi>(*cross, cross1Rate);
-00111   // and of course stor it in the state
-00112     _state.storeFunctor(propXover);
-00113 
-00114 
-00115     // Optional: A second(and third, and ...)  crossover   
-00116     //   of course you must create the corresponding classes
-00117     // and all ***MUST*** derive from eoQuadOp<Indi>
-00118 
-00119   /* Uncomment if necessary - and replicate as many time as you need
-00120       cross = new eoMyStructSecondCrossover<Indi>(varType  _anyVariable); 
-00121       _state.storeFunctor(cross);
-00122       double cross2Rate = _parser.createParam(1.0, "cross2Rate", "Relative rate for crossover 2", '2', "Variation Operators").value(); 
-00123       propXover.add(*cross, cross2Rate); 
-00124   */
-00125   // if you want some gentle output, the last one shoudl be like
-00126   //  propXover.add(*cross, crossXXXRate, true);
-00127 
-00128 
-00129   // the mutation: same story
-00131   // you can have more than one - combined in a proportional way
-00132 
-00133   // for each mutation, 
-00134   // - define the mutator object
-00135   // - read its rate from the parser
-00136   // - add it to the proportional combination
-00137 
-00138   // a first mutation  
-00139   eoMonOp<Indi> *mut = new eoMyStructMutation<Indi>/* (varType  _anyVariable) */;
-00140   _state.storeFunctor(mut);
-00141   // its relative rate in the combination
-00142   double mut1Rate = _parser.createParam(1.0, "mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value();
-00143   // and the creation of the combined operator with this one
-00144   eoPropCombinedMonOp<Indi> *propMutation = new eoPropCombinedMonOp<Indi>(*mut, mut1Rate);
-00145   _state.storeFunctor(propMutation);
-00146 
-00147     // Optional: A second(and third, and ...)  mutation with their rates
-00148     //   of course you must create the corresponding classes
-00149     // and all ***MUST*** derive from eoMonOp<Indi>
-00150 
-00151   /* Uncomment if necessary - and replicate as many time as you need
-00152       mut = new eoMyStructSecondMutation<Indi>(varType  _anyVariable);
-00153       _state.storeFunctor(mut);
-00154       double mut2Rate = _parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value(); 
-00155        propMutation.add(*mut, mut2Rate); 
-00156   */
-00157   // if you want some gentle output, the last one shoudl be like
-00158   //  propMutation.add(*mut, mutXXXRate, true);
-00159 
-00160   // end of crossover and mutation definitions
-00162 
-00163 // END Modify definitions of objects by eventually add parameters
-00164 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-00165 
-00166 // from now on, you do not need to modify anything
-00167 // though you CAN add things to the checkpointing (see tutorial)
-00168 
-00169   // now build the eoGenOp:
-00170   // to simulate SGA (crossover with proba pCross + mutation with proba pMut
-00171   // we must construct
-00172   //     a sequential combination of
-00173   //          with proba 1, a proportional combination of 
-00174   //                        a QuadCopy and our crossover
-00175   //          with proba pMut, our mutation
-00176 
-00177   // but of course you're free to use any smart combination you could think of
-00178   // especially, if you have to use eoBinOp rather than eoQuad Op youùll have
-00179   // to modify that part
-00180 
-00181   // First read the individual level parameters
-00182     eoValueParam<double>& pCrossParam = _parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" );
-00183     // minimum check
-00184     if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) )
-00185       throw runtime_error("Invalid pCross");
-00186 
-00187     eoValueParam<double>& pMutParam = _parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" );
-00188     // minimum check
-00189     if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) )
-00190       throw runtime_error("Invalid pMut");
-00191 
-00192 
-00193   // the crossover - with probability pCross
-00194   eoProportionalOp<Indi> * propOp = new eoProportionalOp<Indi> ;
-00195   _state.storeFunctor(propOp);
-00196   eoQuadOp<Indi> *ptQuad = new eoQuadCloneOp<Indi>;
-00197   _state.storeFunctor(ptQuad);
-00198   propOp->add(*propXover, pCrossParam.value()); // crossover, with proba pcross
-00199   propOp->add(*ptQuad, 1-pCrossParam.value()); // nothing, with proba 1-pcross
-00200 
-00201   // now the sequential
-00202   eoSequentialOp<Indi> *op = new eoSequentialOp<Indi>;
-00203   _state.storeFunctor(op);
-00204   op->add(*propOp, 1.0);         // always do combined crossover
-00205   op->add(*propMutation, pMutParam.value()); // then mutation, with proba pmut
-00206 
-00207   // that's it - return a reference
-00208   return *op;
-00209 }
-00210 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__op___one_max_8h-source.html b/trunk/paradiseo-eo/doc/html/make__op___one_max_8h-source.html deleted file mode 100644 index ea9902eee..000000000 --- a/trunk/paradiseo-eo/doc/html/make__op___one_max_8h-source.html +++ /dev/null @@ -1,211 +0,0 @@ - - -EO: make_op_OneMax.h Source File - - - - - -

make_op_OneMax.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_op_OneMax.h
-00005 // (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_op_OneMax_h
-00028 #define _make_op_OneMax_h
-00029 
-00030 // the operators
-00031 #include <eoOp.h>
-00032 #include <eoGenOp.h>
-00033 #include <eoCloneOps.h>
-00034 #include <eoOpContainer.h>
-00035 // combinations of simple eoOps (eoMonOp and eoQuadOp)
-00036 #include <eoProportionalCombinedOp.h>
-00037 
-00041 #include "eoOneMaxMutation.h"
-00042 
-00048 // #include "eoOneMaxBinOp.h"
-00049 // OR
-00050 #include "eoOneMaxQuadCrossover.h"
-00051 
-00052   // also need the parser and state includes
-00053 #include <utils/eoParser.h>
-00054 #include <utils/eoState.h>
-00055 
-00056 
-00058 // canonical (crossover + mutation) only at the moment //
-00059 
-00060 /*
-00061  * This function builds the operators that will be applied to the eoOneMax
-00062  *
-00063  * It uses a parser (to get user parameters), a state (to store the memory)
-00064  *    the last parameter is an eoInit: if some operator needs some info 
-00065  *    about the genotypes, the init has it all (e.g. bounds, ...)
-00066  *    Simply do 
-00067  *        EOT myEO;
-00068  *        _init(myEO);
-00069  *    and myEO is then an ACTUAL object
-00070  *
-00071  * As usual, the template is the complete EOT even though only the fitness
-00072  * is actually templatized here: the following only applies to eoOneMax
-00073 */
-00074 
-00075 template <class EOT>
-00076 eoGenOp<EOT> & do_make_op(eoParameterLoader& _parser, eoState& _state, eoInit<EOT>& _init)
-00077 {
-00078   // this is a temporary version, while Maarten codes the full tree-structured
-00079   // general operator input
-00080   // BTW we must leave that simple version available somehow, as it is the one
-00081   // that 90% people use!
-00082 
-00083 
-00085     // Variation operators
-00087     // read crossover and mutations, combine each in a proportional Op
-00088     // and create the eoGenOp that calls crossover at rate pCross 
-00089     // then mutation with rate pMut
-00090 
-00091     // the crossovers
-00093 
-00094     // here we can have eoQuadOp (2->2) only - no time for the eoBinOp case
-00095 
-00096     // you can have more than one - combined in a proportional way
-00097     
-00098     // first, define the crossover objects and read their rates from the parser
-00099     
-00100     // A first crossover   
-00101     eoQuadOp<Indi> *cross = new eoOneMaxQuadCrossover<Indi> /* (varType  _anyVariable) */;
-00102     // store in the state
-00103     _state.storeFunctor(cross);
-00104 
-00105   // read its relative rate in the combination
-00106     double cross1Rate = _parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", '1', "Variation Operators").value();
-00107 
-00108   // and create the combined operator with this one
-00109   eoPropCombinedQuadOp<Indi> *propXover = 
-00110     new eoPropCombinedQuadOp<Indi>(*cross, cross1Rate);
-00111   // and of course stor it in the state
-00112     _state.storeFunctor(propXover);
-00113 
-00114 
-00115     // Optional: A second(and third, and ...)  crossover   
-00116     //   of course you must create the corresponding classes
-00117     // and all ***MUST*** derive from eoQuadOp<Indi>
-00118 
-00119   /* Uncomment if necessary - and replicate as many time as you need
-00120       cross = new eoOneMaxSecondCrossover<Indi>(varType  _anyVariable); 
-00121       _state.storeFunctor(cross);
-00122       double cross2Rate = _parser.createParam(1.0, "cross2Rate", "Relative rate for crossover 2", '2', "Variation Operators").value(); 
-00123       propXover.add(*cross, cross2Rate); 
-00124   */
-00125   // if you want some gentle output, the last one shoudl be like
-00126   //  propXover.add(*cross, crossXXXRate, true);
-00127 
-00128 
-00129   // the mutation: same story
-00131   // you can have more than one - combined in a proportional way
-00132 
-00133   // for each mutation, 
-00134   // - define the mutator object
-00135   // - read its rate from the parser
-00136   // - add it to the proportional combination
-00137 
-00138   // a first mutation  
-00139   eoMonOp<Indi> *mut = new eoOneMaxMutation<Indi>/* (varType  _anyVariable) */;
-00140   _state.storeFunctor(mut);
-00141   // its relative rate in the combination
-00142   double mut1Rate = _parser.createParam(1.0, "mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value();
-00143   // and the creation of the combined operator with this one
-00144   eoPropCombinedMonOp<Indi> *propMutation = new eoPropCombinedMonOp<Indi>(*mut, mut1Rate);
-00145   _state.storeFunctor(propMutation);
-00146 
-00147     // Optional: A second(and third, and ...)  mutation with their rates
-00148     //   of course you must create the corresponding classes
-00149     // and all ***MUST*** derive from eoMonOp<Indi>
-00150 
-00151   /* Uncomment if necessary - and replicate as many time as you need
-00152       mut = new eoOneMaxSecondMutation<Indi>(varType  _anyVariable);
-00153       _state.storeFunctor(mut);
-00154       double mut2Rate = _parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value(); 
-00155        propMutation.add(*mut, mut2Rate); 
-00156   */
-00157   // if you want some gentle output, the last one shoudl be like
-00158   //  propMutation.add(*mut, mutXXXRate, true);
-00159 
-00160   // end of crossover and mutation definitions
-00162 
-00163 // END Modify definitions of objects by eventually add parameters
-00164 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-00165 
-00166 // from now on, you do not need to modify anything
-00167 // though you CAN add things to the checkpointing (see tutorial)
-00168 
-00169   // now build the eoGenOp:
-00170   // to simulate SGA (crossover with proba pCross + mutation with proba pMut
-00171   // we must construct
-00172   //     a sequential combination of
-00173   //          with proba 1, a proportional combination of 
-00174   //                        a QuadCopy and our crossover
-00175   //          with proba pMut, our mutation
-00176 
-00177   // but of course you're free to use any smart combination you could think of
-00178   // especially, if you have to use eoBinOp rather than eoQuad Op youùll have
-00179   // to modify that part
-00180 
-00181   // First read the individual level parameters
-00182     eoValueParam<double>& pCrossParam = _parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" );
-00183     // minimum check
-00184     if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) )
-00185       throw runtime_error("Invalid pCross");
-00186 
-00187     eoValueParam<double>& pMutParam = _parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" );
-00188     // minimum check
-00189     if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) )
-00190       throw runtime_error("Invalid pMut");
-00191 
-00192 
-00193   // the crossover - with probability pCross
-00194   eoProportionalOp<Indi> * propOp = new eoProportionalOp<Indi> ;
-00195   _state.storeFunctor(propOp);
-00196   eoQuadOp<Indi> *ptQuad = new eoQuadCloneOp<Indi>;
-00197   _state.storeFunctor(ptQuad);
-00198   propOp->add(*propXover, pCrossParam.value()); // crossover, with proba pcross
-00199   propOp->add(*ptQuad, 1-pCrossParam.value()); // nothing, with proba 1-pcross
-00200 
-00201   // now the sequential
-00202   eoSequentialOp<Indi> *op = new eoSequentialOp<Indi>;
-00203   _state.storeFunctor(op);
-00204   op->add(*propOp, 1.0);         // always do combined crossover
-00205   op->add(*propMutation, pMutParam.value()); // then mutation, with proba pmut
-00206 
-00207   // that's it - return a reference
-00208   return *op;
-00209 }
-00210 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__op__es_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__op__es_8cpp-source.html deleted file mode 100644 index dfef3c441..000000000 --- a/trunk/paradiseo-eo/doc/html/make__op__es_8cpp-source.html +++ /dev/null @@ -1,81 +0,0 @@ - - -EO: make_op_es.cpp Source File - - - - - -

make_op_es.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_op_real.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00044 // Templatized code
-00045 #include <es/make_op_es.h>
-00046 
-00048 
-00049 // operators
-00051 eoGenOp<eoEsSimple<double> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsSimple<double> >& _init)
-00052 {
-00053   return do_make_op(_parser, _state, _init);
-00054 }
-00055 
-00056 eoGenOp<eoEsSimple<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsSimple<eoMinimizingFitness> >& _init)
-00057 {
-00058   return do_make_op(_parser, _state, _init);
-00059 }
-00060 
-00061 eoGenOp<eoEsStdev<double> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsStdev<double> >& _init)
-00062 {
-00063   return do_make_op(_parser, _state, _init);
-00064 }
-00065 
-00066 eoGenOp<eoEsStdev<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsStdev<eoMinimizingFitness> >& _init)
-00067 {
-00068   return do_make_op(_parser, _state, _init);
-00069 }
-00070 
-00071 eoGenOp<eoEsFull<double> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsFull<double> >& _init)
-00072 {
-00073   return do_make_op(_parser, _state, _init);
-00074 }
-00075 
-00076 eoGenOp<eoEsFull<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoEsFull<eoMinimizingFitness> >& _init)
-00077 {
-00078   return do_make_op(_parser, _state, _init);
-00079 }
-00080 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__op__es_8h-source.html b/trunk/paradiseo-eo/doc/html/make__op__es_8h-source.html deleted file mode 100644 index 5cd149640..000000000 --- a/trunk/paradiseo-eo/doc/html/make__op__es_8h-source.html +++ /dev/null @@ -1,210 +0,0 @@ - - -EO: make_op_es.h Source File - - - - - -

make_op_es.h

00001 /* (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00002 
-00003 This library is free software; you can redistribute it and/or modify it under
-00004 the terms of the GNU Lesser General Public License as published by the Free
-00005 Software Foundation; either version 2 of the License, or (at your option) any
-00006 later version.
-00007 
-00008 This library is distributed in the hope that it will be useful, but WITHOUT ANY
-00009 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-00010 PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-00011 
-00012 You should have received a copy of the GNU Lesser General Public License along
-00013 with this library; if not, write to the Free Software Foundation, Inc., 59
-00014 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-00015 
-00016 Contact: http://eodev.sourceforge.net
-00017          todos@geneura.ugr.es, http://geneura.ugr.es
-00018          Marc.Schoenauer@polytechnique.fr
-00019          mkeijzer@dhi.dk
-00020  */
-00021 
-00022 
-00023 #ifndef EO_make_op_h
-00024 #define EO_make_op_h
-00025 
-00026 // the operators
-00027 #include <eoOp.h>
-00028 #include <eoGenOp.h>
-00029 #include <eoCloneOps.h>
-00030 #include <eoOpContainer.h>
-00031 // combinations of simple eoOps (eoMonOp and eoQuadOp)
-00032 #include <eoProportionalCombinedOp.h>
-00033 
-00034 // the specialized Real stuff
-00035 #include <es/eoReal.h>
-00036 #include <es/eoRealAtomXover.h>
-00037 #include <es/eoEsChromInit.h>
-00038 #include <es/eoEsMutationInit.h>
-00039 #include <es/eoEsMutate.h>
-00040 #include <es/eoEsGlobalXover.h>
-00041 #include <es/eoEsStandardXover.h>
-00042   // also need the parser and param includes
-00043 #include <utils/eoParser.h>
-00044 #include <utils/eoState.h>
-00045 
-00046 
-00047 /*
-00048  * This function builds the operators that will be applied to the eoReal
-00049  *
-00050  * It uses a parser (to get user parameters) and a state (to store the memory)
-00051  * the last argument is an individual, needed for 2 reasons
-00052  *     it disambiguates the call after instanciations
-00053  *     some operator might need some private information about the indis
-00054  *
-00055  * This is why the template is the complete EOT even though only the fitness
-00056  * is actually templatized here: the following only applies to bitstrings
-00057  *
-00058  * Note : the last parameter is an eoInit: if some operator needs some info
-00059  *        about the gneotypes, the init has it all (e.g. bounds, ...)
-00060  *        Simply do
-00061  *        EOT myEO;
-00062  *        _init(myEO);
-00063  *        and myEO is then an ACTUAL object
-00064 */
-00065 
-00066 template <class EOT>
-00067 eoGenOp<EOT> & do_make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<EOT>& _init)
-00068 {
-00069   // get std::vector size
-00070   unsigned vecSize = _init.size();
-00071 
-00072   // First, decide whether the objective variables are bounded
-00073   eoValueParam<eoRealVectorBounds>& boundsParam
-00074       = _parser.getORcreateParam(eoRealVectorBounds(vecSize,eoDummyRealNoBounds),
-00075                                  "objectBounds", "Bounds for variables",
-00076                                  'B', "Variation Operators");
-00077 
-00078   std::cerr << boundsParam.value() << std::endl;
-00079 
-00080     // now we read Pcross and Pmut,
-00081   eoValueParam<std::string>& operatorParam
-00082       = _parser.getORcreateParam(std::string("SGA"), "operator",
-00083                                  "Description of the operator (SGA only now)",
-00084                                  'o', "Variation Operators");
-00085 
-00086   if (operatorParam.value() != std::string("SGA"))
-00087     throw std::runtime_error("Sorry, only SGA-like operator available right now\n");
-00088 
-00089     // now we read Pcross and Pmut,
-00090     // and create the eoGenOp that is exactly
-00091     // crossover with pcross + mutation with pmut
-00092 
-00093   eoValueParam<double>& pCrossParam
-00094       = _parser.getORcreateParam(1.0, "pCross", "Probability of Crossover",
-00095                                  'C', "Variation Operators" );
-00096   // minimum check
-00097   if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) )
-00098     throw std::runtime_error("Invalid pCross");
-00099 
-00100   eoValueParam<double>& pMutParam
-00101       = _parser.getORcreateParam(1.0, "pMut", "Probability of Mutation",
-00102                                  'M', "Variation Operators" );
-00103   // minimum check
-00104   if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) )
-00105     throw std::runtime_error("Invalid pMut");
-00106 
-00107 
-00108   // crossover
-00110   // ES crossover
-00111   eoValueParam<std::string>& crossTypeParam
-00112       = _parser.getORcreateParam(std::string("global"), "crossType",
-00113                                  "Type of ES recombination (global or standard)",
-00114                                  'C', "Variation Operators");
-00115 
-00116   eoValueParam<std::string>& crossObjParam
-00117       = _parser.getORcreateParam(std::string("discrete"), "crossObj",
-00118                                  "Recombination of object variables (discrete, intermediate or none)",
-00119                                  'O', "Variation Operators");
-00120   eoValueParam<std::string>& crossStdevParam
-00121       = _parser.getORcreateParam(std::string("intermediate"), "crossStdev",
-00122                                  "Recombination of mutation strategy parameters "
-00123                                  "(intermediate, discrete or none)",
-00124                                  'S', "Variation Operators");
-00125 
-00126   // The pointers: first the atom Xover
-00127   eoBinOp<double> *ptObjAtomCross = NULL;
-00128   eoBinOp<double> *ptStdevAtomCross = NULL;
-00129   // then the EOT-level one (need to be an eoGenOp as global Xover is
-00130   eoGenOp<EOT> *ptCross;
-00131 
-00132   // check for the atom Xovers
-00133   if (crossObjParam.value() == std::string("discrete"))
-00134     ptObjAtomCross = new eoDoubleExchange;
-00135   else if (crossObjParam.value() == std::string("intermediate"))
-00136     ptObjAtomCross = new eoDoubleIntermediate;
-00137   else if (crossObjParam.value() == std::string("none"))
-00138     ptObjAtomCross = new eoBinCloneOp<double>;
-00139   else throw std::runtime_error("Invalid Object variable crossover type");
-00140 
-00141   if (crossStdevParam.value() == std::string("discrete"))
-00142     ptStdevAtomCross = new eoDoubleExchange;
-00143   else if (crossStdevParam.value() == std::string("intermediate"))
-00144     ptStdevAtomCross = new eoDoubleIntermediate;
-00145   else if (crossStdevParam.value() == std::string("none"))
-00146     ptStdevAtomCross = new eoBinCloneOp<double>;
-00147   else throw std::runtime_error("Invalid mutation strategy parameter crossover type");
-00148 
-00149   // and build the indi Xover
-00150   if (crossTypeParam.value() == std::string("global"))
-00151     ptCross = new eoEsGlobalXover<EOT>(*ptObjAtomCross, *ptStdevAtomCross);
-00152   else if (crossTypeParam.value() == std::string("standard"))
-00153     {      // using a standard eoBinOp, but wrap it into an eoGenOp
-00154       eoBinOp<EOT> & crossTmp = _state.storeFunctor(
-00155              new eoEsStandardXover<EOT>(*ptObjAtomCross, *ptStdevAtomCross)
-00156              );
-00157       ptCross = new eoBinGenOp<EOT>(crossTmp);
-00158     }
-00159   else throw std::runtime_error("Invalide Object variable crossover type");
-00160 
-00161   // now that everything is OK, DON'T FORGET TO STORE MEMORY
-00162   _state.storeFunctor(ptObjAtomCross);
-00163   _state.storeFunctor(ptStdevAtomCross);
-00164   _state.storeFunctor(ptCross);
-00165 
-00166   //  mutation
-00168 
-00169   // Ok, time to set up the self-adaptive mutation
-00170   // Proxy for the mutation parameters
-00171   eoEsMutationInit mutateInit(_parser, "Variation Operators");
-00172 
-00173   eoEsMutate<EOT> & mut =  _state.storeFunctor(
-00174       new eoEsMutate<EOT>(mutateInit, boundsParam.value()));
-00175 
-00176   // now the general op - a sequential application of crossover and mutatation
-00177   // no need to first have crossover combined with a clone as it is an
-00178   // eoBinOp and not an eoQuadOp as in SGA paradigm
-00179 
-00180   eoSequentialOp<EOT> & op = _state.storeFunctor(new eoSequentialOp<EOT>);
-00181   op.add(*ptCross, pCrossParam.value());
-00182   op.add(mut, pMutParam.value());
-00183 
-00184   // that's it!
-00185   return op;
-00186 }
-00187 #endif // EO_make_op_h
-00188 
-00189 
-00190 
-00191 // Local Variables:
-00192 // coding: iso-8859-1
-00193 // mode:C++
-00194 // c-file-style: "Stroustrup"
-00195 // comment-column: 35
-00196 // fill-column: 80
-00197 // End:
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__op__ga_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__op__ga_8cpp-source.html deleted file mode 100644 index 8216fc75e..000000000 --- a/trunk/paradiseo-eo/doc/html/make__op__ga_8cpp-source.html +++ /dev/null @@ -1,61 +0,0 @@ - - -EO: make_op_ga.cpp Source File - - - - - -

make_op_ga.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_op_ga.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00046 // Templatized code
-00047 #include <ga/make_op.h>
-00048 
-00050 
-00051 // oeprators
-00053 eoGenOp<eoBit<double> >&  make_op(eoParser& _parser, eoState& _state, eoInit<eoBit<double> >& _init)
-00054 {
-00055   return do_make_op(_parser, _state, _init);
-00056 }
-00057 
-00058 eoGenOp<eoBit<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoInit<eoBit<eoMinimizingFitness> >& _init)
-00059 {
-00060   return do_make_op(_parser, _state, _init);
-00061 }
-00062 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__op__real_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__op__real_8cpp-source.html deleted file mode 100644 index 124a5c376..000000000 --- a/trunk/paradiseo-eo/doc/html/make__op__real_8cpp-source.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: make_op_real.cpp Source File - - - - - -

make_op_real.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_op_real.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00044 // Templatized code
-00045 #include <es/make_op_real.h>
-00046 
-00048 
-00049 // oeprators
-00051 eoGenOp<eoReal<double> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoReal<double> >& _init)
-00052 {
-00053   return do_make_op(_parser, _state, _init);
-00054 }
-00055 
-00056 eoGenOp<eoReal<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoReal<eoMinimizingFitness> >& _init)
-00057 {
-00058   return do_make_op(_parser, _state, _init);
-00059 }
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__op__real_8h-source.html b/trunk/paradiseo-eo/doc/html/make__op__real_8h-source.html deleted file mode 100644 index debecb927..000000000 --- a/trunk/paradiseo-eo/doc/html/make__op__real_8h-source.html +++ /dev/null @@ -1,297 +0,0 @@ - - -EO: make_op_real.h Source File - - - - - -

make_op_real.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_op.h - the real-valued version
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_op_h
-00028 #define _make_op_h
-00029 
-00030 // the operators
-00031 #include <eoOp.h>
-00032 #include <eoGenOp.h>
-00033 #include <eoCloneOps.h>
-00034 #include <eoOpContainer.h>
-00035 // combinations of simple eoOps (eoMonOp and eoQuadOp)
-00036 #include <eoProportionalCombinedOp.h>
-00037 
-00038 // the specialized Real stuff
-00039 #include <es/eoReal.h>
-00040 #include <es/eoEsChromInit.h>
-00041 #include <es/eoRealOp.h>
-00042 #include <es/eoNormalMutation.h>
-00043   // also need the parser and param includes
-00044 #include <utils/eoParser.h>
-00045 #include <utils/eoState.h>
-00046 
-00047 
-00048 /*
-00049  * This function builds the operators that will be applied to the eoReal
-00050  *
-00051  * It uses a parser (to get user parameters) and a state (to store the memory)
-00052  * the last argument is an individual, needed for 2 reasons
-00053  *     it disambiguates the call after instanciations
-00054  *     some operator might need some private information about the indis
-00055  *
-00056  * This is why the template is the complete EOT even though only the fitness
-00057  * is actually templatized here: the following only applies to bitstrings
-00058  *
-00059  * Note : the last parameter is an eoInit: if some operator needs some info
-00060  *        about the gneotypes, the init has it all (e.g. bounds, ...)
-00061  *        Simply do
-00062  *        EOT myEO;
-00063  *        _init(myEO);
-00064  *        and myEO is then an ACTUAL object
-00065 */
-00066 
-00067 template <class EOT>
-00068 eoGenOp<EOT> & do_make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<EOT>& _init)
-00069 {
-00070   // get std::vector size
-00071   unsigned vecSize = _init.size();
-00072 
-00073   // First, decide whether the objective variables are bounded
-00074   eoValueParam<eoRealVectorBounds>& boundsParam
-00075       = _parser.getORcreateParam(eoRealVectorBounds(vecSize,eoDummyRealNoBounds), "objectBounds",
-00076                                  "Bounds for variables", 'B', "Variation Operators");
-00077 
-00078   // this is a temporary version(!),
-00079   // while Maarten codes the full tree-structured general operator input
-00080   // BTW we must leave that simple version available somehow, as it is the one
-00081   // that 90% people use!
-00082   eoValueParam<std::string>& operatorParam
-00083       = _parser.getORcreateParam(std::string("SGA"), "operator",
-00084                                  "Description of the operator (SGA only now)",
-00085                                  'o', "Variation Operators");
-00086 
-00087   if (operatorParam.value() != std::string("SGA"))
-00088     throw std::runtime_error("Sorry, only SGA-like operator available right now\n");
-00089 
-00090     // now we read Pcross and Pmut,
-00091     // the relative weights for all crossovers -> proportional choice
-00092     // the relative weights for all mutations -> proportional choice
-00093     // and create the eoGenOp that is exactly
-00094     // crossover with pcross + mutation with pmut
-00095 
-00096   eoValueParam<double>& pCrossParam
-00097       = _parser.getORcreateParam(0.6, "pCross",
-00098                                  "Probability of Crossover",
-00099                                  'C', "Variation Operators" );
-00100   // minimum check
-00101   if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) )
-00102     throw std::runtime_error("Invalid pCross");
-00103 
-00104   eoValueParam<double>& pMutParam
-00105       = _parser.getORcreateParam(0.1, "pMut",
-00106                                  "Probability of Mutation",
-00107                                  'M', "Variation Operators" );
-00108   // minimum check
-00109   if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) )
-00110     throw std::runtime_error("Invalid pMut");
-00111 
-00112     // the crossovers
-00114     // the parameters
-00115   eoValueParam<double>& alphaParam
-00116       = _parser.getORcreateParam(double(0.0), "alpha",
-00117                                  "Bound for factor of linear recombinations",
-00118                                  'a', "Variation Operators" );
-00119   // minimum check
-00120   if ( (alphaParam.value() < 0) )
-00121     throw std::runtime_error("Invalid BLX coefficient alpha");
-00122 
-00123 
-00124   eoValueParam<double>& segmentRateParam
-00125       = _parser.getORcreateParam(double(1.0), "segmentRate",
-00126                                  "Relative rate for segment crossover",
-00127                                  's', "Variation Operators" );
-00128   // minimum check
-00129   if ( (segmentRateParam.value() < 0) )
-00130     throw std::runtime_error("Invalid segmentRate");
-00131 
-00132   eoValueParam<double>& hypercubeRateParam
-00133       = _parser.getORcreateParam(double(1.0), "hypercubeRate",
-00134                                  "Relative rate for hypercube crossover",
-00135                                  'A', "Variation Operators" );
-00136   // minimum check
-00137   if ( (hypercubeRateParam.value() < 0) )
-00138     throw std::runtime_error("Invalid hypercubeRate");
-00139 
-00140   eoValueParam<double>& uxoverRateParam
-00141       = _parser.getORcreateParam(double(1.0), "uxoverRate",
-00142                                  "Relative rate for uniform crossover",
-00143                                  'A', "Variation Operators" );
-00144   // minimum check
-00145   if ( (uxoverRateParam.value() < 0) )
-00146     throw std::runtime_error("Invalid uxoverRate");
-00147 
-00148     // minimum check
-00149   bool bCross = true;
-00150   if (segmentRateParam.value()+hypercubeRateParam.value()+uxoverRateParam.value()==0)
-00151     {
-00152       std::cerr << "Warning: no crossover" << std::endl;
-00153       bCross = false;
-00154     }
-00155 
-00156   // Create the CombinedQuadOp
-00157   eoPropCombinedQuadOp<EOT> *ptCombinedQuadOp = NULL;
-00158   eoQuadOp<EOT> *ptQuad = NULL;
-00159 
-00160   if (bCross)
-00161     {
-00162       // segment crossover for bitstring - pass it the bounds
-00163       ptQuad = new eoSegmentCrossover<EOT>(boundsParam.value(), alphaParam.value());
-00164       _state.storeFunctor(ptQuad);
-00165       ptCombinedQuadOp = new eoPropCombinedQuadOp<EOT>(*ptQuad, segmentRateParam.value());
-00166 
-00167         // hypercube crossover
-00168       ptQuad = new eoHypercubeCrossover<EOT>(boundsParam.value(), alphaParam.value());
-00169       _state.storeFunctor(ptQuad);
-00170       ptCombinedQuadOp->add(*ptQuad, hypercubeRateParam.value());
-00171 
-00172         // uniform crossover
-00173       ptQuad = new eoRealUXover<EOT>();
-00174       _state.storeFunctor(ptQuad);
-00175       ptCombinedQuadOp->add(*ptQuad, uxoverRateParam.value());
-00176 
-00177       // don't forget to store the CombinedQuadOp
-00178       _state.storeFunctor(ptCombinedQuadOp);
-00179     }
-00180 
-00181   // the mutations
-00183   // the parameters
-00184   eoValueParam<double> & epsilonParam
-00185       = _parser.getORcreateParam(0.01, "epsilon",
-00186                                  "Half-size of interval for Uniform Mutation",
-00187                                  'e', "Variation Operators" );
-00188   // minimum check
-00189   if ( (epsilonParam.value() < 0) )
-00190     throw std::runtime_error("Invalid epsilon");
-00191 
-00192   eoValueParam<double> & uniformMutRateParam
-00193       = _parser.getORcreateParam(1.0, "uniformMutRate",
-00194                                  "Relative rate for uniform mutation",
-00195                                  'u', "Variation Operators" );
-00196   // minimum check
-00197   if ( (uniformMutRateParam.value() < 0) )
-00198     throw std::runtime_error("Invalid uniformMutRate");
-00199 
-00200   eoValueParam<double> & detMutRateParam
-00201       = _parser.getORcreateParam(1.0, "detMutRate",
-00202                                  "Relative rate for deterministic uniform mutation",
-00203                                  'd', "Variation Operators" );
-00204   // minimum check
-00205   if ( (detMutRateParam.value() < 0) )
-00206     throw std::runtime_error("Invalid detMutRate");
-00207 
-00208   eoValueParam<double> & normalMutRateParam
-00209       = _parser.getORcreateParam(1.0, "normalMutRate",
-00210                                  "Relative rate for Gaussian mutation", 'd', "Variation Operators" );
-00211   // minimum check
-00212   if ( (normalMutRateParam.value() < 0) )
-00213     throw std::runtime_error("Invalid normalMutRate");
-00214 
-00215   eoValueParam<double> & sigmaParam
-00216       = _parser.getORcreateParam(0.3, "sigma",
-00217                                  "Sigma (fixed) for Gaussian mutation",
-00218                                  's', "Variation Operators" );
-00219 
-00220   eoValueParam<double> & pNormalParam
-00221       = _parser.getORcreateParam(1.0, "pNormal",
-00222                                  "Proba. to change each variable for Gaussian mutation",
-00223                                  's', "Variation Operators" );
-00224 
-00225     // minimum check
-00226   bool bMut = true;
-00227   if (uniformMutRateParam.value()+detMutRateParam.value()+normalMutRateParam.value()==0)
-00228     {
-00229       std::cerr << "Warning: no mutation" << std::endl;
-00230       bMut = false;
-00231     }
-00232   if (!bCross && !bMut)
-00233     throw std::runtime_error("No operator called in SGA operator definition!!!");
-00234 
-00235     // Create the CombinedMonOp
-00236   eoPropCombinedMonOp<EOT> *ptCombinedMonOp = NULL;
-00237   eoMonOp<EOT> *ptMon = NULL;
-00238 
-00239   if (bMut)
-00240     {
-00241       // uniform mutation on all components:
-00242       // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-00243       ptMon = new eoUniformMutation<EOT>(boundsParam.value(), epsilonParam.value());
-00244       _state.storeFunctor(ptMon);
-00245       // create the CombinedMonOp
-00246       ptCombinedMonOp = new eoPropCombinedMonOp<EOT>(*ptMon, uniformMutRateParam.value());
-00247 
-00248         // mutate exactly 1 component (uniformly) per individual
-00249       ptMon = new eoDetUniformMutation<EOT>(boundsParam.value(), epsilonParam.value());
-00250       _state.storeFunctor(ptMon);
-00251       ptCombinedMonOp->add(*ptMon, detMutRateParam.value());
-00252 
-00253       // mutate all component using Gaussian mutation
-00254       ptMon = new eoNormalVecMutation<EOT>(boundsParam.value(), sigmaParam.value(), pNormalParam.value());
-00255       _state.storeFunctor(ptMon);
-00256       ptCombinedMonOp->add(*ptMon, normalMutRateParam.value());
-00257       _state.storeFunctor(ptCombinedMonOp);
-00258     }
-00259 
-00260   // now build the eoGenOp:
-00261   // to simulate SGA (crossover with proba pCross + mutation with proba pMut
-00262   // we must construct
-00263   //     a sequential combination of
-00264   //          with proba 1, a proportional combination of
-00265   //                        a QuadCopy and our crossover
-00266   //          with proba pMut, our mutation
-00267 
-00268   // the crossover - with probability pCross
-00269   eoProportionalOp<EOT> * cross = new eoProportionalOp<EOT> ;
-00270   _state.storeFunctor(cross);
-00271   ptQuad = new eoQuadCloneOp<EOT>;
-00272   _state.storeFunctor(ptQuad);
-00273   cross->add(*ptCombinedQuadOp, pCrossParam.value()); // user crossover
-00274   cross->add(*ptQuad, 1-pCrossParam.value()); // clone operator
-00275 
-00276   // now the sequential
-00277   eoSequentialOp<EOT> & op =  _state.storeFunctor(new eoSequentialOp<EOT>);
-00278   op.add(*cross, 1.0);   // always crossover (but clone with prob 1-pCross
-00279   op.add(*ptCombinedMonOp, pMutParam.value());
-00280 
-00281   // that's it!
-00282   return op;
-00283 }
-00284 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__pop_8h-source.html b/trunk/paradiseo-eo/doc/html/make__pop_8h-source.html deleted file mode 100644 index d0cf9e99f..000000000 --- a/trunk/paradiseo-eo/doc/html/make__pop_8h-source.html +++ /dev/null @@ -1,114 +0,0 @@ - - -EO: make_pop.h Source File - - - - - -

make_pop.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_pop.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_pop_h
-00028 #define _make_pop_h
-00029 
-00030 #include <ctime>  // for time(0) for random seeding
-00031 #include <eoPop.h>
-00032 #include <eoInit.h>
-00033 #include <utils/eoRNG.h>
-00034 #include <utils/eoParser.h>
-00035 #include <utils/eoState.h>
-00036 
-00037 
-00039 
-00048 template <class EOT>
-00049 eoPop<EOT>&  do_make_pop(eoParser & _parser, eoState& _state, eoInit<EOT> & _init)
-00050 {
-00051   // random seed
-00052     eoValueParam<uint32_t>& seedParam = _parser.createParam(uint32_t(0), "seed", "Random number seed", 'S');
-00053     if (seedParam.value() == 0)
-00054         seedParam.value() = time(0);
-00055     eoValueParam<unsigned>& popSize = _parser.createParam(unsigned(20), "popSize", "Population Size", 'P', "Evolution Engine");
-00056 
-00057   // Either load or initialize
-00058   // create an empty pop and let the state handle the memory
-00059   eoPop<EOT>& pop = _state.takeOwnership(eoPop<EOT>());
-00060 
-00061   eoValueParam<std::string>& loadNameParam = _parser.createParam(std::string(""), "Load","A save file to restart from",'L', "Persistence" );
-00062   eoValueParam<bool> & recomputeFitnessParam = _parser.createParam(false, "recomputeFitness", "Recompute the fitness after re-loading the pop.?", 'r',  "Persistence" );
-00063 
-00064   if (loadNameParam.value() != "") // something to load
-00065     {
-00066       // create another state for reading
-00067       eoState inState;          // a state for loading - WITHOUT the parser
-00068       // register the rng and the pop in the state, so they can be loaded,
-00069       // and the present run will be the exact continuation of the saved run
-00070       // eventually with different parameters
-00071       inState.registerObject(pop);
-00072       inState.registerObject(rng);
-00073       inState.load(loadNameParam.value()); //  load the pop and the rng
-00074       // the fitness is read in the file:
-00075       // do only evaluate the pop if the fitness has changed
-00076       if (recomputeFitnessParam.value())
-00077         {
-00078           for (unsigned i=0; i<pop.size(); i++)
-00079             pop[i].invalidate();
-00080         }
-00081       if (pop.size() < popSize.value())
-00082         std::cerr << "WARNING, only " << pop.size() << " individuals read in file " << loadNameParam.value() << "\nThe remaining " << popSize.value() - pop.size() << " will be randomly drawn" << std::endl;
-00083       if (pop.size() > popSize.value())
-00084         {
-00085           std::cerr << "WARNING, Load file contained too many individuals. Only the best will be retained" << std::endl;
-00086           pop.resize(popSize.value());
-00087         }
-00088     }
-00089   else                          // nothing loaded from a file
-00090     {
-00091       rng.reseed(seedParam.value());
-00092     }
-00093 
-00094   if (pop.size() < popSize.value()) // missing some guys
-00095     {
-00096       // Init pop from the randomizer: need to use the append function
-00097       pop.append(popSize.value(), _init);
-00098     }
-00099 
-00100   // for future stateSave, register the algorithm into the state
-00101   _state.registerObject(_parser);
-00102   _state.registerObject(pop);
-00103   _state.registerObject(rng);
-00104 
-00105   return pop;
-00106 }
-00107 
-00108 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__pop__es_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__pop__es_8cpp-source.html deleted file mode 100644 index 80d672333..000000000 --- a/trunk/paradiseo-eo/doc/html/make__pop__es_8cpp-source.html +++ /dev/null @@ -1,86 +0,0 @@ - - -EO: make_pop_es.cpp Source File - - - - - -

make_pop_es.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_pop_es.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_pop.h>
-00045 // the instanciating EOType(s)
-00046 #include <es/eoEsSimple.h>         // one Sigma per individual
-00047 #include <es/eoEsStdev.h>          // one sigmal per object variable
-00048 #include <es/eoEsFull.h>           // full correlation matrix per indi
-00049 
-00051 
-00052 // Init POP
-00054 eoPop<eoEsSimple<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsSimple<double> > & _init)
-00055 {
-00056   return do_make_pop(_parser, _state, _init);
-00057 }
-00058 
-00059 eoPop<eoEsSimple<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsSimple<eoMinimizingFitness> > & _init)
-00060 {
-00061   return do_make_pop(_parser, _state, _init);
-00062 }
-00063 
-00065 eoPop<eoEsStdev<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsStdev<double> > & _init)
-00066 {
-00067   return do_make_pop(_parser, _state, _init);
-00068 }
-00069 
-00070 eoPop<eoEsStdev<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsStdev<eoMinimizingFitness> > & _init)
-00071 {
-00072   return do_make_pop(_parser, _state, _init);
-00073 }
-00074 
-00076 eoPop<eoEsFull<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsFull<double> > & _init)
-00077 {
-00078   return do_make_pop(_parser, _state, _init);
-00079 }
-00080 
-00081 eoPop<eoEsFull<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoEsFull<eoMinimizingFitness> > & _init)
-00082 {
-00083   return do_make_pop(_parser, _state, _init);
-00084 }
-00085 
-00086 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__pop__ga_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__pop__ga_8cpp-source.html deleted file mode 100644 index 032cfba8c..000000000 --- a/trunk/paradiseo-eo/doc/html/make__pop__ga_8cpp-source.html +++ /dev/null @@ -1,64 +0,0 @@ - - -EO: make_pop_ga.cpp Source File - - - - - -

make_pop_ga.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_pop_ga.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00044 // The templatized code
-00045 #include <do/make_pop.h>
-00046 // the instanciating EOType
-00047 #include <ga/eoBit.h>
-00048 
-00050 
-00051 // Init POP
-00053 eoPop<eoBit<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoBit<double> > & _init)
-00054 {
-00055   return do_make_pop(_parser, _state, _init);
-00056 }
-00057 
-00058 eoPop<eoBit<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoBit<eoMinimizingFitness> > & _init)
-00059 {
-00060   return do_make_pop(_parser, _state, _init);
-00061 }
-00062 
-00063 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__pop__real_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__pop__real_8cpp-source.html deleted file mode 100644 index 170fd6708..000000000 --- a/trunk/paradiseo-eo/doc/html/make__pop__real_8cpp-source.html +++ /dev/null @@ -1,64 +0,0 @@ - - -EO: make_pop_real.cpp Source File - - - - - -

make_pop_real.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_pop_real.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_pop.h>
-00045 // the instanciating EOType
-00046 #include <es/eoReal.h>
-00047 
-00049 
-00050 // Init POP
-00052 eoPop<eoReal<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoReal<double> > & _init)
-00053 {
-00054   return do_make_pop(_parser, _state, _init);
-00055 }
-00056 
-00057 eoPop<eoReal<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoReal<eoMinimizingFitness> > & _init)
-00058 {
-00059   return do_make_pop(_parser, _state, _init);
-00060 }
-00061 
-00062 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__real_8h-source.html b/trunk/paradiseo-eo/doc/html/make__real_8h-source.html deleted file mode 100644 index 161635f88..000000000 --- a/trunk/paradiseo-eo/doc/html/make__real_8h-source.html +++ /dev/null @@ -1,98 +0,0 @@ - - -EO: make_real.h Source File - - - - - -

make_real.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // real.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00044 #ifndef real_h
-00045 #define real_h
-00046 
-00047 #include <eoAlgo.h>
-00048 #include <eoScalarFitness.h>
-00049 #include <utils/eoParser.h>
-00050 #include <eoEvalFuncPtr.h>
-00051 #include <eoEvalFuncCounter.h>
-00052 #include <utils/eoCheckPoint.h>
-00053 #include <eoGenOp.h>
-00054 #include <eoPop.h>
-00055 #include <utils/eoDistance.h>
-00056 
-00057 #include <es/eoRealInitBounded.h>
-00058 #include <es/eoReal.h>
-00059 
-00060 //Representation dependent - rewrite everything anew for each representation
-00062 
-00063 // the genotypes 
-00064 eoRealInitBounded<eoReal<double> > & make_genotype(eoParser& _parser, eoState& _state, eoReal<double> _eo);
-00065 eoRealInitBounded<eoReal<eoMinimizingFitness> > & make_genotype(eoParser& _parser, eoState& _state, eoReal<eoMinimizingFitness> _eo);
-00066 
-00067 // the operators
-00068 eoGenOp<eoReal<double> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoReal<double> >& _init);
-00069 eoGenOp<eoReal<eoMinimizingFitness> >&  make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<eoReal<eoMinimizingFitness> >& _init);
-00070 
-00071 //Representation INdependent
-00073 // you don't need to modify that part even if you use your own representation
-00074 
-00075 // init pop
-00076 eoPop<eoReal<double> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoReal<double> >&);
-00077 eoPop<eoReal<eoMinimizingFitness> >&  make_pop(eoParser& _parser, eoState& _state, eoInit<eoReal<eoMinimizingFitness> >&);
-00078 
-00079 // the continue's
-00080 eoContinue<eoReal<double> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoReal<double> > & _eval);
-00081 eoContinue<eoReal<eoMinimizingFitness> >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoReal<eoMinimizingFitness> > & _eval);
-00082 
-00083 // the checkpoint
-00084 eoCheckPoint<eoReal<double> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoReal<double> >& _eval, eoContinue<eoReal<double> >& _continue);
-00085 eoCheckPoint<eoReal<eoMinimizingFitness> >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<eoReal<eoMinimizingFitness> >& _eval, eoContinue<eoReal<eoMinimizingFitness> >& _continue);
-00086 
-00087 
-00088 // the algo
-00089 eoAlgo<eoReal<double> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoReal<double> >& _eval, eoContinue<eoReal<double> >& _ccontinue, eoGenOp<eoReal<double> >& _op, eoDistance<eoReal<double> >* _dist = NULL);
-00090 
-00091 eoAlgo<eoReal<eoMinimizingFitness> >&  make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<eoReal<eoMinimizingFitness> >& _eval, eoContinue<eoReal<eoMinimizingFitness> >& _ccontinue, eoGenOp<eoReal<eoMinimizingFitness> >& _op, eoDistance<eoReal<eoMinimizingFitness> >* _dist = NULL);
-00092 
-00093 // run
-00094 void run_ea(eoAlgo<eoReal<double> >& _ga, eoPop<eoReal<double> >& _pop);
-00095 void run_ea(eoAlgo<eoReal<eoMinimizingFitness> >& _ga, eoPop<eoReal<eoMinimizingFitness> >& _pop);
-00096 
-00097 // end of parameter input (+ .status + help)
-00098 // that one is not templatized
-00099 // Because of that, the source is in src/utils dir
-00100 void make_help(eoParser & _parser);
-00101 
-00102 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__run_8h-source.html b/trunk/paradiseo-eo/doc/html/make__run_8h-source.html deleted file mode 100644 index 0d1f0df7b..000000000 --- a/trunk/paradiseo-eo/doc/html/make__run_8h-source.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: make_run.h Source File - - - - - -

make_run.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_run.h
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef _make_run_h
-00028 #define _make_run_h
-00029 
-00030 // Algorithm (only this one needed)
-00031 #include <eoAlgo.h>
-00032 
-00033 /*
-00034  * A trivial function - only here to allow instanciation with a give EOType
-00035  *      and separate compilation - see in ga dir, make_run_ga
-00036  *
-00037 */
-00038 
-00039 template <class EOT>
-00040 void do_run(eoAlgo<EOT>& _algo, eoPop<EOT>& _pop)
-00041 {
-00042   _algo(_pop);
-00043 }
-00044 
-00045 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__run__es_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__run__es_8cpp-source.html deleted file mode 100644 index 07bccf765..000000000 --- a/trunk/paradiseo-eo/doc/html/make__run__es_8cpp-source.html +++ /dev/null @@ -1,87 +0,0 @@ - - -EO: make_run_es.cpp Source File - - - - - -

make_run_es.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_run_es.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_run.h>
-00045 // the instanciating EOType(s)
-00046 #include <es/eoEsSimple.h>         // one Sigma per individual
-00047 #include <es/eoEsStdev.h>          // one sigmal per object variable
-00048 #include <es/eoEsFull.h>           // full correlation matrix per indi
-00049 // the instanciating fitnesses
-00050 #include <eoScalarFitness.h>
-00051 
-00053 
-00054 // run
-00056 void run_ea(eoAlgo<eoEsSimple<double> >& _ga, eoPop<eoEsSimple<double> >& _pop)
-00057 {
-00058   do_run(_ga, _pop);
-00059 }
-00060 
-00061 void run_ea(eoAlgo<eoEsSimple<eoMinimizingFitness> >& _ga, eoPop<eoEsSimple<eoMinimizingFitness> >& _pop)
-00062 {
-00063   do_run(_ga, _pop);
-00064 }
-00065 
-00067 void run_ea(eoAlgo<eoEsStdev<double> >& _ga, eoPop<eoEsStdev<double> >& _pop)
-00068 {
-00069   do_run(_ga, _pop);
-00070 }
-00071 
-00072 void run_ea(eoAlgo<eoEsStdev<eoMinimizingFitness> >& _ga, eoPop<eoEsStdev<eoMinimizingFitness> >& _pop)
-00073 {
-00074   do_run(_ga, _pop);
-00075 }
-00076 
-00078 void run_ea(eoAlgo<eoEsFull<double> >& _ga, eoPop<eoEsFull<double> >& _pop)
-00079 {
-00080   do_run(_ga, _pop);
-00081 }
-00082 
-00083 void run_ea(eoAlgo<eoEsFull<eoMinimizingFitness> >& _ga, eoPop<eoEsFull<eoMinimizingFitness> >& _pop)
-00084 {
-00085   do_run(_ga, _pop);
-00086 }
-00087 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__run__ga_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__run__ga_8cpp-source.html deleted file mode 100644 index 8bae11eb2..000000000 --- a/trunk/paradiseo-eo/doc/html/make__run__ga_8cpp-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -EO: make_run_ga.cpp Source File - - - - - -

make_run_ga.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_run_ga.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00046 // The templatized code
-00047 #include <do/make_run.h>
-00048 // the instanciating EOType
-00049 #include <ga/eoBit.h>
-00050 // the instanciating fitnesses
-00051 #include <eoScalarFitness.h>
-00052 
-00054 
-00055 // run
-00057 void run_ea(eoAlgo<eoBit<double> >& _ga, eoPop<eoBit<double> >& _pop)
-00058 {
-00059   do_run(_ga, _pop);
-00060 }
-00061 
-00062 void run_ea(eoAlgo<eoBit<eoMinimizingFitness> >& _ga, eoPop<eoBit<eoMinimizingFitness> >& _pop)
-00063 {
-00064   do_run(_ga, _pop);
-00065 }
-00066 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/make__run__real_8cpp-source.html b/trunk/paradiseo-eo/doc/html/make__run__real_8cpp-source.html deleted file mode 100644 index dc1f38908..000000000 --- a/trunk/paradiseo-eo/doc/html/make__run__real_8cpp-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -EO: make_run_real.cpp Source File - - - - - -

make_run_real.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // make_run_real.cpp
-00005 // (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
-00006 /* 
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022              Marc.Schoenauer@polytechnique.fr
-00023              mkeijzer@dhi.dk
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifdef _MSC_VER
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00043 // The templatized code
-00044 #include <do/make_run.h>
-00045 // the instanciating EOType
-00046 #include <es/eoReal.h>
-00047 // the instanciating fitnesses
-00048 #include <eoScalarFitness.h>
-00049 
-00051 
-00052 // run
-00054 void run_ea(eoAlgo<eoReal<double> >& _ga, eoPop<eoReal<double> >& _pop)
-00055 {
-00056   do_run(_ga, _pop);
-00057 }
-00058 
-00059 void run_ea(eoAlgo<eoReal<eoMinimizingFitness> >& _ga, eoPop<eoReal<eoMinimizingFitness> >& _pop)
-00060 {
-00061   do_run(_ga, _pop);
-00062 }
-00063 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/mastermind_8cpp-source.html b/trunk/paradiseo-eo/doc/html/mastermind_8cpp-source.html deleted file mode 100644 index 1624ce3d1..000000000 --- a/trunk/paradiseo-eo/doc/html/mastermind_8cpp-source.html +++ /dev/null @@ -1,153 +0,0 @@ - - -EO: mastermind.cpp Source File - - - - - -

mastermind.cpp

00001 //-----------------------------------------------------------------------------
-00002 // mastermind
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #include <stdlib.h>                // EXIT_SUCCESS EXIT_FAILURE
-00006 #include <stdexcept>               // exception
-00007 #include <iostream>                // cerr cout
-00008 #include <fstream>                 // ifstream
-00009 #include <string>                  // string
-00010 #include <eo>                      // all usefull eo stuff
-00011 
-00012 #include "mastermind.h"            // Chrom eoChromInit eoChromMutation eoChromXover eoChromEvaluator
-00013 
-00014 using namespace std;
-00015 
-00016 //-----------------------------------------------------------------------------
-00017 // global variables
-00018 //-----------------------------------------------------------------------------
-00019 
-00020 unsigned in, out, hidden;
-00021 
-00022 //-----------------------------------------------------------------------------
-00023 // parameters
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 eoValueParam<unsigned> pop_size(16, "pop_size", "population size", 'p');
-00027 eoValueParam<unsigned> generations(100, "generations", "number of generation", 'g');
-00028 eoValueParam<double> mut_rate(0.1, "mut_rate", "mutation rate", 'm');
-00029 eoValueParam<double> xover_rate(0.5, "xover_rate", "default crossover rate", 'x');
-00030 eoValueParam<unsigned> col_p(default_colors, "colors", "number of colors", 'c');
-00031 eoValueParam<unsigned> len_p(default_length, "legth", "solution legth", 'l');
-00032 eoValueParam<string> sol_p(default_solution, "solution", "problem solution", 's');
-00033 
-00034 //-----------------------------------------------------------------------------
-00035 // auxiliar functions
-00036 //-----------------------------------------------------------------------------
-00037 
-00038 void arg(int argc, char** argv);
-00039 void ga();
-00040 
-00041 //-----------------------------------------------------------------------------
-00042 // main
-00043 //-----------------------------------------------------------------------------
-00044 
-00045 int main(int argc, char** argv)
-00046 {
-00047   try
-00048     {
-00049       arg(argc, argv);
-00050       ga();
-00051     }
-00052   catch (exception& e)
-00053     {
-00054         cerr << argv[0] << ": " << e.what() << endl;
-00055         exit(EXIT_FAILURE);
-00056     }
-00057 
-00058   return 0;
-00059 }
-00060 
-00061 //-----------------------------------------------------------------------------
-00062 // implementation
-00063 //-----------------------------------------------------------------------------
-00064 
-00065 void arg(int argc, char** argv)
-00066 {
-00067   eoParser parser(argc, argv);
-00068 
-00069   parser.processParam(pop_size,    "genetic operators");
-00070   parser.processParam(generations, "genetic operators");
-00071   parser.processParam(mut_rate,    "genetic operators");
-00072   parser.processParam(xover_rate,  "genetic operators");
-00073   parser.processParam(col_p,       "problem");
-00074   parser.processParam(len_p,       "problem");
-00075   parser.processParam(sol_p,       "problem");
-00076 
-00077   if (parser.userNeedsHelp())
-00078     {
-00079       parser.printHelp(cout);
-00080       exit(EXIT_SUCCESS);
-00081     }
-00082 
-00083   init_eoChromEvaluator(col_p.value(), len_p.value(), sol_p.value());
-00084 }
-00085 
-00086 //-----------------------------------------------------------------------------
-00087 
-00088 void ga()
-00089 {
-00090   // create population
-00091   eoInitChrom init;
-00092   eoPop<Chrom> pop(pop_size.value(), init);
-00093 
-00094   // evaluate population
-00095   eoEvalFuncPtr<Chrom> evaluator(eoChromEvaluator);
-00096   apply<Chrom>(evaluator, pop);
-00097 
-00098   // selector
-00099   eoProportionalSelect<Chrom> select(pop);
-00100 
-00101   // genetic operators
-00102   eoChromMutation mutation;
-00103   eoChromXover xover;
-00104 
-00105   // stop condition
-00106   eoGenContinue<Chrom> continuator1(generations.value());
-00107   eoFitContinue<Chrom> continuator2(solution.fitness());
-00108   eoCombinedContinue<Chrom> continuator(continuator1, continuator2);
-00109 
-00110   // checkpoint
-00111   eoCheckPoint<Chrom> checkpoint(continuator);
-00112 
-00113   // monitor
-00114   eoStdoutMonitor monitor;
-00115   checkpoint.add(monitor);
-00116 
-00117   // statistics
-00118   eoBestFitnessStat<Chrom> stats;
-00119   checkpoint.add(stats);
-00120   monitor.add(stats);
-00121 
-00122   // genetic algorithm
-00123   eoSGA<Chrom> sga(select,
-00124                    xover, xover_rate.value(),
-00125                    mutation, mut_rate.value(),
-00126                    evaluator,
-00127                    checkpoint);
-00128   sga(pop);
-00129 
-00130   cout << "solution = " << solution << endl
-00131        << "best     = " << *max_element(pop.begin(), pop.end()) << endl;
-00132 }
-00133 
-00134 //-----------------------------------------------------------------------------
-00135 
-00136 // Local Variables:
-00137 // mode:C++
-00138 // End:
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/mastermind_8h-source.html b/trunk/paradiseo-eo/doc/html/mastermind_8h-source.html deleted file mode 100644 index 48d007912..000000000 --- a/trunk/paradiseo-eo/doc/html/mastermind_8h-source.html +++ /dev/null @@ -1,214 +0,0 @@ - - -EO: mastermind.h Source File - - - - - -

mastermind.h

00001 //-----------------------------------------------------------------------------
-00002 // mastermind.h
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifndef mastermind_h
-00006 #define mastermind_h
-00007 
-00008 //-----------------------------------------------------------------------------
-00009 
-00010 #include <stdlib.h>               // exit EXIT_FAILURE
-00011 #include <eoVector.h>             // eoVectorLength
-00012 #include <eoOp.h>                 // eoMonOp eoQuadraticOp
-00013 #include <eoInit.h>               // eoInit
-00014 #include "utils/rnd_generators.h" // uniform_generator
-00015 
-00016 //-----------------------------------------------------------------------------
-00017 // phenotype
-00018 //-----------------------------------------------------------------------------
-00019 
-00020 typedef float phenotype;
-00021 
-00022 //-----------------------------------------------------------------------------
-00023 // genotype
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 typedef std::vector<int> genotype;
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 // Chrom
-00030 //-----------------------------------------------------------------------------
-00031 
-00032 typedef eoVector<phenotype, int> Chrom;
-00033 
-00034 //-----------------------------------------------------------------------------
-00035 // eoChromEvaluator
-00036 //-----------------------------------------------------------------------------
-00037 
-00038 // const unsigned points_per_black = 3, points_per_white = 1;
-00039 Chrom solution;
-00040 
-00041 phenotype eoChromEvaluator(const Chrom& chrom)
-00042 {
-00043   Chrom tmp = solution;
-00044   unsigned black = 0, white = 0;
-00045 
-00046   // look for blacks
-00047   for (unsigned i = 0; i < chrom.size(); ++i)
-00048     if (chrom[i] == tmp[i])
-00049       {
-00050         ++black;
-00051         tmp[i] = -1;
-00052       }
-00053 
-00054   // look for whites
-00055   for (unsigned i = 0; i < chrom.size(); ++i)
-00056     for (unsigned j = 0; j < tmp.size(); ++j)
-00057       if (chrom[i] == tmp[j])
-00058         {
-00059           ++white;
-00060           tmp[j] = -1;
-00061           break;
-00062         }
-00063 
-00064   //  return black * points_per_black + white * points_per_white;
-00065   return black * chrom.size() + white;
-00066 };
-00067 
-00068 const unsigned default_length = 8;
-00069 const unsigned default_colors = 8;
-00070 const std::string default_solution = "01234567";
-00071 
-00072 
-00073 unsigned num_colors;
-00074 
-00075 void init_eoChromEvaluator(const unsigned& c, const unsigned& l, std::string s)
-00076 {
-00077   num_colors = c;
-00078 
-00079   // check consistency between parameters
-00080   if (s != default_solution)
-00081     {
-00082       // check length
-00083       if (l != default_length && s.size() != l)
-00084         {
-00085           std::cerr << "solution length != length" << std::endl;
-00086           exit(EXIT_FAILURE);
-00087         }
-00088 
-00089       // check number of colors
-00090       if ((c != default_colors) && (c < unsigned(*max_element(s.begin(), s.end()) - '0')))
-00091         {
-00092           std::cerr << "too high color number found!" << std::endl;
-00093           exit(EXIT_FAILURE);
-00094         }
-00095     }
-00096   else
-00097     if (l != default_length || c != default_colors )
-00098       // generate a random solution
-00099       if(num_colors <= 10)
-00100         {
-00101           uniform_generator<char> color('0', static_cast<char>('0' + c));
-00102           s.resize(l);
-00103           generate(s.begin(), s.end(), color);
-00104         }
-00105 
-00106   // put the solution parameter on the solution chromosome
-00107   if (num_colors <= 10)
-00108     {
-00109       solution.resize(s.size());
-00110       for (unsigned i = 0; i < solution.size(); ++i)
-00111         solution[i] = s[i] - '0';
-00112     }
-00113   else
-00114     {
-00115       solution.resize(l);
-00116       uniform_generator<int> color(0, num_colors);
-00117       generate(solution.begin(), solution.end(), color);
-00118     }
-00119 
-00120   solution.fitness(eoChromEvaluator(solution));
-00121 }
-00122 
-00123 //-----------------------------------------------------------------------------
-00124 // eoChromInit
-00125 //-----------------------------------------------------------------------------
-00126 
-00127 class eoInitChrom: public eoInit<Chrom>
-00128 {
-00129 public:
-00130   void operator()(Chrom& chrom)
-00131   {
-00132     uniform_generator<int> color(0, num_colors);
-00133     chrom.resize(solution.size());
-00134     generate(chrom.begin(), chrom.end(), color);
-00135     chrom.invalidate();
-00136   }
-00137 };
-00138 
-00139 //-----------------------------------------------------------------------------
-00140 // eoChromMutation
-00141 //-----------------------------------------------------------------------------
-00142 
-00143 class eoChromMutation: public eoMonOp<Chrom>
-00144 {
-00145   // many operators in one :(
-00146   bool operator()(Chrom& chrom)
-00147   {
-00148     uniform_generator<unsigned> what(0, 2);
-00149     uniform_generator<unsigned> position(0, chrom.size());
-00150 
-00151     switch(what())
-00152       {
-00153       case 0:
-00154         {
-00155           // mutation
-00156           uniform_generator<int> color(0, num_colors);
-00157           chrom[position()] = color();
-00158           break;
-00159         }
-00160       case 1:
-00161         {
-00162           // transposition
-00163           std::swap(chrom[position()], chrom[position()]);
-00164           break;
-00165         }
-00166       default:
-00167         {
-00168           std::cerr << "unknown operator!" << std::endl;
-00169           exit(EXIT_FAILURE);
-00170           break;
-00171         }
-00172       }
-00173 
-00174     return true;
-00175   }
-00176 };
-00177 
-00178 //-----------------------------------------------------------------------------
-00179 // eoChromXover
-00180 //-----------------------------------------------------------------------------
-00181 
-00182 class eoChromXover: public eoQuadOp<Chrom>
-00183 {
-00184 public:
-00185   bool operator()(Chrom& chrom1, Chrom& chrom2)
-00186   {
-00187     uniform_generator<unsigned> position(0, chrom1.size());
-00188     swap_ranges(chrom1.begin(), chrom1.begin() + position(), chrom2.begin());
-00189     return true;
-00190   }
-00191 };
-00192 
-00193 //-----------------------------------------------------------------------------
-00194 
-00195 #endif // mastermind_h
-00196 
-00197 // Local Variables:
-00198 // mode:C++
-00199 // End:
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/matrices_8h-source.html b/trunk/paradiseo-eo/doc/html/matrices_8h-source.html deleted file mode 100644 index 82788210f..000000000 --- a/trunk/paradiseo-eo/doc/html/matrices_8h-source.html +++ /dev/null @@ -1,57 +0,0 @@ - - -EO: matrices.h Source File - - - - - -

matrices.h

00001 #ifndef MATRICES_H
-00002 #define MATRICES_H
-00003 
-00004 #include <vector>
-00005 
-00006 class lower_triangular_matrix {
-00007 
-00008     unsigned n;
-00009     std::vector<double> data;
-00010 
-00011     public:
-00012 
-00013     lower_triangular_matrix(unsigned n_ = 0) : n(n_), data(n * (n+1) / 2) {};
-00014     
-00015     void resize(unsigned n_) {
-00016         n = n_;
-00017         data.resize(n*(n+1)/2);
-00018     }
-00019     
-00020     std::vector<double>::iterator operator[](unsigned i) { return data.begin() + i * (i+1) / 2; }
-00021     std::vector<double>::const_iterator operator[](unsigned i) const { return data.begin() + i*(i+1)/2; }
-00022 };
-00023 
-00024 class square_matrix {
-00025     unsigned n;
-00026     std::vector<double> data;
-00027 
-00028     public:
-00029 
-00030     square_matrix(unsigned n_ = 0) : n(n_), data(n * n) {};
-00031     
-00032     void resize(unsigned n_) {
-00033         n = n_;
-00034         data.resize(n*n);
-00035     }
-00036     
-00037     std::vector<double>::iterator operator[](unsigned i) { return data.begin() + i * n; }
-00038     std::vector<double>::const_iterator operator[](unsigned i) const { return data.begin() + i*n; }
-00039 };
-00040 
-00041 #endif
-00042 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/mergers_8cpp-source.html b/trunk/paradiseo-eo/doc/html/mergers_8cpp-source.html deleted file mode 100644 index 1f35ab890..000000000 --- a/trunk/paradiseo-eo/doc/html/mergers_8cpp-source.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: mergers.cpp Source File - - - - - -

mergers.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoMerge.h>
-00022 #include "PyEO.h"
-00023 #include "def_abstract_functor.h"
-00024 
-00025 using namespace boost::python;
-00026 
-00027 #define DEF(x) class_<x<PyEO>, bases<eoMerge<PyEO > > >(#x).def("__call__", &eoMerge<PyEO>::operator())
-00028 #define DEF2(x, i1) class_<x<PyEO>, bases<eoMerge<PyEO > > >(#x, init<i1>() ).def("__call__", &eoMerge<PyEO>::operator())
-00029 #define DEF3(x, i1, i2) class_<x<PyEO>, bases<eoMerge<PyEO > > >(#x, init<i1, i2 >() ).def("__call__", &eoMerge<PyEO>::operator())
-00030 
-00031 void mergers()
-00032 {
-00033     def_abstract_functor<eoMerge<PyEO> >("eoMerge");
-00034     
-00035     DEF2(eoElitism, double)
-00036         .def( init<double, bool>() );
-00037     DEF(eoNoElitism);
-00038     DEF(eoPlus);
-00039 
-00040 }
-00041 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/mlp_8h-source.html b/trunk/paradiseo-eo/doc/html/mlp_8h-source.html deleted file mode 100644 index 29599a1e4..000000000 --- a/trunk/paradiseo-eo/doc/html/mlp_8h-source.html +++ /dev/null @@ -1,472 +0,0 @@ - - -EO: mlp.h Source File - - - - - -

mlp.h

00001 //-----------------------------------------------------------------------------
-00002 // mlp.h
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifndef mlp_h
-00006 #define mlp_h
-00007 
-00008 #include <algorithm>              // generate
-00009 #include <cmath>                  // exp
-00010 #include <iostream>
-00011 #include <iterator>
-00012 #include <numeric>
-00013 #include <stdexcept>              // invalid_argument
-00014 #include <utility>
-00015 #include <vector>
-00016 #include <utils/eoRNG.h>          // eoRng
-00017 #include <utils/rnd_generators.h> // normal_generator
-00018 #include <vecop.h>                // *
-00019 
-00020 
-00021 
-00022 
-00023 namespace mlp
-00024 {
-00025     using namespace std;
-00026 
-00027     typedef double real;
-00028     typedef std::vector<real> vector;
-00029 }
-00030 
-00031 
-00032 namespace std {
-00033   ostream& operator<<(ostream& os, const mlp::vector& v)
-00034   {
-00035     ostream_iterator<mlp::real> oi(os, " ");
-00036     copy(v.begin(), v.end(), oi);
-00037     return os;
-00038   }
-00039 
-00040   istream& operator>>(istream& is, mlp::vector& v)
-00041   {
-00042     for (mlp::vector::iterator vi = v.begin() ; vi != v.end() ; vi++) {
-00043         is >> *vi;
-00044     }
-00045     return is;
-00046   }
-00047 }
-00048 
-00049 namespace mlp
-00050 {
-00051   using namespace std;
-00052 
-00053   //---------------------------------------------------------------------------
-00054   // useful typedefs
-00055   //---------------------------------------------------------------------------
-00056 
-00057 
-00058   const real max_real = std::numeric_limits<real>::max();
-00059   const real min_real = std::numeric_limits<real>::min();
-00060 
-00061 
-00062   //---------------------------------------------------------------------------
-00063   // sigmoid
-00064   //---------------------------------------------------------------------------
-00065 
-00066   real sigmoid(const real& x)
-00067   {
-00068     return 1.0 / (1.0 + exp(-x));
-00069   }
-00070 
-00071 
-00072   //---------------------------------------------------------------------------
-00073   // neuron
-00074   //---------------------------------------------------------------------------
-00075 
-00076   struct neuron
-00077   {
-00078     real   bias;
-00079     vector weight;
-00080 
-00081     neuron(const unsigned& num_inputs = 0): weight(num_inputs) {}
-00082 
-00083     void reset()
-00084     {
-00085       normal_generator<real> rnd(1.0);
-00086       bias = rnd();
-00087       generate(weight.begin(), weight.end(), rnd);
-00088     }
-00089 
-00090     real operator()(const vector& input) const
-00091     {
-00092       return sigmoid(bias + weight * input);
-00093     }
-00094 
-00095     unsigned length() const { return weight.size() + 1; }
-00096 
-00097     void normalize()
-00098     {
-00099       real n = sqrt(bias * bias + weight * weight);
-00100       bias /= n;
-00101       weight /= n;
-00102     }
-00103 
-00104     void desaturate()
-00105     {
-00106       bias = -5.0 + 10.0 / (1.0 + exp(bias / -5.0));
-00107 
-00108       for (vector::iterator w = weight.begin(); w != weight.end(); ++w)
-00109         *w = -5.0 + 10.0 / (1.0 + exp(*w / -5.0));
-00110     }
-00111 
-00112     void perturb_num(double &num, double magnitude) {
-00113        double scale = max(num, 0.05) * magnitude;
-00114        double perturbation = scale * (drand48() - 0.5);
-00115        num += perturbation;
-00116     }
-00117 
-00118     void perturb(double magnitude = 0.3, double probability = 1.0)
-00119     {
-00120 
-00121       for (vector::iterator w = weight.begin(); w != weight.end(); ++w)
-00122           if ( probability >= 1.0 || drand48() < probability)
-00123               perturb_num(*w, magnitude);
-00124       if ( probability >= 1.0 || drand48() < probability)
-00125         perturb_num(bias, magnitude);
-00126     }
-00127  };
-00128 }
-00129 
-00130 namespace std {
-00131 
-00132   ostream& operator<<(ostream& os, const mlp::neuron& n)
-00133   {
-00134     return os << n.bias << " " << n.weight;
-00135   }
-00136 
-00137   istream& operator>>(istream& is, mlp::neuron& n)
-00138   {
-00139     return is >> n.bias >> n.weight;
-00140   }
-00141 
-00142 }
-00143 
-00144 namespace mlp {
-00145 
-00146   //---------------------------------------------------------------------------
-00147   // layer
-00148   //---------------------------------------------------------------------------
-00149 
-00150   class layer: public std::vector<neuron>
-00151   {
-00152   public:
-00153     layer(const unsigned& num_inputs = 0, const unsigned& num_neurons = 0):
-00154       std::vector<neuron>(num_neurons, neuron(num_inputs)) {}
-00155 
-00156     void reset()
-00157     {
-00158       normal_generator<real> rnd(1.0);
-00159       for(iterator n = begin(); n != end(); ++n)
-00160         n->reset();
-00161     }
-00162 
-00163     vector operator()(const vector& input) const
-00164     {
-00165       vector output(size());
-00166 
-00167       for(unsigned i = 0; i < output.size(); ++i)
-00168         output[i] = (*this)[i](input);
-00169 
-00170       return output;
-00171     }
-00172 
-00173     unsigned length() const { return front().length() * size(); }
-00174 
-00175     void normalize()
-00176     {
-00177       for(iterator n = begin(); n != end(); ++n)
-00178         n->normalize();
-00179     }
-00180 
-00181     void desaturate()
-00182     {
-00183       for(iterator n = begin(); n != end(); ++n)
-00184         n->desaturate();
-00185     }
-00186 
-00187     void perturb(double magnitude = 0.3, double probability = 1.0)
-00188     {
-00189       for(iterator n = begin(); n != end(); ++n)
-00190         n->perturb();
-00191     }
-00192 
-00193   };
-00194 
-00195 }
-00196 
-00197 namespace std {
-00198 
-00199   ostream& operator<<(ostream& os, const mlp::layer& l)
-00200   {
-00201     ostream_iterator<mlp::neuron> oi(os, " ");
-00202     copy(l.begin(), l.end(), oi);
-00203     return os;
-00204   }
-00205 
-00206   istream& operator>>(istream& is, mlp::layer& l)
-00207   {
-00208     for (mlp::layer::iterator li = l.begin() ; li != l.end() ; li++) {
-00209         is >> *li;
-00210     }
-00211     return is;
-00212   }
-00213 
-00214 }
-00215 
-00216 namespace mlp {
-00217 
-00218 
-00219   //---------------------------------------------------------------------------
-00220   // net
-00221   //---------------------------------------------------------------------------
-00222 
-00223   class net: public std::vector<layer>
-00224   {
-00225   public:
-00226     net(const unsigned& num_inputs = 0,
-00227         const unsigned& num_outputs = 0,
-00228         const std::vector<unsigned>& hidden = std::vector<unsigned>())
-00229     {
-00230       init(num_inputs,num_outputs,hidden);
-00231     }
-00232 
-00233 
-00234     net(istream &is) {
-00235         load(is);
-00236     }
-00237 
-00239       virtual ~net() {};
-00240 
-00241     void load(istream &is) {
-00242         unsigned num_inputs;
-00243         unsigned num_outputs;
-00244         unsigned num_hidden_layers;
-00245 
-00246         is >> num_inputs >> num_outputs >> num_hidden_layers;
-00247 
-00248         std::vector<unsigned> layer_sizes;
-00249         for (unsigned i=0; i<num_hidden_layers;i++) {
-00250            unsigned layer_size;
-00251            is >> layer_size;
-00252            layer_sizes.push_back(layer_size);
-00253         }
-00254         unsigned check_outputs;
-00255         is >> check_outputs;
-00256         assert (check_outputs ==  num_outputs);
-00257         init (num_inputs,num_outputs,layer_sizes);
-00258         // skip forward to pass up opening '<' char
-00259         char c=' ';
-00260         while (c!='<' && !is.eof()) { is >> c;}
-00261         for (iterator l =begin() ; l != end(); l++) {
-00262             is >> *l;
-00263         }
-00264         do { is >> c; } while (c == ' ' && !is.eof());
-00265         assert(c == '>');
-00266     }
-00267 
-00268     void init( unsigned num_inputs,
-00269                unsigned num_outputs,
-00270                const std::vector<unsigned>& hidden ) {
-00271       clear();
-00272       switch(hidden.size())
-00273         {
-00274         case 0:
-00275           push_back(layer(num_inputs, num_outputs));
-00276           break;
-00277         default:
-00278           push_back(layer(num_inputs, hidden.front()));
-00279           for (unsigned i = 0; i < hidden.size() - 1; ++i)
-00280             push_back(layer(hidden[i], hidden[i + 1]));
-00281           push_back(layer(hidden.back(), num_outputs));
-00282           break;
-00283         }
-00284     }
-00285 
-00286     void reset()
-00287     {
-00288       normal_generator<real> rnd(1.0);
-00289       for(iterator l = begin(); l != end(); ++l)
-00290         l->reset();
-00291     }
-00292 
-00293     virtual vector operator()(const vector& input) const ;
-00294 
-00295     unsigned winner(const vector& input) const
-00296     {
-00297       vector tmp = (*this)(input);
-00298       return (max_element(tmp.begin(), tmp.end()) - tmp.begin());
-00299     }
-00300 
-00301     void save(ostream &os) const {
-00302         // Save the number of inputs, number of outputs, and number of hidden layers
-00303         os << num_inputs() << "\n" << num_outputs() << "\n" << num_hidden_layers() << "\n";
-00304         for(const_iterator l = begin(); l != end(); ++l)
-00305            os << l->size() << " ";
-00306         os << "\n";
-00307         os << *this;
-00308         os << "\n";
-00309     }
-00310 
-00311     unsigned num_inputs()  const { return front().front().length() - 1; }
-00312     unsigned num_outputs() const { return back().size(); }
-00313     unsigned num_hidden_layers() const {
-00314         signed s = (signed) size() -1;
-00315         return (s<0) ? 0 : s ;
-00316     }
-00317 
-00318 
-00319     unsigned length()
-00320     {
-00321       unsigned sum = 0;
-00322 
-00323       for(iterator l = begin(); l != end(); ++l)
-00324         sum += l->length();
-00325 
-00326       return sum;
-00327     }
-00328 
-00329     void normalize()
-00330     {
-00331       for(iterator l = begin(); l != end(); ++l)
-00332         l->normalize();
-00333     }
-00334 
-00335     void desaturate()
-00336     {
-00337       for(iterator l = begin(); l != end(); ++l)
-00338         l->desaturate();
-00339     }
-00340 
-00341     void perturb(double magnitude = 0.3, double probability = 1.0)
-00342     {
-00343       for(iterator l = begin(); l != end(); ++l)
-00344         l->perturb();
-00345     }
-00346   };
-00347 
-00348 #ifndef NO_MLP_VIRTUALS
-00349     vector net::operator()(const vector& input) const
-00350     {
-00351       vector tmp = input;
-00352 
-00353       for(const_iterator l = begin(); l != end(); ++l)
-00354         tmp = (*l)(tmp);
-00355 
-00356       return tmp;
-00357     }
-00358 #endif
-00359 
-00360 
-00361   //---------------------------------------------------------------------------
-00362   // sample
-00363   //---------------------------------------------------------------------------
-00364 
-00365   struct sample
-00366   {
-00367     vector input, output;
-00368 
-00369     sample(unsigned input_size = 0, unsigned output_size = 0):
-00370       input(input_size), output(output_size) {}
-00371   };
-00372 
-00373   istream& operator>>(istream& is, sample& s)
-00374   {
-00375     return is >> s.input >> s.output;
-00376   }
-00377 
-00378   ostream& operator<<(ostream& os, const sample& s)
-00379   {
-00380     return os << s.input << " " << s.output;
-00381   }
-00382 
-00383 
-00384   //---------------------------------------------------------------------------
-00385   // set
-00386   //---------------------------------------------------------------------------
-00387 
-00388   class set: public std::vector<sample>
-00389   {
-00390   public:
-00391     set(unsigned input_size  = 0, unsigned output_size = 0,
-00392         unsigned num_samples = 0):
-00393       std::vector<sample>(num_samples, sample(input_size, output_size)) {}
-00394 
-00395     set(istream& is) : std::vector<sample>(0, sample(0, 0)) {
-00396         clear();
-00397         load(is);
-00398     }
-00399 
-00400     void load(istream &is) {
-00401         unsigned input_size, output_size;
-00402         is >> input_size >> output_size;
-00403         sample samp(input_size, output_size);;
-00404         while (is >> samp) { push_back(samp); }
-00405     }
-00406 
-00407     void save(ostream &os) const {
-00408         os << front().input.size() << " " << front().output.size() << endl;
-00409         copy(begin(), end(), ostream_iterator<sample>(os,"\n"));
-00410     }
-00411   };
-00412 
-00413   ostream& operator<<(ostream& os, const set& s)
-00414   {
-00415     os << "<" << endl;
-00416     for (unsigned i = 0; i < s.size(); ++i)
-00417       os << s[i] << endl;
-00418     return os << ">";
-00419   }
-00420 
-00421   //---------------------------------------------------------------------------
-00422   // euclidean_distance
-00423   //---------------------------------------------------------------------------
-00424 
-00425   real euclidean_distance(const net& n1, const net& n2)
-00426   {
-00427     real sum = 0;
-00428 
-00429     for(net::const_reverse_iterator l1 = n1.rbegin(), l2 = n2.rbegin();
-00430         l1 != n1.rend() && l2 != n2.rend(); ++l1, ++l2)
-00431       for(layer::const_iterator n1 = l1->begin(), n2 = l2->begin();
-00432           n1 != l1->end() && n2 != l2->end(); ++n1, ++n2)
-00433         {
-00434           real b = n1->bias - n2->bias;
-00435           vector w = n1->weight - n2->weight;
-00436           sum += b * b + w * w;
-00437         }
-00438     /*
-00439       #include <fstream>
-00440       std::ofstream file("dist.stat", ios::app);
-00441       file << sqrt(sum) << endl;
-00442     */
-00443     return sqrt(sum);
-00444   }
-00445 
-00446   //---------------------------------------------------------------------------
-00447 
-00448 } // namespace mlp
-00449 
-00450 
-00451 
-00452 #endif // mlp_h
-00453 
-00454 
-00455 // Local Variables:
-00456 // mode:C++
-00457 // c-file-style: "Stroustrup"
-00458 // End:
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/modules.html b/trunk/paradiseo-eo/doc/html/modules.html deleted file mode 100644 index 948645c09..000000000 --- a/trunk/paradiseo-eo/doc/html/modules.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Module Index - - - - -

EO Modules

Here is a list of all modules: -
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/monitors_8cpp-source.html b/trunk/paradiseo-eo/doc/html/monitors_8cpp-source.html deleted file mode 100644 index 63b56344d..000000000 --- a/trunk/paradiseo-eo/doc/html/monitors_8cpp-source.html +++ /dev/null @@ -1,80 +0,0 @@ - - -EO: monitors.cpp Source File - - - - - -

monitors.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <utils/eoParam.h>
-00022 #include <utils/eoMonitor.h>
-00023 #include "PyEO.h"
-00024 
-00025 using namespace boost::python;
-00026 
-00027 class MonitorWrapper : public eoMonitor
-00028 {
-00029     public:
-00030         PyObject* self;
-00031         list objects;
-00032         
-00033         MonitorWrapper(PyObject* p) :self(p) {}
-00034 
-00035         eoMonitor& operator()()
-00036         {
-00037             call_method<void>(self, "__call__");
-00038             return *this;
-00039         }
-00040 
-00041         std::string getString(int i)
-00042         {
-00043             if (static_cast<unsigned>(i) >= vec.size())
-00044             {
-00045                 throw index_error("Index out of bounds");
-00046             }
-00047             
-00048             return vec[i]->getValue();
-00049         }
-00050 
-00051         unsigned size() { return vec.size(); }
-00052 };
-00053 
-00054 void monitors()
-00055 {
-00063     class_<eoMonitor, MonitorWrapper, boost::noncopyable>("eoMonitor", init<>())
-00064         .def("lastCall", &eoMonitor::lastCall)
-00065         .def("add", &eoMonitor::add)
-00066         .def("__call__", &MonitorWrapper::operator(), return_internal_reference<1>() )
-00067         .def("__getitem__", &MonitorWrapper::getString, 
-00068                 "Returns the string value of the indexed Parameter")    
-00069         .def("__len__", &MonitorWrapper::size)
-00070         ;
-00071 }
-00072 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/mse_8h-source.html b/trunk/paradiseo-eo/doc/html/mse_8h-source.html deleted file mode 100644 index 4757a9246..000000000 --- a/trunk/paradiseo-eo/doc/html/mse_8h-source.html +++ /dev/null @@ -1,155 +0,0 @@ - - -EO: mse.h Source File - - - - - -

mse.h

00001 //-----------------------------------------------------------------------------
-00002 // mse.h
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifndef mse_h
-00006 #define mse_h
-00007 
-00008 //-----------------------------------------------------------------------------
-00009 
-00010 #include <qp.h>  // neuron layer net set
-00011 
-00012 //-----------------------------------------------------------------------------
-00013 
-00014 namespace mse
-00015 {
-00016   //---------------------------------------------------------------------------
-00017   // useful typedefs
-00018   //---------------------------------------------------------------------------
-00019 
-00020   using qp::real;
-00021   using qp::vector;
-00022   using qp::max_real;
-00023   using qp::min_real;
-00024   using qp::set;
-00025   using qp::neuron;
-00026   using qp::layer;
-00027 
-00028   //---------------------------------------------------------------------------
-00029   // error
-00030   //---------------------------------------------------------------------------
-00031   
-00032   real error(const mlp::net& net, const set& ts)
-00033   {
-00034     real error_ = 0.0;
-00035 
-00036     for (set::const_iterator s = ts.begin(); s != ts.end(); ++s)
-00037       {
-00038         vector out = net(s->input);
-00039         
-00040         for (unsigned i = 0; i < out.size(); ++i)
-00041           {
-00042             real diff = s->output[i] - out[i];
-00043             error_ += diff * diff;
-00044           }
-00045       }
-00046 
-00047     return error_ / ts.size();
-00048   }
-00049   //-------------------------------------------------------------------------
-00050   // mse
-00051   //-------------------------------------------------------------------------
-00052   
-00053   class net: public qp::net
-00054   {
-00055   public:
-00056     net(mlp::net& n): qp::net(n) {}
-00057     
-00058     real error(const set& ts)
-00059     {
-00060       real error_ = 0;
-00061       
-00062       for (set::const_iterator s = ts.begin(); s != ts.end(); ++s)
-00063         {
-00064           forward(s->input);
-00065           error_ += backward(s->input, s->output);
-00066         }
-00067       error_ /= ts.size();
-00068         
-00069       return error_;
-00070     }
-00071       
-00072   private:
-00073     real backward(const vector& input, const vector& output)
-00074     {
-00075       reverse_iterator current_layer = rbegin();
-00076       reverse_iterator backward_layer = current_layer + 1;
-00077       real error_ = 0;
-00078 
-00079       // output layer
-00080       for (unsigned j = 0; j < current_layer->size(); ++j)
-00081         {
-00082           neuron& n = (*current_layer)[j];
-00083 
-00084           real diff = output[j] - n.out;
-00085           n.ndelta += n.delta = diff * n.out * (1.0 - n.out);
-00086 
-00087           if (size() == 1)                                        // monolayer
-00088             n.dxo += n.delta * input;
-00089           else                                                    // multilayer
-00090             for (unsigned k = 0; k < n.dxo.size(); ++k)
-00091               n.dxo[k] += n.delta * (*backward_layer)[k].out;
-00092           
-00093           error_ += diff * diff;
-00094         }
-00095       
-00096       // hidden layers
-00097       while (++current_layer != rend())
-00098         {
-00099           reverse_iterator forward_layer  = current_layer - 1;
-00100           reverse_iterator backward_layer = current_layer + 1;
-00101           
-00102           for (unsigned j = 0; j < current_layer->size(); ++j)
-00103             {
-00104               
-00105               neuron& n = (*current_layer)[j];
-00106               real sum = 0;
-00107               
-00108               for (unsigned k = 0; k < forward_layer->size(); ++k)
-00109                 {
-00110                   neuron& nf = (*forward_layer)[k];
-00111                   sum += nf.delta * (nf.n->weight[j] + nf.dweight1[j]);
-00112                 }
-00113 
-00114               n.delta = n.out * (1.0 - n.out) * sum;
-00115               n.ndelta += n.delta;
-00116               
-00117               
-00118               if (backward_layer == rend())              // first hidden layer
-00119                 n.dxo += n.delta * input;
-00120               else                                     // rest of hidden layers
-00121                 for (unsigned k = 0; k < n.dxo.size(); ++k)
-00122                   n.dxo[k] += n.delta * (*backward_layer)[k].out;
-00123             }
-00124         }
-00125     
-00126       return error_;
-00127     }
-00128   };
-00129 
-00130   //---------------------------------------------------------------------------
-00131   
-00132 } // namespace mse
-00133 
-00134 //-----------------------------------------------------------------------------
-00135 
-00136 #endif // mse_h
-00137 
-00138 // Local Variables: 
-00139 // mode:C++ 
-00140 // End:
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/namespacegp__parse__tree.html b/trunk/paradiseo-eo/doc/html/namespacegp__parse__tree.html deleted file mode 100644 index 2cc005d78..000000000 --- a/trunk/paradiseo-eo/doc/html/namespacegp__parse__tree.html +++ /dev/null @@ -1,111 +0,0 @@ - - -EO: gp_parse_tree Namespace Reference - - - - -

gp_parse_tree Namespace Reference

Parse_tree and subtree classes (c) copyright Maarten Keijzer 1999, 2000. -More... -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  gp_parse_tree::MemPool
 Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. More...
struct  gp_parse_tree::MemPool::Link
struct  gp_parse_tree::MemPool::Chunk
class  gp_parse_tree::Node_alloc< T >
class  gp_parse_tree::Standard_alloc< T >
class  gp_parse_tree::Standard_Node_alloc< T >
class  gp_parse_tree::Tree_alloc< T >
class  gp_parse_tree::parse_tree< T >
class  gp_parse_tree::parse_tree< T >::subtree
class  gp_parse_tree::parse_tree< T >::base_iterator
class  gp_parse_tree::parse_tree< T >::iterator
class  gp_parse_tree::parse_tree< T >::embedded_iterator
class  gp_parse_tree::parse_tree< T >::base_const_iterator
class  gp_parse_tree::parse_tree< T >::const_iterator
class  gp_parse_tree::parse_tree< T >::embedded_const_iterator

Functions

-template<class T>
void do_the_swap (T &a, T &b)
 This ones defined because gcc does not always implement namespaces.
-


Detailed Description

-Parse_tree and subtree classes (c) copyright Maarten Keijzer 1999, 2000. -

-Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.

-Permission to modify the code and to distribute modified code is granted, provided the above notices as well as this one are retained, and a notice that the code was modified is included with the above copyright notice.

-Usage information.

-class Node (your node in the tree) must have the following implemented:

-Arity ******

-int arity(void) const

-Note: the default constructor of a Node should provide a Node with arity 0!

-Evaluation ******

-A parse_tree is evaluated through one of it's apply() members:

-1) parse_tree::apply(RetVal)

-is the simplest evaluation, it will call

-RetVal Node::operator()(RetVal, subtree<Node, RetVal>::const_iterator)

-(Unfortunately the first RetVal argument is mandatory (although you might not need it. This is because MSVC does not support member template functions properly. If it cannot deduce the template arguments (as is the case in templatizing over return value) you are not allowed to specify them. calling tree.apply<double>() would result in a syntax error. That is why you have to call tree.apply(double()) instead.)

-2) parse_tree::apply(RetVal v, It values)

-will call:

-RetVal Node::operator()(RetVal, subtree<... , It values)

-where It is whatever type you desire (most of the time this will be a std::vector containing the values of your variables);

-3) parse_tree::apply(RetVal, It values, It2 moreValues)

-will call:

-RetVal Node::operator()(RetVal, subtree<... , It values, It2 moreValues)

-although I do not see the immediate use of this, however...

-4) parse_tree::apply(RetVal, It values, It2 args, It3 adfs)

-that calls:

-RetVal Node::operator()(subtree<... , It values, It2 args, It3 adfs)

-can be useful for implementing adfs.

-In general it is a good idea to leave the specifics of the arguments open so that different ways of evaluation remain possible. Implement the simplest eval as:

-template <class it=""> RetVal operator()(RetVal dummy, It begin) const

-Internal Structure ******

-A parse_tree has two template arguments: the Node and the ReturnValue produced by evaluating the node. The structure of the tree is defined through a subtree class that has the same two template arguments.

-The nodes are stored in a tree like :

-node4 / \ node3 node2 / \ node1 node0

-where nodes 2 and 4 have arity 2 and nodes 0,1 and 3 arity 0 (terminals)

-The nodes are subtrees, containing the structure of the tree, together with its size and depth. They contain a Node, the user defined template argument. To access these nodes from a subtree, use operator-> or operator*.

-The numbers behind the nodes define a reverse-polish or postfix traversel through the tree. The parse_tree defines iterators on the tree such that

-tree.begin() points at the subtree at node0 and tree.back() returns the subtree at node4, the complete tree

-Likewise operator[] is defined on the tree, such that:

-tree[0] will return the subtree at node0, while tree[2] will return the subtree at node2

-Assigments of subtrees is protected so that the code:

-tree[2] = tree[0];

-will not crash and result in a tree structured as:

-node4 / \ node3 node0

-Note that the rank numbers no longer specify their place in the tree:

-tree[0] still points at node0, but tree[1] now points to node3 and tree[2] points at the root node4

-Embedded iterators are implemented to iterate over nodes rather than subtrees. So an easy way to copy your tree to a std::vector is:

-std::vector<Node> vec(tree.size()); copy(tree.ebegin(), tree.eend(), vec.begin());

-You can also copy it to an std::ostream_iterator with this technique, given that your Node implements an appropriate operator<<. Reinitializing a tree with the std::vector is also simple:

-tree.clear(); copy(vec.begin(), vec.end(), back_inserter(tree));

-or from an std::istream:

-copy(std::istream_iterator<T>(my_stream), std::istream_iterator<T>(), back_inserter(tree));

-Note that the back_inserter must be used as there is no resize member in the parse_tree. back_inserter will use the push_back member from the parse_tree -

-


Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/namespacemembers.html b/trunk/paradiseo-eo/doc/html/namespacemembers.html deleted file mode 100644 index 974bf3c3f..000000000 --- a/trunk/paradiseo-eo/doc/html/namespacemembers.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Namespace Members - - - - - - -

-Here is a list of all documented namespace members with links to the namespaces they belong to:

-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/namespacemembers_func.html b/trunk/paradiseo-eo/doc/html/namespacemembers_func.html deleted file mode 100644 index 1d01d38d2..000000000 --- a/trunk/paradiseo-eo/doc/html/namespacemembers_func.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: Namespace Members - Functions - - - - - - -

-

-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/namespaces.html b/trunk/paradiseo-eo/doc/html/namespaces.html deleted file mode 100644 index e293e16a3..000000000 --- a/trunk/paradiseo-eo/doc/html/namespaces.html +++ /dev/null @@ -1,16 +0,0 @@ - - -EO: Namespace Index - - - - -

EO Namespace List

Here is a list of all documented namespaces with brief descriptions: - -
gp_parse_treeParse_tree and subtree classes (c) copyright Maarten Keijzer 1999, 2000
-
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/node_8h-source.html b/trunk/paradiseo-eo/doc/html/node_8h-source.html deleted file mode 100644 index c95ab524e..000000000 --- a/trunk/paradiseo-eo/doc/html/node_8h-source.html +++ /dev/null @@ -1,263 +0,0 @@ - - -EO: node.h Source File - - - - - -

node.h

00001 /*
-00002     This library is free software; you can redistribute it and/or modify
-00003     it under the terms of the GNU General Public License as published by
-00004     the Free Software Foundation; either version 2 of the License, or
-00005     (at your option) any later version.
-00006     
-00007     This library is distributed in the hope that it will be useful,
-00008     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00009     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00010     Lesser General Public License for more details.
-00011  
-00012     You should have received a copy of the GNU General Public License
-00013     along with this library; if not, write to the Free Software
-00014     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00015  
-00016     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00017              jeggermo@liacs.nl
-00018 */
-00019 
-00020 #ifndef _NODE_H
-00021 #define _NODE_H
-00022 
-00023 
-00024 
-00025 #include <iostream>
-00026 #include <string>
-00027 #include <cmath> // for finite(double) function
-00028 
-00029 using namespace gp_parse_tree;
-00030 using namespace std;
-00031 
-00032 
-00033 /* A new Operation and Node class for even more flexibility.
-00034 
-00035    Improvements over the t-eoSymreg code are:
-00036    
-00037    * No hardcoded functions or operators. The Operation and Node class below
-00038      allow you to specify your own unary and binary functions as well as
-00039      binary operators (like +,-,*,/). Moreover you can detemine if you want
-00040      to allow primitve subroutines with either one or two arguments.
-00041      
-00042      If a Node has a subroutine Operation it will take evaluate the first 
-00043      (and possible second) child branch and use them as input variables for
-00044      the remaining second (or third) child branch.
-00045 */
-00046 
-00047 
-00048 typedef enum {Variable, UFunction, BFunction, BOperator, Const} Type;
-00049 
-00050 typedef double (*BinaryFunction)(const double,const double); 
-00051 typedef double (*UnaryFunction)(const double);
-00052 
-00053 struct Operation
-00054 {
-00055         public:
-00056                 
-00057                 typedef unsigned int VariableID;
-00058                 typedef string Label;
-00059 
-00060         
-00061                 // if your compiler allows you to have nameless unions you can make this a
-00062                 // union by removing the //'s below
-00063                 
-00064                 //union
-00065                 //{
-00066                         UnaryFunction uFunction;
-00067                         BinaryFunction bFunction;
-00068                         VariableID id;
-00069                         double constant;
-00070                 //};
-00071         
-00072                 
-00073         
-00074                 Label label;
-00075                 Type type;
-00076         
-00077                 // the default constructor results in a constant with value 0
-00078                 Operation() : constant(0),  label("0"), type(Const){};
-00079                 // two possible constructors for Unary Functions
-00080                 Operation(UnaryFunction _uf, Label _label): uFunction(_uf), label(_label), type(UFunction) {};
-00081                 Operation(Label _label, UnaryFunction _uf): uFunction(_uf), label(_label), type(UFunction) {};
-00082                 
-00083                 // Watch out there are two constructors using pointers two binary functions:
-00084                 // Binary Function (printed as label(subtree0,subtree1)  (e.g. pow(x,y))
-00085                 // Binary Operator (printed as (subtree0 label subtree1) (e.g. x^y)
-00086                 // The difference is purely cosmetic.
-00087                 
-00088                 // If you specify the label before the function pointer -> Binary Function
-00089                 Operation(Label _label, BinaryFunction _bf): bFunction(_bf), label(_label), type(BFunction) {};
-00090                 // If you specify the function pointer before the label -> Binary Operator
-00091                 Operation(BinaryFunction _bf, Label _label): bFunction(_bf), label(_label), type(BOperator) {};
-00092                 
-00093                 // A constructor for variables
-00094                 Operation(VariableID _id, Label _label): id(_id), label(_label), type(Variable) {};
-00095                 // A constructor for constants
-00096                 Operation(double _constant, Label _label): constant(_constant), label(_label), type(Const) {};
-00097                 
-00098                 
-00099                 Operation(const Operation &_op)
-00100                 {
-00101                         switch(_op.type)
-00102                         {
-00103                                 case Variable: id = _op.id; break;
-00104                                 case UFunction: uFunction = _op.uFunction;  break;
-00105                                 case BFunction: bFunction = _op.bFunction; break;
-00106                                 case BOperator: bFunction = _op.bFunction; break;
-00107                                 case Const: constant = _op.constant;  break;
-00108                         }
-00109                         type = _op.type;
-00110                         label = _op.label;
-00111                 };
-00112                 virtual ~Operation(){};
-00113         
-00114 };
-00115 
-00116 
-00117 class Node
-00118 {
-00119         private:
-00120                 Operation op;
-00121                 
-00122         public:
-00123         
-00124                 Node(void): op(Operation()){};
-00125                 Node(Operation &_op) : op(_op){};
-00126                 virtual ~Node(void) {}
-00127                 
-00128                 int arity(void) const 
-00129                 {
-00130                         switch(op.type)
-00131                         {
-00132                                 case Variable: return 0;
-00133                                 case UFunction: return 1;
-00134                                 case BFunction: return 2;
-00135                                 case BOperator: return 2;
-00136                                 case Const: return 0;
-00137                         }                       
-00138                         return 0;       
-00139                 }
-00140                 
-00141                 void randomize(void) {}
-00142                 
-00143                 template<class Children>
-00144                 void operator()(double& result, Children args, vector<double> &var) const
-00145                 {
-00146                         double result0;
-00147                         double result1;
-00148                         
-00149                         
-00150                         switch(op.type)
-00151                         {
-00152                                 case Variable:  result = var[op.id%var.size()]; //%var.size() used in the case of Subroutines and as a security measure
-00153                                                 break;
-00154                                 case UFunction: args[0].apply(result0, var);
-00155                                                 result = op.uFunction(result0); 
-00156                                                 break;
-00157                                 case BFunction: 
-00158                                 case BOperator: args[0].apply(result0, var);
-00159                                                 args[1].apply(result1, var);    
-00160                                                 result = op.bFunction(result0,result1);
-00161                                                 break;
-00162                                 case Const:     result = op.constant;
-00163                                                 break;  
-00164                                 
-00165                         }
-00166                         
-00167                 }
-00168                 
-00169                 template<class Children>
-00170                 void operator()(string& result, Children args) const
-00171                 {
-00172                         
-00173                         string subtree0;
-00174                         string subtree1;
-00175                         string subtree2;
-00176                         
-00177                         switch(op.type)
-00178                         {
-00179                                 
-00180                                 case Variable:  
-00181                                 case Const:     result += op.label;
-00182                                                 break;
-00183                                         
-00184                                 case UFunction: result += op.label;
-00185                                                 result += "(";
-00186                                                 args[0].apply(subtree0);
-00187                                                 result += subtree0;
-00188                                                 result += ")";
-00189                                                 break;
-00190                                 case BFunction: result += op.label;
-00191                                                 result += "(";
-00192                                                 args[0].apply(subtree0);
-00193                                                 result += subtree0;
-00194                                                 result += ",";
-00195                                                 args[1].apply(subtree1);
-00196                                                 result += subtree1;
-00197                                                 result += ")";
-00198                                                 break;                                                          
-00199                                 case BOperator: result += "(";
-00200                                                 args[0].apply(subtree0);
-00201                                                 result += subtree0;
-00202                                                 result += op.label;
-00203                                                 args[1].apply(subtree1);
-00204                                                 result += subtree1;
-00205                                                 result += ")";
-00206                                                 break;
-00207                                 default: result += "ERROR in Node::operator(string,...) \n"; break;             
-00208                         }
-00209                 }
-00210                 
-00211                 Operation getOp(void) const {return op;}
-00212         
-00213 };
-00214 
-00215                 
-00216                 
-00217 
-00218 
-00219 
-00220 
-00221 
-00222 
-00223 
-00224 
-00225 //-----------------------------------------------------------
-00226 // saving, loading LETS LEAVE IT OUT FOR NOW
-00227 
-00228 
-00229 
-00230 std::ostream& operator<<(std::ostream& os, const Node& eot)
-00231 {
-00232     Operation op(eot.getOp());
-00233     
-00234     os << (eot.getOp()).label;
-00235     return os;
-00236 }
-00237 
-00238 
-00239 // we can't load because we are using function pointers. Instead we prevent a compiler warning by calling the arity() function.
-00240 std::istream& operator>>(std::istream& is, Node& eot)
-00241 {
-00242     eot.arity();
-00243     return is;
-00244 }
-00245 
-00246 
-00247 
-00248 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/node__pool_8h-source.html b/trunk/paradiseo-eo/doc/html/node__pool_8h-source.html deleted file mode 100644 index ee4ec59db..000000000 --- a/trunk/paradiseo-eo/doc/html/node__pool_8h-source.html +++ /dev/null @@ -1,312 +0,0 @@ - - -EO: node_pool.h Source File - - - - - -

node_pool.h

00001 
-00018 #ifndef node_pool_h
-00019 #define node_pool_h
-00020 
-00021 class MemPool
-00022 {
-00023 public :
-00024     
-00025     MemPool(unsigned int sz) : esize(sz<sizeof(Link)? sizeof(Link) : sz) {}
-00026     ~MemPool()
-00027     {
-00028         Chunk* n = chunks;
-00029         while(n)
-00030         {
-00031             Chunk* p = n;
-00032             n = n->next;
-00033             delete p;
-00034         }
-00035     }
-00036     
-00037     void* allocate()
-00038     {
-00039         if (head == 0) grow();
-00040         Link* p = head;
-00041         head = p->next;
-00042         return static_cast<void*>(p);
-00043     }
-00044 
-00045     void deallocate(void* b)
-00046     {
-00047         Link* p = static_cast<Link*>(b);
-00048         p->next = head;
-00049         head = p;
-00050     }
-00051 
-00052 private :
-00053 
-00054     void grow()
-00055     {
-00056         Chunk* n = new Chunk;
-00057         n->next = chunks;
-00058         chunks = n;
-00059 
-00060         const int nelem = Chunk::size/esize;
-00061         char* start = n->mem;
-00062         char* last  = &start[(nelem-1)*esize];
-00063         for (char* p = start; p < last; p += esize)
-00064         {
-00065             reinterpret_cast<Link*>(p)->next = 
-00066                 reinterpret_cast<Link*>(p + esize);
-00067         }
-00068         
-00069         reinterpret_cast<Link*>(last)->next = 0;
-00070         head = reinterpret_cast<Link*>(start);
-00071     }
-00072 
-00073     struct Link
-00074     {
-00075         Link* next;
-00076     };
-00077 
-00078     struct Chunk
-00079     {
-00080         enum {size = 8 * 1024 - 16};
-00081         Chunk* next;
-00082         char mem[size];
-00083     };
-00084 
-00085     Chunk* chunks;
-00086     const unsigned int esize;
-00087     Link* head;
-00088 };
-00089 
-00090 template<class T>
-00091 class Node_alloc
-00092 {
-00093 public :
-00094     
-00095     T* allocate(void) 
-00096     {
-00097         T* t = static_cast<T*>(mem.allocate());
-00098         t = new  (t) T;
-00099         return t;
-00100     }
-00101     
-00102     T* construct(const T& org) 
-00103     {
-00104         T* t = static_cast<T*>(mem.allocate());
-00105         t = new  (t) T(org);
-00106         return t;
-00107     }
-00108 
-00109     void deallocate(T* t)
-00110     {
-00111         t->~T(); // call destructor
-00112         mem.deallocate(static_cast<void*>(t));
-00113     }
-00114 
-00115 private :
-00116     static MemPool mem;
-00117 };
-00118 
-00119 
-00120 template <class T> 
-00121 class Standard_alloc
-00122 {
-00123 public :
-00124     Standard_alloc() {}
-00125 
-00126     T* allocate(size_t arity = 1)
-00127     {
-00128         if (arity == 0)
-00129             return 0;
-00130 
-00131         return new T [arity];
-00132     }
-00133     
-00134     T* construct(size_t arity, T* org)
-00135     {
-00136         if (arity == 0)
-00137             return 0;
-00138 
-00139         T* t = new T [arity];
-00140 
-00141         for (int i = 0; i < arity; ++i)
-00142         {
-00143             t = T(org[i]);
-00144         }
-00145     }
-00146 
-00147     void deallocate(T* t, size_t arity = 1)
-00148     {
-00149         if (arity == 0)
-00150             return ;
-00151 
-00152         delete [] t;
-00153     }
-00154 
-00155 };
-00156 
-00157 template <class T> 
-00158 class Standard_Node_alloc
-00159 {
-00160 public :
-00161     Standard_Node_alloc() {}
-00162 
-00163     T* allocate(void)
-00164     {
-00165         return new T;// [arity];
-00166     }
-00167 
-00168     T* construct(const T& org)
-00169     {
-00170         return new T(org);
-00171     }
-00172 
-00173     void deallocate(T* t)
-00174     {
-00175         delete t;
-00176     }
-00177 
-00178 };
-00179 
-00180 template <class T>
-00181 class Tree_alloc
-00182 {
-00183 public :
-00184     Tree_alloc() {}
-00185 
-00186     T* allocate(size_t arity)
-00187     {
-00188         T* t;
-00189 
-00190         switch(arity)
-00191         {
-00192 
-00193         case 0 : return 0;
-00194         case 1 :
-00195             {
-00196                 t = static_cast<T*>(mem1.allocate());
-00197                 new (t) T;
-00198                 break;
-00199             }
-00200         case 2 :
-00201             {
-00202                 t = static_cast<T*>(mem2.allocate());
-00203                 new (t) T;
-00204                 new (&t[1]) T;
-00205                 break;
-00206             }
-00207         case 3 :
-00208             {
-00209                 t = static_cast<T*>(mem3.allocate());
-00210                 new (t) T;
-00211                 new (&t[1]) T;
-00212                 new (&t[2]) T;
-00213                 break;
-00214             }
-00215         default :
-00216             {
-00217                 return new T[arity];
-00218             }
-00219         }
-00220 
-00221         return t;
-00222      }
-00223 
-00224     T* construct(size_t arity, T* org)
-00225     {
-00226         T* t;
-00227 
-00228         switch(arity)
-00229         {
-00230 
-00231         case 0 : return 0;
-00232         case 1 :
-00233             {
-00234                 t = static_cast<T*>(mem1.allocate());
-00235                 new (t) T(*org);
-00236                 break;
-00237             }
-00238         case 2 :
-00239             {
-00240                 t = static_cast<T*>(mem2.allocate());
-00241                 new (t) T(*org);
-00242                 new (&t[1]) T(org[1]);
-00243                 break;
-00244             }
-00245         case 3 :
-00246             {
-00247                 t = static_cast<T*>(mem3.allocate());
-00248                 new (t) T(*org);
-00249                 new (&t[1]) T(org[1]);
-00250                 new (&t[1]) T(org[2]);
-00251                 break;
-00252             }
-00253         default :
-00254             {
-00255                 t = new T[arity]; // does call default ctor
-00256                 for (int i = 0; i < arity; ++i)
-00257                 {
-00258                     t[i] = T(org[i]); // constructs now
-00259                 }
-00260             }
-00261         }
-00262 
-00263         return t;
-00264      }
-00265 
-00266 
-00267 
-00268     void deallocate(T* t, size_t arity)
-00269     {
-00270         switch(arity)
-00271         {
-00272         case 0: return;
-00273         case 3 : 
-00274             {
-00275                 t[2].~T(); t[1].~T(); t[0].~T();
-00276                 mem3.deallocate(static_cast<void*>(t));
-00277                 return;
-00278             }
-00279         case 2 : 
-00280             {
-00281                 t[1].~T(); t[0].~T();
-00282                 mem2.deallocate(static_cast<void*>(t));
-00283                 return;
-00284             }
-00285         case 1 : 
-00286             {
-00287                 t[0].~T();
-00288                 mem1.deallocate(static_cast<void*>(t));
-00289                 return;
-00290             }
-00291         default :
-00292             {
-00293                 delete [] t;
-00294                 return;
-00295             }
-00296         }
-00297     }
-00298     
-00299 
-00300 private :
-00301     static MemPool mem1;
-00302     static MemPool mem2;
-00303     static MemPool mem3;
-00304 };
-00305 
-00306 // static (non thread_safe) memory pools
-00307 template <class T> MemPool Node_alloc<T>::mem  = sizeof(T);
-00308 
-00309 template <class T> MemPool Tree_alloc<T>::mem1 = sizeof(T);
-00310 template <class T> MemPool Tree_alloc<T>::mem2 = sizeof(T) * 2;
-00311 template <class T> MemPool Tree_alloc<T>::mem3 = sizeof(T) * 3;
-00312 
-00313 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/pages.html b/trunk/paradiseo-eo/doc/html/pages.html deleted file mode 100644 index 500bce1f1..000000000 --- a/trunk/paradiseo-eo/doc/html/pages.html +++ /dev/null @@ -1,21 +0,0 @@ - - -EO: Page Index - - - - -

EO Related Pages

Here is a list of all related documentation pages: -
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/parameters_8h-source.html b/trunk/paradiseo-eo/doc/html/parameters_8h-source.html deleted file mode 100644 index 6b1c1bc88..000000000 --- a/trunk/paradiseo-eo/doc/html/parameters_8h-source.html +++ /dev/null @@ -1,127 +0,0 @@ - - -EO: parameters.h Source File - - - - - -

parameters.h

00001 /*
-00002     This library is free software; you can redistribute it and/or modify
-00003     it under the terms of the GNU General Public License as published by
-00004     the Free Software Foundation; either version 2 of the License, or
-00005     (at your option) any later version.
-00006     
-00007     This library is distributed in the hope that it will be useful,
-00008     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00009     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00010     Lesser General Public License for more details.
-00011  
-00012     You should have received a copy of the GNU General Public License
-00013     along with this library; if not, write to the Free Software
-00014     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00015  
-00016     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00017              jeggermo@liacs.nl
-00018 */
-00019 
-00020 #ifndef _PARAMETERS_FUNCTION_H
-00021 #define _PARAMETERS_FUNCTION_H
-00022 
-00023 #include <gp/eoParseTree.h>
-00024 #include <eo>
-00025 
-00026 using namespace gp_parse_tree;
-00027 using namespace std;
-00028 
-00029 struct Parameters{
-00030                         unsigned int nGenerations;      // -G
-00031                         unsigned population_size;       // -P   
-00032                         unsigned offspring_size;        // -O
-00033                         unsigned int MaxSize;           // -S
-00034                         unsigned int InitMaxDepth;      // -D
-00035                         unsigned int randomseed;        // -R
-00036                         double xover_rate;              // -x
-00037                         double mutation_rate;           // -y
-00038                         unsigned int tournamentsize;    // -t
-00039 
-00040 
-00041                         Parameters(int argc, char **argv)
-00042                         {
-00043                                 eoParser parser(argc,argv);
-00044                         
-00045                                 // generations
-00046                                 eoValueParam<unsigned int> paramGenerations(1, "generations", "Generations", 'G', false);
-00047                                 parser.processParam( paramGenerations );
-00048                                 nGenerations = paramGenerations.value();
-00049                                 cerr << "nGenerations= " << nGenerations << endl;
-00050         
-00051                                 // populationsize
-00052                                 eoValueParam<unsigned int> paramPopulationSize(10, "populationsize", "PopulationSize", 'P', false);
-00053                                 parser.processParam( paramPopulationSize );
-00054                                 population_size = paramPopulationSize.value();
-00055                                 cerr << "population_size= " << population_size << endl;
-00056         
-00057                                 // offspringsize
-00058                                 eoValueParam<unsigned int> paramOffspringSize(population_size, "offspringsize", "OffspringSize", 'O', false);
-00059                                 parser.processParam( paramOffspringSize );
-00060                                 offspring_size = paramOffspringSize.value();
-00061                                 cerr << "offspring_size= " << offspring_size << endl;
-00062         
-00063                                 // maxsize
-00064                                 eoValueParam<unsigned int> paramMaxSize(15, "maxsize", "MaxSize", 'S', false);
-00065                                 parser.processParam( paramMaxSize );
-00066                                 MaxSize = paramMaxSize.value();
-00067                                 cerr << "MaxSize= " << MaxSize << endl;
-00068         
-00069                                 // initialmaxdepth
-00070                                 eoValueParam<unsigned int> paramInitialMaxDepth(4, "initialmaxdepth", "InitialMaxDepth", 'D', false);
-00071                                 parser.processParam( paramInitialMaxDepth );
-00072                                 InitMaxDepth = paramInitialMaxDepth.value();
-00073                                 cerr << "InitMaxDepth= " << InitMaxDepth << endl;
-00074                         
-00075                                 // randomseed
-00076                                 eoValueParam<unsigned int> paramRandomSeed(1, "randomseed", "Random Seed", 'R', false);
-00077                                 parser.processParam( paramRandomSeed );
-00078                                 randomseed = paramRandomSeed.value();
-00079                                 cerr << "randomseed= " << randomseed << endl;
-00080         
-00081                                 
-00082                                 // crossover-rate
-00083                                 eoValueParam<double> paramXover(0.75, "crossoverrate", "crossover rate", 'x', false);
-00084                                 parser.processParam(paramXover );
-00085                                 xover_rate = paramXover.value();
-00086                                 cerr << "xover_rate= " << xover_rate << endl;
-00087         
-00088                                 //mutation-rate
-00089                                 eoValueParam<double> paramMutation(0.25, "mutationrate", "mutation rate", 'm', false);
-00090                                 parser.processParam(paramMutation );
-00091                                 mutation_rate = paramMutation.value();
-00092                                 cerr << "mutation_rate= " << mutation_rate << endl;
-00093                                 
-00094                                 //tournament size
-00095                                 eoValueParam<unsigned int > paramTournamentSize(5, "tournamentsize", "tournament size", 't', false);
-00096                                 parser.processParam(paramTournamentSize );
-00097                                 tournamentsize = paramTournamentSize.value();
-00098                                 cerr << "Tournament Size= " << tournamentsize << endl;
-00099                                 
-00100         
-00101                                 if (parser.userNeedsHelp())
-00102                                 {
-00103                                         parser.printHelp(cout);
-00104                                         exit(1);
-00105                                 }
-00106 
-00107                         };
-00108                         
-00109                         ~Parameters(){};
-00110 };                      
-00111 
-00112 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/parse__tree_8h-source.html b/trunk/paradiseo-eo/doc/html/parse__tree_8h-source.html deleted file mode 100644 index 2df3e9e0e..000000000 --- a/trunk/paradiseo-eo/doc/html/parse__tree_8h-source.html +++ /dev/null @@ -1,862 +0,0 @@ - - -EO: parse_tree.h Source File - - - - - -

parse_tree.h

00001 #ifndef PARSE_TREE_HH
-00002 #define PARSE_TREE_HH
-00003 
-00155 #include <vector>
-00156 #include <utility> // for swap
-00157 
-00158 #ifdef _MSC_VER
-00159 #pragma warning(disable : 4786) // disable this nagging warning about the limitations of the mirkosoft debugger
-00160 #endif
-00161 
-00162 namespace gp_parse_tree
-00163 {
-00164 
-00165 #include "node_pool.h"
-00166 
-00168 template <class T>
-00169 inline void do_the_swap(T& a, T& b)
-00170 {
-00171   T tmp = a;
-00172   a = b;
-00173   b = tmp;
-00174 }
-00175 
-00176 template <class T> class parse_tree
-00177 {
-00178   public :
-00179 
-00180 
-00181 class subtree
-00182 {
-00183 
-00184 /*
-00185     a bit nasty way to use a pool allocator (which would otherwise use slooow new and delete)
-00186     TODO: use the std::allocator interface
-00187 */
-00188 
-00189 #if (defined(__GNUC__) || defined(_MSC_VER)) && !(defined(_MT) || defined(MACOSX) || defined(__APPLE__)) // not multithreaded (or MACOSX - J. Eggermont)
-00190     Node_alloc<T>         node_allocator;
-00191     Tree_alloc<subtree>   tree_allocator;
-00192 #else
-00193     Standard_Node_alloc<T>    node_allocator;
-00194     Standard_alloc<subtree>   tree_allocator;
-00195 #endif
-00196 
-00197 public :
-00198 
-00199     typedef subtree* iterator;
-00200     typedef const subtree* const_iterator;
-00201 
-00202         /* Constructors, assignments */
-00203 
-00204     subtree(void) : content(node_allocator.allocate()), args(0), parent(0), _cumulative_size(0), _depth(0), _size(1)
-00205                         {}
-00206     subtree(const subtree& s)
-00207         : content(node_allocator.allocate()),
-00208           args(0),
-00209           parent(0),
-00210           _cumulative_size(1),
-00211           _depth(1),
-00212           _size(1)
-00213     {
-00214         copy(s);
-00215     }
-00216 
-00217     subtree(const T& t) : content(node_allocator.allocate()), args(0), parent(0), _cumulative_size(0), _depth(0), _size(1)
-00218                         { copy(t); }
-00219 
-00220     template <class It>
-00221         subtree(It b, It e) : content(node_allocator.allocate()), args(0), parent(0), _cumulative_size(0), _depth(0), _size(1)
-00222     { // initialize in prefix order for efficiency reasons
-00223         init(b, --e);
-00224     }
-00225 
-00226     virtual ~subtree(void)    { tree_allocator.deallocate(args, arity()); node_allocator.deallocate(content); }
-00227 
-00228     subtree& operator=(const subtree& s)
-00229         {
-00230             if (s.get_root() == get_root())
-00231         { // from the same tree, maybe a child. Don't take any chances
-00232             subtree anotherS = s;
-00233             return copy(anotherS);
-00234         }
-00235 
-00236                 copy(s);
-00237         updateAfterInsert();
-00238         return *this;
-00239         }
-00240 
-00241     subtree& operator=(const T& t)       { copy(t); updateAfterInsert(); return *this; }
-00242 
-00243         /* Access to the nodes */
-00244 
-00245     T&       operator*(void)             { return *content; }
-00246     const T& operator*(void) const       { return *content; }
-00247     T*       operator->(void)            { return content; }
-00248     const T* operator->(void) const      { return content; }
-00249 
-00250         /* Equality, inequality check, Node needs to implement operator== */
-00251 
-00252         bool operator==(const subtree& other) const
-00253         {
-00254                 if (! (*content == *other.content))
-00255                         return false;
-00256 
-00257                 for (int i = 0; i < arity(); i++)
-00258                 {
-00259                         if (!(args[i] == other.args[i]))
-00260                                 return false;
-00261                 }
-00262 
-00263                 return true;
-00264         }
-00265 
-00266         bool operator !=(const subtree& other) const
-00267         {
-00268                 return !operator==(other);
-00269         }
-00270 
-00271         /* Arity */
-00272     int arity(void) const                { return content->arity(); }
-00273 
-00274         /* Evaluation with an increasing amount of user defined arguments */
-00275         template <class RetVal>
-00276         void apply(RetVal& v) const                              { (*content)(v, begin()); }
-00277 
-00278         template <class RetVal, class It>
-00279         void apply(RetVal& v, It values) const
-00280     {
-00281         (*content)(v, begin(), values);
-00282     }
-00283 
-00284     template <class RetVal, class It>
-00285     void apply_mem_func(RetVal& v, It misc, void (T::* f)(RetVal&, typename subtree::iterator, It))
-00286     {
-00287         (content->*f)(v, begin(), misc);
-00288     }
-00289 
-00290 
-00291 /*      template <class RetVal, class It, class It2>
-00292         void apply(RetVal& v, It values, It2 moreValues) const
-00293                 { (*content)(v, begin(), values, moreValues); }
-00294 
-00295         template <class RetVal, class It, class It2, class It3>
-00296         void apply(RetVal& v, It values, It2 moreValues, It3 evenMoreValues) const
-00297                 { (*content)(v, begin(), values, moreValues, evenMoreValues); }
-00298 */
-00299 
-00300     template <class Pred>
-00301     void find_nodes(std::vector<subtree*>& result, Pred& p)
-00302     {
-00303         if (p(*content))
-00304         {
-00305             result.push_back(this);
-00306         }
-00307 
-00308         for (int i = 0; i < arity(); ++i)
-00309         {
-00310             args[i].find_nodes(result, p);
-00311         }
-00312     }
-00313 
-00314     template <class Pred>
-00315     void find_nodes(std::vector<const subtree*>& result, Pred& p) const
-00316     {
-00317         if (p(*content))
-00318         {
-00319             result.push_back(this);
-00320         }
-00321 
-00322         for (int i = 0; i < arity(); ++i)
-00323         {
-00324             args[i].find_nodes(result, p);
-00325         }
-00326     }
-00327 
-00328         /* Iterators */
-00329 
-00330     iterator begin(void)              { return args; }
-00331     const_iterator begin(void) const  { return args; }
-00332 
-00333     iterator end(void)                { return args + arity(); }
-00334     const_iterator end(void) const    { return args + arity(); }
-00335 
-00336         subtree& operator[](int i)                { return *(begin() + i); }
-00337         const subtree& operator[](int i) const { return *(begin() + i); }
-00338 
-00339         /* Some statistics */
-00340 
-00341     size_t size(void) const { return _size; }
-00342 
-00343     size_t cumulative_size(void) const { return _cumulative_size; }
-00344     size_t depth(void) const           { return _depth; }
-00345 
-00346     const subtree& select_cumulative(size_t which) const
-00347     { return imp_select_cumulative(which); }
-00348 
-00349     subtree& select_cumulative(size_t which)
-00350     { return const_cast<subtree&>(imp_select_cumulative(which)); }
-00351 
-00352     subtree& get_node(size_t which)
-00353     { return const_cast<subtree&>(imp_get_node(which));}
-00354     const subtree& get_node(size_t which) const
-00355     { return imp_get_node(which); }
-00356 
-00357     subtree*       get_parent(void)        { return parent; }
-00358     const subtree* get_parent(void) const  { return parent; }
-00359 
-00360         void clear(void)
-00361         { tree_allocator.deallocate(args, arity()); args = 0; *content = T(); parent = 0; _cumulative_size = 0; _depth = 0; _size = 0; }
-00362 
-00363         void swap(subtree& y)
-00364         {
-00365         do_the_swap(content, y.content);
-00366         do_the_swap(args, y.args);
-00367 
-00368         adopt();
-00369         y.adopt();
-00370 
-00371         do_the_swap(parent, y.parent);
-00372 
-00373         do_the_swap(_cumulative_size, y._cumulative_size);
-00374         do_the_swap(_depth, y._depth);
-00375         do_the_swap(_size, y._size);
-00376                 updateAfterInsert();
-00377         }
-00378 
-00379 protected :
-00380 
-00381         virtual void updateAfterInsert(void)
-00382     {
-00383         _depth = 0;
-00384         _size = 1;
-00385         _cumulative_size = 0;
-00386 
-00387         for (iterator it = begin(); it != end(); ++it)
-00388         {
-00389             _size += it->size();
-00390             _cumulative_size += it->_cumulative_size;
-00391             _depth = it->_depth > _depth? it->_depth: _depth;
-00392         }
-00393         _cumulative_size += _size;
-00394         _depth++;
-00395 
-00396         if (parent)
-00397             parent->updateAfterInsert();
-00398     }
-00399 
-00400 private :
-00401 
-00402     const subtree& imp_select_cumulative(size_t which) const
-00403     {
-00404         if (which >= (_cumulative_size - size()))
-00405             return *this;
-00406         // else
-00407 
-00408         for (int i = arity() - 1; i >= 0; --i)
-00409                 {
-00410             if (which < args[i]._cumulative_size)
-00411                 return args[i].imp_select_cumulative(which);
-00412             which -= args[i]._cumulative_size;
-00413         }
-00414 
-00415         return *this; // error!
-00416     }
-00417 
-00418     const subtree& imp_get_node(size_t which) const
-00419     {
-00420         if (which == size() - 1)
-00421             return *this;
-00422 
-00423         for (int i = arity() - 1; i >= 0; --i)
-00424                 {
-00425             unsigned c_size = args[i].size();
-00426             if (which < c_size)
-00427                 return args[i].imp_get_node(which);
-00428             which -= c_size;
-00429         }
-00430 
-00431         return *this; // error!
-00432     }
-00433 
-00434     const subtree* get_root(void) const
-00435     {
-00436         if (parent == 0)
-00437             return this;
-00438         // else
-00439 
-00440         return parent->get_root();
-00441     }
-00442     subtree& copy(const subtree& s)
-00443     {
-00444                 int old_arity = arity();
-00445 
-00446                 int new_arity = s.arity();
-00447 
-00448                 if (new_arity != old_arity)
-00449                 {
-00450                         tree_allocator.deallocate(args, old_arity);
-00451 
-00452             args = tree_allocator.allocate(new_arity);
-00453                 }
-00454 
-00455                 switch(new_arity)
-00456                 {
-00457                 case 3 : args[2].copy(s.args[2]); args[2].parent = this; // no break!
-00458                 case 2 : args[1].copy(s.args[1]); args[1].parent = this;
-00459                 case 1 : args[0].copy(s.args[0]); args[0].parent = this;
-00460                 case 0 : break;
-00461                 default :
-00462                         {
-00463                                 for (int i = 0; i < new_arity; ++i)
-00464                                 {
-00465                                         args[i].copy(s.args[i]);
-00466                     args[i].parent = this;
-00467                                 }
-00468                         }
-00469                 }
-00470 
-00471                 *content = *s.content;
-00472         _size = s._size;
-00473         _depth = s._depth;
-00474         _cumulative_size = s._cumulative_size;
-00475 
-00476         return *this;
-00477     }
-00478 
-00479     subtree& copy(const T& t)
-00480     {
-00481         int oldArity = arity();
-00482 
-00483                 if (content != &t)
-00484             *content = t;
-00485                 else
-00486                         oldArity = -1;
-00487 
-00488                 int ar = arity();
-00489 
-00490                 if (ar != oldArity)
-00491                 {
-00492             if (oldArity != -1)
-00493                             tree_allocator.deallocate(args, oldArity);
-00494 
-00495             args = tree_allocator.allocate(ar);
-00496 
-00497             //if (ar > 0)
-00498                         //      args = new subtree [ar];
-00499                         //else
-00500                         //      args = 0;
-00501                 }
-00502 
-00503         adopt();
-00504         updateAfterInsert();
-00505                 return *this;
-00506     }
-00507 
-00508         void disown(void)
-00509         {
-00510                 switch(arity())
-00511                 {
-00512                 case 3 : args[2].parent = 0; // no break!
-00513                 case 2 : args[1].parent = 0;
-00514                 case 1 : args[0].parent = 0; break;
-00515                 case 0 : break;
-00516                 default :
-00517                         {
-00518                                 for (iterator it = begin(); it != end(); ++it)
-00519                                 {
-00520                                         it->parent = 0;
-00521                                 }
-00522                         }
-00523                 }
-00524 
-00525         }
-00526 
-00527     void adopt(void)
-00528     {
-00529                 switch(arity())
-00530                 {
-00531                 case 3 : args[2].parent = this; // no break!
-00532                 case 2 : args[1].parent = this;
-00533                 case 1 : args[0].parent = this; break;
-00534                 case 0 : break;
-00535                 default :
-00536                         {
-00537                                 for (iterator it = begin(); it != end(); ++it)
-00538                                 {
-00539                                         it->parent = this;
-00540                                 }
-00541                         }
-00542                 }
-00543     }
-00544 
-00545     template <class It>
-00546     void init(It b, It& last)
-00547     {
-00548         *this = *last;
-00549 
-00550 #ifndef NDEBUG
-00551         if (last == b && arity() > 0)
-00552         {
-00553             throw "subtree::init()";
-00554         }
-00555 #endif
-00556 
-00557         for (int i = 0; i < arity(); ++i)
-00558         {
-00559             args[i].parent = 0;
-00560             args[i].init(b, --last);
-00561             args[i].parent = this;
-00562         }
-00563 
-00564         updateAfterInsert();
-00565     }
-00566 
-00567     T* content;
-00568     subtree*                    args;
-00569     subtree*                    parent;
-00570 
-00571         size_t _cumulative_size;
-00572     size_t _depth;
-00573     size_t _size;
-00574 };
-00575 
-00576 // Continuing with parse_tree
-00577 
-00578     typedef T value_type;
-00579 
-00580         /* Constructors and Assignments */
-00581 
-00582     parse_tree(void) : _root(), pushed() {}
-00583     parse_tree(const parse_tree& org) : _root(org._root), pushed(org.pushed) { }
-00584     parse_tree(const subtree& sub) : _root(sub), pushed() { }
-00585 
-00586     template <class It>
-00587         parse_tree(It b, It e) : _root(b, e), pushed() {}
-00588 
-00589     virtual ~parse_tree(void) {}
-00590 
-00591     parse_tree& operator=(const parse_tree& org) { return copy(org); }
-00592         parse_tree& operator=(const subtree& sub)
-00593                 { return copy(sub); }
-00594 
-00595 
-00596         /* Equality and inequality */
-00597 
-00598         bool operator==(const parse_tree& other) const
-00599         { return _root == other._root; }
-00600 
-00601         bool operator !=(const parse_tree& other) const
-00602         { return !operator==(other); }
-00603 
-00604         /* Simple tree statistics */
-00605 
-00606     size_t size(void) const  { return _root.size(); }
-00607         size_t depth(void) const { return _root.depth(); }
-00608     void clear(void)        { _root.clear(); pushed.resize(0); }
-00609 
-00610         /* Evaluation (application), with an increasing number of user defined arguments */
-00611 
-00612         template <class RetVal>
-00613         void apply(RetVal& v) const
-00614                 { _root.apply(v); }
-00615 
-00616         template <class RetVal, class It>
-00617                 void apply(RetVal& v, It varValues) const
-00618                 { _root.apply(v, varValues); }
-00619 
-00620     template <class RetVal, class It>
-00621         void apply_mem_func(RetVal& v, It misc, void (T::* f)(RetVal&, typename subtree::iterator, It))
-00622     {
-00623         _root.apply_mem_func(v, misc, f);
-00624     }
-00625 
-00626         //template <class RetVal, class It, class It2>
-00627         //      void apply(RetVal& v, It varValues, It2 moreValues) const
-00628         //      { _root.apply(v, varValues, moreValues); }
-00629 
-00630         //template <class RetVal, class It, class It2, class It3>
-00631         //      void apply(RetVal& v, It varValues, It2 moreValues, It3 evenMoreValues) const
-00632         //      { _root.apply(v, varValues, moreValues, evenMoreValues); }
-00633 
-00634     template <class Pred>
-00635     void find_nodes(std::vector<subtree*>& result, Pred& p)
-00636     {
-00637         _root.find_nodes(result, p);
-00638     }
-00639 
-00640     template <class Pred>
-00641     void find_nodes(std::vector<const subtree*>& result, Pred& p) const
-00642     {
-00643         _root.find_nodes(p);
-00644     }
-00645 
-00646         /* Customized Swap */
-00647         void swap(parse_tree<T>& other)
-00648         {
-00649                 do_the_swap(pushed, other.pushed);
-00650                 _root.swap(other._root);
-00651         }
-00652 
-00653         /* Definitions of the iterators */
-00654 
-00655     class base_iterator
-00656     {
-00657     public :
-00658 
-00659         base_iterator() {}
-00660         base_iterator(subtree* n)  { node = n; }
-00661 
-00662         base_iterator& operator=(const base_iterator& org)
-00663         { node = org.node; return *this; }
-00664 
-00665         bool operator==(const base_iterator& org) const
-00666         { return node == org.node; }
-00667         bool operator!=(const base_iterator& org) const
-00668         { return !operator==(org); }
-00669 
-00670                 base_iterator operator+(size_t n) const
-00671                 {
-00672                         base_iterator tmp = *this;
-00673 
-00674                         for(;n != 0; --n)
-00675                         {
-00676                                 ++tmp;
-00677                         }
-00678 
-00679                         return tmp;
-00680                 }
-00681 
-00682                 base_iterator& operator++(void)
-00683         {
-00684             subtree* parent = node->get_parent();
-00685 
-00686             if (parent == 0)
-00687             {
-00688                 node = 0;
-00689                 return *this;
-00690             }
-00691             // else
-00692             typename subtree::iterator it;
-00693             for (it = parent->begin(); it != parent->end(); ++it)
-00694             {
-00695                 if (node == &(*it))
-00696                     break;
-00697             }
-00698 
-00699             if (it == parent->begin())
-00700                 node = parent;
-00701             else
-00702             {
-00703                 node = &(--it)->get_node(0);
-00704             }
-00705 
-00706             return *this;
-00707         }
-00708 
-00709         base_iterator operator++(int)
-00710         {
-00711             base_iterator tmp = *this;
-00712             operator++();
-00713             return tmp;
-00714         }
-00715 
-00716     protected :
-00717         subtree* node;
-00718     };
-00719 
-00720     class iterator : public base_iterator
-00721     {
-00722     public:
-00723 
-00724         using base_iterator::node;
-00725 
-00726         typedef std::forward_iterator_tag iterator_category;
-00727         typedef subtree value_type;
-00728         typedef size_t distance_type;
-00729         typedef size_t difference_type;
-00730         typedef subtree* pointer;
-00731         typedef subtree& reference;
-00732 
-00733         iterator() : base_iterator() {}
-00734         iterator(subtree* n): base_iterator(n)  {}
-00735         iterator& operator=(const iterator& org)
-00736         { base_iterator::operator=(org); return *this; }
-00737 
-00738         subtree& operator*(void)  { return *node; }
-00739         subtree* operator->(void) { return node; }
-00740     };
-00741 
-00742 
-00743 
-00744     class embedded_iterator : public base_iterator
-00745     {
-00746     public:
-00747 
-00748         using base_iterator::node;
-00749 
-00750         typedef std::forward_iterator_tag iterator_category;
-00751         typedef T value_type;
-00752         typedef size_t distance_type;
-00753         typedef size_t difference_type;
-00754         typedef T* pointer;
-00755         typedef T& reference;
-00756 
-00757         embedded_iterator() : base_iterator() {}
-00758         embedded_iterator(subtree* n): base_iterator(n)  {}
-00759         embedded_iterator& operator=(const embedded_iterator& org)
-00760         { base_iterator::operator=(org); return *this; }
-00761 
-00762         T&  operator*(void)  { return **node; }
-00763         T* operator->(void) { return &**node; }
-00764     };
-00765 
-00766     class base_const_iterator
-00767     {
-00768     public:
-00769 
-00770         base_const_iterator() {}
-00771         base_const_iterator(const subtree* n)  { node = n; }
-00772 
-00773         base_const_iterator& operator=(const base_const_iterator& org)
-00774         { node = org.node; return *this; }
-00775 
-00776         bool operator==(const base_const_iterator& org) const
-00777         { return node == org.node; }
-00778         bool operator!=(const base_const_iterator& org) const
-00779         { return !operator==(org); }
-00780 
-00781         base_const_iterator& operator++(void)
-00782         {
-00783             const subtree* parent = node->get_parent();
-00784 
-00785             if (parent == 0)
-00786             {
-00787                 node = 0;
-00788                 return *this;
-00789             }
-00790             // else
-00791             typename subtree::const_iterator it;
-00792 
-00793             for (it = parent->begin(); it != parent->end(); ++it)
-00794             {
-00795                 if (node == &(*it))
-00796                     break;
-00797             }
-00798 
-00799             if (it == parent->begin())
-00800                 node = parent;
-00801             else
-00802                 node = &(--it)->get_node(0);
-00803             return *this;
-00804         }
-00805 
-00806         base_const_iterator operator++(int)
-00807         {
-00808             base_const_iterator tmp = *this;
-00809             operator++();
-00810             return tmp;
-00811         }
-00812 
-00813     protected :
-00814 
-00815         const subtree* node;
-00816     };
-00817 
-00818     class const_iterator : public base_const_iterator
-00819     {
-00820     public:
-00821 
-00822         using base_iterator::node;
-00823 
-00824         typedef std::forward_iterator_tag iterator_category;
-00825         typedef const subtree value_type;
-00826         typedef size_t distance_type;
-00827         typedef size_t difference_type;
-00828         typedef const subtree* pointer;
-00829         typedef const subtree& reference;
-00830 
-00831         const_iterator() : base_const_iterator() {}
-00832         const_iterator(const subtree* n): base_const_iterator(n)  {}
-00833         const_iterator& operator=(const const_iterator& org)
-00834         { base_const_iterator::operator=(org); return *this; }
-00835 
-00836         const subtree& operator*(void)  { return *node; }
-00837         const subtree* operator->(void) { return node; }
-00838     };
-00839 
-00840     class embedded_const_iterator : public base_const_iterator
-00841     {
-00842     public:
-00843 
-00844         using base_const_iterator::node;
-00845 
-00846                 typedef std::forward_iterator_tag iterator_category;
-00847                 typedef const T value_type;
-00848                 typedef size_t distance_type;
-00849                 typedef size_t difference_type;
-00850                 typedef const T* pointer;
-00851                 typedef const T& reference;
-00852 
-00853         embedded_const_iterator() : base_const_iterator() {}
-00854         embedded_const_iterator(const subtree* n): base_const_iterator(n)  {}
-00855         embedded_const_iterator& operator=(const embedded_const_iterator& org)
-00856         { base_const_iterator::operator=(org); return *this; }
-00857 
-00858                 embedded_const_iterator operator+(size_t n) const
-00859                 {
-00860                         embedded_const_iterator tmp = *this;
-00861 
-00862                         for(;n != 0; --n)
-00863                         {
-00864                                 ++tmp;
-00865                         }
-00866 
-00867                         return tmp;
-00868                 }
-00869 
-00870         const T&  operator*(void)  const { return **node; }
-00871         const T*  operator->(void) const { return node->operator->(); }
-00872     };
-00873 
-00874         /* Iterator access */
-00875 
-00876     iterator begin(void)            { return iterator(&operator[](0)); }
-00877     const_iterator begin(void) const { return const_iterator(&operator[](0)); }
-00878     iterator end(void)               { return iterator(0); }
-00879     const_iterator end(void) const   { return const_iterator(0);}
-00880 
-00881     embedded_iterator       ebegin(void)       { return embedded_iterator(&operator[](0)); }
-00882     embedded_const_iterator ebegin(void) const { return embedded_const_iterator(&operator[](0)); }
-00883     embedded_iterator       eend(void)         { return embedded_iterator(0); }
-00884     embedded_const_iterator eend(void) const   { return embedded_const_iterator(0);}
-00885 
-00886     bool empty(void) const { return size() == 0; }
-00887     bool valid(void) const { return pushed.empty(); }
-00888 
-00889         /* push_back */
-00890 
-00891         void push_back(const parse_tree<T>& tree)
-00892         {
-00893                 if (!empty())
-00894                         pushed.push_back(_root);
-00895 
-00896                 _root = tree.back();
-00897         }
-00898 
-00899     void push_back(const T& t)
-00900     {
-00901         if (!empty())
-00902             pushed.push_back(_root);
-00903 
-00904                 _root = t;
-00905 
-00906         for (typename subtree::iterator it = _root.begin(); it != _root.end(); it++)
-00907         {
-00908                         *it = pushed.back();
-00909             pushed.pop_back();
-00910         }
-00911 
-00912     }
-00913 
-00914         /* Access to subtrees */
-00915 
-00916     subtree& back(void)              { return _root; }
-00917     const subtree& back(void) const  { return _root; }
-00918     subtree& root(void)              { return _root; }
-00919     const subtree& root(void) const  { return _root; }
-00920 
-00921     subtree& front(void)              { return _root[0]; }
-00922     const subtree& front(void) const  { return _root[0]; }
-00923 
-00924     subtree& operator[](size_t i)
-00925     { return const_cast<subtree&>(_root.get_node(i)); }
-00926     const subtree& operator[](size_t i) const
-00927     { return _root.get_node(i); }
-00928 
-00929     subtree& get_cumulative(size_t i)
-00930     { return const_cast<subtree&>(_root.get_cumulative(i)); }
-00931     const subtree& get_cumulative(size_t i) const
-00932     { return get_cumulative(i); }
-00933 
-00934     private :
-00935 
-00936     parse_tree& copy(const parse_tree& org)
-00937     {
-00938         _root = org._root;
-00939         pushed = org.pushed;
-00940 
-00941         return *this;
-00942     }
-00943 
-00944         parse_tree& copy(const subtree& sub)
-00945     { _root = sub; pushed.resize(0); return *this; }
-00946 
-00947     subtree _root;
-00948     std::vector<subtree > pushed;
-00949 }; // end class parse_tree
-00950 
-00951 
-00952 } // end namespace gp_parse_tree
-00953 
-00954 namespace std
-00955 { // for use with stlport on MSVC
-00956 
-00957 template <class T> inline
-00958 std::forward_iterator_tag iterator_category(typename gp_parse_tree::parse_tree<T>::embedded_iterator)
-00959 {
-00960         return std::forward_iterator_tag();
-00961 }
-00962 
-00963 template <class T> inline
-00964 ptrdiff_t*  distance_type(typename gp_parse_tree::parse_tree<T>::embedded_iterator)
-00965 {
-00966         return 0;
-00967 }
-00968 
-00969 template <class T> inline
-00970 std::forward_iterator_tag iterator_category(typename gp_parse_tree::parse_tree<T>::iterator)
-00971 {
-00972         return std::forward_iterator_tag();
-00973 }
-00974 
-00975 template <class T> inline
-00976 ptrdiff_t*  distance_type(typename gp_parse_tree::parse_tree<T>::iterator)
-00977 {
-00978         return 0;
-00979 }
-00980 
-00981 /* Put customized swaps also in std...
-00982 
-00983 template<class T> inline
-00984 void swap(gp_parse_tree::parse_tree<T>& a, gp_parse_tree::parse_tree<T>& b)
-00985 {
-00986     a.swap(b);
-00987 }
-00988 
-00989 template<class T> inline
-00990 void iter_swap(std::vector<gp_parse_tree::parse_tree<T> >::iterator a, std::vector<gp_parse_tree::parse_tree<T> > b)
-00991 {
-00992     a->swap(*b);
-00993 }*/
-00994 
-00995 
-00996 } // namespace std
-00997 
-00998 
-00999 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/perf2worth_8cpp-source.html b/trunk/paradiseo-eo/doc/html/perf2worth_8cpp-source.html deleted file mode 100644 index e49a5f071..000000000 --- a/trunk/paradiseo-eo/doc/html/perf2worth_8cpp-source.html +++ /dev/null @@ -1,103 +0,0 @@ - - -EO: perf2worth.cpp Source File - - - - - -

perf2worth.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 #include <eoNDSorting.h>
-00021 
-00022 #include "PyEO.h"
-00023 
-00024 using namespace boost::python;
-00025 
-00026 struct Perf2WorthWrapper : public eoPerf2Worth<PyEO,double>
-00027 {
-00028     PyObject* self;
-00029     Perf2WorthWrapper(PyObject* p) : self(p) {}
-00030 
-00031     void operator()( const eoPop<PyEO>& pop)
-00032     {
-00033         call_method<void>(self, "__call__", boost::ref(pop));
-00034     }
-00035     
-00036 };
-00037 
-00038 numeric::array get_worths(eoPerf2Worth<PyEO, double>& p)
-00039 {
-00040     std::vector<double>& worths = p.value();
-00041     list result;
-00042         
-00043     for (unsigned i = 0; i < worths.size(); ++i)
-00044         result.append(worths[i]);
-00045     
-00046     return numeric::array(result);
-00047 }
-00048 
-00049 struct CachedPerf2WorthWrapper : public eoPerf2WorthCached<PyEO, double>
-00050 {
-00051     PyObject* self;
-00052     CachedPerf2WorthWrapper(PyObject* p) : self(p) {}
-00053 
-00054     void calculate_worths(const eoPop<PyEO>& pop)
-00055     {
-00056         call_method<void>(self, "calculate_worths", boost::ref(pop));
-00057     }
-00058 };
-00059 
-00060 void perf2worth() 
-00061 {
-00062     //numeric::array::set_module_and_type("Numeric", "ArrayType");
-00063     
-00064     class_<
-00065         eoPerf2Worth<PyEO, double>, 
-00066         Perf2WorthWrapper,
-00067         bases< eoValueParam<std::vector<double> > >,
-00068         boost::noncopyable>("eoPerf2Worth", init<>())
-00069         
-00070             .def("__call__", &Perf2WorthWrapper::operator())
-00071             .def("sort_pop", &eoPerf2Worth<PyEO, double>::sort_pop)
-00072            //.def("value", get_worths)
-00073         ;
-00074 
-00075     class_<eoPerf2WorthCached<PyEO, double>, CachedPerf2WorthWrapper, bases<eoPerf2Worth<PyEO, double> >, boost::noncopyable>
-00076         ("eoPerf2WorthCached", init<>())
-00077         .def("__call__", &eoPerf2WorthCached<PyEO, double>::operator())
-00078         .def("calculate_worths", &CachedPerf2WorthWrapper::calculate_worths)
-00079         ;
-00080     
-00081     //class_<eoNoPerf2Worth<PyEO>, bases<eoPerf2Worth<PyEO, double> > >("eoNoPerf2Worth")
-00082 //      .def("__call__", &eoNoPerf2Worth<PyEO>::operator());
-00083         
-00084     class_<eoNDSorting_II<PyEO>, bases<eoPerf2WorthCached<PyEO, double> > >("eoNDSorting_II")
-00085         .def("calculate_worths", &eoNDSorting_II<PyEO>::calculate_worths);
-00086 }
-00087 
-00088 
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/pickle_8h-source.html b/trunk/paradiseo-eo/doc/html/pickle_8h-source.html deleted file mode 100644 index 6234e2562..000000000 --- a/trunk/paradiseo-eo/doc/html/pickle_8h-source.html +++ /dev/null @@ -1,78 +0,0 @@ - - -EO: pickle.h Source File - - - - - -

pickle.h

00001 /*
-00002     PyEO
-00003 
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #ifndef PICKLE_H
-00022 #define PICKLE_h
-00023 
-00024 #include <config.h>
-00025 
-00026 #include <boost/python.hpp>
-00027 #include <sstream>
-00031 template <class T>
-00032 struct T_pickle_suite : boost::python::pickle_suite
-00033 {
-00034     static
-00035     std::string print_to_string(const T& t)
-00036     {
-00037         std::ostringstream os;
-00038         t.printOn(os);
-00039         os << std::ends;
-00040         return os.str();
-00041     }
-00042 
-00043     static
-00044     boost::python::tuple getstate(const T& t)
-00045     {
-00046         std::string s = print_to_string(t);
-00047         return boost::python::make_tuple( boost::python::str(s));
-00048     }
-00049 
-00050     static
-00051     void setstate(T& t, boost::python::tuple pickled)
-00052     {
-00053         std::string s = boost::python::extract<std::string>(pickled[0]);
-00054         std::istringstream is(s);
-00055         t.readFrom(is);
-00056     }
-00057 };
-00058 
-00062 template <class Persistent, class X1, class X2, class X3>
-00063 boost::python::class_<Persistent, X1, X2, X3>& pickle(boost::python::class_<Persistent, X1, X2, X3>& c)
-00064 {
-00065     return c.def_pickle(T_pickle_suite<Persistent>())
-00066         .def("__str__", T_pickle_suite<Persistent>::print_to_string);
-00067 }
-00068 
-00069 #endif
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/pipecom_8cpp-source.html b/trunk/paradiseo-eo/doc/html/pipecom_8cpp-source.html deleted file mode 100644 index 0b84d795f..000000000 --- a/trunk/paradiseo-eo/doc/html/pipecom_8cpp-source.html +++ /dev/null @@ -1,187 +0,0 @@ - - -EO: pipecom.cpp Source File - - - - - -

pipecom.cpp

00001 /* ----------------------------------------------------------------------
-00002  * Where........: CMAP - Polytechnique
-00003  * File.........: pipecom.c
-00004  * Author.......: Bertrand Lamy (Equipe genetique)
-00005  * Created......: Mon Mar 13 13:50:11 1995
-00006  * Description..: Communication par pipe bidirectionnel avec un autre process
-00007  * ----------------------------------------------------------------------
-00008  */
-00009 
-00010 // MSC equivalent must be written and tested or some #idef instructions added
-00011 // with a clear message at compile time that this is for Unix only ???
-00012 
-00013 #ifdef HAVE_CONFIG_H
-00014 #include <config.h>
-00015 #endif
-00016 
-00017 #include <cstdlib>
-00018 #include <cstring>
-00019 #include <stdio.h>
-00020 #include <signal.h>
-00021 #include <unistd.h>
-00022 
-00023 #include "pipecom.h"
-00024 
-00025 
-00026 
-00027 int Check( PCom *com )
-00028 {
-00029     if( ! com ) {
-00030         fprintf( stderr, "PipeCom: Null pointer.\n" );
-00031         fflush( stderr );
-00032         return 0;
-00033     }
-00034     if( kill( com->pid, 0 ) != 0 ) {
-00035         fprintf( stderr, "PipeCom: process doesn't exists.\n" );
-00036         fflush( stderr );
-00037         return 0;
-00038     }
-00039     return 1;
-00040 }
-00041 
-00042 
-00043 PCom * PipeComOpen( char *prog )
-00044 {
-00045     char        *args[2];
-00046     args[0] = prog;
-00047     args[1] = NULL;
-00048     return PipeComOpenArgv( prog, args );
-00049 }
-00050 
-00051 
-00052 PCom * PipeComOpenArgv( char *prog, char *argv[] )
-00053 {
-00054     int         toFils[2];
-00055     int         toPere[2];
-00056     int         sonPid;
-00057     PCom        * ret = NULL;
-00058 
-00059     if( pipe( toFils ) < 0 ) {
-00060         perror( "PipeComOpen: Creating pipes" );
-00061         return ret;
-00062     }
-00063     if( pipe( toPere ) < 0 ) {
-00064         perror( "PipeComOpen: Creating pipes" );
-00065         return ret;
-00066     }
-00067 
-00068     switch( (sonPid = vfork()) ) {
-00069     case -1:
-00070         perror("PipeComOpen: fork failed" );
-00071         return ret;
-00072         break;
-00073 
-00074     case 0:
-00075         /* --- Here's the son --- */
-00076         /* --- replace old stdin --- */
-00077         if( dup2( toFils[0], fileno(stdin) ) < 0 ) {
-00078             perror( "PipeComOpen(son): could not connect" );
-00079             exit( -1 );
-00080             /* --- AVOIR: kill my father --- */
-00081         }
-00082         if( dup2( toPere[1], fileno(stdout) ) < 0 ) {
-00083             perror( "PipeComOpen(son): could not connect" );
-00084             exit( -1 );
-00085         }
-00086         if( execvp( prog, argv ) < 0 ) {
-00087             perror( prog );
-00088             perror( "PipeComOpen: can't exec" );
-00089             exit(1);
-00090         }
-00091         break;
-00092     default:
-00093         ret = (PCom *) malloc( sizeof(PCom) );
-00094         if( ! ret )
-00095             return NULL;
-00096 
-00097         ret->fWrit = (FILE *)fdopen( toFils[1], "w" );
-00098         ret->fRead = (FILE *)fdopen( toPere[0], "r" );
-00099         ret->pid = sonPid;
-00100     }
-00101     return ret;
-00102 }
-00103 
-00104 
-00105 int PipeComSend( PCom *to, const char *line )
-00106 {
-00107     int nb = 0;
-00108     if( ! Check(to ) )
-00109         return nb;
-00110     nb = fprintf( to->fWrit, line );
-00111     fflush( to->fWrit );
-00112     return nb;
-00113 }
-00114 
-00115 
-00116 int PipeComSendn( PCom *to, const char *data, int n )
-00117 {
-00118     int nb = 0;
-00119     if( ! Check(to) )
-00120         return nb;
-00121 
-00122     nb = fwrite( data, 1, n, to->fWrit );
-00123     fflush( to->fWrit );
-00124     return nb;
-00125 }
-00126 
-00127 
-00128 int PipeComReceive( PCom *from, char *data, int max )
-00129 {
-00130     if( ! Check(from) )
-00131         return 0;
-00132     if( ! data ) {
-00133       fprintf( stderr, "PipeComReceive: Invalid data pointer\n" );
-00134       fflush( stderr );
-00135       return 0;
-00136     }
-00137     if( fgets( data, max, from->fRead ) )
-00138         return strlen(data);
-00139     return 0;
-00140 }
-00141 
-00142 
-00143 
-00144 int PipeComClose( PCom *to )
-00145 {
-00146     if( ! Check(to) )
-00147         return 0;
-00148     fclose( to->fRead );
-00149     fclose( to->fWrit );
-00150     free( to );
-00151     return 1;
-00152 }
-00153 
-00154 
-00155 
-00156 int PipeComWaitFor( PCom *from, char *what )
-00157 {
-00158     char        buffer[256];
-00159     do {
-00160         if( ! PipeComReceive( from, buffer, 256 ) )
-00161             return 0;
-00162     } while( strcmp( buffer, what ) );
-00163     return 1;
-00164 }
-00165 
-00166 
-00167 
-00168 // Local Variables:
-00169 // coding: iso-8859-1
-00170 // c-file-style: "Stroustrup"
-00171 // fill-column: 80
-00172 // End:
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/pipecom_8h-source.html b/trunk/paradiseo-eo/doc/html/pipecom_8h-source.html deleted file mode 100644 index e5a11c8e8..000000000 --- a/trunk/paradiseo-eo/doc/html/pipecom_8h-source.html +++ /dev/null @@ -1,62 +0,0 @@ - - -EO: pipecom.h Source File - - - - - -

pipecom.h

00001 /* ----------------------------------------------------------------------
-00002  * Where........: CMAP - Polytechnique
-00003  * File.........: pipecom.h
-00004  * Author.......: Bertrand Lamy (EEAAX)
-00005  * Created......: Thu Mar  9 17:21:15 1995
-00006  * Description..: Pipe communication with a process
-00007  * ----------------------------------------------------------------------
-00008  */
-00009 
-00010 // This file cannot be used from C any more due to some const additions.
-00011 // However, if you remove the const, it should work in C as well.
-00012 
-00013 #ifndef EO_PIPECOM_H
-00014 #define EO_PIPECOM_H
-00015 
-00016 #include <stdio.h>
-00017 
-00018 
-00019 typedef struct PipeCommunication {
-00020     FILE        *fWrit;
-00021     FILE        *fRead;
-00022     int         pid;
-00023 } PCom;
-00024 
-00025 
-00026 extern PCom *PipeComOpen( char *prog );
-00027 extern PCom *PipeComOpenArgv( char *prog, char *argv[] );
-00028 
-00029 extern int PipeComSend( PCom *to, const char *line );
-00030 extern int PipeComSendn( PCom *to, const char *data, int n );
-00031 
-00032 extern int PipeComReceive( PCom *from, char *data, int max );
-00033 
-00034 extern int PipeComClose( PCom *to );
-00035 extern int PipeComWaitFor( PCom *from, char *what );
-00036 
-00037 
-00038 #endif // EO_PIPECOM_H
-00039 
-00040 
-00041 
-00042 // Local Variables:
-00043 // coding: iso-8859-1
-00044 // mode: C++
-00045 // c-file-style: "Stroustrup"
-00046 // fill-column: 80
-00047 // End:
-

Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/qp_8h-source.html b/trunk/paradiseo-eo/doc/html/qp_8h-source.html deleted file mode 100644 index dfd3d0d12..000000000 --- a/trunk/paradiseo-eo/doc/html/qp_8h-source.html +++ /dev/null @@ -1,266 +0,0 @@ - - -EO: qp.h Source File - - - - - -

qp.h

00001 //-----------------------------------------------------------------------------
-00002 // qp.h
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifndef qp_h
-00006 #define qp_h
-00007 
-00008 //-----------------------------------------------------------------------------
-00009 
-00010 #include <iostream>               // istream ostream
-00011 #include <algorithm>              // fill
-00012 #include <vector>                 // vector
-00013 #include <utils/rnd_generators.h> // uniform_generator
-00014 #include <mlp.h>                  // neuron layer net
-00015 
-00016 //-----------------------------------------------------------------------------
-00017 
-00018 namespace qp
-00019 {
-00020   //---------------------------------------------------------------------------
-00021   // useful typedefs
-00022   //---------------------------------------------------------------------------
-00023 
-00024   using mlp::real;
-00025   using mlp::vector;
-00026 
-00027   using mlp::max_real;
-00028   using mlp::min_real;
-00029 
-00030   using mlp::set;
-00031 
-00032   //---------------------------------------------------------------------------
-00033   // useful constants
-00034   //---------------------------------------------------------------------------
-00035 
-00036   const real eta_default    = 0.5;
-00037   const real eta_floor      = 0.0001;
-00038   const real alpha_default  = 0.9;
-00039   const real lambda_default = 0.5;
-00040   const real lambda0        = 0.1;
-00041   const real backtrack_step = 0.5;
-00042   const real me_floor       = 0.0001;
-00043   const real mw_floor       = 0.0001;
-00044   
-00045 
-00046   //---------------------------------------------------------------------------
-00047   // neuron
-00048   //---------------------------------------------------------------------------
-00049   
-00050   struct neuron
-00051   {
-00052     mlp::neuron* n;
-00053     real out, delta, ndelta, dbias1, dbias2;
-00054     vector dweight1, dweight2, dxo;
-00055     
-00056     neuron(mlp::neuron& _n): 
-00057       n(&_n), out(0), delta(0), ndelta(0), dbias1(0), dbias2(0), 
-00058       dweight1(n->weight.size(), 0), 
-00059       dweight2(n->weight.size(), 0), 
-00060       dxo(n->weight.size(), 0) {}
-00061     
-00062     void reset()
-00063     {
-00064       // underlaying neuron
-00065       n->reset();
-00066       
-00067       // addons
-00068       out = delta = ndelta = dbias1 = dbias2 = 0;
-00069       fill(dweight1.begin(), dweight1.end(), 0);
-00070       fill(dweight2.begin(), dweight2.end(), 0);
-00071       fill(dxo.begin(), dxo.end(), 0);
-00072     }
-00073     
-00074     real operator()(const vector& input)
-00075     {
-00076       return out = mlp::sigmoid(n->bias + dbias1 + 
-00077                                 (n->weight + dweight1) * input);
-00078     }
-00079   };
-00080   
-00081   ostream& operator<<(ostream& os, const neuron& n)
-00082   {
-00083     return os << *n.n << " " << n.out << " " << n.delta << " " 
-00084               << n.ndelta << " " << n.dbias1 << " " << n.dbias2 << " " 
-00085               << n.dweight1 << " " << n.dweight2 << " " << n.dxo;
-00086   }
-00087   
-00088   
-00089   //---------------------------------------------------------------------------
-00090   // layer
-00091   //---------------------------------------------------------------------------
-00092   
-00093   class layer: public std::vector<neuron>
-00094   {
-00095   public:
-00096     layer(mlp::layer& l)//: std::vector<neuron>(l.begin(), l.end()) {}
-00097     {
-00098       for (mlp::layer::iterator n = l.begin(); n != l.end(); ++n)
-00099         push_back(neuron(*n));
-00100     }
-00101 
-00102     void reset()
-00103     {
-00104       for(iterator n = begin(); n != end(); ++n)
-00105         n->reset();
-00106     }
-00107 
-00108     vector operator()(const vector& input)
-00109     {
-00110       vector output(size());
-00111       
-00112       for(unsigned i = 0; i < output.size(); ++i)
-00113         output[i] = (*this)[i](input);
-00114       
-00115       return output;
-00116     }
-00117   };
-00118 
-00119 
-00120   //---------------------------------------------------------------------------
-00121   // net
-00122   //---------------------------------------------------------------------------
-00123   
-00124   class net: public std::vector<layer>
-00125   {
-00126   public:  
-00127     net(mlp::net& n) //: std::vector<layer>(n.begin(), n.end()) { reset(); }
-00128     {
-00129       for (mlp::net::iterator l = n.begin(); l != n.end(); ++l)
-00130         push_back(*l);
-00131     }
-00132 
-00133     virtual ~net() {}
-00134 
-00135     void reset()
-00136     {
-00137       for(iterator l = begin(); l != end(); ++l)
-00138         l->reset();
-00139     }
-00140     
-00141     real train(const set& ts, 
-00142                unsigned   epochs, 
-00143                real       target_error, 
-00144                real       tolerance,
-00145                real       eta      = eta_default, 
-00146                real       momentum = alpha_default, 
-00147                real       lambda   = lambda_default)
-00148     {
-00149       real error_ = max_real;
-00150       
-00151       while (epochs-- && error_ > target_error)
-00152         {
-00153           real last_error = error_;
-00154           
-00155           init_delta();
-00156 
-00157           error_ = error(ts);
-00158           
-00159           if (error_ < last_error + tolerance)
-00160             {
-00161               coeff_adapt(eta, momentum, lambda);
-00162               weight_update(ts.size(), true, eta, momentum);
-00163             }
-00164           else
-00165             {
-00166               eta *= backtrack_step;
-00167               eta = max(eta, eta_floor);
-00168               momentum = eta * lambda;
-00169               weight_update(ts.size(), false, eta, momentum);
-00170               error_ = last_error;
-00171             }
-00172         }
-00173       
-00174       return error_;
-00175     }
-00176     
-00177     virtual real error(const set& ts) = 0;
-00178 
-00179     // protected:
-00180     void forward(vector input)
-00181     {
-00182       for (iterator l = begin(); l != end(); ++l)
-00183         {
-00184           vector tmp = (*l)(input);
-00185           input.swap(tmp);
-00186         }
-00187     }
-00188      
-00189     // private:
-00190     void init_delta()
-00191     {
-00192       for (iterator l = begin(); l != end(); ++l)
-00193         for (layer::iterator n = l->begin(); n != l->end(); ++n)
-00194           fill(n->dxo.begin(), n->dxo.end(), n->ndelta = 0.0);
-00195     }
-00196     
-00197     void coeff_adapt(real& eta, real& momentum, real& lambda)
-00198     {
-00199       real me = 0, mw = 0, ew = 0;
-00200       
-00201       for (iterator l = begin(); l != end(); ++l)
-00202         for (layer::iterator n = l->begin(); n != l->end(); ++n)
-00203           {
-00204             me += n->dxo * n->dxo;
-00205             mw += n->dweight1 * n->dweight1;
-00206             ew += n->dxo * n->dweight1;
-00207           }
-00208       
-00209       me = max(static_cast<real>(sqrt(me)), me_floor);
-00210       mw = max(static_cast<real>(sqrt(mw)), mw_floor);
-00211       eta *= (1.0 + 0.5 * ew / ( me * mw));
-00212       eta = max(eta, eta_floor);
-00213       lambda = lambda0 * me / mw;
-00214       momentum = eta * lambda;
-00215 #ifdef DEBUG
-00216       cout << me << "  \t" << mw << "  \t" << ew << "  \t" 
-00217            << eta << "  \t" << momentum << "  \t" << lambda << endl;
-00218 #endif // DEBUG
-00219     }
-00220     
-00221     void weight_update(unsigned size, bool fire, real eta, real momentum)
-00222     {
-00223       for (iterator l = begin(); l != end(); ++l)
-00224         for (layer::iterator n = l->begin(); n != l->end(); ++n)
-00225           {
-00226             n->ndelta /= size;
-00227             n->dxo /= size;
-00228             if (fire)
-00229               {
-00230                 n->n->weight += n->dweight1;
-00231                 n->dweight2 = n->dweight1;
-00232                 n->n->bias += n->dbias1;
-00233                 n->dbias2 = n->dbias1;
-00234               }
-00235             n->dweight1 = eta * n->dxo + momentum * n->dweight2;
-00236             n->dbias1 = eta * n->ndelta + momentum * n->dbias2;
-00237           }
-00238     }
-00239   };
-00240 
-00241   //---------------------------------------------------------------------------
-00242   
-00243 } // namespace qp
-00244 
-00245 //-----------------------------------------------------------------------------
-00246 
-00247 #endif // qp_h
-00248 
-00249 // Local Variables: 
-00250 // mode:C++ 
-00251 // End:
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/random__numbers_8cpp-source.html b/trunk/paradiseo-eo/doc/html/random__numbers_8cpp-source.html deleted file mode 100644 index 2384712b6..000000000 --- a/trunk/paradiseo-eo/doc/html/random__numbers_8cpp-source.html +++ /dev/null @@ -1,122 +0,0 @@ - - -EO: random_numbers.cpp Source File - - - - - -

random_numbers.cpp

00001 /*
-00002     PyEO
-00003 
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <utils/eoRNG.h>
-00022 #include <boost/python.hpp>
-00023 
-00024 using namespace boost::python;
-00025 
-00026 #include <sstream>
-00027 #include <boost/python/detail/api_placeholder.hpp>
-00028 
-00029 using namespace boost::python;
-00030 
-00031 namespace eo
-00032 {
-00033     eoRng rng(time(0));
-00034 }
-00035 
-00036 eoRng& get_rng() { return rng; }
-00037 double normal(eoRng& rng) { return rng.normal(); }
-00038 
-00039 std::string rng_to_string(const eoRng& _rng)
-00040 {
-00041     std::ostringstream os;
-00042     _rng.printOn(os);
-00043     os << std::ends;
-00044     return os.str();
-00045 }
-00046 
-00047 
-00048 void rng_from_string(eoRng& _rng, std::string s)
-00049 {
-00050     std::istringstream is(s);
-00051     _rng.readFrom(is);
-00052 }
-00053 
-00054 struct RNG_pickle_suite : boost::python::pickle_suite
-00055 {
-00056     static
-00057     boost::python::tuple getstate(const eoRng& _rng)
-00058     {
-00059         return boost::python::make_tuple(str(rng_to_string(_rng)));
-00060     }
-00061     static
-00062     void setstate(eoRng& _rng, boost::python::tuple pickled)
-00063     {
-00064         std::string state = extract<std::string>(pickled[0]);
-00065         rng_from_string(_rng, state);
-00066     }
-00067 };
-00068 
-00069 int spin(eoRng& _rng, numeric::array values, double total)
-00070 {
-00071    if (total == 0.0)
-00072    {
-00073         unsigned sz = len(values);
-00074         for (unsigned i = 0; i < sz; ++i)
-00075         {
-00076             total += extract<double>(values[i]); //extract?
-00077         }
-00078    }
-00079 
-00080    double chance = _rng.uniform() * total;
-00081 
-00082    int i = 0;
-00083    while (chance >= 0.0)
-00084        chance -= extract<double>(values[i++]);
-00085 
-00086    return --i;
-00087 }
-00088 
-00089 void random_numbers()
-00090 {
-00091     class_<eoRng, boost::noncopyable>("eoRng", init<uint32_t>())
-00092         .def("flip", &eoRng::flip)
-00093         .def("random", &eoRng::random)
-00094         .def("rand", &eoRng::rand)
-00095         .def("rand_max", &eoRng::rand_max)
-00096         .def("reseed", &eoRng::reseed)
-00097         .def("uniform", &eoRng::uniform)
-00098         .def("normal", normal)
-00099         .def("negexp", &eoRng::negexp)
-00100         .def("to_string", rng_to_string)
-00101         .def("from_string", rng_from_string)
-00102         .def("roulette_wheel", spin)
-00103         .def_pickle(RNG_pickle_suite())
-00104         ;
-00105 
-00106     def("rng", get_rng, return_value_policy<reference_existing_object>());
-00107 }
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/reduce_8cpp-source.html b/trunk/paradiseo-eo/doc/html/reduce_8cpp-source.html deleted file mode 100644 index 2a4cfd72d..000000000 --- a/trunk/paradiseo-eo/doc/html/reduce_8cpp-source.html +++ /dev/null @@ -1,80 +0,0 @@ - - -EO: reduce.cpp Source File - - - - - -

reduce.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoReduce.h>
-00022 
-00023 #include "PyEO.h"
-00024 
-00025 using namespace boost::python;
-00026 
-00027 // unfortunately have to define it specially
-00028 class eoReduceWrapper : public eoReduce<PyEO>
-00029 {
-00030     public:
-00031     PyObject* self;
-00032     eoReduceWrapper(PyObject* s) : self(s) {}
-00033     void operator()(eoPop<PyEO>& pop, unsigned i)
-00034     {
-00035         boost::python::call_method<void>(self, "__call__", pop, i );
-00036     }
-00037 };
-00038 
-00039 void reduce()
-00040 {
-00041     
-00042     // ref trick in def_abstract_functor does not work for unsigned int :-(
-00043     class_<eoReduce<PyEO>, eoReduceWrapper, boost::noncopyable>("eoReduce", init<>())
-00044         .def("__call__", &eoReduceWrapper::operator());
-00045 
-00046     class_<eoTruncate<PyEO>, bases<eoReduce<PyEO> > >("eoTruncate", init<>() )
-00047         .def("__call__", &eoReduce<PyEO>::operator())
-00048         ;
-00049     class_<eoRandomReduce<PyEO>, bases<eoReduce<PyEO> > >("eoRandomReduce")
-00050         .def("__call__", &eoReduce<PyEO>::operator())
-00051         ;
-00052     class_<eoEPReduce<PyEO>, bases<eoReduce<PyEO> > >("eoEPReduce", init<unsigned>())
-00053         .def("__call__", &eoReduce<PyEO>::operator())
-00054         ;
-00055     class_<eoLinearTruncate<PyEO>, bases<eoReduce<PyEO> > >("eoLinearTruncate")
-00056         .def("__call__", &eoReduce<PyEO>::operator())
-00057         ;
-00058     class_<eoDetTournamentTruncate<PyEO>, bases<eoReduce<PyEO> > >("eoDetTournamentTruncate", init<unsigned>())
-00059         .def("__call__", &eoReduce<PyEO>::operator())
-00060         ;
-00061     class_<eoStochTournamentTruncate<PyEO>, bases<eoReduce<PyEO> > >("eoStochTournamentTruncate", init<double>())
-00062         .def("__call__", &eoReduce<PyEO>::operator())
-00063         ;
-00064 }
-00065 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/related.html b/trunk/paradiseo-eo/doc/html/related.html deleted file mode 100644 index a6ba9b2d2..000000000 --- a/trunk/paradiseo-eo/doc/html/related.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EO: Projects - - - - -

ParadisEO

-

-ParadisEO is a project to extend EO to make use of dedicated parallel or distributed computing environments by Sébastien Cahon.


Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/replacement_8cpp-source.html b/trunk/paradiseo-eo/doc/html/replacement_8cpp-source.html deleted file mode 100644 index 76b0a6119..000000000 --- a/trunk/paradiseo-eo/doc/html/replacement_8cpp-source.html +++ /dev/null @@ -1,87 +0,0 @@ - - -EO: replacement.cpp Source File - - - - - -

replacement.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoReplacement.h>
-00022 #include <eoMergeReduce.h>
-00023 #include <eoReduceMerge.h>
-00024 #include <eoReduceMergeReduce.h>
-00025 #include <eoMGGReplacement.h>
-00026 
-00027 #include "PyEO.h"
-00028 #include "def_abstract_functor.h"
-00029 
-00030 using namespace boost::python;
-00031 
-00032 #define DEF(x) class_<x<PyEO>, bases<eoReplacement<PyEO > > >(#x).def("__call__", &eoReplacement<PyEO>::operator())
-00033 #define DEF2(x, i1) class_<x<PyEO>, bases<eoReplacement<PyEO > > >(#x, init<i1>() ).def("__call__", &eoReplacement<PyEO>::operator())
-00034 #define DEF3(x, i1, i2) class_<x<PyEO>, bases<eoReplacement<PyEO > > >(#x, \
-00035         init<i1, i2 >() [WC2])\
-00036     .def("__call__", &eoReplacement<PyEO>::operator())
-00037 
-00038 void replacement()
-00039 {
-00040     def_abstract_functor<eoReplacement<PyEO> >("eoReplacement");
-00041 
-00042     // eoReplacement.h
-00043     DEF(eoGenerationalReplacement); 
-00044     
-00045     class_<eoWeakElitistReplacement<PyEO>, bases<eoReplacement<PyEO> > > 
-00046         ("eoWeakElitistReplacement",
-00047          init< eoReplacement<PyEO>& >()[WC1]);
-00048     
-00049     // eoMergeReduce.h
-00050     DEF3(eoMergeReduce, eoMerge<PyEO>&, eoReduce<PyEO>& );
-00051     DEF(eoPlusReplacement);
-00052     DEF(eoCommaReplacement);
-00053     DEF2(eoEPReplacement, unsigned);
-00054 
-00055     // eoReduceMerge.h
-00056     DEF3(eoReduceMerge, eoReduce<PyEO>&, eoMerge<PyEO>& );
-00057     DEF(eoSSGAWorseReplacement);
-00058     DEF2(eoSSGADetTournamentReplacement, unsigned);
-00059     DEF2(eoSSGAStochTournamentReplacement, double);
-00060 
-00061     // eoReduceMergeReduce.h
-00062     //class_<eoReduceMergeReduce<PyEO>, bases<eoReplacement<PyEO> > >("eoReplacement",
-00063 //          init<eoHowMany, bool, eoHowMany, eoReduce<PyEO>&, 
-00064 //               eoHowMany, eoReduce<PyEO>&, eoReduce<PyEO>&>())
-00065 //      .def("__call__", &eoReplacement<PyEO>::operator());
-00066             
-00067     //eoMGGReplacement
-00068     DEF(eoMGGReplacement)
-00069         .def( init<eoHowMany>() )
-00070         .def( init<eoHowMany, unsigned>() );
-00071 }
-00072 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/rnd__generators_8h-source.html b/trunk/paradiseo-eo/doc/html/rnd__generators_8h-source.html deleted file mode 100644 index a389dfb6a..000000000 --- a/trunk/paradiseo-eo/doc/html/rnd__generators_8h-source.html +++ /dev/null @@ -1,150 +0,0 @@ - - -EO: rnd_generators.h Source File - - - - - -

rnd_generators.h

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003   -----------------------------------------------------------------------------
-00004   rnd_generators.h
-00005     Some utility functors for generating random generators:
-00006         uniform_generator : generates uniform floats or doubles
-00007         random_generator  : generates unsigneds, ints etc.
-00008         normal_generator  : normally distributed floats or doubles
-00009 
-00010  (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000
-00011 
-00012     This library is free software; you can redistribute it and/or
-00013     modify it under the terms of the GNU Lesser General Public
-00014     License as published by the Free Software Foundation; either
-00015     version 2 of the License, or (at your option) any later version.
-00016 
-00017     This library is distributed in the hope that it will be useful,
-00018     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00019     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00020     Lesser General Public License for more details.
-00021 
-00022     You should have received a copy of the GNU Lesser General Public
-00023     License along with this library; if not, write to the Free Software
-00024     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00025 
-00026     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00027  */
-00028 
-00029 //-----------------------------------------------------------------------------
-00030 
-00031 #ifndef eoRND_GENERATORS_H
-00032 #define eoRND_GENERATORS_H
-00033 
-00034 #include "eoRNG.h"
-00035 #include <stdexcept>
-00036 
-00044 template <class T = double> class uniform_generator
-00045 {
-00046   // added new ctor with 2 params, and modified the data to minim and range
-00047   // (was maxim only). MS 3/11/2000
-00048   public :
-00049     uniform_generator(T _max = T(1.0), eoRng& _rng = rng) :
-00050       minim(T(0.0)), range(_max), uniform(_rng) {}
-00051     uniform_generator(T _min, T _max, eoRng& _rng = rng) :
-00052       minim(_min), range(_max-_min), uniform(_rng)
-00053   {
-00054     if (_min>_max)
-00055       throw std::logic_error("Min is greater than Max in uniform_generator");
-00056   }
-00057 
-00058   T operator()(void) { return minim+static_cast<T>(uniform.uniform(range)); }
-00059 
-00060 private :
-00061   T minim;
-00062   T range;
-00063   eoRng& uniform;
-00064 };
-00065 
-00070 class boolean_generator
-00071 {
-00072   public :
-00073     boolean_generator(float _bias = 0.5, eoRng& _rng = rng) : bias(_bias), gen(_rng) {}
-00074 
-00075   bool operator()(void) { return gen.flip(bias); }
-00076   private :
-00077   float bias;
-00078   eoRng& gen;
-00079 };
-00080 
-00087 template <class T = uint32_t> class random_generator
-00088 {
-00089   public :
-00090   // added new ctor with 2 params, and modified the data to minim and range
-00091   // (was maxim only). MS 3/11/2000
-00092     random_generator(T _max, eoRng& _rng = rng) :
-00093       minim(T(0.0)), range(_max), random(_rng) {}
-00094     random_generator(T _min, T _max, eoRng& _rng = rng) :
-00095       minim(_min), range(_max-_min), random(_rng)
-00096   {
-00097     if (_min>_max)
-00098       throw std::logic_error("Min is greater than Max in random_generator");
-00099   }
-00100 
-00101   T operator()(void) { return (T) (minim + random.random(range)); }
-00102 
-00103 private :
-00104   T minim;
-00105   T range;
-00106   eoRng& random;
-00107 };
-00108 
-00110 template <>
-00111 inline bool random_generator<bool>::operator()(void)
-00112 {
-00113     return random.flip(0.5);
-00114 }
-00115 
-00121 template <class T = uint32_t> class UF_random_generator
-00122 {
-00123   public :
-00124     UF_random_generator(eoRng& _rng = rng) :
-00125       random(_rng) {}
-00126 
-00127   T operator()(T _t) { return (T) (random.random(_t)); }
-00128 
-00129 private :
-00130   eoRng& random;
-00131 };
-00132 
-00133 
-00139 template <class T = double> class normal_generator
-00140 {
-00141   public :
-00142     normal_generator(T _stdev = T(1.0), eoRng& _rng = rng) : stdev(_stdev), normal(_rng) {}
-00143 
-00144   T operator()(void) { return (T) normal.normal(stdev); }
-00145 
-00146   private :
-00147     T stdev;
-00148   eoRng& normal;
-00149 };
-00150 
-00156 template <class T = double> class negexp_generator
-00157 {
-00158   public :
-00159     negexp_generator(T _mean = 1.0, eoRng& _rng = rng) : mean(_mean), negexp(_rng) {}
-00160 
-00161   T operator()(void) { return (T) negexp.negexp(mean); }
-00162 
-00163   private :
-00164     T mean;
-00165   eoRng& negexp;
-00166 };
-00167 
-00168 #endif
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/search.idx b/trunk/paradiseo-eo/doc/html/search.idx deleted file mode 100644 index acf21038f..000000000 Binary files a/trunk/paradiseo-eo/doc/html/search.idx and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/search.php b/trunk/paradiseo-eo/doc/html/search.php deleted file mode 100644 index 1c14a2578..000000000 --- a/trunk/paradiseo-eo/doc/html/search.php +++ /dev/null @@ -1,357 +0,0 @@ - - -Search - - - -
\n"; - echo "
\n"; - $results = array(); - $requiredWords = array(); - $forbiddenWords = array(); - $foundWords = array(); - $word=strtok($query," "); - while ($word) // for each word in the search query - { - if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; } - if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; } - if (!in_array($word,$foundWords)) - { - $foundWords[]=$word; - search($file,$word,$results); - } - $word=strtok(" "); - } - $docs = array(); - combine_results($results,$docs); - // filter out documents with forbidden word or that do not contain - // required words - $filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords); - // sort the results based on rank - $sorted = array(); - sort_results($filteredDocs,$sorted); - // report results to the user - report_results($sorted); - fclose($file); -} - -main(); - - -?> -
Generated on Thu Oct 19 05:07:02 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/select_one_8cpp-source.html b/trunk/paradiseo-eo/doc/html/select_one_8cpp-source.html deleted file mode 100644 index 211dc1756..000000000 --- a/trunk/paradiseo-eo/doc/html/select_one_8cpp-source.html +++ /dev/null @@ -1,122 +0,0 @@ - - -EO: selectOne.cpp Source File - - - - - -

selectOne.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoSelectOne.h>
-00022 #include <eoDetTournamentSelect.h>
-00023 #include <eoRandomSelect.h>
-00024 #include <eoStochTournamentSelect.h>
-00025 #include <eoTruncatedSelectOne.h>
-00026 #include <eoSequentialSelect.h>
-00027 
-00028 #include "PyEO.h"
-00029 #include "pickle.h"
-00030 #include "def_abstract_functor.h"
-00031 
-00032 using namespace boost::python;
-00033 
-00034 class eoSelectOneWrapper : public eoSelectOne<PyEO>
-00035 {
-00036     public:
-00037     PyObject* self;
-00038     eoSelectOneWrapper(PyObject* p) : self(p) {}
-00039     const PyEO& operator()(const eoPop<PyEO>& pop) 
-00040     {
-00041         return boost::python::call_method< const PyEO& >(self, "__call__", boost::ref(pop));
-00042     }
-00043 };
-00044 
-00045 template <class Select>
-00046 void add_select(std::string name)
-00047 {
-00048     class_<Select, bases<eoSelectOne<PyEO> > >(name.c_str(), init<>() )
-00049         .def("__call__", &Select::operator(), return_internal_reference<>() )
-00050         ;
-00051 }
-00052 
-00053 template <class Select, class Init>
-00054 void add_select(std::string name, Init init)
-00055 {
-00056     class_<Select, bases<eoSelectOne<PyEO> > >(name.c_str(), init)
-00057         .def("__call__", &Select::operator(), return_internal_reference<>() )
-00058         ;
-00059 }
-00060     
-00061 template <class Select, class Init1, class Init2>
-00062 void add_select(std::string name, Init1 init1, Init2 init2)
-00063 {
-00064     class_<Select, bases<eoSelectOne<PyEO> > >(name.c_str(), init1)
-00065         .def( init2 )
-00066         .def("__call__", &Select::operator(), return_internal_reference<>() )
-00067         .def("setup", &Select::setup);
-00068 }
-00069 
-00070 void selectOne()
-00071 {
-00072     /* Concrete classes */
-00073    
-00074     pickle(class_<eoHowMany>("eoHowMany", init<>())
-00075         .def( init<double>() )
-00076         .def( init<double, bool>() )
-00077         .def( init<int>() )
-00078         .def("__call__", &eoHowMany::operator())
-00079         .def("__neg__", &eoHowMany::operator-)
-00080           ); 
-00081     
-00082     class_<eoSelectOne<PyEO>, eoSelectOneWrapper, boost::noncopyable>("eoSelectOne", init<>())
-00083         .def("__call__", &eoSelectOneWrapper::operator(), return_internal_reference<>() )
-00084         .def("setup", &eoSelectOne<PyEO>::setup);
-00085     
-00086     /* SelectOne derived classes */
-00087     
-00088     add_select<eoDetTournamentSelect<PyEO> >("eoDetTournamentSelect", init<>(), init<unsigned>() );
-00089     add_select<eoStochTournamentSelect<PyEO> >("eoStochTournamentSelect", init<>(), init<double>() );
-00090     add_select<eoTruncatedSelectOne<PyEO>  >("eoTruncatedSelectOne", 
-00091             init<eoSelectOne<PyEO>&, double>()[WC1], init<eoSelectOne<PyEO>&, eoHowMany >()[WC1] );
-00092     
-00093     // eoProportionalSelect is not feasible to implement at this point as fitness is not recognizable as a float
-00094     // use eoDetTournament instead: with a t-size of 2 it is equivalent to eoProportional with linear scaling
-00095     //add_select<eoProportionalSelect<PyEO> >("eoProportionalSelect", init<eoPop<PyEO>&>() );
-00096     
-00097     add_select<eoRandomSelect<PyEO> >("eoRandomSelect");
-00098     add_select<eoBestSelect<PyEO> >("eoBestSelect");
-00099     add_select<eoNoSelect<PyEO> >("eoNoSelect");
-00100     
-00101     add_select<eoSequentialSelect<PyEO> >("eoSequentialSelect", init<>(), init<bool>());
-00102     add_select<eoEliteSequentialSelect<PyEO> >("eoEliteSequentialSelect");
-00103     /*
-00104      * eoSelectFromWorth.h:class eoSelectFromWorth : public eoSelectOne<EOT>
-00105     
-00106     */
-00107 }
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/selectors_8cpp-source.html b/trunk/paradiseo-eo/doc/html/selectors_8cpp-source.html deleted file mode 100644 index fc0c9f760..000000000 --- a/trunk/paradiseo-eo/doc/html/selectors_8cpp-source.html +++ /dev/null @@ -1,76 +0,0 @@ - - -EO: selectors.cpp Source File - - - - - -

selectors.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <eoSelect.h>
-00022 #include <eoDetSelect.h>
-00023 #include <eoSelectMany.h>
-00024 #include <eoSelectNumber.h>
-00025 #include <eoSelectPerc.h>
-00026 #include <eoTruncSelect.h>
-00027 #include <eoTruncatedSelectMany.h>
-00028 
-00029 #include "PyEO.h"
-00030 #include "def_abstract_functor.h"
-00031 
-00032 using namespace boost::python;
-00033 
-00034 #define DEF(x) class_<x<PyEO>, bases<eoSelect<PyEO > > >(#x).def("__call__", &eoSelect<PyEO>::operator())
-00035 #define DEF2(x, i1) class_<x<PyEO>, bases<eoSelect<PyEO > > >(#x, init<i1>()[WC1] ).def("__call__", &eoSelect<PyEO>::operator())
-00036 #define DEF3(x, i1, i2) class_<x<PyEO>, bases<eoSelect<PyEO > > >(#x, init<i1, i2 >()[WC1] ).def("__call__", &eoSelect<PyEO>::operator())
-00037 
-00038 void selectors()
-00039 {
-00040     def_abstract_functor<eoSelect<PyEO> >("eoSelect");
-00041 
-00042     DEF(eoDetSelect).def( init<double>() ).def( init<double, bool>() );
-00043     DEF3(eoSelectMany, eoSelectOne<PyEO>&, double)
-00044         .def( init< eoSelectOne<PyEO>&, double, bool>()[WC1] )
-00045         .def( init< eoSelectOne<PyEO>&, eoHowMany>()[WC1] );
-00046 
-00047     DEF2(eoSelectNumber, eoSelectOne<PyEO>&)
-00048         .def( init< eoSelectOne<PyEO>&, unsigned>()[WC1]);
-00049 
-00050     DEF2(eoSelectPerc, eoSelectOne<PyEO>&)
-00051         .def( init<eoSelectOne<PyEO>&, float>()[WC1] );
-00052 
-00053     DEF3(eoTruncSelect, eoSelectOne<PyEO>&, eoHowMany);
-00054 
-00055     class_<eoTruncatedSelectMany<PyEO>, bases<eoSelect<PyEO> > >("eoTruncatedSelectMany",
-00056             init<eoSelectOne<PyEO>&, double, double>()[WC1])
-00057         .def(init<eoSelectOne<PyEO>&, double, double, bool> ()[WC1])
-00058         .def(init<eoSelectOne<PyEO>&, double, double, bool, bool> ()[WC1])
-00059         .def(init<eoSelectOne<PyEO>&, eoHowMany, eoHowMany> ()[WC1]);
-00060         
-00061 }
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/selectors_8h-source.html b/trunk/paradiseo-eo/doc/html/selectors_8h-source.html deleted file mode 100644 index 3a91de3ad..000000000 --- a/trunk/paradiseo-eo/doc/html/selectors_8h-source.html +++ /dev/null @@ -1,349 +0,0 @@ - - -EO: selectors.h Source File - - - - - -

selectors.h

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003   -----------------------------------------------------------------------------
-00004   selectors.h
-00005     A bunch of useful selector functions. They generally have three forms:
-00006 
-00007     template <class It>
-00008     It select(It begin, It end, params, eoRng& gen = rng);
-00009 
-00010     template <class EOT>
-00011     const EOT& select(const eoPop<EOT>& pop, params, eoRng& gen = rng);
-00012 
-00013     template <class EOT>
-00014     EOT& select(eoPop<EOT>& pop, params, eoRng& gen = rng);
-00015 
-00016     where select is one of: roulette_wheel, deterministic_tournament
-00017     and stochastic_tournament (at the moment).
-00018 
-00019  (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000
-00020 
-00021     This library is free software; you can redistribute it and/or
-00022     modify it under the terms of the GNU Lesser General Public
-00023     License as published by the Free Software Foundation; either
-00024     version 2 of the License, or (at your option) any later version.
-00025 
-00026     This library is distributed in the hope that it will be useful,
-00027     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00028     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00029     Lesser General Public License for more details.
-00030 
-00031     You should have received a copy of the GNU Lesser General Public
-00032     License along with this library; if not, write to the Free Software
-00033     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00034 
-00035     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00036  */
-00037 
-00038 #ifndef SELECT__H
-00039 #define SELECT__H
-00040 
-00041 #include <stdexcept>
-00042 
-00043 #include "eoRNG.h"
-00044 #include <eoPop.h>
-00049 template <class EOT>
-00050 bool minimizing_fitness()
-00051 {
-00052     EOT eo1; // Assuming people don't do anything fancy in the default constructor!
-00053     EOT eo2;
-00054 
-00055     /* Dear user, when the two line below do not compile you are most
-00056        likely not working with scalar fitness values. In that case we're sorry
-00057        but you cannot use lottery or roulette_wheel selection...
-00058     */
-00059 
-00060 #ifdef _MSC_VER
-00061     eo1.fitness( EOT::Fitness(0.0) );
-00062     eo2.fitness( EOT::Fitness(1.0) );
-00063 #else
-00064     eo1.fitness( typename EOT::Fitness(0.0) ); // tried to cast it to an EOT::Fitness, but for some reason GNU barfs on this
-00065     eo2.fitness( typename EOT::Fitness(1.0) );
-00066 #endif
-00067 
-00068     return eo2 < eo1; // check whether we have a minimizing fitness
-00069 }
-00070 
-00071 inline double scale_fitness(const std::pair<double, double>& _minmax, double _value)
-00072 {
-00073     if (_minmax.first == _minmax.second)
-00074     {
-00075         return 0.0; // no differences in fitness, population converged!
-00076     }
-00077     // else
-00078 
-00079     return (_value - _minmax.first) / (_minmax.second - _minmax.first);
-00080 }
-00081 
-00082 template <class It>
-00083 double sum_fitness(It begin, It end)
-00084 {
-00085     double sum = 0.0;
-00086 
-00087     for (; begin != end; ++begin)
-00088     {
-00089         double v = static_cast<double>(begin->fitness());
-00090         if (v < 0.0)
-00091             throw std::logic_error("sum_fitness: negative fitness value encountered");
-00092         sum += v;
-00093     }
-00094 
-00095     return sum;
-00096 }
-00097 
-00098 template <class EOT>
-00099 double sum_fitness(const eoPop<EOT>& _pop)
-00100 {
-00101     return sum_fitness(_pop.begin(), _pop.end());
-00102 }
-00103 
-00104 template <class EOT>
-00105 double sum_fitness(const eoPop<EOT>& _pop, std::pair<double, double>& _minmax)
-00106 {
-00107     double rawTotal, scaledTotal;
-00108 
-00109     typename eoPop<EOT>::const_iterator it = _pop.begin();
-00110 
-00111     _minmax.first = it->fitness();
-00112     _minmax.second = it++->fitness();
-00113 
-00114     for(; it != _pop.end(); ++it)
-00115     {
-00116         double v = static_cast<double>(it->fitness());
-00117 
-00118         _minmax.first = std::min(_minmax.first, v);
-00119         _minmax.second = std::max(_minmax.second, v);
-00120 
-00121         rawTotal += v;
-00122     }
-00123 
-00124     if (minimizing_fitness<EOT>())
-00125     {
-00126         std::swap(_minmax.first, _minmax.second);
-00127     }
-00128 
-00129     scaledTotal = 0.0;
-00130 
-00131     // unfortunately a second loop is neccessary to scale the fitness
-00132     for (it = _pop.begin(); it != _pop.end(); ++it)
-00133     {
-00134         double v = scale_fitness(_minmax, static_cast<double>(it->fitness()));
-00135 
-00136         scaledTotal += v;
-00137     }
-00138 
-00139     return scaledTotal;
-00140 }
-00141 
-00142 template <class It>
-00143 It roulette_wheel(It _begin, It _end, double total, eoRng& _gen = rng)
-00144 {
-00145 
-00146     float roulette = _gen.uniform(total);
-00147 
-00148     if (roulette == 0.0)           // covers the case where total==0.0
-00149       return _begin + _gen.random(_end - _begin); // uniform choice
-00150 
-00151     It i = _begin;
-00152 
-00153     while (roulette > 0.0)
-00154     {
-00155             roulette -= static_cast<double>(*(i++));
-00156     }
-00157 
-00158     return --i;
-00159 }
-00160 
-00161 template <class EOT>
-00162 const EOT& roulette_wheel(const eoPop<EOT>& _pop, double total, eoRng& _gen = rng)
-00163 {
-00164     float roulette = _gen.uniform(total);
-00165 
-00166     if (roulette == 0.0)           // covers the case where total==0.0
-00167       return _pop[_gen.random(_pop.size())]; // uniform choice
-00168 
-00169     typename eoPop<EOT>::const_iterator i = _pop.begin();
-00170 
-00171     while (roulette > 0.0)
-00172     {
-00173             roulette -= static_cast<double>((i++)->fitness());
-00174     }
-00175 
-00176     return *--i;
-00177 }
-00178 
-00179 template <class EOT>
-00180 EOT& roulette_wheel(eoPop<EOT>& _pop, double total, eoRng& _gen = rng)
-00181 {
-00182     float roulette = _gen.uniform(total);
-00183 
-00184     if (roulette == 0.0)           // covers the case where total==0.0
-00185       return _pop[_gen.random(_pop.size())]; // uniform choice
-00186 
-00187     typename eoPop<EOT>::iterator i = _pop.begin();
-00188 
-00189     while (roulette > 0.0)
-00190     {
-00191             roulette -= static_cast<double>((i++)->fitness());
-00192     }
-00193 
-00194     return *--i;
-00195 }
-00196 
-00197 template <class It>
-00198 It deterministic_tournament(It _begin, It _end, unsigned _t_size, eoRng& _gen = rng)
-00199 {
-00200     It best = _begin + _gen.random(_end - _begin);
-00201 
-00202     for (unsigned i = 0; i < _t_size - 1; ++i)
-00203     {
-00204         It competitor = _begin + _gen.random(_end - _begin);
-00205 
-00206         if (*best < *competitor)
-00207         {
-00208             best = competitor;
-00209         }
-00210     }
-00211 
-00212     return best;
-00213 }
-00214 
-00215 template <class EOT>
-00216 const EOT& deterministic_tournament(const eoPop<EOT>& _pop, unsigned _t_size, eoRng& _gen = rng)
-00217 {
-00218     return *deterministic_tournament(_pop.begin(), _pop.end(), _t_size, _gen);
-00219 }
-00220 
-00221 template <class EOT>
-00222 EOT& deterministic_tournament(eoPop<EOT>& _pop, unsigned _t_size, eoRng& _gen = rng)
-00223 {
-00224     return *deterministic_tournament(_pop.begin(), _pop.end(), _t_size, _gen);
-00225 }
-00226 
-00227 template <class It>
-00228 It inverse_deterministic_tournament(It _begin, It _end, unsigned _t_size, eoRng& _gen = rng)
-00229 {
-00230     It worst = _begin + _gen.random(_end - _begin);
-00231 
-00232     for (unsigned i = 1; i < _t_size; ++i)
-00233     {
-00234         It competitor = _begin + _gen.random(_end - _begin);
-00235 
-00236         if (competitor == worst)
-00237         {
-00238             --i;
-00239             continue; // try again
-00240         }
-00241 
-00242         if (*competitor < *worst)
-00243         {
-00244             worst = competitor;
-00245         }
-00246     }
-00247 
-00248     return worst;
-00249 }
-00250 
-00251 template <class EOT>
-00252 const EOT& inverse_deterministic_tournament(const eoPop<EOT>& _pop, unsigned _t_size, eoRng& _gen = rng)
-00253 {
-00254     return *inverse_deterministic_tournament<EOT>(_pop.begin(), _pop.end(), _t_size, _gen);
-00255 }
-00256 
-00257 template <class EOT>
-00258 EOT& inverse_deterministic_tournament(eoPop<EOT>& _pop, unsigned _t_size, eoRng& _gen = rng)
-00259 {
-00260     return *inverse_deterministic_tournament(_pop.begin(), _pop.end(), _t_size, _gen);
-00261 }
-00262 
-00263 template <class It>
-00264 It stochastic_tournament(It _begin, It _end, double _t_rate, eoRng& _gen = rng)
-00265 {
-00266   It i1 = _begin + _gen.random(_end - _begin);
-00267   It i2 = _begin + _gen.random(_end - _begin);
-00268 
-00269   bool return_better = _gen.flip(_t_rate);
-00270 
-00271   if (*i1 < *i2)
-00272   {
-00273       if (return_better) return i2;
-00274       // else
-00275 
-00276       return i1;
-00277    }
-00278     else
-00279     {
-00280       if (return_better) return i1;
-00281       // else
-00282     }
-00283     // else
-00284 
-00285     return i2;
-00286 }
-00287 
-00288 template <class EOT>
-00289 const EOT& stochastic_tournament(const eoPop<EOT>& _pop, double _t_rate, eoRng& _gen = rng)
-00290 {
-00291     return *stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen);
-00292 }
-00293 
-00294 template <class EOT>
-00295 EOT& stochastic_tournament(eoPop<EOT>& _pop, double _t_rate, eoRng& _gen = rng)
-00296 {
-00297     return *stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen);
-00298 }
-00299 
-00300 template <class It>
-00301 It inverse_stochastic_tournament(It _begin, It _end, double _t_rate, eoRng& _gen = rng)
-00302 {
-00303   It i1 = _begin + _gen.random(_end - _begin);
-00304   It i2 = _begin + _gen.random(_end - _begin);
-00305 
-00306   bool return_worse = _gen.flip(_t_rate);
-00307 
-00308   if (*i1 < *i2)
-00309   {
-00310       if (return_worse) return i1;
-00311       // else
-00312 
-00313       return i2;
-00314    }
-00315     else
-00316     {
-00317       if (return_worse) return i2;
-00318       // else
-00319     }
-00320     // else
-00321 
-00322     return i1;
-00323 }
-00324 
-00325 template <class EOT>
-00326 const EOT& inverse_stochastic_tournament(const eoPop<EOT>& _pop, double _t_rate, eoRng& _gen = rng)
-00327 {
-00328     return *inverse_stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen);
-00329 }
-00330 
-00331 template <class EOT>
-00332 EOT& inverse_stochastic_tournament(eoPop<EOT>& _pop, double _t_rate, eoRng& _gen = rng)
-00333 {
-00334     return *inverse_stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen);
-00335 }
-00336 
-00337 
-00338 #endif
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/shared__ptr_8h-source.html b/trunk/paradiseo-eo/doc/html/shared__ptr_8h-source.html deleted file mode 100644 index ada9672e9..000000000 --- a/trunk/paradiseo-eo/doc/html/shared__ptr_8h-source.html +++ /dev/null @@ -1,117 +0,0 @@ - - -EO: shared_ptr.h Source File - - - - - -

shared_ptr.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef _SHARED_PTR_H
-00019 #define _SHARED_PTR_H
-00020 
-00021 
-00022 template <class T> class weak_ptr;
-00023     
-00024 template <class T>
-00025 class shared_ptr {
-00026     private:
-00027         T* ptr;
-00028         unsigned* count; //
-00029 
-00030         /* special case, null pointer (nil-code) */
-00031         static unsigned* nil() { static unsigned nil_counter(1); return &nil_counter; }
-00032         
-00033         void decref() { if (--(*count) == 0) { delete ptr; delete count; }} 
-00034         void incref() { ++(*count); }
-00035         
-00036         friend class weak_ptr<T>;
-00037         
-00038     public:
-00039         
-00040         shared_ptr() : ptr(0), count(nil()) { incref(); }
-00041         ~shared_ptr() { decref(); }
-00042         
-00043         shared_ptr(const shared_ptr<T>& o) : ptr(o.ptr), count(o.count) { incref(); }
-00044         shared_ptr(T* p) : ptr(p), count(new unsigned(1)) {}
-00045         explicit shared_ptr(const weak_ptr<T>& w) : ptr(w.ptr), count(w.count) { incref(); }
-00046         
-00047         shared_ptr<T>& operator=(const shared_ptr<T>& o) {
-00048             if (ptr == o.ptr) return *this;
-00049             decref();
-00050             ptr = o.ptr;
-00051             count = o.count;
-00052             incref();
-00053             return *this;
-00054         }
-00055         
-00056         T* get() { return ptr; }
-00057         T* operator->() { return ptr; }
-00058         T& operator*()  { return *ptr; }
-00059 
-00060         const T* get() const { return ptr; }
-00061         const T* operator->() const { return ptr; }
-00062         const T& operator*() const { return *ptr; }
-00063 
-00064         bool operator==(const shared_ptr<T>& o) const { return ptr == o.ptr; }
-00065         bool operator!=(const shared_ptr<T>& o) const { return ptr != o.ptr; }
-00066         bool operator<(const shared_ptr<T>& o) const { return ptr < o.ptr; }    
-00067 
-00068         unsigned refcount() const { return *count; }
-00069 };
-00070 
-00071 template <class T>
-00072 class weak_ptr {
-00073         T* ptr;
-00074         unsigned* count;
-00075         
-00076         friend class shared_ptr<T>;
-00077         
-00078     public:
-00079         
-00080         weak_ptr() : ptr(0), count(shared_ptr<T>::nil()) {}
-00081         explicit weak_ptr( const shared_ptr<T>& s) : ptr(s.ptr), count(s.count) {}
-00082         
-00083         shared_ptr<T> lock() const { return shared_ptr<T>(*this); }
-00084 
-00085         
-00086         T* get() { return ptr; }
-00087         T* operator->() { return ptr; }
-00088         T& operator*()  { return *ptr; }
-00089 
-00090         const T* get() const { return ptr; }
-00091         const T* operator->() const { return ptr; }
-00092         const T& operator*() const { return *ptr; }
-00093 
-00094         bool operator==(const shared_ptr<T>& o) const { return ptr == o.ptr; }
-00095         bool operator!=(const shared_ptr<T>& o) const { return ptr != o.ptr; }
-00096         bool operator<(const shared_ptr<T>& o) const { return ptr < o.ptr; }    
-00097         
-00098         unsigned refcount() const { return *count; }
-00099         
-00100 };
-00101 
-00102 #endif
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/src_2pyeo_2_n_e_w_s-source.html b/trunk/paradiseo-eo/doc/html/src_2pyeo_2_n_e_w_s-source.html deleted file mode 100644 index e5fea14f3..000000000 --- a/trunk/paradiseo-eo/doc/html/src_2pyeo_2_n_e_w_s-source.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EO: NEWS Source File - - - - - -

src/pyeo/NEWS


Generated on Thu Oct 19 05:06:41 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/src_2pyeo_2_r_e_a_d_m_e-source.html b/trunk/paradiseo-eo/doc/html/src_2pyeo_2_r_e_a_d_m_e-source.html deleted file mode 100644 index 5edf43719..000000000 --- a/trunk/paradiseo-eo/doc/html/src_2pyeo_2_r_e_a_d_m_e-source.html +++ /dev/null @@ -1,19 +0,0 @@ - - -EO: README Source File - - - - - -

src/pyeo/README

00001 
-00002 See BUILDING for details on how to build this thing
-00003 
-00004 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/statistics_8cpp-source.html b/trunk/paradiseo-eo/doc/html/statistics_8cpp-source.html deleted file mode 100644 index 5837a6da8..000000000 --- a/trunk/paradiseo-eo/doc/html/statistics_8cpp-source.html +++ /dev/null @@ -1,76 +0,0 @@ - - -EO: statistics.cpp Source File - - - - - -

statistics.cpp

00001 #include <utils/eoStat.h>
-00002 
-00003 #include "PyEO.h"
-00004 #include "valueParam.h"
-00005 
-00006 using namespace boost::python;
-00007 
-00008 class StatBaseWrapper : public eoStatBase<PyEO> 
-00009 {
-00010     public:
-00011     PyObject* self;
-00012     StatBaseWrapper(PyObject* p) : self(p) {}
-00013 
-00014     void operator()(const eoPop<PyEO>& pop)
-00015     {
-00016         call_method<void>(self, "__call__", boost::ref(pop));
-00017     }
-00018 };
-00019 
-00020 class SortedStatBaseWrapper : public eoSortedStatBase<PyEO> 
-00021 {
-00022     public:
-00023     PyObject* self;
-00024     SortedStatBaseWrapper(PyObject* p) : self(p) {}
-00025 
-00026     void operator()(const std::vector<const PyEO*>& pop)
-00027     {
-00028         call_method<void>(self, "__call__", boost::ref(pop));
-00029     }
-00030 };
-00031 
-00032 typedef std::vector<const PyEO*> eoPopView;
-00033 
-00034 const PyEO& popview_getitem(const std::vector<const PyEO*>& pop, int it) 
-00035 { 
-00036     unsigned item = unsigned(it);
-00037     if (item > pop.size())
-00038         throw index_error("too much");
-00039             
-00040     return *pop[item]; 
-00041 }
-00042 
-00043 void statistics()
-00044 {
-00045     class_<eoStatBase<PyEO>, StatBaseWrapper, boost::noncopyable>
-00046         ("eoStatBase", init<>())
-00047         .def("lastCall", &eoStatBase<PyEO>::lastCall)
-00048         .def("__call__", &StatBaseWrapper::operator())
-00049         ;
-00050 
-00051     class_< eoPopView >("eoPopView")
-00052         .def("__getitem__", popview_getitem, return_internal_reference<>() )
-00053         .def("__len__", &eoPopView::size)
-00054         ;
-00055     
-00056     class_<eoSortedStatBase<PyEO>, SortedStatBaseWrapper, boost::noncopyable>
-00057         ("eoSortedStatBase", init<>())
-00058         .def("lastCall", &eoSortedStatBase<PyEO>::lastCall)
-00059         .def("__call__", &SortedStatBaseWrapper::operator())
-00060         ;
-00061 }
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/stats_8h-source.html b/trunk/paradiseo-eo/doc/html/stats_8h-source.html deleted file mode 100644 index 86d948eb6..000000000 --- a/trunk/paradiseo-eo/doc/html/stats_8h-source.html +++ /dev/null @@ -1,133 +0,0 @@ - - -EO: stats.h Source File - - - - - -

stats.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include <vector>
-00019 
-00020 class Mean {
-00021 
-00022     double n;
-00023     double mean;
-00024 
-00025     public:
-00026     Mean() : n(0), mean(0) {}
-00027     
-00028     void update(double v) {
-00029         n++;
-00030         double d = v - mean;
-00031         mean += 1/n * d;
-00032     }
-00033 
-00034     double get_mean() const { return mean; }
-00035 };
-00036 
-00037 class Var {
-00038     double n;
-00039     double mean;
-00040     double sumvar;
-00041 
-00042     public:
-00043     Var() : n(0), mean(0), sumvar(0) {}
-00044 
-00045     void update(double v) {
-00046         n++;
-00047         double d = v - mean;
-00048         mean += 1/n * d;
-00049         sumvar += (n-1)/n * d * d;
-00050     }
-00051 
-00052     double get_mean() const { return mean;           }
-00053     double get_var()  const { return sumvar / (n-1); }
-00054     double get_std()  const { return sqrt(get_var());  }
-00055 };
-00056 
-00058 class Cov {
-00059     double n;
-00060     double meana;
-00061     double meanb;
-00062     double sumcov;
-00063     
-00064     public:
-00065     Cov() : n(0), meana(0), meanb(0), sumcov(0) {}
-00066 
-00067     void update(double a, double b) {
-00068         ++n;
-00069         double da = a - meana;
-00070         double db = b - meanb;
-00071 
-00072         meana += 1/n * da;
-00073         meanb += 1/n * db;
-00074 
-00075         sumcov += (n-1)/n * da * db;
-00076     }
-00077     
-00078     double get_meana() const { return meana; }
-00079     double get_meanb() const { return meanb; }
-00080     double get_cov()   const { return sumcov / (n-1); }
-00081 };
-00082 
-00083 class CovMatrix {
-00084     double n;
-00085     std::vector<double> mean;
-00086     std::vector< std::vector<double> > sumcov;
-00087 
-00088     public:
-00089     CovMatrix(unsigned dim) : n(0), mean(dim), sumcov(dim , std::vector<double>(dim)) {}
-00090 
-00091     void update(const std::vector<double>& v) {
-00092         n++;
-00093         
-00094         for (unsigned i = 0; i < v.size(); ++i) {
-00095             double d = v[i] - mean[i];
-00096             mean[i] += 1/n * d;
-00097 
-00098             sumcov[i][i] += (n-1)/n * d * d;
-00099 
-00100             for (unsigned j = i; j < v.size(); ++j) {
-00101                 double e = v[j] - mean[j]; // mean[j] is not updated yet
-00102                 
-00103                 double upd = (n-1)/n * d * e;
-00104 
-00105                 sumcov[i][j] += upd;
-00106                 sumcov[j][i] += upd;
-00107                 
-00108             }
-00109         }
-00110         
-00111     }
-00112     
-00113     double get_mean(int i) const { return mean[i]; }
-00114     double get_var(int i ) const { return sumcov[i][i] / (n-1); }
-00115     double get_std(int i) const  { return sqrt(get_var(i)); }
-00116     double get_cov(int i, int j) const { return sumcov[i][j] / (n-1); }
-00117     
-00118 };
-00119 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/struct_dummy-members.html b/trunk/paradiseo-eo/doc/html/struct_dummy-members.html deleted file mode 100644 index 040fbf5ab..000000000 --- a/trunk/paradiseo-eo/doc/html/struct_dummy-members.html +++ /dev/null @@ -1,56 +0,0 @@ - - -EO: Member List - - - - -

Dummy Member List

This is the complete list of members for Dummy, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
className() const EO< double > [inline, virtual]
Dummy(std::string _s="") (defined in Dummy)Dummy [inline]
EO()EO< double > [inline]
EO() (defined in EO< double >)EO< double > [inline]
fitness() const EO< double > [inline]
fitness(const Fitness &_fitness)EO< double > [inline]
fitness(performance_type perf) (defined in EO< double >)EO< double > [inline]
fitness(void) const (defined in EO< double >)EO< double > [inline]
Fitness typedef (defined in EO< double >)EO< double >
fitness_traits typedef (defined in EO< double >)EO< double >
invalid() const EO< double > [inline]
invalidate() (defined in EO< double >)EO< double > [inline]
invalidate(void) (defined in EO< double >)EO< double > [inline]
invalidate_worth(void) (defined in EO< double >)EO< double > [inline]
operator<(const EO &_eo2) const EO< double > [inline]
operator<(const EO< Fitness, Traits > &other) const (defined in EO< double >)EO< double > [inline]
operator>(const EO &_eo2) const (defined in EO< double >)EO< double > [inline]
operator>(const EO< Fitness, Traits > &other) const (defined in EO< double >)EO< double > [inline]
performance(performance_type perf) (defined in EO< double >)EO< double > [inline]
performance(void) const (defined in EO< double >)EO< double > [inline]
performance_type typedef (defined in EO< double >)EO< double >
printOn(std::ostream &_os) const Dummy [inline, virtual]
printOn(std::ostream &_os) const Dummy [inline, virtual]
printOn(std::ostream &_os) const Dummy [inline, virtual]
printOn(std::ostream &_os) const Dummy [inline, virtual]
readFrom(std::istream &_is)EO< double > [inline, virtual]
s (defined in Dummy)Dummy
storage_type typedef (defined in EO< double >)EO< double >
Type typedef (defined in Dummy)Dummy
Type typedef (defined in Dummy)Dummy
Type typedef (defined in Dummy)Dummy
Type typedef (defined in Dummy)Dummy
Type typedef (defined in Dummy)Dummy
Type typedef (defined in Dummy)Dummy
worth(worth_type worth) (defined in EO< double >)EO< double > [inline]
worth(void) const (defined in EO< double >)EO< double > [inline]
worth_type typedef (defined in EO< double >)EO< double >
xdist (defined in Dummy)Dummy
~EO()EO< double > [inline, virtual]
~eoObject()eoObject [inline, virtual]
~eoPersistent()eoPersistent [inline, virtual]
~eoPrintable()eoPrintable [inline, virtual]


Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/struct_dummy.html b/trunk/paradiseo-eo/doc/html/struct_dummy.html deleted file mode 100644 index 7f702bf67..000000000 --- a/trunk/paradiseo-eo/doc/html/struct_dummy.html +++ /dev/null @@ -1,255 +0,0 @@ - - -EO: Dummy Struct Reference - - - - -

Dummy Struct Reference

test program for the general operator - millenium version! uses dummy individuals -More... -

-

Inheritance diagram for Dummy: -

- -EO< double > -EO< double > -EO< double > -EO< double > -EO< double > -EO< double > -eoPersistent -eoObject -eoPersistent -eoObject -eoPersistent -eoObject -eoPersistent -eoObject -eoPersistent -eoObject -eoPersistent -eoObject - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef double Type
-typedef double Type
-typedef double Type
-typedef double Type
-typedef double Type
-typedef double Type

Public Member Functions

Dummy (std::string _s="")
void printOn (std::ostream &_os) const
 Write object.
void printOn (std::ostream &_os) const
 Write object.
void printOn (std::ostream &_os) const
 Write object.
void printOn (std::ostream &_os) const
 Write object.

Public Attributes

-std::string s
-double xdist
-

Detailed Description

-test program for the general operator - millenium version! uses dummy individuals -

- -

-Definition at line 27 of file t-eoCheckpointing.cpp.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
void Dummy::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-Called printOn since it prints the object _on_ a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Reimplemented from EO< double >. -

-Definition at line 41 of file t-eoGenOp.cpp. -

-References EO< F >::printOn().

-

- - - - -
- - - - - - - - - -
void Dummy::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-Called printOn since it prints the object _on_ a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Reimplemented from EO< double >. -

-Definition at line 23 of file t-eoReplacement.cpp. -

-References EO< F >::printOn().

-

- - - - -
- - - - - - - - - -
void Dummy::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-Called printOn since it prints the object _on_ a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Reimplemented from EO< double >. -

-Definition at line 18 of file t-eoSelect.cpp. -

-References EO< F >::printOn().

-

- - - - -
- - - - - - - - - -
void Dummy::printOn std::ostream &  _os  )  const [inline, virtual]
-
- - - - - -
-   - - -

-Write object. -

-Called printOn since it prints the object _on_ a stream.

Parameters:
- - -
_os A std::ostream.
-
- -

-Reimplemented from EO< double >. -

-Definition at line 24 of file t-eoSharing.cpp. -

-References EO< F >::printOn().

-


The documentation for this struct was generated from the following files: -
Generated on Thu Oct 19 05:06:47 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/struct_dummy.png b/trunk/paradiseo-eo/doc/html/struct_dummy.png deleted file mode 100644 index c2ce424cf..000000000 Binary files a/trunk/paradiseo-eo/doc/html/struct_dummy.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/struct_t__pickle__suite-members.html b/trunk/paradiseo-eo/doc/html/struct_t__pickle__suite-members.html deleted file mode 100644 index 3d8d362f4..000000000 --- a/trunk/paradiseo-eo/doc/html/struct_t__pickle__suite-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -EO: Member List - - - - -

T_pickle_suite< T > Member List

This is the complete list of members for T_pickle_suite< T >, including all inherited members.

- - - -
getstate(const T &t) (defined in T_pickle_suite< T >)T_pickle_suite< T > [inline, static]
print_to_string(const T &t) (defined in T_pickle_suite< T >)T_pickle_suite< T > [inline, static]
setstate(T &t, boost::python::tuple pickled) (defined in T_pickle_suite< T >)T_pickle_suite< T > [inline, static]


Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/struct_t__pickle__suite.html b/trunk/paradiseo-eo/doc/html/struct_t__pickle__suite.html deleted file mode 100644 index dd7edf042..000000000 --- a/trunk/paradiseo-eo/doc/html/struct_t__pickle__suite.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: T_pickle_suite< T > Struct Template Reference - - - - -

T_pickle_suite< T > Struct Template Reference

Implements pickle support for eoPersistent derivatives. -More... -

-#include <pickle.h> -

-List of all members. - - - - - - - - -

Static Public Member Functions

-std::string print_to_string (const T &t)
-boost::python::tuple getstate (const T &t)
-void setstate (T &t, boost::python::tuple pickled)
-


Detailed Description

-

template<class T>
- struct T_pickle_suite< T >

- -Implements pickle support for eoPersistent derivatives. -

- -

-Definition at line 32 of file pickle.h.


The documentation for this struct was generated from the following file: -
Generated on Thu Oct 19 05:06:57 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr-members.html b/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr-members.html deleted file mode 100644 index 5ffe24790..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Member List - - - - -

eoEvalFuncPtr< EOT, FitT, FunctionArg > Member List

This is the complete list of members for eoEvalFuncPtr< EOT, FitT, FunctionArg >, including all inherited members.

- - - - - - - - -
eoEvalFuncPtr(FitT(*_eval)(FunctionArg))eoEvalFuncPtr< EOT, FitT, FunctionArg > [inline]
EOFitT typedef (defined in eoEvalFunc< EOT >)eoEvalFunc< EOT >
EOType typedef (defined in eoEvalFunc< EOT >)eoEvalFunc< EOT >
evalFunc (defined in eoEvalFuncPtr< EOT, FitT, FunctionArg >)eoEvalFuncPtr< EOT, FitT, FunctionArg > [private]
functor_category()eoUF< EOT &, void > [inline, static]
operator()(EOT &_eo)eoEvalFuncPtr< EOT, FitT, FunctionArg > [inline, virtual]
~eoFunctorBase()eoFunctorBase [inline, virtual]
~eoUF()eoUF< EOT &, void > [inline, virtual]


Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr.html b/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr.html deleted file mode 100644 index 3222cd7ef..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr.html +++ /dev/null @@ -1,95 +0,0 @@ - - -EO: eoEvalFuncPtr< EOT, FitT, FunctionArg > Struct Template Reference - - - - -

eoEvalFuncPtr< EOT, FitT, FunctionArg > Struct Template Reference

EOEvalFuncPtr: This class takes an existing function pointer and converts it into a evaluation function class. -More... -

-#include <eoEvalFuncPtr.h> -

-

Inheritance diagram for eoEvalFuncPtr< EOT, FitT, FunctionArg >: -

- -eoEvalFunc< EOT > -eoUF< EOT &, void > -eoFunctorBase - -List of all members. - - - - - - - - - - - -

Public Member Functions

 eoEvalFuncPtr (FitT(*_eval)(FunctionArg))
 Applies the function to the chromosome and sets the fitness of the Chrom.
-virtual void operator() (EOT &_eo)
 Effectively applies the evaluation function to an EO.

Private Attributes

-FitT(* evalFunc )(FunctionArg)
-

Detailed Description

-

template<class EOT, class FitT = typename EOT::Fitness, class FunctionArg = const EOT&>
- struct eoEvalFuncPtr< EOT, FitT, FunctionArg >

- -EOEvalFuncPtr: This class takes an existing function pointer and converts it into a evaluation function class. -

-That way, old style C or C++ functions can be adapted to EO function classes. -

- -

-Definition at line 43 of file eoEvalFuncPtr.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - -
-template<class EOT, class FitT = typename EOT::Fitness, class FunctionArg = const EOT&>
eoEvalFuncPtr< EOT, FitT, FunctionArg >::eoEvalFuncPtr FitT(*)(FunctionArg)  _eval  )  [inline]
-
- - - - - -
-   - - -

-Applies the function to the chromosome and sets the fitness of the Chrom. -

-Thus, the evaluation function need not be worried about that.

Parameters:
- - -
_eval pointer to the evaluation function, takes a EOT as an argument and returns the fitness
-
-
Returns:
the evaluated fitness for that object.
- -

-Definition at line 51 of file eoEvalFuncPtr.h.

-


The documentation for this struct was generated from the following file: -
Generated on Thu Oct 19 05:06:48 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr.png b/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr.png deleted file mode 100644 index 363d57443..000000000 Binary files a/trunk/paradiseo-eo/doc/html/structeo_eval_func_ptr.png and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1binary__function__tag.html b/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1binary__function__tag.html deleted file mode 100644 index 81e2e69dd..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1binary__function__tag.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: eoFunctorBase::binary_function_tag Struct Reference - - - - -

eoFunctorBase::binary_function_tag Struct Reference

tag to identify a binary function in compile time function selection functor_category -More... -

-#include <eoFunctor.h> -

- - -
-


Detailed Description

-tag to identify a binary function in compile time function selection functor_category -

- -

-Definition at line 57 of file eoFunctor.h.


The documentation for this struct was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1procedure__tag.html b/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1procedure__tag.html deleted file mode 100644 index f2ebe3924..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1procedure__tag.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: eoFunctorBase::procedure_tag Struct Reference - - - - -

eoFunctorBase::procedure_tag Struct Reference

tag to identify a procedure in compile time function selection functor_category -More... -

-#include <eoFunctor.h> -

- - -
-


Detailed Description

-tag to identify a procedure in compile time function selection functor_category -

- -

-Definition at line 53 of file eoFunctor.h.


The documentation for this struct was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1unary__function__tag.html b/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1unary__function__tag.html deleted file mode 100644 index 9f963330c..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_functor_base_1_1unary__function__tag.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: eoFunctorBase::unary_function_tag Struct Reference - - - - -

eoFunctorBase::unary_function_tag Struct Reference

tag to identify a unary function in compile time function selection functor_category -More... -

-#include <eoFunctor.h> -

- - -
-


Detailed Description

-tag to identify a unary function in compile time function selection functor_category -

- -

-Definition at line 55 of file eoFunctor.h.


The documentation for this struct was generated from the following file: -
Generated on Thu Oct 19 05:06:49 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_cmp-members.html b/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_cmp-members.html deleted file mode 100644 index ce6e59fc1..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_cmp-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EO: Member List - - - - -

eoPop< EOT >::Cmp Member List

This is the complete list of members for eoPop< EOT >::Cmp, including all inherited members.

- -
operator()(const EOT *a, const EOT *b) const (defined in eoPop< EOT >::Cmp)eoPop< EOT >::Cmp [inline]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_cmp.html b/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_cmp.html deleted file mode 100644 index 690d78936..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_cmp.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: eoPop< EOT >::Cmp Struct Reference - - - - -

eoPop< EOT >::Cmp Struct Reference

helper struct for comparing on pointers -More... -

-#include <eoPop.h> -

-List of all members. - - - - -

Public Member Functions

-bool operator() (const EOT *a, const EOT *b) const
-


Detailed Description

-

template<class EOT>
- struct eoPop< EOT >::Cmp

- -helper struct for comparing on pointers -

- -

-Definition at line 124 of file eoPop.h.


The documentation for this struct was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_ref-members.html b/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_ref-members.html deleted file mode 100644 index 37fd22d9e..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_ref-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EO: Member List - - - - -

eoPop< EOT >::Ref Member List

This is the complete list of members for eoPop< EOT >::Ref, including all inherited members.

- -
operator()(const EOT &eot) (defined in eoPop< EOT >::Ref)eoPop< EOT >::Ref [inline]


Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_ref.html b/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_ref.html deleted file mode 100644 index b3e793995..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_pop_1_1_ref.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: eoPop< EOT >::Ref Struct Reference - - - - -

eoPop< EOT >::Ref Struct Reference

helper struct for getting a pointer -More... -

-#include <eoPop.h> -

-List of all members. - - - - -

Public Member Functions

-const EOToperator() (const EOT &eot)
-


Detailed Description

-

template<class EOT>
- struct eoPop< EOT >::Ref

- -helper struct for getting a pointer -

- -

-Definition at line 122 of file eoPop.h.


The documentation for this struct was generated from the following file: -
Generated on Thu Oct 19 05:06:53 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_state_1_1loading__error-members.html b/trunk/paradiseo-eo/doc/html/structeo_state_1_1loading__error-members.html deleted file mode 100644 index a390d27fd..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_state_1_1loading__error-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EO: Member List - - - - -

eoState::loading_error Member List

This is the complete list of members for eoState::loading_error, including all inherited members.

- -
loading_error(std::string huh="Error while loading") (defined in eoState::loading_error)eoState::loading_error [inline]


Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/structeo_state_1_1loading__error.html b/trunk/paradiseo-eo/doc/html/structeo_state_1_1loading__error.html deleted file mode 100644 index deec6e10a..000000000 --- a/trunk/paradiseo-eo/doc/html/structeo_state_1_1loading__error.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: eoState::loading_error Struct Reference - - - - -

eoState::loading_error Struct Reference

Loading error thrown when nothing seems to work. -More... -

-#include <eoState.h> -

-List of all members. - - - - -

Public Member Functions

loading_error (std::string huh="Error while loading")
-


Detailed Description

-Loading error thrown when nothing seems to work. -

- -

-Definition at line 83 of file eoState.h.


The documentation for this struct was generated from the following file: -
Generated on Thu Oct 19 05:06:56 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/sym__compile_8cpp-source.html b/trunk/paradiseo-eo/doc/html/sym__compile_8cpp-source.html deleted file mode 100644 index 7670b5755..000000000 --- a/trunk/paradiseo-eo/doc/html/sym__compile_8cpp-source.html +++ /dev/null @@ -1,234 +0,0 @@ - - -EO: sym_compile.cpp Source File - - - - - -

sym_compile.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 
-00019 #include "Sym.h"
-00020 #include "FunDef.h"
-00021 #include "sym_compile.h"
-00022 
-00023 #include <sstream>
-00024 
-00025 using namespace std;
-00026 
-00027 extern "C" {
-00028     void  symc_init();
-00029     int  symc_compile(const char* func_str);
-00030     int  symc_link();
-00031     void* symc_get_fun(const char* func_name);
-00032     void* symc_make(const char* func_str, const char* func_name);
-00033 }
-00034 
-00035 string make_prototypes() {
-00036     string prot = get_prototypes();
-00037     prot += "double sqr(double x) { return x*x; }";
-00038     return prot;
-00039 }
-00040 
-00041 // contains variable names, like 'a0', 'a1', etc. or regular code
-00042 
-00043 #if USE_TR1 
-00044 typedef std::tr1::unordered_map<Sym, string, HashSym> HashMap;
-00045 #else
-00046 typedef hash_map<Sym, string, HashSym> HashMap;
-00047 #endif
-00048 
-00049 // prints 'num' in reverse notation. Does not matter as it's a unique id
-00050 string make_var(unsigned num) {
-00051     string str = "a";
-00052     do {
-00053         str += char('0' + (num % 10));
-00054         num /= 10;
-00055     } while (num);
-00056     return str;
-00057 }
-00058 
-00059 template <class T>
-00060 string to_string(T t) {
-00061     ostringstream os;
-00062     os << t;
-00063     return os.str();
-00064 }
-00065 
-00066 
-00067 HashMap::iterator find_entry(const Sym& sym, string& str, HashMap& map) {
-00068     HashMap::iterator result = map.find(sym);
-00069 
-00070     if (result == map.end()) { // new entry
-00071         const SymVec& args = sym.args();
-00072         
-00073         vector<string> argstr(args.size());
-00074         for (unsigned i = 0; i < args.size(); ++i) {
-00075             argstr[i] = find_entry(args[i], str, map)->second;
-00076         }
-00077 
-00078         string var = make_var(map.size()); // map.size(): unique id
-00079         string code;    
-00080         // write out the code
-00081         const FunDef& fun = get_element(sym.token());
-00082         code = fun.c_print(argstr, vector<string>() );
-00083             
-00084         str += "double " + var + "=" + code + ";\n";
-00085         result = map.insert( make_pair(sym, var ) ).first; // only want iterator
-00086     }
-00087     
-00088     return result;
-00089 }
-00090 
-00091 void write_entry(const Sym& sym, string& str, HashMap& map, unsigned out) {
-00092     HashMap::iterator it = find_entry(sym, str, map);
-00093     
-00094     str += "y[" + to_string(out) + "]=" + it->second + ";\n";
-00095     //cout << "wrote " << out << '\n';
-00096 }
-00097 
-00098 #include <fstream>
-00099 multi_function compile(const std::vector<Sym>& syms) {
-00100     
-00101     //cout << "Multifunction " << syms.size() << endl;
-00102     // static stream to avoid fragmentation of these LARGE strings
-00103     static string str;
-00104     str.clear();
-00105     str += make_prototypes();
-00106 
-00107     str += "extern double func(const double* x, double* y) { \n ";
-00108    
-00109     multi_function result;
-00110     HashMap map(Sym::get_dag().size());
-00111     
-00112     for (unsigned i = 0; i < syms.size(); ++i) {
-00113         write_entry(syms[i], str, map, i);
-00114     }
-00115     
-00116     str += ";}";
-00117 
-00118     
-00119     /*static int counter = 0;
-00120     ostringstream nm;
-00121     nm << "cmp/compiled" << (counter++) << ".c";
-00122     cout << "Saving as " << nm.str() << endl;
-00123     ofstream cmp(nm.str().c_str());
-00124     cmp << str;
-00125     cmp.close();
-00126 
-00127     //cout << "Multifunction " << syms.size() << endl;
-00128     cout << "Size of map " << map.size() << endl;
-00129 */
-00130 
-00131     result = (multi_function) symc_make(str.c_str(), "func"); 
-00132 
-00133     if (result==0) { // error
-00134         cout << "Error in compile " << endl;
-00135     }
-00136 
-00137     return result;
-00138 }
-00139 
-00140 single_function compile(Sym sym) {
-00141 
-00142     ostringstream os;
-00143 
-00144     os << make_prototypes();
-00145     os << "double func(const double* x) { return ";
-00146     
-00147     string code = c_print(sym);
-00148     os << code;
-00149     os << ";}";
-00150     string func_str = os.str();
-00151   
-00152     //cout << "compiling " << func_str << endl;
-00153     
-00154     return  (single_function) symc_make(func_str.c_str(), "func"); 
-00155 }
-00156 
-00157 /* finds and inserts the full code in a hashmap */
-00158 HashMap::iterator find_code(Sym sym, HashMap& map) {
-00159     HashMap::iterator result = map.find(sym);
-00160 
-00161     if (result == map.end()) { // new entry
-00162         const SymVec& args = sym.args();
-00163         vector<string> argstr(args.size());
-00164         for (unsigned i = 0; i < args.size(); ++i) {
-00165             argstr[i] = find_code(args[i], map)->second;
-00166         }
-00167 
-00168         // write out the code
-00169         const FunDef& fun = get_element(sym.token());
-00170         string code = fun.c_print(argstr, vector<string>());
-00171         result = map.insert( make_pair(sym, code) ).first; // only want iterator
-00172     }
-00173     
-00174     return result;
-00175 }
-00176 
-00177 string print_code(Sym sym, HashMap& map) {
-00178     HashMap::iterator it = find_code(sym, map);
-00179     return it->second;
-00180 }
-00181 
-00182 void compile(const std::vector<Sym>& syms, std::vector<single_function>& functions) {
-00183     symc_init();
-00184     
-00185     static ostringstream os;
-00186     os.str("");
-00187     
-00188     os << make_prototypes();
-00189     HashMap map(Sym::get_dag().size());
-00190     for (unsigned i = 0; i < syms.size(); ++i) {
-00191         
-00192         os << "double func" << i << "(const double* x) { return ";
-00193         os << print_code(syms[i], map); //c_print(syms[i]);
-00194         os << ";}\n";
-00195 
-00196         //symc_compile(os.str().c_str());
-00197         //cout << "compiling " << os.str() << endl;     
-00198     }
-00199 
-00200     os << ends;
-00201 #ifdef INTERVAL_DEBUG
-00202     //cout << "Compiling " << os.str() << endl;
-00203 #endif
-00204     
-00205     symc_compile(os.str().c_str()); 
-00206     symc_link();
-00207 
-00208     functions.resize(syms.size());
-00209     for (unsigned i = 0; i < syms.size(); ++i) {
-00210         ostringstream os2;
-00211         os2 << "func" << i;
-00212         
-00213         functions[i] = (single_function) symc_get_fun(os2.str().c_str());
-00214     }
-00215 
-00216 }
-00217 
-00218 
-00219 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/sym__compile_8h-source.html b/trunk/paradiseo-eo/doc/html/sym__compile_8h-source.html deleted file mode 100644 index 23326cc67..000000000 --- a/trunk/paradiseo-eo/doc/html/sym__compile_8h-source.html +++ /dev/null @@ -1,51 +0,0 @@ - - -EO: sym_compile.h Source File - - - - - -

sym_compile.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #ifndef SYMCOMPILE_H_
-00019 #define SYMCOMPILE_H_
-00020 
-00021 #include <vector>
-00022 
-00023 
-00024 typedef double (*single_function)(const double []);
-00025 typedef double (*multi_function)(const double[], double[]);
-00026 
-00027 /* 
-00028  * Important, after every call of the functions below, the function pointers of the previous
-00029  * call are invalidated. Sorry, but that's the way the cookie crumbles (in tcc)
-00030  * */
-00031 
-00032 single_function compile(Sym sym);
-00033 multi_function  compile(const std::vector<Sym>& sym);
-00034 void compile(const std::vector<Sym>& sym, std::vector<single_function>& functions);
-00035 
-00036 #endif
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/sym__operations_8cpp-source.html b/trunk/paradiseo-eo/doc/html/sym__operations_8cpp-source.html deleted file mode 100644 index da0985b68..000000000 --- a/trunk/paradiseo-eo/doc/html/sym__operations_8cpp-source.html +++ /dev/null @@ -1,189 +0,0 @@ - - -EO: sym_operations.cpp Source File - - - - - -

sym_operations.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include <FunDef.h>
-00019 
-00020 using namespace std;
-00021 
-00022 Sym simplify_constants(Sym sym) {
-00023 
-00024     SymVec args = sym.args();
-00025     token_t token = sym.token();
-00026     
-00027     bool has_changed = false;
-00028     bool all_constants = true;
-00029 
-00030     for (unsigned i = 0; i < args.size(); ++i) {
-00031         
-00032         Sym arg = simplify_constants(args[i]);
-00033         
-00034         if (arg != args[i]) {
-00035             has_changed = true;
-00036         }
-00037         args[i] = arg;
-00038 
-00039         all_constants &= is_constant(args[i].token());
-00040     }
-00041     
-00042     if (args.size() == 0) {
-00043         
-00044         if (sym.token() == sum_token) return SymConst(0.0);
-00045         if (sym.token() == prod_token) return SymConst(1.0);
-00046         
-00047         return sym; // variable or constant
-00048     }
-00049     
-00050     if (all_constants) {
-00051         // evaluate 
-00052         
-00053         vector<double> dummy;
-00054         
-00055         double v = ::eval(sym, dummy);
-00056         
-00057         Sym result = SymConst(v);
-00058         
-00059         return result;
-00060     }
-00061 
-00062     if (has_changed) {
-00063         return Sym(token, args);
-00064     }
-00065 
-00066     return sym;
-00067     
-00068 }
-00069 
-00070 // currently only simplifies constants
-00071 Sym simplify(Sym sym) {
-00072     
-00073     return simplify_constants(sym);
-00074     
-00075 }
-00076 
-00077 Sym derivative(token_t token, Sym x) {
-00078     Sym one = Sym(prod_token);
-00079     
-00080     switch (token) {
-00081         case inv_token : return Sym(inv_token, sqr(x));
-00082         
-00083         case sin_token : return -cos(x);
-00084         case cos_token : return sin(x);
-00085         case tan_token : return one + sqr(tan(x));
-00086                          
-00087         case asin_token : return inv( sqrt(one - sqr(x)));
-00088         case acos_token:  return -inv( sqrt(one - sqr(x)));
-00089         case atan_token : return inv( sqrt(one + sqr(x)));
-00090         
-00091         case cosh_token : return -sinh(x);
-00092         case sinh_token : return cosh(x);
-00093         case tanh_token : return one - sqr( tanh(x) );
-00094         
-00095         case asinh_token : return inv( sqrt( one + sqr(x) ));
-00096         case acosh_token : return inv( sqrt(x-one) * sqrt(x + one)  );
-00097         case atanh_token : return inv(one - sqr(x));
-00098                          
-00099         case exp_token : return exp(x);
-00100         case log_token : return inv(x);
-00101 
-00102         case sqr_token : return SymConst(2.0) * x;
-00103         case sqrt_token : return SymConst(0.5) * inv( sqrt(x));
-00104         default :
-00105             throw differentiation_error();
-00106     }
-00107     
-00108     return x;
-00109 }
-00110 
-00111 extern Sym differentiate(Sym sym, token_t dx) {
-00112     
-00113     token_t token = sym.token();
-00114     
-00115     Sym zero = Sym(sum_token);
-00116     Sym one  = Sym(prod_token);
-00117     
-00118     if (token == dx) {
-00119         return one;
-00120     }
-00121     
-00122     SymVec args = sym.args();
-00123 
-00124     if (args.size() == 0) { // df/dx with f != x
-00125         return zero;
-00126     }
-00127     
-00128     switch (token) {
-00129         
-00130         case sum_token: 
-00131             {
-00132                 for (unsigned i = 0; i < args.size(); ++i) {
-00133                     args[i] = differentiate(args[i], dx);
-00134                 }
-00135 
-00136                 if (args.size() == 1) return args[0];
-00137                 return Sym(sum_token, args);
-00138             }
-00139         case min_token : 
-00140             {
-00141                 return -differentiate(args[0],dx);
-00142             }
-00143         case prod_token: 
-00144             {
-00145                 if (args.size() == 1) return differentiate(args[0], dx);
-00146                 
-00147                 if (args.size() == 2) {
-00148                     return args[0] * differentiate(args[1], dx) + args[1] * differentiate(args[0], dx);
-00149                 }
-00150                 // else 
-00151                 Sym c = args.back();
-00152                 args.pop_back();
-00153                 Sym f = Sym(prod_token, args);
-00154                 Sym df = differentiate( f, dx);
-00155 
-00156                 return c * df + f * differentiate(c,dx);
-00157             }
-00158         case pow_token : 
-00159             {
-00160                 return pow(args[0], args[1]) * args[1] * inv(args[0]);
-00161             }
-00162         case ifltz_token : 
-00163             { // cannot be differentiated
-00164                 throw differentiation_error(); // TODO define proper exception
-00165             }
-00166             
-00167         default: // unary function: apply chain rule
-00168             {
-00169                 Sym arg = args[0];
-00170                 return derivative(token, arg) * differentiate(arg, dx);
-00171             }
-00172     }
-00173     
-00174 }
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/symreg_8cpp-source.html b/trunk/paradiseo-eo/doc/html/symreg_8cpp-source.html deleted file mode 100644 index ccae7b935..000000000 --- a/trunk/paradiseo-eo/doc/html/symreg_8cpp-source.html +++ /dev/null @@ -1,408 +0,0 @@ - - -EO: symreg.cpp Source File - - - - - -

symreg.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 
-00019 #include <LanguageTable.h>
-00020 #include <TreeBuilder.h>
-00021 #include <FunDef.h>
-00022 #include <Dataset.h>
-00023 
-00024 #include <eoSymInit.h>
-00025 #include <eoSym.h>
-00026 #include <eoPop.h>
-00027 #include <eoSymMutate.h>
-00028 //#include <eoSymLambdaMutate.h>
-00029 #include <eoSymCrossover.h>
-00030 #include <eoSymEval.h>
-00031 #include <eoOpContainer.h>
-00032 #include <eoDetTournamentSelect.h>
-00033 #include <eoMergeReduce.h>
-00034 #include <eoGenContinue.h>
-00035 #include <eoEasyEA.h>
-00036 #include <eoGeneralBreeder.h>
-00037 
-00038 #include <utils/eoParser.h>
-00039 #include <utils/eoCheckPoint.h>
-00040 #include <utils/eoStat.h>
-00041 #include <utils/eoStdoutMonitor.h>
-00042 #include <utils/eoRNG.h>
-00043 
-00044 using namespace std;
-00045 
-00046 typedef EoSym<eoMinimizingFitness> EoType;
-00047 
-00048 static int functions_added = 0;
-00049 
-00050 void add_function(LanguageTable& table, eoParser& parser, string name, unsigned arity, token_t token, const FunDef& fun); 
-00051 void setup_language(LanguageTable& table, eoParser& parser);
-00052 
-00053 template <class T>
-00054 T& select(bool check, T& a, T& b) { if (check) return a; return b; }
-00055 
-00056 class eoBestIndividualStat : public eoSortedStat<EoType, string> {
-00057     public: 
-00058     eoBestIndividualStat() : eoSortedStat<EoType, string>("", "best individual") {}
-00059     
-00060     void operator()(const vector<const EoType*>& _pop)  {
-00061         ostringstream os;
-00062         os << (Sym) *_pop[0];
-00063         value() = os.str();
-00064     }
-00065     
-00066 };
-00067 
-00068 class AverageSizeStat : public eoStat<EoType, double> {
-00069     public:
-00070         AverageSizeStat() : eoStat<EoType, double>(0.0, "Average size population") {}
-00071     
-00072         void operator()(const eoPop<EoType>& _pop) {
-00073             double total = 0.0;
-00074             for (unsigned i = 0; i < _pop.size(); ++i) {
-00075                 total += _pop[i].size();
-00076             }
-00077             value() = total/_pop.size();
-00078         }
-00079 };
-00080 
-00081 class SumSizeStat : public eoStat<EoType, unsigned> {
-00082     public:
-00083         SumSizeStat() : eoStat<EoType, unsigned>(0u, "Number of subtrees") {}
-00084     
-00085         void operator()(const eoPop<EoType>& _pop) {
-00086             unsigned total = 0;
-00087             for (unsigned i = 0; i < _pop.size(); ++i) {
-00088                 total += _pop[i].size();
-00089             }
-00090             value() = total;
-00091         }
-00092 };
-00093 
-00094 class DagSizeStat : public eoStat<EoType, unsigned> {
-00095     public:
-00096         DagSizeStat() : eoStat<EoType, unsigned>(0u, "Number of distinct subtrees") {}
-00097 
-00098         void operator()(const eoPop<EoType>& _pop) {
-00099             value() = Sym::get_dag().size();
-00100         }
-00101 };
-00102 
-00103 int main(int argc, char* argv[]) {
-00104    
-00105     eoParser parser(argc, argv);
-00106   
-00107     /* Language */
-00108     LanguageTable table;
-00109     setup_language(table, parser);
-00110    
-00111     /* Data */
-00112     
-00113     eoValueParam<string> datafile = parser.createParam(string(""), "datafile", "Training data", 'd', string("Regression"), true); // mandatory 
-00114     double train_percentage = parser.createParam(1.0, "trainperc", "Percentage of data used for training", 0, string("Regression")).value();
-00115     
-00116     /* Population */
-00117 
-00118     unsigned pop_size = parser.createParam(1500u, "population-size", "Population Size", 'p', string("Population")).value();
-00119   
-00120     uint32_t seed = parser.createParam( uint32_t(time(0)), "random-seed", "Seed for rng", 'D').value();
-00121 
-00122     cout << "Seed " << seed << endl;
-00123     rng.reseed(seed);
-00124     
-00125     double var_prob = parser.createParam(
-00126             0.9, 
-00127             "var-prob", 
-00128             "Probability of selecting a var vs. const when creating a terminal",
-00129             0,
-00130             "Population").value();
-00131 
-00132     
-00133     double grow_prob = parser.createParam(
-00134             0.5,
-00135             "grow-prob",
-00136             "Probability of selecting 'grow' method instead of 'full' in initialization and mutation",
-00137             0,
-00138             "Population").value();
-00139     
-00140     unsigned max_depth = parser.createParam(
-00141             8u,
-00142             "max-depth",
-00143             "Maximum depth used in initialization and mutation",
-00144             0,
-00145             "Population").value();
-00146             
-00147    
-00148     bool use_uniform = parser.createParam(
-00149             false,
-00150             "use-uniform",
-00151             "Use uniform node selection instead of bias towards internal nodes (functions)",
-00152             0,
-00153             "Population").value();
-00154             
-00155     double constant_mut_prob = parser.createParam(
-00156             0.1,
-00157             "constant-mut-rate",
-00158             "Probability of performing constant mutation",
-00159             0,
-00160             "Population").value();
-00161     
-00162     
-00163     double subtree_mut_prob = parser.createParam(
-00164             0.2,
-00165             "subtree-mut-rate",
-00166             "Probability of performing subtree mutation",
-00167             0,
-00168             "Population").value();
-00169     
-00170     double node_mut_prob = parser.createParam(
-00171             0.2,
-00172             "node-mut-rate",
-00173             "Probability of performing node mutation",
-00174             0,
-00175             "Population").value();
-00176     
-00177 /*    double lambda_mut_prob = parser.createParam(
-00178             1.0,
-00179             "lambda-mut-rate",
-00180             "Probability of performing (neutral) lambda extraction/expansion",
-00181             0,
-00182             "Population").value();
-00183 */
-00184     double subtree_xover_prob = parser.createParam(
-00185             0.4,
-00186             "xover-rate",
-00187             "Probability of performing subtree crossover",
-00188             0,
-00189             "Population").value();
-00190 
-00191     double homologous_prob = parser.createParam(
-00192             0.4,
-00193             "homologous-rate",
-00194             "Probability of performing homologous crossover",
-00195             0,
-00196             "Population").value();
-00197 
-00198     unsigned max_gens = parser.createParam(
-00199             50,
-00200             "max-gens",
-00201             "Maximum number of generations to run",
-00202             'g',
-00203             "Population").value();
-00204     
-00205     unsigned tournamentsize = parser.createParam(
-00206             5,
-00207             "tournament-size",
-00208             "Tournament size used for selection",
-00209             't',
-00210             "Population").value();
-00211 
-00212     unsigned maximumSize = parser.createParam(
-00213             -1u,
-00214             "maximum-size",
-00215             "Maximum size after crossover",
-00216             's',
-00217             "Population").value();
-00218     
-00219     unsigned meas_param = parser.createParam(
-00220             2u,
-00221             "measure",
-00222             "Error measure:\n\
-00223                 0 -> absolute error\n\
-00224                 1 -> mean squared error\n\
-00225                 2 -> mean squared error scaled (equivalent with correlation)\n\
-00226                 ",
-00227                 'm',
-00228                 "Regression").value();
-00229   
-00230     
-00231     ErrorMeasure::measure meas = ErrorMeasure::mean_squared_scaled;
-00232     if (meas_param == 0) meas = ErrorMeasure::absolute;
-00233     if (meas_param == 1) meas = ErrorMeasure::mean_squared;
-00234 
-00235     
-00236     /* End parsing */
-00237     if (parser.userNeedsHelp())
-00238     {
-00239         parser.printHelp(std::cout);
-00240         return 1;
-00241     }
-00242     
-00243     if (functions_added == 0) {
-00244         cout << "ERROR: no functions defined" << endl;
-00245         exit(1);
-00246     }
-00247     
-00248     
-00249     Dataset dataset;
-00250     dataset.load_data(datafile.value());
-00251     
-00252     cout << "Data " << datafile.value() << " loaded " << endl;
-00253    
-00254     /* Add Variables */
-00255     unsigned nvars = dataset.n_fields();
-00256     for (unsigned i = 0; i < nvars; ++i) {
-00257         table.add_function( SymVar(i).token(), 0);
-00258     }
-00259     
-00260     TreeBuilder builder(table, var_prob);
-00261     eoSymInit<EoType> init(builder, grow_prob, max_depth);
-00262     
-00263     eoPop<EoType> pop(pop_size, init);
-00264     
-00265     BiasedNodeSelector biased_sel;
-00266     RandomNodeSelector random_sel;
-00267 
-00268     NodeSelector& node_selector = select<NodeSelector>(use_uniform, random_sel, biased_sel);
-00269     
-00270     //eoProportionalOp<EoType> genetic_operator;
-00271     eoSequentialOp<EoType> genetic_operator;
-00272     
-00273     eoSymSubtreeMutate<EoType> submutate(builder, node_selector);
-00274     genetic_operator.add( submutate, subtree_mut_prob);
-00275    
-00276     // todo, make this parameter, etc
-00277     double std = 0.01;
-00278     eoSymConstantMutate<EoType> constmutate(std);
-00279     genetic_operator.add(constmutate, constant_mut_prob);
-00280     
-00281     eoSymNodeMutate<EoType>    nodemutate(table);
-00282     genetic_operator.add(nodemutate, node_mut_prob);
-00283    
-00284 //    eoSymLambdaMutate<EoType> lambda_mutate(node_selector);
-00285 //    genetic_operator.add(lambda_mutate, lambda_mut_prob); // TODO: prob should be settable
-00286     
-00287     //eoQuadSubtreeCrossover<EoType> quad(node_selector);
-00288     eoBinSubtreeCrossover<EoType> bin(node_selector);
-00289     genetic_operator.add(bin, subtree_xover_prob);
-00290     
-00291     eoBinHomologousCrossover<EoType> hom;
-00292     genetic_operator.add(hom, homologous_prob);
-00293 
-00294 
-00295     IntervalBoundsCheck check(dataset.input_minima(), dataset.input_maxima());
-00296     ErrorMeasure measure(dataset, train_percentage, meas);
-00297 
-00298     eoSymPopEval<EoType> evaluator(check, measure, maximumSize);
-00299     
-00300     eoDetTournamentSelect<EoType> selectOne(tournamentsize);
-00301     eoGeneralBreeder<EoType> breeder(selectOne, genetic_operator);
-00302     eoPlusReplacement<EoType> replace;
-00303 
-00304     // Terminators
-00305     eoGenContinue<EoType> term(max_gens);
-00306     eoCheckPoint<EoType> checkpoint(term);
-00307     
-00308     eoBestFitnessStat<EoType> beststat;
-00309     checkpoint.add(beststat);
-00310    
-00311     eoBestIndividualStat printer;
-00312     AverageSizeStat avgSize;
-00313     DagSizeStat dagSize;
-00314     SumSizeStat sumSize;
-00315     
-00316     checkpoint.add(printer);
-00317     checkpoint.add(avgSize);
-00318     checkpoint.add(dagSize);
-00319     checkpoint.add(sumSize);
-00320     
-00321     eoStdoutMonitor genmon;
-00322     genmon.add(beststat);
-00323     genmon.add(printer);
-00324     genmon.add(avgSize);
-00325     genmon.add(dagSize);
-00326     genmon.add(sumSize);
-00327     genmon.add(term); // add generation counter
-00328     
-00329     checkpoint.add(genmon);
-00330     
-00331     eoPop<EoType> dummy;
-00332     evaluator(pop, dummy);
-00333     
-00334     eoEasyEA<EoType> ea(checkpoint, evaluator, breeder, replace);
-00335 
-00336     ea(pop); // run
-00337     
-00338 }
-00339 
-00340 void add_function(LanguageTable& table, eoParser& parser, string name, unsigned arity, token_t token, const FunDef& fun, bool all) {
-00341     ostringstream desc;
-00342     desc << "Enable function " << name << " arity = " << arity;
-00343     bool enabled = parser.createParam(false, name, desc.str(), 0, "Language").value();
-00344     
-00345     if (enabled || all) {
-00346         cout << "Func " << name << " enabled" << endl;
-00347         table.add_function(token, arity);
-00348         if (arity > 0) functions_added++;
-00349     }
-00350 }
-00351 
-00352 void setup_language(LanguageTable& table, eoParser& parser) {
-00353 
-00354     bool all = parser.createParam(false,"all", "Enable all functions").value();
-00355     bool ratio = parser.createParam(false,"ratio","Enable rational functions (inv,min,sum,prod)").value();
-00356     bool poly = parser.createParam(false,"poly","Enable polynomial functions (min,sum,prod)").value();
-00357     
-00358     // assumes that at this point all tokens are defined (none are zeroed out, which can happen with ERCs)
-00359     vector<const FunDef*> lang = get_defined_functions(); 
-00360     
-00361     for (token_t i = 0; i < lang.size(); ++i) {
-00362         
-00363         if (lang[i] == 0) continue;
-00364         
-00365         bool is_poly = false;
-00366         if (poly && (i == prod_token || i == sum_token || i == min_token) ) {
-00367             is_poly = true;
-00368         }
-00369         
-00370         bool is_ratio = false;
-00371         if (ratio && (is_poly || i == inv_token)) {
-00372             is_ratio = true;
-00373         }
-00374         
-00375         const FunDef& fun = *lang[i]; 
-00376         
-00377         if (fun.has_varargs() ) {
-00378 
-00379             for (unsigned j = fun.min_arity(); j < fun.min_arity() + 8; ++j) {
-00380                 if (j==1) continue; // prod 1 and sum 1 are useless
-00381                 ostringstream nm;
-00382                 nm << fun.name() << j;
-00383                 bool addanyway = (all || is_ratio || is_poly) && j == 2;
-00384                 add_function(table, parser, nm.str(), j, i, fun, addanyway);
-00385             }
-00386         }
-00387         else {
-00388             add_function(table, parser, fun.name(), fun.min_arity(), i, fun, all || is_ratio || is_poly);
-00389         }
-00390     }
-00391 }
-00392 
-00393 
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-_m_g_e-control_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-_m_g_e-control_8cpp-source.html deleted file mode 100644 index fade2a573..000000000 --- a/trunk/paradiseo-eo/doc/html/t-_m_g_e-control_8cpp-source.html +++ /dev/null @@ -1,119 +0,0 @@ - - -EO: t-MGE-control.cpp Source File - - - - - -

t-MGE-control.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eoMGE.cpp
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifdef HAVE_CONFIG_H
-00006 #include <config.h>
-00007 #endif
-00008 
-00009 #ifndef __GNUG__
-00010 // to avoid long name warnings
-00011 #pragma warning(disable:4786)
-00012 #endif // __GNUG__
-00013 
-00014 #include "eo"
-00015 #include "ga/eoBitOp.h"
-00016 
-00017 #include "RoyalRoad.h"
-00018 
-00019 // Viri
-00020 #include "VirusOp.h"
-00021 #include "eoVirus.h"
-00022 #include "eoInitVirus.h"
-00023 
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 typedef eoVirus<float> Chrom;
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 int main()
-00031 {
-00032   const unsigned POP_SIZE = 10, CHROM_SIZE = 12;
-00033   unsigned i;
-00034   eoBooleanGenerator gen;
-00035 
-00036   // the populations:
-00037   eoPop<Chrom> pop;
-00038 
-00039   // Evaluation
-00040   RoyalRoad<Chrom> rr( 8 );
-00041   eoEvalFuncCounter<Chrom> eval( rr );
-00042 
-00043   eoInitVirus<float> random(CHROM_SIZE, gen);
-00044   for (i = 0; i < POP_SIZE; ++i) {
-00045       Chrom chrom;
-00046       random(chrom);
-00047       eval(chrom);
-00048       pop.push_back(chrom);
-00049   }
-00050 
-00051   std::cout << "population:" << std::endl;
-00052   for (i = 0; i < pop.size(); ++i)
-00053     std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl;
-00054 
-00055   // selection
-00056   eoStochTournamentSelect<Chrom> lottery(0.9 );
-00057 
-00058   // breeder
-00059   eoOneBitFlip<Chrom> vm;
-00060   eoUBitXover<Chrom> xover;
-00061   eoProportionalOp<Chrom> propSel;
-00062   eoGeneralBreeder<Chrom> breeder( lottery, propSel );
-00063   propSel.add(vm, 0.2);
-00064   propSel.add(xover, 0.8);
-00065 
-00066   // Replace a single one
-00067   eoCommaReplacement<Chrom> replace;
-00068 
-00069   // Terminators
-00070   eoGenContinue<Chrom> continuator1(10);
-00071   eoFitContinue<Chrom> continuator2(CHROM_SIZE);
-00072   eoCombinedContinue<Chrom> continuator(continuator1, continuator2);
-00073   eoCheckPoint<Chrom> checkpoint(continuator);
-00074   eoStdoutMonitor monitor;
-00075   checkpoint.add(monitor);
-00076   eoSecondMomentStats<Chrom> stats;
-00077   eoPopStat<Chrom> dumper( 10 );
-00078   monitor.add(stats);
-00079   checkpoint.add(dumper);
-00080   checkpoint.add(stats);
-00081 
-00082   // GA generation
-00083   eoEasyEA<Chrom> ea(checkpoint, eval,  breeder, replace );
-00084 
-00085   // evolution
-00086   try
-00087     {
-00088       ea(pop);
-00089     }
-00090   catch (std::exception& e)
-00091     {
-00092         std::cout << "exception: " << e.what() << std::endl;;
-00093         exit(EXIT_FAILURE);
-00094     }
-00095 
-00096   std::cout << "pop" << std::endl;
-00097   for (i = 0; i < pop.size(); ++i)
-00098     std::cout << "\t" <<  pop[i] << " " << pop[i].fitness() << std::endl;
-00099 
-00100   std::cout << "\n --> Number of Evaluations = " << eval.getValue() << std::endl;
-00101   return 0;
-00102 }
-00103 
-00104 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-_m_g_e1bit_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-_m_g_e1bit_8cpp-source.html deleted file mode 100644 index 4bb787df7..000000000 --- a/trunk/paradiseo-eo/doc/html/t-_m_g_e1bit_8cpp-source.html +++ /dev/null @@ -1,126 +0,0 @@ - - -EO: t-MGE1bit.cpp Source File - - - - - -

t-MGE1bit.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eoMGE.cpp
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifdef HAVE_CONFIG_H
-00006 #include <config.h>
-00007 #endif
-00008 
-00009 #ifndef __GNUG__
-00010 // to avoid long name warnings
-00011 #pragma warning(disable:4786)
-00012 #endif // __GNUG__
-00013 
-00014 #include "eo"
-00015 #include "ga/eoBitOp.h"
-00016 #include "RoyalRoad.h"
-00017 
-00018 // Viri
-00019 #include "VirusOp.h"
-00020 #include "eoVirus.h"
-00021 #include "eoInitVirus.h"
-00022 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 typedef eoVirus<float> Chrom;
-00026 
-00027 //-----------------------------------------------------------------------------
-00028 
-00029 int main()
-00030 {
-00031   const unsigned POP_SIZE = 10, CHROM_SIZE = 12;
-00032   unsigned i;
-00033   eoBooleanGenerator gen;
-00034 
-00035   // the populations:
-00036   eoPop<Chrom> pop;
-00037 
-00038   // Evaluation
-00039   RoyalRoad<Chrom> rr( 8 );
-00040   eoEvalFuncCounter<Chrom> eval( rr );
-00041 
-00042   eoInitVirus1bit<float> random(CHROM_SIZE, gen);
-00043   for (i = 0; i < POP_SIZE; ++i) {
-00044       Chrom chrom;
-00045       random(chrom);
-00046       eval(chrom);
-00047       pop.push_back(chrom);
-00048   }
-00049 
-00050   std::cout << "population:" << std::endl;
-00051   for (i = 0; i < pop.size(); ++i)
-00052     std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl;
-00053 
-00054   // selection
-00055   eoStochTournamentSelect<Chrom> lottery(0.9 );
-00056 
-00057   // breeder
-00058   VirusShiftMutation<float> vm;
-00059   VirusTransmission<float> vt;
-00060   VirusBitFlip<float> vf;
-00061   eoUBitXover<Chrom> xover;
-00062   eoProportionalOp<Chrom> propSel;
-00063   eoGeneralBreeder<Chrom> breeder( lottery, propSel );
-00064   propSel.add(vm, 0.8);
-00065   propSel.add(vf, 0.05);
-00066   propSel.add(vt, 0.05);
-00067   propSel.add(xover, 0.1);
-00068 
-00069   // Replace a single one
-00070   eoCommaReplacement<Chrom> replace;
-00071 
-00072   // Terminators
-00073   eoGenContinue<Chrom> continuator1(10);
-00074   eoFitContinue<Chrom> continuator2(CHROM_SIZE);
-00075   eoCombinedContinue<Chrom> continuator(continuator1, continuator2);
-00076   eoCheckPoint<Chrom> checkpoint(continuator);
-00077   eoStdoutMonitor monitor;
-00078   checkpoint.add(monitor);
-00079   eoSecondMomentStats<Chrom> stats;
-00080   eoPopStat<Chrom> dumper( 10 );
-00081   monitor.add(stats);
-00082   checkpoint.add(dumper);
-00083   checkpoint.add(stats);
-00084 
-00085   // GA generation
-00086   eoEasyEA<Chrom> ea(checkpoint, eval, breeder, replace);
-00087 
-00088   // evolution
-00089   try {
-00090       ea(pop);
-00091   } catch (std::exception& e) {
-00092       std::cerr << "exception: " << e.what() << std::endl;;
-00093       exit(EXIT_FAILURE);
-00094   }
-00095 
-00096   std::cout << "pop" << std::endl;
-00097   for (i = 0; i < pop.size(); ++i)
-00098       std::cout << "\t" <<  pop[i] << " " << pop[i].fitness() << std::endl;
-00099 
-00100   std::cout << "\n --> Number of Evaluations = " << eval.getValue() << std::endl;
-00101   return EXIT_SUCCESS;
-00102 }
-00103 
-00104 //-----------------------------------------------------------------------------
-00105 
-00106 
-00107 
-00108 // Local Variables:
-00109 // mode: C++
-00110 // c-file-style: "Stroustrup"
-00111 // End:
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-_m_g_e_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-_m_g_e_8cpp-source.html deleted file mode 100644 index a1c1edb30..000000000 --- a/trunk/paradiseo-eo/doc/html/t-_m_g_e_8cpp-source.html +++ /dev/null @@ -1,123 +0,0 @@ - - -EO: t-MGE.cpp Source File - - - - - -

t-MGE.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eoMGE.cpp
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifdef HAVE_CONFIG_H
-00006 #include <config.h>
-00007 #endif
-00008 
-00009 #ifndef __GNUG__
-00010 // to avoid long name warnings
-00011 #pragma warning(disable:4786)
-00012 #endif // __GNUG__
-00013 
-00014 #include <eo>
-00015 #include <ga/eoBitOp.h>
-00016 
-00017 #include "RoyalRoad.h"
-00018 
-00019 // Viri
-00020 #include "VirusOp.h"
-00021 #include "eoVirus.h"
-00022 #include "eoInitVirus.h"
-00023 
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 typedef eoVirus<float> Chrom;
-00027 
-00028 //-----------------------------------------------------------------------------
-00029 
-00030 int main()
-00031 {
-00032   const unsigned POP_SIZE = 10, CHROM_SIZE = 12;
-00033   unsigned i;
-00034   eoBooleanGenerator gen;
-00035 
-00036   // the populations:
-00037   eoPop<Chrom> pop;
-00038 
-00039   // Evaluation
-00040   RoyalRoad<Chrom> rr( 8 );
-00041   eoEvalFuncCounter<Chrom> eval( rr );
-00042 
-00043   eoInitVirus<float> random(CHROM_SIZE, gen);
-00044   for (i = 0; i < POP_SIZE; ++i) {
-00045       Chrom chrom;
-00046       random(chrom);
-00047       eval(chrom);
-00048       pop.push_back(chrom);
-00049   }
-00050 
-00051   std::cout << "population:" << std::endl;
-00052   for (i = 0; i < pop.size(); ++i)
-00053     std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl;
-00054 
-00055   // selection
-00056   eoStochTournamentSelect<Chrom> lottery(0.9 );
-00057 
-00058   // breeder
-00059   VirusMutation<float> vm;
-00060   VirusTransmission<float> vt;
-00061   VirusBitFlip<float> vf;
-00062   eoUBitXover<Chrom> xover;
-00063   eoProportionalOp<Chrom> propSel;
-00064   eoGeneralBreeder<Chrom> breeder( lottery, propSel );
-00065   propSel.add(vm, 0.1);
-00066   propSel.add(vf, 0.05);
-00067   propSel.add(vt, 0.05);
-00068   propSel.add(xover, 0.8);
-00069 
-00070   // Replace a single one
-00071   eoCommaReplacement<Chrom> replace;
-00072 
-00073   // Terminators
-00074   eoGenContinue<Chrom> continuator1(10);
-00075   eoFitContinue<Chrom> continuator2(CHROM_SIZE);
-00076   eoCombinedContinue<Chrom> continuator(continuator1, continuator2);
-00077   eoCheckPoint<Chrom> checkpoint(continuator);
-00078   eoStdoutMonitor monitor;
-00079   checkpoint.add(monitor);
-00080   eoSecondMomentStats<Chrom> stats;
-00081   eoPopStat<Chrom> dumper( 10 );
-00082   monitor.add(stats);
-00083   checkpoint.add(dumper);
-00084   checkpoint.add(stats);
-00085 
-00086   // GA generation
-00087   eoEasyEA<Chrom> ea(checkpoint, eval,  breeder, replace );
-00088 
-00089   // evolution
-00090   try
-00091     {
-00092       ea(pop);
-00093     }
-00094   catch (std::exception& e)
-00095     {
-00096         std::cout << "exception: " << e.what() << std::endl;;
-00097         exit(EXIT_FAILURE);
-00098     }
-00099 
-00100   std::cout << "pop" << std::endl;
-00101   for (i = 0; i < pop.size(); ++i)
-00102     std::cout << "\t" <<  pop[i] << " " << pop[i].fitness() << std::endl;
-00103 
-00104   std::cout << "\n --> Number of Evaluations = " << eval.getValue() << std::endl;
-00105   return 0;
-00106 }
-00107 
-00108 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_8cpp-source.html deleted file mode 100644 index 80c96de2c..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_8cpp-source.html +++ /dev/null @@ -1,38 +0,0 @@ - - -EO: t-eo.cpp Source File - - - - - -

t-eo.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eo.cpp
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #include <eo>  // EO
-00006 
-00007 //-----------------------------------------------------------------------------
-00008 
-00009 typedef EO<float> Chrom;
-00010 
-00011 //-----------------------------------------------------------------------------
-00012 
-00013 int main()
-00014 {
-00015   Chrom chrom1, chrom2;
-00016 
-00017   std::cout << "chrom1 = " << chrom1 << std::endl
-00018        << "chrom2 = " << chrom2 << std::endl;
-00019 
-00020   return 0;
-00021 }
-00022 
-00023 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_atom_ops_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_atom_ops_8cpp-source.html deleted file mode 100644 index 192cc71ff..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_atom_ops_8cpp-source.html +++ /dev/null @@ -1,81 +0,0 @@ - - -EO: t-eoAtomOps.cpp Source File - - - - - -

t-eoAtomOps.cpp

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003     t-eoAtomOps.cpp
-00004       Program that tests the atomic operator classes
-00005 
-00006     (c) GeNeura Team, 1999 
-00007  
-00008     This program is free software; you can redistribute it and/or modify
-00009     it under the terms of the GNU General Public License as published by
-00010     the Free Software Foundation; either version 2 of the License, or
-00011     (at your option) any later version.
-00012 
-00013     This program is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00016     GNU General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU General Public License
-00019     along with this program; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021  
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023             
-00024 */
-00025 
-00026 //-----------------------------------------------------------------------------// 
-00027 
-00028 #ifdef _MSC_VER
-00029 #pragma warning(disable:4786)
-00030 #endif 
-00031 
-00032 #include <string>
-00033 #include <iostream>
-00034 #include <iterator>
-00035 
-00036 using namespace std;
-00037 
-00038 // Operators we are going to test
-00039 #include <eoAtomCreep.h>
-00040 #include <eoAtomBitFlip.h>
-00041 #include <eoAtomRandom.h>
-00042 #include <eoAtomMutation.h>
-00043 
-00044 // Several EOs
-00045 #include <other/eoString.h>
-00046 
-00047 // RNGs
-00048 #include <eoNegExp.h>
-00049 
-00050 main(int argc, char *argv[]) {
-00051   eoString<float> aString("123456");
-00052   eoAtomCreep<char> creeper;
-00053   eoAtomMutation< eoString<float> > mutator( creeper, 0.5 );
-00054 
-00055   eoNegExp<char> charNE( 2 );
-00056   eoAtomRandom<char> randomer( charNE );
-00057   eoAtomMutation<  eoString<float> > mutator2 ( randomer, 0.5 );
-00058 
-00059   std::cout << "Before aString " << aString << std::endl;
-00060   mutator( aString);
-00061   std::cout << " after mutator " << aString << std::endl;
-00062   mutator2( aString);
-00063   std::cout << " after mutator2 " << aString << std::endl;;
-00064   return 0; // to avoid VC++ complaints
-00065 }
-00066 
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_base_functions_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_base_functions_8cpp-source.html deleted file mode 100644 index f6ee4c79c..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_base_functions_8cpp-source.html +++ /dev/null @@ -1,41 +0,0 @@ - - -EO: t-eoBaseFunctions.cpp Source File - - - - - -

t-eoBaseFunctions.cpp

00001 
-00002 #include <eoBaseFunctions.h>
-00003 
-00004 #include <iostream>
-00005 
-00006 using namespace std;
-00007 
-00008 struct eo1 : public eoF<void>
-00009 {
-00010     void operator()(void) {}
-00011 };
-00012 
-00013 struct eo2 : public eoF<int>
-00014 {
-00015     int operator()(void) { return 1; }
-00016 };
-00017 
-00018 int main()
-00019 {
-00020     eo1 _1; _1();
-00021     eo2 _2; 
-00022     int i = _2();
-00023 
-00024     std::cout << i << '\n';
-00025     return i;
-00026 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_c_m_a_e_s_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_c_m_a_e_s_8cpp-source.html deleted file mode 100644 index 19e5b2bac..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_c_m_a_e_s_8cpp-source.html +++ /dev/null @@ -1,143 +0,0 @@ - - -EO: t-eoCMAES.cpp Source File - - - - - -

t-eoCMAES.cpp

00001 
-00002 #include <iostream>
-00003 
-00004 #include <eoScalarFitness.h>
-00005 #include <eoVector.h>
-00006 #include <eoPop.h>
-00007 #include <utils/eoParser.h>
-00008 #include <utils/eoCheckPoint.h>
-00009 #include <eoEvalFuncPtr.h>
-00010 
-00011 #include <eoGenContinue.h>
-00012 #include <eoFitContinue.h>
-00013 #include <utils/eoStdoutMonitor.h>
-00014 #include <utils/eoStat.h>
-00015 #include <utils/eoTimedMonitor.h>
-00016 
-00017 #include <eoMergeReduce.h>
-00018 #include <eoEasyEA.h>
-00019 
-00020 #include <es/CMAState.h>
-00021 #include <es/CMAParams.h>
-00022 #include <es/eoCMAInit.h>
-00023 #include <es/eoCMABreed.h>
-00024 
-00025 using namespace eo;
-00026 using namespace std;
-00027 
-00028 typedef eoMinimizingFitness FitT;
-00029 typedef eoVector<FitT, double> EoType;
-00030 
-00031 double sqr(double x) { return x*x; }
-00032 
-00033 eoValueParam<int> evals(0,"Function Evals","Number of Evaluations");
-00034 
-00035 double f_sphere(const vector<double>& values) {
-00036     double sum = 0.0;
-00037     for (unsigned i = 0; i < values.size(); ++i) {
-00038         sum += values[i] * values[i];
-00039     }
-00040     ++evals.value();
-00041     return sum;
-00042 }
-00043 
-00044 double f_rosen(const vector<double>& x) {
-00045     double sum =0.0;
-00046     
-00047     for (int i = 0; i < x.size()-1; ++i) {
-00048         sum += 100 * sqr(sqr(x[i])-x[i+1]) + sqr(1.-x[i]);
-00049     }
-00050     ++evals.value();
-00051     return sum;
-00052 }
-00053 
-00054 
-00055 
-00056 int main(int argc, char* argv[]) {
-00057     
-00058     // make sure we have a dimensionality parameter (for testing) 
-00059     char** rargv = new char*[argc+1];
-00060     rargv[0] = argv[0];
-00061     rargv[1] = "-N10";
-00062     for (int i = 2; i < argc; ++i) {
-00063         rargv[i] = argv[i-1];
-00064     }
-00065     
-00066     eoParser parser(argc+1, rargv);
-00067     
-00068     CMAParams params(parser);
-00069 
-00070     vector<double> initial_point(params.n, 0.0);
-00071     
-00072     CMAState state(params, initial_point);
-00073     
-00074     if (parser.userNeedsHelp())
-00075     {
-00076         parser.printHelp(std::cout);
-00077         return 1;
-00078     }
-00079 
-00080     eoCMAInit<FitT> init(state);
-00081     
-00082     eoPop<EoType> pop(params.mu, init);
-00083     
-00084     eoEvalFuncPtr<EoType, double, const vector<double>&> eval(  f_rosen );
-00085     
-00086     eoCMABreed<FitT> breed(state, params.lambda);
-00087 
-00088     for (unsigned i = 0; i < pop.size(); ++i) {
-00089         eval(pop[i]);
-00090     }
-00091     
-00092     eoCommaReplacement<EoType> comma;
-00093      
-00094     eoGenContinue<EoType> gen(params.maxgen);
-00095     eoFitContinue<EoType> fit(1e-10);
-00096 
-00097     eoCheckPoint<EoType> checkpoint(gen);
-00098     checkpoint.add(fit);
-00099    
-00100     eoBestFitnessStat<EoType> stat;
-00101 
-00102     eoStdoutMonitor mon;
-00103     mon.add(stat);
-00104     mon.add(evals);
-00105     
-00106     eoTimedMonitor timed(1);// 1 seconds
-00107     timed.add(mon); // wrap it
-00108     
-00109     checkpoint.add(timed);
-00110     checkpoint.add(stat);
-00111     
-00112     eoEasyEA<EoType> algo(
-00113             checkpoint,
-00114             eval,
-00115             breed,
-00116             comma);
-00117     
-00118     
-00119     algo(pop);
-00120     pop.sort();
-00121     
-00122     cout << pop[0] << endl; 
-00123     cout << "Fitness achieved = " << pop[0].fitness() << endl;
-00124     cout << "Function evaluations = " << evals.value() << endl;
-00125 }
-00126 
-00127 
-00128 
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_checkpointing_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_checkpointing_8cpp-source.html deleted file mode 100644 index 09fd38a7e..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_checkpointing_8cpp-source.html +++ /dev/null @@ -1,198 +0,0 @@ - - -EO: t-eoCheckpointing.cpp Source File - - - - - -

t-eoCheckpointing.cpp

00001 //-----------------------------------------------------------------------------
-00002 
-00003 // to avoid long name warnings
-00004 #ifdef _MSC_VER
-00005 #pragma warning(disable:4786)
-00006 #endif
-00007 
-00008 #include <stdexcept>  // runtime_error
-00009 
-00010 //-----------------------------------------------------------------------------
-00011 // tt.cpp:
-00012 //
-00013 //-----------------------------------------------------------------------------
-00014 
-00015 
-00016 // general
-00017 #include <utils/eoRNG.h>                // Random number generators
-00018 #include <ga.h>
-00019 #include <utils/eoParser.h>
-00020 #include <utils/eoState.h>
-00021 #include <eoGenContinue.h>
-00022 //-----------------------------------------------------------------------------
-00023 
-00024 // include package checkpointing
-00025 #include <utils/checkpointing>
-00026 
-00027 struct Dummy : public EO<double>
-00028 {
-00029     typedef double Type;
-00030 };
-00031 
-00032 
-00033 struct eoDummyPop : public eoPop<Dummy>
-00034 {
-00035 public :
-00036     eoDummyPop(int s = 2) { resize(s); }
-00037 };
-00038 
-00039 //-----------------------------------------------------------------------------
-00040 
-00041 int the_main(int argc, char **argv)
-00042 { // ok, we have a command line parser and a state
-00043 
-00044     typedef eoBit<float> Chrom;
-00045 
-00046     eoParser parser(argc, argv);
-00047 
-00048     // Define Parameters
-00049     eoValueParam<double> rate(0.01, "mutationRatePerBit", "Initial value for mutation rate per bit");
-00050     eoValueParam<double> factor(0.99, "mutationFactor", "Decrease factor for mutation rate");
-00051     eoValueParam<uint32_t> seed(time(0), "seed", "Random number seed");
-00052     eoValueParam<std::string> load_name("", "Load","Load",'L');
-00053     eoValueParam<std::string> save_name("", "Save","Save",'S');
-00054 
-00055     // Register them
-00056     parser.processParam(rate,       "Genetic Operators");
-00057     parser.processParam(factor,     "Genetic Operators");
-00058     parser.processParam(load_name,  "Persistence");
-00059     parser.processParam(save_name,  "Persistence");
-00060     parser.processParam(seed,       "Rng seeding");
-00061 
-00062    eoState state;
-00063    state.registerObject(parser);
-00064 
-00065    if (load_name.value() != "")
-00066    { // load the parser. This is only neccessary when the user wants to
-00067      // be able to change the parameters in the state file by hand.
-00068        state.load(load_name.value()); // load the parser
-00069    }
-00070 
-00071     // Create the algorithm here
-00072     typedef Dummy EoType;
-00073 
-00074     eoDummyPop pop;
-00075 
-00076     eoGenContinue<EoType> genTerm(5); // run for 5 generations
-00077 
-00078     eoCheckPoint<EoType> checkpoint(genTerm);
-00079     // The algorithm will now quit after five generations
-00080 
-00081     // Create a counter parameter
-00082     eoValueParam<unsigned> generationCounter(0, "Generation");
-00083 
-00084     // Create an incrementor (wich is an eoUpdater). Note that the
-00085     // Parameter's value is passed by reference, so every time the incrementer increments,
-00086     // the data in generationCounter will change.
-00087     eoIncrementor<unsigned> increment(generationCounter.value());
-00088 
-00089     // Add it to the checkpoint, this will result in the counter being incremented every generation
-00090     checkpoint.add(increment);
-00091 
-00092     // The file monitor will print parameters to a comma seperated file
-00093     eoFileMonitor monitor("monitor.csv");
-00094 
-00095     // the checkpoint mechanism can handle multiple monitors
-00096     checkpoint.add(monitor);
-00097 
-00098     // the monitor can monitor parameters such as the generationCounter
-00099     monitor.add(generationCounter);
-00100 
-00101     // Second moment stats: average and stdev
-00102     eoSecondMomentStats<EoType> stats;
-00103 
-00104     // Add it to the checkpoint to get it called at the appropriate time
-00105     checkpoint.add(stats);
-00106 
-00107     // Add it to the monitor to get it written to the file
-00108     monitor.add(stats);
-00109 
-00110     // save state every third generation
-00111     eoCountedStateSaver stateSaver1(3, state, "generation");
-00112     // save state every 2 seconds
-00113     eoTimedStateSaver   stateSaver2(2, state, "time");
-00114 
-00115     // And add the two savers to the checkpoint
-00116     checkpoint.add(stateSaver1);
-00117     checkpoint.add(stateSaver2);
-00118 
-00119     // Register the algorithm
-00120     state.registerObject(rng);
-00121     state.registerObject(pop);
-00122 
-00123     if (parser.userNeedsHelp())
-00124     {
-00125         parser.printHelp(std::cout);
-00126         return 0;
-00127     }
-00128 
-00129     // Either load or initialize
-00130     if (load_name.value() != "")
-00131     {
-00132         state.load(load_name.value()); // load the rest
-00133     }
-00134     else
-00135     {
-00136         // else
-00137 
-00138         // initialize rng and population
-00139 
-00140         rng.reseed(seed.value());
-00141 
-00142         pop.resize(2);
-00143 
-00144         pop[0].fitness(1);
-00145         pop[1].fitness(2);
-00146     }
-00147 
-00148     while(checkpoint(pop))
-00149     {
-00150         pop[0].fitness(pop[0].fitness() + 1);
-00151 
-00152         time_t now = time(0);
-00153 
-00154         while (time(0) == now) {} // wait a second to test timed saver
-00155 
-00156         std::cout << "gen " << generationCounter.value() << std::endl;
-00157     }
-00158 
-00159     // run the algorithm
-00160 
-00161     // Save when needed
-00162     if (save_name.value() != "")
-00163     {
-00164         std::string file_name = save_name.value();
-00165         save_name.value() = ""; // so that it does not appear in the parser section of the state file
-00166         state.save(file_name);
-00167     }
-00168 
-00169     return 1;
-00170 }
-00171 
-00172 int main(int argc, char **argv)
-00173 {
-00174     try
-00175     {
-00176         the_main(argc, argv);
-00177     }
-00178     catch(std::exception& e)
-00179     {
-00180         std::cout << "Exception: " << e.what() << std::endl;
-00181     }
-00182 
-00183 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_e_s_all_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_e_s_all_8cpp-source.html deleted file mode 100644 index f88ccdc1d..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_e_s_all_8cpp-source.html +++ /dev/null @@ -1,151 +0,0 @@ - - -EO: t-eoESAll.cpp Source File - - - - - -

t-eoESAll.cpp

00001 // Program to test several EO-ES features
-00002 
-00003 #ifdef _MSC_VER
-00004 #pragma warning(disable:4786)
-00005 #endif
-00006 
-00007 #include <algorithm>
-00008 #include <string>
-00009 #include <iostream>
-00010 #include <iterator>
-00011 #include <stdexcept>
-00012 #include <ctime>
-00013 
-00014 #ifdef _MSC_VER
-00015   #include <crtdbg.h>
-00016 #endif
-00017 
-00018 using namespace std;
-00019 
-00020 #include <eo>
-00021 
-00022 // representation specific
-00023 #include <es/make_es.h>
-00024 
-00025 #include "real_value.h"         // the sphere fitness
-00026 
-00027 // Now the main
-00029 typedef eoMinimizingFitness  FitT;
-00030 
-00031 template <class EOT>
-00032 void runAlgorithm(EOT, eoParser& _parser, eoState& _state);
-00033 
-00034 int main_function(int argc, char *argv[])
-00035 {
-00036     // Create the command-line parser
-00037     eoParser parser(argc, argv);  // for user-parameter reading
-00038     eoState state;    // keeps all things allocated
-00039     eoValueParam<bool>& simpleParam = parser.getORcreateParam(true, "Isotropic",
-00040                                                               "Isotropic self-adaptive mutation",
-00041                                                               'i', "ES mutation");
-00042     eoValueParam<bool>& stdevsParam = parser.getORcreateParam(false, "Stdev",
-00043                                                               "One self-adaptive stDev per variable",
-00044                                                               's', "ES mutation");
-00045     eoValueParam<bool>& corrParam = parser.getORcreateParam(false, "Correl",
-00046                                                             "Use correlated mutations",
-00047                                                             'c', "ES mutation");
-00048     // Run the appropriate algorithm
-00049     if (simpleParam.value() == false)
-00050     {
-00051         std::cout << "Using eoReal" << std::endl;
-00052         runAlgorithm(eoReal<FitT>(), parser, state);
-00053     }
-00054     else if (stdevsParam.value() == false)
-00055     {
-00056         std::cout << "Using eoEsSimple" << std::endl;
-00057         runAlgorithm(eoEsSimple<FitT>(), parser, state);
-00058     }
-00059     else if (corrParam.value() == false)
-00060     {
-00061         std::cout << "Using eoEsStdev" << std::endl;
-00062         runAlgorithm(eoEsStdev<FitT>(), parser, state);
-00063     }
-00064     else
-00065     {
-00066         std::cout << "Using eoEsFull" << std::endl;
-00067         runAlgorithm(eoEsFull<FitT>(), parser, state);
-00068     }
-00069     return 0;
-00070 }
-00071 
-00072 
-00073 
-00074 // A main that catches the exceptions
-00075 int main(int argc, char **argv)
-00076 {
-00077 #ifdef _MSC_VER
-00078     // rng.reseed(42);
-00079     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
-00080     flag |= _CRTDBG_LEAK_CHECK_DF;
-00081     _CrtSetDbgFlag(flag);
-00082     // _CrtSetBreakAlloc(100);
-00083 #endif
-00084     try
-00085     {
-00086         main_function(argc, argv);
-00087     }
-00088     catch(std::exception& e)
-00089     {
-00090         std::cout << "Exception: " << e.what() << '\n';
-00091     }
-00092 }
-00093 
-00094 
-00095 
-00101 template <class EOT>
-00102 void runAlgorithm(EOT, eoParser& _parser, eoState& _state)
-00103 {
-00104     typedef typename EOT::Fitness FitT;
-00105 
-00108 
-00109     // The evaluation fn - encapsulated into an eval counter for output
-00110     eoEvalFuncPtr<EOT, double, const std::vector<double>&> mainEval( real_value );
-00111     eoEvalFuncCounter<EOT> eval(mainEval);
-00112 
-00113     // the genotype - through a genotype initializer
-00114     eoRealInitBounded<EOT>& init = make_genotype(_parser, _state, EOT());
-00115 
-00116     // Build the variation operator (any seq/prop construct)
-00117     eoGenOp<EOT>& op = make_op(_parser, _state, init);
-00118 
-00121 
-00122     // initialize the population - and evaluate
-00123     // yes, this is representation indepedent once you have an eoInit
-00124     eoPop<EOT>& pop = make_pop(_parser, _state, init);
-00125     apply<EOT>(eval, pop);
-00126 
-00127     // stopping criteria
-00128     eoContinue<EOT> & term = make_continue(_parser, _state, eval);
-00129     // output
-00130     eoCheckPoint<EOT> & checkpoint = make_checkpoint(_parser, _state, eval, term);
-00131     // algorithm (need the operator!)
-00132     eoAlgo<EOT>& ga = make_algo_scalar(_parser, _state, eval, checkpoint, op);
-00133 
-00136     // to be called AFTER all parameters have been read!!!
-00137     make_help(_parser);
-00138 
-00141     std::cout << "Initial Population\n";
-00142     pop.sortedPrintOn(std::cout);
-00143     std::cout << std::endl;
-00144 
-00145     run_ea(ga, pop); // run the ga
-00146 
-00147     std::cout << "Final Population\n";
-00148     pop.sortedPrintOn(std::cout);
-00149     std::cout << std::endl;
-00150 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_e_s_full_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_e_s_full_8cpp-source.html deleted file mode 100644 index 1afe9d292..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_e_s_full_8cpp-source.html +++ /dev/null @@ -1,194 +0,0 @@ - - -EO: t-eoESFull.cpp Source File - - - - - -

t-eoESFull.cpp

00001 // Program to test several EO-ES features
-00002 
-00003 #ifdef _MSC_VER
-00004 #pragma warning(disable:4786)
-00005 #endif
-00006 
-00007 #include <algorithm>
-00008 #include <string>
-00009 #include <iostream>
-00010 #include <iterator>
-00011 #include <stdexcept>
-00012 #include <time.h>
-00013 
-00014 using namespace std;
-00015 
-00016 #include <eo>
-00017 
-00018 // representation specific
-00019 #include <es.h>
-00020 
-00021 #include "real_value.h"         // the sphere fitness
-00022 
-00023 // Now the main
-00025 typedef eoMinimizingFitness  FitT;
-00026 
-00027 template <class EOT>
-00028 void runAlgorithm(EOT, eoParser& _parser, eoState& _state, eoRealVectorBounds& _bounds, eoValueParam<string> _load_name);
-00029 
-00030 int main_function(int argc, char *argv[])
-00031 {
-00032   // Create the command-line parser
-00033   eoParser parser( argc, argv, "Basic EA for vector<float> with adaptive mutations");
-00034 
-00035   // Define Parameters and load them
-00036   eoValueParam<uint32_t>& seed        = parser.createParam(static_cast<uint32_t>(time(0)),
-00037                                                            "seed", "Random number seed");
-00038   eoValueParam<string>& load_name   = parser.createParam(string(), "Load","Load a state file",'L');
-00039   eoValueParam<string>& save_name   = parser.createParam(string(), "Save","Saves a state file",'S');
-00040   eoValueParam<bool>&   stdevs      = parser.createParam(false, "Stdev", "Use adaptive mutation rates", 's');
-00041   eoValueParam<bool>&   corr        = parser.createParam(false, "Correl", "Use correlated mutations", 'c');
-00042   eoValueParam<unsigned>& chromSize = parser.createParam(unsigned(50), "ChromSize", "Number of chromosomes", 'n');
-00043   eoValueParam<double>& minimum     = parser.createParam(-1.0, "Min", "Minimum for Objective Variables", 'l');
-00044   eoValueParam<double>& maximum     = parser.createParam(1.0, "Max", "Maximum for Objective Variables", 'h');
-00045 
-00046   eoState state;
-00047     state.registerObject(parser);
-00048     rng.reseed(seed.value());
-00049 
-00050    if (!load_name.value().empty())
-00051    { // load the parser. This is only neccessary when the user wants to
-00052      // be able to change the parameters in the state file by hand
-00053      // Note that only parameters inserted in the parser at this point
-00054      // will be loaded!.
-00055        state.load(load_name.value()); // load the parser
-00056    }
-00057 
-00058     state.registerObject(rng);
-00059 
-00060     eoRealVectorBounds bounds(chromSize.value(), minimum.value(), maximum.value());
-00061 
-00062     // Run the appropriate algorithm
-00063     if (stdevs.value() == false && corr.value() == false)
-00064     {
-00065         runAlgorithm(eoEsSimple<FitT>() ,parser, state, bounds, load_name);
-00066     }
-00067     else if (corr.value() == true)
-00068     {
-00069         runAlgorithm(eoEsFull<FitT>(),parser, state, bounds, load_name);
-00070     }
-00071     else
-00072     {
-00073         runAlgorithm(eoEsStdev<FitT>(), parser, state, bounds, load_name);
-00074     }
-00075 
-00076     // and save
-00077     if (!save_name.value().empty())
-00078     {
-00079         string file_name = save_name.value();
-00080         save_name.value() = ""; // so that it does not appear in the parser section of the state file
-00081         state.save(file_name);
-00082     }
-00083 
-00084         return 0;
-00085 }
-00086 
-00087 // A main that catches the exceptions
-00088 
-00089 int main(int argc, char **argv)
-00090 {
-00091 #ifdef _MSC_VER
-00092   //  rng.reseed(42);
-00093     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
-00094      flag |= _CRTDBG_LEAK_CHECK_DF;
-00095     _CrtSetDbgFlag(flag);
-00096 //   _CrtSetBreakAlloc(100);
-00097 #endif
-00098 
-00099     try
-00100     {
-00101         main_function(argc, argv);
-00102     }
-00103     catch(std::exception& e)
-00104     {
-00105         std::cout << "Exception: " << e.what() << '\n';
-00106     }
-00107 
-00108     return 1;
-00109 }
-00110 
-00111 template <class EOT>
-00112 void runAlgorithm(EOT, eoParser& _parser, eoState& _state, eoRealVectorBounds& _bounds, eoValueParam<string> _load_name)
-00113 {
-00114     // evaluation
-00115     eoEvalFuncPtr<EOT, double, const vector<double>&> eval(  real_value );
-00116 
-00117     // population parameters, unfortunately these can not be altered in the state file
-00118     eoValueParam<unsigned> mu = _parser.createParam(unsigned(7), "mu","Size of the population");
-00119     eoValueParam<double>lambda_rate = _parser.createParam(double(7.0), "lambda_rate", "Factor of children to produce");
-00120 
-00121     if (lambda_rate.value() < 1.0f)
-00122     {
-00123         throw logic_error("lambda_rate must be larger than 1 in a comma strategy");
-00124     }
-00125 
-00126     // Initialization
-00127     eoEsChromInit<EOT> init(_bounds);
-00128 
-00129     // State takes ownership of pop because it needs to save it in caller
-00130     eoPop<EOT>& pop = _state.takeOwnership(eoPop<EOT>(mu.value(), init));
-00131 
-00132     _state.registerObject(pop);
-00133 
-00134     if (!_load_name.value().empty())
-00135     { // The real loading happens here when all objects are registered
-00136        _state.load(_load_name.value()); // load all and everything
-00137     }
-00138     else
-00139     {
-00140         // evaluate initial population
-00141         apply<EOT>(eval, pop);
-00142     }
-00143 
-00144     // Ok, time to set up the algorithm
-00145     // Proxy for the mutation parameters
-00146     eoEsMutationInit mutateInit(_parser);
-00147 
-00148     eoEsMutate<EOT> mutate(mutateInit, _bounds);
-00149 
-00150     // monitoring, statistics etc.
-00151     eoAverageStat<EOT> average;
-00152     eoStdoutMonitor monitor;
-00153 
-00154     monitor.add(average);
-00155 
-00156     eoGenContinue<EOT> cnt(100);
-00157     eoCheckPoint<EOT> checkpoint(cnt);
-00158     checkpoint.add(monitor);
-00159     checkpoint.add(average);
-00160 
-00161     // only mutation (== with rate 1.0)
-00162     eoMonGenOp<EOT> op(mutate);
-00163 
-00164     // the selection: sequential selection
-00165     eoSequentialSelect<EOT> select;
-00166     // the general breeder (lambda is a rate -> true)
-00167     eoGeneralBreeder<EOT> breed(select, op, lambda_rate.value(), true);
-00168 
-00169     // the replacement - hard-coded Comma replacement
-00170     eoCommaReplacement<EOT> replace;
-00171 
-00172     // now the eoEasyEA
-00173     eoEasyEA<EOT> es(checkpoint, eval, breed, replace);
-00174 
-00175     es(pop);
-00176 
-00177     pop.sort();
-00178     std::cout << "Final population\n" << pop << std::endl;
-00179 
-00180 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_e_s_ops_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_e_s_ops_8cpp-source.html deleted file mode 100644 index 963f16c61..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_e_s_ops_8cpp-source.html +++ /dev/null @@ -1,130 +0,0 @@ - - -EO: t-eoESOps.cpp Source File - - - - - -

t-eoESOps.cpp

00001 // Program to test several EO-ES features
-00002 
-00003 #ifdef _MSC_VER
-00004 #pragma warning(disable:4786)
-00005 #endif 
-00006 
-00007 #include <string>
-00008 #include <iostream>
-00009 #include <iterator>
-00010 
-00011 using namespace std;
-00012 
-00013 // general
-00014 #include <utils/eoParser.h>            // though contained in all others!
-00015 // evolution specific
-00016 #include <eoEvalFuncPtr.h>
-00017 //#include <eoSequentialOpHolder.h>
-00018 //#include <eoFullEA.h>
-00019 // representation specific
-00020 
-00021 #include <es/eoESFullChrom.h>            // though contained in following
-00022 //#include <eoESReco.h>
-00023 #include <es/eoESFullMut.h>
-00024 //#include <eoESRandomize.h>
-00025 // this fitness
-00026 #include "real_value.h"         // the sphere fitness
-00027 
-00028 // Now the main 
-00030 typedef eoESFullChrom<float> Ind;
-00031   
-00032 main(int argc, char *argv[]) {
-00033   unsigned mu, lambda;
-00034   bool comma;
-00035 
-00036   // Create the command-line parser
-00037   Parser parser( argc, argv, "Basic EA for vector<float> with adaptive mutations");
-00038 
-00039   //reproducible random seed - thanks, Maarten
-00040   InitRandom(parser);
-00041 
-00042   // a first Ind, reading its parameters from the parser
-00043   // will be used later to inialize the whole population
-00044   Ind FirstEO(parser);
-00045 
-00046   // Evaluation
-00047   // here we should call some  parser-based constructor, 
-00048   // as many evaluation function need parameters
-00049   // and also have some preliminary stuffs to do
-00050   eoEvalFuncPtr<Ind> eval(  real_value );
-00051 
-00052  // recombination and mutation operators, reading their parameters from the parser
-00053   eoESMutate<float> MyMut(parser, 
-00054                           FirstEO.StdDevLength(), FirstEO.size(), 
-00055                           FirstEO.CorCffLength() );
-00056 
-00057   std::cout << "First EO " << FirstEO << std::endl;
-00058   MyMut(FirstEO);
-00059   std::cout << "First EO mutated" << FirstEO << std::endl;
-00060 
-00061   /*
-00062   // Evolution and population parameters
-00063   eoScheme<Ind> the_scheme(parser);
-00064 
-00065   // recombination and mutation operators, reading their parameters from the parser
-00066   eoESReco<float> MyReco(parser, FirstEO);
-00067   eoESMutate<float> MyMut(parser, FirstEO);
-00068 
-00069   // termination conditions read by the parser
-00070   eoTermVector<Ind> the_terms(parser);
-00071   
-00072   // Initialization of the population
-00073   // shoudl be called using the parser, in case you want to read from file(s)
-00074   eoESRandomize<float> randomize;       // an eoESInd randomnizer
-00075   eoPop<Ind> pop(the_scheme.PopSize(), FirstEO, randomize); 
-00076   // eval(pop);    // shoudl we call it from inside the constructor???
-00077 
-00078   // ALL parmeters have been read: write them out
-00079   //  Writing the parameters on arv[0].status 
-00080   // but of course this can be modified - see the example parser.cpp
-00081   parser.outputParam();
-00082   // except the help parameter???
-00083   if( parser.getBool("-h" , "--help" , "Shows this help")) {
-00084     parser.printHelp();
-00085     exit(1);
-00086   }
-00087 
-00088   unsigned i, iind;
-00089 
-00090 
-00091     std::cout << "Initial population: \n" << std::endl;
-00092     for (i = 0; i < pop.size(); ++i) {
-00093       eval(pop[i]);
-00094       std::cout << pop[i].fitness() << "\t" << pop[i] << std::endl;
-00095     }
-00096 
-00097   // the Operators
-00098   eoSequentialOpHolder <Ind> seqholder;
-00099   //  seqholder.addOp(MyReco, 1.0);
-00100   seqholder.addOp(MyMut, 1.0);
-00101 
-00102   // One generation
-00103   eoEvolStep<Ind> evol_scheme(the_scheme, seqholder, eval);
-00104   
-00105   // the algorithm: 
-00106   eoFullEA<Ind> ea(evol_scheme, the_terms);
-00107 
-00108   ea(pop);
-00109   
-00110     std::cout << "Final population: \n" << std::endl;
-00111   for (i = 0; i < pop.size(); ++i)
-00112     std::cout << pop[i].fitness() << "\t" << pop[i] << std::endl;
-00113   return 0;
-00114   */
-00115 }
-00116 
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_easy_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_easy_e_a_8cpp-source.html deleted file mode 100644 index 2ae9a69e1..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_easy_e_a_8cpp-source.html +++ /dev/null @@ -1,99 +0,0 @@ - - -EO: t-eoEasyEA.cpp Source File - - - - - -

t-eoEasyEA.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eoEasyEA.cpp
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifndef __GNUG__
-00006 // to avoid long name warnings
-00007 #pragma warning(disable:4786)
-00008 #endif // __GNUG__
-00009 
-00010 #include <eo>
-00011 
-00012 #include "binary_value.h"
-00013 
-00014 //-----------------------------------------------------------------------------
-00015 
-00016 typedef eoBin<float> Chrom;
-00017 
-00018 //-----------------------------------------------------------------------------
-00019 
-00020 main()
-00021 {
-00022   const unsigned POP_SIZE = 8, CHROM_SIZE = 16;
-00023   unsigned i;
-00024 
-00025 // a chromosome randomizer
-00026   eoBinRandom<Chrom> random;
-00027 // the populations: 
-00028   eoPop<Chrom> pop; 
-00029 
-00030    // Evaluation
-00031   eoEvalFuncPtr<Chrom> eval(  binary_value );
-00032  
-00033   for (i = 0; i < POP_SIZE; ++i)
-00034     {
-00035       Chrom chrom(CHROM_SIZE);
-00036       random(chrom);
-00037       eval(chrom);
-00038       pop.push_back(chrom);
-00039     }
-00040   
-00041   std::cout << "population:" << std::endl;
-00042   for (i = 0; i < pop.size(); ++i)
-00043     std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl;
-00044 
-00045   
-00046   // selection
-00047   eoLottery<Chrom> lottery;
-00048 
-00049   // breeder
-00050   eoBinBitFlip<Chrom> bitflip;
-00051   eoBinCrossover<Chrom> xover;
-00052   eoProportionalOpSel<Chrom> propSel;
-00053   eoBreeder<Chrom> breeder( propSel );
-00054   propSel.addOp(bitflip, 0.25);
-00055   propSel.addOp(xover, 0.75);
-00056   
-00057   // replacement
-00058   eoInclusion<Chrom> inclusion;
-00059 
-00060   // Terminators
-00061   eoFitTerm<Chrom> term( pow(2.0, CHROM_SIZE), 1 );
-00062 
-00063   // GA generation
-00064   eoEasyEA<Chrom> ea(lottery, breeder, inclusion, eval, term);
-00065 
-00066   // evolution
-00067   try
-00068     {
-00069       ea(pop);
-00070     }
-00071   catch (std::exception& e)
-00072     {
-00073         std::cout << "exception: " << e.what() << std::endl;;
-00074         exit(EXIT_FAILURE);
-00075     }
-00076   
-00077   std::cout << "pop" << std::endl;
-00078   for (i = 0; i < pop.size(); ++i)
-00079     std::cout << "\t" <<  pop[i] << " " << pop[i].fitness() << std::endl;
-00080   
-00081   return 0;
-00082 }
-00083 
-00084 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_external_e_o_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_external_e_o_8cpp-source.html deleted file mode 100644 index 915b7b7b4..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_external_e_o_8cpp-source.html +++ /dev/null @@ -1,147 +0,0 @@ - - -EO: t-eoExternalEO.cpp Source File - - - - - -

t-eoExternalEO.cpp

00001 // to avoid long name warnings
-00002 #ifdef _MSC_VER
-00003 #pragma warning(disable:4786)
-00004 #endif
-00005 
-00006 #include <iostream>
-00007 #include <stdexcept>  // runtime_error 
-00008 
-00009 #include <eoEvalFuncPtr.h>
-00010 #include <other/external_eo>
-00011 #include <utils/eoRNG.h>
-00012 
-00013 using namespace std;
-00014 
-00015 struct UserDefStruct
-00016 {
-00017     int a;
-00018     float b;
-00019     double c;
-00020     enum Enum { just, another, test } d;
-00021 };
-00022 
-00023 std::ostream& operator<<(std::ostream& os, const UserDefStruct& str)
-00024 {
-00025     return os << str.a << ' ' << str.b << ' ' << str.c << ' ' << static_cast<int>(str.d) << ' ';
-00026 }
-00027 
-00028 istream& operator>>(istream& is, UserDefStruct& str)
-00029 {
-00030     is >> str.a;
-00031     is >> str.b;
-00032     is >> str.c;
-00033     int i;
-00034     is >> i;
-00035     str.d = static_cast<UserDefStruct::Enum>(i);
-00036 
-00037     return is;
-00038 }
-00039 
-00040 
-00041 UserDefStruct RandomStruct()
-00042 {
-00043     std::cout << "RandomStruct\n";
-00044 
-00045     UserDefStruct result;
-00046 
-00047     result.a = rng.random(5);
-00048     result.b = rng.uniform();
-00049     result.c = rng.uniform();
-00050     result.d = UserDefStruct::another;
-00051 
-00052     return result;
-00053 }
-00054 
-00055 // reading and writing
-00056 
-00057 
-00058 bool UserDefMutate(UserDefStruct& a)
-00059 {
-00060     std::cout << "UserDefMutate\n";
-00061     a = RandomStruct(); // just for testing
-00062 
-00063     if (rng.flip(0.1f))
-00064         a.d = UserDefStruct::test;
-00065     else
-00066         a.d = UserDefStruct::another;
-00067     return true;
-00068 }
-00069 
-00070 bool UserDefBinCrossover(UserDefStruct& a, const UserDefStruct& b)
-00071 {
-00072     std::cout << "UserDefBinCrossover\n";
-00073 
-00074     if (rng.flip(0.5))
-00075         a.a = b.a;
-00076     if (rng.flip(0.5))
-00077         a.b = b.b;
-00078     if (rng.flip(0.5))
-00079         a.c = b.c;
-00080     if (rng.flip(0.5))
-00081         a.d = b.d;
-00082     return true;
-00083 }
-00084 
-00085 bool UserDefQuadCrossover(UserDefStruct& a, UserDefStruct& b)
-00086 {
-00087     std::cout << "UserDefQuadCrossover\n";
-00088     if (rng.flip(0.5))
-00089         swap(a.a, b.a);
-00090     if (rng.flip(0.5))
-00091         swap(a.b, b.b);
-00092     if (rng.flip(0.5))
-00093         swap(a.c, b.c);
-00094     if (rng.flip(0.5))
-00095         swap(a.d, b.d);
-00096 
-00097     return true;
-00098 }
-00099 
-00100 float UserDefEvalFunc(const UserDefStruct& a)
-00101 {
-00102     std::cout << "UserDefEvalFunc\n";
-00103     return a.b;
-00104 }
-00105 
-00106 int main()
-00107 {
-00108     typedef UserDefStruct External;
-00109     typedef float FitnessType;
-00110     typedef eoExternalEO<float, External> EoType;
-00111 
-00112     eoExternalInit<FitnessType, External> init(RandomStruct);
-00113     eoExternalMonOp<FitnessType, External> mutate(UserDefMutate);
-00114     eoExternalBinOp<FitnessType, External> cross1(UserDefBinCrossover);
-00115     eoExternalQuadOp<FitnessType, External> cross2(UserDefQuadCrossover);
-00116 
-00117     // eoExternalEvalFunc<FitnessType, External>   eval(UserDefEvalFunc);
-00118 
-00119     EoType eo1;
-00120     init(eo1);
-00121     EoType eo2;
-00122     init(eo2);
-00123 
-00124     std::cout << "before mutation " << eo1 << '\n';
-00125     mutate(eo1);
-00126     std::cout << "after mutation " << eo1 << '\n';
-00127     cross1(eo1, eo2);
-00128     std::cout << "after crossover " << eo1 << '\n';
-00129 
-00130     cross2(eo1,eo2);
-00131 
-00132 };
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_fitness_assembled_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_fitness_assembled_8cpp-source.html deleted file mode 100644 index 4ff25a117..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_fitness_assembled_8cpp-source.html +++ /dev/null @@ -1,120 +0,0 @@ - - -EO: t-eoFitnessAssembled.cpp Source File - - - - - -

t-eoFitnessAssembled.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // t-eoFitnessAssembled.cpp
-00005 // Marc Wintermantel & Oliver Koenig
-00006 // IMES-ST@ETHZ.CH
-00007 // March 2003
-00008 
-00009 /*
-00010     This library is free software; you can redistribute it and/or
-00011     modify it under the terms of the GNU Lesser General Public
-00012     License as published by the Free Software Foundation; either
-00013     version 2 of the License, or (at your option) any later version.
-00014  
-00015     This library is distributed in the hope that it will be useful,
-00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00018     Lesser General Public License for more details.
-00019  
-00020     You should have received a copy of the GNU Lesser General Public
-00021     License along with this library; if not, write to the Free Software
-00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00023  
-00024     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00025              Marc.Schoenauer@inria.fr
-00026              mak@dhi.dk
-00027 */
-00028 //-----------------------------------------------------------------------------
-00029 #include <iostream>
-00030 #include <stdexcept>
-00031 
-00032 #include "eoScalarFitnessAssembled.h"
-00033 
-00034 void test_eoScalarFitnessAssembledClass(){
-00035   
-00036   // Create instances
-00037   eoAssembledMinimizingFitness A,B,C(5, 1.3, "C value");
-00038 
-00039   // Add some values to them
-00040   A.push_back( 5.6, "first value"  );
-00041   A.push_back( 3.2, "second value" );
-00042   A.push_back( 2.6, "third value" );
-00043 
-00044   B.push_back( 1.2 );
-00045   B.push_back( 3.2 );
-00046   B.push_back( 5.2 );
-00047 
-00048   B.setDescription( 1, "B descr" );
-00049 
-00050   std::cout << "Created instances A,B and C, added some vals; testing << operator " << std::endl;
-00051   std::cout << "A= " << A << std::endl;
-00052   std::cout << "B= " << B << std::endl;
-00053   std::cout << "C= " << C << std::endl;
-00054   std::cout << "Printing values and descriptions: " << std::endl;
-00055   std::cout << "A: "; A.printAll( std::cout ); std::cout << std::endl;
-00056   std::cout << "B: "; B.printAll( std::cout ); std::cout << std::endl; 
-00057   std::cout << "C: "; C.printAll( std::cout ); std::cout << std::endl;
-00058   
-00059   A.resize(8, 100.3, "A resized");
-00060   std::cout << "Resized A: "; A.printAll( std::cout ); std::cout << std::endl;
-00061 
-00062   std::cout << "Access fitness values of A and B: " << "f(A)= " << (double) A << " f(B)= " << (double) B << std::endl;
-00063 
-00064   // Testing constructors and assignments
-00065   eoAssembledMinimizingFitness D(A) ,E(3.2);
-00066   std::cout << "D(A) = " << D << "\t" << "E(3.2)= " << E << std::endl;
-00067   eoAssembledMinimizingFitness F,G;
-00068   F=A;
-00069   G= 7.5;
-00070   std::cout << "F = A : " << F << "\t G = 7.5 : " << G << std::endl;
-00071  
-00072   // Comparing...
-00073   std::cout << "A<B: " << (A<B) << std::endl;
-00074   std::cout << "A>B: " << (A>B) << std::endl;
-00075   std::cout << "A<=B: " << (A<=B) << std::endl;
-00076   std::cout << "A>=B: " << (A>=B) << std::endl;
-00077 
-00078 }
-00079 
-00080 
-00081 
-00082 int main(){
-00083   
-00084   std::cout << "-----------------------------------" << std::endl;
-00085   std::cout << "START t-eoFitnessAssembled" << std::endl;
-00086 
-00087   try{
-00088     // Test the fitness class itself
-00089     test_eoScalarFitnessAssembledClass();
-00090     
-00091     
-00092 
-00093   }
-00094   catch(std::exception& e){
-00095     std::cout << e.what() << std::endl;
-00096     return 1;
-00097   }
-00098 
-00099   std::cout << "END  t-eoFitnessAssembled" << std::endl;
-00100   std::cout << "----------------------------------" << std::endl;
-00101 
-00102   return 0;
-00103 
-00104 }
-00105 
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_fitness_assembled_e_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_fitness_assembled_e_a_8cpp-source.html deleted file mode 100644 index 385eb51e7..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_fitness_assembled_e_a_8cpp-source.html +++ /dev/null @@ -1,183 +0,0 @@ - - -EO: t-eoFitnessAssembledEA.cpp Source File - - - - - -

t-eoFitnessAssembledEA.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002  
-00003 //-----------------------------------------------------------------------------
-00004 // t-eoFitnessAssembledEA.cpp
-00005 // Marc Wintermantel & Oliver Koenig
-00006 // IMES-ST@ETHZ.CH
-00007 // March 2003
-00008 
-00009 /*
-00010     This library is free software; you can redistribute it and/or
-00011     modify it under the terms of the GNU Lesser General Public
-00012     License as published by the Free Software Foundation; either
-00013     version 2 of the License, or (at your option) any later version.
-00014  
-00015     This library is distributed in the hope that it will be useful,
-00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00018     Lesser General Public License for more details.
-00019  
-00020     You should have received a copy of the GNU Lesser General Public
-00021     License along with this library; if not, write to the Free Software
-00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00023  
-00024     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00025              Marc.Schoenauer@inria.fr
-00026              mak@dhi.dk
-00027 */
-00028 //-----------------------------------------------------------------------------
-00029 #ifdef HAVE_CONFIG_H
-00030 #include <config.h>
-00031 #endif
-00032 
-00033 #include <iostream>
-00034 #include <cmath>
-00035 
-00036 // General eo includes
-00037 #include <eo>
-00038 #include <utils/eoRealVectorBounds.h>   // The real bounds (not yet in general eo include)
-00039 
-00040 // Representation dependent includes and typedefs
-00041 #include <es/eoReal.h>                  // Definition of representation
-00042 #include <es/eoRealInitBounded.h>       // Uniformly initializes real vector in bounds
-00043 #include <es/make_genotype_real.h>              // Initialization of a genotype
-00044 #include <eoEvalFunc.h>                 // Base class for fitness evaluation 
-00045 #include <es/make_op_real.h>            // Variation operators using standard Real operators
-00046 #include <eoScalarFitnessAssembled.h>     // The fitness class
-00047 typedef eoReal<eoAssembledMinimizingFitness> Indi;
-00048 
-00049 // Representation independent modules
-00050 #include <do/make_pop.h>                // Initialization of population
-00051 #include <do/make_continue.h>           // The stopping criterion
-00052 #include <do/make_checkpoint_assembled.h>       // Outputs (stats, population dumps, ...)
-00053 #include <do/make_algo_scalar.h>        // Evolution engine (selection and replacement)
-00054 #include <do/make_run.h>                // simple call to the algo.stays there for consistency reasons 
-00055 
-00056 // Define a fitness class
-00057 template <class EOT>
-00058 class eoAssembledEvalFunc : public eoEvalFunc<EOT>{
-00059 public:
-00060   // Constructor defining number and descriptions of fitness terms
-00061   eoAssembledEvalFunc() {
-00062     
-00063     // Define a temporary fitness object to have access to its static traits
-00064     typename EOT::Fitness tmpfit(3, 0.0);    
-00065     tmpfit.setDescription(0,"Fitness");
-00066     tmpfit.setDescription(1,"Some Value");
-00067     tmpfit.setDescription(2,"Other Value");
-00068 
-00069   }
-00070 
-00071   void operator()(EOT& _eo){
-00072 
-00073     // Define temporary fitness object 
-00074     // (automatically gets initialized with size given in constructor)
-00075     typename EOT::Fitness tmpfit;
-00076     
-00077     // Eval some dummy fitness
-00078     double sum1=0.0, sum2=0.0;
-00079     for (unsigned i=0; i < _eo.size(); ++i){
-00080       sum1 += _eo[i]*_eo[i];
-00081       sum2 += fabs(_eo[i]) + fabs(_eo[i]);
-00082     }
-00083     
-00084     // Store some fitness terms
-00085     tmpfit[1]= sum1;
-00086     tmpfit[2]= sum2;
-00087     
-00088     // Store the fitness
-00089     tmpfit = (sum1 + sum2)/_eo.size();
-00090 
-00091     // Pass it
-00092     _eo.fitness( tmpfit );
-00093   
-00094   }
-00095 };
-00096 
-00097 // checks for help demand, and writes the status file and make_help; in libutils
-00098 void make_help(eoParser & _parser);
-00099 
-00100 // now use all of the above, + representation dependent things
-00101 int main(int argc, char* argv[]){
-00102   
-00103   std::cout << "-----------------------------------" << std::endl;
-00104   std::cout << "START t-eoFitnessAssembledEA" << std::endl;
-00105 
-00106   try{
-00107 
-00108     // Parser & State
-00109     eoParser parser(argc, argv);  // for user-parameter reading    
-00110     eoState state;    // keeps all things allocated
-00111 
-00113     // A) Representation dependent stuff
-00115 
-00116     // The fitness
-00117     eoAssembledEvalFunc<Indi> plainEval;
-00118     // turn that object into an evaluation counter
-00119     eoEvalFuncCounter<Indi> eval(plainEval);
-00120 
-00121     // The genotype
-00122     eoRealInitBounded<Indi>& init = do_make_genotype(parser, state, Indi() );
-00123     
-00124     // The variation operators
-00125     eoGenOp<Indi>& op = do_make_op(parser, state, init);
-00126 
-00128     // B) Create representation independent stuff
-00130 
-00131     // initialize the population
-00132     // yes, this is representation indepedent once you have an eoInit
-00133     eoPop<Indi>& pop   = do_make_pop(parser, state, init);
-00134 
-00135     // stopping criteria
-00136     eoContinue<Indi> & term = do_make_continue(parser, state, eval);
-00137     // output
-00138     eoCheckPoint<Indi> & checkpoint = do_make_checkpoint_assembled(parser, state, eval, term);
-00139     // algorithm (need the operator!)
-00140     eoAlgo<Indi>& ga = do_make_algo_scalar(parser, state, eval, checkpoint, op);
-00141 
-00142 
-00143     make_help(parser);  // To be called after all parameters have been read !
-00144 
-00146     // C) Run the algorithm
-00148 
-00149     // evaluate intial population AFTER help and status in case it takes time
-00150     apply<Indi>(eval, pop);
-00151     // if you want to print it out
-00152     std::cout << "Initial Population\n";
-00153     pop.sortedPrintOn(std::cout);
-00154     std::cout << std::endl;
-00155 
-00156     do_run(ga, pop); // run the ga
-00157 
-00158     std::cout << "Final Population\n";
-00159     pop.sortedPrintOn(std::cout);
-00160     std::cout << std::endl;
-00161     
-00162   }
-00163   catch(std::exception& e)
-00164     {
-00165       std::cout << e.what() << std::endl;
-00166       return 1;
-00167     }
-00168 
-00169   std::cout << "-----------------------------------" << std::endl;
-00170   std::cout << "END t-eoFitnessAssembledEA" << std::endl;
-00171 
-00172   return 0;
-00173 
-00174 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_functor_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_functor_8cpp-source.html deleted file mode 100644 index 7cc6d5379..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_functor_8cpp-source.html +++ /dev/null @@ -1,63 +0,0 @@ - - -EO: t-eoFunctor.cpp Source File - - - - - -

t-eoFunctor.cpp

00001 
-00002 #include <eoInit.h>
-00003 #include <eoCounter.h>
-00004 
-00005 void f(eoInit<int>& func)
-00006 {
-00007     int i;
-00008     func(i);
-00009 }
-00010 
-00011 class Tester : public eoInit<int>
-00012 {
-00013 public :
-00014     void operator()(int& i)
-00015     {
-00016         i=1;
-00017     }
-00018 };
-00019 
-00020 #include <iostream>
-00021 #include <eoFixedLength.h>
-00022 #include <eoVariableLength.h>
-00023 
-00024 using namespace std;
-00025 
-00026 int main(void)
-00027 {
-00028     Tester test;
-00029 
-00030     eoFunctorStore store;
-00031 
-00033     eoInit<int>& cntr = make_counter(functor_category(test), test, store);
-00034 
-00035     eoUnaryFunctorCounter<eoInit<int> > cntr2(test);
-00036 
-00037     f(cntr);
-00038     f(cntr2);
-00039     f(cntr2);
-00040     f(test);
-00041 
-00042     typedef eoVariableLength<double, int> EoType;
-00043     EoType eo;
-00044 
-00045     eo.push_back(1);
-00046     eo.push_back(2);
-00047 
-00048     return 1;
-00049 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_g_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_g_a_8cpp-source.html deleted file mode 100644 index 619383e48..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_g_a_8cpp-source.html +++ /dev/null @@ -1,79 +0,0 @@ - - -EO: t-eoGA.cpp Source File - - - - - -

t-eoGA.cpp

00001 #include <iostream>
-00002 
-00003 #include <ga/make_ga.h>
-00004 #include <eoEvalFuncPtr.h>
-00005 #include "binary_value.h"
-00006 #include <apply.h>
-00007 
-00008 using namespace std;
-00009 
-00010 int main(int argc, char* argv[])
-00011 {
-00012 
-00013   try
-00014   {
-00015   typedef eoBit<double> EOT;
-00016 
-00017   eoParser parser(argc, argv);  // for user-parameter reading
-00018 
-00019   eoState state;    // keeps all things allocated
-00020 
-00023 
-00024   // The evaluation fn - encapsulated into an eval counter for output 
-00025   eoEvalFuncPtr<EOT, double> mainEval( binary_value<EOT> );
-00026   eoEvalFuncCounter<EOT> eval(mainEval);
-00027 
-00028   // the genotype - through a genotype initializer
-00029   eoInit<EOT>& init = make_genotype(parser, state, EOT());
-00030 
-00031   // Build the variation operator (any seq/prop construct)
-00032   eoGenOp<EOT>& op = make_op(parser, state, init);
-00033 
-00036 
-00037   // initialize the population - and evaluate
-00038   // yes, this is representation indepedent once you have an eoInit
-00039   eoPop<EOT>& pop   = make_pop(parser, state, init);
-00040 
-00041   // stopping criteria
-00042   eoContinue<EOT> & term = make_continue(parser, state, eval);
-00043   // output
-00044   eoCheckPoint<EOT> & checkpoint = make_checkpoint(parser, state, eval, term);
-00045   // algorithm (need the operator!)
-00046   eoAlgo<EOT>& ga = make_algo_scalar(parser, state, eval, checkpoint, op);
-00047 
-00050   // to be called AFTER all parameters have been read!!!
-00051   make_help(parser);
-00052 
-00055   // evaluate intial population AFTER help and status in case it takes time
-00056   apply<EOT>(eval, pop);
-00057   // print it out
-00058   std::cout << "Initial Population\n";
-00059   pop.sortedPrintOn(std::cout);
-00060   std::cout << std::endl;
-00061 
-00062   run_ea(ga, pop); // run the ga
-00063 
-00064   std::cout << "Final Population\n";
-00065   pop.sortedPrintOn(std::cout);
-00066   std::cout << std::endl;
-00067   }
-00068   catch(std::exception& e)
-00069   {
-00070     std::cout << e.what() << std::endl;
-00071   }
-00072 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_g_op_sel_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_g_op_sel_8cpp-source.html deleted file mode 100644 index eda322777..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_g_op_sel_8cpp-source.html +++ /dev/null @@ -1,146 +0,0 @@ - - -EO: t-eoGOpSel.cpp Source File - - - - - -

t-eoGOpSel.cpp

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003     t-eoGOpSel.cpp
-00004       Testing proportional operator selectors
-00005 
-00006     (c) Maarten Keijzer and GeNeura Team, 2000 
-00007  
-00008     This program is free software; you can redistribute it and/or modify
-00009     it under the terms of the GNU General Public License as published by
-00010     the Free Software Foundation; either version 2 of the License, or
-00011     (at your option) any later version.
-00012 
-00013     This program is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00016     GNU General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU General Public License
-00019     along with this program; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021  
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023             
-00024 */
-00025 
-00026 //-----------------------------------------------------------------------------// 
-00027 
-00028 #ifndef __GNUG__
-00029 // to avoid long name warnings
-00030 #pragma warning(disable:4786)
-00031 #endif // __GNUG__
-00032 
-00033 #include <iostream>
-00034 
-00035 #include <ga/eoBin.h>  // eoBin, eoPop, eoBreeder
-00036 #include <eoPop.h>
-00037 #include <ga/eoBitOp.h>
-00038 #include <eoProportionalGOpSel.h>
-00039 #include <eoSequentialGOpSelector.h>
-00040 #include <eoRandomIndiSelector.h>
-00041 
-00042 #include <eoDetTournamentIndiSelector.h>
-00043 #include <eoDetTournamentInserter.h>
-00044 #include <eoStochTournamentInserter.h>
-00045 
-00046 #include <eoGOpBreeder.h>
-00047 
-00048 #include <utils/eoRNG.h>
-00049 #include <utils/eoState.h>
-00050 
-00051 // Fitness evaluation
-00052 #include "binary_value.h"
-00053 
-00054 //-----------------------------------------------------------------------------
-00055 
-00056 typedef eoBin<float> Chrom;
-00057 
-00058 //-----------------------------------------------------------------------------
-00059 
-00060 main()
-00061 {
-00062   rng.reseed(42); // reproducible random seed
-00063 
-00064   const unsigned POP_SIZE = 8, CHROM_SIZE = 4;
-00065   unsigned i;
-00066 
-00067   eoBinRandom<Chrom> random;
-00068   eoPop<Chrom> pop; 
-00069   
-00070   for (i = 0; i < POP_SIZE; ++i)
-00071     {
-00072       Chrom chrom(CHROM_SIZE);
-00073       random(chrom);
-00074       chrom.fitness(binary_value(chrom));
-00075       pop.push_back(chrom);
-00076     }
-00077   
-00078   std::cout << "population:" << std::endl;
-00079   for (i = 0; i < pop.size(); ++i)
-00080     std::cout << pop[i] << " " << pop[i].fitness() << std::endl;
-00081 
-00082   eoBinBitFlip<Chrom> bitflip;
-00083   eoBinCrossover<Chrom> xover;
-00084   
-00085   eoEvalFuncPtr<Chrom> eval(binary_value);
-00086 
-00087   //Create the proportional operator selector and add the 
-00088   // two operators creatd above to it.
-00089 
-00090   eoProportionalGOpSel<Chrom > propSel;
-00091   eoSequentialGOpSel<Chrom>    seqSel;
-00092 
-00093   propSel.addOp(bitflip, 0.5);
-00094   propSel.addOp(xover, 0.5);
-00095   
-00096   // seqSel selects operator in sequence, creating a combined operator
-00097   // add a bitflip, an xover and another bitflip
-00098   seqSel.addOp(bitflip, 0.25);
-00099   seqSel.addOp(xover, 0.5);
-00100   seqSel.addOp(bitflip, 0.25);
-00101 
-00102 
-00103   eoRandomIndiSelector<Chrom>         selector1;
-00104   eoDetTournamentIndiSelector<Chrom>  selector2(2);
-00105 
-00106   eoBackInserter<Chrom> inserter1;
-00107   eoDetTournamentInserter<Chrom> inserter2(eval, 2);
-00108   eoStochTournamentInserter<Chrom> inserter3(eval, 0.9f);
-00109 
-00110   eoGOpBreeder<Chrom> breeder1(propSel, selector1);
-00111   eoGOpBreeder<Chrom> breeder2(seqSel, selector1);
-00112   eoGOpBreeder<Chrom> breeder3(propSel, selector2);
-00113   eoGOpBreeder<Chrom> breeder4(seqSel, selector2);
-00114 
-00115   // test the breeders
-00116 
-00117   breeder1(pop);
-00118   breeder2(pop);
-00119   breeder3(pop);
-00120   breeder4(pop);
-00121 
-00122   eoState state;
-00123 
-00124   state.registerObject(pop);
-00125 
-00126   state.save(std::std::cout);
-00127     
-00128   return 0;
-00129 }
-00130 
-00131 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_gen_op_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_gen_op_8cpp-source.html deleted file mode 100644 index 06144a3f5..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_gen_op_8cpp-source.html +++ /dev/null @@ -1,438 +0,0 @@ - - -EO: t-eoGenOp.cpp Source File - - - - - -

t-eoGenOp.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // eoGenOp.cpp
-00005 // (c) Maarten Keijzer and Marc Schoenauer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mkeijzer@dhi.dk
-00022              Marc.Schoenauer@polytechnique.fr
-00023  */
-00024 //-----------------------------------------------------------------------------
-00025 
-00030 #include <sstream>
-00031 
-00032 #include <eo>
-00033 #include <eoPopulator.h>
-00034 #include <eoOpContainer.h>
-00035 
-00036 struct Dummy : public EO<double>
-00037 {
-00038   typedef double Type;
-00039   Dummy(std::string _s="") : s(_s) {}
-00040 
-00041   void printOn(std::ostream & _os) const
-00042   {
-00043     EO<double>::printOn(_os);
-00044     _os << " - " << s ;
-00045   }
-00046 
-00047   std::string s;
-00048 };
-00049 
-00050 typedef Dummy EOT;
-00051 
-00052 unsigned int pSize;      // global to be used as marker in the fitness
-00053 
-00054 // DEFINITIONS of the eoOps
-00055 class monop : public eoMonOp<EOT>
-00056 {
-00057   public :
-00058   monop(char * _sig){sig=_sig;}
-00059     bool operator()(EOT& _eo)
-00060     {
-00061       _eo.s = sig + "(" + _eo.s + ")";
-00062       _eo.fitness(_eo.fitness()+pSize);
-00063       return false;
-00064     }
-00065   std::string className() const {return sig;}
-00066     private:
-00067     std::string sig;
-00068 };
-00069 
-00070 class binop: public eoBinOp<EOT>
-00071 {
-00072   public :
-00073     bool operator()(EOT& _eo1, const EOT& _eo2)
-00074     {
-00075       _eo1.s = "bin(" + _eo1.s + "," + _eo2.s + ")";
-00076       double f= (_eo1.fitness()+_eo2.fitness()) * pSize;
-00077       _eo1.fitness(_eo1.fitness()+f);
-00078       return false;
-00079     }
-00080   std::string className() const {return "binop";}
-00081 };
-00082 
-00083 class quadop: public eoQuadOp<EOT>
-00084 {
-00085   public :
-00086   std::string className() const {return "quadop";}
-00087     bool operator()(EOT& a, EOT& b)
-00088     {
-00089       EOT oi = a;
-00090       EOT oj = b;
-00091 
-00092       a.s = "quad1(" + oi.s + "," + oj.s + ")";
-00093       b.s = "quad2(" + oj.s + "," + oi.s + ")";
-00094       double f= (a.fitness()+b.fitness()+2*pSize) * pSize;
-00095       a.fitness(a.fitness()+f);
-00096       b.fitness(b.fitness()+f);
-00097       return false;
-00098     }
-00099 };
-00100 // an eoQuadOp that does nothing
-00101 class quadClone: public eoQuadOp<EOT>
-00102 {
-00103   public :
-00104   std::string className() const {return "quadclone";}
-00105     bool operator()(EOT& , EOT& ) {return false;}
-00106 };
-00107 
-00108 // User defined General Operator... adapted from Marc's example
-00109 
-00110 class one2threeOp : public eoGenOp<EOT> // :-)
-00111 {
-00112   public:
-00113     unsigned max_production(void) { return 3; }
-00114 
-00115     void apply(eoPopulator<EOT>& _plop)
-00116     {
-00117       EOT& eo = *_plop; // select the guy
-00118 
-00119       ++_plop; // advance
-00120       _plop.insert("v(" + eo.s + ", 1)");
-00121       ++_plop;
-00122       _plop.insert("v(" + eo.s + ", 2)");
-00123       eo.s  =  "v(" + eo.s + ", 0)"; // only now change the thing
-00124       // oh right, and invalidate fitnesses
-00125     }
-00126   virtual std::string className() const {return "one2threeOp";}
-00127 };
-00128 
-00129 
-00130 class two2oneOp : public eoGenOp<EOT> // :-)
-00131 {
-00132   public:
-00133     unsigned max_production(void) { return 1; }
-00134 
-00135     void apply(eoPopulator<EOT>& _plop)
-00136     {
-00137       EOT& eo = *_plop; // select the guy
-00138       const EOT& eo2 = _plop.select();
-00139       eo.s  =  "221(" + eo.s + ", " + eo2.s + ")";
-00140       // oh right, and invalidate fitnesses
-00141     }
-00142   virtual std::string className() const {return "two2oneOp";}
-00143 };
-00144 
-00145 class three2threeOp : public eoGenOp<EOT> // :-)
-00146 {
-00147   public:
-00148     unsigned max_production(void) { return 3; }
-00149 
-00150     void apply(eoPopulator<EOT>& _plop)
-00151     {
-00152       EOT& eo1 = *_plop; // select 1st guy
-00153       EOT& eo2 = *++_plop; // select 2nd guy
-00154       EOT& eo3 = *++_plop; // select 3rd guy
-00155       EOT a = eo1;
-00156       EOT b = eo2;
-00157       EOT c = eo3;
-00158       std::cout << "les selectionnes: a=" << a << " et b=" << b << " et c=" << c << std::endl;
-00159       eo1.s  =  "323-1(" + a.s + ", " + b.s + ", " + c.s + ")";
-00160       eo2.s  =  "323-2(" + a.s + ", " + b.s + ", " + c.s + ")";
-00161       eo3.s  =  "323-3(" + a.s + ", " + b.s + ", " + c.s + ")";
-00162       // oh right, and invalidate fitnesses
-00163       std::cout << "les enfants: a=" << eo1 << " et b=" << eo2 << " et c=" << eo3 << std::endl;
-00164     }
-00165   virtual std::string className() const {return "three2threeOp";}
-00166 };
-00167 
-00168 
-00169 // dummy intialization. Re-init if no pSize, resize first if pSize
-00170 void init(eoPop<Dummy> & _pop, unsigned _pSize)
-00171 {
-00172   if (_pSize)
-00173     {
-00174       _pop.resize(_pSize);
-00175     }
-00176   else
-00177     {
-00178       throw std::runtime_error("init pop with 0 size");
-00179     }
-00180   for (unsigned i=0; i<_pSize; i++)
-00181     {
-00182         std::ostringstream os;
-00183       os << i << std::ends;
-00184       _pop[i] = Dummy(os.str());
-00185       _pop[i].fitness(i);
-00186     }
-00187 }
-00188 
-00189 // ok, now for the real work
-00190 int the_main(int argc, char **argv)
-00191 {
-00192 
-00193   eoParser parser(argc, argv);
-00194   eoValueParam<unsigned int> parentSizeParam = parser.createParam(unsigned(10), "parentSize", "Parent size",'P');
-00195     pSize = parentSizeParam.value(); // global variable
-00196 
-00197     eoValueParam<uint32_t> seedParam(time(0), "seed", "Random number seed", 'S');
-00198     parser.processParam( seedParam );
-00199     eo::rng.reseed(seedParam.value());
-00200 
-00201    // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED
-00202    // i.e. in case you need parameters somewhere else, postpone these
-00203     if (parser.userNeedsHelp())
-00204       {
-00205         parser.printHelp(std::cout);
-00206         exit(1);
-00207       }
-00208 
-00210   monop mon("mon1");
-00211   monop clone("clone");
-00212   binop bin;
-00213   quadop quad;
-00214   quadClone quadclone;
-00215 
-00216   // our own operator
-00217   one2threeOp o2t;
-00218   two2oneOp t2o;
-00219   three2threeOp t2t;
-00220 
-00221 
-00222   // a selector
-00223   eoDetTournamentSelect<EOT> select;
-00224   // and a recognizable selector for testing the inbedded selector mechanism
-00225   eoBestSelect<EOT> selectBest;
-00226 
-00227   // proportional selection between quad and bin
-00228   // so we either do a quad or a bin
-00229   eoProportionalOp<EOT> pOp;
-00230   pOp.add(quad, 0.1);
-00231   pOp.add(bin, 0.1);
-00232 
-00233   // sequential selection between pOp and mon
-00234   eoSequentialOp<EOT> sOp;
-00235   sOp.add(pOp, 0.9);
-00236   sOp.add(mon, 0.1);
-00237 
-00238   // with one2three op
-00239   eoSequentialOp<EOT> sOp2;
-00240   sOp2.add(o2t, 1);
-00241   //  sOp2.add(quad, 1);
-00242 
-00243   // with three2three op
-00244   eoSequentialOp<EOT> sOp3;
-00245   sOp3.add(t2t, 1);
-00246 
-00247 //   eoSequentialOp<EOT> sOp3;
-00248 //   sOp3.add(t2o, 1);
-00249 //   sOp3.add(bin, 1);
-00250 //   sOp3.add(quad, 1);
-00251   // try adding quads and bins to see what results you'll get
-00252 
-00253   // now a sequential selection that is a simple "addition"
-00254   eoSequentialOp<EOT> sOpQuadPlusMon;
-00255   sOpQuadPlusMon.add(quad, 1);
-00256   sOpQuadPlusMon.add(mon, 1);
-00257 
-00258   // this corresponds
-00259   eoProportionalOp<EOT> pOpSAGLike;
-00260   pOpSAGLike.add(sOpQuadPlusMon, 0.24);
-00261   pOpSAGLike.add(quad, 0.56);
-00262   pOpSAGLike.add(mon, 0.06);
-00263   pOpSAGLike.add(clone, 0.14);
-00264 
-00265   // init
-00266   eoPop<EOT> pop;
-00267   eoPop<EOT> offspring;
-00268 
-00269   init(pop, pSize);
-00270 // sort pop so seqPopulator is identical to SelectPopulator(SequentialSelect)
-00271   pop.sort();
-00272   std::cout << "Population initiale\n" << pop << std::endl;
-00273 
-00274   // To simulate SGA: first a prop between quadOp and quadClone
-00275   eoProportionalOp<EOT> pSGAOp;
-00276   pSGAOp.add(quad, 0.8);
-00277   pSGAOp.add(quadclone, 0.2);
-00278   // sequential selection between pSGAOp and mon
-00279   eoSequentialOp<EOT> virtualSGA;
-00280   virtualSGA.add(pSGAOp, 1.0);
-00281   virtualSGA.add(mon, 0.3);
-00282 
-00283   eoSeqPopulator<EOT> popit(pop, offspring);  // no selection, a copy of pop
-00284 
-00285   // until we filled a new population
-00286   try
-00287     {
-00288      while (offspring.size() < pop.size())
-00289            {
-00290              virtualSGA(popit);
-00291              std::cout << "SeqPopulator boucle et incremente\n";
-00292        ++popit;
-00293            }
-00294     }
-00295   catch(eoPopulator<EOT>::OutOfIndividuals&)
-00296     {
-00297       std::cout << "Warning: not enough individuals to handle\n";
-00298     }
-00299 
-00300 
-00301   std::swap(pop, offspring);
-00302   offspring.clear();
-00303 
-00304   // ok, now print
-00305   std::cout << "Apres virtualSGA \n" << pop << std::endl;
-00306   init(pop, pSize);
-00307 
-00308   std::cout << "=========================================================\n";
-00309   std::cout << "Now the eoSelectPopulator version !" << std::endl;
-00310 
-00311   eoSequentialSelect<EOT> seqSelect;
-00312   //   select.init(); should be sorted out: is it the setup method???
-00313   eoSelectivePopulator<EOT> it_step3(pop, offspring, seqSelect);
-00314 
-00315   while (offspring.size() < 2*pop.size())
-00316   {
-00317     virtualSGA(it_step3);
-00318              std::cout << "SelectPopulator boucle et incremente\n";
-00319     ++it_step3;
-00320   }
-00321 
-00322   std::swap(pop, offspring);
-00323   offspring.clear();
-00324 
-00325     // ok, now print
-00326   std::cout << "Apres SGA-like eoSelectivePopulator\n" << pop << std::endl;
-00327 
-00328   std::cout << "=========================================================\n";
-00329   std::cout << "Now the pure addition !" << std::endl;
-00330 
-00331   init(pop, pSize);
-00332   eoSelectivePopulator<EOT> it_step4(pop, offspring, seqSelect);
-00333   while (offspring.size() < 2*pop.size())
-00334   {
-00335     sOpQuadPlusMon(it_step4);
-00336     ++it_step4;
-00337   }
-00338 
-00339   std::swap(pop, offspring);
-00340   offspring.clear();
-00341 
-00342     // ok, now print
-00343   std::cout << "Apres Quad+Mon ds un eoSelectivePopulator\n" << pop << std::endl;
-00344 
-00345   // On teste 1->3
-00346   init(pop, pSize);
-00347   eoSelectivePopulator<EOT> it_step5(pop, offspring, seqSelect);
-00348   while (offspring.size() < 2*pop.size())
-00349   {
-00350     sOp2(it_step5);
-00351     ++it_step5;
-00352   }
-00353 
-00354   std::swap(pop, offspring);
-00355   offspring.clear();
-00356 
-00357     // ok, now print
-00358   std::cout << "Apres 1->3 seul ds un eoSelectivePopulator\n" << pop << std::endl;
-00359 
-00360   // On teste 3->3
-00361   init(pop, pSize);
-00362   eoSelectivePopulator<EOT> it_step6(pop, offspring, seqSelect);
-00363   while (offspring.size() < 2*pop.size())
-00364   {
-00365     sOp3(it_step6);
-00366     ++it_step6;
-00367   }
-00368 
-00369   std::swap(pop, offspring);
-00370   offspring.clear();
-00371 
-00372     // ok, now print
-00373   std::cout << "Apres 3->3 seul ds un eoSelectivePopulator\n" << pop << std::endl;
-00374 
-00375 
-00376   return 1;
-00377 }
-00378 
-00379 int main(int argc, char **argv)
-00380 {
-00381     try
-00382     {
-00383         the_main(argc, argv);
-00384     }
-00385     catch(std::exception& e)
-00386     {
-00387         std::cout << "Exception: " << e.what() << std::endl;
-00388     }
-00389 
-00390 }
-00391 
-00392 /*
-00393 If you want to build an SGA, you will need a copying quad op:
-00394 
-00395 class quadclone : ...
-00396 {
-00397   operator(EOT& a, EOT& b)
-00398   {
-00399     // do nothing
-00400   }
-00401 
-00402 }
-00403 
-00404 Then the SGA operator will look like:
-00405 
-00406 quadop quad;
-00407 guadclone clone;
-00408 
-00409 ProportionalGenOp pOp;
-00410 pOp.add(quad, 0.8);
-00411 pOp.add(clone, 0.2); // so 80% xover rate
-00412 
-00413 SequentialGenOp sOp;
-00414 sOp.add(pOp, 1,0); // always try a xover (clone 20%)
-00415 sOp.add(mut, 0.1); // low mutation rate
-00416 
-00417 will result in an algorithm with:
-00418 
-00419 p_xover = 0.8
-00420 p_mut   = 0.1;
-00421 
-00422 p_reproduction = 0.2 * 0.9 = 0.18
-00423 
-00424 this does not add up to 1 because xover and mutation can be applied to a single indi
-00425 
-00426 So what do you think?
-00427 
-00428 */
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_non_uniform_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_non_uniform_8cpp-source.html deleted file mode 100644 index 18b0974be..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_non_uniform_8cpp-source.html +++ /dev/null @@ -1,46 +0,0 @@ - - -EO: t-eoNonUniform.cpp Source File - - - - - -

t-eoNonUniform.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eoNonUniform.cc
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #include <iostream>      
-00006 #include <eo>
-00007 
-00008 //-----------------------------------------------------------------------------
-00009 
-00010 main()
-00011 {
-00012   eoNonUniform nu(1000);
-00013 
-00014   std::cout << "----------------------------------------------------------" << std::endl
-00015        << "nu.step() = " << nu.step()
-00016        << "\t nu.num_step() = " << nu.num_step() << std::endl
-00017        << "----------------------------------------------------------" << std::endl;
-00018   
-00019   eoLinear l1(0, 1, nu), l2(1, 0, nu);
-00020   eoNegExp2 n1(0.1, 8, nu), n2(0.75, 3, nu);
-00021   
-00022   for (; nu; ++nu)
-00023     {      
-00024       std::cout << nu.step() 
-00025            << "\t" << l1() << "\t" << l2()
-00026            << "\t" << n1() << "\t" << n2()  
-00027            << std::endl;
-00028     }
-00029 }
-00030 
-00031 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_p_b_i_l_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_p_b_i_l_8cpp-source.html deleted file mode 100644 index bcceec5c0..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_p_b_i_l_8cpp-source.html +++ /dev/null @@ -1,146 +0,0 @@ - - -EO: t-eoPBIL.cpp Source File - - - - - -

t-eoPBIL.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // t-eoPBIL.cpp
-00005 // (c) Marc Schoenauer, 2001
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: Marc.Schoenauer@inria.fr
-00022  */
-00023 //-----------------------------------------------------------------------------
-00024 
-00027 #include <iostream>
-00028 #include <eo>
-00029 #include <ga/make_ga.h>
-00030 #include "binary_value.h"
-00031 #include <apply.h>
-00032 #include <ga/eoPBILDistrib.h>
-00033 #include <ga/eoPBILOrg.h>
-00034 #include <ga/eoPBILAdditive.h>
-00035 #include <eoSimpleEDA.h>
-00036 
-00037 using namespace std;
-00038 
-00039 typedef eoBit<double> Indi;
-00040 
-00041 // instanciating the outside subroutine that creates the distribution
-00042 #include "ga/make_PBILdistrib.h"
-00043 eoPBILDistrib<Indi> & make_PBILdistrib(eoParser& _parser, eoState&_state, Indi _eo)
-00044 {
-00045   return do_make_PBILdistrib(_parser, _state, _eo);
-00046 }
-00047 
-00048 // instanciating the outside subroutine that creates the update rule
-00049 #include "ga/make_PBILupdate.h"
-00050 eoDistribUpdater<Indi> & make_PBILupdate(eoParser& _parser, eoState&_state, Indi _eo)
-00051 {
-00052   return do_make_PBILupdate(_parser, _state, _eo);
-00053 }
-00054 
-00055 
-00056 int main(int argc, char* argv[])
-00057 {
-00058 
-00059   try
-00060   {
-00061   eoParser parser(argc, argv);  // for user-parameter reading
-00062 
-00063   eoState state;    // keeps all things allocated
-00064 
-00067 
-00068   // The evaluation fn - encapsulated into an eval counter for output
-00069   eoEvalFuncPtr<Indi, double> mainEval( binary_value<Indi>);
-00070   eoEvalFuncCounter<Indi> eval(mainEval);
-00071 
-00072   // COnstruction of the distribution
-00073   eoPBILDistrib<Indi> & distrib = make_PBILdistrib(parser, state, Indi());
-00074   // and the update rule
-00075   eoDistribUpdater<Indi> & update = make_PBILupdate(parser, state, Indi());
-00076 
-00079 
-00080   // stopping criteria
-00081   eoContinue<Indi> & term = make_continue(parser, state, eval);
-00082   // output
-00083   eoCheckPoint<Indi> & checkpoint = make_checkpoint(parser, state, eval, term);
-00084 
-00085   // add a graphical output for the distribution
-00086   // first, get the direname from the parser
-00087   //    it has been enetered in make_checkoint
-00088 
-00089   eoParam* ptParam = parser.getParamWithLongName(string("resDir"));
-00090   eoValueParam<string>* ptDirNameParam = dynamic_cast<eoValueParam<string>*>(ptParam);
-00091   if (!ptDirNameParam)  // not found
-00092     throw runtime_error("Parameter resDir not found where it was supposed to be");
-00093 
-00094   // now create the snapshot monitor
-00095   eoValueParam<bool>& plotDistribParam = parser.getORcreateParam(false, "plotDistrib",
-00096                                                                  "Plot Distribution", '\0',
-00097                                                                  "Output - Graphical");
-00098     if (plotDistribParam.value())
-00099       {
-00100         unsigned frequency=1;           // frequency of plots updates
-00101         eoGnuplot1DSnapshot *distribSnapshot = new eoGnuplot1DSnapshot(ptDirNameParam->value(),
-00102                                                                        frequency, "distrib");
-00103         state.storeFunctor(distribSnapshot);
-00104         // add the distribution (it is an eoValueParam<vector<double> >)
-00105         distribSnapshot->add(distrib);
-00106         // and of course add it to the checkpoint
-00107         checkpoint.add(*distribSnapshot);
-00108       }
-00109 
-00110   // the algorithm: EDA
-00111     // don't know where else to put the population size!
-00112   unsigned popSize = parser.getORcreateParam(unsigned(100), "popSize",
-00113                                              "Population Size", 'P', "Algorithm").value();
-00114   eoSimpleEDA<Indi> eda(update, eval, popSize, checkpoint);
-00115 
-00118   // to be called AFTER all parameters have been read!!!
-00119   make_help(parser);
-00120 
-00123 
-00124   eda(distrib); // run the eda
-00125 
-00126   std::cout << "Final Distribution\n";
-00127   distrib.printOn(std::cout);
-00128   std::cout << std::endl;
-00129 
-00130   // wait - for graphical output
-00131     if (plotDistribParam.value())
-00132       {
-00133         string foo;
-00134         cin >> foo;
-00135       }
-00136   }
-00137   catch(std::exception& e)
-00138   {
-00139     std::cout << e.what() << std::endl;
-00140   }
-00141 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_pareto_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_pareto_8cpp-source.html deleted file mode 100644 index 0f5c27d8c..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_pareto_8cpp-source.html +++ /dev/null @@ -1,259 +0,0 @@ - - -EO: t-eoPareto.cpp Source File - - - - - -

t-eoPareto.cpp

00001 
-00002 #include <eo>
-00003 
-00004 //#include <utils/eoMOFitnessStat.h>
-00005 #include <eoNDSorting.h>
-00006 #include <eoParetoFitness.h>
-00007 
-00008 using namespace std;
-00009 
-00010 // Look: overloading the maximization without overhead (thing can be inlined)
-00011 class MinimizingFitnessTraits : public eoParetoFitnessTraits
-00012 {
-00013   public :
-00014   static bool maximizing(int) { return false; }
-00015 };
-00016 
-00017 typedef eoParetoFitness<MinimizingFitnessTraits> fitness_type;
-00018 
-00019 const unsigned chromsize=3;
-00020 const double minval = -5;
-00021 const double maxval = 5;
-00022 
-00023 struct eoDouble : public EO<fitness_type>
-00024 {
-00025   double value[chromsize];
-00026 };
-00027 
-00028 class Mutate : public eoMonOp<eoDouble>
-00029 {
-00030   bool operator()(eoDouble& _eo)
-00031   {
-00032     for (unsigned i = 0; i < chromsize; ++i)
-00033     {
-00034       if (rng.flip(1./chromsize))
-00035         _eo.value[i] += rng.normal() * 0.1 * _eo.value[i];
-00036 
-00037       if (_eo.value[i] < minval)
-00038         _eo.value[i] = minval;
-00039       else if (_eo.value[i] > maxval)
-00040         _eo.value[i] = maxval;
-00041     }
-00042 
-00043     return true;
-00044   }
-00045 };
-00046 
-00047 class Eval : public eoEvalFunc<eoDouble>
-00048 {
-00049   void operator()(eoDouble& _eo)
-00050   {
-00051     vector<double> x(_eo.value, _eo.value + chromsize);
-00052     fitness_type f;
-00053 
-00054     for (unsigned i = 0; i < chromsize; ++i)
-00055     {
-00056       if (i < chromsize-1)
-00057       {
-00058         f[0] += -10.0 * exp(-0.2 * sqrt(x[i]*x[i] + x[i+1]*x[i+1]));
-00059       }
-00060 
-00061       f[1] += pow(fabs(x[i]), 0.8) + 5 * pow(sin(x[i]),3.);
-00062     }
-00063 
-00064     _eo.fitness(f);
-00065   }
-00066 };
-00067 
-00068 class Init : public eoInit<eoDouble>
-00069 {
-00070   void operator()(eoDouble& _eo)
-00071   {
-00072     _eo.value[0] = rng.uniform();
-00073 
-00074     double range = maxval - minval;
-00075 
-00076     for (unsigned i = 1; i < chromsize; ++i)
-00077       _eo.value[i] = rng.uniform() * range + minval;
-00078     _eo.invalidate();
-00079   }
-00080 };
-00081 
-00086 template <class EOT, class WorthT = double>
-00087 class eoNDPlusReplacement : public eoReplacement<EOT>
-00088 {
-00089 public:
-00090 
-00091     // using eoNDPlusReplacement< EOT, WorthT >::first;
-00092 
-00093     eoNDPlusReplacement(eoPerf2Worth<EOT, WorthT>& _perf2worth)
-00094         : perf2worth(_perf2worth)
-00095         {}
-00096 
-00097     struct WorthPair : public pair<WorthT, const EOT*>
-00098     {
-00099         bool operator<(const WorthPair& other) const
-00100             { return other.first < this->first; }
-00101     };
-00102 
-00103 
-00104   void operator()(eoPop<EOT>& _parents, eoPop<EOT>& _offspring)
-00105   {
-00106     unsigned sz = _parents.size();
-00107     _parents.reserve(_parents.size() + _offspring.size());
-00108     std::copy(_offspring.begin(), _offspring.end(), back_inserter(_parents));
-00109 
-00110     // calculate worths
-00111     perf2worth(_parents);
-00112     perf2worth.sort_pop(_parents);
-00113     perf2worth.resize(_parents, sz);
-00114 
-00115     _offspring.clear();
-00116   }
-00117 
-00118 private :
-00119     eoPerf2Worth<EOT, WorthT>& perf2worth;
-00120 };
-00121 
-00122 template <class EOT>
-00123 eoPerf2Worth<EOT, double>& make_perf2worth(eoParser& parser, eoState& state)
-00124 {
-00125 
-00126   unsigned what = parser.createParam(unsigned(1), "perf2worth", "worth mapping indicator : \n\t \
-00127                   0: non_dominated sorting \n\t\
-00128                   1: non_dominated sorting 2 \n\t\
-00129                   2: simple ranking \n\t", 'w').value();
-00130 
-00131   switch (what)
-00132   {
-00133     case 1 : return state.storeFunctor(new eoNDSorting_II<EOT>());
-00134     case 2 :
-00135     {
-00136       eoDominanceMap<eoDouble>&  dominance = state.storeFunctor(new eoDominanceMap<EOT>);
-00137       return state.storeFunctor(new eoParetoRanking<EOT>(dominance));
-00138     }
-00139   }
-00140   //default
-00141 
-00142   if (what > 2)
-00143   {
-00144     std::cout << "Warning, need an integer < 3 for perf2worth" << std::endl;
-00145     // should actually set parser flag, but I don't care
-00146   }
-00147 
-00148   return state.storeFunctor(new eoNDSorting_I<EOT>(0.5));
-00149 }
-00150 
-00151 template <class EOT>
-00152 eoSelectOne<EOT>& make_selector(eoParser& parser, eoState& state, eoPerf2Worth<EOT, double>& perf2worth)
-00153 {
-00154   unsigned tournamentsize = parser.createParam(unsigned(2), "tournament_size", "Tournament Size", 't').value();
-00155   double stochtour = parser.createParam(unsigned(0.95), "tournament_prob", "Probability in stochastic tournament").value();
-00156 
-00157   switch (parser.createParam(unsigned(0), "selector", "Which selector (too lazy to explain: use the source)", 's').value())
-00158   {
-00159     case 1 : return state.storeFunctor(new eoStochTournamentWorthSelect<eoDouble>(perf2worth, stochtour));
-00160     case 2 : return state.storeFunctor(new eoRouletteWorthSelect<eoDouble>(perf2worth));
-00161     case 3 : return state.storeFunctor(new eoRandomSelect<EOT>);
-00162   }
-00163   // default
-00164 
-00165   return state.storeFunctor(new eoDetTournamentWorthSelect<eoDouble>(perf2worth, tournamentsize));
-00166 }
-00167 
-00168 // Test pareto dominance and perf2worth, and while you're at it, test the eoGnuPlot monitor as well
-00169 void the_main(int argc, char* argv[])
-00170 {
-00171   Init init;
-00172   Eval eval;
-00173   Mutate mutate;
-00174 
-00175   eoParser parser(argc, argv);
-00176   eoState state;
-00177 
-00178   unsigned num_gen  = parser.createParam(unsigned(50), "num_gen", "number of generations to run", 'g').value();
-00179   unsigned pop_size = parser.createParam(unsigned(100), "pop_size", "population size", 'p').value();
-00180   eoPop<eoDouble> pop(pop_size, init);
-00181 
-00182   // Look, a factory function
-00183   eoPerf2Worth<eoDouble, double>& perf2worth = make_perf2worth<eoDouble>(parser, state);
-00184 
-00185   // Look: another factory function, now for selection
-00186   eoSelectOne<eoDouble>& select = make_selector<eoDouble>(parser, state, perf2worth);
-00187 
-00188   // One general operator
-00189   eoProportionalOp<eoDouble> opsel;
-00190   opsel.add(mutate, 1.0);
-00191 
-00192   // the breeder
-00193   eoGeneralBreeder<eoDouble> breeder(select, opsel);
-00194 
-00195   // replacement
-00196   eoNDPlusReplacement<eoDouble> replace(perf2worth);
-00197 
-00198   unsigned long generation = 0;
-00199   eoGenContinue<eoDouble> gen(num_gen, generation);
-00200   eoCheckPoint<eoDouble> cp(gen);
-00201 
-00202   eoMOFitnessStat<eoDouble> fitness0(0, "FirstObjective");
-00203   eoMOFitnessStat<eoDouble> fitness1(1, "SecondObjective");
-00204 
-00205   cp.add(fitness0);
-00206   cp.add(fitness1);
-00207 
-00208   eoGnuplot1DSnapshot snapshot("pareto");
-00209   //snapshot.with(eoGnuplot::Points(3));
-00210 
-00211   cp.add(snapshot);
-00212 
-00213   snapshot.add(fitness0);
-00214   snapshot.add(fitness1);
-00215 
-00216   // the algo
-00217   eoEasyEA<eoDouble> ea(cp, eval, breeder, replace);
-00218 
-00219   if (parser.userNeedsHelp())
-00220   {
-00221     parser.printHelp(std::cout);
-00222     return;
-00223   }
-00224 
-00225   apply<eoDouble>(eval, pop);
-00226   ea(pop);
-00227 }
-00228 
-00229 
-00230 int main(int argc, char* argv[])
-00231 {
-00232   try
-00233   {
-00234     the_main(argc, argv);
-00235   }
-00236   catch (std::exception& e)
-00237   {
-00238     std::cout << "Exception thrown: " << e.what() << std::endl;
-00239     throw e; // make sure it does not pass the test
-00240   }
-00241 }
-00242 
-00243 
-00244 
-00245 // Local Variables:
-00246 // mode: C++
-00247 // c-file-style: "Stroustrup"
-00248 // End:
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_pareto_fitness_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_pareto_fitness_8cpp-source.html deleted file mode 100644 index c101cc5c9..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_pareto_fitness_8cpp-source.html +++ /dev/null @@ -1,207 +0,0 @@ - - -EO: t-eoParetoFitness.cpp Source File - - - - - -

t-eoParetoFitness.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // t-eoParetoFitness.cpp
-00005 // (c) Maarten Keijzer
-00006 /*
-00007     This library is free software; you can redistribute it and/or
-00008     modify it under the terms of the GNU Lesser General Public
-00009     License as published by the Free Software Foundation; either
-00010     version 2 of the License, or (at your option) any later version.
-00011 
-00012     This library is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00015     Lesser General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU Lesser General Public
-00018     License along with this library; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: mak@dhi.dk
-00022 
-00023 30/01/02 - MS - Added the eoVariableParetoTraits - and the compare Fn
-00024  */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #include <cassert>
-00028 #include <iostream>
-00029 
-00030 #include "eoParetoFitness.h"
-00031 
-00032 using namespace std;
-00033 
-00036 class MinimizingTraits : public eoParetoFitnessTraits
-00037 {
-00038 public :
-00039 
-00040   static bool maximizing(int) { return false; }
-00041 };
-00042 
-00043 template <class F>
-00044 void compare(F & _eo1, F & _eo2)
-00045 {
-00046   if (_eo1.dominates(_eo2))
-00047     std::cout << _eo1 << " dominates " << _eo2 << std::endl;
-00048   else if (_eo2.dominates(_eo1))
-00049     std::cout << _eo2 << " dominates " << _eo1 << std::endl;
-00050   else
-00051     std::cout << "None of " << _eo1 << " and " << _eo2 << "dominates the other" << std::endl;
-00052   return;
-00053 }
-00054 
-00055 int main()
-00056 {
-00057   typedef eoParetoFitness<> MaxFitness;
-00058   typedef eoParetoFitness<MinimizingTraits> MinFitness;
-00059 
-00060   typedef eoParetoFitness<eoVariableParetoTraits> VarFitness;
-00061 
-00062   try{
-00063 
-00064   MaxFitness f0;
-00065   f0[0] = 0.0;
-00066   f0[1] = 1.0;
-00067 
-00068   MaxFitness f1;
-00069   f1[0] = 1.0;
-00070   f1[1] = 0.0;
-00071 
-00072   MaxFitness f2;
-00073   f2[0] = 0.0;
-00074   f2[1] = 0.5;
-00075 
-00076   // now f0 should dominate f2;
-00077 
-00078   if (!f0.dominates(f2))
-00079   {
-00080     std::cout << f2 << " not dominated by " << f0;
-00081     throw;
-00082   }
-00083 
-00084   // f0 and f1 should not dominate each other
-00085 
-00086   if (f0.dominates(f1) || f1.dominates(f0))
-00087   {
-00088     std::cout << f0 << " and " << f1 << " dominate";
-00089     throw;
-00090   }
-00091 
-00092   if (! (f0 == f0))
-00093   {
-00094     std::cout << "f0 == f0 failed" << std::endl;
-00095     throw;
-00096   }
-00097 
-00098   // test ctors and such
-00099   MaxFitness f3 = f0;
-00100   f3[0] += 1e-9;
-00101 
-00102   // test tolerance
-00103   assert(f3 == f0);
-00104 
-00105   MinFitness m0;
-00106   MinFitness m1;
-00107   MinFitness m2;
-00108   MinFitness m3;
-00109 
-00110   m0[0] = 0.0;
-00111   m0[1] = 1.0;
-00112 
-00113   m1[0] = 1.0;
-00114   m1[1] = 0.0;
-00115 
-00116   m2[0] = 0.0;
-00117   m2[1] = 0.5;
-00118 
-00119   m3[0] = 0.5;
-00120   m3[1] = 0.5;
-00121 
-00122   //m2 should dominate m0
-00123   assert(m2.dominates(m0));
-00124 
-00125   assert(!m1.dominates(m0));
-00126   assert(!m0.dominates(m1));
-00127   assert(!m0.dominates(m2)); // (m2 < m0));
-00128   assert(m2.dominates(m3)); //m3 < m2);
-00129   assert(!m3.dominates(m2)); // (m2 < m3));
-00130   assert(m2.dominates(m3)); //m2 > m3);
-00131 
-00132 
-00134   // now the run-time set-able number of objectives
-00136 
-00137   std::cout << "On y va" << std::endl;
-00138 
-00139 
-00140   // setup fitness WARNING do not try to allocate any EO before that (runtime error)
-00141   vector<bool> b(2, true);
-00142   b[0]=true; 
-00143   b[1]=false;
-00144   VarFitness::setUp(2, b);
-00145   std::cout << "\nMAXimizing on Obj 0 and MINimizing on Obj 1\n";
-00146 
-00147   VarFitness mv0;
-00148   VarFitness mv1;
-00149   VarFitness mv2;
-00150   VarFitness mv3;
-00151 
-00152   mv0[0] = 0.0;
-00153   mv0[1] = 1.0;
-00154 
-00155   mv1[0] = 1.0;
-00156   mv1[1] = 0.0;
-00157 
-00158   mv2[0] = 0.0;
-00159   mv2[1] = 0.5;
-00160 
-00161   mv3[0] = 0.5;
-00162   mv3[1] = 0.5;
-00163 
-00164   compare <VarFitness>(mv0,mv1);
-00165   compare <VarFitness>(mv0,mv2);
-00166   compare <VarFitness>(mv0,mv3);
-00167   compare <VarFitness>(mv1,mv2);
-00168   compare <VarFitness>(mv1,mv3);
-00169   compare <VarFitness>(mv2,mv3);
-00170 
-00171   std::cout << "\nChanging now the min <-> max\n";
-00172   b[0]=false; 
-00173   b[1]=true;
-00174   VarFitness::setUp(2, b);
-00175   std::cout << "\nMINimizing on Obj 0 and MAXimizing on Obj 1\n";
-00176   compare <VarFitness>(mv0,mv1);
-00177   compare <VarFitness>(mv0,mv2);
-00178   compare <VarFitness>(mv0,mv3);
-00179   compare <VarFitness>(mv1,mv2);
-00180   compare <VarFitness>(mv1,mv3);
-00181   compare <VarFitness>(mv2,mv3);
-00182 
-00183   std::cout << "\nTesting WARNING\n";
-00184   b.resize(3);
-00185   b[0]=false; 
-00186   b[1]=true;
-00187   b[2]=true;
-00188   VarFitness::setUp(3, b);
-00189 
-00190   }
-00191   catch(std::exception& e)
-00192   {
-00193     std::cout << e.what() << std::endl;
-00194   }
-00195 
-00196 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_random_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_random_8cpp-source.html deleted file mode 100644 index 8fd6c110f..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_random_8cpp-source.html +++ /dev/null @@ -1,77 +0,0 @@ - - -EO: t-eoRandom.cpp Source File - - - - - -

t-eoRandom.cpp

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003     t-eoRandom.cpp
-00004       Test program for random generator
-00005 
-00006     (c) GeNeura Team, 1999
-00007 
-00008     This program is free software; you can redistribute it and/or modify
-00009     it under the terms of the GNU General Public License as published by
-00010     the Free Software Foundation; either version 2 of the License, or
-00011     (at your option) any later version.
-00012 
-00013     This program is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00016     GNU General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU General Public License
-00019     along with this program; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023 
-00024 */
-00025 
-00030 //-----------------------------------------------------------------------------
-00031 
-00032 #include <iostream>   // cout
-00033 #include <fstream>  // ostrstream, istrstream
-00034 #include <utils/eoRndGenerators.h>         // eoBin
-00035 //#include <eoNormal.h>
-00036 //#include <eoNegExp.h>
-00037 
-00038 //-----------------------------------------------------------------------------
-00039 
-00040 int main() {
-00041   eoUniformGenerator<float> u1(-2.5,3.5);
-00042   eoUniformGenerator<double> u2(0.003, 0.05 );
-00043   eoUniformGenerator<unsigned long> u3( 10000U, 10000000U);
-00044 
-00045   try
-00046   { // throws an error
-00047     eoUniformGenerator<unsigned long> utest( 10000000U, 10000U);
-00048     throw; // if this succeeds something is wrong, make sure that that is noticed
-00049   }
-00050   catch (std::logic_error& e)
-00051   {
-00052     std::cout << e.what() << std::endl;
-00053   }
-00054 
-00055   std::ofstream os("t-eoRandom.out");
-00056 
-00057   for ( unsigned i = 0; i < 100; i ++)
-00058   {
-00059     os << u1() << "\t" << u2() << "\t" << u3() << std::endl;
-00060   }
-00061 
-00062   return 0; // to avoid VC++ complaints
-00063 
-00064 }
-00065 
-00066 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_real_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_real_8cpp-source.html deleted file mode 100644 index 01fd9c28b..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_real_8cpp-source.html +++ /dev/null @@ -1,79 +0,0 @@ - - -EO: t-eoReal.cpp Source File - - - - - -

t-eoReal.cpp

00001 #include <iostream>
-00002 
-00003 #include <es/make_real.h>
-00004 #include "real_value.h"
-00005 #include <apply.h>
-00006 
-00007 using namespace std;
-00008 
-00009 int main(int argc, char* argv[])
-00010 {
-00011 
-00012   try
-00013   {
-00014   typedef eoReal<eoMinimizingFitness> EOT;
-00015 
-00016   eoParser parser(argc, argv);  // for user-parameter reading
-00017 
-00018   eoState state;    // keeps all things allocated
-00019 
-00022 
-00023   // The evaluation fn - encapsulated into an eval counter for output 
-00024   eoEvalFuncPtr<EOT, double, const std::vector<double>&> 
-00025                mainEval( real_value );
-00026   eoEvalFuncCounter<EOT> eval(mainEval);
-00027 
-00028   // the genotype - through a genotype initializer
-00029   eoRealInitBounded<EOT>& init = make_genotype(parser, state, EOT());
-00030 
-00031   // Build the variation operator (any seq/prop construct)
-00032   eoGenOp<EOT>& op = make_op(parser, state, init);
-00033 
-00036 
-00037   // initialize the population - and evaluate
-00038   // yes, this is representation indepedent once you have an eoInit
-00039   eoPop<EOT>& pop   = make_pop(parser, state, init);
-00040 
-00041   // stopping criteria
-00042   eoContinue<EOT> & term = make_continue(parser, state, eval);
-00043   // output
-00044   eoCheckPoint<EOT> & checkpoint = make_checkpoint(parser, state, eval, term);
-00045   // algorithm (need the operator!)
-00046   eoAlgo<EOT>& ea = make_algo_scalar(parser, state, eval, checkpoint, op);
-00047 
-00050   // to be called AFTER all parameters have been read!!!
-00051   make_help(parser);
-00052 
-00055   // evaluate intial population AFTER help and status in case it takes time
-00056   apply<EOT>(eval, pop);
-00057   // print it out
-00058   std::cout << "Initial Population\n";
-00059   pop.sortedPrintOn(std::cout);
-00060   std::cout << std::endl;
-00061 
-00062   run_ea(ea, pop); // run the ea
-00063 
-00064   std::cout << "Final Population\n";
-00065   pop.sortedPrintOn(std::cout);
-00066   std::cout << std::endl;
-00067   }
-00068   catch(std::exception& e)
-00069   {
-00070     std::cout << e.what() << std::endl;
-00071   }
-00072 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_replacement_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_replacement_8cpp-source.html deleted file mode 100644 index 8e9b6022a..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_replacement_8cpp-source.html +++ /dev/null @@ -1,238 +0,0 @@ - - -EO: t-eoReplacement.cpp Source File - - - - - -

t-eoReplacement.cpp

00001 //-----------------------------------------------------------------------------
-00002 
-00003 // to avoid long name warnings
-00004 #ifdef _MSC_VER
-00005 #pragma warning(disable:4786)
-00006 #endif
-00007 
-00008 #include <stdexcept>  // runtime_error 
-00009 
-00010 //-----------------------------------------------------------------------------
-00011 // tt.cpp: 
-00012 //
-00013 //-----------------------------------------------------------------------------
-00014 
-00015 
-00016 // general
-00017 #include <eo>
-00018 //-----------------------------------------------------------------------------
-00019 
-00020 struct Dummy : public EO<double>
-00021 {
-00022     typedef double Type;
-00023   void printOn(std::ostream & _os) const
-00024   {
-00025       _os << " - ";
-00026       EO<double>::printOn(_os);
-00027   }
-00028 };
-00029 
-00030 
-00031 struct eoDummyPop : public eoPop<Dummy>
-00032 {
-00033 public :
-00034     eoDummyPop(int s=0) { resize(s); }
-00035 };
-00036 
-00037 //-----------------------------------------------------------------------------
-00038 
-00039 int the_main(int argc, char **argv)
-00040 { 
-00041   eoParser parser(argc, argv);
-00042   eoValueParam<unsigned int> parentSizeParam(10, "parentSize", "Parent size",'P');
-00043   parser.processParam( parentSizeParam );
-00044     unsigned int pSize = parentSizeParam.value();
-00045 
-00046   eoValueParam<unsigned int> offsrpringSizeParam(10, "offsrpringSize", "Offsrpring size",'O');
-00047   parser.processParam( offsrpringSizeParam );
-00048     unsigned int oSize = offsrpringSizeParam.value();
-00049 
-00050   eoValueParam<unsigned int> tournamentSizeParam(2, "tournamentSize", "Deterministic tournament size",'T');
-00051   parser.processParam( tournamentSizeParam );
-00052     unsigned int tSize = tournamentSizeParam.value();
-00053 
-00054   eoValueParam<double> tournamentRateParam(0.75, "tournamentRate", "Stochastic tournament rate",'R');
-00055   parser.processParam( tournamentRateParam );
-00056     double tRate = tournamentRateParam.value();
-00057 
-00058   eoValueParam<double> sParentsElitismRateParam(0.1, "sParentsElitismRateParam", "Strong elitism rate for parents",'E');
-00059   parser.processParam( sParentsElitismRateParam );
-00060     double sParentsElitismRate = sParentsElitismRateParam.value();
-00061 
-00062   eoValueParam<double> sParentsEugenismRateParam(0, "sParentsEugenismRateParam", "Strong Eugenism rate",'e');
-00063   parser.processParam( sParentsEugenismRateParam );
-00064     double sParentsEugenismRate = sParentsEugenismRateParam.value();
-00065 
-00066   eoValueParam<double> sOffspringElitismRateParam(0, "sOffspringElitismRateParam", "Strong elitism rate for parents",'E');
-00067   parser.processParam( sOffspringElitismRateParam );
-00068     double sOffspringElitismRate = sOffspringElitismRateParam.value();
-00069 
-00070   eoValueParam<double> sOffspringEugenismRateParam(0, "sOffspringEugenismRateParam", "Strong Eugenism rate",'e');
-00071   parser.processParam( sOffspringEugenismRateParam );
-00072     double sOffspringEugenismRate = sOffspringEugenismRateParam.value();
-00073 
-00074     if (parser.userNeedsHelp())
-00075       {
-00076         parser.printHelp(std::cout);
-00077         exit(1);
-00078       }
-00079 
-00080     unsigned i;
-00081 
-00082     std::cout << "Testing the replacements\nParents SIze = " << pSize 
-00083          << " and offspring size = " << oSize << std::endl;
-00084 
-00085     rng.reseed(42);
-00086 
-00087 
-00088     eoDummyPop orgParents(pSize);
-00089     eoDummyPop orgOffspring(oSize);
-00090 
-00091     // initialize so we can recognize them later!
-00092     for (i=0; i<pSize; i++)
-00093       orgParents[i].fitness(2*i+1);
-00094     for (i=0; i<oSize; i++)
-00095       orgOffspring[i].fitness(2*i);
-00096 
-00097 std::cout << "Initial parents (odd)\n" << orgParents << "\n And initial offsprings (even)\n" << orgOffspring << std::endl;
-00098 
-00099     // now the ones we're going to play with
-00100     eoDummyPop parents(0);
-00101     eoDummyPop offspring(0);
-00102 
-00103 // the replacement procedures under test
-00104     eoGenerationalReplacement<Dummy> genReplace;
-00105     eoPlusReplacement<Dummy> plusReplace;
-00106     eoEPReplacement<Dummy> epReplace(tSize);
-00107     eoCommaReplacement<Dummy> commaReplace;
-00108     eoWeakElitistReplacement<Dummy> weakElitistReplace(commaReplace);
-00109     // the SSGA replacements
-00110     eoSSGAWorseReplacement<Dummy> ssgaWorseReplace;
-00111     eoSSGADetTournamentReplacement<Dummy> ssgaDTReplace(tSize);
-00112     eoSSGAStochTournamentReplacement<Dummy> ssgaDSReplace(tRate);
-00113 
-00114     // here we go
-00115     // Generational
-00116     parents = orgParents;
-00117     offspring = orgOffspring;
-00118 
-00119     std::cout << "eoGenerationalReplacement\n";
-00120     std::cout << "=========================\n";
-00121     genReplace(parents, offspring);
-00122 std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (orogonally even\n" << offspring << std::endl;
-00123 
-00124     // Plus
-00125     parents = orgParents;
-00126     offspring = orgOffspring;
-00127 
-00128     std::cout << "eoPlusReplacement\n";
-00129     std::cout << "=================\n";
-00130     plusReplace(parents, offspring);
-00131 std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl;
-00132 
-00133     // EP (proche d'un PLUS
-00134     parents = orgParents;
-00135     offspring = orgOffspring;
-00136 
-00137     std::cout << "eoEPReplacement\n";
-00138     std::cout << "===============\n";
-00139     epReplace(parents, offspring);
-00140 std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl;
-00141 
-00142     // Comma
-00143     parents = orgParents;
-00144     offspring = orgOffspring;
-00145 
-00146     if (parents.size() > offspring.size() )
-00147         std::cout << "Skipping Comma Replacement, more parents than offspring\n";
-00148     else
-00149       {
-00150         std::cout << "eoCommaReplacement\n";
-00151         std::cout << "==================\n";
-00152         commaReplace(parents, offspring);
-00153         std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl;
-00154 
-00155         // Comma with weak elitism
-00156         parents = orgParents;
-00157         offspring = orgOffspring;
-00158 
-00159         std::cout << "The same, with WEAK elitism\n";
-00160         std::cout << "===========================\n";
-00161         weakElitistReplace(parents, offspring);
-00162         std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl;
-00163       }
-00164 
-00165         // preparing SSGA replace worse
-00166         parents = orgParents;
-00167         offspring = orgOffspring;
-00168 
-00169     if (parents.size() < offspring.size() )
-00170         std::cout << "Skipping all SSGA Replacements, more offspring than parents\n";
-00171     else
-00172       {
-00173         std::cout << "SSGA replace worse\n";
-00174         std::cout << "==================\n";
-00175         ssgaWorseReplace(parents, offspring);
-00176         std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl;
-00177 
-00178     // SSGA deterministic tournament
-00179         parents = orgParents;
-00180         offspring = orgOffspring;
-00181 
-00182         std::cout << "SSGA deterministic tournament\n";
-00183         std::cout << "=============================\n";
-00184         ssgaDTReplace(parents, offspring);
-00185         std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl;
-00186 
-00187     // SSGA stochastic tournament
-00188         parents = orgParents;
-00189         offspring = orgOffspring;
-00190 
-00191         std::cout << "SSGA stochastic tournament\n";
-00192         std::cout << "==========================\n";
-00193         ssgaDTReplace(parents, offspring);
-00194         std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl;
-00195       }
-00196 
-00197     // the general replacement
-00198     eoDeterministicSaDReplacement<Dummy> sAdReplace(sParentsElitismRate, sParentsEugenismRate, sOffspringElitismRate, sOffspringEugenismRate);// 10% parents survive
-00199 
-00200     parents = orgParents;
-00201     offspring = orgOffspring;
-00202 
-00203     std::cout << "General - strong elitism\n";
-00204     std::cout << "========================\n";
-00205     sAdReplace(parents, offspring);
-00206     std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl;
-00207 
-00208 
-00209     return 1;
-00210 }
-00211 
-00212 int main(int argc, char **argv)
-00213 {
-00214     try
-00215     {
-00216         the_main(argc, argv);
-00217     }
-00218     catch(std::exception& e)
-00219     {
-00220         std::cout << "Exception: " << e.what() << std::endl;
-00221     }
-00222 
-00223 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_roulette_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_roulette_8cpp-source.html deleted file mode 100644 index 11bb2bc43..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_roulette_8cpp-source.html +++ /dev/null @@ -1,83 +0,0 @@ - - -EO: t-eoRoulette.cpp Source File - - - - - -

t-eoRoulette.cpp

00001 
-00002 #include <eoPop.h>
-00003 #include <EO.h>
-00004 #include <eoProportionalSelect.h>
-00005 #include <eoStochasticUniversalSelect.h>
-00006 
-00007 class TestEO : public EO<double> { public: unsigned index; };
-00008 
-00009 using namespace std;
-00010 
-00011 template <class Select>
-00012 int test_select()
-00013 {
-00014     vector<double> probs(4);
-00015     probs[0] = 0.1;
-00016     probs[1] = 0.4;
-00017     probs[2] = 0.2;
-00018     probs[3] = 0.3;
-00019 
-00020     vector<double> counts(4,0.0);
-00021 
-00022     // setup population
-00023     eoPop<TestEO> pop;
-00024     for (unsigned i = 0; i < probs.size(); ++i)
-00025     {
-00026         pop.push_back( TestEO());
-00027         pop.back().fitness( probs[i] * 2.1232 ); // some number to check scaling
-00028         pop.back().index = i;
-00029     }
-00030 
-00031     Select select;
-00032     
-00033     unsigned ndraws = 10000;
-00034     
-00035     for (unsigned i = 0; i < ndraws; ++i)
-00036     {
-00037         const TestEO& eo = select(pop);
-00038         
-00039         counts[eo.index]++;
-00040     }
-00041 
-00042     cout << "Threshold = " << 1./sqrt(double(ndraws)) << endl;
-00043     
-00044     for (unsigned i = 0; i < 4; ++i)
-00045     {
-00046         cout << counts[i]/ndraws << ' ';
-00047     
-00048         double c = counts[i]/ndraws;
-00049 
-00050         if (fabs(c - probs[i]) > 1./sqrt((double)ndraws)) {
-00051             cout << "ERROR" << endl;
-00052             return 1;
-00053         }
-00054     }
-00055    
-00056     cout << endl;
-00057     return 0;
-00058 }
-00059 
-00060 int main()
-00061 {
-00062     rng.reseed(44);
-00063 
-00064     if (test_select<eoProportionalSelect<TestEO> >()) return 1;
-00065     
-00066     return test_select<eoStochasticUniversalSelect<TestEO> >();
-00067 }
-00068 
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_s_s_g_a_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_s_s_g_a_8cpp-source.html deleted file mode 100644 index 68c4fa578..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_s_s_g_a_8cpp-source.html +++ /dev/null @@ -1,132 +0,0 @@ - - -EO: t-eoSSGA.cpp Source File - - - - - -

t-eoSSGA.cpp

00001 #include <eo>
-00002 
-00003 // tests a Steady State GA
-00004 
-00005 // Needed to define this breeder, maybe make it a breeder
-00006 template <class EOT>
-00007 class eoBreedOne : public eoBreed<EOT>
-00008 {
-00009 public :
-00010   eoBreedOne(eoSelectOne<EOT>& _select, eoGenOp<EOT>& _op) : select(_select), op(_op) {}
-00011 
-00012   void operator()(const eoPop<EOT>& _src, eoPop<EOT>& _dest)
-00013   {
-00014     _dest.clear();
-00015     eoSelectivePopulator<EOT> pop(_src, _dest, select);
-00016     op(pop);
-00017   }
-00018 
-00019 private :
-00020   eoSelectOne<EOT>& select;
-00021   eoGenOp<EOT>& op;
-00022 };
-00023 
-00024 typedef eoMinimizingFitness FitnessType;
-00025 typedef eoVector<FitnessType, unsigned> EoType;
-00026 
-00027 template <class EOT>
-00028 class eoMyEval : public eoEvalFunc<EOT>
-00029 {
-00030   public :
-00031 
-00032   void operator()(EOT& _eo)
-00033   {
-00034     _eo.fitness(*std::max_element(_eo.begin(), _eo.end()));
-00035   }
-00036 };
-00037 
-00038 template <class EOT>
-00039 class Xover : public eoBinOp<EOT>
-00040 {
-00041   bool operator()(EOT& _eo, const EOT& _eo2)
-00042   {
-00043     unsigned point = rng.random(_eo.size());
-00044     std::copy(_eo2.begin() + point, _eo2.end(), _eo.begin() + point);
-00045     return true;
-00046   }
-00047 };
-00048 
-00049 template <class EOT>
-00050 class Mutate : public eoMonOp<EOT>
-00051 {
-00052   bool operator()(EOT& _eo)
-00053   {
-00054     unsigned point = rng.random(_eo.size());
-00055     _eo[point] = rng.random(1024);
-00056     return true;
-00057   }
-00058 };
-00059 
-00060 
-00061 int main()
-00062 {
-00063   int pop_size = 10;
-00064 
-00065   eoGenContinue<EoType> cnt(10);
-00066   eoCheckPoint<EoType> cp(cnt);
-00067 
-00068 
-00069   Xover<EoType> xover;
-00070   Mutate<EoType> mutate;
-00071 
-00072   eoProportionalOp<EoType> opsel;
-00073 
-00074   opsel.add(xover, 0.8);
-00075   opsel.add(mutate, 0.2);
-00076 
-00077 
-00078   eoDetTournamentSelect<EoType> selector(3);
-00079   eoBreedOne<EoType> breed(selector, opsel);
-00080 
-00081   // Replace a single one
-00082   eoSSGAWorseReplacement<EoType> replace;
-00083 
-00084 
-00085 //  eoRandomSelect<EoType> selector;
-00086 //  eoGeneralBreeder<EoType> breed(selector, opsel);
-00087 //  eoPlusReplacement<EoType> replace;
-00088 
-00089 
-00090   eoMyEval<EoType> eval;
-00091 
-00092   eoEasyEA<EoType> algo(cp, eval, breed, replace);
-00093 
-00094   eoUniformGenerator<unsigned> unif(0,1024);
-00095   eoInitFixedLength<EoType> init(20, unif);
-00096 
-00097   eoPop<EoType> pop(pop_size, init);
-00098 
-00099   // evaluate
-00100   apply<EoType>(eval, pop);
-00101 
-00102   eoBestFitnessStat<EoType>  best("Best_Fitness");
-00103         eoAverageStat<EoType> avg("Avg_Fitness");
-00104   eoStdoutMonitor mon;
-00105 
-00106   cp.add(best);
-00107   cp.add(avg);
-00108 
-00109 //  cp.add(mon);
-00110 
-00111   mon.add(best);
-00112   mon.add(avg);
-00113 
-00114   // and run
-00115   algo(pop);
-00116 
-00117 }
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_select_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_select_8cpp-source.html deleted file mode 100644 index 49b7b86f6..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_select_8cpp-source.html +++ /dev/null @@ -1,239 +0,0 @@ - - -EO: t-eoSelect.cpp Source File - - - - - -

t-eoSelect.cpp

00001 //-----------------------------------------------------------------------------
-00002 
-00003 // to avoid long name warnings
-00004 #ifdef _MSC_VER
-00005 #pragma warning(disable:4786)
-00006 #endif
-00007 
-00008 #include <stdexcept>  // runtime_error
-00009 
-00010 // general
-00011 #include <eo>
-00012 
-00013 //-----------------------------------------------------------------------------
-00014 
-00015 struct Dummy : public EO<double>
-00016 {
-00017     typedef double Type;
-00018   void printOn(std::ostream & _os) const
-00019   {
-00020       _os << " - ";
-00021       EO<double>::printOn(_os);
-00022   }
-00023 };
-00024 
-00025 bool operator==(const Dummy & _d1, const Dummy & _d2)
-00026 {
-00027   return _d1.fitness() == _d2.fitness();
-00028 }
-00029 
-00030 struct eoDummyPop : public eoPop<Dummy>
-00031 {
-00032 public :
-00033     eoDummyPop(int s=0) { resize(s); }
-00034 };
-00035 
-00036 // helper - DOES NOT WORK if different individuals have same fitness!!!
-00037 template <class EOT>
-00038 unsigned isInPop(EOT & _indi, eoPop<EOT> & _pop)
-00039 {
-00040   for (unsigned i=0; i<_pop.size(); i++)
-00041     if (_pop[i] == _indi)
-00042       return i;
-00043   return _pop.size();
-00044 }
-00045 
-00046 unsigned int pSize;             // global variable, bouh!
-00047 std::string fitnessType;                // yes, a global variable :-)
-00048 eoDummyPop parentsOrg;
-00049 
-00050 template <class EOT>
-00051 void testSelectMany(eoSelect<EOT> & _select, std::string _name)
-00052 {
-00053     unsigned i;
-00054   std::cout << "\n\n" << fitnessType + _name << std::endl;
-00055   std::cout << "===============\n";
-00056 
-00057     eoDummyPop parents(parentsOrg);
-00058     eoDummyPop offspring(0);
-00059 
-00060     // do the selection
-00061     _select(parents, offspring);
-00062 
-00063     // compute stats
-00064     std::vector<unsigned> nb(parents.size(), 0);
-00065     for (i=0; i<offspring.size();  i++)
-00066       {
-00067         unsigned trouve = isInPop<Dummy>(offspring[i], parents);
-00068         if (trouve == parents.size()) // pas trouve
-00069           throw std::runtime_error("Pas trouve ds parents");
-00070         nb[trouve]++;
-00071        }
-00072     // dump to file so you can plot using gnuplot - dir name is hardcoded!
-00073     std::string fName = "ResSelect/" + fitnessType + _name + ".select";
-00074     std::ofstream os(fName.c_str());
-00075     for (i=0; i<parents.size();  i++)
-00076       {
-00077         std::cout << i << " -> " << ( (double)nb[i])/offspring.size() << std::endl;
-00078         os << i << " " << ( (double)nb[i])/offspring.size() << std::endl;
-00079       }
-00080 
-00081 }
-00082 
-00083 template <class EOT>
-00084 void testSelectOne(eoSelectOne<EOT> & _select, eoHowMany & _offspringRate,
-00085                    eoHowMany & _fertileRate, std::string _name)
-00086 {
-00087   eoTruncatedSelectOne<EOT> truncSelect(_select, _fertileRate);
-00088   eoSelectMany<EOT> percSelect(truncSelect, _offspringRate);
-00089   testSelectMany<EOT>(percSelect, _name);
-00090 }
-00091 
-00092 
-00093 //-----------------------------------------------------------------------------
-00094 
-00095 int the_main(int argc, char **argv)
-00096 {
-00097   eoParser parser(argc, argv);
-00098   eoValueParam<unsigned> parentSizeParam = parser.createParam(unsigned(10), "parentSize", "Parent size",'P');
-00099     pSize = parentSizeParam.value(); // global variable
-00100 
-00101 //   eoValueParam<double> offsrpringRateParam = parser.createParam<double>(1.0, "offsrpringRate", "Offsrpring rate",'O');
-00102 //     double oRate = offsrpringRateParam.value();
-00103   eoValueParam<eoHowMany> offsrpringRateParam = parser.createParam(eoHowMany(1.0), "offsrpringRate", "Offsrpring rate (% or absolute)",'O');
-00104     eoHowMany oRate = offsrpringRateParam.value();
-00105 
-00106   eoValueParam<eoHowMany> fertileRateParam = parser.createParam(eoHowMany(1.0), "fertileRate", "Fertility rate (% or absolute)",'F');
-00107     eoHowMany fRate = fertileRateParam.value();
-00108 
-00109 eoValueParam<unsigned> tournamentSizeParam = parser.createParam(unsigned(2), "tournamentSize", "Deterministic tournament size",'T');
-00110     unsigned int tSize = tournamentSizeParam.value();
-00111 
-00112   eoValueParam<double> tournamentRateParam = parser.createParam(1.0, "tournamentRate", "Stochastic tournament rate",'t');
-00113     double tRate = tournamentRateParam.value();
-00114 
-00115   eoValueParam<double> rankingPressureParam = parser.createParam(2.0, "rankingPressure", "Selective pressure for the ranking selection",'p');
-00116     double rankingPressure = rankingPressureParam.value();
-00117 
-00118   eoValueParam<double> rankingExponentParam = parser.createParam(1.0, "rankingExponent", "Exponent for the ranking selection",'e');
-00119     double rankingExponent = rankingExponentParam.value();
-00120 
-00121   eoValueParam<std::string> fitTypeParam = parser.createParam(std::string("linear"), "fitType", "Type of fitness (linear, exp, log, super",'f');
-00122     fitnessType = fitTypeParam.value();
-00123 
-00124     if (parser.userNeedsHelp())
-00125       {
-00126         parser.printHelp(std::cout);
-00127         exit(0);
-00128       }
-00129 
-00130     // hard-coded directory name ...
-00131     system("mkdir ResSelect");
-00132     std::cout << "Testing the Selections\nParents size = " << pSize
-00133          << ", offspring rate = " << oRate;
-00134     std::cout << " and putting rsulting files in dir ResSelect" << std::endl;
-00135 
-00136     // initialize parent population
-00137     parentsOrg.resize(pSize);
-00138     if (fitnessType == std::string("linear"))
-00139       for (unsigned i=0; i<pSize; i++)
-00140         parentsOrg[i].fitness(i);
-00141     else if (fitnessType == std::string("exp"))
-00142       for (unsigned i=0; i<pSize; i++)
-00143         parentsOrg[i].fitness(exp((double)i));
-00144     else if (fitnessType == std::string("log"))
-00145       for (unsigned i=0; i<pSize; i++)
-00146         parentsOrg[i].fitness(log(i+1.));
-00147     else if (fitnessType == std::string("super"))
-00148       {
-00149         for (unsigned i=0; i<pSize-1; i++)
-00150           parentsOrg[i].fitness(i);
-00151         parentsOrg[pSize-1].fitness(10*pSize);
-00152       }
-00153     else
-00154       throw std::runtime_error("Invalid fitness Type"+fitnessType);
-00155 
-00156     std::cout << "Initial parents (odd)\n" << parentsOrg << std::endl;
-00157 
-00158   // random seed
-00159     eoValueParam<uint32_t>& seedParam = parser.createParam(uint32_t(0), "seed",
-00160                                                            "Random number seed", 'S');
-00161     if (seedParam.value() == 0)
-00162         seedParam.value() = time(0);
-00163     rng.reseed(seedParam.value());
-00164 
-00165     char fileName[1024];
-00166 
-00167 // the selection procedures under test
-00168     //    eoDetSelect<Dummy> detSelect(oRate);
-00169     //    testSelectMany(detSelect, "detSelect");
-00170 
-00171     // Roulette
-00172      eoProportionalSelect<Dummy> propSelect;
-00173      testSelectOne<Dummy>(propSelect, oRate, fRate, "PropSelect");
-00174 
-00175     // Linear ranking using the perf2Worth construct
-00176     eoRankingSelect<Dummy> newRankingSelect(rankingPressure);
-00177     sprintf(fileName,"LinRank_%g",rankingPressure);
-00178     testSelectOne<Dummy>(newRankingSelect, oRate, fRate, fileName);
-00179 
-00180     // Exponential ranking using the perf2Worth construct
-00181     std::cout << "rankingExponent " << rankingExponent << std::endl;
-00182     eoRankingSelect<Dummy> expRankingSelect(rankingPressure,rankingExponent);
-00183     sprintf(fileName,"ExpRank_%g_%g",rankingPressure, rankingExponent);
-00184     testSelectOne<Dummy>(expRankingSelect, oRate, fRate, fileName);
-00185 
-00186     // Det tournament
-00187     eoDetTournamentSelect<Dummy> detTourSelect(tSize);
-00188     sprintf(fileName,"DetTour_%d",tSize);
-00189     testSelectOne<Dummy>(detTourSelect, oRate, fRate, fileName);
-00190 
-00191     // Stoch tournament
-00192     eoStochTournamentSelect<Dummy> stochTourSelect(tRate);
-00193     sprintf(fileName,"StochTour_%g",tRate);
-00194     testSelectOne<Dummy>(stochTourSelect, oRate, fRate, fileName);
-00195 
-00196     // Fitness scaling
-00197     eoFitnessScalingSelect<Dummy> newFitScaleSelect(rankingPressure);
-00198     sprintf(fileName,"LinFitScale_%g",rankingPressure);
-00199     testSelectOne<Dummy>(newFitScaleSelect, oRate, fRate, fileName);
-00200 
-00201     // Sequential selections
-00202     eoSequentialSelect<Dummy> seqSel(false);
-00203     strcpy(fileName,"Sequential");
-00204     testSelectOne<Dummy>(seqSel, oRate, fRate, fileName);
-00205 
-00206     eoEliteSequentialSelect<Dummy> eliteSeqSel;
-00207     strcpy(fileName,"EliteSequential");
-00208     testSelectOne<Dummy>(eliteSeqSel, oRate, fRate, fileName);
-00209 
-00210     return 1;
-00211 }
-00212 
-00213 int main(int argc, char **argv)
-00214 {
-00215     try
-00216     {
-00217         the_main(argc, argv);
-00218     }
-00219     catch(std::exception& e)
-00220     {
-00221         std::cout << "Exception: " << e.what() << std::endl;
-00222         return 1;
-00223     }
-00224 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_sharing_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_sharing_8cpp-source.html deleted file mode 100644 index e153c00de..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_sharing_8cpp-source.html +++ /dev/null @@ -1,255 +0,0 @@ - - -EO: t-eoSharing.cpp Source File - - - - - -

t-eoSharing.cpp

00001 #ifdef HAVE_CONFIG_H
-00002 #include <config.h>
-00003 #endif
-00004 
-00005 // to avoid long name warnings
-00006 #ifdef _MSC_VER
-00007 #pragma warning(disable:4786)
-00008 #endif
-00009 
-00010 #include <iostream>
-00011 #include <sstream>
-00012 #include <stdexcept>
-00013 #include <vector>
-00014 
-00015 // general
-00016 #include <eo>
-00017 #include <utils/eoDistance.h>
-00018 
-00019 //-----------------------------------------------------------------------------
-00020 
-00021 struct Dummy : public EO<double>
-00022 {
-00023     typedef double Type;
-00024   void printOn(std::ostream & _os) const
-00025   {
-00026       EO<double>::printOn(_os);
-00027       std::cout << " " << xdist ;
-00028   }
-00029   double xdist;
-00030 };
-00031 
-00032 class
-00033 eoDummyDistance : public eoDistance<Dummy>
-00034 {
-00035   double operator()(const Dummy & _v1, const Dummy & _v2)
-00036   {
-00037     double r= _v1.xdist - _v2.xdist;
-00038     return sqrt(r*r);
-00039   }
-00040 };
-00041 
-00042 
-00043 bool operator==(const Dummy & _d1, const Dummy & _d2)
-00044 {
-00045   return _d1.fitness() == _d2.fitness();
-00046 }
-00047 
-00048 struct eoDummyPop : public eoPop<Dummy>
-00049 {
-00050 public :
-00051     eoDummyPop(int s=0) { resize(s); }
-00052 };
-00053 
-00054 // helper - DOES NOT WORK if different individuals have same fitness!!!
-00055 template <class EOT>
-00056 unsigned isInPop(EOT & _indi, eoPop<EOT> & _pop)
-00057 {
-00058   for (unsigned i=0; i<_pop.size(); i++)
-00059     if (_pop[i] == _indi)
-00060       return i;
-00061   return _pop.size();
-00062 }
-00063 
-00064 unsigned int pSize;             // global variable, bouh!
-00065 std::string fitnessType;                // yes, a global variable :-)
-00066 eoDummyPop parentsOrg;
-00067 
-00068 template <class EOT>
-00069 void testSelectMany(eoSelect<EOT> & _select, std::string _name)
-00070 {
-00071     unsigned i;
-00072   std::cout << "\n\n" << fitnessType + _name << std::endl;
-00073   std::cout << "===============\n";
-00074 
-00075     eoDummyPop parents(parentsOrg);
-00076     eoDummyPop offspring(0);
-00077 
-00078     // do the selection
-00079     _select(parents, offspring);
-00080 
-00081     //    cout << "Pop offspring \n" << offspring << endl;
-00082 
-00083     // compute stats
-00084     std::vector<unsigned> nb(parents.size(), 0);
-00085     for (i=0; i<offspring.size();  i++)
-00086       {
-00087         unsigned trouve = isInPop<Dummy>(offspring[i], parents);
-00088         if (trouve == parents.size()) // pas trouve
-00089           throw std::runtime_error("Pas trouve ds parents");
-00090         nb[trouve]++;
-00091        }
-00092     // dump to file so you can plot using gnuplot - dir name is hardcoded!
-00093     std::string fName = "ResSelect/" + fitnessType + _name + ".select";
-00094     std::ofstream os(fName.c_str());
-00095     for (i=0; i<parents.size();  i++)
-00096       {
-00097         std::cout << i << " -> " << ( (double)nb[i])/offspring.size() << std::endl;
-00098         os << i << " " << ( (double)nb[i])/offspring.size() << std::endl;
-00099       }
-00100 
-00101 }
-00102 
-00103 template <class EOT>
-00104 void testSelectOne(eoSelectOne<EOT> & _select, eoHowMany & _offspringRate,
-00105                    eoHowMany & _fertileRate, std::string _name)
-00106 {
-00107   eoTruncatedSelectOne<EOT> truncSelect(_select, _fertileRate);
-00108   eoSelectMany<EOT> percSelect(truncSelect, _offspringRate);
-00109   testSelectMany<EOT>(percSelect, _name);
-00110 }
-00111 
-00112 
-00113 //-----------------------------------------------------------------------------
-00114 
-00115 int the_main(int argc, char **argv)
-00116 {
-00117   eoParser parser(argc, argv);
-00118 
-00119   // random seed
-00120     eoValueParam<uint32_t>& seedParam = parser.createParam(uint32_t(0), "seed", "Random number seed", 'S');
-00121     if (seedParam.value() == 0)
-00122         seedParam.value() = time(0);
-00123     rng.reseed(seedParam.value());
-00124 
-00125 
-00126   // pSize global variable !
-00127   eoValueParam<unsigned> pSizeParam = parser.createParam(unsigned(10), "parentSize", "Parent size",'P');
-00128   pSize = pSizeParam.value();
-00129 
-00130   eoHowMany oRate = parser.createParam(eoHowMany(1.0), "offsrpringRate", "Offsrpring rate (% or absolute)",'O').value();
-00131 
-00132   eoHowMany fRate = parser.createParam(eoHowMany(1.0), "fertileRate", "Fertility rate (% or absolute)",'F').value();
-00133 
-00134 
-00135   double nicheSize = parser.createParam(0.1, "nicheSize", "Paramter Sigma for Sharing",'\0').value();
-00136 
-00137   eoParamParamType & peakParam = parser.createParam(eoParamParamType("2(1,2)"), "peaks", "Description of the peaks: N(nb1,nb2,...,nbN)", 'p').value();
-00138 
-00139   // the number of peaks: first item of the paramparam
-00140   unsigned peakNumber = atoi(peakParam.first.c_str());
-00141   if (peakNumber < 2)
-00142       {
-00143         std::cerr << "WARNING, nb of peaks must be larger than 2, using 2" << std::endl;
-00144         peakNumber = 2;
-00145       }
-00146 
-00147   std::vector<unsigned> nbIndiPerPeak(peakNumber);
-00148   unsigned i, sum=0;
-00149 
-00150   // the second item is a vector<string> containing all values
-00151   if (!peakParam.second.size())   // no other parameter : equal peaks
-00152       {
-00153         std::cerr << "WARNING, no nb of indis per peaks, using equal nbs" << std::endl;
-00154         for (i=0; i<peakNumber; i++)
-00155           nbIndiPerPeak[i] = pSize/peakNumber;
-00156       }
-00157     else          // parameters passed by user
-00158       if (peakParam.second.size() != peakNumber)
-00159         {
-00160           std::cerr << "ERROR, not enough nb of indis per peaks" << std::endl;
-00161           exit(1);
-00162         }
-00163       else    // now we have in peakParam.second all numbers
-00164         {
-00165           for (i=0; i<peakNumber; i++)
-00166             sum += ( nbIndiPerPeak[i] = atoi(peakParam.second[i].c_str()) );
-00167           // now normalize
-00168           for (i=0; i<peakNumber; i++)
-00169             nbIndiPerPeak[i] = nbIndiPerPeak[i] * pSize / sum;
-00170         }
-00171 
-00172   // compute exact total
-00173   sum = 0;
-00174   for (i=0; i<peakNumber; i++)
-00175     sum += nbIndiPerPeak[i];
-00176   if (sum != pSize)
-00177     {
-00178       pSize = pSizeParam.value() = sum;
-00179       std::cerr << "WARNING, adjusting pSize to " << pSize << std::endl;
-00180     }
-00181 
-00182     make_help(parser);
-00183 
-00184     // hard-coded directory name ...
-00185     std::cout << "Testing the Sharing\n";
-00186     std::cout << " There will be " << peakNumber << " peaks";
-00187     std::cout << " with respective pops ";
-00188     for (i=0; i<peakNumber; i++)
-00189       std::cout << nbIndiPerPeak[i] << ", ";
-00190     std::cout << "\n Peaks are at distance 1 from one-another (dim 1),\n";
-00191       std::cout << " fitness of each peak is nb of peak, and\n";
-00192       std::cout << " fitness of individuals = uniform[fitness of peak +- 0.01]\n\n";
-00193 
-00194       std::cout << "The resulting file (in dir ResSelect), contains \n";
-00195     std::cout << " the empirical proba. for each indi to be selected." << std::endl;
-00196     system("mkdir ResSelect");
-00197 
-00198     // initialize parent population
-00199     parentsOrg.resize(pSize);
-00200 
-00201     // all peaks of equal size in fitness, with different nn of individuals
-00202     unsigned index=0;
-00203     for (unsigned nbP=0; nbP<peakNumber; nbP++)
-00204       for (i=0; i<nbIndiPerPeak[nbP]; i++)
-00205         {
-00206           parentsOrg[index].fitness(nbP+1 + 0.02*eo::rng.uniform() - 0.01);
-00207           parentsOrg[index].xdist = nbP+1 + 0.02*eo::rng.uniform() - 0.01;
-00208           index++;
-00209         }
-00210 
-00211     std::cout << "Initial population\n" << parentsOrg << std::endl;
-00212 
-00213     char fileName[1024];
-00214 
-00215 // the selection procedures under test
-00216     //    eoDetSelect<Dummy> detSelect(oRate);
-00217     //    testSelectMany(detSelect, "detSelect");
-00218 
-00219     // Sharing using the perf2Worth construct
-00220     // need a distance for that
-00221     eoDummyDistance dist;
-00222     eoSharingSelect<Dummy> newSharingSelect(nicheSize, dist);
-00223     sprintf(fileName,"Niche_%g",nicheSize);
-00224     testSelectOne<Dummy>(newSharingSelect, oRate, fRate, fileName);
-00225 
-00226     return 1;
-00227 }
-00228 
-00229 int main(int argc, char **argv)
-00230 {
-00231     try
-00232     {
-00233         the_main(argc, argv);
-00234     }
-00235     catch(std::exception& e)
-00236     {
-00237         std::cout << "Exception: " << e.what() << std::endl;
-00238         return 1;
-00239     }
-00240 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_state_and_parser_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_state_and_parser_8cpp-source.html deleted file mode 100644 index 3089ccb8b..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_state_and_parser_8cpp-source.html +++ /dev/null @@ -1,154 +0,0 @@ - - -EO: t-eoStateAndParser.cpp Source File - - - - - -

t-eoStateAndParser.cpp

00001 //-----------------------------------------------------------------------------
-00002 
-00003 // to avoid long name warnings
-00004 #ifdef _MSC_VER
-00005 #pragma warning(disable:4786)
-00006 #endif
-00007 
-00008 #include <stdexcept>  // runtime_error
-00009 
-00010 //-----------------------------------------------------------------------------
-00011 // tt.cpp:
-00012 //
-00013 //-----------------------------------------------------------------------------
-00014 
-00015 
-00016 // general
-00017 #include <utils/eoRNG.h>                // Random number generators
-00018 #include <ga.h>
-00019 #include <utils/eoParser.h>
-00020 #include <utils/eoState.h>
-00021 
-00022 //-----------------------------------------------------------------------------
-00023 
-00024 // include package checkpointing
-00025 #include <utils/checkpointing>
-00026 // and provisions for Bounds reading
-00027 #include <utils/eoRealVectorBounds.h>
-00028 
-00029 struct Dummy : public EO<double>
-00030 {
-00031     typedef double Type;
-00032 };
-00033 
-00034 
-00035 //-----------------------------------------------------------------------------
-00036 
-00037 int the_main(int argc, char **argv)
-00038 { // ok, we have a command line parser and a state
-00039 
-00040     typedef eoBit<float> Chrom;
-00041 
-00042     eoParser parser(argc, argv);
-00043 
-00044     // Define Parameters
-00045     eoValueParam<unsigned int> dimParam((unsigned int)(5), "dimension", "dimension");
-00046     eoValueParam<double> rate(0.01, "mutationRatePerBit", "Initial value for mutation rate per bit");
-00047     eoValueParam<double> factor(0.99, "mutationFactor", "Decrease factor for mutation rate");
-00048     eoValueParam<uint32_t> seed(time(0), "seed", "Random number seed");
-00049     // test if user entered or if default value used
-00050     if (parser.isItThere(seed))
-00051       std::cout << "YES\n";
-00052     else
-00053       std::cout << "NO\n";
-00054 
-00055     eoValueParam<std::string> load_name("", "Load","Load",'L');
-00056     eoValueParam<std::string> save_name("", "Save","Save",'S');
-00057 
-00058 
-00059     // Register them
-00060     parser.processParam(dimParam,   "Genetic Operators");
-00061     parser.processParam(rate,       "Genetic Operators");
-00062     parser.processParam(factor,     "Genetic Operators");
-00063     parser.processParam(load_name,  "Persistence");
-00064     parser.processParam(save_name,  "Persistence");
-00065     parser.processParam(seed,       "Rng seeding");
-00066 
-00067     // a bound param (need dim)
-00068     eoValueParam<eoRealVectorBounds> boundParam(eoRealVectorBounds(dimParam.value(),eoDummyRealNoBounds), "bounds","bounds",'b');
-00069 
-00070     parser.processParam(boundParam, "Genetic Operators");
-00071 
-00072     std::cout << "Bounds: " << boundParam.value() << std::endl;
-00073 
-00074    eoState state;
-00075    state.registerObject(parser);
-00076 
-00077 
-00078    if (load_name.value() != "")
-00079    { // load the parser. This is only neccessary when the user wants to
-00080      // be able to change the parameters in the state file by hand.
-00081        state.load(load_name.value()); // load the parser
-00082    }
-00083 
-00084     // Create the algorithm here
-00085 
-00086     // Register the algorithm
-00087     state.registerObject(rng);
-00088     //state.registerObject(pop);
-00089 
-00090     if (parser.userNeedsHelp())
-00091     {
-00092         parser.printHelp(std::cout);
-00093         return 0;
-00094     }
-00095 
-00096     // Either load or initialize
-00097     if (load_name.value() != "")
-00098     {
-00099         state.load(load_name.value()); // load the rest
-00100     }
-00101     else
-00102     {
-00103         // else
-00104 
-00105         // initialize rng and population
-00106 
-00107         rng.reseed(seed.value());
-00108     }
-00109 
-00110     // run the algorithm
-00111 
-00112     // Save when needed
-00113     if (save_name.value() != "")
-00114     {
-00115         std::string file_name = save_name.value();
-00116         save_name.value() = ""; // so that it does not appear in the parser section of the state file
-00117         state.save(file_name);
-00118     }
-00119 
-00120     for (int i = 0; i < 100; ++i)
-00121         rng.rand();
-00122 
-00123     std::cout << "a random number is " << rng.random(1024) << std::endl;;
-00124 
-00125     return 1;
-00126 }
-00127 
-00128 int main(int argc, char **argv)
-00129 {
-00130     try
-00131     {
-00132         the_main(argc, argv);
-00133     }
-00134     catch(std::exception& e)
-00135     {
-00136         std::cout << "Exception: " << e.what() << std::endl;
-00137     }
-00138 
-00139 }
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_symreg_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_symreg_8cpp-source.html deleted file mode 100644 index 706e4777e..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_symreg_8cpp-source.html +++ /dev/null @@ -1,306 +0,0 @@ - - -EO: t-eoSymreg.cpp Source File - - - - - -

t-eoSymreg.cpp

00001 #ifdef _MSC_VER
-00002 #pragma warning(disable:4786)
-00003 #endif
-00004 
-00005 #include <gp/eoParseTree.h>
-00006 #include <eo>
-00007 
-00008 using namespace gp_parse_tree;
-00009 using namespace std;
-00010 
-00011 //-----------------------------------------------------------------------------
-00012 
-00013 class SymregNode
-00014 {
-00015 public :
-00016 
-00017         enum Operator {X = 'x', Plus = '+', Min = '-', Mult = '*', PDiv = '/'};
-00018 
-00019         SymregNode(void)                                { init(); }
-00020         SymregNode(Operator _op)                { op = _op; }
-00021         virtual ~SymregNode(void)                       {}
-00022 
-00023         // arity function, need this function!
-00024         int arity(void) const      { return op == X? 0 : 2; }
-00025 
-00026     void randomize(void) {}
-00027     
-00028         // evaluation function, single case, using first argument to give value of variable
-00029         template <class Children>
-00030         void operator()(double& result, Children args, double var) const
-00031         {
-00032         double r1, r2;
-00033 
-00034         if (arity() == 2)
-00035         {
-00036             args[0].apply(r1, var);
-00037             args[1].apply(r2, var);
-00038         }
-00039 
-00040                 switch (op)
-00041                 {
-00042                 case Plus : result = r1 + r2; break;
-00043                 case Min  : result = r1 - r2; break;
-00044                 case Mult : result = r1 * r2; break;
-00045                 case PDiv : 
-00046                         {
-00047                                 if (r2 == 0.0)
-00048                                         result = 1.0; // protection a la Koza, realistic implementations should maybe throw an exception
-00049                 else
-00050                                     result = r1 / r2;
-00051                 break;
-00052                         }
-00053 
-00054                 case X    : result = var; break;
-00055                 }
-00056 
-00057         }
-00058 
-00060     template <class Children>
-00061         void operator()(string& result, Children args) const
-00062     {
-00063         static const string lb = "(";
-00064         static const string rb = ")";
-00065         char opStr[4] = "   ";
-00066         opStr[1] = op;
-00067         
-00068             if (arity() == 0)
-00069                 {
-00070             result = "x";
-00071             return;
-00072         }
-00073         // else
-00074         string r1;
-00075         args[0].apply(r1);
-00076         result = lb + r1;
-00077         result += opStr; 
-00078         args[1].apply(r1);
-00079         result += r1 + rb;
-00080     }
-00081 
-00082     Operator getOp(void) const { return op; }    
-00083 
-00084 protected :
-00085 
-00086         void init(void)                                 { op = X; }
-00087 
-00088 private :
-00089 
-00090         Operator op; // the type of node
-00091 };
-00092 
-00094 static SymregNode init_sequence[5] = {SymregNode::X, SymregNode::Plus, SymregNode::Min, SymregNode::Mult, SymregNode::PDiv}; // needed for intialization
-00095 
-00096 // MSVC does not recognize the lt_arity<Node> in eoParseTreeDepthInit
-00097 // without this specialization ...
-00098 // 2 months later, it seems it does not accept this definition ...
-00099 // but dies accept the lt_arity<Node> in eoParseTreeDepthInit
-00100 // !!!
-00101 // #ifdef _MSC_VER 
-00102 // template <>
-00103 // bool lt_arity(const SymregNode &node1, const SymregNode &node2) 
-00104 // {
-00105 //              return (node1.arity() < node2.arity());
-00106 // }
-00107 // #endif
-00108 
-00109 //-----------------------------------------------------------
-00110 // saving, loading
-00111 
-00112 std::ostream& operator<<(std::ostream& os, const SymregNode& eot)
-00113 {
-00114     os << static_cast<char>(eot.getOp());
-00115     return os;
-00116 }
-00117 
-00118 std::istream& operator>>(std::istream& is, SymregNode& eot)
-00119 {
-00120     char type;
-00121     type = (char) is.get();
-00122     eot = SymregNode(static_cast<SymregNode::Operator>(type));
-00123     return is;
-00124 }
-00125 
-00126 
-00127 //-----------------------------------------------------------------------------
-00130 double targetFunction(double x)
-00131 { 
-00132         return x * x * x * x - x * x * x + x * x * x - x * x + x - 10; 
-00133 }
-00134 
-00135 // parameters controlling the sampling of points
-00136 const double xbegin = -10.0f;
-00137 const double xend   = 10.0f;
-00138 const double xstep  = 1.3f; 
-00139 
-00140 template <class FType, class Node> struct RMS: public eoEvalFunc< eoParseTree<FType, Node> > 
-00141 {
-00142 public :
-00143 
-00144     typedef eoParseTree<FType, Node> EoType;
-00145 
-00146     typedef eoParseTree<FType, Node> argument_type;
-00147     typedef double                   fitness_type;
-00148 
-00149         RMS(void) : eoEvalFunc<EoType>()
-00150         {
-00151                 int n = int( (xend - xbegin) / xstep);
-00152                 
-00153                 inputs.resize(n);
-00154                 target.resize(n);
-00155 
-00156                 int i = 0;
-00157 
-00158         for (double x = xbegin; x < xend && i < n; ++i, x+=xstep)
-00159                 {
-00160                         target[i] = targetFunction(x);
-00161                         inputs[i] = x;
-00162                 }
-00163         }
-00164 
-00165     ~RMS() {}
-00166     
-00167         void operator()( EoType & _eo )  
-00168         {
-00169                 vector<double> outputs;
-00170                 outputs.resize(inputs.size());
-00171                 
-00172         double fitness = 0.0;
-00173         
-00174         for (unsigned i = 0; i < inputs.size(); ++i)
-00175         {
-00176                     _eo.apply(outputs[i], inputs[i]);
-00177                 fitness += (outputs[i] - target[i]) * (outputs[i] - target[i]);
-00178         }
-00179                 
-00180         fitness /= (double) target.size();
-00181         fitness = sqrt(fitness);
-00182                         
-00183                 if (fitness > 1e+20)
-00184                         fitness = 1e+20;
-00185 
-00186                 _eo.fitness(fitness);
-00187         }
-00188 
-00189 private :
-00190         vector<double> inputs;
-00191         vector<double> target;
-00192 };
-00193 
-00194 template <class EOT, class FitnessType>
-00195 void print_best(eoPop<EOT>& pop)
-00196 {
-00197     std::cout << std::endl;
-00198     FitnessType best = pop[0].fitness();
-00199     int index = 0;
-00200 
-00201     for (unsigned i = 1; i < pop.size(); ++i)
-00202     {
-00203         if (best < pop[i].fitness())
-00204         {
-00205             best = pop[i].fitness();
-00206             index = i;
-00207         }
-00208     }
-00209     
-00210     std::cout << "\t";
-00211         
-00212     string str;
-00213     pop[index].apply(str);
-00214     
-00215     std::cout << str.c_str();
-00216     std::cout << std::endl << "RMS Error = " << pop[index].fitness() << std::endl;
-00217 }
-00218 
-00219 int main()
-00220 {
-00221     typedef eoMinimizingFitness FitnessType;
-00222     typedef SymregNode GpNode;
-00223 
-00224     typedef eoParseTree<FitnessType, GpNode> EoType;
-00225     typedef eoPop<EoType> Pop;  
-00226 
-00227     const int MaxSize = 100;
-00228     const int nGenerations = 10; // only a test, so few generations
-00229 
-00230     // Initializor sequence, contains the allowable nodes
-00231     vector<GpNode> init(init_sequence, init_sequence + 5);
-00232 
-00233     // Depth Initializor, defaults to grow method.
-00234     eoGpDepthInitializer<FitnessType, GpNode> initializer(10, init);
-00235     
-00236     // Root Mean Squared Error Measure
-00237     RMS<FitnessType, GpNode>              eval;
-00238 
-00239     Pop pop(50, initializer);
-00240 
-00241     apply<EoType>(eval, pop);
-00242 
-00243     eoSubtreeXOver<FitnessType, GpNode>   xover(MaxSize);
-00244     eoBranchMutation<FitnessType, GpNode> mutation(initializer, MaxSize);
-00245 
-00246     // The operators are  encapsulated into an eoTRansform object, 
-00247     // that performs sequentially crossover and mutation
-00248     eoSGATransform<EoType> transform(xover, 0.75, mutation, 0.25);
-00249 
-00250     // The robust tournament selection
-00251     eoDetTournamentSelect<EoType> selectOne(2);   // tSize in [2,POPSIZE]
-00252     // is now encapsulated in a eoSelectMany: 2 at a time -> SteadyState
-00253     eoSelectMany<EoType> select(selectOne,2, eo_is_an_integer);    
-00254   
-00255     // and the Steady-State replacement
-00256     eoSSGAWorseReplacement<EoType> replace;
-00257   
-00258     // Terminators
-00259     eoGenContinue<EoType> term(nGenerations);
-00260 
-00261     eoCheckPoint<EoType> checkPoint(term);
-00262 
-00263     eoAverageStat<EoType>     avg;
-00264     eoBestFitnessStat<EoType> best;
-00265     eoStdoutMonitor monitor;
-00266 
-00267     checkPoint.add(monitor);
-00268     checkPoint.add(avg);
-00269     checkPoint.add(best);
-00270 
-00271     monitor.add(avg);
-00272     monitor.add(best);
-00273 
-00274     // GP generation
-00275     eoEasyEA<EoType> gp(checkPoint, eval, select, transform, replace);
-00276 
-00277     std::cout << "Initialization done" << std::endl;
-00278 
-00279     print_best<EoType, FitnessType>(pop);
-00280 
-00281     try
-00282     {
-00283       gp(pop);
-00284     }
-00285     catch (std::exception& e)
-00286     {
-00287             std::cout << "exception: " << e.what() << std::endl;;
-00288             exit(EXIT_FAILURE);
-00289     }
-00290 
-00291     print_best<EoType, FitnessType>(pop);
-00292 
-00293 }
-00294 
-00295 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_uniform_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_uniform_8cpp-source.html deleted file mode 100644 index d4c19277c..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_uniform_8cpp-source.html +++ /dev/null @@ -1,37 +0,0 @@ - - -EO: t-eoUniform.cpp Source File - - - - - -

t-eoUniform.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eouniform
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #include <iostream>   // std::cout
-00006 #include <strstream>  // ostrstream, istrstream
-00007 #include <eoUniform.h>         // eoBin
-00008 
-00009 //-----------------------------------------------------------------------------
-00010 
-00011 main() {
-00012   eoUniform<float> u1(-2.5,3.5);
-00013   eoUniform<double> u2(0.003, 0 );
-00014   eoUniform<unsigned long> u3( 10000U, 10000000U);
-00015   std::cout << "u1\t\tu2\t\tu3" << std::endl;
-00016   for ( unsigned i = 0; i < 100; i ++) {
-00017     std::cout << u1() << "\t" << u2() << "\t" << u3() << std::endl;
-00018   }
-00019     
-00020 }
-00021 
-00022 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_vector_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_vector_8cpp-source.html deleted file mode 100644 index 21572e8a8..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_vector_8cpp-source.html +++ /dev/null @@ -1,89 +0,0 @@ - - -EO: t-eoVector.cpp Source File - - - - - -

t-eoVector.cpp

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003     t-eoVector.cpp
-00004       This program tests vector-like chromosomes
-00005     (c) GeNeura Team, 1999, 2000
-00006 
-00007     Modified by Maarten Keijzer 2001
-00008 
-00009     This program is free software; you can redistribute it and/or modify
-00010     it under the terms of the GNU General Public License as published by
-00011     the Free Software Foundation; either version 2 of the License, or
-00012     (at your option) any later version.
-00013 
-00014     This program is distributed in the hope that it will be useful,
-00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00017     GNU General Public License for more details.
-00018 
-00019     You should have received a copy of the GNU General Public License
-00020     along with this program; if not, write to the Free Software
-00021     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00022 
-00023     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00024 
-00025 */
-00026 //-----------------------------------------------------------------------------
-00027 #ifdef HAVE_CONFIG_H
-00028 #include <config.h>
-00029 #endif
-00030 
-00031 #include <cassert>
-00032 #include <iostream>
-00033 
-00034 #include <utils/eoRndGenerators.h>
-00035 #include <eoVector.h>         // eoVector
-00036 #include <eoInit.h>
-00037 #include <eoScalarFitness.h>
-00038 
-00039 //-----------------------------------------------------------------------------
-00040 
-00041 typedef eoVector<eoMaximizingFitness, int> Chrom1;
-00042 typedef eoVector<eoMinimizingFitness, int> Chrom2;
-00043 
-00044 //-----------------------------------------------------------------------------
-00045 
-00046 int main()
-00047 {
-00048   const unsigned SIZE = 4;
-00049 
-00050   // check if the appropriate ctor gets called
-00051   Chrom1 chrom(SIZE, 5);
-00052 
-00053   for (unsigned i = 0; i < chrom.size(); ++i)
-00054   {
-00055     assert(chrom[i] == 5);
-00056   }
-00057 
-00058   eoUniformGenerator<Chrom1::AtomType> uniform(-1,1);
-00059   eoInitFixedLength<Chrom1> init(SIZE, uniform);
-00060 
-00061   init(chrom);
-00062 
-00063   std::cout << chrom << std::endl;
-00064 
-00065   Chrom2 chrom2(chrom);
-00066 
-00067   std::cout << chrom2 << std::endl;
-00068 
-00069 //  eoInitVariableLength<Chrom1> initvar(
-00070 
-00071   return 0;
-00072 }
-00073 
-00074 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eo_virus_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eo_virus_8cpp-source.html deleted file mode 100644 index 53bd9c852..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eo_virus_8cpp-source.html +++ /dev/null @@ -1,92 +0,0 @@ - - -EO: t-eoVirus.cpp Source File - - - - - -

t-eoVirus.cpp

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003     t-eoVirus.cpp
-00004       This program tests the the binary cromosomes and several genetic operators
-00005     (c) GeNeura Team, 1999
-00006 
-00007     This program is free software; you can redistribute it and/or modify
-00008     it under the terms of the GNU General Public License as published by
-00009     the Free Software Foundation; either version 2 of the License, or
-00010     (at your option) any later version.
-00011 
-00012     This program is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00015     GNU General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU General Public License
-00018     along with this program; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022 
-00023 */
-00024 //-----------------------------------------------------------------------------
-00025 
-00026 #include <iostream>   // std::cout
-00027 #include <eo>         // general EO
-00028 #include "MGE/VirusOp.h"
-00029 #include "MGE/eoVirus.h"
-00030 #include "MGE/eoInitVirus.h"
-00031 #include <utils/eoRndGenerators.h>
-00032 
-00033 #include "binary_value.h"
-00034 
-00035 //-----------------------------------------------------------------------------
-00036 
-00037 typedef eoVirus<float> Chrom;
-00038 
-00039 //-----------------------------------------------------------------------------
-00040 
-00041 int main()
-00042 {
-00043   const unsigned SIZE = 8;
-00044   eoBooleanGenerator gen;
-00045   eo::rng.reseed( time( 0 ) );
-00046 
-00047   Chrom chrom(SIZE), chrom2(SIZE);
-00048   chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2));
-00049   std::cout << chrom << std::endl;
-00050   std::cout << chrom2 << std::endl;
-00051 
-00052   // Virus Mutation
-00053   VirusBitFlip<float> vf;
-00054   unsigned i;
-00055   for ( i = 0; i < 10; i++ ) {
-00056         vf( chrom );
-00057         std::cout << chrom << std::endl;
-00058   }
-00059 
-00060   // Chrom Mutation
-00061   std::cout << "Chrom mutation--------" << std::endl;
-00062   VirusMutation<float> vm;
-00063   for ( i = 0; i < 10; i++ ) {
-00064         vm( chrom );
-00065         std::cout << chrom << std::endl;
-00066   }
-00067 
-00068   // Chrom Transmision
-00069   std::cout << "Chrom transmission--------" << std::endl;
-00070   VirusTransmission<float> vt; 
-00071   vt( chrom2, chrom );
-00072   std::cout << chrom2 << std::endl;
-00073 
-00074   return 0;
-00075 
-00076 }
-00077 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eobin_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eobin_8cpp-source.html deleted file mode 100644 index b467c9ede..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eobin_8cpp-source.html +++ /dev/null @@ -1,233 +0,0 @@ - - -EO: t-eobin.cpp Source File - - - - - -

t-eobin.cpp

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003     t-eobin.cpp
-00004       This program tests the the binary cromosomes and several genetic operators
-00005     (c) GeNeura Team, 1999
-00006 
-00007     This program is free software; you can redistribute it and/or modify
-00008     it under the terms of the GNU General Public License as published by
-00009     the Free Software Foundation; either version 2 of the License, or
-00010     (at your option) any later version.
-00011 
-00012     This program is distributed in the hope that it will be useful,
-00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00015     GNU General Public License for more details.
-00016 
-00017     You should have received a copy of the GNU General Public License
-00018     along with this program; if not, write to the Free Software
-00019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00020 
-00021     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00022 
-00023 */
-00024 //-----------------------------------------------------------------------------
-00025 #ifdef HAVE_CONFIG_H
-00026 #include <config.h>
-00027 #endif
-00028 
-00029 #include <iostream>   // std::cout
-00030 #include <sstream>
-00031 
-00032 #include <eo>         // general EO
-00033 #include <ga.h>       // bitstring representation & operators
-00034 #include <utils/eoRndGenerators.h>
-00035 #include "binary_value.h"
-00036 
-00037 //-----------------------------------------------------------------------------
-00038 
-00039 typedef eoBit<double> Chrom;
-00040 
-00041 //-----------------------------------------------------------------------------
-00042 
-00043 void main_function()
-00044 {
-00045   const unsigned SIZE = 8;
-00046   unsigned i, j;
-00047   eoBooleanGenerator gen;
-00048 
-00049   Chrom chrom(SIZE), chrom2;
-00050   chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2));
-00051 
-00052   std::cout << "chrom:  " << chrom << std::endl;
-00053   chrom[0] = chrom[SIZE - 1] = true; chrom.fitness(binary_value(chrom));
-00054   std::cout << "chrom:  " << chrom << std::endl;
-00055   chrom[0] = chrom[SIZE - 1] = false; chrom.fitness(binary_value(chrom));
-00056   std::cout << "chrom:  " << chrom << std::endl;
-00057   chrom[0] = chrom[SIZE - 1] = true; chrom.fitness(binary_value(chrom));
-00058 
-00059   std::cout << "chrom.className() = " << chrom.className() << std::endl;
-00060 
-00061   std::cout << "chrom:  " << chrom << std::endl
-00062        << "chrom2: " << chrom2 << std::endl;
-00063 
-00064   std::ostringstream os;
-00065   os << chrom;
-00066   std::istringstream is(os.str());
-00067   is >> chrom2; chrom.fitness(binary_value(chrom2));
-00068 
-00069   std::cout << "\nTesting reading, writing\n";
-00070   std::cout << "chrom:  " << chrom << "\nchrom2: " << chrom2 << '\n';
-00071 
-00072   std::fill(chrom.begin(), chrom.end(), false);
-00073   std::cout << "--------------------------------------------------"
-00074        << std::endl << "eoMonOp's aplied to .......... " << chrom << std::endl;
-00075 
-00076   eoInitFixedLength<Chrom>
-00077       random(chrom.size(), gen);
-00078 
-00079   random(chrom); chrom.fitness(binary_value(chrom));
-00080   std::cout << "after eoBinRandom ............ " << chrom << std::endl;
-00081 
-00082   eoOneBitFlip<Chrom> bitflip;
-00083   bitflip(chrom); chrom.fitness(binary_value(chrom));
-00084   std::cout << "after eoBitFlip .............. " << chrom << std::endl;
-00085 
-00086   eoBitMutation<Chrom> mutation(0.5);
-00087   mutation(chrom); chrom.fitness(binary_value(chrom));
-00088   std::cout << "after eoBinMutation(0.5) ..... " << chrom << std::endl;
-00089 
-00090   eoBitInversion<Chrom> inversion;
-00091   inversion(chrom); chrom.fitness(binary_value(chrom));
-00092   std::cout << "after eoBinInversion ......... " << chrom << std::endl;
-00093 
-00094   eoBitNext<Chrom> next;
-00095   next(chrom); chrom.fitness(binary_value(chrom));
-00096   std::cout << "after eoBinNext .............. " << chrom << std::endl;
-00097 
-00098   eoBitPrev<Chrom> prev;
-00099   prev(chrom); chrom.fitness(binary_value(chrom));
-00100   std::cout << "after eoBinPrev .............. " << chrom << std::endl;
-00101 
-00102   std::fill(chrom.begin(), chrom.end(), false); chrom.fitness(binary_value(chrom));
-00103   std::fill(chrom2.begin(), chrom2.end(), true); chrom2.fitness(binary_value(chrom2));
-00104   std::cout << "--------------------------------------------------"
-00105        << std::endl << "eoBinOp's aplied to ... "
-00106        << chrom << " " << chrom2 << std::endl;
-00107 
-00108   eo1PtBitXover<Chrom> xover;
-00109   std::fill(chrom.begin(), chrom.end(), false);
-00110   std::fill(chrom2.begin(), chrom2.end(), true);
-00111   xover(chrom, chrom2);
-00112   chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2));
-00113   std::cout << "eoBinCrossover ........ " << chrom << " " << chrom2 << std::endl;
-00114 
-00115   for (i = 1; i < SIZE; i++)
-00116     {
-00117       eoNPtsBitXover<Chrom> nxover(i);
-00118       std::fill(chrom.begin(), chrom.end(), false);
-00119       std::fill(chrom2.begin(), chrom2.end(), true);
-00120       nxover(chrom, chrom2);
-00121       chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2));
-00122       std::cout << "eoBinNxOver(" << i << ") ........ "
-00123            << chrom << " " << chrom2 << std::endl;
-00124     }
-00125 
-00126   for (i = 1; i < SIZE / 2; i++)
-00127     for (j = 1; j < SIZE / 2; j++)
-00128       {
-00129         eoBitGxOver<Chrom> gxover(i, j);
-00130         std::fill(chrom.begin(), chrom.end(), false);
-00131         std::fill(chrom2.begin(), chrom2.end(), true);
-00132         gxover(chrom, chrom2);
-00133         chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2));
-00134         std::cout  << "eoBinGxOver(" << i << ", " << j << ") ..... "
-00135               << chrom << " " << chrom2 << std::endl;
-00136       }
-00137 
-00138     // test SGA algorithm
-00139     eoGenContinue<Chrom> continuator1(50);
-00140     eoFitContinue<Chrom> continuator2(65535.f);
-00141 
-00142     eoCombinedContinue<Chrom> continuator(continuator1, continuator2);
-00143 
-00144     eoCheckPoint<Chrom> checkpoint(continuator);
-00145 
-00146     eoStdoutMonitor monitor;
-00147 
-00148     checkpoint.add(monitor);
-00149 
-00150     eoSecondMomentStats<Chrom> stats;
-00151 
-00152     monitor.add(stats);
-00153     checkpoint.add(stats);
-00154 
-00155     eoProportionalSelect<Chrom> select;
-00156     eoEvalFuncPtr<Chrom>  eval(binary_value);
-00157 
-00158     eoSGA<Chrom> sga(select, xover, 0.8f, bitflip, 0.1f, eval, checkpoint);
-00159 
-00160     eoInitFixedLength<Chrom> init(16, gen);
-00161     eoPop<Chrom> pop(100, init);
-00162 
-00163     apply<Chrom>(eval, pop);
-00164 
-00165     sga(pop);
-00166 
-00167     pop.sort();
-00168 
-00169     std::cout << "Population " << pop << std::endl;
-00170 
-00171     std::cout << "\nBest: " << pop[0].fitness() << '\n';
-00172 
-00173   /*
-00174 
-00175     Commented this out, waiting for a definite decision what to do with the mOp's
-00176 
-00177     // Check multiOps
-00178     eoMultiMonOp<Chrom> mOp( &next );
-00179     mOp.adOp( &bitflip );
-00180     std::cout << "before multiMonOp............  " << chrom << std::endl;
-00181     mOp( chrom );
-00182     std::cout << "after multiMonOp .............. " << chrom << std::endl;
-00183 
-00184     eoBinGxOver<Chrom> gxover(2, 4);
-00185     eoMultiBinOp<Chrom> mbOp( &gxover );
-00186     mOp.adOp( &bitflip );
-00187     std::cout << "before multiBinOp............  " << chrom << " " << chrom2 << std::endl;
-00188     mbOp( chrom, chrom2 );
-00189     std::cout << "after multiBinOp .............. " << chrom << " " << chrom2 <<std::endl;
-00190   */
-00191 }
-00192 
-00193 //-----------------------------------------------------------------------------
-00194 // For MSVC memory lead detection
-00195 #ifdef _MSC_VER
-00196 #include <crtdbg.h>
-00197 #endif
-00198 
-00199 int main()
-00200 {
-00201 #ifdef _MSC_VER
-00202   //  rng.reseed(42);
-00203     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
-00204      flag |= _CRTDBG_LEAK_CHECK_DF;
-00205     _CrtSetDbgFlag(flag);
-00206 //   _CrtSetBreakAlloc(100);
-00207 #endif
-00208 
-00209     try
-00210     {
-00211         main_function();
-00212     }
-00213     catch(std::exception& e)
-00214     {
-00215         std::cout << "Exception: " << e.what() << '\n';
-00216     }
-00217 
-00218 }
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eobreeder_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eobreeder_8cpp-source.html deleted file mode 100644 index 183f8f7aa..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eobreeder_8cpp-source.html +++ /dev/null @@ -1,102 +0,0 @@ - - -EO: t-eobreeder.cpp Source File - - - - - -

t-eobreeder.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // t-eobreeder.cpp
-00005 //   This program test the breeder object
-00006 // (c) GeNeura Team, 1998 
-00007 /* 
-00008     This library is free software; you can redistribute it and/or
-00009     modify it under the terms of the GNU General Public
-00010     License as published by the Free Software Foundation; either
-00011     version 2 of the License, or (at your option) any later version.
-00012 
-00013     This library is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00016     Lesser General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU Lesser General Public
-00019     License along with this library; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023             
-00024 */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef __GNUG__
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif // __GNUG__
-00031 
-00032 #include <ga/eoBin.h>  // eoBin, eoPop, eoBreeder
-00033 #include <eoPop.h>
-00034 #include <ga/eoBitOp.h>
-00035 #include <eoProportionalOpSel.h>
-00036 #include <eoBreeder.h>
-00037 
-00038 //-----------------------------------------------------------------------------
-00039 
-00040 typedef eoBin<float> Chrom;
-00041 
-00042 #include "binary_value.h"
-00043 
-00044 //-----------------------------------------------------------------------------
-00045 
-00046 main()
-00047 {
-00048   const unsigned POP_SIZE = 8, CHROM_SIZE = 4;
-00049   unsigned i;
-00050 
-00051   eoBinRandom<Chrom> random;
-00052   eoPop<Chrom> pop; 
-00053 
-00054   BinaryValue eval;
-00055   
-00056   for (i = 0; i < POP_SIZE; ++i)
-00057     {
-00058       Chrom chrom(CHROM_SIZE);
-00059       random(chrom);
-00060       eval(chrom);
-00061       pop.push_back(chrom);
-00062     }
-00063   
-00064   std::cout << "population:" << std::endl;
-00065   for (i = 0; i < pop.size(); ++i)
-00066     std::cout << pop[i] << " " << pop[i].fitness() << std::endl;
-00067 
-00068   eoBinBitFlip<Chrom> bitflip;
-00069   eoBinCrossover<Chrom> xover;
-00070   eoProportionalOpSel<Chrom> propSel;
-00071   eoBreeder<Chrom> breeder( propSel );
-00072   propSel.addOp(bitflip, 0.25);
-00073   propSel.addOp(xover, 0.75);
-00074 
-00075   breeder(pop);
-00076 
-00077   // reevaluation of fitness 
-00078   for_each(pop.begin(), pop.end(), BinaryValue());
-00079 
-00080   std::cout << "new population:" << std::endl;
-00081   for (i = 0; i < pop.size(); ++i)
-00082     std::cout << pop[i] << " " << pop[i].fitness() << std::endl;
-00083 
-00084   return 0;
-00085 }
-00086 
-00087 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eofitness_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eofitness_8cpp-source.html deleted file mode 100644 index 95e657cfc..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eofitness_8cpp-source.html +++ /dev/null @@ -1,105 +0,0 @@ - - -EO: t-eofitness.cpp Source File - - - - - -

t-eofitness.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eofitness.cpp
-00003 // (c) GeNeura Team 1998
-00004 //-----------------------------------------------------------------------------
-00005 
-00006 #include <time.h>    // time
-00007 #include <stdlib.h>  // srand, rand
-00008 #include <iostream>  // std::cout
-00009 
-00010 #include <eoScalarFitness.h>
-00011 
-00012 using namespace std;
-00013 
-00014 //-----------------------------------------------------------------------------
-00015 
-00016 template <class Fitness>
-00017 int test_fitness(Fitness a, Fitness b)
-00018 {
-00019 //  srand(time(0));
-00020 
-00021 //  Fitness a = aval; //static_cast<double>(rand()) / RAND_MAX; 
-00022 //  Fitness b = bval; //static_cast<double>(rand()) / RAND_MAX;
-00023 
-00024   std::cout.precision(2);
-00025   
-00026   unsigned repeat = 2;
-00027   while (repeat--)
-00028     {
-00029       std::cout << "------------------------------------------------------" << std::endl;
-00030       std::cout << "testing <    ";
-00031       if (a < b)
-00032         std::cout << a << " < " << b << "  is true" << std::endl;
-00033       else
-00034         std::cout << a << " < " << b << "  is false" <<std::endl;
-00035       
-00036       std::cout << "testing >    ";
-00037       if (a > b)
-00038         std::cout << a << " > " << b << "  is true" << std::endl;
-00039       else
-00040         std::cout << a << " > " << b << "  is false" <<std::endl;
-00041       
-00042       std::cout << "testing ==   ";
-00043       if (a == b)
-00044         std::cout << a << " == " << b << " is true" << std::endl;
-00045       else
-00046         std::cout << a << " == " << b << " is false" <<std::endl;
-00047       
-00048       std::cout << "testing !=   ";
-00049       if (a != b)
-00050         std::cout << a << " != " << b << " is true" << std::endl;
-00051       else
-00052         std::cout << a << " != " << b << " is false" <<std::endl;
-00053       
-00054       a = b;
-00055     }
-00056   return 1;
-00057 }
-00058 
-00059 int main()
-00060 {
-00061     std::cout << "Testing minimizing fitness with 1 and 2" << std::endl;
-00062     std::cout << "------------------------------------------------------" << std::endl;
-00063 
-00064     eoMinimizingFitness a = 1;
-00065     eoMinimizingFitness b = 2;
-00066 
-00067     test_fitness(a, b);
-00068 
-00069     std::cout << "Testing minimizing fitness with 2 and 1" << std::endl;
-00070     std::cout << "------------------------------------------------------" << std::endl;
-00071 
-00072     test_fitness(b, a);
-00073 
-00074     std::cout << "Testing maximizing fitness with 1 and 2" << std::endl;
-00075     std::cout << "------------------------------------------------------" << std::endl;
-00076     
-00077     eoMaximizingFitness a1 = 1;
-00078     eoMaximizingFitness b1 = 2;
-00079 
-00080     test_fitness(a1,b1);
-00081     
-00082     std::cout << "Testing maximizing fitness with 2 and 1" << std::endl;
-00083     std::cout << "------------------------------------------------------" << std::endl;
-00084     
-00085     test_fitness(b1,a1);
-00086 
-00087 }
-00088 
-00089 //-----------------------------------------------------------------------------
-00090 
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eogeneration_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eogeneration_8cpp-source.html deleted file mode 100644 index d615e566d..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eogeneration_8cpp-source.html +++ /dev/null @@ -1,160 +0,0 @@ - - -EO: t-eogeneration.cpp Source File - - - - - -

t-eogeneration.cpp

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003     t-eogeneration.cpp
-00004       Testing the eoGeneration classes, and classes related to it
-00005 
-00006     (c) GeNeura Team, 1999, 2000
-00007  
-00008     This program is free software; you can redistribute it and/or modify
-00009     it under the terms of the GNU General Public License as published by
-00010     the Free Software Foundation; either version 2 of the License, or
-00011     (at your option) any later version.
-00012 
-00013     This program is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00016     GNU General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU General Public License
-00019     along with this program; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021  
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023             
-00024 */
-00025 
-00026 //-----------------------------------------------------------------------------// 
-00027 
-00028 
-00029 // to avoid long name warnings
-00030 #ifdef _MSC_VER
-00031 #pragma warning(disable:4786)
-00032 #endif 
-00033 
-00034 #include <eoGeneration.h>
-00035 #include <eoEvalFuncPtrCnt.h>
-00036 
-00037 #include "binary_value.h"
-00038 
-00039 //-----------------------------------------------------------------------------
-00040 
-00041 typedef eoBin<float> Chrom;
-00042 
-00043 //-----------------------------------------------------------------------------
-00044 
-00045 main()
-00046 {
-00047   const unsigned POP_SIZE = 8, CHROM_SIZE = 16;
-00048   unsigned i;
-00049 
-00050   eoBinRandom<Chrom> random;
-00051   eoPop<Chrom> pop; 
-00052 
-00053   // Evaluation
-00054   eoEvalFuncPtr<Chrom> eval( binary_value );
-00055 
-00056   for (i = 0; i < POP_SIZE; ++i)
-00057     {
-00058       Chrom chrom(CHROM_SIZE);
-00059       random(chrom);
-00060       eval(chrom);
-00061       pop.push_back(chrom);
-00062     }
-00063   
-00064   std::cout << "population:" << std::endl;
-00065   for (i = 0; i < pop.size(); ++i)
-00066     std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl;
-00067 
-00068   
-00069   // selection
-00070   eoLottery<Chrom> lottery;
-00071 
-00072   // breeder
-00073   eoBinBitFlip<Chrom> bitflip;
-00074   eoBinCrossover<Chrom> xover;
-00075   eoProportionalOpSel<Chrom> propSel;
-00076   eoBreeder<Chrom> breeder( propSel );
-00077   propSel.addOp(bitflip, 0.25);
-00078   propSel.addOp(xover, 0.75);
-00079   
-00080   // replacement
-00081   eoInclusion<Chrom> inclusion;
-00082 
-00083   
-00084 
-00085   // GA generation
-00086   eoGeneration<Chrom> generation(lottery, breeder, inclusion, eval);
-00087 
-00088   // evolution
-00089   unsigned g = 0;
-00090   do {
-00091     try
-00092       {
-00093         generation(pop);
-00094       }
-00095     catch (std::exception& e)
-00096       {
-00097         std::cout << "exception: " << e.what() << std::endl;;
-00098         exit(EXIT_FAILURE);
-00099       }
-00100     
-00101     std::cout << "pop[" << ++g << "]" << std::endl;
-00102     for (i = 0; i < pop.size(); ++i)
-00103       std::cout << "\t" <<  pop[i] << " " << pop[i].fitness() << std::endl;
-00104     
-00105   } while (pop[0].fitness() < pow(2.0, CHROM_SIZE) - 1);
-00106 
-00107   // Try again, with a "counted" evaluation function
-00108   // GA generation
-00109   // Evaluation
-00110   eoEvalFuncPtrCnt<Chrom> eval2( binary_value );
-00111   eoPop<Chrom> pop2; 
-00112   
-00113   for (i = 0; i < POP_SIZE; ++i)
-00114     {
-00115       Chrom chrom(CHROM_SIZE);
-00116       random(chrom);
-00117       binary_value(chrom);
-00118       eval2(chrom);
-00119       pop2.push_back(chrom);
-00120     }
-00121   eoGeneration<Chrom> generation2(lottery, breeder, inclusion, eval2);
-00122   
-00123   // evolution
-00124   do {
-00125     try
-00126       {
-00127         generation2(pop2);
-00128       }
-00129     catch (std::exception& e)
-00130       {
-00131         std::cout << "exception: " << e.what() << std::endl;;
-00132         exit(EXIT_FAILURE);
-00133       }
-00134     
-00135     std::cout << "pop[" << ++g << "]" << std::endl;
-00136     for (i = 0; i < pop2.size(); ++i)
-00137       std::cout << "\t" <<  pop2[i] << " " << pop[i].fitness() << std::endl;
-00138     
-00139   } while (pop2[0].fitness() < pow(2.0, CHROM_SIZE) - 1);
-00140 
-00141   std::cout << "Number of evaluations " << eval2.getNumOfEvaluations() << std::endl;
-00142   return 0;
-00143 }
-00144 
-00145 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eoinclusion_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eoinclusion_8cpp-source.html deleted file mode 100644 index 50d41d8e8..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eoinclusion_8cpp-source.html +++ /dev/null @@ -1,112 +0,0 @@ - - -EO: t-eoinclusion.cpp Source File - - - - - -

t-eoinclusion.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eoinclusion.cpp
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #include <ga/eoBin.h>
-00006 #include <eoPop.h>
-00007 #include <eoInclusion.h>
-00008 
-00009 //-----------------------------------------------------------------------------
-00010 
-00011 typedef eoBin<float> Chrom;
-00012 
-00013 #include "binary_value.h"
-00014 
-00015 //-----------------------------------------------------------------------------
-00016 
-00017 main()
-00018 {
-00019   const unsigned CHROM_SIZE = 4;
-00020 
-00021   eoBinRandom<Chrom> random;
-00022   BinaryValue eval;
-00023 
-00024   for (unsigned POP_SIZE = 4; POP_SIZE <=6; POP_SIZE++)
-00025     {
-00026       eoPop<Chrom> pop; 
-00027       unsigned i;
-00028       for ( i = 0; i < POP_SIZE; i++)
-00029             {
-00030               Chrom chrom(CHROM_SIZE);
-00031               random(chrom);
-00032               eval(chrom);
-00033               pop.push_back(chrom);
-00034             }
-00035       
-00036       for (unsigned POP2_SIZE = 4; POP2_SIZE <=6; POP2_SIZE++)
-00037         {
-00038           eoPop<Chrom> pop2, pop3, pop4, pop5;
-00039                 
-00040           for (i = 0; i < POP2_SIZE; i++)
-00041             {
-00042               Chrom chrom(CHROM_SIZE);
-00043               random(chrom);
-00044               eval(chrom);
-00045               pop2.push_back(chrom);
-00046             }
-00047         
-00048           std::cout << "--------------------------------------------------" << std::endl
-00049                << "breeders \tpop" << std::endl
-00050                << "--------------------------------------------------" << std::endl;
-00051           for (i = 0; i < max(pop.size(), pop2.size()); i++)
-00052             {     
-00053               if (pop.size() > i) 
-00054                 std::cout << pop[i] << " " << pop[i].fitness() << "   \t";
-00055               else
-00056                 std::cout << "\t\t";
-00057               if (pop2.size() > i)
-00058                 std::cout << pop2[i] << " " << pop2[i].fitness();
-00059               std::cout << std::endl;
-00060             }
-00061         
-00062           eoInclusion<Chrom> inclusion(0.75);
-00063           pop3 = pop2;
-00064           inclusion(pop, pop3); 
-00065           
-00066           eoInclusion<Chrom> inclusion2; 
-00067           pop4 = pop2;
-00068           inclusion2(pop, pop4); 
-00069           
-00070           eoInclusion<Chrom> inclusion3(1.5);
-00071           pop5 = pop2;
-00072           inclusion3(pop, pop5); 
-00073           
-00074           std::cout << std::endl
-00075                << "0.75 \t\t1.0 \t\t1.5" << std::endl
-00076                << "---- \t\t--- \t\t---" << std::endl;
-00077           for (i = 0; i < pop5.size(); i++)
-00078             {
-00079               if (pop3.size() > i)
-00080                 std::cout << pop3[i] << " " << pop3[i].fitness() << "   \t";
-00081               else
-00082                 std::cout << " \t\t";
-00083               if (pop4.size() > i)
-00084                 std::cout << pop4[i] << " " << pop4[i].fitness() << "   \t";
-00085               else
-00086                 std::cout << " \t\t";
-00087               if (pop5.size() > i)
-00088                 std::cout << pop5[i] << " " << pop5[i].fitness();
-00089               std::cout << std::endl;
-00090             }
-00091         }
-00092     }
-00093   
-00094   return 0;
-00095 }
-00096 
-00097 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eoinsertion_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eoinsertion_8cpp-source.html deleted file mode 100644 index f4a81c3ff..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eoinsertion_8cpp-source.html +++ /dev/null @@ -1,123 +0,0 @@ - - -EO: t-eoinsertion.cpp Source File - - - - - -

t-eoinsertion.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eoinsertion.cpp
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #include <eo>  // eoBin, eoPop, eoInsertion
-00006 
-00007 //-----------------------------------------------------------------------------
-00008 
-00009 typedef eoBin<float> Chrom;
-00010 
-00011 //-----------------------------------------------------------------------------
-00012 
-00013 void binary_value(Chrom& chrom)
-00014 {
-00015   float sum = 0;
-00016   for (unsigned i = 0; i < chrom.size(); i++)
-00017     if (chrom[i])
-00018       sum += pow(2, chrom.size() - i - 1);
-00019   chrom.fitness(sum);
-00020 }
-00021 
-00022 //-----------------------------------------------------------------------------
-00023 
-00024 main()
-00025 {
-00026   const unsigned CHROM_SIZE = 4;
-00027   unsigned i;
-00028  
-00029   eoBinRandom<Chrom> random;
-00030 
-00031   for (unsigned POP_SIZE = 4; POP_SIZE <=6; POP_SIZE++)
-00032     {
-00033       eoPop<Chrom> pop; 
-00034       
-00035       for (i = 0; i < POP_SIZE; i++)
-00036             {
-00037               Chrom chrom(CHROM_SIZE);
-00038               random(chrom);
-00039               binary_value(chrom);
-00040               pop.push_back(chrom);
-00041             }
-00042       
-00043       for (unsigned POP2_SIZE = 4; POP2_SIZE <=6; POP2_SIZE++)
-00044         {
-00045           eoPop<Chrom> pop2, pop3, pop4, pop5, popx;
-00046                 
-00047           for (i = 0; i < POP2_SIZE; i++)
-00048             {
-00049               Chrom chrom(CHROM_SIZE);
-00050               random(chrom);
-00051               binary_value(chrom);
-00052               pop2.push_back(chrom);
-00053             }
-00054         
-00055           std::cout << "--------------------------------------------------" << std::endl
-00056                << "breeders \tpop" << std::endl
-00057                << "--------------------------------------------------" << std::endl;
-00058           for (i = 0; i < max(pop.size(), pop2.size()); i++)
-00059             {     
-00060               if (pop.size() > i) 
-00061                 std::cout << pop[i] << " " << pop[i].fitness() << "   \t";
-00062               else
-00063                 std::cout << "\t\t";
-00064               if (pop2.size() > i)
-00065                 std::cout << pop2[i] << " " << pop2[i].fitness();
-00066               std::cout << std::endl;
-00067             }
-00068         
-00069           eoInsertion<Chrom> insertion(0.75);
-00070           popx = pop;
-00071           pop3 = pop2;
-00072           insertion(popx, pop3);
-00073           
-00074           eoInsertion<Chrom> insertion2;
-00075           popx = pop; 
-00076           pop4 = pop2;
-00077           insertion2(popx, pop4); 
-00078           
-00079           eoInsertion<Chrom> insertion3(1.5);
-00080           popx = pop;
-00081           pop5 = pop2;
-00082           insertion3(popx, pop5); 
-00083           
-00084           std::cout << std::endl
-00085                << "0.75 \t\t1.0 \t\t1.5" << std::endl
-00086                << "---- \t\t--- \t\t---" << std::endl;
-00087           for (i = 0; i < pop5.size(); i++)
-00088             {
-00089               if (pop3.size() > i)
-00090                 std::cout << pop3[i] << " " << pop3[i].fitness() << "   \t";
-00091               else
-00092                 std::cout << " \t\t";
-00093               if (pop4.size() > i)
-00094                 std::cout << pop4[i] << " " << pop4[i].fitness() << "   \t";
-00095               else
-00096                 std::cout << " \t\t";
-00097               if (pop5.size() > i)
-00098                 std::cout << pop5[i] << " " << pop5[i].fitness();
-00099               std::cout << std::endl;
-00100             }
-00101         }
-00102     }
-00103   
-00104   return 0;
-00105 }
-00106 
-00107 //-----------------------------------------------------------------------------
-00108 
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eolottery_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eolottery_8cpp-source.html deleted file mode 100644 index f738d45b7..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eolottery_8cpp-source.html +++ /dev/null @@ -1,69 +0,0 @@ - - -EO: t-eolottery.cpp Source File - - - - - -

t-eolottery.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eolottery.cpp
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #include <eo>  // eoBin, eoPop, eoLottery
-00006 
-00007 //-----------------------------------------------------------------------------
-00008 
-00009 typedef eoBin<float> Chrom;
-00010 
-00011 void binary_value(Chrom& chrom)
-00012 {
-00013   float sum = 0; 
-00014   for (unsigned i = 0; i < chrom.size(); i++)
-00015     if (chrom[i])
-00016       sum += pow(2, i);
-00017   chrom.fitness(sum);
-00018 }
-00019 
-00020 //-----------------------------------------------------------------------------
-00021 
-00022 main()
-00023 {
-00024   const unsigned POP_SIZE = 8, CHROM_SIZE = 4;
-00025 
-00026   eoPop<Chrom> pop, pop2;
-00027   eoBinRandom<Chrom> random;
-00028   unsigned i;
-00029 
-00030   for (i = 0; i < POP_SIZE; i++)
-00031     {
-00032       Chrom chrom(CHROM_SIZE);
-00033       random(chrom);
-00034       binary_value(chrom);
-00035       pop.push_back(chrom);
-00036     }
-00037   
-00038   std::cout << "original population:" << std::endl;
-00039   sort(pop.begin(), pop.end());
-00040   for (i = 0; i < pop.size(); i++)
-00041     std::cout << pop[i] << "  " << pop[i].fitness() << std::endl;
-00042   
-00043   eoLottery<Chrom> lottery;
-00044   lottery(pop, pop2); 
-00045 
-00046   std::cout << "selected by lottery population:" << std::endl;
-00047   sort(pop2.begin(), pop2.end());
-00048   for (i = 0; i < pop2.size(); i++)
-00049     std::cout << pop2[i] << "  " << pop2[i].fitness() << std::endl;
-00050 
-00051   return 0;
-00052 }
-00053 
-00054 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-eoproblem_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-eoproblem_8cpp-source.html deleted file mode 100644 index 38db876b7..000000000 --- a/trunk/paradiseo-eo/doc/html/t-eoproblem_8cpp-source.html +++ /dev/null @@ -1,70 +0,0 @@ - - -EO: t-eoproblem.cpp Source File - - - - - -

t-eoproblem.cpp

00001 //-----------------------------------------------------------------------------
-00002 // t-eoproblem.cpp
-00003 // (c) GeNeura Team 1998
-00004 //-----------------------------------------------------------------------------
-00005 
-00006 #include <time.h>    // time
-00007 #include <math.h>    // fabs
-00008 #include <iostream>  // std::cout
-00009 #include <eo>        // eoVector, eoProblem
-00010 
-00011 //-----------------------------------------------------------------------------
-00012 
-00013 typedef eoVector<float, float> Chrom;
-00014 
-00015 //-----------------------------------------------------------------------------
-00016 
-00017 std::ostream& operator<<(std::ostream& os, const Chrom& chrom)
-00018 {
-00019   copy(chrom.begin(), chrom.end(), std::ostream_iterator<int>(os));
-00020   return os;
-00021 }
-00022 
-00023 //-----------------------------------------------------------------------------
-00024 
-00025 class Easy//: public eoProblem<Chrom>
-00026 {
-00027 public:
-00028   static const unsigned size;
-00029   
-00030   float operator()(const Chrom& chrom)
-00031     {
-00032       return 1.0 / (fabs(chrom[0]) + 1.0);
-00033     }
-00034 };
-00035 const unsigned Easy::size = 1;
-00036 
-00037 //-----------------------------------------------------------------------------
-00038 
-00039 int main()
-00040 {
-00041   Easy easy;
-00042   Chrom chrom(Easy::size);
-00043   
-00044   srand(time(0));
-00045   
-00046   chrom[0] = ((float)rand()) / ((float)RAND_MAX);
-00047   chrom.fitness(easy(chrom));
-00048   
-00049   std::cout << "chrom = " << chrom << std::endl
-00050        << "chrom.fitness() = " << chrom.fitness() << std::endl;
-00051 
-00052   return 0;
-00053 }
-00054 
-00055 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:43 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/t-select_one_8cpp-source.html b/trunk/paradiseo-eo/doc/html/t-select_one_8cpp-source.html deleted file mode 100644 index d84fba19a..000000000 --- a/trunk/paradiseo-eo/doc/html/t-select_one_8cpp-source.html +++ /dev/null @@ -1,103 +0,0 @@ - - -EO: t-selectOne.cpp Source File - - - - - -

t-selectOne.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 // t-selectOne.cpp
-00005 //   This program test the breeder object
-00006 // (c) GeNeura Team, 1998 
-00007 /* 
-00008     This program is free software; you can redistribute it and/or modify
-00009     it under the terms of the GNU General Public License as published by
-00010     the Free Software Foundation; either version 2 of the License, or
-00011     (at your option) any later version.
-00012 
-00013     This program is distributed in the hope that it will be useful,
-00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00016     GNU General Public License for more details.
-00017 
-00018     You should have received a copy of the GNU General Public License
-00019     along with this program; if not, write to the Free Software
-00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00021 
-00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-00023             
-00024 */
-00025 //-----------------------------------------------------------------------------
-00026 
-00027 #ifndef __GNUG__
-00028 // to avoid long name warnings
-00029 #pragma warning(disable:4786)
-00030 #endif // __GNUG__
-00031 
-00032 #include <ga/eoBin.h>  // eoBin, eoPop, eoBreeder
-00033 #include <eoPop.h>
-00034 #include <ga/eoBitOp.h>
-00035 
-00036 #include <eoUniformSelect.h>
-00037 #include <eoStochTournament.h>
-00038 #include <eoDetTournament.h>
-00039 
-00040 
-00041 //-----------------------------------------------------------------------------
-00042 
-00043 typedef eoBin<float> Chrom;
-00044 
-00045 #include "binary_value.h"
-00046 
-00047 //-----------------------------------------------------------------------------
-00048 
-00049 main()
-00050 {
-00051   const unsigned POP_SIZE = 8, CHROM_SIZE = 4;
-00052   unsigned i;
-00053 
-00054   eoBinRandom<Chrom> random;
-00055   eoPop<Chrom> pop; 
-00056 
-00057   // Create the population
-00058   for (i = 0; i < POP_SIZE; ++i) {
-00059     Chrom chrom(CHROM_SIZE);
-00060     random(chrom);
-00061     BinaryValue()(chrom);
-00062     pop.push_back(chrom);
-00063   }
-00064   
-00065   // print population
-00066   std::cout << "population:" << std::endl;
-00067   for (i = 0; i < pop.size(); ++i)
-00068     std::cout << pop[i] << " " << pop[i].fitness() << std::endl;
-00069 
-00070   // Declare 1-selectors
-00071   eoUniformSelect<Chrom> uSelect;
-00072 
-00073   Chrom aChrom;
-00074   aChrom = uSelect( pop );
-00075   std::cout << "Uniform Select " << aChrom << " " << aChrom.fitness() << std::endl;
-00076 
-00077   eoStochTournament<Chrom> sSelect(0.7);
-00078   aChrom = sSelect( pop );
-00079   std::cout << "Stochastic Tournament " << aChrom << " " << aChrom.fitness() << std::endl;
-00080 
-00081   eoDetTournament<Chrom> dSelect(3);
-00082   aChrom = dSelect( pop );
-00083   std::cout << "Deterministic Tournament " << aChrom << " " << aChrom.fitness() << std::endl;
-00084 
-00085   return 0;
-00086 }
-00087 
-00088 //-----------------------------------------------------------------------------
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/test_2binary__value_8h-source.html b/trunk/paradiseo-eo/doc/html/test_2binary__value_8h-source.html deleted file mode 100644 index 07070991d..000000000 --- a/trunk/paradiseo-eo/doc/html/test_2binary__value_8h-source.html +++ /dev/null @@ -1,26 +0,0 @@ - - -EO: binary_value.h Source File - - - - - -

test/binary_value.h

00001 #include <algorithm>
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 
-00010 template <class Chrom> double binary_value(const Chrom& _chrom)
-00011 {
-00012     double sum = 0.0;
-00013     for (unsigned i=0; i<_chrom.size(); i++)
-00014         sum += _chrom[i];
-00015     return sum;
-00016 }
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/test_2real__value_8h-source.html b/trunk/paradiseo-eo/doc/html/test_2real__value_8h-source.html deleted file mode 100644 index 955f538c0..000000000 --- a/trunk/paradiseo-eo/doc/html/test_2real__value_8h-source.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: real_value.h Source File - - - - - -

test/real_value.h

00001 #include <vector>
-00002 //-----------------------------------------------------------------------------
-00003 
-00004 
-00010 double real_value(const std::vector<double>& _ind)
-00011 {
-00012   double sum = 0;
-00013   for (unsigned i = 0; i < _ind.size(); i++)
-00014       sum += _ind[i] * _ind[i];
-00015   return sum/_ind.size();
-00016 }
-00017 
-00018 
-00019 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/test__compile_8cpp-source.html b/trunk/paradiseo-eo/doc/html/test__compile_8cpp-source.html deleted file mode 100644 index 62990dfd4..000000000 --- a/trunk/paradiseo-eo/doc/html/test__compile_8cpp-source.html +++ /dev/null @@ -1,200 +0,0 @@ - - -EO: test_compile.cpp Source File - - - - - -

test_compile.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include <utils/eoRNG.h>
-00019 
-00020 #include <FunDef.h>
-00021 #include <sym_compile.h>
-00022 
-00023 #include <Dataset.h>
-00024 #include <ErrorMeasure.h>
-00025 #include <LanguageTable.h>
-00026 #include <BoundsCheck.h>
-00027 #include <TreeBuilder.h>
-00028 
-00029 #include <iostream>
-00030 
-00031 using namespace std;
-00032 
-00033 void test_xover();
-00034 
-00035 int main() {
-00036     Dataset dataset;
-00037     dataset.load_data("test_data.txt");
-00038     
-00039     cout << "Records/Fields " << dataset.n_records() << ' ' << dataset.n_fields() << endl;
-00040    
-00041     LanguageTable table;
-00042     table.add_function(sum_token, 2);
-00043     table.add_function(prod_token, 2);
-00044     table.add_function(sum_token, 0);
-00045     table.add_function(prod_token, 0);
-00046     table.add_function(inv_token, 1);
-00047     table.add_function(min_token, 1);
-00048    
-00049     for (unsigned i = 0; i < dataset.n_fields(); ++i) {
-00050         table.add_function( SymVar(i).token(), 0);
-00051     }
-00052     
-00053     TreeBuilder builder(table);
-00054     
-00055     IntervalBoundsCheck bounds(dataset.input_minima(), dataset.input_maxima() );
-00056     ErrorMeasure measure(dataset, 1.0);
-00057     
-00058     
-00059     unsigned n = 1000;
-00060     unsigned k = 0;
-00061     
-00062     vector<Sym> pop;
-00063     double sumsize = 0; 
-00064     for (unsigned i = 0; i < n; ++i) {
-00065 
-00066         Sym sym = builder.build_tree(6, i%2);
-00067         pop.push_back(sym);
-00068         sumsize += sym.size();
-00069     }
-00070    
-00071     cout << "Size " << sumsize/pop.size() << endl;
-00072     
-00073     // shuffle
-00074     for (unsigned gen = 0; gen < 10; ++gen) {
-00075         random_shuffle(pop.begin(), pop.end());
-00076         for (unsigned i = 0; i < pop.size(); i+=2) {
-00077             
-00078             unsigned p1 = rng.random(pop[i].size());
-00079             unsigned p2 = rng.random(pop[i+1].size());
-00080 
-00081             Sym a = insert_subtree(pop[i], p1, get_subtree(pop[i+1], p2));
-00082             Sym b = insert_subtree(pop[i+1], p2, get_subtree(pop[i], p1));
-00083 
-00084             pop[i] = a;
-00085             pop[i+1] = b;
-00086             
-00087         }
-00088         cout << gen << ' ' << Sym::get_dag().size() << endl;
-00089     }
-00090 
-00091     vector<Sym> oldpop;
-00092     swap(pop,oldpop);
-00093     for (unsigned i = 0; i < oldpop.size(); ++i) {
-00094         Sym sym = oldpop[i];
-00095         if (!bounds.in_bounds(sym)) {
-00096             k++;
-00097             continue;
-00098         }
-00099         pop.push_back(sym);
-00100     }
-00101     
-00102     cout << "Done" << endl;
-00103     
-00104     // full compilation
-00105     
-00106     time_t start_time = time(0);
-00107     time_t compile_time; 
-00108     {
-00109         multi_function f = compile(pop);
-00110         compile_time = time(0);
-00111         vector<double> out(pop.size());
-00112         
-00113         for (unsigned j = 0; j < dataset.n_records(); ++j) {
-00114             f(&dataset.get_inputs(j)[0], &out[0]);
-00115         }
-00116     }
-00117 
-00118     time_t end_time = time(0);
-00119 
-00120     cout << "Evaluated " << n-k << " syms in " << end_time - start_time << " seconds, compile took " << compile_time - start_time << " seconds" << endl;
-00121     
-00122     start_time = time(0);
-00123     vector<single_function> funcs;
-00124     compile(pop, funcs);
-00125     compile_time = time(0);
-00126     for (unsigned i = 0; i < pop.size(); ++i) {
-00127         
-00128         single_function f = funcs[i];
-00129         for (unsigned j = 0; j < dataset.n_records(); ++j) {
-00130             f(&dataset.get_inputs(j)[0]);
-00131         }
-00132         
-00133     }
-00134      
-00135     end_time = time(0);
-00136     
-00137     cout << "Evaluated " << n-k << " syms in " << end_time - start_time << " seconds, compile took " << compile_time - start_time << " seconds" << endl;
-00138     return 0; // skip the 'slow' one-by-one method
-00139     start_time = time(0);
-00140     for (unsigned i = 0; i < pop.size(); ++i) {
-00141         
-00142         single_function f = compile(pop[i]);
-00143         for (unsigned j = 0; j < dataset.n_records(); ++j) {
-00144             f(&dataset.get_inputs(j)[0]);
-00145         }
-00146         
-00147     }
-00148      
-00149     end_time = time(0);
-00150     
-00151     cout << "Evaluated " << n-k << " syms in " << end_time - start_time << " seconds" << endl;
-00152     
-00153 }
-00154 
-00155 void test_xover() {
-00156     Sym c = SymVar(0);
-00157     Sym x = c + c * c + c;
-00158     
-00159     cout << c << endl;
-00160     cout << x << endl;
-00161     
-00162     vector<Sym> pop;
-00163     for (unsigned i = 0; i < x.size(); ++i) {
-00164         for (unsigned j = 0; j < x.size(); ++j) {
-00165 
-00166             Sym s = insert_subtree(x, i, get_subtree(x, j));
-00167             pop.push_back(s);
-00168             cout << i << ' ' << j << ' ' << s << endl;
-00169         }
-00170     }
-00171 
-00172     x = Sym();
-00173     c = Sym();
-00174 
-00175     SymMap& dag = Sym::get_dag();
-00176 
-00177     for (SymMap::iterator it = dag.begin(); it != dag.end(); ++it) {
-00178         Sym s(it);
-00179         cout << s << ' ' << s.refcount() << endl;
-00180     }
-00181     
-00182             
-00183     
-00184 }
-00185 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/test__diff_8cpp-source.html b/trunk/paradiseo-eo/doc/html/test__diff_8cpp-source.html deleted file mode 100644 index 8c369a941..000000000 --- a/trunk/paradiseo-eo/doc/html/test__diff_8cpp-source.html +++ /dev/null @@ -1,32 +0,0 @@ - - -EO: test_diff.cpp Source File - - - - - -

test_diff.cpp

00001 #include <Sym.h>
-00002 #include <FunDef.h>
-00003 #include <iostream>
-00004 
-00005 using namespace std;
-00006 
-00007 int main() {
-00008     
-00009     Sym v = SymConst(1.2);
-00010 
-00011     Sym g = exp(-sqr(v));
-00012 
-00013     cout << g << endl;
-00014     cout << differentiate(g, v.token()) << endl;
-00015     
-00016 }
-00017 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/test__lambda_8cpp-source.html b/trunk/paradiseo-eo/doc/html/test__lambda_8cpp-source.html deleted file mode 100644 index 4db583964..000000000 --- a/trunk/paradiseo-eo/doc/html/test__lambda_8cpp-source.html +++ /dev/null @@ -1,49 +0,0 @@ - - -EO: test_lambda.cpp Source File - - - - - -

test_lambda.cpp

00001 #include <FunDef.h>
-00002 
-00003 using namespace std;
-00004 
-00005 int main() {
-00006 
-00007     Sym x = SymVar(0);
-00008     Sym y = SymVar(1);
-00009 
-00010     Sym f = y + x*x;
-00011 
-00012     Sym l = SymLambda(f);
-00013     
-00014     SymVec args = l.args();
-00015     args[0] = x;
-00016     args[1] = y;
-00017     l = Sym(l.token(), args);
-00018     
-00019     vector<double> v(3);
-00020     v[0] = 2.0;
-00021     v[1] = 3.0;
-00022     v[2] = 4.0;
-00023 
-00024     double v1 = eval(f,v);
-00025     double v2 = eval(l,v);
-00026 
-00027     cout << v1 << ' ' << v2 << endl;
-00028     cout << f << endl;
-00029     cout << l << endl;
-00030 
-00031     if (v1 != 7.0) return 1;
-00032     if (v2 != 11.0) return 1;
-00033 }
-00034 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/test__mf_8cpp-source.html b/trunk/paradiseo-eo/doc/html/test__mf_8cpp-source.html deleted file mode 100644 index f3e056921..000000000 --- a/trunk/paradiseo-eo/doc/html/test__mf_8cpp-source.html +++ /dev/null @@ -1,60 +0,0 @@ - - -EO: test_mf.cpp Source File - - - - - -

test_mf.cpp

00001 
-00002 #include "Sym.h"
-00003 #include "MultiFunction.h"
-00004 #include "FunDef.h"
-00005 
-00006 using namespace std;
-00007 
-00008 int main() {
-00009 
-00010     Sym v = SymVar(0);
-00011     Sym c = SymConst(0.1);
-00012 
-00013     Sym sym = inv(v) + c;
-00014     Sym a = sym;
-00015     
-00016     sym = sym * sym;
-00017     Sym b = sym;
-00018     sym = sym + sym;
-00019     
-00020     c = sym;
-00021     
-00022     vector<Sym> pop;
-00023     pop.push_back(sym);
-00024 
-00025     MultiFunction m(pop);
-00026 
-00027 
-00028     vector<double> vec(1);
-00029     vec[0] = 10.0;
-00030     cout << sym << endl;
-00031 
-00032     cout << "Eval " << eval(sym, vec);
-00033     
-00034     vector<double> y(1);
-00035 
-00036     m(vec,y);
-00037 
-00038     cout << " " << y[0] << endl;
-00039     
-00040     cout << "3 " << eval(a,vec) << endl;
-00041     cout << "4 " << eval(b, vec) << endl;
-00042     cout << "5 " << eval(c, vec) << endl;
-00043     
-00044 }
-00045 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/test__simplify_8cpp-source.html b/trunk/paradiseo-eo/doc/html/test__simplify_8cpp-source.html deleted file mode 100644 index 9e6049935..000000000 --- a/trunk/paradiseo-eo/doc/html/test__simplify_8cpp-source.html +++ /dev/null @@ -1,36 +0,0 @@ - - -EO: test_simplify.cpp Source File - - - - - -

test_simplify.cpp

00001 
-00002 #include <FunDef.h>
-00003 
-00004 using namespace std;
-00005 
-00006 int main() {
-00007     
-00008     Sym c1 = SymConst(0.4);
-00009     Sym c2 = SymConst(0.3);
-00010     Sym v1 = SymVar(0);
-00011 
-00012     Sym expr = (c1 + c2) * ( (c1 + c2) * v1);
-00013     
-00014     cout << expr << endl;
-00015     cout << simplify(expr) << endl;
-00016 
-00017     Sym dv = differentiate( exp(expr) , v1.token());
-00018     cout << dv << endl;
-00019     cout << simplify(dv) << endl;
-00020 }
-00021 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/testeo_8cpp-source.html b/trunk/paradiseo-eo/doc/html/testeo_8cpp-source.html deleted file mode 100644 index b5420ac0c..000000000 --- a/trunk/paradiseo-eo/doc/html/testeo_8cpp-source.html +++ /dev/null @@ -1,134 +0,0 @@ - - -EO: testeo.cpp Source File - - - - - -

testeo.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 
-00019 #include <LanguageTable.h>
-00020 #include <TreeBuilder.h>
-00021 #include <FunDef.h>
-00022 #include <Dataset.h>
-00023 
-00024 #include <eoSymInit.h>
-00025 #include <eoSym.h>
-00026 #include <eoPop.h>
-00027 #include <eoSymMutate.h>
-00028 #include <eoSymCrossover.h>
-00029 #include <eoSymEval.h>
-00030 
-00031 typedef EoSym<double> EoType;
-00032 
-00033 int main() {
-00034     
-00035     LanguageTable table;
-00036     table.add_function(sum_token, 2);
-00037     table.add_function(prod_token, 2);
-00038     table.add_function(inv_token, 1);
-00039     table.add_function(min_token, 1);
-00040     table.add_function( SymVar(0).token(), 0);
-00041     
-00042     table.add_function(tan_token, 1);
-00043     
-00044     table.add_function(sum_token, 0);
-00045     table.add_function(prod_token, 0);
-00046     
-00047     TreeBuilder builder(table);
-00048 
-00049     eoSymInit<EoType> init(builder);
-00050     
-00051     eoPop<EoType> pop(10, init);
-00052     
-00053     for (unsigned i = 0; i < pop.size(); ++i) {
-00054         // write out pretty printed
-00055         cout << (Sym) pop[i] << endl;   
-00056     }
-00057 
-00058     BiasedNodeSelector node_selector;
-00059     eoSymSubtreeMutate<EoType> mutate1(builder, node_selector);
-00060     eoSymNodeMutate<EoType> mutate2(table);
-00061     
-00062     cout << "****** MUTATION ************" << endl;
-00063 
-00064     for (unsigned i = 0; i < pop.size(); ++i) {
-00065         
-00066         cout << "Before  " << (Sym) pop[i] << endl;
-00067         mutate1(pop[i]);
-00068         cout << "After 1 " << (Sym) pop[i] << endl;
-00069         mutate2(pop[i]);
-00070         cout << "After 2 " << (Sym) pop[i] << endl;
-00071     }
-00072    
-00073     cout << "****** CROSSOVER ***********" << endl;
-00074     
-00075     eoQuadSubtreeCrossover<EoType> quad(node_selector);
-00076     eoBinSubtreeCrossover<EoType> bin(node_selector);
-00077     eoBinHomologousCrossover<EoType> hom;
-00078 
-00079     for (unsigned i = 0; i < pop.size()-1; ++i) {
-00080         cout << "Before    " << (Sym) pop[i] << endl;
-00081         cout << "Before    " << (Sym) pop[i+1] << endl;
-00082         
-00083         hom(pop[i], pop[i+1]);
-00084         
-00085         cout << "After hom  " << (Sym) pop[i] << endl;
-00086         cout << "After hom  " << (Sym) pop[i+1] << endl;
-00087         
-00088         
-00089         quad(pop[i], pop[i+1]);
-00090 
-00091         cout << "After quad " << (Sym) pop[i] << endl;
-00092         cout << "After quad " << (Sym) pop[i+1] << endl;
-00093         
-00094         bin(pop[i], pop[i+1]);
-00095         
-00096         cout << "After bin  " << (Sym) pop[i] << endl;
-00097         cout << "After bin  " << (Sym) pop[i+1] << endl;
-00098         
-00099         cout << endl;
-00100     }
-00101   
-00102     cout << "****** Evaluation **********" << endl;
-00103     
-00104     Dataset dataset;
-00105     dataset.load_data("test_data.txt");
-00106     IntervalBoundsCheck check(dataset.input_minima(), dataset.input_maxima());
-00107     ErrorMeasure measure(dataset, 0.90, ErrorMeasure::mean_squared_scaled);
-00108 
-00109     eoSymPopEval<EoType> evaluator(check, measure, 20000);
-00110     
-00111     eoPop<EoType> dummy;
-00112     evaluator(pop, dummy);
-00113 
-00114     for (unsigned i = 0; i < pop.size(); ++i) {
-00115         cout << pop[i] << endl;
-00116     }
-00117     
-00118 }
-00119 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/todo.html b/trunk/paradiseo-eo/doc/html/todo.html deleted file mode 100644 index 7691f4752..000000000 --- a/trunk/paradiseo-eo/doc/html/todo.html +++ /dev/null @@ -1,22 +0,0 @@ - - -EO: Todo List - - - - -

Todo List

-
Class eoDominanceMap< EoType >
-
make it an eoStat?
-
-

-

-
Member eoEsChromInit::create_self_adapt (eoEsStdev< FitT > &result)
-
Should we scale sigmas to the corresponding object variable range?
-
-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/token_8h-source.html b/trunk/paradiseo-eo/doc/html/token_8h-source.html deleted file mode 100644 index 468f04050..000000000 --- a/trunk/paradiseo-eo/doc/html/token_8h-source.html +++ /dev/null @@ -1,43 +0,0 @@ - - -EO: token.h Source File - - - - - -

token.h

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 #ifndef TOKEN_H
-00018 #define TOKEN_H
-00019 
-00020 
-00021 typedef unsigned token_t;
-00022 
-00023 struct functor_t {
-00024     token_t token;
-00025     unsigned arity;
-00026 };
-00027 
-00028 #endif
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/tree.html b/trunk/paradiseo-eo/doc/html/tree.html deleted file mode 100644 index fcff7f221..000000000 --- a/trunk/paradiseo-eo/doc/html/tree.html +++ /dev/null @@ -1,2495 +0,0 @@ - - - - - - - TreeView - - - - - -
-

EO

-
-

o*Welcome to Evolving Objects

-

o+File List

-
-

|o*abstract1.cpp

-

|o*algos.cpp

-

|o*apply.h

-

|o*test/binary_value.h

-

|o*tutorial/Lesson2/binary_value.h

-

|o*tutorial/Lesson3/binary_value.h

-

|o*tutorial/Lesson4/binary_value.h

-

|o*BitEA.cpp

-

|o*BoundsCheck.cpp

-

|o*BoundsCheck.h

-

|o*breeders.cpp

-

|o*CMAParams.cpp

-

|o*CMAParams.h

-

|o*CMAState.cpp

-

|o*CMAState.h

-

|o*compatibility.h

-

|o*continuators.cpp

-

|o*Dataset.cpp

-

|o*Dataset.h

-

|o*def_abstract_functor.h

-

|o*eig.cpp

-

|o*eig.h

-

|o*EO.h

-

|o*eoAged.h

-

|o*eoAlgo.h

-

|o*eoAssembledFitnessStat.h

-

|o*eoBit.h

-

|o*eoBitOp.h

-

|o*eoBitOpFactory.h

-

|o*eoBoolFlip.h

-

|o*eoBreed.h

-

|o*eoCellularEasyEA.h

-

|o*eoCheckPoint.h

-

|o*eoCloneOps.h

-

|o*eoCMABreed.h

-

|o*eoCMAInit.h

-

|o*eoCombinedContinue.h

-

|o*eoCombinedInit.h

-

|o*eoContinue.h

-

|o*eoCounter.h

-

|o*eoCtrlCContinue.cpp

-

|o*eoCtrlCContinue.h

-

|o*eoData.cpp

-

|o*eoData.h

-

|o*eoDetSelect.h

-

|o*eoDetTournamentSelect.h

-

|o*eoDistance.h

-

|o*eoDistribUpdater.h

-

|o*eoDistribution.h

-

|o*eoDominanceMap.h

-

|o*eoDrawable.h

-

|o*eoEasyEA.h

-

|o*eoEDA.h

-

|o*eoEsChromInit.h

-

|o*eoEsFull.h

-

|o*eoEsGlobalXover.h

-

|o*eoEsMutate.h

-

|o*eoEsMutationInit.h

-

|o*eoEsSimple.h

-

|o*eoEsStandardXover.h

-

|o*eoEsStdev.h

-

|o*eoEvalContinue.h

-

|o*eoEvalFunc.h

-

|o*eoEvalFuncCounter.h

-

|o*eoEvalFuncPtr.h

-

|o*eoExternalEO.h

-

|o*eoExternalOpFunctions.h

-

|o*eoFactory.h

-

|o*eoFDCStat.h

-

|o*eoFileMonitor.cpp

-

|o*eoFileMonitor.h

-

|o*eoFileSnapshot.h

-

|o*eoFitContinue.h

-

|o*eoFitnessScalingSelect.h

-

|o*eoFlOrBinOp.h

-

|o*eoFlOrMonOp.h

-

|o*eoFlOrQuadOp.h

-

|o*eoFunctor.h

-

|o*eoFunctorStore.cpp

-

|o*eoFunctorStore.h

-

|o*eoG3Replacement.h

-

|o*eoGenContinue.h

-

|o*eoGeneralBreeder.h

-

|o*eoGenOp.h

-

|o*eoGnuplot.cpp

-

|o*eoGnuplot.h

-

|o*eoGnuplot1DMonitor.cpp

-

|o*eoGnuplot1DMonitor.h

-

|o*eoGnuplot1DSnapshot.cpp

-

|o*eoGnuplot1DSnapshot.h

-

|o*eoHowMany.h

-

|o*eoInit.h

-

|o*eoInitVirus.h

-

|o*eoIntBounds.cpp

-

|o*eoIntBounds.h

-

|o*eoInvalidateOps.h

-

|o*eoLinearFitScaling.h

-

|o*eoMerge.h

-

|o*eoMergeReduce.h

-

|o*eoMGGReplacement.h

-

|o*eoMOFitnessStat.h

-

|o*eoMonitor.h

-

|o*eoNDSorting.h

-

|o*eoNormalMutation.h

-

|o*eoObject.h

-

|o*eoOneMax.h

-

|o*eoOneMaxEvalFunc.h

-

|o*eoOneMaxInit.h

-

|o*eoOneMaxMutation.h

-

|o*eoOneMaxQuadCrossover.h

-

|o*eoOneToOneBreeder.h

-

|o*eoOp.h

-

|o*eoOpContainer.h

-

|o*eoOpSelMason.h

-

|o*eoParam.h

-

|o*eoParetoConstraintFitness.h

-

|o*eoParetoFitness.cpp

-

|o*eoParetoFitness.h

-

|o*eoParetoRanking.h

-

|o*eoParser.cpp

-

|o*eoParser.h

-

|o*eoParseTree.h

-

|o*eoParseTreeDepthInit.h

-

|o*eoParseTreeOp.h

-

|o*eoPBILAdditive.h

-

|o*eoPBILDistrib.h

-

|o*eoPBILOrg.h

-

|o*eoPerf2Worth.h

-

|o*eoPeriodicContinue.h

-

|o*eoPersistent.cpp

-

|o*eoPersistent.h

-

|o*eoPop.h

-

|o*eoPopAlgo.h

-

|o*eoPopEvalFunc.h

-

|o*eoPopStat.h

-

|o*eoPopulator.h

-

|o*eoPrintable.cpp

-

|o*eoPrintable.h

-

|o*eoPropGAGenOp.h

-

|o*eoProportionalCombinedOp.h

-

|o*eoProportionalSelect.h

-

|o*eoRandomSelect.h

-

|o*eoRanking.h

-

|o*eoRankingSelect.h

-

|o*eoReal.h

-

|o*eoRealAtomXover.h

-

|o*eoRealBounds.cpp

-

|o*eoRealBounds.h

-

|o*eoRealInitBounded.h

-

|o*eoRealOp.h

-

|o*eoRealVectorBounds.h

-

|o*eoReduce.h

-

|o*eoReduceMerge.h

-

|o*eoReduceMergeReduce.h

-

|o*eoReduceSplit.h

-

|o*eoReplacement.h

-

|o*eoRndGenerators.h

-

|o*eoRNG.cpp

-

|o*eoRNG.h

-

|o*eoSBXcross.h

-

|o*eoScalarFitness.h

-

|o*eoScalarFitnessAssembled.cpp

-

|o*eoScalarFitnessAssembled.h

-

|o*eoScalarFitnessStat.h

-

|o*eoSelect.h

-

|o*eoSelectFactory.h

-

|o*eoSelectFromWorth.h

-

|o*eoSelectMany.h

-

|o*eoSelectNumber.h

-

|o*eoSelectOne.h

-

|o*eoSelectPerc.h

-

|o*eoSequentialSelect.h

-

|o*eoSGA.h

-

|o*eoSGAGenOp.h

-

|o*eoSGATransform.h

-

|o*eoSharing.h

-

|o*eoSharingSelect.h

-

|o*eoSimpleEDA.h

-

|o*eoStat.h

-

|o*eoState.cpp

-

|o*eoState.h

-

|o*eoStdoutMonitor.cpp

-

|o*eoStdoutMonitor.h

-

|o*eoSteadyFitContinue.h

-

|o*eoSTLFunctor.h

-

|o*eoStochasticUniversalSelect.h

-

|o*eoStochTournamentSelect.h

-

|o*eoStParseTreeDepthInit.h

-

|o*eoStParseTreeOp.h

-

|o*eoString.h

-

|o*eoSurviveAndDie.h

-

|o*eoSym.h

-

|o*eoSymCrossover.cpp

-

|o*eoSymCrossover.h

-

|o*eoSymEval.h

-

|o*eoSymInit.h

-

|o*eoSymLambdaMutate.cpp

-

|o*eoSymLambdaMutate.h

-

|o*eoSymMutate.cpp

-

|o*eoSymMutate.h

-

|o*eoTimeCounter.h

-

|o*eoTimedMonitor.h

-

|o*eoTransform.h

-

|o*eoTruncatedSelectMany.h

-

|o*eoTruncatedSelectOne.h

-

|o*eoTruncSelect.h

-

|o*eoUniformInit.h

-

|o*eoUpdatable.h

-

|o*eoUpdater.cpp

-

|o*eoUpdater.h

-

|o*eoVariableLengthCrossover.h

-

|o*eoVariableLengthMutation.h

-

|o*eoVector.h

-

|o*eoVirus.h

-

|o*ErrorMeasure.cpp

-

|o*ErrorMeasure.h

-

|o*es.h

-

|o*ESEA.cpp

-

|o*exercise1.3.cpp

-

|o*exercise2.3.cpp

-

|o*exercise3.1.cpp

-

|o*FirstBitEA.cpp

-

|o*FirstBitGA.cpp

-

|o*FirstRealEA.cpp

-

|o*FirstRealGA.cpp

-

|o*fitness.h

-

|o*fitness_traits.cpp

-

|o*FunDef.cpp

-

|o*FunDef.h

-

|o*ga.h

-

|o*geneticOps.cpp

-

|o*gprop.cpp

-

|o*gprop.h

-

|o*index.h

-

|o*Interval.h

-

|o*l2.h

-

|o*LanguageTable.cpp

-

|o*LanguageTable.h

-

|o*main.cpp

-

|o*make_algo_easea.h

-

|o*make_algo_pareto.h

-

|o*make_algo_scalar.h

-

|o*make_algo_scalar_es.cpp

-

|o*make_algo_scalar_ga.cpp

-

|o*make_algo_scalar_real.cpp

-

|o*make_checkpoint.h

-

|o*make_checkpoint_assembled.h

-

|o*make_checkpoint_es.cpp

-

|o*make_checkpoint_FDC.h

-

|o*make_checkpoint_ga.cpp

-

|o*make_checkpoint_pareto.h

-

|o*make_checkpoint_real.cpp

-

|o*make_continue.h

-

|o*make_continue_es.cpp

-

|o*make_continue_ga.cpp

-

|o*make_continue_pareto.h

-

|o*make_continue_real.cpp

-

|o*make_es.h

-

|o*make_ga.h

-

|o*make_general_replacement.h

-

|o*make_genotype_es.cpp

-

|o*make_genotype_ga.cpp

-

|o*make_genotype_ga.h

-

|o*make_genotype_MyStruct.h

-

|o*make_genotype_OneMax.h

-

|o*make_genotype_real.cpp

-

|o*make_genotype_real.h

-

|o*make_help.cpp

-

|o*make_MyStruct.cpp

-

|o*make_OneMax.cpp

-

|o*es/make_op.h

-

|o*ga/make_op.h

-

|o*make_op_es.cpp

-

|o*make_op_es.h

-

|o*make_op_ga.cpp

-

|o*make_op_MyStruct.h

-

|o*make_op_OneMax.h

-

|o*make_op_real.cpp

-

|o*make_op_real.h

-

|o*make_PBILdistrib.h

-

|o*make_PBILupdate.h

-

|o*make_pop.h

-

|o*make_pop_es.cpp

-

|o*make_pop_ga.cpp

-

|o*make_pop_real.cpp

-

|o*make_real.h

-

|o*make_run.h

-

|o*make_run_es.cpp

-

|o*make_run_ga.cpp

-

|o*make_run_real.cpp

-

|o*mastermind.cpp

-

|o*mastermind.h

-

|o*matrices.h

-

|o*mergers.cpp

-

|o*mlp.h

-

|o*monitors.cpp

-

|o*mse.h

-

|o*MultiFuncs.cpp

-

|o*MultiFunction.cpp

-

|o*MultiFunction.h

-

|o*MyStructEA.cpp

-

|o*MyStructLibEA.cpp

-

|o*MyStructSEA.cpp

-

|o*NEWS

-

|o*src/pyeo/NEWS

-

|o*node.h

-

|o*node_pool.h

-

|o*NodeSelector.cpp

-

|o*NodeSelector.h

-

|o*OneMaxEA.cpp

-

|o*OneMaxLibEA.cpp

-

|o*parameters.h

-

|o*parse_tree.h

-

|o*perf2worth.cpp

-

|o*pickle.h

-

|o*pipecom.cpp

-

|o*pipecom.h

-

|o*PyEO.cpp

-

|o*PyEO.h

-

|o*qp.h

-

|o*random_numbers.cpp

-

|o*contrib/mathsym/README

-

|o*README

-

|o*src/pyeo/README

-

|o*tutorial/README

-

|o*tutorial/Templates/README

-

|o*README.cpp

-

|o*test/real_value.h

-

|o*tutorial/Lesson2/real_value.h

-

|o*tutorial/Lesson3/real_value.h

-

|o*tutorial/Lesson4/real_value.h

-

|o*RealEA.cpp

-

|o*reduce.cpp

-

|o*replacement.cpp

-

|o*rnd_generators.h

-

|o*RoyalRoad.h

-

|o*Scaling.cpp

-

|o*Scaling.h

-

|o*SecondBitEA.cpp

-

|o*SecondRealEA.cpp

-

|o*selectOne.cpp

-

|o*selectors.cpp

-

|o*selectors.h

-

|o*shared_ptr.h

-

|o*statistics.cpp

-

|o*stats.h

-

|o*Sym.cpp

-

|o*Sym.h

-

|o*sym_compile.cpp

-

|o*sym_compile.h

-

|o*sym_operations.cpp

-

|o*SymImpl.cpp

-

|o*SymImpl.h

-

|o*SymOps.cpp

-

|o*SymOps.h

-

|o*symreg.cpp

-

|o*t-eo.cpp

-

|o*t-eoAtomOps.cpp

-

|o*t-eoBaseFunctions.cpp

-

|o*t-eobin.cpp

-

|o*t-eobreeder.cpp

-

|o*t-eoCheckpointing.cpp

-

|o*t-eoCMAES.cpp

-

|o*t-eoEasyEA.cpp

-

|o*t-eoESAll.cpp

-

|o*t-eoESFull.cpp

-

|o*t-eoESOps.cpp

-

|o*t-eoExternalEO.cpp

-

|o*t-eofitness.cpp

-

|o*t-eoFitnessAssembled.cpp

-

|o*t-eoFitnessAssembledEA.cpp

-

|o*t-eoFunctor.cpp

-

|o*t-eoGA.cpp

-

|o*t-eogeneration.cpp

-

|o*t-eoGenOp.cpp

-

|o*t-eoGOpSel.cpp

-

|o*t-eoinclusion.cpp

-

|o*t-eoinsertion.cpp

-

|o*t-eolottery.cpp

-

|o*t-eoNonUniform.cpp

-

|o*t-eoPareto.cpp

-

|o*t-eoParetoFitness.cpp

-

|o*t-eoPBIL.cpp

-

|o*t-eoproblem.cpp

-

|o*t-eoRandom.cpp

-

|o*t-eoReal.cpp

-

|o*t-eoReplacement.cpp

-

|o*t-eoRoulette.cpp

-

|o*t-eoSelect.cpp

-

|o*t-eoSharing.cpp

-

|o*t-eoSSGA.cpp

-

|o*t-eoStateAndParser.cpp

-

|o*t-eoSymreg.cpp

-

|o*t-eoUniform.cpp

-

|o*t-eoVector.cpp

-

|o*t-eoVirus.cpp

-

|o*t-MGE-control.cpp

-

|o*t-MGE.cpp

-

|o*t-MGE1bit.cpp

-

|o*t-selectOne.cpp

-

|o*TargetInfo.cpp

-

|o*TargetInfo.h

-

|o*test_compile.cpp

-

|o*test_diff.cpp

-

|o*test_lambda.cpp

-

|o*test_mf.cpp

-

|o*test_simplify.cpp

-

|o*testeo.cpp

-

|o*token.h

-

|o*TreeBuilder.cpp

-

|o*TreeBuilder.h

-

|o*util.cpp

-

|o*valueParam.cpp

-

|o*valueParam.h

-

|o*vecop.h

-

|\*VirusOp.h

-
-

o+Class List

-
-

|o*eo1PtBitCrossover

-

|o*eoAged< Object >

-

|o*eoAlgo< EOT >

-

|o*eoArithmeticCrossover

-

|o*eoAssembledFitnessAverageStat< EOT >

-

|o*eoAssembledFitnessBestStat< EOT >

-

|o*eoAtomExchange< Atom >

-

|o*eoAverageStat< EOT >

-

|o*eoBestFitnessStat< EOT >

-

|o*eoBestSelect< EOT >

-

|o*eoBF< A1, A2, R >

-

|o*BiasedNodeSelector

-

|o*eoBinaryFunctorCounter< BinaryFunctor >

-

|o*eoBinCloneOp< EOT >

-

|o*eoBinGenOp< EOT >

-

|o*eoBinOp< EOType >

-

|o*eoBit< FitT >

-

|o*eoBitBitFlip

-

|o*eoBitGxOver< Chrom >

-

|o*eoBitInversion< Chrom >

-

|o*eoBitMutation< Chrom >

-

|o*eoBitNext< Chrom >

-

|o*eoBitOpFactory< EOT >

-

|o*eoBitPrev< Chrom >

-

|o*boolean_generator

-

|o*eoBooleanGenerator

-

|o*eoBooleanInit

-

|o*eoBoolFlip

-

|o*eoBranchMutation< FType, Node >

-

|o*eoBreed< EOT >

-

|o*eoCellularEasyEA< EOT >

-

|o*eoCheckPoint< EOT >

-

|o*eoCMABreed< FitT >

-

|o*eoCMAInit< FitT >

-

|o*eoCollapseSubtreeMutation< FType, Node >

-

|o*eoCombinedContinue< EOT >

-

|o*eoCombinedInit< EOT >

-

|o*eoCommaReplacement< EOT >

-

|o*eoContinue< EOT >

-

|o*eoCountedDynUpdate

-

|o*eoCountedStateSaver

-

|o*Cov

-

|o*eoCtrlCContinue< EOT >

-

|o*eoDetBitFlip< Chrom >

-

|o*eoDeterministicSaDReplacement< EOT >

-

|o*eoDeterministicSurviveAndDie< EOT >

-

|o*eoDetSelect< EOT >

-

|o*eoDetTournamentSelect< EOT >

-

|o*eoDetTournamentTruncate< EOT >

-

|o*eoDetTournamentTruncateSplit< EOT >

-

|o*eoDetTournamentWorthSelect< EOT, WorthT >

-

|o*eoDetUniformMutation< EOT >

-

|o*eoDistance< EOT >

-

|o*eoDistribUpdater< EOT >

-

|o*eoDistribution< EOT >

-

|o*dMatrix

-

|o*eoDominanceMap< EoType >

-

|o*eoDoubleExchange

-

|o*eoDoubleIntermediate

-

|o*eoDrawable< Object >

-

|o*Dummy

-

|o*eoDynSGATransform< EOT >

-

|o*eoDynUpdater

-

|o*eoEasyEA< EOT >

-

|o*eoEDA< EOT >

-

|o*eoEliteSequentialSelect< EOT >

-

|o*eoElitism< EOT >

-

|o*EO< F >

-

|o*eoEPReduce< EOT >

-

|o*eoEPReplacement< EOT >

-

|o*eoEsChromInit< EOT >

-

|o*eoEsFull< Fit >

-

|o*eoEsGlobalXover< EOT >

-

|o*eoEsMutate< EOT >

-

|o*eoEsMutationInit

-

|o*eoEsSimple< Fit >

-

|o*eoEsStandardXover< EOT >

-

|o*eoEsStdev< Fit >

-

|o*eoEvalContinue< EOT >

-

|o*eoEvalFunc< EOT >

-

|o*eoEvalFuncCounter< EOT >

-

|o*eoEvalFuncPtr< EOT, FitT, FunctionArg >

-

|o*eoExpansionMutation< FType, Node >

-

|o*eoExternalBinOp< F, External, ExternalEO >

-

|o*eoExternalEO< Fit, External >

-

|o*eoExternalEvalFunc< F, External, ExternalEO >

-

|o*eoExternalInit< F, External, ExternalEO >

-

|o*eoExternalMonOp< F, External, ExternalEO >

-

|o*eoExternalQuadOp< F, External, ExternalEO >

-

|o*eoF< R >

-

|o*eoFactory< EOClass >

-

|o*eoFDCFileSnapshot< EOT >

-

|o*eoFDCStat< EOT >

-

|o*eoFileMonitor

-

|o*eoFileSnapshot

-

|o*eoFitContinue< EOT >

-

|o*eoFitnessScalingSelect< EOT >

-

|o*eoFitnessStat< EOT, FitT >

-

|o*eoFlOr1ptBinOp< EOT >

-

|o*eoFlOr1ptQuadOp< EOT >

-

|o*eoFlOrAllAtomBinOp< EOT >

-

|o*eoFlOrAllAtomQuadOp< EOT >

-

|o*eoFlOrAllMutation< EOT >

-

|o*eoFlOrKAtomBinOp< EOT >

-

|o*eoFlOrKAtomQuadOp< EOT >

-

|o*eoFlOrKMutation< EOT >

-

|o*eoFlOrUniformBinOp< EOT >

-

|o*eoFlOrUniformQuadOp< EOT >

-

|o*eoFunctorBase

-

|o*eoFunctorBase::binary_function_tag

-

|o*eoFunctorBase::procedure_tag

-

|o*eoFunctorBase::unary_function_tag

-

|o*eoFunctorStore

-

|o*eoG3Replacement< EOT >

-

|o*eoGenContinue< EOT >

-

|o*eoGeneDelChooser< EOT >

-

|o*eoGeneralBreeder< EOT >

-

|o*eoGeneralIntBounds

-

|o*eoGeneralRealBounds

-

|o*eoGenerationalReplacement< EOT >

-

|o*eoGenOp< EOT >

-

|o*eoGnuplot

-

|o*eoGnuplot1DMonitor

-

|o*eoGnuplot1DSnapshot

-

|o*eoHammingDistance< EOT >

-

|o*eoHoistMutation< FType, Node >

-

|o*eoHowMany

-

|o*eoIncrementor< T >

-

|o*eoIncrementorParam< T >

-

|o*eoInit< EOT >

-

|o*eoInitAdaptor< EOT >

-

|o*eoInitFixedLength< EOT >

-

|o*eoInitGenerator< EOT >

-

|o*eoInitVariableLength< EOT >

-

|o*eoInitVirus< FitT >

-

|o*eoInitVirus1bit< FitT >

-

|o*eoInnerExchangeQuadOp< EOT >

-

|o*eoIntAboveBound

-

|o*eoIntBelowBound

-

|o*eoIntBounds

-

|o*eoIntInterval

-

|o*eoIntNoBounds

-

|o*eoInvalidateBinOp< EOT >

-

|o*eoInvalidateMonOp< EOT >

-

|o*eoInvalidateQuadOp< EOT >

-

|o*eoLinearFitScaling< EOT >

-

|o*eoLinearRandomSplit< EOT >

-

|o*eoLinearTruncate< EOT >

-

|o*eoLinearTruncateSplit< EOT >

-

|o*MemPool

-

|o*gp_parse_tree::MemPool

-

|o*eoMerge< Chrom >

-

|o*eoMergeReduce< EOT >

-

|o*eoMGGReplacement< EOT >

-

|o*MinimizingTraits

-

|o*eoMOFitnessStat< EOT, PartFitT >

-

|o*eoMonCloneOp< EOT >

-

|o*eoMonGenOp< EOT >

-

|o*eoMonitor

-

|o*eoMonOp< EOType >

-

|o*eoNDPlusReplacement< EOT, WorthT >

-

|o*eoNDSorting< EOT >

-

|o*eoNDSorting< EOT >::DummyEO

-

|o*eoNDSorting_I< EOT >

-

|o*eoNDSorting_II< EOT >

-

|o*negexp_generator< T >

-

|o*eoNegExpGenerator< T >

-

|o*eoNegExpInit< T >

-

|o*NodeSelector

-

|o*eoNoElitism< EOT >

-

|o*eoNoPerf2Worth< EOT >

-

|o*normal_generator< T >

-

|o*eoNormalGenerator< T >

-

|o*eoNormalInit< T >

-

|o*eoNormalMutation< EOT >

-

|o*eoNormalVecMutation< EOT >

-

|o*eoNoSelect< EOT >

-

|o*eoNPtsBitXover< Chrom >

-

|o*eoNthElementFitnessStat< EOT >

-

|o*eoObject

-

|o*eoOneFifthMutation< EOT >

-

|o*eoOneMax< FitT >

-

|o*eoOneMaxEvalFunc< EOT >

-

|o*eoOneMaxInit< GenotypeT >

-

|o*eoOneMaxMutation< GenotypeT >

-

|o*eoOneMaxQuadCrossover< GenotypeT >

-

|o*eoOp< EOType >

-

|o*eoOpContainer< EOT >

-

|o*eoOpSelMason< eoClass >

-

|o*eoParam

-

|o*eoParameterLoader

-

|o*eoParamParamType

-

|o*eoParetoFitness< FitnessTraits >

-

|o*eoParetoFitnessTraits

-

|o*eoParetoOneConstraintFitness< FitnessTraits >

-

|o*eoParetoRanking< EOT >

-

|o*eoParser

-

|o*eoParseTree< FType, Node >

-

|o*eoParseTreeDepthInit< FType, Node >

-

|o*eoPBILAdditive< EOT >

-

|o*eoPBILDistrib< EOT >

-

|o*eoPBILOrg< EOT >

-

|o*eoPerf2Worth< EOT, WorthT >

-

|o*eoPerf2Worth< EOT, WorthT >::compare_worth

-

|o*eoPerf2WorthCached< EOT, WorthT >

-

|o*eoPerf2WorthCached< EOT, WorthT >::compare_worth

-

|o*eoPersistent

-

|o*eoPlus< EOT >

-

|o*eoPlusReplacement< EOT >

-

|o*eoPointMutation< FType, Node >

-

|o*eoPop< EOT >

-

|o*eoPop< EOT >::Cmp

-

|o*eoPop< EOT >::Ref

-

|o*eoPopAlgo< EOT >

-

|o*eoPopEvalFunc< EOT >

-

|o*eoPopLoopEval< EOT >

-

|o*eoPopStat< EOT >

-

|o*eoPopulator< EOT >

-

|o*eoPrintable

-

|o*eoProcedureCounter< Procedure >

-

|o*eoPropCombinedBinOp< EOT >

-

|o*eoPropCombinedMonOp< EOT >

-

|o*eoPropCombinedQuadOp< EOT >

-

|o*eoPropGAGenOp< EOT >

-

|o*eoProportionalOp< EOT >

-

|o*eoProportionalSelect< EOT >

-

|o*eoQuad2BinOp< EOT >

-

|o*eoQuadCloneOp< EOT >

-

|o*eoQuadDistance< EOT >

-

|o*eoQuadGenOp< EOT >

-

|o*eoQuadOp< EOType >

-

|o*random_generator< T >

-

|o*RandomNodeSelector

-

|o*eoRandomReduce< EOT >

-

|o*eoRandomSelect< EOT >

-

|o*eoRandomSplit< EOT >

-

|o*eoRanking< EOT >

-

|o*eoRankingSelect< EOT >

-

|o*eoReal< FitT >

-

|o*eoRealAboveBound

-

|o*eoRealBaseVectorBounds

-

|o*eoRealBelowBound

-

|o*eoRealBounds

-

|o*eoRealInitBounded< EOT >

-

|o*eoRealInterval

-

|o*eoRealNoBounds

-

|o*eoRealUxOver

-

|o*eoRealVectorBounds

-

|o*eoRealVectorNoBounds

-

|o*eoReduce< EOT >

-

|o*eoReduceMerge< EOT >

-

|o*eoReduceMergeReduce< EOT >

-

|o*eoReduceSplit< EOT >

-

|o*eoReplacement< EOT >

-

|o*eoRndGenerator< T >

-

|o*eoRng

-

|o*eoRouletteWorthSelect< EOT, WorthT >

-

|o*eoScalarFitness< ScalarType, Compare >

-

|o*eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >

-

|o*eoScalarFitnessAssembledTraits

-

|o*eoScalarFitnessStat< EOT, FitT >

-

|o*eoSecondMomentStats< EOT >

-

|o*eoSegmentCrossover< EOT >

-

|o*eoSelBinGenOp< EOT >

-

|o*eoSelect< EOT >

-

|o*eoSelectFactory< EOT >

-

|o*eoSelectFromWorth< EOT, WorthType >

-

|o*eoSelectivePopulator< EOT >

-

|o*eoSelectMany< EOT >

-

|o*eoSelectNumber< EOT >

-

|o*eoSelectOne< EOT, WorthT >

-

|o*eoSelectPerc< EOT >

-

|o*eoSelectTransform< EOT >

-

|o*eoSeqPopulator< EOT >

-

|o*eoSequentialOp< EOT >

-

|o*eoSequentialSelect< EOT >

-

|o*eoSGA< EOT >

-

|o*eoSGAGenOp< EOT >

-

|o*eoSGATransform< EOT >

-

|o*eoSharing< EOT >

-

|o*eoSharingSelect< EOT >

-

|o*eoSimpleEDA< EOT >

-

|o*eoSortedPopStat< EOT >

-

|o*eoSortedStat< EOT, ParamType >

-

|o*eoSortedStatBase< EOT >

-

|o*eoSSGADetTournamentReplacement< EOT >

-

|o*eoSSGAStochTournamentReplacement< EOT >

-

|o*eoSSGAWorseReplacement< EOT >

-

|o*eoStat< EOT, T >

-

|o*eoStatBase< EOT >

-

|o*eoState

-

|o*eoState::loading_error

-

|o*eoStBranchMutation< FType, Node >

-

|o*eoStdoutMonitor

-

|o*eoSteadyFitContinue< EOT >

-

|o*eoStHoistMutation< FType, Node >

-

|o*eoSTLBF< A1, A2, R >

-

|o*eoSTLF< R >

-

|o*eoSTLUF< A1, R >

-

|o*eoStochasticUniversalSelect< EOT >

-

|o*eoStochTournamentSelect< EOT >

-

|o*eoStochTournamentTruncate< EOT >

-

|o*eoStochTournamentTruncateSplit< EOT >

-

|o*eoStochTournamentWorthSelect< EOT, WorthT >

-

|o*eoStParseTreeDepthInit< FType, Node >

-

|o*eoStPointMutation< FType, Node >

-

|o*eoString< fitnessT >

-

|o*eoStSubtreeXOver< FType, Node >

-

|o*eoSubtreeXOver< FType, Node >

-

|o*eoSurviveAndDie< EOT >

-

|o*eoSymInit< EoType >

-

|o*T_pickle_suite< T >

-

|o*eoTimeCounter

-

|o*eoTimedDynUpdate

-

|o*eoTimedMonitor

-

|o*eoTimedStateSaver

-

|o*eoTimeVaryingLoopEval< EOT >

-

|o*eoTransform< EOT >

-

|o*eoTruncate< EOT >

-

|o*eoTruncatedSelectMany< EOT >

-

|o*eoTruncatedSelectOne< EOT >

-

|o*eoTruncateSplit< EOT >

-

|o*eoTruncSelect< EOT >

-

|o*eoUBitXover< Chrom >

-

|o*eoUF< A1, R >

-

|o*UF_random_generator< T >

-

|o*eoUnaryFunctorCounter< UnaryFunctor >

-

|o*uniform_generator< T >

-

|o*eoUniformAtomExchange< Atom >

-

|o*eoUniformGeneChooser< EOT >

-

|o*eoUniformGenerator< T >

-

|o*eoUniformInit< T >

-

|o*eoUniformMutation< EOT >

-

|o*eoUpdatable

-

|o*eoUpdater

-

|o*eoValueParam< ValueType >

-

|o*eoVariableParetoTraits

-

|o*eoVector< FitT, GeneType >

-

|o*VirusBitFlip< FitT >

-

|o*VirusShiftMutation< FitT >

-

|o*eoVlAddMutation< EOT >

-

|o*eoVlAtomExchangeQuadOp< EOT >

-

|o*eoVlDelMutation< EOT >

-

|o*eoVlUniformBinOp< EOT >

-

|o*eoVlUniformQuadOp< EOT >

-

|\*eoWeakElitistReplacement< EOT >

-
-

o+Class Hierarchy

-
-

|o*eo1PtBitCrossover

-

|o*eoAged< Object >

-

|o*eoArithmeticCrossover

-

|o*eoBestFitnessStat< EOT >::CmpFitness

-

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

-
-

||\+eoBF< PyEO &, PyEO &, bool >

-
-

|| \+eoQuadOp< PyEO >

-
-

||  \*QuadOpWrapper

-
-
-
-

|o+binary_function

- -

|o+binary_function

-
-

||\+eoBF< Chrom &, Chrom &, bool >

-
-

|| \+eoQuadOp< Chrom >

-
-

||  o*eo1PtBitXover< Chrom >

-

||  o*eoBitGxOver< Chrom >

-

||  o*eoChromXover

-

||  o*eoChromXover

-

||  o*eoNPtsBitXover< Chrom >

-

||  \*eoUBitXover< Chrom >

-
-
-
-

|o+binary_function

- -

|o*binary_function

-

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

-
-

||\+eoBF< EoType &, EoType &, bool >

-
-

|| \+eoQuadOp< EoType >

-
-

||  \*eoQuadSubtreeCrossover< EoType >

-
-
-
-

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

-
-

||\+eoBF< EoType &, const EoType &, bool >

-
-

|| \+eoBinOp< EoType >

-
-

||  o*eoBinHomologousCrossover< EoType >

-

||  \*eoBinSubtreeCrossover< EoType >

-
-
-
-

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o*binary_function

-

|o+binary_function

- -

|o+binary_function

- -

|o+binary_function

- -

|o*binary_function

-

|o*BinaryValue

-

|o*eoutils::BinaryWrapper< Binary >

-

|o*eoBitBitFlip

-

|o*boolean_generator

-

|o*BoundsCheck

-

|o*eo::CMAParams

-

|o*eo::CMAState

-

|o*eo::CMAStateImpl

-

|o*Compiler

-

|o*Const

-

|o*Cov

-

|o*CovMatrix

-

|o*Dataset

-

|o*DataSetImpl

-

|o*differentiation_error

-

|o*dMatrix

-

|o*eoDrawable< Object >

-

|o*Easy

-

|o*eoEPReduce< EOT >::Cmp

-

|o*ErrorMeasure

-

|o*ErrorMeasure::result

-

|o*ErrorMeasureImpl

-

|o*eoEsMutationInit

-

|o*fitness_traits< T >

-

|o*fitness_traits< maximization >

-

|o*fitness_traits< minimization >

-

|o*fitness_traits< pair< Performance, Worth > >

-

|o*Function

-

|o*functor_t

-

|o+eoFunctorBase

-
-

||o*eoBF< A1, A2, R >

-

||o*eoBF< Chrom &, Chrom &, bool >

-

||o*eoBF< const Dummy &, const Dummy &, double >

-

||o*eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void >

-

||o*eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >

-

||o*eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void >

-

||o*eoBF< const EOT &, const EOT &, double >

-

||o*eoBF< double &, const double &, bool >

-

||o*eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >

-

||o*eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >

-

||o*eoBF< eoPop< EOT > &, eoPop< EOT > &, void >

-

||o*eoBF< eoPop< EOT > &, unsigned, void >

-

||o*eoBF< eoPop< EoType > &, eoPop< EoType > &, void >

-

||o*eoBF< eoPop< PyEO > &, unsigned, void >

-

||o*eoBF< EOT &, const EOT &, bool >

-

||o*eoBF< EOT &, EOT &, bool >

-

||o*eoBF< EOType &, const EOType &, bool >

-

||o*eoBF< EoType &, const EoType &, bool >

-

||o*eoBF< EoType &, EoType &, bool >

-

||o*eoBF< EOType &, EOType &, bool >

-

||o*eoBF< eoVirus< FitT > &, const eoVirus< FitT > &, bool >

-

||o*eoBF< ExternalEO &, const ExternalEO &, bool >

-

||o*eoBF< ExternalEO &, ExternalEO &, bool >

-

||o*eoBF< GenotypeT &, GenotypeT &, bool >

-

||o*eoBF< PyEO &, const PyEO &, bool >

-

||o*eoBF< PyEO &, PyEO &, bool >

-

||o*eoBF< unsigned, Atom &, bool >

-

||o*eoF< R >

-

||o+eoF< bool >

- -

||o+eoF< eoMonitor & >

- -

||o+eoF< EOT >

- -

||o+eoF< int >

-
-

|||\*eo2

-
-

||o+eoF< T >

- -

||o+eoF< void >

- -

||o+eoUF< A1, R >

- -

||o+eoUF< bool &, bool >

- -

||o+eoUF< bool &, void >

- -

||o+eoUF< Chrom &, bool >

-
-

|||\+eoMonOp< Chrom >

-
-

||| o*eoBitInversion< Chrom >

-

||| o*eoBitMutation< Chrom >

-

||| o*eoBitNext< Chrom >

-

||| o*eoBitPrev< Chrom >

-

||| o*eoChromMutation

-

||| o*eoChromMutation

-

||| o*eoDetBitFlip< Chrom >

-

||| \*eoOneBitFlip< Chrom >

-
-
-

||o+eoUF< Chrom &, void >

-
-

|||\+eoInit< Chrom >

-
-

||| o*eoInitChrom

-

||| \*eoInitChrom

-
-
-

||o+eoUF< const eoPop< EOT > &, bool >

- -

||o+eoUF< const eoPop< EOT > &, const EOT & >

- -

||o+eoUF< const eoPop< EOT > &, void >

- -

||o+eoUF< const eoPop< EoType > &, void >

-
-

|||o*eoDominanceMap< EoType >

-

|||\+eoStatBase< EoType >

-
-

||| o+eoStat< EoType, double >

-
-

||| |\*AverageSizeStat

-
-

||| \+eoStat< EoType, unsigned >

-
-

|||  o*DagSizeStat

-

|||  \*SumSizeStat

-
-
-
-

||o+eoUF< const eoPop< PyEO > &, const PyEO & >

-
-

|||\+eoSelectOne< PyEO >

-
-

||| \*eoSelectOneWrapper

-
-
-

||o+eoUF< const eoPop< PyEO > &, void >

-
-

|||o*eoPerf2Worth< PyEO >

-

|||o+eoPerf2Worth< PyEO, double >

-
-

||||o+eoPerf2WorthCached< PyEO, double >

-
-

|||||\*CachedPerf2WorthWrapper

-
-

||||\*Perf2WorthWrapper

-
-

|||\+eoStatBase< PyEO >

-
-

||| \*StatBaseWrapper

-
-
-

||o+eoUF< const std::vector< const EOT * > &, void >

- -

||o+eoUF< const std::vector< const EoType * > &, void >

-
-

|||\+eoSortedStatBase< EoType >

-
-

||| \+eoSortedStat< EoType, string >

-
-

|||  \*eoBestIndividualStat

-
-
-
-

||o+eoUF< const std::vector< const PyEO * > &, void >

-
-

|||\+eoSortedStatBase< PyEO >

-
-

||| \*SortedStatBaseWrapper

-
-
-

||o+eoUF< eoDistribution< EOT > &, void >

- -

||o+eoUF< eoDouble &, bool >

-
-

|||\+eoMonOp< eoDouble >

-
-

||| \*Mutate< EOT >

-
-
-

||o+eoUF< eoDouble &, void >

-
-

|||o+eoEvalFunc< eoDouble >

-
-

||||\*Eval

-
-

|||\+eoInit< eoDouble >

-
-

||| \*Init

-
-
-

||o+eoUF< eoParseTree< FitnessType, Node > &, void >

- -

||o+eoUF< eoParseTree< FType, Node > &, bool >

- -

||o+eoUF< eoParseTree< FType, Node > &, void >

- -

||o+eoUF< eoPop< EOT > &, void >

- -

||o+eoUF< eoPopulator< EOT > &, void >

- -

||o+eoUF< eoPopulator< PyEO > &, void >

-
-

|||\+eoGenOp< PyEO >

-
-

||| \*GenOpWrapper

-
-
-

||o+eoUF< EOT &, bool >

- -

||o+eoUF< EOT &, unsigned int >

- -

||o+eoUF< EOT &, void >

- -

||o+eoUF< EoType &, bool >

-
-

|||\+eoMonOp< EoType >

-
-

||| o*eoSymConstantMutate< EoType >

-

||| o*eoSymLambdaMutate< EoType >

-

||| o*eoSymNodeMutate< EoType >

-

||| \*eoSymSubtreeMutate< EoType >

-
-
-

||o+eoUF< EOType &, bool >

- -

||o+eoUF< EoType &, void >

- -

||o+eoUF< eoVector< FitT, double > &, void >

- -

||o+eoUF< eoVirus< FitT > &, bool >

- -

||o+eoUF< eoVirus< FitT > &, void >

- -

||o+eoUF< ExternalEO &, bool >

- -

||o+eoUF< ExternalEO &, void >

- -

||o+eoUF< GenotypeT &, bool >

- -

||o+eoUF< GenotypeT &, void >

- -

||o+eoUF< int &, void >

-
-

|||\+eoInit< int >

-
-

||| \*Tester

-
-
-

||o+eoUF< PyEO &, bool >

-
-

|||\+eoMonOp< PyEO >

-
-

||| \*MonOpWrapper

-
-
-

||\+eoUF< T &, void >

- -
-

|o*eoFunctorBase::binary_function_tag

-

|o*eoFunctorBase::procedure_tag

-

|o*eoFunctorBase::unary_function_tag

-

|o+eoFunctorStore

-
-

||\*eoState

-
-

|o*FunDef

-

|o+eoGnuplot

- -

|o*HashDouble

-

|o*HashSym

-

|o*index_error

-

|o*interval_error

-

|o*IntervalBoundsCheck

-

|o*IntervalBoundsCheckImpl

-

|o*Inv

-

|o*IsNeg

-

|o*Lambda

-

|o*LanguageImpl

-

|o*LanguageTable

-

|o*mlp::layer

-

|o*qp::layer

-

|o*LinearScaling

-

|o*lower_triangular_matrix

-

|o*maximization

-

|o*Mean

-

|o*MemPool

-

|o*gp_parse_tree::MemPool

-

|o*MemPool::Chunk

-

|o*gp_parse_tree::MemPool::Chunk

-

|o*MemPool::Link

-

|o*gp_parse_tree::MemPool::Link

-

|o*Min

-

|o*minimization

-

|o*MultiFunction

-

|o*MultiFunctionImpl

-

|o*MyNodeStats

-

|o*eoNDPlusReplacement< EOT, WorthT >::WorthPair

-

|o*eoNDSorting< EOT >::Sorter

-

|o*eoNDSorting_II< EOT >::compare_nodes

-

|o*negexp_generator< T >

-

|o*mlp::net

-

|o*l2::net

-

|o*mse::net

-

|o*qp::net

-

|o*qp::neuron

-

|o*mlp::neuron

-

|o*NoBoundsCheck

-

|o*Node

-

|o*Node_alloc< T >

-

|o*gp_parse_tree::Node_alloc< T >

-

|o+NodeSelector

- -

|o*NodeSelector::NodeSelection

-

|o*normal_generator< T >

-

|o*NoScaling

-

|o*eoNthElementFitnessStat< EOT >::CmpFitness

-

|o+eoObject

- -

|o+eoOp< EOType >

- -

|o+eoOp< bool >

- -

|o+eoOp< Chrom >

- -

|o+eoOp< double >

- -

|o+eoOp< eoDouble >

- -

|o+eoOp< eoParseTree< FType, Node > >

- -

|o+eoOp< EOT >

- -

|o+eoOp< EoType >

- -

|o+eoOp< eoVirus< FitT > >

- -

|o+eoOp< ExternalEO >

- -

|o+eoOp< GenotypeT >

- -

|o+eoOp< PyEO >

- -

|o*Operation

-

|o+eoParam

- -

|o+eoParameterLoader

-
-

||\*eoParser

-
-

|o*Parameters

-

|o*eoParamParamType

-

|o*eoParetoFitness< FitnessTraits >

-

|o+eoParetoFitnessTraits

-
-

||o*eoVariableParetoTraits

-

||o*MinimizingFitnessTraits

-

||o*MinimizingFitnessTraits

-

||\*MinimizingTraits

-
-

|o*eoParetoOneConstraintFitness< FitnessTraits >

-

|o*gp_parse_tree::parse_tree< T >

-

|o*gp_parse_tree::parse_tree< T >::base_const_iterator

-

|o*gp_parse_tree::parse_tree< T >::base_iterator

-

|o*gp_parse_tree::parse_tree< T >::const_iterator

-

|o*gp_parse_tree::parse_tree< T >::embedded_const_iterator

-

|o*gp_parse_tree::parse_tree< T >::embedded_iterator

-

|o*gp_parse_tree::parse_tree< T >::iterator

-

|o*gp_parse_tree::parse_tree< T >::subtree

-

|o*eoParseTreeDepthInit< FType, Node >::lt_arity

-

|o*eoPerf2Worth< EOT, WorthT >::compare_worth

-

|o*eoPerf2WorthCached< EOT, WorthT >::compare_worth

-

|o*phenotype

-

|o*PipeCommunication

-

|o*eoPop< EOT >::Cmp

-

|o*eoPop< EOT >::GetFitness

-

|o*eoPop< EOT >::Ref

-

|o+eoPopulator< EOT >

- -

|o*eoPopulator< EOT >::OutOfIndividuals

-

|o+eoPopulator< PyEO >

-
-

||\*PopulatorWrapper

-
-

|o*Power

-

|o+eoPrintable

- -

|o*eoutils::ProcWrapper< Proc >

-

|o*Prod

-

|o*PyEO_pickle_suite

-

|o*PyFitness

-

|o*pyPop_pickle_suite

-

|o*random_generator< T >

-

|o+eoRealBaseVectorBounds

- -

|o*eoRealUxOver

-

|o*RNG_pickle_suite

-

|o*mlp::sample

-

|o*eoScalarFitness< ScalarType, Compare >

-

|o*eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >

-

|o*eoScalarFitnessAssembledTraits

-

|o*ScalingBase

-

|o*eoSeqPopulator< EOT >::OutOfIndividuals

-

|o*mlp::set

-

|o*shared_ptr< T >

-

|o*SortOnTargets

-

|o*square_matrix

-

|o*Standard_alloc< T >

-

|o*gp_parse_tree::Standard_alloc< T >

-

|o*Standard_Node_alloc< T >

-

|o*gp_parse_tree::Standard_Node_alloc< T >

-

|o*eoState::loading_error

-

|o*eoSTLBF< A1, A2, R >

-

|o*eoSTLF< R >

-

|o*eoSTLUF< A1, R >

-

|o*Sum

-

|o*Sym

-

|o*detail::SymArgs

-

|o*detail::SymArgsImpl

-

|o*detail::SymKey

-

|o*detail::SymKey::Hash

-

|o*SymregNode

-

|o*detail::SymValue

-

|o*T_pickle_suite< T >

-

|o*TargetInfo

-

|o*gp_parse_tree::Tree_alloc< T >

-

|o*Tree_alloc< T >

-

|o*TreeBuilder

-

|o*UF_random_generator< T >

-

|o*Unary< Func >

-

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o*unary_function

-

|o*unary_function

-

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o+unary_function

- -

|o*eoutils::UnaryWrapper< Unary >

-

|o*uniform_generator< T >

-

|o*UniqueNodeStats

-

|o+eoUpdatable

- -

|o*UserDefStruct

-

|o*ValueParam_pickle_suite< T >

-

|o*Var

-

|o+vector

- -

|o+vector

- -

|o+vector

- -

|o+vector

- -

|o*vector

-

|o+vector

- -

|o+vector

- -

|o+vector

- -

|\*weak_ptr< T >

-
-

o*Class Members

-

o+Namespace List

- -

o+Modules

- -

o*Namespace Members

-

\+Related Pages

- -
-
- - diff --git a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson2_2binary__value_8h-source.html b/trunk/paradiseo-eo/doc/html/tutorial_2_lesson2_2binary__value_8h-source.html deleted file mode 100644 index b2c378e87..000000000 --- a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson2_2binary__value_8h-source.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: binary_value.h Source File - - - - - -

tutorial/Lesson2/binary_value.h

00001 #include <eo>
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 
-00009 // INIT
-00010 double binary_value(const std::vector<bool>& _chrom)
-00011 {
-00012   double sum = 0;
-00013   for (unsigned i = 0; i < _chrom.size(); i++)
-00014     sum += _chrom[i];
-00015   return sum;
-00016 }
-00017 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson2_2real__value_8h-source.html b/trunk/paradiseo-eo/doc/html/tutorial_2_lesson2_2real__value_8h-source.html deleted file mode 100644 index ee37be209..000000000 --- a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson2_2real__value_8h-source.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: real_value.h Source File - - - - - -

tutorial/Lesson2/real_value.h

00001 #include <vector>
-00002 //-----------------------------------------------------------------------------
-00008 // INIT
-00009 double real_value(const std::vector<double>& _ind)
-00010 {
-00011   double sum = 0;
-00012   for (unsigned i = 0; i < _ind.size(); i++)
-00013       {
-00014           sum += _ind[i] * _ind[i];
-00015       }
-00016   return -sum;
-00017 }
-00018 
-00019 
-00020 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson3_2binary__value_8h-source.html b/trunk/paradiseo-eo/doc/html/tutorial_2_lesson3_2binary__value_8h-source.html deleted file mode 100644 index e8da24328..000000000 --- a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson3_2binary__value_8h-source.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: binary_value.h Source File - - - - - -

tutorial/Lesson3/binary_value.h

00001 #include <eo>
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 
-00009 // INIT
-00010 double binary_value(const std::vector<bool>& _chrom)
-00011 {
-00012   double sum = 0;
-00013   for (unsigned i = 0; i < _chrom.size(); i++)
-00014     sum += _chrom[i];
-00015   return sum;
-00016 }
-00017 
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson3_2real__value_8h-source.html b/trunk/paradiseo-eo/doc/html/tutorial_2_lesson3_2real__value_8h-source.html deleted file mode 100644 index 00c6d4512..000000000 --- a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson3_2real__value_8h-source.html +++ /dev/null @@ -1,30 +0,0 @@ - - -EO: real_value.h Source File - - - - - -

tutorial/Lesson3/real_value.h

00001 #include <vector>
-00002 //-----------------------------------------------------------------------------
-00008 // INIT
-00009 double real_value(const std::vector<double>& _ind)
-00010 {
-00011   double sum = 0;
-00012   for (unsigned i = 0; i < _ind.size(); i++)
-00013       {
-00014           sum += _ind[i] * _ind[i];
-00015       }
-00016   return sum;
-00017 }
-00018 
-00019 
-00020 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson4_2binary__value_8h-source.html b/trunk/paradiseo-eo/doc/html/tutorial_2_lesson4_2binary__value_8h-source.html deleted file mode 100644 index 4a8b62cec..000000000 --- a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson4_2binary__value_8h-source.html +++ /dev/null @@ -1,35 +0,0 @@ - - -EO: binary_value.h Source File - - - - - -

tutorial/Lesson4/binary_value.h

00001 #include <eo>
-00002 
-00003 //-----------------------------------------------------------------------------
-00004 
-00010 template <class Chrom> double binary_value(const Chrom& _chrom)
-00011 {
-00012   double sum = 0;
-00013   for (unsigned i = 0; i < _chrom.size(); i++)
-00014     if (_chrom[i])
-00015         sum += _chrom[i];
-00016   return sum;
-00017 }
-00018 
-00019 struct BinaryValue
-00020 {
-00021   template <class Chrom> void operator()(Chrom& _chrom)
-00022   {
-00023     _chrom.fitness(binary_value(_chrom));
-00024   }
-00025 };
-

Generated on Thu Oct 19 05:06:34 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson4_2real__value_8h-source.html b/trunk/paradiseo-eo/doc/html/tutorial_2_lesson4_2real__value_8h-source.html deleted file mode 100644 index ca33cef67..000000000 --- a/trunk/paradiseo-eo/doc/html/tutorial_2_lesson4_2real__value_8h-source.html +++ /dev/null @@ -1,29 +0,0 @@ - - -EO: real_value.h Source File - - - - - -

tutorial/Lesson4/real_value.h

00001 #include <vector>
-00002 //-----------------------------------------------------------------------------
-00003 
-00004 
-00010 double real_value(const std::vector<double>& _ind)
-00011 {
-00012   double sum = 0;
-00013   for (unsigned i = 0; i < _ind.size(); i++)
-00014       sum += _ind[i] * _ind[i];
-00015   return sqrt(sum);
-00016 }
-00017 
-00018 
-00019 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/tutorial_2_r_e_a_d_m_e-source.html b/trunk/paradiseo-eo/doc/html/tutorial_2_r_e_a_d_m_e-source.html deleted file mode 100644 index 25066b41e..000000000 --- a/trunk/paradiseo-eo/doc/html/tutorial_2_r_e_a_d_m_e-source.html +++ /dev/null @@ -1,28 +0,0 @@ - - -EO: README Source File - - - - - -

tutorial/README

00001 Eo Tutorial - corresponding to EO version 0.9.1+
-00002 
-00003 To start the tutorial, read index.html in your favorite browser.
-00004 
-00005 Many things are missing, including many solutions for the exercises, 
-00006 the introduction to EC and most of the Component-based pages.
-00007 More important, all examples of this tutorial have only been tested 
-00008 on a Linux computer, and the Makefile will not work with MS-Windows 
-00009 systems. Any help is welcome!
-00010 
-00011 Be patient ... 
-00012 evoMarc
-00013 
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/tutorial_2_templates_2_r_e_a_d_m_e-source.html b/trunk/paradiseo-eo/doc/html/tutorial_2_templates_2_r_e_a_d_m_e-source.html deleted file mode 100644 index f906a0472..000000000 --- a/trunk/paradiseo-eo/doc/html/tutorial_2_templates_2_r_e_a_d_m_e-source.html +++ /dev/null @@ -1,164 +0,0 @@ - - -EO: README Source File - - - - - -

tutorial/Templates/README

00001 Quick NOTE: This version of README is obsolete (May 25, 2004)
-00002 In particular, a simpler version of the algorithm can be generated
-00003 using the script 
-00004                    createSimple
-00005 
-00006 with the same syntax. It is also more powerful, allowing for instance
-00007 to create you own statistics on the population, saving it in a file
-00008 and/or plotting on on-line during the run (see eoStat.tmpl).
-00009 More details some day, when I have some time ...
-00010 
-00011 ============= Old README (most is still accurate, though) ==========
-00012 
-00013 This directory contains sample files that should make it easy to
-00014 create an EO algorithm to evolve any type of structure 
-00015 (EO comes with two examples, bitstrings and vector of real variables,
-00016 so you'll need this as soon as you want to evolve something else).
-00017 
-00018 At the moment, only algorithms involving a scalar fitness (double)
-00019 are implemented (see test dir for Pareto optimization of multiple-
-00020 objective fitness - or be patient :-)
-00021 
-00022 This file will help you to build the same algorithm than the ones 
-00023 in the Lesson4 of the tutorial, but with YOUR genotype instead of
-00024 bitstrings or vector<double>. More details in Lesson5 of the tutorial.
-00025 
-00026 It is assumed in the following that you have read the first part of
-00027 the tutorial (Lessons 1 to 4).
-00028 
-00029 Creating the algorithm for your genotype
-00030 ----------------------------------------
-00031 In what follows, we will suppose that you want to evolve some data
-00032 structure, and that you have enough programming skills to be able to
-00033 write C code for its random initilialization, its crossover, its
-00034 mutation and the computation of its fitness.
-00035 
-00036 The helper script * create.sh * will create for you the files you need
-00037 from the samples in tutorial/Templates dir, and all you'll have to do
-00038 is to include the actual code where indicated in those files (between
-00039 keywords START and END). 
-00040 
-00041 First, let's choose a name: let's call the new EO class eoAppli.
-00042 All newly created classes will be named eoAppliXXX (in the file
-00043 eoAppliXXX)
-00044 
-00045 1- cd to the tutorial dir
-00046 
-00047 2- create the directory for your application (let's assume you call it
-00048 APPLICATION): type in
-00049 
-00050             mkdir APPLICATION
-00051 
-00052 3- go to the Templates dir 
-00053 
-00054             cd Templates
-00055 
-00056 and run the helper script create.sh with the following arguments 
-00057 
-00058             ./create.sh Appli ../APPLICATION
-00059 
-00060 4- cd to the APPLICATION dir (cd ../APPLICATION). 
-00061 You should see there the following files:
-00062    AppliEA.cpp            the main file, includes all other, to be compiled
-00063    Makefile               with default target eoAppliEA
-00064    eoAppli.h              class eoAppli<FitT>, FitT = template fitness
-00065    eoAppliEvalFunc.h      class for the computation of fotness
-00066    eoAppliInit.h          class for genotype initlialization
-00067    eoAppliMutation.h      class for mutation 
-00068    eoAppliQuadCrossover.h class for (quadratic) crossover
-00069    make_genotype_Appli.h  helper function that create the initializer
-00070    make_op_Appli.h        helper function that creates the variatin operators
-00071 
-00072 Note: You can go directly to step 6 and 7: you'll get a lot of
-00073 warnings, but will be able to run an EA that does nothing!
-00074 
-00075 5- Edit those files to suit your needs. The minimal addition you'll need
-00076 to make are
-00077    in eoAppli.h              define your genotype
-00078    in eoAppliInit.h          define the initialization of one genotype
-00079    in eoAppliMutation.h      define the mutation of one genotype
-00080    in eoAppliQuadCrossover.h define the crossover of 2 genotypes
-00081 
-00082 HINT: look for keywords START and END and modify code in between.
-00083 
-00084 6- Compile eoAppliEA.cpp. If your APPLICATION dir is in the tutorial
-00085 dir, you don't need to modify Makefile. Just type in
-00086 
-00087                % make
-00088 
-00089 7- Run the resulting program:
-00090 
-00091                % eoAppliEA
-00092 
-00093 The default output is one line per generation with the generation
-00094 number, the number of evaluations performed, the best and average
-00095 fitnesses in the population.
-00096 The algorithm stops by default after 100 generations.
-00097 
-00098 8- Customize the parameters: copy eoAppliEA.status into
-00099 e.g. eoAppliEA.param, edit eoAppliEA.param (uncomment the lines you
-00100 want to become active), and run
-00101 
-00102                % eoAppliEA @eoAppliEA.param
-00103 
-00104 (see the Lesson 5 of the tutorial for more details now).
-00105 
-00106 HINTS
-00107 -----
-00108 
-00109 1- If some new classes you create require some user parameter, you can
-00110 either read them in the file where they are created (e.g.
-00111 make_op_Appli.h for variation operators), or pass the eoParser to the
-00112 constructor of the class, and read the parameter from the parser.
-00113 
-00114 2- If you stick to privacy for the data in your EO class, you will
-00115 probably need to write accessors to those data, as well as some public
-00116 methods to modify them, as soon as some other methods need them too.
-00117 
-00118 3- The sample make_op_Appli.h supposes that you ony have one crossover
-00119 and one mutation operator. However, the code for multiple operators is
-00120 there: you can have for instance 2 crossover operators, and choose
-00121 among them according to relative weights (proportional choice) - same
-00122 for mutation. Look at the operator section in eoAppliEA.cpp In
-00123 particular, the user parameters cross1Rate and mut1Rate are totally
-00124 useless for a single operator.
-00125 
-00126 To add another operator, you have to create another class by mimicking
-00127 what has been done for the first operator.
-00128 For instance, let's suppose you want to create another mutation.
-00129 
-00130 * duplicate the code for eoAppliMutation class 
-00131 * in the second version, change the class name (eoAppliMutation) into
-00132 another name (let's say eoAppliBetterMutation) - you must change the
-00133 name in the class declaration, in the constructor and in the
-00134 className() method.
-00135 * in the new eoAppliBetterMutation class, change the code for the
-00136 operator() - and eventually the code for the constructor.
-00137 * in the make_op_Appli.h file, in the mutation section, uncomment the 
-00138 lines 
-00139       mut = new eoAppliSecondMutation<Indi>(varType  _anyVariable);
-00140       _state.storeFunctor(mut);
-00141       double mut2Rate = _parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value(); 
-00142        propMutation.add(*mut, mut2Rate); 
-00143 
-00144 and change the name of the class from eoAppliSecondMutation to your
-00145 name eoAppliBetterMutation (you can also change the keyword from
-00146 mut2Rate to something more meaningful like BetterMutationRate).
-00147 You're done!
-00148 
-00149 In case of problem: Marc.Schoenauer@inria.fr
-

Generated on Thu Oct 19 05:06:42 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/util_8cpp-source.html b/trunk/paradiseo-eo/doc/html/util_8cpp-source.html deleted file mode 100644 index 57906d8ce..000000000 --- a/trunk/paradiseo-eo/doc/html/util_8cpp-source.html +++ /dev/null @@ -1,42 +0,0 @@ - - -EO: util.cpp Source File - - - - - -

util.cpp

00001 /*          
-00002  *             Copyright (C) 2005 Maarten Keijzer
-00003  *
-00004  *          This program is free software; you can redistribute it and/or modify
-00005  *          it under the terms of version 2 of the GNU General Public License as 
-00006  *          published by the Free Software Foundation. 
-00007  *
-00008  *          This program is distributed in the hope that it will be useful,
-00009  *          but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010  *          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011  *          GNU General Public License for more details.
-00012  *
-00013  *          You should have received a copy of the GNU General Public License
-00014  *          along with this program; if not, write to the Free Software
-00015  *          Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016  */
-00017 
-00018 #include <string>
-00019 #include <iostream>
-00020 
-00021 using namespace std;
-00022 
-00023 double error(string errstr) {
-00024     cerr << "ERROR: " << errstr << endl;
-00025     exit(1);
-00026 }
-00027 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/value_param_8cpp-source.html b/trunk/paradiseo-eo/doc/html/value_param_8cpp-source.html deleted file mode 100644 index 46b40712f..000000000 --- a/trunk/paradiseo-eo/doc/html/value_param_8cpp-source.html +++ /dev/null @@ -1,209 +0,0 @@ - - -EO: valueParam.cpp Source File - - - - - -

valueParam.cpp

00001 /*
-00002     PyEO
-00003     
-00004     Copyright (C) 2003 Maarten Keijzer
-00005 
-00006     This program is free software; you can redistribute it and/or modify
-00007     it under the terms of the GNU General Public License as published by
-00008     the Free Software Foundation; either version 2 of the License, or
-00009     (at your option) any later version.
-00010 
-00011     This program is distributed in the hope that it will be useful,
-00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
-00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00014     GNU General Public License for more details.
-00015 
-00016     You should have received a copy of the GNU General Public License
-00017     along with this program; if not, write to the Free Software
-00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00019 */
-00020 
-00021 #include <utils/eoParam.h>
-00022 #include <stdexcept>
-00023 
-00024 // Here's 'len'. Why? dunno
-00025 #include "valueParam.h"
-00026 #include <boost/python/detail/api_placeholder.hpp>
-00027 
-00028 using namespace boost::python;
-00029 
-00030 class ParamWrapper : public eoParam
-00031 {
-00032 public:
-00033     PyObject* self;
-00034     ParamWrapper(PyObject* p) : self(p) {}
-00035     ParamWrapper(PyObject* p,
-00036         std::string a,
-00037         std::string b,
-00038         std::string c,
-00039         char d,
-00040         bool e) : eoParam(a,b,c,d,e), self(p) {}
-00041 
-00042     
-00043     std::string getValue() const
-00044     {
-00045         return call_method<std::string>(self, "getValueAsString");
-00046     }
-00047 
-00048     void setValue(const std::string& s)
-00049     {
-00050         call_method<void>(self, "setValueAsString", s);
-00051     }
-00052         
-00053 };
-00054 
-00055 template <typename T>
-00056 struct ValueParam_pickle_suite : boost::python::pickle_suite
-00057 {
-00058     static
-00059     boost::python::tuple getstate(const eoValueParam<T>& _param)
-00060     {
-00061         str v(_param.getValue());
-00062         str d(_param.description());
-00063         str def(_param.defValue());
-00064         str l(_param.longName());
-00065         object s(_param.shortName());
-00066         object r(_param.required());    
-00067         return make_tuple(v,d,def,l,s,r);
-00068     }
-00069     static
-00070     void setstate(eoValueParam<T>& _param, boost::python::tuple pickled)
-00071     {
-00072         std::string v = extract<std::string>(pickled[0]);
-00073         std::string d = extract<std::string>(pickled[1]);
-00074         std::string def = extract<std::string>(pickled[2]);
-00075         std::string l = extract<std::string>(pickled[3]);
-00076         char s = extract<char>(pickled[4]);
-00077         bool r = extract<bool>(pickled[5]);
-00078 
-00079         _param = eoValueParam<T>(T(), l, d, s, r);
-00080         _param.defValue(d);
-00081         _param.setValue(v);
-00082     }
-00083 };
-00084 
-00085 template <class T, class U>
-00086 U getv(const eoValueParam<T>& v)    { return v.value(); }
-00087 
-00088 template <class T, class U>
-00089 void setv(eoValueParam<T>& v, U val) { v.value() = val; }
-00090 
-00091 template <>
-00092 numeric::array getv< std::vector<double>, numeric::array >
-00093     (const eoValueParam< std::vector<double> >& param)
-00094 {
-00095     const std::vector<double>& v = param.value();
-00096     list result;
-00097 
-00098     for (unsigned i =0; i < v.size(); ++i)
-00099         result.append(v[i]);
-00100     
-00101     return numeric::array(result);
-00102 }
-00103 
-00104 template <>
-00105 void setv< std::vector<double>, numeric::array >
-00106     (eoValueParam< std::vector<double> >& param, numeric::array val)
-00107 {
-00108     std::vector<double>& v = param.value();
-00109     v.resize( boost::python::len(val) );
-00110     for (unsigned i = 0; i < v.size(); ++i)
-00111     {
-00112         extract<double> x(val[i]);
-00113         if (!x.check())
-00114             throw std::runtime_error("double expected");
-00115         
-00116         v[i] = x();
-00117     }
-00118 }
-00119 
-00120 template <>
-00121 tuple getv<std::pair<double, double>, tuple >
-00122     (const eoValueParam< std::pair<double,double> >& p)
-00123 {
-00124     return make_tuple(p.value().first, p.value().second);
-00125 }
-00126 
-00127 template <>
-00128 void setv< std::pair<double, double>, tuple >
-00129     (eoValueParam< std::pair<double,double> >& p, tuple val)
-00130 {
-00131     extract<double> first(val[0]);
-00132     extract<double> second(val[1]);
-00133 
-00134     if (!first.check())
-00135         throw std::runtime_error("doubles expected");
-00136     if (!second.check())
-00137         throw std::runtime_error("doubles expected");
-00138 
-00139     p.value().first = first();
-00140     p.value().second = second();
-00141 }
-00142 
-00143 template <class T, class U>
-00144 void define_valueParam(std::string prefix)
-00145 {
-00146     std::string name = "eoValueParam";
-00147     name += prefix;
-00148     
-00149     class_<eoValueParam<T>, bases<eoParam> >(name.c_str(), init<>())
-00150         .def(init<T, std::string, std::string, char, bool>())
-00151         .def(init<T, std::string, std::string, char>())
-00152         .def(init<T, std::string, std::string>())
-00153         .def(init<T, std::string>())
-00154         .def("getValueAsString", &eoValueParam<T>::getValue)
-00155         .def("__str__", &eoValueParam<T>::getValue)
-00156         .def("setValueAsString", &eoValueParam<T>::setValue)
-00157         .def("getValue", getv<T, U>)
-00158         .def("setValue", setv<T, U>)
-00159         .add_property("value", getv<T, U>, setv<T, U>)
-00160         .def_pickle(ValueParam_pickle_suite<T>())
-00161         ;
-00162 }
-00163 
-00164 void valueParam()
-00165 {
-00166     class_<eoParam, ParamWrapper, boost::noncopyable>("eoParam", init<>())
-00167         .def(init< std::string, std::string, std::string, char, bool>())
-00168         .def("getValueAsString", &ParamWrapper::getValue)
-00169         .def("setValueAsString", &ParamWrapper::setValue)
-00170         .def("longName", &eoParam::longName, return_value_policy<copy_const_reference>())
-00171         //.def("defValue", &eoParam::defValue, return_value_policy<copy_const_reference>())
-00172         .def("description", &eoParam::description, return_value_policy<copy_const_reference>())
-00173         .def("shortName", &eoParam::shortName)
-00174         .def("required", &eoParam::required)
-00175         ;
-00176     
-00177     define_valueParam<int, int>("Int");
-00178     define_valueParam<double, double>("Float");
-00179     define_valueParam<std::vector<double>, numeric::array >("Vec");
-00180     define_valueParam< std::pair<double, double>, tuple >("Pair");
-00181     //define_valueParam< object, object >("Py");
-00182 
-00183     class_<ValueParam, bases<eoParam> >("eoValueParam", init<>())
-00184         //.def(init<object, std::string, std::string, char, bool>())
-00185         //.def(init<object, std::string, std::string, char>())
-00186         //.def(init<object, std::string, std::string>())
-00187         .def(init<object, std::string>())
-00188         .def("getValueAsString", &ValueParam::getValue)
-00189         .def("__str__", &ValueParam::getValue)
-00190         .def("setValueAsString", &ValueParam::setValue)
-00191         .add_property("object", &ValueParam::getObj, &ValueParam::setObj)
-00192         ;
-00193 }
-00194 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/value_param_8h-source.html b/trunk/paradiseo-eo/doc/html/value_param_8h-source.html deleted file mode 100644 index 1aac6c30d..000000000 --- a/trunk/paradiseo-eo/doc/html/value_param_8h-source.html +++ /dev/null @@ -1,58 +0,0 @@ - - -EO: valueParam.h Source File - - - - - -

valueParam.h

00001 #ifndef VALUEPARAM_H
-00002 #define VALUEPARAM_H
-00003 
-00004 #include <string>
-00005 #include <boost/python.hpp>
-00006 
-00007 class ValueParam : public eoParam // ValueParam containing python object
-00008 {
-00009     boost::python::object obj;
-00010     
-00011     public:
-00012     
-00013     ValueParam() : eoParam(), obj() {}
-00014     
-00015     ValueParam(boost::python::object o, 
-00016             std::string longName, 
-00017             std::string d = "No Description",
-00018             char s = 0,
-00019             bool r = false) : eoParam(longName, "", d, s, r) 
-00020             {
-00021                 std::cerr << "HI" << std::endl;
-00022                 obj = o;
-00023                 eoParam::defValue(getValue());
-00024             }
-00025 
-00026     
-00027     std::string getValue() const
-00028     {
-00029         boost::python::str s = boost::python::str(obj);
-00030         return std::string(boost::python::extract<const char*>(s));
-00031     }
-00032 
-00033     void setValue(const std::string& v)
-00034     {
-00035         std::cerr << "not implemented yet" << std::endl;
-00036     }
-00037 
-00038     boost::python::object getObj() const { return obj;}
-00039     void setObj(boost::python::object o) { obj = o; }
-00040     
-00041 };
-00042 
-00043 #endif
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/vecop_8h-source.html b/trunk/paradiseo-eo/doc/html/vecop_8h-source.html deleted file mode 100644 index 01400c63a..000000000 --- a/trunk/paradiseo-eo/doc/html/vecop_8h-source.html +++ /dev/null @@ -1,229 +0,0 @@ - - -EO: vecop.h Source File - - - - - -

vecop.h

00001 //-----------------------------------------------------------------------------
-00002 // vecop.h
-00003 //-----------------------------------------------------------------------------
-00004 
-00005 #ifndef VECOP_H
-00006 #define VECOP_H
-00007 
-00008 //-----------------------------------------------------------------------------
-00009 
-00010 #include <iostream>    // ostream istream
-00011 #include <vector>      // vector
-00012 #include <functional>  // plus minus multiplies divides
-00013 #include <numeric>     // inner_product
-00014 
-00015 //-----------------------------------------------------------------------------
-00016 // vector + vector
-00017 //-----------------------------------------------------------------------------
-00018 
-00019 template<class T> vector<T> operator+(const vector<T>& v1, const vector<T>& v2)
-00020 {
-00021   vector<T> tmp = v1;
-00022   transform(tmp.begin(), tmp.end(), v2.begin(), tmp.begin(), plus<T>());
-00023   return tmp;
-00024 }
-00025 
-00026 template<class T> vector<T> operator-(const vector<T>& v1, const vector<T>& v2)
-00027 {
-00028   vector<T> tmp = v1;
-00029   transform(tmp.begin(), tmp.end(), v2.begin(), tmp.begin(), minus<T>());
-00030   return tmp;
-00031 }
-00032 
-00033 template<class T> T operator*(const vector<T>& v1, const vector<T>& v2)
-00034 {
-00035   return inner_product(v1.begin(), v1.end(), v2.begin(), static_cast<T>(0));
-00036 }
-00037 
-00038 template<class T> T operator/(const vector<T>& v1, const vector<T>& v2)
-00039 {
-00040   return inner_product(v1.begin(), v1.end(), v2.begin(), static_cast<T>(0),
-00041                        plus<T>(), divides<T>());
-00042 }
-00043 
-00044 //-----------------------------------------------------------------------------
-00045 // vector += vector
-00046 //-----------------------------------------------------------------------------
-00047 
-00048 template<class T> vector<T>& operator+=(vector<T>& v1, const vector<T>& v2)
-00049 {
-00050   transform(v1.begin(), v1.end(), v2.begin(), v1.begin(), plus<T>());
-00051   return v1;
-00052 }
-00053 
-00054 template<class T> vector<T>& operator-=(vector<T>& v1, const vector<T>& v2)
-00055 {
-00056   transform(v1.begin(), v1.end(), v2.begin(), v1.begin(), minus<T>());
-00057   return v1;
-00058 }
-00059 
-00060 //-----------------------------------------------------------------------------
-00061 // vector + number
-00062 //-----------------------------------------------------------------------------
-00063 
-00064 template<class A, class B> vector<A> operator+(const vector<A>& a, const B& b)
-00065 {
-00066   vector<A> tmp = a;
-00067   transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(plus<A>(), b));
-00068   return tmp;
-00069 }
-00070 
-00071 template<class A, class B> vector<A> operator-(const vector<A>& a, const B& b)
-00072 {
-00073   vector<A> tmp = a;
-00074   transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(minus<A>(), b));
-00075   return tmp;
-00076 }
-00077 
-00078 template<class A, class B> vector<A> operator*(const vector<A>& a, const B& b)
-00079 {
-00080   vector<A> tmp = a;
-00081   transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(multiplies<A>(), b));
-00082   return tmp;
-00083 }
-00084 
-00085 template<class A, class B> vector<A> operator/(const vector<A>& a, const B& b)
-00086 {
-00087   vector<A> tmp = a;
-00088   transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(divides<A>(), b));
-00089   return tmp;
-00090 }
-00091 
-00092 //-----------------------------------------------------------------------------
-00093 // number + vector
-00094 //-----------------------------------------------------------------------------
-00095 
-00096 template<class A, class B> vector<A> operator+(const B& b, const vector<A>& a)
-00097 {
-00098   vector<A> tmp = a;
-00099   transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(plus<A>(), b));
-00100   return tmp;
-00101 }
-00102 
-00103 template<class A, class B> vector<A> operator-(const B& b, const vector<A>& a)
-00104 {
-00105   vector<A> tmp(a.size(), b);
-00106   transform(tmp.begin(), tmp.end(), a.begin(), tmp.begin(), minus<A>());
-00107   return tmp;
-00108 }
-00109 
-00110 template<class A, class B> vector<A> operator*(const B& b, const vector<A>& a)
-00111 {
-00112   vector<A> tmp = a;
-00113   transform(tmp.begin(), tmp.end(), tmp.begin(), bind2nd(multiplies<A>(), b));
-00114   return tmp;
-00115 }
-00116 
-00117 template<class A, class B> vector<A> operator/(const B& b, const vector<A>& a)
-00118 {
-00119   vector<A> tmp(a.size(), b);
-00120   transform(tmp.begin(), tmp.end(), a.begin(), tmp.begin(), divides<A>());
-00121   return tmp;
-00122 }
-00123 
-00124 //-----------------------------------------------------------------------------
-00125 // vector += number
-00126 //-----------------------------------------------------------------------------
-00127 
-00128 template<class A, class B> vector<A>& operator+=(vector<A>& a, const B& b)
-00129 {
-00130   transform(a.begin(), a.end(), a.begin(), bind2nd(plus<A>(), b));
-00131   return a;
-00132 }
-00133 
-00134 template<class A, class B> vector<A>& operator-=(vector<A>& a, const B& b)
-00135 {
-00136   transform(a.begin(), a.end(), a.begin(), bind2nd(minus<A>(), b));
-00137   return a;
-00138 }
-00139 
-00140 template<class A, class B> vector<A>& operator*=(vector<A>& a, const B& b)
-00141 {
-00142   transform(a.begin(), a.end(), a.begin(), bind2nd(multiplies<A>(), b));
-00143   return a;
-00144 }
-00145 
-00146 template<class A, class B> vector<A>& operator/=(vector<A>& a, const B& b)
-00147 {
-00148   transform(a.begin(), a.end(), a.begin(), bind2nd(divides<A>(), b));
-00149   return a;
-00150 }
-00151 
-00152 //-----------------------------------------------------------------------------
-00153 // I/O
-00154 //-----------------------------------------------------------------------------
-00155 
-00156 template<class T> ostream& operator<<(ostream& os, const vector<T>& v)
-00157 {
-00158   os << '<';
-00159   if (v.size())
-00160     {
-00161       copy(v.begin(), v.end() - 1, ostream_iterator<T>(os, " "));
-00162       os << v.back();
-00163     } 
-00164   return os << '>';
-00165 }
-00166 
-00167 template<class T> istream& operator>>(istream& is, vector<T>& v)
-00168 {
-00169   v.clear();
-00170   
-00171   char c;
-00172   is >> c;
-00173   if (!is || c != '<')
-00174     is.setstate(ios::failbit);
-00175   else
-00176     {
-00177       T t;
-00178       do {
-00179         is >> c;
-00180         if (is && c!= '>')
-00181           {
-00182             is.putback(c);
-00183             is >> t;
-00184             if (is)
-00185               v.push_back(t);
-00186           }
-00187       } while (is && c != '>');
-00188     }
-00189   
-00190   return is;
-00191 }
-00192 
-00193 //-----------------------------------------------------------------------------
-00194 // euclidean_distance
-00195 //-----------------------------------------------------------------------------
-00196 
-00197 template<class T> T euclidean_distance(const vector<T>& v1, 
-00198                                        const vector<T>& v2)
-00199 {
-00200   T sum = 0, tmp;
-00201   
-00202   for (unsigned i = 0; i < v1.size(); ++i)
-00203     {
-00204       tmp = v1[i] - v2[i];
-00205       sum += tmp * tmp;
-00206     }
-00207 
-00208   return sqrt(sum);
-00209 }
-00210 
-00211 //-----------------------------------------------------------------------------
-00212 
-00213 #endif
-00214 
-

Generated on Thu Oct 19 05:06:44 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/html/webpages.html b/trunk/paradiseo-eo/doc/html/webpages.html deleted file mode 100644 index a518263a3..000000000 --- a/trunk/paradiseo-eo/doc/html/webpages.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EO: Related webpages - - - - -

Related webpages

-
Generated on Thu Oct 19 05:07:01 2006 for EO by  - -doxygen 1.3.9.1
- - diff --git a/trunk/paradiseo-eo/doc/index.h b/trunk/paradiseo-eo/doc/index.h deleted file mode 100644 index 537c02716..000000000 --- a/trunk/paradiseo-eo/doc/index.h +++ /dev/null @@ -1,67 +0,0 @@ -/** @mainpage Welcome to Evolving Objects - -@section intro Introduction - -EO is a templates-based, ANSI-C++ compliant evolutionary computation library. It -contains classes for almost any kind of evolutionary computation you might come -up to - at least for the ones we could think of. It is component-based, so that -if you don't find the class you need in it, it is very easy to subclass existing -abstract or concrete classes. - - - -@section tutorial Tutorial - -The best place to learn about the features and approaches of EO is to look at -the tutorial. - - - -@section install Installation - -The installation procedure of the package is detailed in the README file in the top-directory of the source-tree. - - - -@section design Overall Design - -For an introduction to the design of EO you can look at the slides from a talk -at EA 2001 or the corresponding article in Lecture Notes In -Computer Science 2310, Selected Papers from the 5th European -Conference on Artificial Evolution. -*/ - - - -/** @page webpages Related webpages - -- EO homepage -- EO Tutorial. -- SourceForge project page -- README -- NEWS -*/ - - - -/** @page Related Projects - -

ParadisEO

- -ParadisEO is a project to -extend EO to make use of dedicated parallel or distributed computing -environments by Sébastien Cahon. -*/ - - - -// Local Variables: -// coding: iso-8859-1 -// mode: C++ -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/doc/latex/Helvetica.ttf b/trunk/paradiseo-eo/doc/latex/Helvetica.ttf deleted file mode 100644 index 8051f8a11..000000000 Binary files a/trunk/paradiseo-eo/doc/latex/Helvetica.ttf and /dev/null differ diff --git a/trunk/paradiseo-eo/doc/latex/Makefile b/trunk/paradiseo-eo/doc/latex/Makefile deleted file mode 100644 index 6769968a2..000000000 --- a/trunk/paradiseo-eo/doc/latex/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -all clean: refman.dvi - -ps: refman.ps - -pdf: refman.pdf - -ps_2on1: refman_2on1.ps - -pdf_2on1: refman_2on1.pdf - -refman.ps: refman.dvi - dvips -o refman.ps refman.dvi - -refman.pdf: refman.ps - ps2pdf refman.ps refman.pdf - -refman.dvi: refman.tex doxygen.sty - echo "Running latex..." - latex refman.tex - echo "Running makeindex..." - makeindex refman.idx - echo "Rerunning latex...." - latex refman.tex - latex_count=5 ; \ - while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ - do \ - echo "Rerunning latex...." ;\ - latex refman.tex ;\ - latex_count=`expr $$latex_count - 1` ;\ - done - -refman_2on1.ps: refman.ps - psnup -2 refman.ps >refman_2on1.ps - -refman_2on1.pdf: refman_2on1.ps - ps2pdf refman_2on1.ps refman_2on1.pdf - -clean: - rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf diff --git a/trunk/paradiseo-eo/doc/latex/annotated.tex b/trunk/paradiseo-eo/doc/latex/annotated.tex deleted file mode 100644 index ff8a82c34..000000000 --- a/trunk/paradiseo-eo/doc/latex/annotated.tex +++ /dev/null @@ -1,349 +0,0 @@ -\section{EO Class List} -Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} -\item\contentsline{section}{{\bf eo1Pt\-Bit\-Crossover} (Eo1Pt\-Bit\-Xover --$>$ classic 1-point crossover )}{\pageref{classeo1_pt_bit_crossover}}{} -\item\contentsline{section}{{\bf eo\-Aged$<$ Object $>$} (Eo\-Age is a template class that adds an age to an object.$\backslash$ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor )}{\pageref{classeo_aged}}{} -\item\contentsline{section}{{\bf eo\-Algo$<$ EOT $>$} (This is a generic class for population-transforming algorithms )}{\pageref{classeo_algo}}{} -\item\contentsline{section}{{\bf eo\-Arithmetic\-Crossover} (Eo\-Hypercube\-Crossover --$>$ uniform choice in hypercube == arithmetical with different values for each coordinate )}{\pageref{classeo_arithmetic_crossover}}{} -\item\contentsline{section}{{\bf eo\-Assembled\-Fitness\-Average\-Stat$<$ EOT $>$} (Average fitness values of a population, where the fitness is of type eo\-Scalar\-Assembled\-Fitness )}{\pageref{classeo_assembled_fitness_average_stat}}{} -\item\contentsline{section}{{\bf eo\-Assembled\-Fitness\-Best\-Stat$<$ EOT $>$} (Fitness values of best individuum in a population, where the fitness is of type eo\-Scalar\-Assembled\-Fitness )}{\pageref{classeo_assembled_fitness_best_stat}}{} -\item\contentsline{section}{{\bf eo\-Atom\-Exchange$<$ Atom $>$} (A helper class for choosing which genes to exchange )}{\pageref{classeo_atom_exchange}}{} -\item\contentsline{section}{{\bf eo\-Average\-Stat$<$ EOT $>$} (Average fitness of a population )}{\pageref{classeo_average_stat}}{} -\item\contentsline{section}{{\bf eo\-Best\-Fitness\-Stat$<$ EOT $>$} (Best fitness of a population )}{\pageref{classeo_best_fitness_stat}}{} -\item\contentsline{section}{{\bf eo\-Best\-Select$<$ EOT $>$} (Eo\-Best\-Select: a selection method that always return the best (mainly for testing purposes) )}{\pageref{classeo_best_select}}{} -\item\contentsline{section}{{\bf eo\-BF$<$ A1, A2, R $>$} (Basic Binary Functor )}{\pageref{classeo_b_f}}{} -\item\contentsline{section}{{\bf Biased\-Node\-Selector} (A node selector that does a specified number of rounds ignoring terminals )}{\pageref{class_biased_node_selector}}{} -\item\contentsline{section}{{\bf eo\-Binary\-Functor\-Counter$<$ Binary\-Functor $>$} (Generic counter class that counts the number of times a binary function is used )}{\pageref{classeo_binary_functor_counter}}{} -\item\contentsline{section}{{\bf eo\-Bin\-Clone\-Op$<$ EOT $>$} (Binary clone: two operands, only the first could be modified )}{\pageref{classeo_bin_clone_op}}{} -\item\contentsline{section}{{\bf eo\-Bin\-Gen\-Op$<$ EOT $>$} (Wrapper for binop: here we use select method of {\bf eo\-Populator}{\rm (p.\,\pageref{classeo_populator})} but we could also have an embedded selector to select the second parent )}{\pageref{classeo_bin_gen_op}}{} -\item\contentsline{section}{{\bf eo\-Bin\-Op$<$ EOType $>$} (Binary genetic operator: subclasses {\bf eo\-Op}{\rm (p.\,\pageref{classeo_op})}, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content )}{\pageref{classeo_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Bit$<$ Fit\-T $>$} (Implementation of bitstring chromosome )}{\pageref{classeo_bit}}{} -\item\contentsline{section}{{\bf eo\-Bit\-Bit\-Flip} (Eo\-Bit\-Flip --$>$ changes 1 bit )}{\pageref{classeo_bit_bit_flip}}{} -\item\contentsline{section}{{\bf eo\-Bit\-Gx\-Over$<$ Chrom $>$} (Eo\-Bit\-Gx\-Over --$>$ Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) )}{\pageref{classeo_bit_gx_over}}{} -\item\contentsline{section}{{\bf eo\-Bit\-Inversion$<$ Chrom $>$} (Eo\-Bit\-Inversion: inverts the bits of the chromosome between an interval )}{\pageref{classeo_bit_inversion}}{} -\item\contentsline{section}{{\bf eo\-Bit\-Mutation$<$ Chrom $>$} (Eo\-Bit\-Mutation --$>$ classical mutation )}{\pageref{classeo_bit_mutation}}{} -\item\contentsline{section}{{\bf eo\-Bit\-Next$<$ Chrom $>$} (Eo\-Bit\-Next --$>$ next value when bitstring considered as binary value )}{\pageref{classeo_bit_next}}{} -\item\contentsline{section}{{\bf eo\-Bit\-Op\-Factory$<$ EOT $>$} ({\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory )}{\pageref{classeo_bit_op_factory}}{} -\item\contentsline{section}{{\bf eo\-Bit\-Prev$<$ Chrom $>$} (Eo\-Bit\-Prev --$>$ previous value when bitstring treated as binary value )}{\pageref{classeo_bit_prev}}{} -\item\contentsline{section}{{\bf boolean\_\-generator} (The class boolean\_\-generator can be used in the STL generate function to easily generate random booleans with a specified bias )}{\pageref{classboolean__generator}}{} -\item\contentsline{section}{{\bf eo\-Boolean\-Generator} (The class eo\-Boolean\-Generator can be used in the STL generate function to easily generate random booleans with a specified bias )}{\pageref{classeo_boolean_generator}}{} -\item\contentsline{section}{{\bf eo\-Boolean\-Init} (The class eo\-Boolean\-Init can be used in the STL apply function to easily generate random booleans with a specified bias )}{\pageref{classeo_boolean_init}}{} -\item\contentsline{section}{{\bf eo\-Bool\-Flip} (Simple boolean mutation - to be used in generic eo\-Op's )}{\pageref{classeo_bool_flip}}{} -\item\contentsline{section}{{\bf eo\-Branch\-Mutation$<$ FType, Node $>$} (Eo\-Branch\-Mutation --$>$ replace a subtree with a randomly created subtree )}{\pageref{classeo_branch_mutation}}{} -\item\contentsline{section}{{\bf eo\-Breed$<$ EOT $>$} (Breeding: combination of selecting and transforming a population )}{\pageref{classeo_breed}}{} -\item\contentsline{section}{{\bf eo\-Cellular\-Easy\-EA$<$ EOT $>$} (The abstract cellular easy algorithm )}{\pageref{classeo_cellular_easy_e_a}}{} -\item\contentsline{section}{{\bf eo\-Check\-Point$<$ EOT $>$} (Eo\-Check\-Point is a container class )}{\pageref{classeo_check_point}}{} -\item\contentsline{section}{{\bf eo\-CMABreed$<$ Fit\-T $>$} (TODO, handle bounds )}{\pageref{classeo_c_m_a_breed}}{} -\item\contentsline{section}{{\bf eo\-CMAInit$<$ Fit\-T $>$} (TODO, handle bounds )}{\pageref{classeo_c_m_a_init}}{} -\item\contentsline{section}{{\bf eo\-Collapse\-Subtree\-Mutation$<$ FType, Node $>$} (Eo\-Collapse\-Subtree --$>$ replace a subtree with a randomly chosen terminal )}{\pageref{classeo_collapse_subtree_mutation}}{} -\item\contentsline{section}{{\bf eo\-Combined\-Continue$<$ EOT $>$} (Combined continuators - logical AND: Continues until one of the embedded continuators says halt! )}{\pageref{classeo_combined_continue}}{} -\item\contentsline{section}{{\bf eo\-Combined\-Init$<$ EOT $>$} (Combined INIT: a proportional recombination of {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} objects )}{\pageref{classeo_combined_init}}{} -\item\contentsline{section}{{\bf eo\-Comma\-Replacement$<$ EOT $>$} (ES type of replacement strategy: ignore parents, truncate offspring )}{\pageref{classeo_comma_replacement}}{} -\item\contentsline{section}{{\bf eo\-Continue$<$ EOT $>$} (Termination condition for the genetic algorithm Takes the population as input, returns true for continue, false for termination )}{\pageref{classeo_continue}}{} -\item\contentsline{section}{{\bf eo\-Counted\-Dyn\-Update} (An {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} to update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object every given tic )}{\pageref{classeo_counted_dyn_update}}{} -\item\contentsline{section}{{\bf eo\-Counted\-State\-Saver} (Eo\-Updater that saves a state every given generations )}{\pageref{classeo_counted_state_saver}}{} -\item\contentsline{section}{{\bf Cov} (Single covariance between two variates )}{\pageref{class_cov}}{} -\item\contentsline{section}{{\bf eo\-Ctrl\-CContinue$<$ EOT $>$} (Ctrl C handling: this {\bf eo\-Continue}{\rm (p.\,\pageref{classeo_continue})} tells whether the user pressed Ctrl C )}{\pageref{classeo_ctrl_c_continue}}{} -\item\contentsline{section}{{\bf eo\-Det\-Bit\-Flip$<$ Chrom $>$} (Eo\-Det\-Bit\-Flip --$>$ changes exactly k bits )}{\pageref{classeo_det_bit_flip}}{} -\item\contentsline{section}{{\bf eo\-Deterministic\-Sa\-DReplacement$<$ EOT $>$} (Eo\-Deterministic\-Sa\-DReplacement: replacement strategy that is just, in sequence saves best and kill worse from parents + saves best and kill worse from offspring + merge remaining (neither save nor killed) parents and offspring + reduce that merged population = returns reduced pop + best parents + best offspring )}{\pageref{classeo_deterministic_sa_d_replacement}}{} -\item\contentsline{section}{{\bf eo\-Deterministic\-Survive\-And\-Die$<$ EOT $>$} (An instance (theonly one as of today, Dec )}{\pageref{classeo_deterministic_survive_and_die}}{} -\item\contentsline{section}{{\bf eo\-Det\-Select$<$ EOT $>$} (Eo\-Det\-Select selects many individuals determinisctically )}{\pageref{classeo_det_select}}{} -\item\contentsline{section}{{\bf eo\-Det\-Tournament\-Select$<$ EOT $>$} (Eo\-Det\-Tournament\-Select: a selection method that selects ONE individual by deterministic tournament -MS- 24/10/99 )}{\pageref{classeo_det_tournament_select}}{} -\item\contentsline{section}{{\bf eo\-Det\-Tournament\-Truncate$<$ EOT $>$} (Truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g )}{\pageref{classeo_det_tournament_truncate}}{} -\item\contentsline{section}{{\bf eo\-Det\-Tournament\-Truncate\-Split$<$ EOT $>$} (Reduce\-Split class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g )}{\pageref{classeo_det_tournament_truncate_split}}{} -\item\contentsline{section}{{\bf eo\-Det\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$} (An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a .. )}{\pageref{classeo_det_tournament_worth_select}}{} -\item\contentsline{section}{{\bf eo\-Det\-Uniform\-Mutation$<$ EOT $>$} (Eo\-Det\-Uniform\-Mutation --$>$ changes exactly k values of the std::vector by uniform choice with range epsilon )}{\pageref{classeo_det_uniform_mutation}}{} -\item\contentsline{section}{{\bf eo\-Distance$<$ EOT $>$} (This is a generic class for distance functors: takes 2 things ane returns a double )}{\pageref{classeo_distance}}{} -\item\contentsline{section}{{\bf eo\-Distrib\-Updater$<$ EOT $>$} (Base class for Distribution Evolution Algorithms within {\bf EO}{\rm (p.\,\pageref{class_e_o})}: the update rule of distribution )}{\pageref{classeo_distrib_updater}}{} -\item\contentsline{section}{{\bf eo\-Distribution$<$ EOT $>$} (Abstract class for Distribution Evolution Algorithms within {\bf EO}{\rm (p.\,\pageref{class_e_o})}: the distribution itself )}{\pageref{classeo_distribution}}{} -\item\contentsline{section}{{\bf d\-Matrix} (A helper class for Sharing - to hold distances )}{\pageref{classd_matrix}}{} -\item\contentsline{section}{{\bf eo\-Dominance\-Map$<$ Eo\-Type $>$} (Eo\-Dominance\-Map, utility class to calculate and maintain a map (std::vector$<$std::vector$<$bool$>$ $>$) of pareto dominance statistics )}{\pageref{classeo_dominance_map}}{} -\item\contentsline{section}{{\bf eo\-Double\-Exchange} (Discrete crossover == exchange of values )}{\pageref{classeo_double_exchange}}{} -\item\contentsline{section}{{\bf eo\-Double\-Intermediate} (Intermediate crossover == linear combination )}{\pageref{classeo_double_intermediate}}{} -\item\contentsline{section}{{\bf eo\-Drawable$<$ Object $>$} (Eo\-Drawable is a template class that adds a drawing interface to an object.$\backslash$ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor )}{\pageref{classeo_drawable}}{} -\item\contentsline{section}{{\bf Dummy} (Test program for the general operator - millenium version! uses dummy individuals )}{\pageref{struct_dummy}}{} -\item\contentsline{section}{{\bf eo\-Dyn\-SGATransform$<$ EOT $>$} (Eo\-Dyn\-SGATransform: transforms a population using genetic operators )}{\pageref{classeo_dyn_s_g_a_transform}}{} -\item\contentsline{section}{{\bf eo\-Dyn\-Updater} (A base class to actually update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object )}{\pageref{classeo_dyn_updater}}{} -\item\contentsline{section}{{\bf eo\-Easy\-EA$<$ EOT $>$} (An easy-to-use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-algorithms )}{\pageref{classeo_easy_e_a}}{} -\item\contentsline{section}{{\bf eo\-EDA$<$ EOT $>$} (Eo\-EDA: Estimation of Distribution Algorithm within {\bf EO}{\rm (p.\,\pageref{class_e_o})} )}{\pageref{classeo_e_d_a}}{} -\item\contentsline{section}{{\bf eo\-Elite\-Sequential\-Select$<$ EOT $>$} (All Individuals in order )}{\pageref{classeo_elite_sequential_select}}{} -\item\contentsline{section}{{\bf eo\-Elitism$<$ EOT $>$} (Straightforward elitism class, specify the number of individuals to copy into new geneneration or the rate w.r.t )}{\pageref{classeo_elitism}}{} -\item\contentsline{section}{{\bf EO$<$ F $>$} (EO is a base class for evolvable objects, that is, the subjects of evolution )}{\pageref{class_e_o}}{} -\item\contentsline{section}{{\bf eo\-EPReduce$<$ EOT $>$} (EP truncation method (some global stochastic tournament + sort) Softer selective pressure than pure truncate )}{\pageref{classeo_e_p_reduce}}{} -\item\contentsline{section}{{\bf eo\-EPReplacement$<$ EOT $>$} (EP type of replacement strategy: first add parents to population, then truncate using EP tournament )}{\pageref{classeo_e_p_replacement}}{} -\item\contentsline{section}{{\bf eo\-Es\-Chrom\-Init$<$ EOT $>$} (Random Es-chromosome initializer (therefore derived from {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}) )}{\pageref{classeo_es_chrom_init}}{} -\item\contentsline{section}{{\bf eo\-Es\-Full$<$ Fit $>$} (The most complex evolutionary strategy representation )}{\pageref{classeo_es_full}}{} -\item\contentsline{section}{{\bf eo\-Es\-Global\-Xover$<$ EOT $>$} (Gloabl crossover operator for ES genotypes )}{\pageref{classeo_es_global_xover}}{} -\item\contentsline{section}{{\bf eo\-Es\-Mutate$<$ EOT $>$} (ES-style mutation in the large )}{\pageref{classeo_es_mutate}}{} -\item\contentsline{section}{{\bf eo\-Es\-Mutation\-Init} (Initialize Mutation operator )}{\pageref{classeo_es_mutation_init}}{} -\item\contentsline{section}{{\bf eo\-Es\-Simple$<$ Fit $>$} (Simple Evolution Strategy )}{\pageref{classeo_es_simple}}{} -\item\contentsline{section}{{\bf eo\-Es\-Standard\-Xover$<$ EOT $>$} (Standard (i.e )}{\pageref{classeo_es_standard_xover}}{} -\item\contentsline{section}{{\bf eo\-Es\-Stdev$<$ Fit $>$} (Evolutionary Strategy with a standard deviation per parameter )}{\pageref{classeo_es_stdev}}{} -\item\contentsline{section}{{\bf eo\-Eval\-Continue$<$ EOT $>$} (Continues until a number of evaluations has been made )}{\pageref{classeo_eval_continue}}{} -\item\contentsline{section}{{\bf eo\-Eval\-Func$<$ EOT $>$} (Evaluate: takes one {\bf EO}{\rm (p.\,\pageref{class_e_o})} and sets its \char`\"{}fitness\char`\"{} property returning this fitness also )}{\pageref{classeo_eval_func}}{} -\item\contentsline{section}{{\bf eo\-Eval\-Func\-Counter$<$ EOT $>$} (Counts the number of evaluations actually performed, thus checks first if it has to evaluate. )}{\pageref{classeo_eval_func_counter}}{} -\item\contentsline{section}{{\bf eo\-Eval\-Func\-Ptr$<$ EOT, Fit\-T, Function\-Arg $>$} (EOEval\-Func\-Ptr: This class takes an existing function pointer and converts it into a evaluation function class )}{\pageref{structeo_eval_func_ptr}}{} -\item\contentsline{section}{{\bf eo\-Expansion\-Mutation$<$ FType, Node $>$} (Eo\-Expansion\-Mutation --$>$ replace a terminal with a randomly created subtree )}{\pageref{classeo_expansion_mutation}}{} -\item\contentsline{section}{{\bf eo\-External\-Bin\-Op$<$ F, External, External\-EO $>$} (Crossover of external struct, ctor expects a function of the following signature: )}{\pageref{classeo_external_bin_op}}{} -\item\contentsline{section}{{\bf eo\-External\-EO$<$ Fit, External $>$} (Definition of an object that allows an external struct to be inserted in {\bf EO}{\rm (p.\,\pageref{class_e_o})} )}{\pageref{classeo_external_e_o}}{} -\item\contentsline{section}{{\bf eo\-External\-Eval\-Func$<$ F, External, External\-EO $>$} (Evaluation of external struct, ctor expects a function of the following signature: )}{\pageref{classeo_external_eval_func}}{} -\item\contentsline{section}{{\bf eo\-External\-Init$<$ F, External, External\-EO $>$} (Initialization of external struct, ctor expects a function of the following signature: )}{\pageref{classeo_external_init}}{} -\item\contentsline{section}{{\bf eo\-External\-Mon\-Op$<$ F, External, External\-EO $>$} (Mutation of external struct, ctor expects a function of the following signature: )}{\pageref{classeo_external_mon_op}}{} -\item\contentsline{section}{{\bf eo\-External\-Quad\-Op$<$ F, External, External\-EO $>$} (Crossover of external struct, ctor expects a function of the following signature: )}{\pageref{classeo_external_quad_op}}{} -\item\contentsline{section}{{\bf eo\-F$<$ R $>$} (Basic Function )}{\pageref{classeo_f}}{} -\item\contentsline{section}{{\bf eo\-Factory$<$ EOClass $>$} ({\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory )}{\pageref{classeo_factory}}{} -\item\contentsline{section}{{\bf eo\-FDCFile\-Snapshot$<$ EOT $>$} (Specific class for FDCStat monitoring: As I failed to have FDC stat as an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}, this is the trick to put the 2 {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})}$<$std::vector$<$double$>$ $>$ into a monitor This class does nothing else )}{\pageref{classeo_f_d_c_file_snapshot}}{} -\item\contentsline{section}{{\bf eo\-FDCStat$<$ EOT $>$} (The FDC computation - stores the values into eo\-Value\-Param$<$EOT,double$>$ so they can be snapshot by some eo\-Gnuplot\-Snapshot .. )}{\pageref{classeo_f_d_c_stat}}{} -\item\contentsline{section}{{\bf eo\-File\-Monitor} (Prints statistics to file )}{\pageref{classeo_file_monitor}}{} -\item\contentsline{section}{{\bf eo\-File\-Snapshot} (Prints snapshots of fitnesses to a (new) file every N generations )}{\pageref{classeo_file_snapshot}}{} -\item\contentsline{section}{{\bf eo\-Fit\-Continue$<$ EOT $>$} (Fitness continuation: )}{\pageref{classeo_fit_continue}}{} -\item\contentsline{section}{{\bf eo\-Fitness\-Scaling\-Select$<$ EOT $>$} (Eo\-Fitness\-Scaling\-Select: select an individual proportional to the linearly scaled fitness that is computed by the private {\bf eo\-Linear\-Fit\-Scaling}{\rm (p.\,\pageref{classeo_linear_fit_scaling})} object )}{\pageref{classeo_fitness_scaling_select}}{} -\item\contentsline{section}{{\bf eo\-Fitness\-Stat$<$ EOT, Fit\-T $>$} (The fitnesses of a whole population, as a vector )}{\pageref{classeo_fitness_stat}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or1pt\-Bin\-Op$<$ EOT $>$} (The 1pt crossover (just in case someone wants it some day!) )}{\pageref{classeo_fl_or1pt_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or1pt\-Quad\-Op$<$ EOT $>$} (The 1pt crossover (just in case someone wants it some day!) )}{\pageref{classeo_fl_or1pt_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or\-All\-Atom\-Bin\-Op$<$ EOT $>$} (Bin Crossover using an Atom Crossover that is applied to a ALL components with given rate )}{\pageref{classeo_fl_or_all_atom_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or\-All\-Atom\-Quad\-Op$<$ EOT $>$} (Quad Crossover using an Atom Crossover )}{\pageref{classeo_fl_or_all_atom_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or\-All\-Mutation$<$ EOT $>$} (Applies an atomic mutation to all the components with a given rate )}{\pageref{classeo_fl_or_all_mutation}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or\-KAtom\-Bin\-Op$<$ EOT $>$} (Bin Crossover using an Atom Crossover that is applied to a FIXED NB of components )}{\pageref{classeo_fl_or_k_atom_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or\-KAtom\-Quad\-Op$<$ EOT $>$} (Quad Crossover using an Atom Crossover that is applied to a FIXED NB of components )}{\pageref{classeo_fl_or_k_atom_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or\-KMutation$<$ EOT $>$} (Applies an atomic mutation to a fixed number of components (1 by default) )}{\pageref{classeo_fl_or_k_mutation}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or\-Uniform\-Bin\-Op$<$ EOT $>$} (The uniform crossover - exchanges atoms uniformly ! )}{\pageref{classeo_fl_or_uniform_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Fl\-Or\-Uniform\-Quad\-Op$<$ EOT $>$} (The uniform crossover - exchanges atoms uniformly ! )}{\pageref{classeo_fl_or_uniform_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Functor\-Base} (Base class for functors to get a nice hierarchy diagram )}{\pageref{classeo_functor_base}}{} -\item\contentsline{section}{{\bf eo\-Functor\-Base::binary\_\-function\_\-tag} (Tag to identify a binary function in compile time function selection functor\_\-category )}{\pageref{structeo_functor_base_1_1binary__function__tag}}{} -\item\contentsline{section}{{\bf eo\-Functor\-Base::procedure\_\-tag} (Tag to identify a procedure in compile time function selection functor\_\-category )}{\pageref{structeo_functor_base_1_1procedure__tag}}{} -\item\contentsline{section}{{\bf eo\-Functor\-Base::unary\_\-function\_\-tag} (Tag to identify a unary function in compile time function selection functor\_\-category )}{\pageref{structeo_functor_base_1_1unary__function__tag}}{} -\item\contentsline{section}{{\bf eo\-Functor\-Store} (Eo\-Functor\-Store is a class that stores functors that are allocated on the heap )}{\pageref{classeo_functor_store}}{} -\item\contentsline{section}{{\bf eo\-G3Replacement$<$ EOT $>$} (Eo\-G3Replacement is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - no strong elitism (is suppposed to be within a steady-state engine) - choose N (2) parents RANDOMLY - remove them from the parent population - merge offspring and the N removed parents - select best N of this merged population - put them back into parent population )}{\pageref{classeo_g3_replacement}}{} -\item\contentsline{section}{{\bf eo\-Gen\-Continue$<$ EOT $>$} (Generational continuator: continues until a number of generations is reached )}{\pageref{classeo_gen_continue}}{} -\item\contentsline{section}{{\bf eo\-Gene\-Del\-Chooser$<$ EOT $>$} (A helper class for choosing which site to delete )}{\pageref{classeo_gene_del_chooser}}{} -\item\contentsline{section}{{\bf eo\-General\-Breeder$<$ EOT $>$} (Base class for breeders using generalized operators )}{\pageref{classeo_general_breeder}}{} -\item\contentsline{section}{{\bf eo\-General\-Int\-Bounds} (A class that encapsulate all possible {\bf eo\-Int\-Bounds}{\rm (p.\,\pageref{classeo_int_bounds})} )}{\pageref{classeo_general_int_bounds}}{} -\item\contentsline{section}{{\bf eo\-General\-Real\-Bounds} (A class that encapsulate all possible {\bf eo\-Int\-Bounds}{\rm (p.\,\pageref{classeo_int_bounds})} )}{\pageref{classeo_general_real_bounds}}{} -\item\contentsline{section}{{\bf eo\-Generational\-Replacement$<$ EOT $>$} (Generational replacement == swap populations )}{\pageref{classeo_generational_replacement}}{} -\item\contentsline{section}{{\bf eo\-Gen\-Op$<$ EOT $>$} (The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}, {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})}, {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} classification )}{\pageref{classeo_gen_op}}{} -\item\contentsline{section}{{\bf eo\-Gnuplot} (Base class for calls to gnuplot )}{\pageref{classeo_gnuplot}}{} -\item\contentsline{section}{{\bf eo\-Gnuplot1DMonitor} (Plot {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})} )}{\pageref{classeo_gnuplot1_d_monitor}}{} -\item\contentsline{section}{{\bf eo\-Gnuplot1DSnapshot} (Plot stats through gnuplot )}{\pageref{classeo_gnuplot1_d_snapshot}}{} -\item\contentsline{section}{{\bf eo\-Hamming\-Distance$<$ EOT $>$} (This is a generic class for L1 distance computation: assumes the 2 things are std::vectors of something that is double-castable For bitstrings, this is the Hamming distance )}{\pageref{classeo_hamming_distance}}{} -\item\contentsline{section}{{\bf eo\-Hoist\-Mutation$<$ FType, Node $>$} (Eo\-Hoist\-Mutation --$>$ replace the individual with one of its subtree's )}{\pageref{classeo_hoist_mutation}}{} -\item\contentsline{section}{{\bf eo\-How\-Many} (A helper class, to determine a number of individuals from another one Typically, is used in selection / replacement procedures, e.g )}{\pageref{classeo_how_many}}{} -\item\contentsline{section}{{\bf eo\-Incrementor$<$ T $>$} (Eo\-Updater that simply increments a counter )}{\pageref{classeo_incrementor}}{} -\item\contentsline{section}{{\bf eo\-Incrementor\-Param$<$ T $>$} (Eo\-Updater that is an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} (and thus OWNS its counter) Mandatory for generation counter in make\_\-checkpoint )}{\pageref{classeo_incrementor_param}}{} -\item\contentsline{section}{{\bf eo\-Init$<$ EOT $>$} (Base (name) class for Initialization of chromosomes, used in a population contructor )}{\pageref{classeo_init}}{} -\item\contentsline{section}{{\bf eo\-Init\-Adaptor$<$ EOT $>$} (Eo\-Init\-Adaptor changes the place in the hierarchy from {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} to {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})} )}{\pageref{classeo_init_adaptor}}{} -\item\contentsline{section}{{\bf eo\-Init\-Fixed\-Length$<$ EOT $>$} (Initializer for fixed length representations with a single type )}{\pageref{classeo_init_fixed_length}}{} -\item\contentsline{section}{{\bf eo\-Init\-Generator$<$ EOT $>$} (Turning an {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} into a generator probably we should only use genrators - and suppress {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} ??? MS - July 2001 )}{\pageref{classeo_init_generator}}{} -\item\contentsline{section}{{\bf eo\-Init\-Variable\-Length$<$ EOT $>$} (Initializer for variable length representations with a single type )}{\pageref{classeo_init_variable_length}}{} -\item\contentsline{section}{{\bf eo\-Init\-Virus$<$ Fit\-T $>$} (Initializer for binary chromosome with MGE )}{\pageref{classeo_init_virus}}{} -\item\contentsline{section}{{\bf eo\-Init\-Virus1bit$<$ Fit\-T $>$} (Inits the virus with one bit to the left set to one )}{\pageref{classeo_init_virus1bit}}{} -\item\contentsline{section}{{\bf eo\-Inner\-Exchange\-Quad\-Op$<$ EOT $>$} (Crossover using an Atom\-Crossover )}{\pageref{classeo_inner_exchange_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Int\-Above\-Bound} (An eo\-Int\-Bound bounded from above only )}{\pageref{classeo_int_above_bound}}{} -\item\contentsline{section}{{\bf eo\-Int\-Below\-Bound} (Eo\-Int\-Bound bounded from below only )}{\pageref{classeo_int_below_bound}}{} -\item\contentsline{section}{{\bf eo\-Int\-Bounds} (Defines bound classes for real numbers )}{\pageref{classeo_int_bounds}}{} -\item\contentsline{section}{{\bf eo\-Int\-Interval} (Fully bounded eo\-Int\-Bound == interval )}{\pageref{classeo_int_interval}}{} -\item\contentsline{section}{{\bf eo\-Int\-No\-Bounds} (A default class for unbounded variables )}{\pageref{classeo_int_no_bounds}}{} -\item\contentsline{section}{{\bf eo\-Invalidate\-Bin\-Op$<$ EOT $>$} (One of the invalidator operators )}{\pageref{classeo_invalidate_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Invalidate\-Mon\-Op$<$ EOT $>$} (One of the invalidator operators )}{\pageref{classeo_invalidate_mon_op}}{} -\item\contentsline{section}{{\bf eo\-Invalidate\-Quad\-Op$<$ EOT $>$} (One of the invalidator operators )}{\pageref{classeo_invalidate_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Linear\-Fit\-Scaling$<$ EOT $>$} (An instance of {\bf eo\-Perf2Worth}{\rm (p.\,\pageref{classeo_perf2_worth})} COmputes the linearly scaled fitnesses with given selective pressure Pselect(Best) == pressure/size\-Pop Pselect(average) == 1.0/size\-Pop truncate negative values to 0 - )}{\pageref{classeo_linear_fit_scaling}}{} -\item\contentsline{section}{{\bf eo\-Linear\-Random\-Split$<$ EOT $>$} (Random truncation - linear version )}{\pageref{classeo_linear_random_split}}{} -\item\contentsline{section}{{\bf eo\-Linear\-Truncate$<$ EOT $>$} (Truncate class that does not sort, but repeatidely kills the worse )}{\pageref{classeo_linear_truncate}}{} -\item\contentsline{section}{{\bf eo\-Linear\-Truncate\-Split$<$ EOT $>$} (Reduce\-Split class that does not sort, but repeatidely kills the worse )}{\pageref{classeo_linear_truncate_split}}{} -\item\contentsline{section}{{\bf Mem\-Pool} (Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000 )}{\pageref{class_mem_pool}}{} -\item\contentsline{section}{{\bf gp\_\-parse\_\-tree::Mem\-Pool} (Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000 )}{\pageref{classgp__parse__tree_1_1_mem_pool}}{} -\item\contentsline{section}{{\bf eo\-Merge$<$ Chrom $>$} (Eo\-Merge: Base class for elitist replacement algorithms )}{\pageref{classeo_merge}}{} -\item\contentsline{section}{{\bf eo\-Merge\-Reduce$<$ EOT $>$} (Eo\-Merge\-Reduce: abstract replacement strategy that is just an application of an embedded merge, followed by an embedded reduce )}{\pageref{classeo_merge_reduce}}{} -\item\contentsline{section}{{\bf eo\-MGGReplacement$<$ EOT $>$} (Eo\-MGGReplacement is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - choose N (2) parents RANDOMLY - remove them from the parent population - select best offspring, add to parents - merge (other?) offspring and the N removed parents - select best N-1 of this merged population (det\-Tournament only at the moment) - put them back into parent population )}{\pageref{classeo_m_g_g_replacement}}{} -\item\contentsline{section}{{\bf Minimizing\-Traits} (Test program for Pareto Fitness )}{\pageref{class_minimizing_traits}}{} -\item\contentsline{section}{{\bf eo\-MOFitness\-Stat$<$ EOT, Part\-Fit\-T $>$} (For multi-objective fitness, we need to translate a stat$<$vector$<$double$>$ $>$ into a vector$<$stat$>$, so each objective gets a seperate stat )}{\pageref{classeo_m_o_fitness_stat}}{} -\item\contentsline{section}{{\bf eo\-Mon\-Clone\-Op$<$ EOT $>$} (Mon clone: one argument )}{\pageref{classeo_mon_clone_op}}{} -\item\contentsline{section}{{\bf eo\-Mon\-Gen\-Op$<$ EOT $>$} (Wrapper for {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})} )}{\pageref{classeo_mon_gen_op}}{} -\item\contentsline{section}{{\bf eo\-Monitor} (The abstract monitor class is a std::vector of parameter pointers )}{\pageref{classeo_monitor}}{} -\item\contentsline{section}{{\bf eo\-Mon\-Op$<$ EOType $>$} (Eo\-Mon\-Op is the monary operator: genetic operator that takes only one {\bf EO}{\rm (p.\,\pageref{class_e_o})} )}{\pageref{classeo_mon_op}}{} -\item\contentsline{section}{{\bf eo\-NDPlus\-Replacement$<$ EOT, Worth\-T $>$} (An elitist non-dominated sorted replacement scheme )}{\pageref{classeo_n_d_plus_replacement}}{} -\item\contentsline{section}{{\bf eo\-NDSorting$<$ EOT $>$} (Non dominated sorting, it $\ast$is a$\ast$ std::vector of doubles, the integer part is the rank (to which front it belongs), the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into the bits )}{\pageref{classeo_n_d_sorting}}{} -\item\contentsline{section}{{\bf eo\-NDSorting$<$ EOT $>$::Dummy\-EO} (Used in fast nondominated sorting {\bf Dummy\-EO}{\rm (p.\,\pageref{classeo_n_d_sorting_1_1_dummy_e_o})} is just a storage place for fitnesses and to store the original index )}{\pageref{classeo_n_d_sorting_1_1_dummy_e_o}}{} -\item\contentsline{section}{{\bf eo\-NDSorting\_\-I$<$ EOT $>$} (The original Non Dominated Sorting algorithm from Srinivas and Deb )}{\pageref{classeo_n_d_sorting___i}}{} -\item\contentsline{section}{{\bf eo\-NDSorting\_\-II$<$ EOT $>$} (Fast Elitist Non-Dominant Sorting Genetic Algorithm )}{\pageref{classeo_n_d_sorting___i_i}}{} -\item\contentsline{section}{{\bf negexp\_\-generator$<$ T $>$} (The class negexp\_\-generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles )}{\pageref{classnegexp__generator}}{} -\item\contentsline{section}{{\bf eo\-Neg\-Exp\-Generator$<$ T $>$} (The class {\bf negexp\_\-generator}{\rm (p.\,\pageref{classnegexp__generator})} can be used in the STL generate function to easily generate negative exponential distributed floats and doubles )}{\pageref{classeo_neg_exp_generator}}{} -\item\contentsline{section}{{\bf eo\-Neg\-Exp\-Init$<$ T $>$} (The class {\bf negexp\_\-generator}{\rm (p.\,\pageref{classnegexp__generator})} can be used in the STL generate function to easily generate negative exponential distributed floats and doubles )}{\pageref{classeo_neg_exp_init}}{} -\item\contentsline{section}{{\bf Node\-Selector} (Base class for selecting nodes )}{\pageref{class_node_selector}}{} -\item\contentsline{section}{{\bf eo\-No\-Elitism$<$ EOT $>$} (No elite )}{\pageref{classeo_no_elitism}}{} -\item\contentsline{section}{{\bf eo\-No\-Perf2Worth$<$ EOT $>$} (A dummy perf2worth, just in case you need it )}{\pageref{classeo_no_perf2_worth}}{} -\item\contentsline{section}{{\bf normal\_\-generator$<$ T $>$} (The class normal\_\-generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles )}{\pageref{classnormal__generator}}{} -\item\contentsline{section}{{\bf eo\-Normal\-Generator$<$ T $>$} (The class {\bf normal\_\-generator}{\rm (p.\,\pageref{classnormal__generator})} can be used in the STL generate function to easily generate gaussian distributed floats and doubles )}{\pageref{classeo_normal_generator}}{} -\item\contentsline{section}{{\bf eo\-Normal\-Init$<$ T $>$} (The class {\bf normal\_\-generator}{\rm (p.\,\pageref{classnormal__generator})} can be used in the STL generate function to easily generate gaussian distributed floats and doubles )}{\pageref{classeo_normal_init}}{} -\item\contentsline{section}{{\bf eo\-Normal\-Mutation$<$ EOT $>$} (Simple normal mutation of a std::vector of real values )}{\pageref{classeo_normal_mutation}}{} -\item\contentsline{section}{{\bf eo\-Normal\-Vec\-Mutation$<$ EOT $>$} (Simple normal mutation of a std::vector of real values )}{\pageref{classeo_normal_vec_mutation}}{} -\item\contentsline{section}{{\bf eo\-No\-Select$<$ EOT $>$} (Eo\-No\-Select: returns all individual in order WITHOUT USING FITNESS!!! looping back to the beginning when exhasuted )}{\pageref{classeo_no_select}}{} -\item\contentsline{section}{{\bf eo\-NPts\-Bit\-Xover$<$ Chrom $>$} (Eo\-NPts\-Bit\-Xover --$>$ n-point crossover )}{\pageref{classeo_n_pts_bit_xover}}{} -\item\contentsline{section}{{\bf eo\-Nth\-Element\-Fitness\-Stat$<$ EOT $>$} (The n\_\-th element fitness in the population (see {\bf eo\-Best\-Fitness\-Stat}{\rm (p.\,\pageref{classeo_best_fitness_stat})}) )}{\pageref{classeo_nth_element_fitness_stat}}{} -\item\contentsline{section}{{\bf eo\-Object} (Eo\-Object used to be the base class for the whole hierarchy, but this has changed )}{\pageref{classeo_object}}{} -\item\contentsline{section}{{\bf eo\-One\-Fifth\-Mutation$<$ EOT $>$} (Dynamic version: just say it is updatable - and write the {\bf update()}{\rm (p.\,\pageref{classeo_one_fifth_mutation_a3})} method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !) )}{\pageref{classeo_one_fifth_mutation}}{} -\item\contentsline{section}{{\bf eo\-One\-Max$<$ Fit\-T $>$} (Always write a comment in this format before class definition if you want the class to be documented by Doxygen )}{\pageref{classeo_one_max}}{} -\item\contentsline{section}{{\bf eo\-One\-Max\-Eval\-Func$<$ EOT $>$} (Always write a comment in this format before class definition if you want the class to be documented by Doxygen )}{\pageref{classeo_one_max_eval_func}}{} -\item\contentsline{section}{{\bf eo\-One\-Max\-Init$<$ Genotype\-T $>$} (Always write a comment in this format before class definition if you want the class to be documented by Doxygen )}{\pageref{classeo_one_max_init}}{} -\item\contentsline{section}{{\bf eo\-One\-Max\-Mutation$<$ Genotype\-T $>$} (Always write a comment in this format before class definition if you want the class to be documented by Doxygen )}{\pageref{classeo_one_max_mutation}}{} -\item\contentsline{section}{{\bf eo\-One\-Max\-Quad\-Crossover$<$ Genotype\-T $>$} (Always write a comment in this format before class definition if you want the class to be documented by Doxygen )}{\pageref{classeo_one_max_quad_crossover}}{} -\item\contentsline{section}{{\bf eo\-Op$<$ EOType $>$} (Abstract data types for {\bf EO}{\rm (p.\,\pageref{class_e_o})} operators )}{\pageref{classeo_op}}{} -\item\contentsline{section}{{\bf eo\-Op\-Container$<$ EOT $>$} (Eo\-Op\-Container is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated )}{\pageref{classeo_op_container}}{} -\item\contentsline{section}{{\bf eo\-Op\-Sel\-Mason$<$ eo\-Class $>$} ({\bf EO}{\rm (p.\,\pageref{class_e_o})} Mason, or builder, for operator selectors )}{\pageref{classeo_op_sel_mason}}{} -\item\contentsline{section}{{\bf eo\-Param} (Eo\-Param: Base class for monitoring and parsing parameters )}{\pageref{classeo_param}}{} -\item\contentsline{section}{{\bf eo\-Parameter\-Loader} (Parameter saving and loading )}{\pageref{classeo_parameter_loader}}{} -\item\contentsline{section}{{\bf eo\-Param\-Param\-Type} (Another helper class for parsing parameters like Keyword(arg1, arg2, ...) )}{\pageref{classeo_param_param_type}}{} -\item\contentsline{section}{{\bf eo\-Pareto\-Fitness$<$ Fitness\-Traits $>$} (Eo\-Pareto\-Fitness class: std::vector of doubles with overloaded comparison operators )}{\pageref{classeo_pareto_fitness}}{} -\item\contentsline{section}{{\bf eo\-Pareto\-Fitness\-Traits} (Eo\-Fitness\-Traits: a traits class to specify the number of objectives and which one are maximizing or not See test/t-eo\-Pareto\-Fitness for its use )}{\pageref{classeo_pareto_fitness_traits}}{} -\item\contentsline{section}{{\bf eo\-Pareto\-One\-Constraint\-Fitness$<$ Fitness\-Traits $>$} (Eo\-Pareto\-One\-Constraint\-Fitness class: std::vector of doubles + constraint value )}{\pageref{classeo_pareto_one_constraint_fitness}}{} -\item\contentsline{section}{{\bf eo\-Pareto\-Ranking$<$ EOT $>$} (Straightforward pareto ranking )}{\pageref{classeo_pareto_ranking}}{} -\item\contentsline{section}{{\bf eo\-Parser} (Eo\-Parser: command line parser and configuration file reader This class is persistent, so it can be stored and reloaded to restore parameter settings )}{\pageref{classeo_parser}}{} -\item\contentsline{section}{{\bf eo\-Parse\-Tree$<$ FType, Node $>$} (Implementation of parse-tree for genetic programming )}{\pageref{classeo_parse_tree}}{} -\item\contentsline{section}{{\bf eo\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$} (Eo\-Parse\-Tree\-Depth\-Init : the initializer class for {\bf eo\-Parse\-Tree}{\rm (p.\,\pageref{classeo_parse_tree})} )}{\pageref{classeo_parse_tree_depth_init}}{} -\item\contentsline{section}{{\bf eo\-PBILAdditive$<$ EOT $>$} (Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96) )}{\pageref{classeo_p_b_i_l_additive}}{} -\item\contentsline{section}{{\bf eo\-PBILDistrib$<$ EOT $>$} (Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96) )}{\pageref{classeo_p_b_i_l_distrib}}{} -\item\contentsline{section}{{\bf eo\-PBILOrg$<$ EOT $>$} (Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 95) )}{\pageref{classeo_p_b_i_l_org}}{} -\item\contentsline{section}{{\bf eo\-Perf2Worth$<$ EOT, Worth\-T $>$} (Base class to transform raw fitnesses into fitness for selection )}{\pageref{classeo_perf2_worth}}{} -\item\contentsline{section}{{\bf eo\-Perf2Worth$<$ EOT, Worth\-T $>$::compare\_\-worth} (Helper class used to sort indices into populations/worths )}{\pageref{classeo_perf2_worth_1_1compare__worth}}{} -\item\contentsline{section}{{\bf eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$} (Perf2Worth with fitness cache )}{\pageref{classeo_perf2_worth_cached}}{} -\item\contentsline{section}{{\bf eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$::compare\_\-worth} (Helper class used to sort indices into populations/worths )}{\pageref{classeo_perf2_worth_cached_1_1compare__worth}}{} -\item\contentsline{section}{{\bf eo\-Persistent} (An persistent object that knows how to write (through functions inherited from {\bf eo\-Printable}{\rm (p.\,\pageref{classeo_printable})}\#) and read itself )}{\pageref{classeo_persistent}}{} -\item\contentsline{section}{{\bf eo\-Plus$<$ EOT $>$} (Very elitist class, copies entire population into next gen )}{\pageref{classeo_plus}}{} -\item\contentsline{section}{{\bf eo\-Plus\-Replacement$<$ EOT $>$} (ES type of replacement strategy: first add parents to population, then truncate )}{\pageref{classeo_plus_replacement}}{} -\item\contentsline{section}{{\bf eo\-Point\-Mutation$<$ FType, Node $>$} (Eo\-Point\-Mutation --$>$ replace a Node with a Node of the same arity )}{\pageref{classeo_point_mutation}}{} -\item\contentsline{section}{{\bf eo\-Pop$<$ EOT $>$} (A std::vector of {\bf EO}{\rm (p.\,\pageref{class_e_o})} object, to be used in all algorithms (selectors, operators, replacements, ...) )}{\pageref{classeo_pop}}{} -\item\contentsline{section}{{\bf eo\-Pop$<$ EOT $>$::Cmp} (Helper struct for comparing on pointers )}{\pageref{structeo_pop_1_1_cmp}}{} -\item\contentsline{section}{{\bf eo\-Pop$<$ EOT $>$::Ref} (Helper struct for getting a pointer )}{\pageref{structeo_pop_1_1_ref}}{} -\item\contentsline{section}{{\bf eo\-Pop\-Algo$<$ EOT $>$} (For all \char`\"{}population transforming\char`\"{} algos .. )}{\pageref{classeo_pop_algo}}{} -\item\contentsline{section}{{\bf eo\-Pop\-Eval\-Func$<$ EOT $>$} (Eo\-Pop\-Eval\-Func: This abstract class is for GLOBAL evaluators of a population after variation )}{\pageref{classeo_pop_eval_func}}{} -\item\contentsline{section}{{\bf eo\-Pop\-Loop\-Eval$<$ EOT $>$} (Eo\-Pop\-Loop\-Eval: an instance of {\bf eo\-Pop\-Eval\-Func}{\rm (p.\,\pageref{classeo_pop_eval_func})} that simply applies a private {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} to all offspring )}{\pageref{classeo_pop_loop_eval}}{} -\item\contentsline{section}{{\bf eo\-Pop\-Stat$<$ EOT $>$} (Thanks to MS/VC++, {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} mechanism is unable to handle std::vectors of stats )}{\pageref{classeo_pop_stat}}{} -\item\contentsline{section}{{\bf eo\-Populator$<$ EOT $>$} (Eo\-Populator is a helper class for general operators {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} It is an {\bf eo\-Pop}{\rm (p.\,\pageref{classeo_pop})} but also behaves like an eo\-Pop::iterator as far as operator$\ast$ and operator++ are concerned )}{\pageref{classeo_populator}}{} -\item\contentsline{section}{{\bf eo\-Printable} (Base class for objects that can print themselves ({\bf print\-On}{\rm (p.\,\pageref{classeo_printable_a1})}\#) )}{\pageref{classeo_printable}}{} -\item\contentsline{section}{{\bf eo\-Procedure\-Counter$<$ Procedure $>$} (Generic counter class that counts the number of times a procedure is used )}{\pageref{classeo_procedure_counter}}{} -\item\contentsline{section}{{\bf eo\-Prop\-Combined\-Bin\-Op$<$ EOT $>$} (COmbined Binary genetic operator: operator() has two operands, only the first one can be modified )}{\pageref{classeo_prop_combined_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Prop\-Combined\-Mon\-Op$<$ EOT $>$} (Eo\-Mon\-Op is the monary operator: genetic operator that takes only one {\bf EO}{\rm (p.\,\pageref{class_e_o})} )}{\pageref{classeo_prop_combined_mon_op}}{} -\item\contentsline{section}{{\bf eo\-Prop\-Combined\-Quad\-Op$<$ EOT $>$} (Combined quad genetic operator: operator() has two operands, both can be modified )}{\pageref{classeo_prop_combined_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Prop\-GAGen\-Op$<$ EOT $>$} ($\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ eo\-Prop\-GAGen\-Op (for Simple GA, but Proportional) choice between Crossover, mutation or cloining with respect to given relatve weights )}{\pageref{classeo_prop_g_a_gen_op}}{} -\item\contentsline{section}{{\bf eo\-Proportional\-Op$<$ EOT $>$} (The proportional versions: easy! )}{\pageref{classeo_proportional_op}}{} -\item\contentsline{section}{{\bf eo\-Proportional\-Select$<$ EOT $>$} (Eo\-Proportional\-Select: select an individual proportional to her stored fitness value )}{\pageref{classeo_proportional_select}}{} -\item\contentsline{section}{{\bf eo\-Quad2Bin\-Op$<$ EOT $>$} (Turning an {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} into an {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})}: simply don't touch the second arg! )}{\pageref{classeo_quad2_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Quad\-Clone\-Op$<$ EOT $>$} (Quad clone: two operands, both could be modified - but are not! )}{\pageref{classeo_quad_clone_op}}{} -\item\contentsline{section}{{\bf eo\-Quad\-Distance$<$ EOT $>$} (This is a generic class for Euclidain distance (L2 norm) computation: assumes the 2 things are std::vectors of something that is double-castable )}{\pageref{classeo_quad_distance}}{} -\item\contentsline{section}{{\bf eo\-Quad\-Gen\-Op$<$ EOT $>$} (Wrapper for quadop: easy as pie )}{\pageref{classeo_quad_gen_op}}{} -\item\contentsline{section}{{\bf eo\-Quad\-Op$<$ EOType $>$} (Quad genetic operator: subclasses {\bf eo\-Op}{\rm (p.\,\pageref{classeo_op})}, and defines basically the operator() with two operands, both can be modified )}{\pageref{classeo_quad_op}}{} -\item\contentsline{section}{{\bf random\_\-generator$<$ T $>$} (The class random\_\-generator can be used in the STL generate function to easily generate random ints either between [0, \_\-max) if only one value (\_\-max) is given to the ctor or in [\_\-min,\_\-max) if 2 values are given (\_\-min, \_\-max) )}{\pageref{classrandom__generator}}{} -\item\contentsline{section}{{\bf Random\-Node\-Selector} (Select nodes uniformly )}{\pageref{class_random_node_selector}}{} -\item\contentsline{section}{{\bf eo\-Random\-Reduce$<$ EOT $>$} (Random truncation )}{\pageref{classeo_random_reduce}}{} -\item\contentsline{section}{{\bf eo\-Random\-Select$<$ EOT $>$} (Eo\-Random\-Select: a selection method that selects ONE individual randomly )}{\pageref{classeo_random_select}}{} -\item\contentsline{section}{{\bf eo\-Random\-Split$<$ EOT $>$} (Random truncation - batch version )}{\pageref{classeo_random_split}}{} -\item\contentsline{section}{{\bf eo\-Ranking$<$ EOT $>$} (An instance of eo\-Perf\-From\-Worth COmputes the ranked fitness: fitnesses range in [m,M] with m=2-pressure/pop\-Size and M=pressure/pop\-Size )}{\pageref{classeo_ranking}}{} -\item\contentsline{section}{{\bf eo\-Ranking\-Select$<$ EOT $>$} (Eo\-Ranking\-Select: select an individual by roulette wheel on its rank is an {\bf eo\-Roulette\-Worth\-Select}{\rm (p.\,\pageref{classeo_roulette_worth_select})}, i.e )}{\pageref{classeo_ranking_select}}{} -\item\contentsline{section}{{\bf eo\-Real$<$ Fit\-T $>$} (Eo\-Real: implementation of simple real-valued chromosome )}{\pageref{classeo_real}}{} -\item\contentsline{section}{{\bf eo\-Real\-Above\-Bound} (An eo\-Real\-Bound bounded from above only )}{\pageref{classeo_real_above_bound}}{} -\item\contentsline{section}{{\bf eo\-Real\-Base\-Vector\-Bounds} (Vector type for bounds (see {\bf eo\-Real\-Bounds.h}{\rm (p.\,\pageref{eo_real_bounds_8h})} for scalar types) ------------ Class {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} implements the std::vectorized version: it is basically a std::vector of {\bf eo\-Real\-Bounds}{\rm (p.\,\pageref{classeo_real_bounds})} $\ast$ and forwards all request to the elements of the std::vector )}{\pageref{classeo_real_base_vector_bounds}}{} -\item\contentsline{section}{{\bf eo\-Real\-Below\-Bound} (Eo\-Real\-Bound bounded from below only )}{\pageref{classeo_real_below_bound}}{} -\item\contentsline{section}{{\bf eo\-Real\-Bounds} (Defines bound classes for real numbers )}{\pageref{classeo_real_bounds}}{} -\item\contentsline{section}{{\bf eo\-Real\-Init\-Bounded$<$ EOT $>$} (Simple initialization for any EOT that derives from std::vector$<$double$>$ uniformly in some bounds )}{\pageref{classeo_real_init_bounded}}{} -\item\contentsline{section}{{\bf eo\-Real\-Interval} (Fully bounded eo\-Real\-Bound == interval )}{\pageref{classeo_real_interval}}{} -\item\contentsline{section}{{\bf eo\-Real\-No\-Bounds} (A default class for unbounded variables )}{\pageref{classeo_real_no_bounds}}{} -\item\contentsline{section}{{\bf eo\-Real\-Ux\-Over} (Eo\-Real\-Ux\-Over --$>$ Uniform crossover, also termed intermediate crossover )}{\pageref{classeo_real_ux_over}}{} -\item\contentsline{section}{{\bf eo\-Real\-Vector\-Bounds} (Now a derived class, for parser reading It holds some of the bounds (and destroy them when dying) )}{\pageref{classeo_real_vector_bounds}}{} -\item\contentsline{section}{{\bf eo\-Real\-Vector\-No\-Bounds} ({\bf Dummy}{\rm (p.\,\pageref{struct_dummy})} unbounded {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})}: usefull if you don't need bounds! everything is inlined )}{\pageref{classeo_real_vector_no_bounds}}{} -\item\contentsline{section}{{\bf eo\-Reduce$<$ EOT $>$} (Eo\-Reduce: .reduce the new generation to the specified size At the moment, limited to truncation - with 2 different methods, one that sorts the whole population, and one that repeatidely kills the worst )}{\pageref{classeo_reduce}}{} -\item\contentsline{section}{{\bf eo\-Reduce\-Merge$<$ EOT $>$} (Eo\-Reduce\-Merge: Replacement strategies that start by reducing the parents, then merge with the offspring )}{\pageref{classeo_reduce_merge}}{} -\item\contentsline{section}{{\bf eo\-Reduce\-Merge\-Reduce$<$ EOT $>$} (Eo\-Reduce\-Merge\-Reduce is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - saves possible elite parents - reduces rest of parents - reduces offspring - merges reduced populations - reduces resulting merged pop if necessary )}{\pageref{classeo_reduce_merge_reduce}}{} -\item\contentsline{section}{{\bf eo\-Reduce\-Split$<$ EOT $>$} (Eo\-Reduce\-Split: reduce the pop to the specified size AND eventually returns the eliminated guys )}{\pageref{classeo_reduce_split}}{} -\item\contentsline{section}{{\bf eo\-Replacement$<$ EOT $>$} }{\pageref{classeo_replacement}}{} -\item\contentsline{section}{{\bf eo\-Rnd\-Generator$<$ T $>$} (By popular demand re-introducing a base class for a family of random number generators )}{\pageref{classeo_rnd_generator}}{} -\item\contentsline{section}{{\bf eo\-Rng} (Random Number Generator )}{\pageref{classeo_rng}}{} -\item\contentsline{section}{{\bf eo\-Roulette\-Worth\-Select$<$ EOT, Worth\-T $>$} (An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a .. )}{\pageref{classeo_roulette_worth_select}}{} -\item\contentsline{section}{{\bf eo\-Scalar\-Fitness$<$ Scalar\-Type, Compare $>$} (Eo\-Scalar\-Fitness$<$Scalar\-Type, Compare = less$<$Scalar\-Type$>$ $>$: Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less$<$Scalar\-Type$>$) or minimizing (using greater$<$Scalar\-Type$>$) )}{\pageref{classeo_scalar_fitness}}{} -\item\contentsline{section}{{\bf eo\-Scalar\-Fitness\-Assembled$<$ Scalar\-Type, Compare, Fitness\-Traits $>$} (Implements fitness as std::vector, storing all values that might occur during fitness assembly )}{\pageref{classeo_scalar_fitness_assembled}}{} -\item\contentsline{section}{{\bf eo\-Scalar\-Fitness\-Assembled\-Traits} (Defines properties of {\bf eo\-Scalar\-Fitness\-Assembled}{\rm (p.\,\pageref{classeo_scalar_fitness_assembled})} )}{\pageref{classeo_scalar_fitness_assembled_traits}}{} -\item\contentsline{section}{{\bf eo\-Scalar\-Fitness\-Stat$<$ EOT, Fit\-T $>$} (The fitnesses of a whole population, as a std::vector )}{\pageref{classeo_scalar_fitness_stat}}{} -\item\contentsline{section}{{\bf eo\-Second\-Moment\-Stats$<$ EOT $>$} (Average fitness + Std )}{\pageref{classeo_second_moment_stats}}{} -\item\contentsline{section}{{\bf eo\-Segment\-Crossover$<$ EOT $>$} (Eo\-Segment\-Crossover --$>$ uniform choice in segment == arithmetical with same value along all coordinates )}{\pageref{classeo_segment_crossover}}{} -\item\contentsline{section}{{\bf eo\-Sel\-Bin\-Gen\-Op$<$ EOT $>$} (Wrapper for {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})} with a selector )}{\pageref{classeo_sel_bin_gen_op}}{} -\item\contentsline{section}{{\bf eo\-Select$<$ EOT $>$} (Eo\-Select selects a number of individuals from the first argument and puts it in the second )}{\pageref{classeo_select}}{} -\item\contentsline{section}{{\bf eo\-Select\-Factory$<$ EOT $>$} ({\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory.An instance of the factory class to create selectors, that is, {\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})} objects )}{\pageref{classeo_select_factory}}{} -\item\contentsline{section}{{\bf eo\-Select\-From\-Worth$<$ EOT, Worth\-Type $>$} (Selects one element from a population (is an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})}) but the selection is based on a std::vector of Worth that is different from the fitnesses (e.g )}{\pageref{classeo_select_from_worth}}{} -\item\contentsline{section}{{\bf eo\-Selective\-Populator$<$ EOT $>$} (Selective\-Populator an eo\-Poplator that uses an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} to select guys )}{\pageref{classeo_selective_populator}}{} -\item\contentsline{section}{{\bf eo\-Select\-Many$<$ EOT $>$} (Eo\-Select\-Many selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism )}{\pageref{classeo_select_many}}{} -\item\contentsline{section}{{\bf eo\-Select\-Number$<$ EOT $>$} (Eo\-Select\-Number selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism )}{\pageref{classeo_select_number}}{} -\item\contentsline{section}{{\bf eo\-Select\-One$<$ EOT, Worth\-T $>$} (Eo\-Select\-One selects only one element from a whole population )}{\pageref{classeo_select_one}}{} -\item\contentsline{section}{{\bf eo\-Select\-Perc$<$ EOT $>$} (Eo\-Select\-Perc selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism )}{\pageref{classeo_select_perc}}{} -\item\contentsline{section}{{\bf eo\-Select\-Transform$<$ EOT $>$} (Embedded select, followed by an embedded transform )}{\pageref{classeo_select_transform}}{} -\item\contentsline{section}{{\bf eo\-Seq\-Populator$<$ EOT $>$} (Seq\-Populator: an {\bf eo\-Populator}{\rm (p.\,\pageref{classeo_populator})} that sequentially goes through the population is supposed to be used after a batch select of a whole bunch or genitors )}{\pageref{classeo_seq_populator}}{} -\item\contentsline{section}{{\bf eo\-Sequential\-Op$<$ EOT $>$} (Sequential selection: note the mark, rewind, unmark cycle here operators are repeatedly applied on the same individual(s) not all too elegant, but it sort of works.. )}{\pageref{classeo_sequential_op}}{} -\item\contentsline{section}{{\bf eo\-Sequential\-Select$<$ EOT $>$} (All Individuals in order )}{\pageref{classeo_sequential_select}}{} -\item\contentsline{section}{{\bf eo\-SGA$<$ EOT $>$} (The Simple Genetic Algorithm, following Holland and Goldberg )}{\pageref{classeo_s_g_a}}{} -\item\contentsline{section}{{\bf eo\-SGAGen\-Op$<$ EOT $>$} ($\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ eo\-SGAGen\-Op (for Simple GA) mimicks the usual crossover with proba p\-Cross + mutation with proba p\-Mut inside an eo\-General\-Op It does it exactly as class {\bf eo\-SGATransform}{\rm (p.\,\pageref{classeo_s_g_a_transform})}, i.e )}{\pageref{classeo_s_g_a_gen_op}}{} -\item\contentsline{section}{{\bf eo\-SGATransform$<$ EOT $>$} (Eo\-SGATransform: transforms a population using genetic operators )}{\pageref{classeo_s_g_a_transform}}{} -\item\contentsline{section}{{\bf eo\-Sharing$<$ EOT $>$} (Sharing is a perf2worth class that implements Goldberg and Richardson's basic sharing see {\bf eo\-Sharing\-Select}{\rm (p.\,\pageref{classeo_sharing_select})} for how to use it and test/t-eo\-Sharing.cpp for a sample use of both )}{\pageref{classeo_sharing}}{} -\item\contentsline{section}{{\bf eo\-Sharing\-Select$<$ EOT $>$} (Eo\-Sharing\-Select: select an individual by roulette wheel on its SHARED fitness )}{\pageref{classeo_sharing_select}}{} -\item\contentsline{section}{{\bf eo\-Simple\-EDA$<$ EOT $>$} (Eo\-Simple\-EDA: a very simple Estimation of Distribution Algorithm )}{\pageref{classeo_simple_e_d_a}}{} -\item\contentsline{section}{{\bf eo\-Sorted\-Pop\-Stat$<$ EOT $>$} (Thanks to MS/VC++, {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} mechanism is unable to handle std::vectors of stats )}{\pageref{classeo_sorted_pop_stat}}{} -\item\contentsline{section}{{\bf eo\-Sorted\-Stat$<$ EOT, Param\-Type $>$} (The actual class that will be used as base for all statistics that need to be calculated over the sorted population It's an {\bf eo\-Sorted\-Stat\-Base}{\rm (p.\,\pageref{classeo_sorted_stat_base})} AND an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so it can be used in Monitors )}{\pageref{classeo_sorted_stat}}{} -\item\contentsline{section}{{\bf eo\-Sorted\-Stat\-Base$<$ EOT $>$} (Base class for statistics calculated over a sorted snapshot of the population )}{\pageref{classeo_sorted_stat_base}}{} -\item\contentsline{section}{{\bf eo\-SSGADet\-Tournament\-Replacement$<$ EOT $>$} (SSGA deterministic tournament replacement )}{\pageref{classeo_s_s_g_a_det_tournament_replacement}}{} -\item\contentsline{section}{{\bf eo\-SSGAStoch\-Tournament\-Replacement$<$ EOT $>$} (SSGA stochastic tournament replacement )}{\pageref{classeo_s_s_g_a_stoch_tournament_replacement}}{} -\item\contentsline{section}{{\bf eo\-SSGAWorse\-Replacement$<$ EOT $>$} (SSGA replace worst )}{\pageref{classeo_s_s_g_a_worse_replacement}}{} -\item\contentsline{section}{{\bf eo\-Stat$<$ EOT, T $>$} (The actual class that will be used as base for all statistics that need to be calculated over the (unsorted) population It is an {\bf eo\-Stat\-Base}{\rm (p.\,\pageref{classeo_stat_base})} AND an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so it can be used in Monitors )}{\pageref{classeo_stat}}{} -\item\contentsline{section}{{\bf eo\-Stat\-Base$<$ EOT $>$} (Base class for all statistics that need to be calculated over the (unsorted) population (I guess it is not really necessary? MS )}{\pageref{classeo_stat_base}}{} -\item\contentsline{section}{{\bf eo\-State} (Eo\-State can be used to register derivants of {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} )}{\pageref{classeo_state}}{} -\item\contentsline{section}{{\bf eo\-State::loading\_\-error} (Loading error thrown when nothing seems to work )}{\pageref{structeo_state_1_1loading__error}}{} -\item\contentsline{section}{{\bf eo\-St\-Branch\-Mutation$<$ FType, Node $>$} (Eo\-St\-Branch\-Mutation --$>$ replace a strongly typed subtree with a randomly created strongly typed subtree )}{\pageref{classeo_st_branch_mutation}}{} -\item\contentsline{section}{{\bf eo\-Stdout\-Monitor} (Prints statistics to stdout )}{\pageref{classeo_stdout_monitor}}{} -\item\contentsline{section}{{\bf eo\-Steady\-Fit\-Continue$<$ EOT $>$} (A continuator: does a minimum number of generations, then stops whenever a given number of generations takes place without improvement )}{\pageref{classeo_steady_fit_continue}}{} -\item\contentsline{section}{{\bf eo\-St\-Hoist\-Mutation$<$ FType, Node $>$} (Eo\-St\-Hoist\-Mutation --$>$ replace the individual with one of its strongly typed subtree's )}{\pageref{classeo_st_hoist_mutation}}{} -\item\contentsline{section}{{\bf eo\-STLBF$<$ A1, A2, R $>$} (Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e )}{\pageref{classeo_s_t_l_b_f}}{} -\item\contentsline{section}{{\bf eo\-STLF$<$ R $>$} (Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e )}{\pageref{classeo_s_t_l_f}}{} -\item\contentsline{section}{{\bf eo\-STLUF$<$ A1, R $>$} (Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e )}{\pageref{classeo_s_t_l_u_f}}{} -\item\contentsline{section}{{\bf eo\-Stochastic\-Universal\-Select$<$ EOT $>$} (Eo\-Stochastic\-Universal\-Select: select an individual proportional to her stored fitness value, but in contrast with eo\-Stochastic\-Universal\-Select, get rid of most finite sampling effects by doing all selections in one go, using a single random number )}{\pageref{classeo_stochastic_universal_select}}{} -\item\contentsline{section}{{\bf eo\-Stoch\-Tournament\-Select$<$ EOT $>$} (Eo\-Stoch\-Tournament\-Select: a selection method that selects ONE individual by binary stochastic tournament -MS- 24/10/99 )}{\pageref{classeo_stoch_tournament_select}}{} -\item\contentsline{section}{{\bf eo\-Stoch\-Tournament\-Truncate$<$ EOT $>$} (Truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g )}{\pageref{classeo_stoch_tournament_truncate}}{} -\item\contentsline{section}{{\bf eo\-Stoch\-Tournament\-Truncate\-Split$<$ EOT $>$} (Reduce\-Split class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g )}{\pageref{classeo_stoch_tournament_truncate_split}}{} -\item\contentsline{section}{{\bf eo\-Stoch\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$} (An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a .. )}{\pageref{classeo_stoch_tournament_worth_select}}{} -\item\contentsline{section}{{\bf eo\-St\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$} (Eo\-St\-Parse\-Tree\-Depth\-Init : the initializer class for strongly typed tree-based genetic programming )}{\pageref{classeo_st_parse_tree_depth_init}}{} -\item\contentsline{section}{{\bf eo\-St\-Point\-Mutation$<$ FType, Node $>$} (Eo\-St\-Point\-Mutation --$>$ replace a Node with a Node of the same arity and type )}{\pageref{classeo_st_point_mutation}}{} -\item\contentsline{section}{{\bf eo\-String$<$ fitness\-T $>$} (Adaptor that turns an STL std::string into an {\bf EO}{\rm (p.\,\pageref{class_e_o})} )}{\pageref{classeo_string}}{} -\item\contentsline{section}{{\bf eo\-St\-Subtree\-XOver$<$ FType, Node $>$} (Eo\-St\-Subtree\-XOver --$>$ subtree xover for strongly typed tree-based genetic programming )}{\pageref{classeo_st_subtree_x_over}}{} -\item\contentsline{section}{{\bf eo\-Subtree\-XOver$<$ FType, Node $>$} (Eo\-Subtree\-XOver --$>$ subtree xover )}{\pageref{classeo_subtree_x_over}}{} -\item\contentsline{section}{{\bf eo\-Survive\-And\-Die$<$ EOT $>$} (Eo\-Survive\-And\-Die A pure abstract class, to store the howmany's )}{\pageref{classeo_survive_and_die}}{} -\item\contentsline{section}{{\bf eo\-Sym\-Init$<$ Eo\-Type $>$} (Default initializer, Koza style )}{\pageref{classeo_sym_init}}{} -\item\contentsline{section}{{\bf T\_\-pickle\_\-suite$<$ T $>$} (Implements pickle support for {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} derivatives )}{\pageref{struct_t__pickle__suite}}{} -\item\contentsline{section}{{\bf eo\-Time\-Counter} (An {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})} that simply gives the user time since first generation It has to be tempatized by EOT because it must be an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})} )}{\pageref{classeo_time_counter}}{} -\item\contentsline{section}{{\bf eo\-Timed\-Dyn\-Update} (An {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} to update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object every given time interval )}{\pageref{classeo_timed_dyn_update}}{} -\item\contentsline{section}{{\bf eo\-Timed\-Monitor} (Holds a collection of monitors and only fires them when a time limit has been reached )}{\pageref{classeo_timed_monitor}}{} -\item\contentsline{section}{{\bf eo\-Timed\-State\-Saver} (Eo\-Updater that saves a state every given time interval )}{\pageref{classeo_timed_state_saver}}{} -\item\contentsline{section}{{\bf eo\-Time\-Varying\-Loop\-Eval$<$ EOT $>$} (Eo\-Pop\-Loop\-Eval: an instance of {\bf eo\-Pop\-Eval\-Func}{\rm (p.\,\pageref{classeo_pop_eval_func})} that simply applies a private {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} to all offspring AND ALL PARENTS as the fitness is supposed here to vary )}{\pageref{classeo_time_varying_loop_eval}}{} -\item\contentsline{section}{{\bf eo\-Transform$<$ EOT $>$} (Eo\-Transform transforms a population by applying genetic operators on it )}{\pageref{classeo_transform}}{} -\item\contentsline{section}{{\bf eo\-Truncate$<$ EOT $>$} (Truncation method using sort )}{\pageref{classeo_truncate}}{} -\item\contentsline{section}{{\bf eo\-Truncated\-Select\-Many$<$ EOT $>$} (Eo\-Truncated\-Select\-Many selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism )}{\pageref{classeo_truncated_select_many}}{} -\item\contentsline{section}{{\bf eo\-Truncated\-Select\-One$<$ EOT $>$} (Eo\-Truncated\-Select\-One selects one individual using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism )}{\pageref{classeo_truncated_select_one}}{} -\item\contentsline{section}{{\bf eo\-Truncate\-Split$<$ EOT $>$} (Deterministic truncation method using sort )}{\pageref{classeo_truncate_split}}{} -\item\contentsline{section}{{\bf eo\-Trunc\-Select$<$ EOT $>$} (Eo\-Trunc\-Select selects individuals after truncating the population using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism )}{\pageref{classeo_trunc_select}}{} -\item\contentsline{section}{{\bf eo\-UBit\-Xover$<$ Chrom $>$} (Eo\-UBit\-Xover --$>$ classic Uniform crossover )}{\pageref{classeo_u_bit_xover}}{} -\item\contentsline{section}{{\bf eo\-UF$<$ A1, R $>$} (Basic Unary Functor )}{\pageref{classeo_u_f}}{} -\item\contentsline{section}{{\bf UF\_\-random\_\-generator$<$ T $>$} (Another class {\bf random\_\-generator}{\rm (p.\,\pageref{classrandom__generator})} that can be used in the STL random\_\-shuffle function (see {\bf eo\-Pop::shuffle}{\rm (p.\,\pageref{classeo_pop_a7})}): its operator() takes an unsigned argument m and must return an unsigned uniformly distributed in [0,m\} )}{\pageref{class_u_f__random__generator}}{} -\item\contentsline{section}{{\bf eo\-Unary\-Functor\-Counter$<$ Unary\-Functor $>$} (Generic counter class that counts the number of times a unary function is used )}{\pageref{classeo_unary_functor_counter}}{} -\item\contentsline{section}{{\bf uniform\_\-generator$<$ T $>$} (The class uniform\_\-generator can be used in the STL generate function to easily generate random floats and doubles either in [0, \_\-max) if only 1 value (\_\-max) is given (or none, as \_\-max defaults to 1.0) or in [\_\-min,\_\-max) if 2 values are given (\_\-min, \_\-max) )}{\pageref{classuniform__generator}}{} -\item\contentsline{section}{{\bf eo\-Uniform\-Atom\-Exchange$<$ Atom $>$} (Uniform crossover - well, not really, efficient for Fixed\-Length )}{\pageref{classeo_uniform_atom_exchange}}{} -\item\contentsline{section}{{\bf eo\-Uniform\-Gene\-Chooser$<$ EOT $>$} (Uniform choice of gene to delete )}{\pageref{classeo_uniform_gene_chooser}}{} -\item\contentsline{section}{{\bf eo\-Uniform\-Generator$<$ T $>$} (The class eo\-Uniform can be used in the STL generate function to easily generate random floats and doubles )}{\pageref{classeo_uniform_generator}}{} -\item\contentsline{section}{{\bf eo\-Uniform\-Init$<$ T $>$} (The class eo\-Uniform\-Init can be used in the STL apply function to easily randomize floats and doubles )}{\pageref{classeo_uniform_init}}{} -\item\contentsline{section}{{\bf eo\-Uniform\-Mutation$<$ EOT $>$} (Eo\-Uniform\-Mutation --$>$ changes all values of the std::vector by uniform choice with range epsilon with probability p\_\-change per variable )}{\pageref{classeo_uniform_mutation}}{} -\item\contentsline{section}{{\bf eo\-Updatable} (Eo\-Updatable is a generic class for adding updatation to an existing class Just says it has an update() method )}{\pageref{classeo_updatable}}{} -\item\contentsline{section}{{\bf eo\-Updater} (Eo\-Updater is a generic procudere for updating whatever you want )}{\pageref{classeo_updater}}{} -\item\contentsline{section}{{\bf eo\-Value\-Param$<$ Value\-Type $>$} (Eo\-Value\-Param$<$Value\-Type$>$: templatized derivation of {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} )}{\pageref{classeo_value_param}}{} -\item\contentsline{section}{{\bf eo\-Variable\-Pareto\-Traits} (Eo\-Variable\-Pareto\-Traits : an {\bf eo\-Pareto\-Fitness\-Traits}{\rm (p.\,\pageref{classeo_pareto_fitness_traits})} whose characteristics can be set at run-time (nb objectives and min/max's) Why bother? For didactical purposes (and EASEA implementation :-) )}{\pageref{classeo_variable_pareto_traits}}{} -\item\contentsline{section}{{\bf eo\-Vector$<$ Fit\-T, Gene\-Type $>$} (Base class for fixed length chromosomes, just derives from {\bf EO}{\rm (p.\,\pageref{class_e_o})} and std::vector and redirects the smaller than operator to EO (fitness based comparison) )}{\pageref{classeo_vector}}{} -\item\contentsline{section}{{\bf Virus\-Bit\-Flip$<$ Fit\-T $>$} (Virus\-Bit\-Flip --$>$ changes 1 bit )}{\pageref{class_virus_bit_flip}}{} -\item\contentsline{section}{{\bf Virus\-Shift\-Mutation$<$ Fit\-T $>$} (Works for 1-bit virus; shifts the one to the right or left )}{\pageref{class_virus_shift_mutation}}{} -\item\contentsline{section}{{\bf eo\-Vl\-Add\-Mutation$<$ EOT $>$} (Addition of a gene Is inserted at a random position - so can be applied to both order-dependent and order-independent )}{\pageref{classeo_vl_add_mutation}}{} -\item\contentsline{section}{{\bf eo\-Vl\-Atom\-Exchange\-Quad\-Op$<$ EOT $>$} (Exchange Crossover using an Atom\-Exchange )}{\pageref{classeo_vl_atom_exchange_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Vl\-Del\-Mutation$<$ EOT $>$} (Deletion of a gene By default at a random position, but a \char`\"{}chooser\char`\"{} can be specified can of course be applied to both order-dependent and order-independent )}{\pageref{classeo_vl_del_mutation}}{} -\item\contentsline{section}{{\bf eo\-Vl\-Uniform\-Bin\-Op$<$ EOT $>$} (Direct Uniform Exchange of genes for Variable Length, BINARY version )}{\pageref{classeo_vl_uniform_bin_op}}{} -\item\contentsline{section}{{\bf eo\-Vl\-Uniform\-Quad\-Op$<$ EOT $>$} (Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons )}{\pageref{classeo_vl_uniform_quad_op}}{} -\item\contentsline{section}{{\bf eo\-Weak\-Elitist\-Replacement$<$ EOT $>$} (Eo\-Weak\-Elitist\-Replacement: a wrapper for other replacement procedures )}{\pageref{classeo_weak_elitist_replacement}}{} -\end{CompactList} diff --git a/trunk/paradiseo-eo/doc/latex/class_biased_node_selector.eps b/trunk/paradiseo-eo/doc/latex/class_biased_node_selector.eps deleted file mode 100644 index 1fa6ecf54..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_biased_node_selector.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 296.296 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.6875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(BiasedNodeSelector) cw -(NodeSelector) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (BiasedNodeSelector) 0 0 box - (NodeSelector) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/class_biased_node_selector.tex b/trunk/paradiseo-eo/doc/latex/class_biased_node_selector.tex deleted file mode 100644 index 872835c7c..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_biased_node_selector.tex +++ /dev/null @@ -1,41 +0,0 @@ -\section{Biased\-Node\-Selector Class Reference} -\label{class_biased_node_selector}\index{BiasedNodeSelector@{BiasedNodeSelector}} -A node selector that does a specified number of rounds ignoring terminals. - - -{\tt \#include $<$Node\-Selector.h$>$} - -Inheritance diagram for Biased\-Node\-Selector::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{class_biased_node_selector} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf Biased\-Node\-Selector} (unsigned n)\label{class_biased_node_selector_a1} - -\item -Node\-Selection {\bf select\_\-node} (Sym sym) const \label{class_biased_node_selector_a2} - -\end{CompactItemize} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -unsigned {\bf n\-Rounds}\label{class_biased_node_selector_o0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -A node selector that does a specified number of rounds ignoring terminals. - - - -Definition at line 55 of file Node\-Selector.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -Node\-Selector.h\item -Node\-Selector.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_cov.tex b/trunk/paradiseo-eo/doc/latex/class_cov.tex deleted file mode 100644 index 9962c296b..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_cov.tex +++ /dev/null @@ -1,49 +0,0 @@ -\section{Cov Class Reference} -\label{class_cov}\index{Cov@{Cov}} -Single covariance between two variates. - - -{\tt \#include $<$stats.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -void {\bf update} (double a, double b)\label{class_cov_a1} - -\item -double {\bf get\_\-meana} () const \label{class_cov_a2} - -\item -double {\bf get\_\-meanb} () const \label{class_cov_a3} - -\item -double {\bf get\_\-cov} () const \label{class_cov_a4} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf n}\label{class_cov_r0} - -\item -double {\bf meana}\label{class_cov_r1} - -\item -double {\bf meanb}\label{class_cov_r2} - -\item -double {\bf sumcov}\label{class_cov_r3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Single covariance between two variates. - - - -Definition at line 58 of file stats.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -stats.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_e_o.eps b/trunk/paradiseo-eo/doc/latex/class_e_o.eps deleted file mode 100644 index 63a01da93..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_e_o.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 337.079 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.48333 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(EO< F >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (EO< F >) 0.5 0 box - (eoObject) 0 1 box - (eoPersistent) 1 1 box - (eoPrintable) 1 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -1 1 1 in -solid -0 1 1 out -solid -1 1 2 in diff --git a/trunk/paradiseo-eo/doc/latex/class_e_o.tex b/trunk/paradiseo-eo/doc/latex/class_e_o.tex deleted file mode 100644 index c2dd35aaa..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_e_o.tex +++ /dev/null @@ -1,244 +0,0 @@ -\section{EO$<$ F $>$ Class Template Reference} -\label{class_e_o}\index{EO@{EO}} -EO is a base class for evolvable objects, that is, the subjects of evolution. - - -{\tt \#include $<$EO.h$>$} - -Inheritance diagram for EO$<$ F $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{class_e_o} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef F {\bf Fitness}\label{class_e_o_w0} - -\item -typedef Traits {\bf fitness\_\-traits}\label{class_e_o_w1} - -\item -typedef Traits::storage\_\-type {\bf storage\_\-type}\label{class_e_o_w2} - -\item -typedef Traits::performance\_\-type {\bf performance\_\-type}\label{class_e_o_w3} - -\item -typedef Traits::worth\_\-type {\bf worth\_\-type}\label{class_e_o_w4} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf EO} () -\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item -virtual {\bf $\sim$EO} ()\label{class_e_o_a1} - -\begin{CompactList}\small\item\em Virtual dtor. \item\end{CompactList}\item -Fitness {\bf fitness} () const \label{class_e_o_a2} - -\begin{CompactList}\small\item\em Return fitness value. \item\end{CompactList}\item -void {\bf invalidate} ()\label{class_e_o_a3} - -\item -void {\bf fitness} (const Fitness \&\_\-fitness) -\begin{CompactList}\small\item\em Set fitness. \item\end{CompactList}\item -bool {\bf invalid} () const -\begin{CompactList}\small\item\em Return true If fitness value is invalid, false otherwise. \item\end{CompactList}\item -bool {\bf operator$<$} (const {\bf EO} \&\_\-eo2) const -\begin{CompactList}\small\item\em Returns true if. \item\end{CompactList}\item -bool {\bf operator$>$} (const {\bf EO} \&\_\-eo2) const \label{class_e_o_a7} - -\item -void {\bf fitness} (performance\_\-type perf)\label{class_e_o_a9} - -\item -void {\bf performance} (performance\_\-type perf)\label{class_e_o_a10} - -\item -performance\_\-type {\bf performance} (void) const \label{class_e_o_a11} - -\item -void {\bf worth} (worth\_\-type worth)\label{class_e_o_a12} - -\item -worth\_\-type {\bf worth} (void) const \label{class_e_o_a13} - -\item -worth\_\-type {\bf fitness} (void) const \label{class_e_o_a14} - -\item -void {\bf invalidate} (void)\label{class_e_o_a15} - -\item -void {\bf invalidate\_\-worth} (void)\label{class_e_o_a16} - -\item -bool {\bf operator$<$} (const EO$<$ Fitness, Traits $>$ \&other) const \label{class_e_o_a17} - -\item -bool {\bf operator$>$} (const EO$<$ Fitness, Traits $>$ \&other) const \label{class_e_o_a18} - -\end{CompactItemize} -{\bf }\par -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object.$\backslash$ Calls base class, just in case that one had something to do. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\end{CompactItemize} - -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Fitness {\bf rep\-Fitness}\label{class_e_o_r0} - -\item -bool {\bf invalid\-Fitness}\label{class_e_o_r1} - -\item -bool {\bf valid\_\-performance}\label{class_e_o_r2} - -\item -bool {\bf valid\_\-worth}\label{class_e_o_r3} - -\item -storage\_\-type {\bf rep\_\-fitness}\label{class_e_o_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class F$>$ class EO$<$ F $>$} - -EO is a base class for evolvable objects, that is, the subjects of evolution. - -EOs have only got a fitness, which at the same time needs to be only an object with the operation less than ($<$) defined. Fitness says how good is the object; evolution or change of these objects is left to the genetic operators. A fitness less than another means a worse fitness, in whatever the context; thus, fitness is always maximized; although it can be minimized with a proper definition of the $<$ operator. The fitness object must have, besides an void ctor, a copy ctor. - - - -Definition at line 44 of file EO.h. - -\subsection{Constructor \& Destructor Documentation} -\index{EO@{EO}!EO@{EO}} -\index{EO@{EO}!EO@{EO}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class F$>$ {\bf EO}$<$ F $>$::{\bf EO} ()\hspace{0.3cm}{\tt [inline]}}\label{class_e_o_a0} - - -Default constructor. - -Fitness must have a ctor which takes 0 as a value; we can not use void ctors here since default types like float have no void initializer. VC++ allows it, but gcc does not - -Definition at line 54 of file EO.h. - -\subsection{Member Function Documentation} -\index{EO@{EO}!fitness@{fitness}} -\index{fitness@{fitness}!EO@{EO}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class F$>$ void {\bf EO}$<$ F $>$::fitness (const Fitness \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline]}}\label{class_e_o_a4} - - -Set fitness. - -At the same time, validates it. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-fitness}]New fitness value. \end{description} -\end{Desc} - - -Definition at line 72 of file EO.h.\index{EO@{EO}!invalid@{invalid}} -\index{invalid@{invalid}!EO@{EO}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class F$>$ bool {\bf EO}$<$ F $>$::invalid () const\hspace{0.3cm}{\tt [inline]}}\label{class_e_o_a5} - - -Return true If fitness value is invalid, false otherwise. - -\begin{Desc} -\item[Returns:]true If fitness is invalid. \end{Desc} - - -Definition at line 81 of file EO.h. - -Referenced by EO$<$ Py\-Fitness $>$::fitness(), eo\-One\-Max\-Eval\-Func$<$ EOT $>$::operator()(), eo\-One\-Fifth\-Mutation$<$ EOT $>$::operator()(), eo\-Eval\-Func\-Ptr$<$ EOT, Fit\-T, Function\-Arg $>$::operator()(), eo\-Eval\-Func\-Counter$<$ EOT $>$::operator()(), and EO$<$ Py\-Fitness $>$::print\-On().\index{EO@{EO}!operator<@{operator$<$}} -\index{operator<@{operator$<$}!EO@{EO}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class F$>$ bool {\bf EO}$<$ F $>$::operator$<$ (const {\bf EO}$<$ F $>$ \& {\em \_\-eo2}) const\hspace{0.3cm}{\tt [inline]}}\label{class_e_o_a6} - - -Returns true if. - -\begin{Desc} -\item[Returns:]true if the fitness is higher \end{Desc} - - -Definition at line 86 of file EO.h. - -Referenced by eo\-Vector$<$ Fit\-T, bool $>$::operator$<$().\index{EO@{EO}!className@{className}} -\index{className@{className}!EO@{EO}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class F$>$ virtual std::string {\bf EO}$<$ F $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{class_e_o_z10_0} - - -Return the class id. - -\begin{Desc} -\item[Returns:]the class name as a std::string \end{Desc} - - -Implements {\bf eo\-Object} {\rm (p.\,\pageref{classeo_object_a1})}. - -Reimplemented in {\bf eo\-Es\-Full$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_full_a1})}, {\bf eo\-Es\-Simple$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_simple_a1})}, {\bf eo\-Es\-Stdev$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_stdev_a1})}, {\bf eo\-Real$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_real_a1})}, {\bf eo\-Bit$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_bit_a1})}, {\bf eo\-Parse\-Tree$<$ FType, Node $>$} {\rm (p.\,\pageref{classeo_parse_tree_a4})}, {\bf eo\-String$<$ fitness\-T $>$} {\rm (p.\,\pageref{classeo_string_z26_0})}, and {\bf eo\-One\-Max$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_one_max_a2})}. - -Definition at line 95 of file EO.h.\index{EO@{EO}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!EO@{EO}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class F$>$ virtual void {\bf EO}$<$ F $>$::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{class_e_o_z10_1} - - -Read object.$\backslash$ Calls base class, just in case that one had something to do. - -The read and print methods should be compatible and have the same format. In principle, format is \char`\"{}plain\char`\"{}: they just print a number \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]a std::istream. \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-std::exception}]If a valid object can't be read. \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Reimplemented in {\bf eo\-Vector$<$ Fit\-T, Gene\-Type $>$} {\rm (p.\,\pageref{classeo_vector_a5})}, {\bf eo\-Es\-Full$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_full_a3})}, {\bf eo\-Es\-Simple$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_simple_a3})}, {\bf eo\-Es\-Stdev$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_stdev_a3})}, {\bf eo\-Bit$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_bit_a3})}, {\bf eo\-Parse\-Tree$<$ FType, Node $>$} {\rm (p.\,\pageref{classeo_parse_tree_a6})}, {\bf eo\-External\-EO$<$ Fit, External $>$} {\rm (p.\,\pageref{classeo_external_e_o_a3})}, {\bf eo\-Vector$<$ Fit, double $>$} {\rm (p.\,\pageref{classeo_vector_a5})}, {\bf eo\-Vector$<$ Fit\-T, double $>$} {\rm (p.\,\pageref{classeo_vector_a5})}, and {\bf eo\-Vector$<$ Fit\-T, bool $>$} {\rm (p.\,\pageref{classeo_vector_a5})}. - -Definition at line 105 of file EO.h. - -Referenced by eo\-Vector$<$ Fit\-T, bool $>$::read\-From(), eo\-Pop$<$ Dummy $>$::read\-From(), eo\-Parse\-Tree$<$ FType, Node $>$::read\-From(), eo\-One\-Max$<$ Fit\-T $>$::read\-From(), eo\-External\-EO$<$ Fit, External $>$::read\-From(), and eo\-Bit$<$ Fit\-T $>$::read\-From().\index{EO@{EO}!printOn@{printOn}} -\index{printOn@{printOn}!EO@{EO}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class F$>$ virtual void {\bf EO}$<$ F $>$::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{class_e_o_z10_2} - - -Write object. - -Called print\-On since it prints the object \_\-on\_\- a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Reimplemented in {\bf eo\-Vector$<$ Fit\-T, Gene\-Type $>$} {\rm (p.\,\pageref{classeo_vector_a4})}, {\bf eo\-Es\-Full$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_full_a2})}, {\bf eo\-Es\-Simple$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_simple_a2})}, {\bf eo\-Es\-Stdev$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_stdev_a2})}, {\bf eo\-Bit$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_bit_a2})}, {\bf eo\-Parse\-Tree$<$ FType, Node $>$} {\rm (p.\,\pageref{classeo_parse_tree_a5})}, {\bf eo\-External\-EO$<$ Fit, External $>$} {\rm (p.\,\pageref{classeo_external_e_o_a4})}, {\bf eo\-String$<$ fitness\-T $>$} {\rm (p.\,\pageref{classeo_string_z24_1})}, {\bf Dummy} {\rm (p.\,\pageref{struct_dummy_a1})}, {\bf Dummy} {\rm (p.\,\pageref{struct_dummy_a2})}, {\bf Dummy} {\rm (p.\,\pageref{struct_dummy_a3})}, {\bf Dummy} {\rm (p.\,\pageref{struct_dummy_a4})}, {\bf eo\-Vector$<$ Fit, double $>$} {\rm (p.\,\pageref{classeo_vector_a4})}, {\bf eo\-Vector$<$ Fit\-T, double $>$} {\rm (p.\,\pageref{classeo_vector_a4})}, and {\bf eo\-Vector$<$ Fit\-T, bool $>$} {\rm (p.\,\pageref{classeo_vector_a4})}. - -Definition at line 129 of file EO.h. - -Referenced by Dummy::print\-On(), eo\-Vector$<$ Fit\-T, bool $>$::print\-On(), eo\-String$<$ fitness\-T $>$::print\-On(), eo\-Parse\-Tree$<$ FType, Node $>$::print\-On(), eo\-One\-Max$<$ Fit\-T $>$::print\-On(), eo\-External\-EO$<$ Fit, External $>$::print\-On(), and eo\-Bit$<$ Fit\-T $>$::print\-On(). - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -EO.h\item -fitness\_\-traits.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_mem_pool.tex b/trunk/paradiseo-eo/doc/latex/class_mem_pool.tex deleted file mode 100644 index e293a5f55..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_mem_pool.tex +++ /dev/null @@ -1,53 +0,0 @@ -\section{Mem\-Pool Class Reference} -\label{class_mem_pool}\index{MemPool@{MemPool}} -Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. - - -{\tt \#include $<$node\_\-pool.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf Mem\-Pool} (unsigned int sz)\label{class_mem_pool_a0} - -\item -void $\ast$ {\bf allocate} ()\label{class_mem_pool_a2} - -\item -void {\bf deallocate} (void $\ast$b)\label{class_mem_pool_a3} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf grow} ()\label{class_mem_pool_d0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Chunk $\ast$ {\bf chunks}\label{class_mem_pool_r0} - -\item -const unsigned int {\bf esize}\label{class_mem_pool_r1} - -\item -Link $\ast$ {\bf head}\label{class_mem_pool_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. - -Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided \char`\"{}as is\char`\"{} without express or implied warranty, and with no claim as to its suitability for any purpose. - -Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. - - - -Definition at line 21 of file node\_\-pool.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -node\_\-pool.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_minimizing_traits.eps b/trunk/paradiseo-eo/doc/latex/class_minimizing_traits.eps deleted file mode 100644 index a146992c9..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_minimizing_traits.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 281.69 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.775 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(MinimizingTraits) cw -(eoParetoFitnessTraits) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (MinimizingTraits) 0 0 box - (eoParetoFitnessTraits) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/class_minimizing_traits.tex b/trunk/paradiseo-eo/doc/latex/class_minimizing_traits.tex deleted file mode 100644 index 44705ab69..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_minimizing_traits.tex +++ /dev/null @@ -1,29 +0,0 @@ -\section{Minimizing\-Traits Class Reference} -\label{class_minimizing_traits}\index{MinimizingTraits@{MinimizingTraits}} -test program for Pareto Fitness - - -Inheritance diagram for Minimizing\-Traits::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{class_minimizing_traits} -\end{center} -\end{figure} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -bool {\bf maximizing} (int)\label{class_minimizing_traits_e0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -test program for Pareto Fitness - - - -Definition at line 36 of file t-eo\-Pareto\-Fitness.cpp. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -t-eo\-Pareto\-Fitness.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_node_selector.eps b/trunk/paradiseo-eo/doc/latex/class_node_selector.eps deleted file mode 100644 index 57bec7947..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_node_selector.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 140.845 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(NodeSelector) cw -(BiasedNodeSelector) cw -(RandomNodeSelector) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (NodeSelector) 0.5 1 box - (BiasedNodeSelector) 0 0 box - (RandomNodeSelector) 1 0 box - -% ----- relations ----- - -solid -1 0.5 0.25 out -solid -0 1 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/class_node_selector.tex b/trunk/paradiseo-eo/doc/latex/class_node_selector.tex deleted file mode 100644 index c5bb9fa25..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_node_selector.tex +++ /dev/null @@ -1,31 +0,0 @@ -\section{Node\-Selector Class Reference} -\label{class_node_selector}\index{NodeSelector@{NodeSelector}} -Base class for selecting nodes. - - -{\tt \#include $<$Node\-Selector.h$>$} - -Inheritance diagram for Node\-Selector::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{class_node_selector} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual Node\-Selection {\bf select\_\-node} (Sym sym) const =0\label{class_node_selector_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Base class for selecting nodes. - - - -Definition at line 24 of file Node\-Selector.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -Node\-Selector.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_random_node_selector.eps b/trunk/paradiseo-eo/doc/latex/class_random_node_selector.eps deleted file mode 100644 index 0fdf86204..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_random_node_selector.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 281.69 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.775 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(RandomNodeSelector) cw -(NodeSelector) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (RandomNodeSelector) 0 0 box - (NodeSelector) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/class_random_node_selector.tex b/trunk/paradiseo-eo/doc/latex/class_random_node_selector.tex deleted file mode 100644 index 05fe8e310..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_random_node_selector.tex +++ /dev/null @@ -1,32 +0,0 @@ -\section{Random\-Node\-Selector Class Reference} -\label{class_random_node_selector}\index{RandomNodeSelector@{RandomNodeSelector}} -Select nodes uniformly. - - -{\tt \#include $<$Node\-Selector.h$>$} - -Inheritance diagram for Random\-Node\-Selector::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{class_random_node_selector} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -Node\-Selection {\bf select\_\-node} (Sym sym) const \label{class_random_node_selector_a0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Select nodes uniformly. - - - -Definition at line 49 of file Node\-Selector.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -Node\-Selector.h\item -Node\-Selector.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_u_f__random__generator.tex b/trunk/paradiseo-eo/doc/latex/class_u_f__random__generator.tex deleted file mode 100644 index 6ac2ca7e6..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_u_f__random__generator.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{UF\_\-random\_\-generator$<$ T $>$ Class Template Reference} -\label{class_u_f__random__generator}\index{UF_random_generator@{UF\_\-random\_\-generator}} -Another class {\bf random\_\-generator}{\rm (p.\,\pageref{classrandom__generator})} that can be used in the STL random\_\-shuffle function (see {\bf eo\-Pop::shuffle}{\rm (p.\,\pageref{classeo_pop_a7})}): its operator() takes an unsigned argument m and must return an unsigned uniformly distributed in [0,m\}. - - -{\tt \#include $<$rnd\_\-generators.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf UF\_\-random\_\-generator} ({\bf eo\-Rng} \&\_\-rng=rng)\label{class_u_f__random__generator_a0} - -\item -T {\bf operator()} (T \_\-t)\label{class_u_f__random__generator_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Rng} \& {\bf random}\label{class_u_f__random__generator_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = uint32\_\-t$>$ class UF\_\-random\_\-generator$<$ T $>$} - -Another class {\bf random\_\-generator}{\rm (p.\,\pageref{classrandom__generator})} that can be used in the STL random\_\-shuffle function (see {\bf eo\-Pop::shuffle}{\rm (p.\,\pageref{classeo_pop_a7})}): its operator() takes an unsigned argument m and must return an unsigned uniformly distributed in [0,m\}. - - - -Definition at line 121 of file rnd\_\-generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -rnd\_\-generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_virus_bit_flip.eps b/trunk/paradiseo-eo/doc/latex/class_virus_bit_flip.eps deleted file mode 100644 index a9bc9d2fe..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_virus_bit_flip.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 100.629 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.96875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(VirusBitFlip< FitT >) cw -(eoMonOp< eoVirus< FitT > >) cw -(eoOp< eoVirus< FitT > >) cw -(eoUF< eoVirus< FitT > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoVirus< FitT > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (VirusBitFlip< FitT >) 0.5 0 box - (eoMonOp< eoVirus< FitT > >) 0.5 1 box - (eoOp< eoVirus< FitT > >) 0 2 box - (eoUF< eoVirus< FitT > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoVirus< FitT > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/class_virus_bit_flip.tex b/trunk/paradiseo-eo/doc/latex/class_virus_bit_flip.tex deleted file mode 100644 index 2272ffa0a..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_virus_bit_flip.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{Virus\-Bit\-Flip$<$ Fit\-T $>$ Class Template Reference} -\label{class_virus_bit_flip}\index{VirusBitFlip@{VirusBitFlip}} -Virus\-Bit\-Flip --$>$ changes 1 bit. - - -{\tt \#include $<$Virus\-Op.h$>$} - -Inheritance diagram for Virus\-Bit\-Flip$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.81761cm]{class_virus_bit_flip} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const \label{class_virus_bit_flip_a0} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (eo\-Virus$<$ {\bf Fit\-T} $>$ \&\_\-chrom) -\begin{CompactList}\small\item\em Change one bit. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class Virus\-Bit\-Flip$<$ Fit\-T $>$} - -Virus\-Bit\-Flip --$>$ changes 1 bit. - - - -Definition at line 40 of file Virus\-Op.h. - -\subsection{Member Function Documentation} -\index{VirusBitFlip@{Virus\-Bit\-Flip}!operator()@{operator()}} -\index{operator()@{operator()}!VirusBitFlip@{Virus\-Bit\-Flip}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ bool {\bf Virus\-Bit\-Flip}$<$ {\bf Fit\-T} $>$::operator() (eo\-Virus$<$ {\bf Fit\-T} $>$ \& {\em \_\-chrom})\hspace{0.3cm}{\tt [inline, virtual]}}\label{class_virus_bit_flip_a1} - - -Change one bit. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom}]The cromosome which one bit is going to be changed. \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ eo\-Virus$<$ Fit\-T $>$ \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 49 of file Virus\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -Virus\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/class_virus_shift_mutation.eps b/trunk/paradiseo-eo/doc/latex/class_virus_shift_mutation.eps deleted file mode 100644 index ed3005e6e..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_virus_shift_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 100.629 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.96875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(VirusShiftMutation< FitT >) cw -(eoMonOp< eoVirus< FitT > >) cw -(eoOp< eoVirus< FitT > >) cw -(eoUF< eoVirus< FitT > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoVirus< FitT > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (VirusShiftMutation< FitT >) 0.5 0 box - (eoMonOp< eoVirus< FitT > >) 0.5 1 box - (eoOp< eoVirus< FitT > >) 0 2 box - (eoUF< eoVirus< FitT > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoVirus< FitT > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/class_virus_shift_mutation.tex b/trunk/paradiseo-eo/doc/latex/class_virus_shift_mutation.tex deleted file mode 100644 index 8c44fb7d3..000000000 --- a/trunk/paradiseo-eo/doc/latex/class_virus_shift_mutation.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{Virus\-Shift\-Mutation$<$ Fit\-T $>$ Class Template Reference} -\label{class_virus_shift_mutation}\index{VirusShiftMutation@{VirusShiftMutation}} -Works for 1-bit virus; shifts the one to the right or left. - - -{\tt \#include $<$Virus\-Op.h$>$} - -Inheritance diagram for Virus\-Shift\-Mutation$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.81761cm]{class_virus_shift_mutation} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf Virus\-Shift\-Mutation} ()\label{class_virus_shift_mutation_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{class_virus_shift_mutation_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (eo\-Virus$<$ {\bf Fit\-T} $>$ \&\_\-chrom) -\begin{CompactList}\small\item\em Change one bit. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class Virus\-Shift\-Mutation$<$ Fit\-T $>$} - -Works for 1-bit virus; shifts the one to the right or left. - - - -Definition at line 86 of file Virus\-Op.h. - -\subsection{Member Function Documentation} -\index{VirusShiftMutation@{Virus\-Shift\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!VirusShiftMutation@{Virus\-Shift\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ bool {\bf Virus\-Shift\-Mutation}$<$ {\bf Fit\-T} $>$::operator() (eo\-Virus$<$ {\bf Fit\-T} $>$ \& {\em \_\-chrom})\hspace{0.3cm}{\tt [inline, virtual]}}\label{class_virus_shift_mutation_a2} - - -Change one bit. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom}]The cromosome which one bit is going to be changed. \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ eo\-Virus$<$ Fit\-T $>$ \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 99 of file Virus\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -Virus\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classboolean__generator.tex b/trunk/paradiseo-eo/doc/latex/classboolean__generator.tex deleted file mode 100644 index 38ea794ee..000000000 --- a/trunk/paradiseo-eo/doc/latex/classboolean__generator.tex +++ /dev/null @@ -1,37 +0,0 @@ -\section{boolean\_\-generator Class Reference} -\label{classboolean__generator}\index{boolean_generator@{boolean\_\-generator}} -The class boolean\_\-generator can be used in the STL generate function to easily generate random booleans with a specified bias. - - -{\tt \#include $<$rnd\_\-generators.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf boolean\_\-generator} (float \_\-bias=0.5, {\bf eo\-Rng} \&\_\-rng=rng)\label{classboolean__generator_a0} - -\item -bool {\bf operator()} (void)\label{classboolean__generator_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -float {\bf bias}\label{classboolean__generator_r0} - -\item -{\bf eo\-Rng} \& {\bf gen}\label{classboolean__generator_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -The class boolean\_\-generator can be used in the STL generate function to easily generate random booleans with a specified bias. - - - -Definition at line 70 of file rnd\_\-generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -rnd\_\-generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classd_matrix.tex b/trunk/paradiseo-eo/doc/latex/classd_matrix.tex deleted file mode 100644 index 7ee408525..000000000 --- a/trunk/paradiseo-eo/doc/latex/classd_matrix.tex +++ /dev/null @@ -1,40 +0,0 @@ -\section{d\-Matrix Class Reference} -\label{classd_matrix}\index{dMatrix@{dMatrix}} -A helper class for Sharing - to hold distances. - - -{\tt \#include $<$eo\-Sharing.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf d\-Matrix} (unsigned \_\-s)\label{classd_matrix_a0} - -\item -double {\bf operator()} (unsigned \_\-i, unsigned \_\-j) const \label{classd_matrix_a1} - -\begin{CompactList}\small\item\em simple accessor \item\end{CompactList}\item -double \& {\bf operator()} (unsigned \_\-i, unsigned \_\-j)\label{classd_matrix_a2} - -\begin{CompactList}\small\item\em reference - to set values \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&\_\-os)\label{classd_matrix_a3} - -\begin{CompactList}\small\item\em just in case \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf r\-Size}\label{classd_matrix_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -A helper class for Sharing - to hold distances. - - - -Definition at line 37 of file eo\-Sharing.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo1_pt_bit_crossover.tex b/trunk/paradiseo-eo/doc/latex/classeo1_pt_bit_crossover.tex deleted file mode 100644 index fd1070886..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo1_pt_bit_crossover.tex +++ /dev/null @@ -1,17 +0,0 @@ -\section{eo1Pt\-Bit\-Crossover Class Reference} -\label{classeo1_pt_bit_crossover}\index{eo1PtBitCrossover@{eo1PtBitCrossover}} -eo1Pt\-Bit\-Xover --$>$ classic 1-point crossover - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - - - -\subsection{Detailed Description} -eo1Pt\-Bit\-Xover --$>$ classic 1-point crossover - - - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_aged.tex b/trunk/paradiseo-eo/doc/latex/classeo_aged.tex deleted file mode 100644 index a572a1379..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_aged.tex +++ /dev/null @@ -1,121 +0,0 @@ -\section{eo\-Aged$<$ Object $>$ Class Template Reference} -\label{classeo_aged}\index{eoAged@{eoAged}} -eo\-Age is a template class that adds an age to an object.$\backslash$ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. - - -{\tt \#include $<$eo\-Aged.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Aged} (const Object \&\_\-o)\label{classeo_aged_a0} - -\begin{CompactList}\small\item\em Main ctor from an already built Object. \item\end{CompactList}\item -{\bf eo\-Aged} (const {\bf eo\-Aged} \&\_\-a)\label{classeo_aged_a1} - -\begin{CompactList}\small\item\em Copy constructor. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Aged} ()\label{classeo_aged_a2} - -\begin{CompactList}\small\item\em Virtual dtor. They are needed in virtual class hierarchies. \item\end{CompactList}\item -unsigned long {\bf Age} () const \label{classeo_aged_a3} - -\begin{CompactList}\small\item\em returns the age of the object \item\end{CompactList}\item -const {\bf eo\-Aged} \& {\bf operator++} ()\label{classeo_aged_a4} - -\begin{CompactList}\small\item\em Increments age. \item\end{CompactList}\end{CompactItemize} -\begin{Indent}{\bf Methods from eo\-Object}\par -{\em read\-From and print\-On are directly inherited from eo1d }\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\item -virtual void {\bf read\-From} (istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\end{CompactItemize} -\end{Indent} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Aged} () -\begin{CompactList}\small\item\em Default Constructor. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned long {\bf age}\label{classeo_aged_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Object$>$ class eo\-Aged$<$ Object $>$} - -eo\-Age is a template class that adds an age to an object.$\backslash$ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. - -The Object must be an {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}, thus, it must have its methods: class\-Name, print\-On, read\-From. \begin{Desc} -\item[See also:]{\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})} \end{Desc} - - - - -Definition at line 47 of file eo\-Aged.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoAged@{eo\-Aged}!eoAged@{eoAged}} -\index{eoAged@{eoAged}!eoAged@{eo\-Aged}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Object$>$ {\bf eo\-Aged}$<$ Object $>$::{\bf eo\-Aged} ()\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_aged_d0} - - -Default Constructor. - -$\backslash$ It180s private so that it is not used anywhere; the right way of using this object is to create an Object and passing it to an aged by means of the copy ctor; that way it180s turned into an Aged object - -Definition at line 103 of file eo\-Aged.h. - -\subsection{Member Function Documentation} -\index{eoAged@{eo\-Aged}!className@{className}} -\index{className@{className}!eoAged@{eo\-Aged}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Object$>$ virtual std::string {\bf eo\-Aged}$<$ Object $>$::class\-Name () const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_aged_z9_0} - - -Return the class id. - -This should be redefined in each class; but it's got code as an example of implementation. Only \char`\"{}leaf\char`\"{} classes can be non-virtual. - -Definition at line 74 of file eo\-Aged.h.\index{eoAged@{eo\-Aged}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoAged@{eo\-Aged}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Object$>$ virtual void {\bf eo\-Aged}$<$ Object $>$::read\-From (istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_aged_z9_1} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A istream. \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-exception}]If a valid object can't be read. \end{description} -\end{Desc} - - -Definition at line 81 of file eo\-Aged.h.\index{eoAged@{eo\-Aged}!printOn@{printOn}} -\index{printOn@{printOn}!eoAged@{eo\-Aged}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Object$>$ virtual void {\bf eo\-Aged}$<$ Object $>$::print\-On (ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_aged_z9_2} - - -Write object. - -It's called print\-On since it prints the object \_\-on\_\- a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A ostream. \end{description} -\end{Desc} - - -Definition at line 91 of file eo\-Aged.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Aged.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_algo.eps b/trunk/paradiseo-eo/doc/latex/classeo_algo.eps deleted file mode 100644 index d3dc78d78..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_algo.eps +++ /dev/null @@ -1,225 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 102.171 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.89375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoAlgo< EOT >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPop< EOT > &, void >) cw -(eoCellularEasyEA< EOT >) cw -(eoEasyEA< EOT >) cw -(eoSGA< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoAlgo< EOT >) 1 1 box - (eoUF< eoPop< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPop< EOT > &, void >) 1.5 3 box - (eoCellularEasyEA< EOT >) 0 0 box - (eoEasyEA< EOT >) 1 0 box - (eoSGA< EOT >) 2 0 box - -% ----- relations ----- - -solid -0 1 1 out -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in -solid -1 1 0.25 out -solid -0 2 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_algo.tex b/trunk/paradiseo-eo/doc/latex/classeo_algo.tex deleted file mode 100644 index 2e0dd8ddb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_algo.tex +++ /dev/null @@ -1,29 +0,0 @@ -\section{eo\-Algo$<$ EOT $>$ Class Template Reference} -\label{classeo_algo}\index{eoAlgo@{eoAlgo}} -This is a generic class for population-transforming algorithms. - - -{\tt \#include $<$eo\-Algo.h$>$} - -Inheritance diagram for eo\-Algo$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.86079cm]{classeo_algo} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Algo$<$ EOT $>$} - -This is a generic class for population-transforming algorithms. - -There is only one operator defined, which takes a population and does stuff to it. It needn't be a complete algorithm, can be also a step of an algorithm. This class just gives a common interface to linear population-transforming algorithms. - - - -Definition at line 39 of file eo\-Algo.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Algo.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_arithmetic_crossover.tex b/trunk/paradiseo-eo/doc/latex/classeo_arithmetic_crossover.tex deleted file mode 100644 index 23cdff75f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_arithmetic_crossover.tex +++ /dev/null @@ -1,17 +0,0 @@ -\section{eo\-Arithmetic\-Crossover Class Reference} -\label{classeo_arithmetic_crossover}\index{eoArithmeticCrossover@{eoArithmeticCrossover}} -eo\-Hypercube\-Crossover --$>$ uniform choice in hypercube == arithmetical with different values for each coordinate - - -{\tt \#include $<$Tutorial/eo\-Real\-Op.h$>$} - - - -\subsection{Detailed Description} -eo\-Hypercube\-Crossover --$>$ uniform choice in hypercube == arithmetical with different values for each coordinate - - - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_average_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_average_stat.eps deleted file mode 100644 index 046ba3a7d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_average_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.613 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoAssembledFitnessAverageStat< EOT >) cw -(eoStat< EOT, double >) cw -(eoValueParam< double >) cw -(eoStatBase< EOT >) cw -(eoParam) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoAssembledFitnessAverageStat< EOT >) 0.5 0 box - (eoStat< EOT, double >) 0.5 1 box - (eoValueParam< double >) 0 2 box - (eoStatBase< EOT >) 1 2 box - (eoParam) 0 3 box - (eoUF< const eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< const eoPop< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_average_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_average_stat.tex deleted file mode 100644 index aad261bbe..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_average_stat.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Assembled\-Fitness\-Average\-Stat$<$ EOT $>$ Class Template Reference} -\label{classeo_assembled_fitness_average_stat}\index{eoAssembledFitnessAverageStat@{eoAssembledFitnessAverageStat}} -Average fitness values of a population, where the fitness is of type eo\-Scalar\-Assembled\-Fitness. - - -{\tt \#include $<$eo\-Assembled\-Fitness\-Stat.h$>$} - -Inheritance diagram for eo\-Assembled\-Fitness\-Average\-Stat$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15315cm]{classeo_assembled_fitness_average_stat} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_assembled_fitness_average_stat_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Assembled\-Fitness\-Average\-Stat} (unsigned \_\-which\-Term=0, std::string \_\-description=\char`\"{}Average Fitness\char`\"{})\label{classeo_assembled_fitness_average_stat_a0} - -\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_assembled_fitness_average_stat_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf which\-Fitness\-Term}\label{classeo_assembled_fitness_average_stat_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Assembled\-Fitness\-Average\-Stat$<$ EOT $>$} - -Average fitness values of a population, where the fitness is of type eo\-Scalar\-Assembled\-Fitness. - -Specify in the constructor, for which fitness term (index) the average should be evaluated. Only values of object where the failed boolean = false is set are counted. - - - -Definition at line 46 of file eo\-Assembled\-Fitness\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Assembled\-Fitness\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_best_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_best_stat.eps deleted file mode 100644 index 2f4acd87c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_best_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.613 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoAssembledFitnessBestStat< EOT >) cw -(eoStat< EOT, double >) cw -(eoValueParam< double >) cw -(eoStatBase< EOT >) cw -(eoParam) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoAssembledFitnessBestStat< EOT >) 0.5 0 box - (eoStat< EOT, double >) 0.5 1 box - (eoValueParam< double >) 0 2 box - (eoStatBase< EOT >) 1 2 box - (eoParam) 0 3 box - (eoUF< const eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< const eoPop< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_best_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_best_stat.tex deleted file mode 100644 index 52bf0c88d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_assembled_fitness_best_stat.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Assembled\-Fitness\-Best\-Stat$<$ EOT $>$ Class Template Reference} -\label{classeo_assembled_fitness_best_stat}\index{eoAssembledFitnessBestStat@{eoAssembledFitnessBestStat}} -Fitness values of best individuum in a population, where the fitness is of type eo\-Scalar\-Assembled\-Fitness. - - -{\tt \#include $<$eo\-Assembled\-Fitness\-Stat.h$>$} - -Inheritance diagram for eo\-Assembled\-Fitness\-Best\-Stat$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15315cm]{classeo_assembled_fitness_best_stat} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_assembled_fitness_best_stat_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Assembled\-Fitness\-Best\-Stat} (unsigned \_\-which\-Term=0, std::string \_\-description=\char`\"{}Best Fitness\char`\"{})\label{classeo_assembled_fitness_best_stat_a0} - -\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_assembled_fitness_best_stat_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf which\-Fitness\-Term}\label{classeo_assembled_fitness_best_stat_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Assembled\-Fitness\-Best\-Stat$<$ EOT $>$} - -Fitness values of best individuum in a population, where the fitness is of type eo\-Scalar\-Assembled\-Fitness. - -Specify in the constructor, for which fitness term (index) the value should be evaluated. - - - -Definition at line 87 of file eo\-Assembled\-Fitness\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Assembled\-Fitness\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_atom_exchange.eps b/trunk/paradiseo-eo/doc/latex/classeo_atom_exchange.eps deleted file mode 100644 index 12eac908e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_atom_exchange.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 149.813 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.3375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoAtomExchange< Atom >) cw -(eoBF< unsigned, Atom &, bool >) cw -(eoFunctorBase) cw -(binary_function< unsigned, Atom &, bool >) cw -(eoUniformAtomExchange< Atom >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoAtomExchange< Atom >) 0.5 1 box - (eoBF< unsigned, Atom &, bool >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< unsigned, Atom &, bool >) 1 3 box - (eoUniformAtomExchange< Atom >) 0.5 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -1 0.5 0.25 out -solid -0 0.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_atom_exchange.tex b/trunk/paradiseo-eo/doc/latex/classeo_atom_exchange.tex deleted file mode 100644 index 58922b9d0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_atom_exchange.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Atom\-Exchange$<$ Atom $>$ Class Template Reference} -\label{classeo_atom_exchange}\index{eoAtomExchange@{eoAtomExchange}} -A helper class for choosing which genes to exchange. - - -{\tt \#include $<$eo\-Variable\-Length\-Crossover.h$>$} - -Inheritance diagram for eo\-Atom\-Exchange$<$ Atom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_atom_exchange} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf randomize} (unsigned int, unsigned int)\label{classeo_atom_exchange_a0} - -\begin{CompactList}\small\item\em a function to initlialize - to be called before every crossover \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const =0\label{classeo_atom_exchange_a1} - -\begin{CompactList}\small\item\em the inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_atom_exchange_a1})} \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Atom$>$ class eo\-Atom\-Exchange$<$ Atom $>$} - -A helper class for choosing which genes to exchange. - - - -Definition at line 41 of file eo\-Variable\-Length\-Crossover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Crossover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_average_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_average_stat.eps deleted file mode 100644 index b6ba490e9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_average_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.613 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoAverageStat< EOT >) cw -(eoStat< EOT, EOT::Fitness >) cw -(eoValueParam< EOT::Fitness >) cw -(eoStatBase< EOT >) cw -(eoParam) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoAverageStat< EOT >) 0.5 0 box - (eoStat< EOT, EOT::Fitness >) 0.5 1 box - (eoValueParam< EOT::Fitness >) 0 2 box - (eoStatBase< EOT >) 1 2 box - (eoParam) 0 3 box - (eoUF< const eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< const eoPop< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_average_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_average_stat.tex deleted file mode 100644 index b8e4e7c4d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_average_stat.tex +++ /dev/null @@ -1,69 +0,0 @@ -\section{eo\-Average\-Stat$<$ EOT $>$ Class Template Reference} -\label{classeo_average_stat}\index{eoAverageStat@{eoAverageStat}} -Average fitness of a population. - - -{\tt \#include $<$eo\-Stat.h$>$} - -Inheritance diagram for eo\-Average\-Stat$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15315cm]{classeo_average_stat} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_average_stat_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Average\-Stat} (std::string \_\-description=\char`\"{}Average Fitness\char`\"{})\label{classeo_average_stat_a0} - -\item -{\bf eo\-Average\-Stat} (double \_\-value, std::string \_\-desc)\label{classeo_average_stat_a1} - -\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_average_stat_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_average_stat_a3} - -\end{CompactItemize} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -Fitness {\bf sum\-Fitness} (double \_\-sum, const {\bf EOT} \&\_\-eot)\label{classeo_average_stat_e0} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -template$<$class T$>$ void {\bf doit} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pareto\-Fitness}$<$ T $>$)\label{classeo_average_stat_d0} - -\item -template$<$class T$>$ void {\bf doit} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, T)\label{classeo_average_stat_d1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Average\-Stat$<$ EOT $>$} - -Average fitness of a population. - -Fitness can be:\begin{itemize} -\item double\item eo\-Minimizing\-Fitness or eo\-Maximizing\-Fitness\item {\bf eo\-Pareto\-Fitness}{\rm (p.\,\pageref{classeo_pareto_fitness})}: The average of each objective is evaluated.\end{itemize} - - -( For {\bf eo\-Scalar\-Fitness\-Assembled}{\rm (p.\,\pageref{classeo_scalar_fitness_assembled})} user eo\-Assembled\-Fitness\-Stat classes.) - - - -Definition at line 108 of file eo\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_b_f.eps b/trunk/paradiseo-eo/doc/latex/classeo_b_f.eps deleted file mode 100644 index e9cda4fcc..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_b_f.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 303.03 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBF< A1, A2, R >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBF< A1, A2, R >) 0 0 box - (eoFunctorBase) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_b_f.tex b/trunk/paradiseo-eo/doc/latex/classeo_b_f.tex deleted file mode 100644 index 0855d389a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_b_f.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-BF$<$ A1, A2, R $>$ Class Template Reference} -\label{classeo_b_f}\index{eoBF@{eoBF}} -Basic Binary Functor. - - -{\tt \#include $<$eo\-Functor.h$>$} - -Inheritance diagram for eo\-BF$<$ A1, A2, R $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_b_f} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-BF} ()\label{classeo_b_f_a0} - -\begin{CompactList}\small\item\em virtual dtor here so there is no need to define it in derived classes \item\end{CompactList}\item -virtual R {\bf operator()} (A1, A2)=0\label{classeo_b_f_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Functor\-Base::binary\_\-function\_\-tag} {\bf functor\_\-category} ()\label{classeo_b_f_e0} - -\begin{CompactList}\small\item\em tag to identify a procedure in compile time function selection functor\_\-category \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class A1, class A2, class R$>$ class eo\-BF$<$ A1, A2, R $>$} - -Basic Binary Functor. - -Derive from this class when defining any binary function. First template argument is result\_\-type, second is first\_\-argument\_\-type, third is second\_\-argument\_\-type. Argument and result types can be any type including void for result\_\-type - - - -Definition at line 145 of file eo\-Functor.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Functor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_best_fitness_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_best_fitness_stat.eps deleted file mode 100644 index d4da7096c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_best_fitness_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.613 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBestFitnessStat< EOT >) cw -(eoStat< EOT, EOT::Fitness >) cw -(eoValueParam< EOT::Fitness >) cw -(eoStatBase< EOT >) cw -(eoParam) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBestFitnessStat< EOT >) 0.5 0 box - (eoStat< EOT, EOT::Fitness >) 0.5 1 box - (eoValueParam< EOT::Fitness >) 0 2 box - (eoStatBase< EOT >) 1 2 box - (eoParam) 0 3 box - (eoUF< const eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< const eoPop< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_best_fitness_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_best_fitness_stat.tex deleted file mode 100644 index 406de92b4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_best_fitness_stat.tex +++ /dev/null @@ -1,60 +0,0 @@ -\section{eo\-Best\-Fitness\-Stat$<$ EOT $>$ Class Template Reference} -\label{classeo_best_fitness_stat}\index{eoBestFitnessStat@{eoBestFitnessStat}} -Best fitness of a population. - - -{\tt \#include $<$eo\-Stat.h$>$} - -Inheritance diagram for eo\-Best\-Fitness\-Stat$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15315cm]{classeo_best_fitness_stat} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_best_fitness_stat_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Best\-Fitness\-Stat} (std::string \_\-description=\char`\"{}Best \char`\"{})\label{classeo_best_fitness_stat_a0} - -\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_best_fitness_stat_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_best_fitness_stat_a2} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -template$<$class T$>$ void {\bf doit} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pareto\-Fitness}$<$ T $>$)\label{classeo_best_fitness_stat_d0} - -\item -template$<$class T$>$ void {\bf doit} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, T)\label{classeo_best_fitness_stat_d1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Best\-Fitness\-Stat$<$ EOT $>$} - -Best fitness of a population. - -Fitness can be:\begin{itemize} -\item double\item eo\-Minimizing\-Fitness or eo\-Maximizing\-Fitness\item {\bf eo\-Pareto\-Fitness}{\rm (p.\,\pageref{classeo_pareto_fitness})}:\end{itemize} - - -( For {\bf eo\-Scalar\-Fitness\-Assembled}{\rm (p.\,\pageref{classeo_scalar_fitness_assembled})} look at eo\-Assembled\-Fitness\-Stat ) - - - -Definition at line 316 of file eo\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_best_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_best_select.eps deleted file mode 100644 index 9726af548..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_best_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBestSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBestSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_best_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_best_select.tex deleted file mode 100644 index 27159c4ce..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_best_select.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Best\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_best_select}\index{eoBestSelect@{eoBestSelect}} -eo\-Best\-Select: a selection method that always return the best (mainly for testing purposes) - - -{\tt \#include $<$eo\-Random\-Select.h$>$} - -Inheritance diagram for eo\-Best\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_best_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_best_select_a0} - -\begin{CompactList}\small\item\em not a big deal!!! \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Best\-Select$<$ EOT $>$} - -eo\-Best\-Select: a selection method that always return the best (mainly for testing purposes) - - - -Definition at line 60 of file eo\-Random\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Random\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bin_clone_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_bin_clone_op.eps deleted file mode 100644 index 377a3feac..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bin_clone_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBinCloneOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBinCloneOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bin_clone_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_bin_clone_op.tex deleted file mode 100644 index cff226730..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bin_clone_op.tex +++ /dev/null @@ -1,39 +0,0 @@ -\section{eo\-Bin\-Clone\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_bin_clone_op}\index{eoBinCloneOp@{eoBinCloneOp}} -Binary clone: two operands, only the first could be modified. - - -{\tt \#include $<$eo\-Clone\-Ops.h$>$} - -Inheritance diagram for eo\-Bin\-Clone\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_bin_clone_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Bin\-Clone\-Op} ()\label{classeo_bin_clone_op_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_bin_clone_op_a1} - -\item -virtual bool {\bf operator()} ({\bf EOT} \&, const {\bf EOT} \&)\label{classeo_bin_clone_op_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Bin\-Clone\-Op$<$ EOT $>$} - -Binary clone: two operands, only the first could be modified. - - - -Definition at line 57 of file eo\-Clone\-Ops.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Clone\-Ops.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bin_gen_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_bin_gen_op.eps deleted file mode 100644 index b21e26f31..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bin_gen_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.0125 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.49375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBinGenOp< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBinGenOp< EOT >) 0.5 0 box - (eoGenOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< eoPopulator< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bin_gen_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_bin_gen_op.tex deleted file mode 100644 index 0050fbf87..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bin_gen_op.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Bin\-Gen\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_bin_gen_op}\index{eoBinGenOp@{eoBinGenOp}} -Wrapper for binop: here we use select method of {\bf eo\-Populator}{\rm (p.\,\pageref{classeo_populator})} but we could also have an embedded selector to select the second parent. - - -{\tt \#include $<$eo\-Gen\-Op.h$>$} - -Inheritance diagram for eo\-Bin\-Gen\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.54835cm]{classeo_bin_gen_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Bin\-Gen\-Op} ({\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \&\_\-op)\label{classeo_bin_gen_op_a0} - -\item -unsigned {\bf max\_\-production} (void)\label{classeo_bin_gen_op_a1} - -\begin{CompactList}\small\item\em Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \item\end{CompactList}\item -void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_bin_gen_op_a2} - -\begin{CompactList}\small\item\em do the work: get 2 individuals from the population, modifies only one (it's a {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})}) \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_bin_gen_op_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \& {\bf op}\label{classeo_bin_gen_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Bin\-Gen\-Op$<$ EOT $>$} - -Wrapper for binop: here we use select method of {\bf eo\-Populator}{\rm (p.\,\pageref{classeo_populator})} but we could also have an embedded selector to select the second parent. - - - -Definition at line 107 of file eo\-Gen\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Gen\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_bin_op.eps deleted file mode 100644 index 7021477db..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bin_op.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 60.7903 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 8.225 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBinOp< EOType >) cw -(eoOp< EOType >) cw -(eoBF< EOType &, const EOType &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOType &, const EOType &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBinOp< EOType >) 0.5 0 box - (eoOp< EOType >) 0 1 box - (eoBF< EOType &, const EOType &, bool >) 1 1 box - (eoFunctorBase) 0.5 2 box - (binary_function< EOType &, const EOType &, bool >) 1.5 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -1 1.5 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_bin_op.tex deleted file mode 100644 index a356863da..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bin_op.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Bin\-Op$<$ EOType $>$ Class Template Reference} -\label{classeo_bin_op}\index{eoBinOp@{eoBinOp}} -Binary genetic operator: subclasses {\bf eo\-Op}{\rm (p.\,\pageref{classeo_op})}, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content. - - -{\tt \#include $<$eo\-Op.h$>$} - -Inheritance diagram for eo\-Bin\-Op$<$ EOType $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.70213cm]{classeo_bin_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Bin\-Op} ()\label{classeo_bin_op_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_bin_op_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOType$>$ class eo\-Bin\-Op$<$ EOType $>$} - -Binary genetic operator: subclasses {\bf eo\-Op}{\rm (p.\,\pageref{classeo_op})}, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content. - - - -Definition at line 117 of file eo\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_binary_functor_counter.eps b/trunk/paradiseo-eo/doc/latex/classeo_binary_functor_counter.eps deleted file mode 100644 index 89cb6505f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_binary_functor_counter.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 226.415 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.20833 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBinaryFunctorCounter< BinaryFunctor >) cw -(eoValueParam< unsigned long >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBinaryFunctorCounter< BinaryFunctor >) 0 0 box - (eoValueParam< unsigned long >) 0 1 box - (eoParam) 0 2 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_binary_functor_counter.tex b/trunk/paradiseo-eo/doc/latex/classeo_binary_functor_counter.tex deleted file mode 100644 index 44a765421..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_binary_functor_counter.tex +++ /dev/null @@ -1,65 +0,0 @@ -\section{eo\-Binary\-Functor\-Counter$<$ Binary\-Functor $>$ Class Template Reference} -\label{classeo_binary_functor_counter}\index{eoBinaryFunctorCounter@{eoBinaryFunctorCounter}} -Generic counter class that counts the number of times a binary function is used. - - -{\tt \#include $<$eo\-Counter.h$>$} - -Inheritance diagram for eo\-Binary\-Functor\-Counter$<$ Binary\-Functor $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_binary_functor_counter} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Binary\-Functor\-Counter} (Binary\-Functor \&\_\-func, std::string \_\-name=\char`\"{}proc\_\-counter\char`\"{})\label{classeo_binary_functor_counter_a0} - -\item -Binary\-Functor::result\_\-type {\bf operator()} (typename Binary\-Functor::first\_\-argument\_\-type \_\-arg1, typename Binary\-Functor::second\_\-argument\_\-type \_\-arg2) -\begin{CompactList}\small\item\em Calls the embedded function and increments the counter. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Binary\-Functor \& {\bf func}\label{classeo_binary_functor_counter_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Binary\-Functor$>$ class eo\-Binary\-Functor\-Counter$<$ Binary\-Functor $>$} - -Generic counter class that counts the number of times a binary function is used. - -Add a binary function through its ctor and use this class instead of it. - -It is derived from {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so you can add it to a monitor. - - - -Definition at line 142 of file eo\-Counter.h. - -\subsection{Member Function Documentation} -\index{eoBinaryFunctorCounter@{eo\-Binary\-Functor\-Counter}!operator()@{operator()}} -\index{operator()@{operator()}!eoBinaryFunctorCounter@{eo\-Binary\-Functor\-Counter}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Binary\-Functor$>$ Binary\-Functor::result\_\-type {\bf eo\-Binary\-Functor\-Counter}$<$ Binary\-Functor $>$::operator() (typename Binary\-Functor::first\_\-argument\_\-type {\em \_\-arg1}, typename Binary\-Functor::second\_\-argument\_\-type {\em \_\-arg2})\hspace{0.3cm}{\tt [inline]}}\label{classeo_binary_functor_counter_a1} - - -Calls the embedded function and increments the counter. - -Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like \char`\"{}return void;\char`\"{} is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet. - -We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in {\bf EO}{\rm (p.\,\pageref{class_e_o})} most functors return void, it was chosen to support void. - -But also please let me know if you have a compiler that defines \_\-MSC\_\-VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then. - -You happy GNU (and other compiler) users will not have a problem with this. - -Definition at line 166 of file eo\-Counter.h. - -References eo\-Value\-Param$<$ unsigned long $>$::value(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Counter.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit.eps b/trunk/paradiseo-eo/doc/latex/classeo_bit.eps deleted file mode 100644 index 162a0438d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 266.667 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 6 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBit< FitT >) cw -(eoVector< FitT, bool >) cw -(EO< FitT >) cw -(vector< bool >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -(eoVirus< FitT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBit< FitT >) 1 1 box - (eoVector< FitT, bool >) 1 2 box - (EO< FitT >) 0.5 3 box - (vector< bool >) 1.5 3 box - (eoObject) 0 4 box - (eoPersistent) 1 4 box - (eoPrintable) 1 5 box - (eoVirus< FitT >) 1 0 box - -% ----- relations ----- - -solid -0 1 1 out -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 1.5 3 in -solid -1 0 4 in -solid -1 1 4 in -solid -0 1 4 out -solid -1 1 5 in -solid -1 1 0.25 out -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit.tex b/trunk/paradiseo-eo/doc/latex/classeo_bit.tex deleted file mode 100644 index ca15f3d54..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit.tex +++ /dev/null @@ -1,97 +0,0 @@ -\section{eo\-Bit$<$ Fit\-T $>$ Class Template Reference} -\label{classeo_bit}\index{eoBit@{eoBit}} -Implementation of bitstring chromosome. - - -{\tt \#include $<$ga/eo\-Bit.h$>$} - -Inheritance diagram for eo\-Bit$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=6cm]{classeo_bit} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Bit} (unsigned size=0, bool value=false) -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_bit_a1} - -\begin{CompactList}\small\item\em My class name. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&os) const -\begin{CompactList}\small\item\em To print me on a stream. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&is) -\begin{CompactList}\small\item\em To read me from a stream. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class eo\-Bit$<$ Fit\-T $>$} - -Implementation of bitstring chromosome. - -Based on STL's vector$<$bool$>$ specialization. - - - -Definition at line 56 of file eo\-Bit.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoBit@{eo\-Bit}!eoBit@{eoBit}} -\index{eoBit@{eoBit}!eoBit@{eo\-Bit}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ {\bf eo\-Bit}$<$ {\bf Fit\-T} $>$::{\bf eo\-Bit} (unsigned {\em size} = {\tt 0}, bool {\em value} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_bit_a0} - - -(Default) Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em size}]Size of the binary std::string. \end{description} -\end{Desc} - - -Definition at line 69 of file eo\-Bit.h. - -\subsection{Member Function Documentation} -\index{eoBit@{eo\-Bit}!printOn@{printOn}} -\index{printOn@{printOn}!eoBit@{eo\-Bit}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ virtual void {\bf eo\-Bit}$<$ {\bf Fit\-T} $>$::print\-On (std::ostream \& {\em os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_bit_a2} - - -To print me on a stream. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em os}]The std::ostream. \end{description} -\end{Desc} - - -Reimplemented from {\bf eo\-Vector$<$ Fit\-T, bool $>$} {\rm (p.\,\pageref{classeo_vector_a4})}. - -Definition at line 82 of file eo\-Bit.h. - -References EO$<$ F $>$::print\-On().\index{eoBit@{eo\-Bit}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoBit@{eo\-Bit}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ virtual void {\bf eo\-Bit}$<$ {\bf Fit\-T} $>$::read\-From (std::istream \& {\em is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_bit_a3} - - -To read me from a stream. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em is}]The std::istream. \end{description} -\end{Desc} - - -Reimplemented from {\bf eo\-Vector$<$ Fit\-T, bool $>$} {\rm (p.\,\pageref{classeo_vector_a5})}. - -Definition at line 94 of file eo\-Bit.h. - -References EO$<$ F $>$::read\-From(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_bit_flip.tex b/trunk/paradiseo-eo/doc/latex/classeo_bit_bit_flip.tex deleted file mode 100644 index 8cef12c50..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_bit_flip.tex +++ /dev/null @@ -1,17 +0,0 @@ -\section{eo\-Bit\-Bit\-Flip Class Reference} -\label{classeo_bit_bit_flip}\index{eoBitBitFlip@{eoBitBitFlip}} -eo\-Bit\-Flip --$>$ changes 1 bit - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - - - -\subsection{Detailed Description} -eo\-Bit\-Flip --$>$ changes 1 bit - - - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_gx_over.eps b/trunk/paradiseo-eo/doc/latex/classeo_bit_gx_over.eps deleted file mode 100644 index aa146eca8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_gx_over.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 96.6184 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.175 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBitGxOver< Chrom >) cw -(eoQuadOp< Chrom >) cw -(eoOp< Chrom >) cw -(eoBF< Chrom &, Chrom &, bool >) cw -(eoFunctorBase) cw -(binary_function< Chrom &, Chrom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBitGxOver< Chrom >) 0.5 0 box - (eoQuadOp< Chrom >) 0.5 1 box - (eoOp< Chrom >) 0 2 box - (eoBF< Chrom &, Chrom &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< Chrom &, Chrom &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_gx_over.tex b/trunk/paradiseo-eo/doc/latex/classeo_bit_gx_over.tex deleted file mode 100644 index eec1771d9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_gx_over.tex +++ /dev/null @@ -1,66 +0,0 @@ -\section{eo\-Bit\-Gx\-Over$<$ Chrom $>$ Class Template Reference} -\label{classeo_bit_gx_over}\index{eoBitGxOver@{eoBitGxOver}} -eo\-Bit\-Gx\-Over --$>$ Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - -Inheritance diagram for eo\-Bit\-Gx\-Over$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.70531cm]{classeo_bit_gx_over} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Bit\-Gx\-Over} (const unsigned \_\-gene\_\-size, const unsigned \_\-num\_\-points=2)\label{classeo_bit_gx_over_a0} - -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_bit_gx_over_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (Chrom \&chrom1, Chrom \&chrom2) -\begin{CompactList}\small\item\em Gene crossover for binary chromosomes. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf gene\_\-size}\label{classeo_bit_gx_over_r0} - -\item -unsigned {\bf num\_\-points}\label{classeo_bit_gx_over_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-Bit\-Gx\-Over$<$ Chrom $>$} - -eo\-Bit\-Gx\-Over --$>$ Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) - - - -Definition at line 388 of file eo\-Bit\-Op.h. - -\subsection{Member Function Documentation} -\index{eoBitGxOver@{eo\-Bit\-Gx\-Over}!operator()@{operator()}} -\index{operator()@{operator()}!eoBitGxOver@{eo\-Bit\-Gx\-Over}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ bool {\bf eo\-Bit\-Gx\-Over}$<$ Chrom $>$::operator() (Chrom \& {\em chrom1}, Chrom \& {\em chrom2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_bit_gx_over_a2} - - -Gene crossover for binary chromosomes. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom1}]The first chromosome. \item[{\em chrom2}]The first chromosome. \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ Chrom \&, Chrom \&, bool $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 409 of file eo\-Bit\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_inversion.eps b/trunk/paradiseo-eo/doc/latex/classeo_bit_inversion.eps deleted file mode 100644 index 6188e8b5e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_inversion.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 125.196 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.99375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBitInversion< Chrom >) cw -(eoMonOp< Chrom >) cw -(eoOp< Chrom >) cw -(eoUF< Chrom &, bool >) cw -(eoFunctorBase) cw -(unary_function< Chrom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBitInversion< Chrom >) 0.5 0 box - (eoMonOp< Chrom >) 0.5 1 box - (eoOp< Chrom >) 0 2 box - (eoUF< Chrom &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< Chrom &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_inversion.tex b/trunk/paradiseo-eo/doc/latex/classeo_bit_inversion.tex deleted file mode 100644 index 08cbc747d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_inversion.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Bit\-Inversion$<$ Chrom $>$ Class Template Reference} -\label{classeo_bit_inversion}\index{eoBitInversion@{eoBitInversion}} -eo\-Bit\-Inversion: inverts the bits of the chromosome between an interval - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - -Inheritance diagram for eo\-Bit\-Inversion$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.50548cm]{classeo_bit_inversion} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const \label{classeo_bit_inversion_a0} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (Chrom \&chrom) -\begin{CompactList}\small\item\em Inverts a range of bits in a binary chromosome. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-Bit\-Inversion$<$ Chrom $>$} - -eo\-Bit\-Inversion: inverts the bits of the chromosome between an interval - - - -Definition at line 146 of file eo\-Bit\-Op.h. - -\subsection{Member Function Documentation} -\index{eoBitInversion@{eo\-Bit\-Inversion}!operator()@{operator()}} -\index{operator()@{operator()}!eoBitInversion@{eo\-Bit\-Inversion}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ bool {\bf eo\-Bit\-Inversion}$<$ Chrom $>$::operator() (Chrom \& {\em chrom})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_bit_inversion_a1} - - -Inverts a range of bits in a binary chromosome. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom}]The chromosome whos bits are going to be inverted (a range). \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ Chrom \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 156 of file eo\-Bit\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_bit_mutation.eps deleted file mode 100644 index 07738136a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 125.196 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.99375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBitMutation< Chrom >) cw -(eoMonOp< Chrom >) cw -(eoOp< Chrom >) cw -(eoUF< Chrom &, bool >) cw -(eoFunctorBase) cw -(unary_function< Chrom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBitMutation< Chrom >) 0.5 0 box - (eoMonOp< Chrom >) 0.5 1 box - (eoOp< Chrom >) 0 2 box - (eoUF< Chrom &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< Chrom &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_bit_mutation.tex deleted file mode 100644 index bed0f1504..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_mutation.tex +++ /dev/null @@ -1,82 +0,0 @@ -\section{eo\-Bit\-Mutation$<$ Chrom $>$ Class Template Reference} -\label{classeo_bit_mutation}\index{eoBitMutation@{eoBitMutation}} -eo\-Bit\-Mutation --$>$ classical mutation - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - -Inheritance diagram for eo\-Bit\-Mutation$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.50548cm]{classeo_bit_mutation} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Bit\-Mutation} (const double \&\_\-rate=0.01, bool \_\-normalize=false) -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_bit_mutation_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (Chrom \&chrom) -\begin{CompactList}\small\item\em Mutate a chromosome. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rate}\label{classeo_bit_mutation_r0} - -\item -bool {\bf normalize}\label{classeo_bit_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-Bit\-Mutation$<$ Chrom $>$} - -eo\-Bit\-Mutation --$>$ classical mutation - - - -Definition at line 104 of file eo\-Bit\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoBitMutation@{eo\-Bit\-Mutation}!eoBitMutation@{eoBitMutation}} -\index{eoBitMutation@{eoBitMutation}!eoBitMutation@{eo\-Bit\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ {\bf eo\-Bit\-Mutation}$<$ Chrom $>$::{\bf eo\-Bit\-Mutation} (const double \& {\em \_\-rate} = {\tt 0.01}, bool {\em \_\-normalize} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_bit_mutation_a0} - - -(Default) Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-rate}]Rate of mutation. \end{description} -\end{Desc} - - -Definition at line 111 of file eo\-Bit\-Op.h. - -\subsection{Member Function Documentation} -\index{eoBitMutation@{eo\-Bit\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoBitMutation@{eo\-Bit\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ bool {\bf eo\-Bit\-Mutation}$<$ Chrom $>$::operator() (Chrom \& {\em chrom})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_bit_mutation_a2} - - -Mutate a chromosome. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom}]The chromosome to be mutated. \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ Chrom \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 121 of file eo\-Bit\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_next.eps b/trunk/paradiseo-eo/doc/latex/classeo_bit_next.eps deleted file mode 100644 index 8ebca31bf..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_next.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 125.196 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.99375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBitNext< Chrom >) cw -(eoMonOp< Chrom >) cw -(eoOp< Chrom >) cw -(eoUF< Chrom &, bool >) cw -(eoFunctorBase) cw -(unary_function< Chrom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBitNext< Chrom >) 0.5 0 box - (eoMonOp< Chrom >) 0.5 1 box - (eoOp< Chrom >) 0 2 box - (eoUF< Chrom &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< Chrom &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_next.tex b/trunk/paradiseo-eo/doc/latex/classeo_bit_next.tex deleted file mode 100644 index 7344eae6a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_next.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Bit\-Next$<$ Chrom $>$ Class Template Reference} -\label{classeo_bit_next}\index{eoBitNext@{eoBitNext}} -eo\-Bit\-Next --$>$ next value when bitstring considered as binary value - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - -Inheritance diagram for eo\-Bit\-Next$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.50548cm]{classeo_bit_next} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const \label{classeo_bit_next_a0} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (Chrom \&chrom) -\begin{CompactList}\small\item\em Change the bit std::string x to be x+1. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-Bit\-Next$<$ Chrom $>$} - -eo\-Bit\-Next --$>$ next value when bitstring considered as binary value - - - -Definition at line 174 of file eo\-Bit\-Op.h. - -\subsection{Member Function Documentation} -\index{eoBitNext@{eo\-Bit\-Next}!operator()@{operator()}} -\index{operator()@{operator()}!eoBitNext@{eo\-Bit\-Next}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ bool {\bf eo\-Bit\-Next}$<$ Chrom $>$::operator() (Chrom \& {\em chrom})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_bit_next_a1} - - -Change the bit std::string x to be x+1. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom}]The chromosome to be added one. \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ Chrom \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 184 of file eo\-Bit\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_op_factory.eps b/trunk/paradiseo-eo/doc/latex/classeo_bit_op_factory.eps deleted file mode 100644 index 202098ac0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_op_factory.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 379.747 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.31667 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBitOpFactory< EOT >) cw -(eoFactory< EOT >) cw -(eoObject) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBitOpFactory< EOT >) 0 0 box - (eoFactory< EOT >) 0 1 box - (eoObject) 0 2 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_op_factory.tex b/trunk/paradiseo-eo/doc/latex/classeo_bit_op_factory.tex deleted file mode 100644 index d0db444c1..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_op_factory.tex +++ /dev/null @@ -1,72 +0,0 @@ -\section{eo\-Bit\-Op\-Factory$<$ EOT $>$ Class Template Reference} -\label{classeo_bit_op_factory}\index{eoBitOpFactory@{eoBitOpFactory}} -{\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory. - - -{\tt \#include $<$eo\-Bit\-Op\-Factory.h$>$} - -Inheritance diagram for eo\-Bit\-Op\-Factory$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_bit_op_factory} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf eo\-Op}$<$ {\bf EOT} $>$ $\ast$ {\bf make} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Another factory method: creates an object from an std::istream, reading from it whatever is needed to create the object. \item\end{CompactList}\end{CompactItemize} -\begin{Indent}{\bf ctors and dtors}\par -\begin{CompactItemize} -\item -{\bf eo\-Bit\-Op\-Factory} ()\label{classeo_bit_op_factory_z23_0} - -\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Bit\-Op\-Factory} ()\label{classeo_bit_op_factory_z23_1} - -\begin{CompactList}\small\item\em destructor \item\end{CompactList}\end{CompactItemize} -\end{Indent} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Bit\-Op\-Factory$<$ EOT $>$} - -{\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory. - -An instance of the factory class to create operators that act on bitstring chromosomes. Only those chromosomes can instantiate the operators that are created here \begin{Desc} -\item[See also:]{\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})} \end{Desc} - - - - -Definition at line 39 of file eo\-Bit\-Op\-Factory.h. - -\subsection{Member Function Documentation} -\index{eoBitOpFactory@{eo\-Bit\-Op\-Factory}!make@{make}} -\index{make@{make}!eoBitOpFactory@{eo\-Bit\-Op\-Factory}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual {\bf eo\-Op}$<${\bf EOT}$>$$\ast$ {\bf eo\-Bit\-Op\-Factory}$<$ {\bf EOT} $>$::make (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_bit_op_factory_a0} - - -Another factory method: creates an object from an std::istream, reading from it whatever is needed to create the object. - -Usually, the format for the std::istream will be$\backslash$ object\-Type parameter1 parameter2 ... parametern$\backslash$ If there are problems, an std::exception is raised; it should be caught at the upper level, because it might be something for that level$\backslash$ At the same time, it catches std::exceptions thrown at a lower level, which will indicate that whatever is in the stream is for this method to process \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]an stream from where a single line will be read \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-std::exception}]if the object type is not known\end{description} -\end{Desc} - - -Implements {\bf eo\-Factory$<$ EOT $>$} {\rm (p.\,\pageref{classeo_factory_a0})}. - -Definition at line 63 of file eo\-Bit\-Op\-Factory.h. - -References eo\-Factory$<$ EOClass $>$::make(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op\-Factory.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_prev.eps b/trunk/paradiseo-eo/doc/latex/classeo_bit_prev.eps deleted file mode 100644 index fd1e0e907..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_prev.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 125.196 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.99375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBitPrev< Chrom >) cw -(eoMonOp< Chrom >) cw -(eoOp< Chrom >) cw -(eoUF< Chrom &, bool >) cw -(eoFunctorBase) cw -(unary_function< Chrom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBitPrev< Chrom >) 0.5 0 box - (eoMonOp< Chrom >) 0.5 1 box - (eoOp< Chrom >) 0 2 box - (eoUF< Chrom &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< Chrom &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bit_prev.tex b/trunk/paradiseo-eo/doc/latex/classeo_bit_prev.tex deleted file mode 100644 index f05c75362..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bit_prev.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Bit\-Prev$<$ Chrom $>$ Class Template Reference} -\label{classeo_bit_prev}\index{eoBitPrev@{eoBitPrev}} -eo\-Bit\-Prev --$>$ previous value when bitstring treated as binary value - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - -Inheritance diagram for eo\-Bit\-Prev$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.50548cm]{classeo_bit_prev} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const \label{classeo_bit_prev_a0} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (Chrom \&chrom) -\begin{CompactList}\small\item\em Change the bit std::string x to be x-1. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-Bit\-Prev$<$ Chrom $>$} - -eo\-Bit\-Prev --$>$ previous value when bitstring treated as binary value - - - -Definition at line 208 of file eo\-Bit\-Op.h. - -\subsection{Member Function Documentation} -\index{eoBitPrev@{eo\-Bit\-Prev}!operator()@{operator()}} -\index{operator()@{operator()}!eoBitPrev@{eo\-Bit\-Prev}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ bool {\bf eo\-Bit\-Prev}$<$ Chrom $>$::operator() (Chrom \& {\em chrom})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_bit_prev_a1} - - -Change the bit std::string x to be x-1. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom}]The chromosome to be substracted one. \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ Chrom \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 218 of file eo\-Bit\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bool_flip.eps b/trunk/paradiseo-eo/doc/latex/classeo_bool_flip.eps deleted file mode 100644 index 35ef1ddc7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bool_flip.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 133.333 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.75 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBoolFlip) cw -(eoMonOp< bool >) cw -(eoOp< bool >) cw -(eoUF< bool &, bool >) cw -(eoFunctorBase) cw -(unary_function< bool &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBoolFlip) 0.5 0 box - (eoMonOp< bool >) 0.5 1 box - (eoOp< bool >) 0 2 box - (eoUF< bool &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< bool &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_bool_flip.tex b/trunk/paradiseo-eo/doc/latex/classeo_bool_flip.tex deleted file mode 100644 index 1b2d35778..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_bool_flip.tex +++ /dev/null @@ -1,34 +0,0 @@ -\section{eo\-Bool\-Flip Class Reference} -\label{classeo_bool_flip}\index{eoBoolFlip@{eoBoolFlip}} -a simple boolean mutation - to be used in generic eo\-Op's - - -{\tt \#include $<$eo\-Bool\-Flip.h$>$} - -Inheritance diagram for eo\-Bool\-Flip::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.73333cm]{classeo_bool_flip} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -bool {\bf operator()} (bool \&\_\-b)\label{classeo_bool_flip_a0} - -\begin{CompactList}\small\item\em simply flips the boolean argument \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_bool_flip_a1} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_bool_flip_a1})} \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -a simple boolean mutation - to be used in generic eo\-Op's - - - -Definition at line 32 of file eo\-Bool\-Flip.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bool\-Flip.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_boolean_generator.eps b/trunk/paradiseo-eo/doc/latex/classeo_boolean_generator.eps deleted file mode 100644 index 1ddb9c5be..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_boolean_generator.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 496.894 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.00625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBooleanGenerator) cw -(eoRndGenerator< bool >) cw -(eoF< bool >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBooleanGenerator) 0 0 box - (eoRndGenerator< bool >) 0 1 box - (eoF< bool >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_boolean_generator.tex b/trunk/paradiseo-eo/doc/latex/classeo_boolean_generator.tex deleted file mode 100644 index 505dc1f49..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_boolean_generator.tex +++ /dev/null @@ -1,43 +0,0 @@ -\section{eo\-Boolean\-Generator Class Reference} -\label{classeo_boolean_generator}\index{eoBooleanGenerator@{eoBooleanGenerator}} -The class eo\-Boolean\-Generator can be used in the STL generate function to easily generate random booleans with a specified bias. - - -{\tt \#include $<$eo\-Rnd\-Generators.h$>$} - -Inheritance diagram for eo\-Boolean\-Generator::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_boolean_generator} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Boolean\-Generator} (float \_\-bias=0.5, {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_boolean_generator_a0} - -\item -bool {\bf operator()} (void)\label{classeo_boolean_generator_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -float {\bf bias}\label{classeo_boolean_generator_r0} - -\item -{\bf eo\-Rng} \& {\bf gen}\label{classeo_boolean_generator_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -The class eo\-Boolean\-Generator can be used in the STL generate function to easily generate random booleans with a specified bias. - - - -Definition at line 104 of file eo\-Rnd\-Generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Rnd\-Generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_boolean_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_boolean_init.eps deleted file mode 100644 index fb64a6f36..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_boolean_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 200 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.5 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBooleanInit) cw -(eoInit< bool >) cw -(eoUF< bool &, void >) cw -(eoFunctorBase) cw -(unary_function< bool &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBooleanInit) 0.5 0 box - (eoInit< bool >) 0.5 1 box - (eoUF< bool &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< bool &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_boolean_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_boolean_init.tex deleted file mode 100644 index ce19ca847..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_boolean_init.tex +++ /dev/null @@ -1,43 +0,0 @@ -\section{eo\-Boolean\-Init Class Reference} -\label{classeo_boolean_init}\index{eoBooleanInit@{eoBooleanInit}} -The class eo\-Boolean\-Init can be used in the STL apply function to easily generate random booleans with a specified bias. - - -{\tt \#include $<$eo\-Uniform\-Init.h$>$} - -Inheritance diagram for eo\-Boolean\-Init::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_boolean_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Boolean\-Init} (float \_\-bias=0.5, {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_boolean_init_a0} - -\item -void {\bf operator()} (bool \&\_\-b)\label{classeo_boolean_init_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -float {\bf bias}\label{classeo_boolean_init_r0} - -\item -{\bf eo\-Rng} \& {\bf gen}\label{classeo_boolean_init_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -The class eo\-Boolean\-Init can be used in the STL apply function to easily generate random booleans with a specified bias. - - - -Definition at line 110 of file eo\-Uniform\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Uniform\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_branch_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_branch_mutation.eps deleted file mode 100644 index e3c822002..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_branch_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 76.6284 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.525 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBranchMutation< FType, Node >) cw -(eoMonOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBranchMutation< FType, Node >) 0.5 0 box - (eoMonOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoUF< eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_branch_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_branch_mutation.tex deleted file mode 100644 index ba816c168..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_branch_mutation.tex +++ /dev/null @@ -1,91 +0,0 @@ -\section{eo\-Branch\-Mutation$<$ FType, Node $>$ Class Template Reference} -\label{classeo_branch_mutation}\index{eoBranchMutation@{eoBranchMutation}} -eo\-Branch\-Mutation --$>$ replace a subtree with a randomly created subtree - - -{\tt \#include $<$gp/eo\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-Branch\-Mutation$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.14559cm]{classeo_branch_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_branch_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Branch\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \&\_\-init, unsigned \_\-max\_\-length) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_branch_mutation_a1} - -\begin{CompactList}\small\item\em the class name \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Branch\-Mutation} ()\label{classeo_branch_mutation_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1) -\begin{CompactList}\small\item\em Mutate an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-length}\label{classeo_branch_mutation_r0} - -\item -{\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\bf initializer}\label{classeo_branch_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-Branch\-Mutation$<$ FType, Node $>$} - -eo\-Branch\-Mutation --$>$ replace a subtree with a randomly created subtree - - - -Definition at line 87 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoBranchMutation@{eo\-Branch\-Mutation}!eoBranchMutation@{eoBranchMutation}} -\index{eoBranchMutation@{eoBranchMutation}!eoBranchMutation@{eo\-Branch\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Branch\-Mutation}$<$ FType, Node $>$::{\bf eo\-Branch\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\em \_\-init}, unsigned {\em \_\-max\_\-length})\hspace{0.3cm}{\tt [inline]}}\label{classeo_branch_mutation_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-init}]An instantiation of eo\-Gp\-Depth\-Initializer \item[{\em \_\-max\_\-length}]the maximum size of an individual \end{description} -\end{Desc} - - -Definition at line 97 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Member Function Documentation} -\index{eoBranchMutation@{eo\-Branch\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoBranchMutation@{eo\-Branch\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ bool {\bf eo\-Branch\-Mutation}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-eo1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_branch_mutation_a3} - - -Mutate an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The individual that is to be changed \end{description} -\end{Desc} - - -Definition at line 111 of file eo\-Parse\-Tree\-Op.h. - -References eo\-Parse\-Tree$<$ FType, Node $>$::prune\-Tree(), and eo\-Rng::random(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_breed.eps b/trunk/paradiseo-eo/doc/latex/classeo_breed.eps deleted file mode 100644 index d2aaf0fe8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_breed.eps +++ /dev/null @@ -1,229 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 49.14 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 10.175 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 4 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoBreed< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoBreedOne< EOT >) cw -(eoGeneralBreeder< EOT >) cw -(eoOneToOneBreeder< EOT >) cw -(eoSelectTransform< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoBreed< EOT >) 1.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 1.5 2 box - (eoFunctorBase) 1 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 2 3 box - (eoBreedOne< EOT >) 0 0 box - (eoGeneralBreeder< EOT >) 1 0 box - (eoOneToOneBreeder< EOT >) 2 0 box - (eoSelectTransform< EOT >) 3 0 box - -% ----- relations ----- - -solid -0 1.5 1 out -solid -1 1.5 2 in -solid -0 1.5 2 out -solid -1 2 3 conn -solid -1 1 3 in -solid -1 2 3 in -solid -1 1.5 0.25 out -solid -0 3 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_breed.tex b/trunk/paradiseo-eo/doc/latex/classeo_breed.tex deleted file mode 100644 index a54153d60..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_breed.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Breed$<$ EOT $>$ Class Template Reference} -\label{classeo_breed}\index{eoBreed@{eoBreed}} -Breeding: combination of selecting and transforming a population. - - -{\tt \#include $<$eo\-Breed.h$>$} - -Inheritance diagram for eo\-Breed$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.37592cm]{classeo_breed} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Breed$<$ EOT $>$} - -Breeding: combination of selecting and transforming a population. - -Breeding is thought of a combination of selecting and transforming a population. For efficiency reasons you might want to build your own eo\-Breed derived class rather than relying on a seperate select and transform function. - -\begin{Desc} -\item[See also:]{\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})}, {\bf eo\-Transform}{\rm (p.\,\pageref{classeo_transform})}, {\bf eo\-Select\-Transform}{\rm (p.\,\pageref{classeo_select_transform})} \end{Desc} - - - - -Definition at line 46 of file eo\-Breed.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Breed.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_breed.eps b/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_breed.eps deleted file mode 100644 index bbb5817b3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_breed.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 62.0155 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 8.0625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCMABreed< FitT >) cw -(eoBreed< eoVector< FitT, double > >) cw -(eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCMABreed< FitT >) 0.5 0 box - (eoBreed< eoVector< FitT, double > >) 0.5 1 box - (eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_breed.tex b/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_breed.tex deleted file mode 100644 index 9b0bc09a8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_breed.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-CMABreed$<$ Fit\-T $>$ Class Template Reference} -\label{classeo_c_m_a_breed}\index{eoCMABreed@{eoCMABreed}} -TODO, handle bounds. - - -{\tt \#include $<$eo\-CMABreed.h$>$} - -Inheritance diagram for eo\-CMABreed$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.73643cm]{classeo_c_m_a_breed} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-CMABreed} (eo::CMAState \&state\_\-, unsigned lambda\_\-)\label{classeo_c_m_a_breed_a0} - -\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&offspring)\label{classeo_c_m_a_breed_a1} - -\end{CompactItemize} -\subsection*{Private Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Vector}$<$ {\bf Fit\-T}, double $>$ {\bf EOT}\label{classeo_c_m_a_breed_y0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -eo::CMAState \& {\bf state}\label{classeo_c_m_a_breed_r0} - -\item -unsigned {\bf lambda}\label{classeo_c_m_a_breed_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class eo\-CMABreed$<$ Fit\-T $>$} - -TODO, handle bounds. - - - -Definition at line 36 of file eo\-CMABreed.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-CMABreed.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_init.eps deleted file mode 100644 index 57a59fbc7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 125 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCMAInit< FitT >) cw -(eoInit< eoVector< FitT, double > >) cw -(eoUF< eoVector< FitT, double > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoVector< FitT, double > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCMAInit< FitT >) 0.5 0 box - (eoInit< eoVector< FitT, double > >) 0.5 1 box - (eoUF< eoVector< FitT, double > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoVector< FitT, double > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_init.tex deleted file mode 100644 index f7447339d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_c_m_a_init.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-CMAInit$<$ Fit\-T $>$ Class Template Reference} -\label{classeo_c_m_a_init}\index{eoCMAInit@{eoCMAInit}} -TODO, handle bounds. - - -{\tt \#include $<$eo\-CMAInit.h$>$} - -Inheritance diagram for eo\-CMAInit$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.5cm]{classeo_c_m_a_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-CMAInit} (const eo::CMAState \&state\_\-)\label{classeo_c_m_a_init_a0} - -\item -void {\bf operator()} ({\bf EOT} \&v)\label{classeo_c_m_a_init_a1} - -\end{CompactItemize} -\subsection*{Private Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Vector}$<$ {\bf Fit\-T}, double $>$ {\bf EOT}\label{classeo_c_m_a_init_y0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -const eo::CMAState \& {\bf state}\label{classeo_c_m_a_init_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class eo\-CMAInit$<$ Fit\-T $>$} - -TODO, handle bounds. - - - -Definition at line 37 of file eo\-CMAInit.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-CMAInit.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_cellular_easy_e_a.eps b/trunk/paradiseo-eo/doc/latex/classeo_cellular_easy_e_a.eps deleted file mode 100644 index f803ca678..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_cellular_easy_e_a.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 153.257 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.2625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCellularEasyEA< EOT >) cw -(eoAlgo< EOT >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCellularEasyEA< EOT >) 0.5 0 box - (eoAlgo< EOT >) 0.5 1 box - (eoUF< eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_cellular_easy_e_a.tex b/trunk/paradiseo-eo/doc/latex/classeo_cellular_easy_e_a.tex deleted file mode 100644 index 15d6575d9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_cellular_easy_e_a.tex +++ /dev/null @@ -1,72 +0,0 @@ -\section{eo\-Cellular\-Easy\-EA$<$ EOT $>$ Class Template Reference} -\label{classeo_cellular_easy_e_a}\index{eoCellularEasyEA@{eoCellularEasyEA}} -The abstract cellular easy algorithm. - - -{\tt \#include $<$eo\-Cellular\-Easy\-EA.h$>$} - -Inheritance diagram for eo\-Cellular\-Easy\-EA$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_cellular_easy_e_a} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Cellular\-Easy\-EA} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, {\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-sel\_\-neigh, {\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \&\_\-cross, {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-mut, {\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-sel\_\-repl)\label{classeo_cellular_easy_e_a_a0} - -\begin{CompactList}\small\item\em Two constructors. \item\end{CompactList}\item -{\bf eo\-Cellular\-Easy\-EA} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, {\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-sel\_\-neigh, {\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-cross, {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-mut, {\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-sel\_\-child, {\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-sel\_\-repl)\label{classeo_cellular_easy_e_a_a1} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&pop)\label{classeo_cellular_easy_e_a_a2} - -\begin{CompactList}\small\item\em For a given population. \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Member Functions} -\begin{CompactItemize} -\item -virtual {\bf eo\-Pop}$<$ {\bf EOT} $>$ {\bf neighbours} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&pop, int rank)=0\label{classeo_cellular_easy_e_a_b0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Continue}$<$ {\bf EOT} $>$ \& {\bf cont}\label{classeo_cellular_easy_e_a_r0} - -\item -{\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf eval}\label{classeo_cellular_easy_e_a_r1} - -\item -{\bf eo\-Pop\-Loop\-Eval}$<$ {\bf EOT} $>$ {\bf pop\-Eval}\label{classeo_cellular_easy_e_a_r2} - -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf sel\_\-neigh}\label{classeo_cellular_easy_e_a_r3} - -\item -{\bf eo\-BF}$<$ {\bf EOT} \&, {\bf EOT} \&, bool $>$ \& {\bf cross}\label{classeo_cellular_easy_e_a_r4} - -\item -{\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \& {\bf mut}\label{classeo_cellular_easy_e_a_r5} - -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf sel\_\-child}\label{classeo_cellular_easy_e_a_r6} - -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf sel\_\-repl}\label{classeo_cellular_easy_e_a_r7} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Cellular\-Easy\-EA$<$ EOT $>$} - -The abstract cellular easy algorithm. - - - -Definition at line 38 of file eo\-Cellular\-Easy\-EA.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Cellular\-Easy\-EA.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_check_point.eps b/trunk/paradiseo-eo/doc/latex/classeo_check_point.eps deleted file mode 100644 index a4b0aa7d6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_check_point.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCheckPoint< EOT >) cw -(eoContinue< EOT >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoPersistent) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, bool >) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCheckPoint< EOT >) 1.25 0 box - (eoContinue< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, bool >) 0.5 2 box - (eoPersistent) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, bool >) 1 3 box - (eoPrintable) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_check_point.tex b/trunk/paradiseo-eo/doc/latex/classeo_check_point.tex deleted file mode 100644 index 6006ecefc..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_check_point.tex +++ /dev/null @@ -1,77 +0,0 @@ -\section{eo\-Check\-Point$<$ EOT $>$ Class Template Reference} -\label{classeo_check_point}\index{eoCheckPoint@{eoCheckPoint}} -eo\-Check\-Point is a container class. - - -{\tt \#include $<$eo\-Check\-Point.h$>$} - -Inheritance diagram for eo\-Check\-Point$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_check_point} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Check\-Point} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont)\label{classeo_check_point_a0} - -\item -bool {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_check_point_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -void {\bf add} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont)\label{classeo_check_point_a2} - -\item -void {\bf add} ({\bf eo\-Sorted\-Stat\-Base}$<$ {\bf EOT} $>$ \&\_\-stat)\label{classeo_check_point_a3} - -\item -void {\bf add} ({\bf eo\-Stat\-Base}$<$ {\bf EOT} $>$ \&\_\-stat)\label{classeo_check_point_a4} - -\item -void {\bf add} ({\bf eo\-Monitor} \&\_\-mon)\label{classeo_check_point_a5} - -\item -void {\bf add} ({\bf eo\-Updater} \&\_\-upd)\label{classeo_check_point_a6} - -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_check_point_a7} - -\item -std::string {\bf all\-Class\-Names} () const \label{classeo_check_point_a8} - -\begin{CompactList}\small\item\em returns a string with all class\-Name() of data separated with \char`\"{}$\backslash$n\char`\"{} (for debugging) \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ {\bf eo\-Continue}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf continuators}\label{classeo_check_point_r0} - -\item -std::vector$<$ {\bf eo\-Sorted\-Stat\-Base}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf sorted}\label{classeo_check_point_r1} - -\item -std::vector$<$ {\bf eo\-Stat\-Base}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf stats}\label{classeo_check_point_r2} - -\item -std::vector$<$ {\bf eo\-Monitor} $\ast$ $>$ {\bf monitors}\label{classeo_check_point_r3} - -\item -std::vector$<$ {\bf eo\-Updater} $\ast$ $>$ {\bf updaters}\label{classeo_check_point_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Check\-Point$<$ EOT $>$} - -eo\-Check\-Point is a container class. - -It contains std::vectors of (pointers to) {\bf eo\-Continue}{\rm (p.\,\pageref{classeo_continue})} (modif. MS July 16. 2002) eo\-Stats, {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} and {\bf eo\-Monitor}{\rm (p.\,\pageref{classeo_monitor})} it is an {\bf eo\-Continue}{\rm (p.\,\pageref{classeo_continue})}, so its operator() will be called every generation - and will return the contained-combined-eo\-Continue result but before that it will call in turn every single \{statistics, updaters, monitors\} that it has been given, and after that, if stopping, all last\-Call methods of the above. - - - -Definition at line 46 of file eo\-Check\-Point.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Check\-Point.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_collapse_subtree_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_collapse_subtree_mutation.eps deleted file mode 100644 index 5addd882e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_collapse_subtree_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 76.6284 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.525 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCollapseSubtreeMutation< FType, Node >) cw -(eoMonOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCollapseSubtreeMutation< FType, Node >) 0.5 0 box - (eoMonOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoUF< eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_collapse_subtree_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_collapse_subtree_mutation.tex deleted file mode 100644 index 1621cf639..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_collapse_subtree_mutation.tex +++ /dev/null @@ -1,91 +0,0 @@ -\section{eo\-Collapse\-Subtree\-Mutation$<$ FType, Node $>$ Class Template Reference} -\label{classeo_collapse_subtree_mutation}\index{eoCollapseSubtreeMutation@{eoCollapseSubtreeMutation}} -eo\-Collapse\-Subtree --$>$ replace a subtree with a randomly chosen terminal - - -{\tt \#include $<$gp/eo\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-Collapse\-Subtree\-Mutation$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.14559cm]{classeo_collapse_subtree_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_collapse_subtree_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Collapse\-Subtree\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \&\_\-init, unsigned \_\-max\_\-length) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_collapse_subtree_mutation_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Collapse\-Subtree\-Mutation} ()\label{classeo_collapse_subtree_mutation_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1) -\begin{CompactList}\small\item\em Mutate an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-length}\label{classeo_collapse_subtree_mutation_r0} - -\item -{\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\bf initializer}\label{classeo_collapse_subtree_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-Collapse\-Subtree\-Mutation$<$ FType, Node $>$} - -eo\-Collapse\-Subtree --$>$ replace a subtree with a randomly chosen terminal - - - -Definition at line 272 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoCollapseSubtreeMutation@{eo\-Collapse\-Subtree\-Mutation}!eoCollapseSubtreeMutation@{eoCollapseSubtreeMutation}} -\index{eoCollapseSubtreeMutation@{eoCollapseSubtreeMutation}!eoCollapseSubtreeMutation@{eo\-Collapse\-Subtree\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Collapse\-Subtree\-Mutation}$<$ FType, Node $>$::{\bf eo\-Collapse\-Subtree\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\em \_\-init}, unsigned {\em \_\-max\_\-length})\hspace{0.3cm}{\tt [inline]}}\label{classeo_collapse_subtree_mutation_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-init}]An instantiation of eo\-Gp\-Depth\-Initializer \item[{\em \_\-max\_\-length}]the maximum size of an individual \end{description} -\end{Desc} - - -Definition at line 282 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Member Function Documentation} -\index{eoCollapseSubtreeMutation@{eo\-Collapse\-Subtree\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoCollapseSubtreeMutation@{eo\-Collapse\-Subtree\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ bool {\bf eo\-Collapse\-Subtree\-Mutation}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-eo1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_collapse_subtree_mutation_a3} - - -Mutate an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The individual that is to be changed \end{description} -\end{Desc} - - -Definition at line 295 of file eo\-Parse\-Tree\-Op.h. - -References eo\-Parse\-Tree$<$ FType, Node $>$::prune\-Tree(), and eo\-Rng::random(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_combined_continue.eps b/trunk/paradiseo-eo/doc/latex/classeo_combined_continue.eps deleted file mode 100644 index 8154aee21..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_combined_continue.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCombinedContinue< EOT >) cw -(eoContinue< EOT >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoPersistent) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, bool >) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCombinedContinue< EOT >) 1.25 0 box - (eoContinue< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, bool >) 0.5 2 box - (eoPersistent) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, bool >) 1 3 box - (eoPrintable) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_combined_continue.tex b/trunk/paradiseo-eo/doc/latex/classeo_combined_continue.tex deleted file mode 100644 index 2b47f5da8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_combined_continue.tex +++ /dev/null @@ -1,64 +0,0 @@ -\section{eo\-Combined\-Continue$<$ EOT $>$ Class Template Reference} -\label{classeo_combined_continue}\index{eoCombinedContinue@{eoCombinedContinue}} -Combined continuators - logical AND: Continues until one of the embedded continuators says halt! - - -{\tt \#include $<$eo\-Combined\-Continue.h$>$} - -Inheritance diagram for eo\-Combined\-Continue$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_combined_continue} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness\-Type}\label{classeo_combined_continue_w0} - -\begin{CompactList}\small\item\em Define Fitness. \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Combined\-Continue} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont)\label{classeo_combined_continue_a0} - -\begin{CompactList}\small\item\em Ctor, make sure that at least on continuator is present. \item\end{CompactList}\item -{\bf eo\-Combined\-Continue} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont1, {\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont2)\label{classeo_combined_continue_a1} - -\begin{CompactList}\small\item\em Ctor - for historical reasons ... should disspear some day. \item\end{CompactList}\item -void {\bf add} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont)\label{classeo_combined_continue_a2} - -\item -void {\bf remove\-Last} (void)\label{classeo_combined_continue_a3} - -\item -virtual bool {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_combined_continue_a4} - -\begin{CompactList}\small\item\em Returns false when one of the embedded continuators say so (logical and). \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_combined_continue_a5} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ {\bf eo\-Continue}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf continuators}\label{classeo_combined_continue_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Combined\-Continue$<$ EOT $>$} - -Combined continuators - logical AND: Continues until one of the embedded continuators says halt! - -20/11/00 MS: Changed the 2-continuator construct to a std::vector$<$eo\-Continue$<$EOT$>$ $>$ to be consistent with other Combined constructs and allow to easily handle more than 2 continuators - -02/2003 Ram\'{o}n Casero Ca\~{n}as - added the remove\-Last() method - - - -Definition at line 42 of file eo\-Combined\-Continue.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Combined\-Continue.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_combined_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_combined_init.eps deleted file mode 100644 index 38120c1ee..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_combined_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 199.005 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.5125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCombinedInit< EOT >) cw -(eoInit< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCombinedInit< EOT >) 0.5 0 box - (eoInit< EOT >) 0.5 1 box - (eoUF< EOT &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EOT &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_combined_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_combined_init.tex deleted file mode 100644 index 4ffa4fdd1..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_combined_init.tex +++ /dev/null @@ -1,69 +0,0 @@ -\section{eo\-Combined\-Init$<$ EOT $>$ Class Template Reference} -\label{classeo_combined_init}\index{eoCombinedInit@{eoCombinedInit}} -Combined INIT: a proportional recombination of {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} objects. - - -{\tt \#include $<$eo\-Combined\-Init.h$>$} - -Inheritance diagram for eo\-Combined\-Init$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_combined_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Combined\-Init} ({\bf eo\-Init}$<$ {\bf EOT} $>$ \&\_\-init, double \_\-rate)\label{classeo_combined_init_a0} - -\begin{CompactList}\small\item\em Ctor, make sure that at least one {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} is present. \item\end{CompactList}\item -void {\bf add} ({\bf eo\-Init}$<$ {\bf EOT} $>$ \&\_\-init, double \_\-rate, bool \_\-verbose=false)\label{classeo_combined_init_a1} - -\begin{CompactList}\small\item\em The usual method to add objects to the combination note the \_\-verbose parameter, that allows to print what's inside the combination with scaled rates. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os)\label{classeo_combined_init_a2} - -\begin{CompactList}\small\item\em outputs the operators and percentages \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_combined_init_a3} - -\begin{CompactList}\small\item\em Performs the init: chooses among all initializers using roulette wheel on the rates. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const -\begin{CompactList}\small\item\em class\-Name: Mandatory because of eo\-Combined\-Init. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ {\bf eo\-Init}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf initializers}\label{classeo_combined_init_r0} - -\item -std::vector$<$ double $>$ {\bf rates}\label{classeo_combined_init_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Combined\-Init$<$ EOT $>$} - -Combined INIT: a proportional recombination of {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} objects. - - - -Definition at line 35 of file eo\-Combined\-Init.h. - -\subsection{Member Function Documentation} -\index{eoCombinedInit@{eo\-Combined\-Init}!className@{className}} -\index{className@{className}!eoCombinedInit@{eo\-Combined\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual std::string {\bf eo\-Combined\-Init}$<$ {\bf EOT} $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_combined_init_a4} - - -class\-Name: Mandatory because of eo\-Combined\-Init. - -SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 - -Reimplemented from {\bf eo\-Init$<$ EOT $>$} {\rm (p.\,\pageref{classeo_init_a0})}. - -Definition at line 81 of file eo\-Combined\-Init.h. - -Referenced by eo\-Combined\-Init$<$ EOT $>$::print\-On(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Combined\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_comma_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_comma_replacement.eps deleted file mode 100644 index 347a3a78a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_comma_replacement.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 134.409 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.72 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCommaReplacement< EOT >) cw -(eoMergeReduce< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCommaReplacement< EOT >) 0.5 0 box - (eoMergeReduce< EOT >) 0.5 1 box - (eoReplacement< EOT >) 0.5 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_comma_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_comma_replacement.tex deleted file mode 100644 index 1b6c2aca9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_comma_replacement.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Comma\-Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_comma_replacement}\index{eoCommaReplacement@{eoCommaReplacement}} -ES type of replacement strategy: ignore parents, truncate offspring. - - -{\tt \#include $<$eo\-Merge\-Reduce.h$>$} - -Inheritance diagram for eo\-Comma\-Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.76344cm]{classeo_comma_replacement} -\end{center} -\end{figure} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-No\-Elitism}$<$ {\bf EOT} $>$ {\bf no\_\-elite}\label{classeo_comma_replacement_r0} - -\item -{\bf eo\-Truncate}$<$ {\bf EOT} $>$ {\bf truncate}\label{classeo_comma_replacement_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Comma\-Replacement$<$ EOT $>$} - -ES type of replacement strategy: ignore parents, truncate offspring. - - - -Definition at line 87 of file eo\-Merge\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Merge\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_continue.eps b/trunk/paradiseo-eo/doc/latex/classeo_continue.eps deleted file mode 100644 index 99155abff..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_continue.eps +++ /dev/null @@ -1,257 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 185.811 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.69091 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 11 def -/cols 4 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoContinue< EOT >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoPersistent) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, bool >) cw -(eoPrintable) cw -(eoCheckPoint< EOT >) cw -(eoCombinedContinue< EOT >) cw -(eoCtrlCContinue< EOT >) cw -(eoEvalContinue< EOT >) cw -(eoFitContinue< EOT >) cw -(eoGenContinue< EOT >) cw -(eoPeriodicContinue< EOT >) cw -(eoSteadyFitContinue< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoContinue< EOT >) 1.25 8 box - (eoUF< const eoPop< EOT > &, bool >) 0.5 9 box - (eoPersistent) 2 9 box - (eoFunctorBase) 0 10 box - (unary_function< const eoPop< EOT > &, bool >) 1 10 box - (eoPrintable) 2 10 box - (eoCheckPoint< EOT >) 2.25 7 box - (eoCombinedContinue< EOT >) 2.25 6 box - (eoCtrlCContinue< EOT >) 2.25 5 box - (eoEvalContinue< EOT >) 2.25 4 box - (eoFitContinue< EOT >) 2.25 3 box - (eoGenContinue< EOT >) 2.25 2 box - (eoPeriodicContinue< EOT >) 2.25 1 box - (eoSteadyFitContinue< EOT >) 2.25 0 box - -% ----- relations ----- - -solid -0 1.25 8 out -solid -0.5 2 9 conn -solid -1 0.5 9 in -solid -0 0.5 9 out -solid -0 1 10 conn -solid -1 2 9 in -solid -0 2 9 out -solid -1 0 10 in -solid -1 1 10 in -solid -1 2 10 in -solid -1 1.25 7.25 out -solid -0 1.25 7.5 hedge -solid -0 1.25 6.5 hedge -solid -0 1.25 5.5 hedge -solid -0 1.25 4.5 hedge -solid -0 1.25 3.5 hedge -solid -0 1.25 2.5 hedge -solid -0 1.25 1.5 hedge -solid -0 1.25 0.5 hedge -solid -1.25 8 0.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/classeo_continue.tex b/trunk/paradiseo-eo/doc/latex/classeo_continue.tex deleted file mode 100644 index 61035c420..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_continue.tex +++ /dev/null @@ -1,81 +0,0 @@ -\section{eo\-Continue$<$ EOT $>$ Class Template Reference} -\label{classeo_continue}\index{eoContinue@{eoContinue}} -Termination condition for the genetic algorithm Takes the population as input, returns true for continue, false for termination. - - -{\tt \#include $<$eo\-Continue.h$>$} - -Inheritance diagram for eo\-Continue$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5.2027cm]{classeo_continue} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_continue_a0} - -\item -void {\bf read\-From} (std::istream \&\_\-\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&\_\-\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Continue$<$ EOT $>$} - -Termination condition for the genetic algorithm Takes the population as input, returns true for continue, false for termination. - - - -Definition at line 37 of file eo\-Continue.h. - -\subsection{Member Function Documentation} -\index{eoContinue@{eo\-Continue}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoContinue@{eo\-Continue}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Continue}$<$ {\bf EOT} $>$::read\-From (std::istream \& {\em \_\-\_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_continue_a1} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-std::exception}]If a valid object can't be read. \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Reimplemented in {\bf eo\-Gen\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classeo_gen_continue_a6})}. - -Definition at line 42 of file eo\-Continue.h.\index{eoContinue@{eo\-Continue}!printOn@{printOn}} -\index{printOn@{printOn}!eoContinue@{eo\-Continue}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Continue}$<$ {\bf EOT} $>$::print\-On (std::ostream \& {\em \_\-\_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_continue_a2} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Reimplemented in {\bf eo\-Gen\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classeo_gen_continue_a7})}. - -Definition at line 47 of file eo\-Continue.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Continue.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_counted_dyn_update.eps b/trunk/paradiseo-eo/doc/latex/classeo_counted_dyn_update.eps deleted file mode 100644 index 8860f166f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_counted_dyn_update.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 699.301 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.715 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCountedDynUpdate) cw -(eoDynUpdater) cw -(eoUpdater) cw -(eoF< void >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCountedDynUpdate) 0 0 box - (eoDynUpdater) 0 1 box - (eoUpdater) 0 2 box - (eoF< void >) 0 3 box - (eoFunctorBase) 0 4 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in -solid -0 0 3 out -solid -1 0 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_counted_dyn_update.tex b/trunk/paradiseo-eo/doc/latex/classeo_counted_dyn_update.tex deleted file mode 100644 index 9137976de..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_counted_dyn_update.tex +++ /dev/null @@ -1,43 +0,0 @@ -\section{eo\-Counted\-Dyn\-Update Class Reference} -\label{classeo_counted_dyn_update}\index{eoCountedDynUpdate@{eoCountedDynUpdate}} -An {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} to update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object every given tic. - - -{\tt \#include $<$eo\-Updatable.h$>$} - -Inheritance diagram for eo\-Counted\-Dyn\-Update::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_counted_dyn_update} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Counted\-Dyn\-Update} ({\bf eo\-Updatable} \&\_\-to\-Update, unsigned \_\-interval)\label{classeo_counted_dyn_update_a0} - -\item -void {\bf operator()} (void)\label{classeo_counted_dyn_update_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -const unsigned {\bf interval}\label{classeo_counted_dyn_update_r0} - -\item -unsigned {\bf counter}\label{classeo_counted_dyn_update_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -An {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} to update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object every given tic. - - - -Definition at line 93 of file eo\-Updatable.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Updatable.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_counted_state_saver.eps b/trunk/paradiseo-eo/doc/latex/classeo_counted_state_saver.eps deleted file mode 100644 index 2b9adc9c3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_counted_state_saver.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 559.441 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.89375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCountedStateSaver) cw -(eoUpdater) cw -(eoF< void >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCountedStateSaver) 0 0 box - (eoUpdater) 0 1 box - (eoF< void >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_counted_state_saver.tex b/trunk/paradiseo-eo/doc/latex/classeo_counted_state_saver.tex deleted file mode 100644 index 79d3f2cbf..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_counted_state_saver.tex +++ /dev/null @@ -1,71 +0,0 @@ -\section{eo\-Counted\-State\-Saver Class Reference} -\label{classeo_counted_state_saver}\index{eoCountedStateSaver@{eoCountedStateSaver}} -an {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} that saves a state every given generations - - -{\tt \#include $<$eo\-Updater.h$>$} - -Inheritance diagram for eo\-Counted\-State\-Saver::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_counted_state_saver} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Counted\-State\-Saver} (unsigned \_\-interval, const {\bf eo\-State} \&\_\-state, std::string \_\-prefix, bool \_\-save\-On\-Last\-Call, std::string \_\-extension=\char`\"{}sav\char`\"{}, unsigned \_\-counter=0)\label{classeo_counted_state_saver_a0} - -\item -{\bf eo\-Counted\-State\-Saver} (unsigned \_\-interval, const {\bf eo\-State} \&\_\-state, std::string \_\-prefix=\char`\"{}state\char`\"{}, std::string \_\-extension=\char`\"{}sav\char`\"{}, unsigned \_\-counter=0)\label{classeo_counted_state_saver_a1} - -\item -virtual void {\bf last\-Call} (void)\label{classeo_counted_state_saver_a2} - -\item -void {\bf operator()} (void)\label{classeo_counted_state_saver_a3} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_counted_state_saver_a4} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf do\-It\-Now} (void)\label{classeo_counted_state_saver_d0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -const {\bf eo\-State} \& {\bf state}\label{classeo_counted_state_saver_r0} - -\item -const unsigned {\bf interval}\label{classeo_counted_state_saver_r1} - -\item -unsigned {\bf counter}\label{classeo_counted_state_saver_r2} - -\item -bool {\bf save\-On\-Last\-Call}\label{classeo_counted_state_saver_r3} - -\item -const std::string {\bf prefix}\label{classeo_counted_state_saver_r4} - -\item -const std::string {\bf extension}\label{classeo_counted_state_saver_r5} - -\end{CompactItemize} - - -\subsection{Detailed Description} -an {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} that saves a state every given generations - - - -Definition at line 127 of file eo\-Updater.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Updater.h\item -eo\-Updater.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_ctrl_c_continue.eps b/trunk/paradiseo-eo/doc/latex/classeo_ctrl_c_continue.eps deleted file mode 100644 index 901737675..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_ctrl_c_continue.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoCtrlCContinue< EOT >) cw -(eoContinue< EOT >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoPersistent) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, bool >) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoCtrlCContinue< EOT >) 1.25 0 box - (eoContinue< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, bool >) 0.5 2 box - (eoPersistent) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, bool >) 1 3 box - (eoPrintable) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_ctrl_c_continue.tex b/trunk/paradiseo-eo/doc/latex/classeo_ctrl_c_continue.tex deleted file mode 100644 index 1d9a11db5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_ctrl_c_continue.tex +++ /dev/null @@ -1,39 +0,0 @@ -\section{eo\-Ctrl\-CContinue$<$ EOT $>$ Class Template Reference} -\label{classeo_ctrl_c_continue}\index{eoCtrlCContinue@{eoCtrlCContinue}} -Ctrl C handling: this {\bf eo\-Continue}{\rm (p.\,\pageref{classeo_continue})} tells whether the user pressed Ctrl C. - - -{\tt \#include $<$eo\-Ctrl\-CContinue.h$>$} - -Inheritance diagram for eo\-Ctrl\-CContinue$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_ctrl_c_continue} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Ctrl\-CContinue} ()\label{classeo_ctrl_c_continue_a0} - -\begin{CompactList}\small\item\em Ctor : installs the signal handler. \item\end{CompactList}\item -virtual bool {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-v\-EO)\label{classeo_ctrl_c_continue_a1} - -\begin{CompactList}\small\item\em Returns false when Ctrl C has been typed in reached. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_ctrl_c_continue_a2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Ctrl\-CContinue$<$ EOT $>$} - -Ctrl C handling: this {\bf eo\-Continue}{\rm (p.\,\pageref{classeo_continue})} tells whether the user pressed Ctrl C. - - - -Definition at line 45 of file eo\-Ctrl\-CContinue.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Ctrl\-CContinue.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_bit_flip.eps b/trunk/paradiseo-eo/doc/latex/classeo_det_bit_flip.eps deleted file mode 100644 index 18676a91b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_bit_flip.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 125.196 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.99375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDetBitFlip< Chrom >) cw -(eoMonOp< Chrom >) cw -(eoOp< Chrom >) cw -(eoUF< Chrom &, bool >) cw -(eoFunctorBase) cw -(unary_function< Chrom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDetBitFlip< Chrom >) 0.5 0 box - (eoMonOp< Chrom >) 0.5 1 box - (eoOp< Chrom >) 0 2 box - (eoUF< Chrom &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< Chrom &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_bit_flip.tex b/trunk/paradiseo-eo/doc/latex/classeo_det_bit_flip.tex deleted file mode 100644 index 4d49b8f71..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_bit_flip.tex +++ /dev/null @@ -1,79 +0,0 @@ -\section{eo\-Det\-Bit\-Flip$<$ Chrom $>$ Class Template Reference} -\label{classeo_det_bit_flip}\index{eoDetBitFlip@{eoDetBitFlip}} -eo\-Det\-Bit\-Flip --$>$ changes exactly k bits - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - -Inheritance diagram for eo\-Det\-Bit\-Flip$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.50548cm]{classeo_det_bit_flip} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Det\-Bit\-Flip} (const unsigned \&\_\-num\_\-bit=1) -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_det_bit_flip_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (Chrom \&chrom) -\begin{CompactList}\small\item\em Change num\_\-bit bits. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf num\_\-bit}\label{classeo_det_bit_flip_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-Det\-Bit\-Flip$<$ Chrom $>$} - -eo\-Det\-Bit\-Flip --$>$ changes exactly k bits - - - -Definition at line 67 of file eo\-Bit\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoDetBitFlip@{eo\-Det\-Bit\-Flip}!eoDetBitFlip@{eoDetBitFlip}} -\index{eoDetBitFlip@{eoDetBitFlip}!eoDetBitFlip@{eo\-Det\-Bit\-Flip}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ {\bf eo\-Det\-Bit\-Flip}$<$ Chrom $>$::{\bf eo\-Det\-Bit\-Flip} (const unsigned \& {\em \_\-num\_\-bit} = {\tt 1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_det_bit_flip_a0} - - -(Default) Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-num\_\-bit}]The number of bits to change default is one - equivalent to eo\-One\-Bit\-Flip then \end{description} -\end{Desc} - - -Definition at line 75 of file eo\-Bit\-Op.h. - -\subsection{Member Function Documentation} -\index{eoDetBitFlip@{eo\-Det\-Bit\-Flip}!operator()@{operator()}} -\index{operator()@{operator()}!eoDetBitFlip@{eo\-Det\-Bit\-Flip}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ bool {\bf eo\-Det\-Bit\-Flip}$<$ Chrom $>$::operator() (Chrom \& {\em chrom})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_det_bit_flip_a2} - - -Change num\_\-bit bits. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom}]The cromosome which one bit is going to be changed. \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ Chrom \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 84 of file eo\-Bit\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_det_select.eps deleted file mode 100644 index e20a75bea..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDetSelect< EOT >) cw -(eoSelect< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDetSelect< EOT >) 0.5 0 box - (eoSelect< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_det_select.tex deleted file mode 100644 index 127617c2b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_select.tex +++ /dev/null @@ -1,58 +0,0 @@ -\section{eo\-Det\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_det_select}\index{eoDetSelect@{eoDetSelect}} -eo\-Det\-Select selects many individuals determinisctically - - -{\tt \#include $<$eo\-Det\-Select.h$>$} - -Inheritance diagram for eo\-Det\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_det_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Det\-Select} (double \_\-rate=1.0, bool \_\-interpret\_\-as\_\-rate=true)\label{classeo_det_select_a0} - -\begin{CompactList}\small\item\em init \item\end{CompactList}\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-source, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest) -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_det_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Det\-Select$<$ EOT $>$} - -eo\-Det\-Select selects many individuals determinisctically - - - -Definition at line 40 of file eo\-Det\-Select.h. - -\subsection{Member Function Documentation} -\index{eoDetSelect@{eo\-Det\-Select}!operator()@{operator()}} -\index{operator()@{operator()}!eoDetSelect@{eo\-Det\-Select}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Det\-Select}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-source}, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-dest})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_det_select_a1} - - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-source}]the source population \item[{\em \_\-dest}]the resulting population (size of this population is given by the How\-Many data It empties the destination and adds the selection into it) \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 53 of file eo\-Det\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Det\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_select.eps deleted file mode 100644 index 60d7fc45f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDetTournamentSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDetTournamentSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_select.tex deleted file mode 100644 index 53ee0d3bb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_select.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-Det\-Tournament\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_det_tournament_select}\index{eoDetTournamentSelect@{eoDetTournamentSelect}} -eo\-Det\-Tournament\-Select: a selection method that selects ONE individual by deterministic tournament -MS- 24/10/99 - - -{\tt \#include $<$eo\-Det\-Tournament\-Select.h$>$} - -Inheritance diagram for eo\-Det\-Tournament\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_det_tournament_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Det\-Tournament\-Select} (unsigned \_\-t\-Size=2)\label{classeo_det_tournament_select_a0} - -\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_det_tournament_select_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf t\-Size}\label{classeo_det_tournament_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Det\-Tournament\-Select$<$ EOT $>$} - -eo\-Det\-Tournament\-Select: a selection method that selects ONE individual by deterministic tournament -MS- 24/10/99 - - - -Definition at line 44 of file eo\-Det\-Tournament\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Det\-Tournament\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate.eps b/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate.eps deleted file mode 100644 index 5dd15235d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 123.457 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.05 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDetTournamentTruncate< EOT >) cw -(eoReduce< EOT >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, unsigned, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDetTournamentTruncate< EOT >) 0.5 0 box - (eoReduce< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, unsigned, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, unsigned, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate.tex b/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate.tex deleted file mode 100644 index 6bd95e6e8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-Det\-Tournament\-Truncate$<$ EOT $>$ Class Template Reference} -\label{classeo_det_tournament_truncate}\index{eoDetTournamentTruncate@{eoDetTournamentTruncate}} -a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - - -{\tt \#include $<$eo\-Reduce.h$>$} - -Inheritance diagram for eo\-Det\-Tournament\-Truncate$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.45679cm]{classeo_det_tournament_truncate} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Det\-Tournament\-Truncate} (unsigned \_\-t\_\-size)\label{classeo_det_tournament_truncate_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, unsigned \_\-newsize)\label{classeo_det_tournament_truncate_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf t\_\-size}\label{classeo_det_tournament_truncate_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Det\-Tournament\-Truncate$<$ EOT $>$} - -a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -see {\bf eo\-SSGADet\-Tournament\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_det_tournament_replacement})}) - - - -Definition at line 188 of file eo\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate_split.eps b/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate_split.eps deleted file mode 100644 index a9110e583..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate_split.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDetTournamentTruncateSplit< EOT >) cw -(eoReduceSplit< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDetTournamentTruncateSplit< EOT >) 0.5 0 box - (eoReduceSplit< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate_split.tex b/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate_split.tex deleted file mode 100644 index 8b056d384..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_truncate_split.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Det\-Tournament\-Truncate\-Split$<$ EOT $>$ Class Template Reference} -\label{classeo_det_tournament_truncate_split}\index{eoDetTournamentTruncateSplit@{eoDetTournamentTruncateSplit}} -a Reduce\-Split class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - - -{\tt \#include $<$eo\-Reduce\-Split.h$>$} - -Inheritance diagram for eo\-Det\-Tournament\-Truncate\-Split$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_det_tournament_truncate_split} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Det\-Tournament\-Truncate\-Split} (unsigned \_\-t\_\-size, {\bf eo\-How\-Many} \_\-how\-Many, bool \_\-return\-Eliminated=false)\label{classeo_det_tournament_truncate_split_a0} - -\begin{CompactList}\small\item\em Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-eliminated)\label{classeo_det_tournament_truncate_split_a1} - -\begin{CompactList}\small\item\em Performs repeated inverse\_\-deterministic\_\-tournament on the pop. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf t\_\-size}\label{classeo_det_tournament_truncate_split_r0} - -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_det_tournament_truncate_split_r1} - -\item -bool {\bf return\-Eliminated}\label{classeo_det_tournament_truncate_split_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Det\-Tournament\-Truncate\-Split$<$ EOT $>$} - -a Reduce\-Split class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -see {\bf eo\-SSGADet\-Tournament\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_det_tournament_replacement})}) - - - -Definition at line 205 of file eo\-Reduce\-Split.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Split.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_worth_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_worth_select.eps deleted file mode 100644 index f2c50943a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_worth_select.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 144.509 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.46 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDetTournamentWorthSelect< EOT, WorthT >) cw -(eoSelectFromWorth< EOT, WorthT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDetTournamentWorthSelect< EOT, WorthT >) 0.5 0 box - (eoSelectFromWorth< EOT, WorthT >) 0.5 1 box - (eoSelectOne< EOT >) 0.5 2 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_worth_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_worth_select.tex deleted file mode 100644 index 1b85d23a0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_tournament_worth_select.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Det\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$ Class Template Reference} -\label{classeo_det_tournament_worth_select}\index{eoDetTournamentWorthSelect@{eoDetTournamentWorthSelect}} -An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a ... - - -{\tt \#include $<$eo\-Select\-From\-Worth.h$>$} - -Inheritance diagram for eo\-Det\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4.04624cm]{classeo_det_tournament_worth_select} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ Worth\-T $>$::iterator {\bf worth\-Iterator}\label{classeo_det_tournament_worth_select_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Det\-Tournament\-Worth\-Select} ({\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-T $>$ \&perf2Worth, unsigned \_\-t\-Size)\label{classeo_det_tournament_worth_select_a0} - -\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&pop)\label{classeo_det_tournament_worth_select_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf t\-Size}\label{classeo_det_tournament_worth_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class eo\-Det\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$} - -An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a ... - -determinisitic tournament, yes! - - - -Definition at line 91 of file eo\-Select\-From\-Worth.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-From\-Worth.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_uniform_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_det_uniform_mutation.eps deleted file mode 100644 index 06e705186..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_uniform_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDetUniformMutation< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDetUniformMutation< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_det_uniform_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_det_uniform_mutation.tex deleted file mode 100644 index 30a3185ae..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_det_uniform_mutation.tex +++ /dev/null @@ -1,126 +0,0 @@ -\section{eo\-Det\-Uniform\-Mutation$<$ EOT $>$ Class Template Reference} -\label{classeo_det_uniform_mutation}\index{eoDetUniformMutation@{eoDetUniformMutation}} -eo\-Det\-Uniform\-Mutation --$>$ changes exactly k values of the std::vector by uniform choice with range epsilon - - -{\tt \#include $<$Tutorial/eo\-Real\-Op.h$>$} - -Inheritance diagram for eo\-Det\-Uniform\-Mutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_det_uniform_mutation} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Det\-Uniform\-Mutation} (const double \&\_\-epsilon, const unsigned \&\_\-no=1) -\begin{CompactList}\small\item\em (Default) Constructor for homogeneous genotype it's there mostly for backward compatibility \item\end{CompactList}\item -{\bf eo\-Det\-Uniform\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, const double \&\_\-epsilon, const unsigned \&\_\-no=1) -\begin{CompactList}\small\item\em Constructor with bounds. \item\end{CompactList}\item -{\bf eo\-Det\-Uniform\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, const std::vector$<$ double $>$ \&\_\-epsilon, const unsigned \&\_\-no=1) -\begin{CompactList}\small\item\em Constructor with bounds and full std::vector of epsilon. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_det_uniform_mutation_a3} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo) -\begin{CompactList}\small\item\em Do it! \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -bool {\bf homogeneous}\label{classeo_det_uniform_mutation_r0} - -\item -{\bf eo\-Real\-Vector\-Bounds} \& {\bf bounds}\label{classeo_det_uniform_mutation_r1} - -\item -std::vector$<$ double $>$ {\bf epsilon}\label{classeo_det_uniform_mutation_r2} - -\item -unsigned {\bf no}\label{classeo_det_uniform_mutation_r3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Det\-Uniform\-Mutation$<$ EOT $>$} - -eo\-Det\-Uniform\-Mutation --$>$ changes exactly k values of the std::vector by uniform choice with range epsilon - - - -Definition at line 144 of file eo\-Real\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoDetUniformMutation@{eo\-Det\-Uniform\-Mutation}!eoDetUniformMutation@{eoDetUniformMutation}} -\index{eoDetUniformMutation@{eoDetUniformMutation}!eoDetUniformMutation@{eo\-Det\-Uniform\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Det\-Uniform\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Det\-Uniform\-Mutation} (const double \& {\em \_\-epsilon}, const unsigned \& {\em \_\-no} = {\tt 1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_det_uniform_mutation_a0} - - -(Default) Constructor for homogeneous genotype it's there mostly for backward compatibility - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-epsilon}]the range for uniform nutation \item[{\em number}]of coordinate to modify \end{description} -\end{Desc} - - -Definition at line 154 of file eo\-Real\-Op.h.\index{eoDetUniformMutation@{eo\-Det\-Uniform\-Mutation}!eoDetUniformMutation@{eoDetUniformMutation}} -\index{eoDetUniformMutation@{eoDetUniformMutation}!eoDetUniformMutation@{eo\-Det\-Uniform\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Det\-Uniform\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Det\-Uniform\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, const double \& {\em \_\-epsilon}, const unsigned \& {\em \_\-no} = {\tt 1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_det_uniform_mutation_a1} - - -Constructor with bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]an {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} that contains the bounds \item[{\em \_\-epsilon}]the range for uniform nutation (to be scaled if necessary) \item[{\em number}]of coordinate to modify \end{description} -\end{Desc} - - -Definition at line 164 of file eo\-Real\-Op.h. - -References eo\-Real\-Base\-Vector\-Bounds::is\-Bounded(), and eo\-Real\-Base\-Vector\-Bounds::range().\index{eoDetUniformMutation@{eo\-Det\-Uniform\-Mutation}!eoDetUniformMutation@{eoDetUniformMutation}} -\index{eoDetUniformMutation@{eoDetUniformMutation}!eoDetUniformMutation@{eo\-Det\-Uniform\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Det\-Uniform\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Det\-Uniform\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, const std::vector$<$ double $>$ \& {\em \_\-epsilon}, const unsigned \& {\em \_\-no} = {\tt 1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_det_uniform_mutation_a2} - - -Constructor with bounds and full std::vector of epsilon. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]an {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} that contains the bounds \item[{\em \_\-epsilon}]the VECTOR of ranges for uniform mutation \item[{\em number}]of coordinate to modify \end{description} -\end{Desc} - - -Definition at line 181 of file eo\-Real\-Op.h. - -References eo\-Real\-Base\-Vector\-Bounds::is\-Bounded(), and eo\-Real\-Base\-Vector\-Bounds::range(). - -\subsection{Member Function Documentation} -\index{eoDetUniformMutation@{eo\-Det\-Uniform\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoDetUniformMutation@{eo\-Det\-Uniform\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf eo\-Det\-Uniform\-Mutation}$<$ {\bf EOT} $>$::operator() ({\bf EOT} \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_det_uniform_mutation_a4} - - -Do it! - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]The indi undergoing the mutation \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ EOT \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 199 of file eo\-Real\-Op.h. - -References eo\-Real\-Base\-Vector\-Bounds::is\-Max\-Bounded(), eo\-Real\-Base\-Vector\-Bounds::is\-Min\-Bounded(), eo\-Real\-Base\-Vector\-Bounds::maximum(), eo\-Real\-Base\-Vector\-Bounds::minimum(), eo\-Rng::random(), and eo\-Rng::uniform(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_deterministic_sa_d_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_deterministic_sa_d_replacement.eps deleted file mode 100644 index f25474995..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_deterministic_sa_d_replacement.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDeterministicSaDReplacement< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDeterministicSaDReplacement< EOT >) 0.5 0 box - (eoReplacement< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_deterministic_sa_d_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_deterministic_sa_d_replacement.tex deleted file mode 100644 index 602e933d3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_deterministic_sa_d_replacement.tex +++ /dev/null @@ -1,59 +0,0 @@ -\section{eo\-Deterministic\-Sa\-DReplacement$<$ EOT $>$ Class Template Reference} -\label{classeo_deterministic_sa_d_replacement}\index{eoDeterministicSaDReplacement@{eoDeterministicSaDReplacement}} -eo\-Deterministic\-Sa\-DReplacement: replacement strategy that is just, in sequence saves best and kill worse from parents + saves best and kill worse from offspring + merge remaining (neither save nor killed) parents and offspring + reduce that merged population = returns reduced pop + best parents + best offspring - - -{\tt \#include $<$eo\-Survive\-And\-Die.h$>$} - -Inheritance diagram for eo\-Deterministic\-Sa\-DReplacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_deterministic_sa_d_replacement} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Deterministic\-Sa\-DReplacement} ({\bf eo\-Reduce}$<$ {\bf EOT} $>$ \&\_\-reduce\-Global, double \_\-survive\-Parents, double \_\-die\-Parents=0, double \_\-survive\-Offspring=0, double \_\-die\-Offspring=0, bool \_\-interpret\_\-as\_\-rate=true)\label{classeo_deterministic_sa_d_replacement_a0} - -\begin{CompactList}\small\item\em Constructor with reduce. \item\end{CompactList}\item -{\bf eo\-Deterministic\-Sa\-DReplacement} (double \_\-survive\-Parents, double \_\-die\-Parents=0, double \_\-survive\-Offspring=0, double \_\-die\-Offspring=0, bool \_\-interpret\_\-as\_\-rate=true)\label{classeo_deterministic_sa_d_replacement_a1} - -\begin{CompactList}\small\item\em Constructor with default truncate used as reduce. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_deterministic_sa_d_replacement_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Reduce}$<$ {\bf EOT} $>$ \& {\bf reduce\-Global}\label{classeo_deterministic_sa_d_replacement_r0} - -\item -{\bf eo\-Deterministic\-Survive\-And\-Die}$<$ {\bf EOT} $>$ {\bf s\-Ad\-Parents}\label{classeo_deterministic_sa_d_replacement_r1} - -\item -{\bf eo\-Deterministic\-Survive\-And\-Die}$<$ {\bf EOT} $>$ {\bf s\-Ad\-Offspring}\label{classeo_deterministic_sa_d_replacement_r2} - -\item -{\bf eo\-Plus}$<$ {\bf EOT} $>$ {\bf plus}\label{classeo_deterministic_sa_d_replacement_r3} - -\item -{\bf eo\-Truncate}$<$ {\bf EOT} $>$ {\bf truncate}\label{classeo_deterministic_sa_d_replacement_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Deterministic\-Sa\-DReplacement$<$ EOT $>$} - -eo\-Deterministic\-Sa\-DReplacement: replacement strategy that is just, in sequence saves best and kill worse from parents + saves best and kill worse from offspring + merge remaining (neither save nor killed) parents and offspring + reduce that merged population = returns reduced pop + best parents + best offspring - -An obvious use is as strong elitist strategy, i.e. preserving best parents, and reducing (either offspring or parents+offspring) - - - -Definition at line 132 of file eo\-Survive\-And\-Die.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Survive\-And\-Die.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_deterministic_survive_and_die.eps b/trunk/paradiseo-eo/doc/latex/classeo_deterministic_survive_and_die.eps deleted file mode 100644 index 0d3080e07..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_deterministic_survive_and_die.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDeterministicSurviveAndDie< EOT >) cw -(eoSurviveAndDie< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDeterministicSurviveAndDie< EOT >) 0.5 0 box - (eoSurviveAndDie< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_deterministic_survive_and_die.tex b/trunk/paradiseo-eo/doc/latex/classeo_deterministic_survive_and_die.tex deleted file mode 100644 index cf2610bec..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_deterministic_survive_and_die.tex +++ /dev/null @@ -1,40 +0,0 @@ -\section{eo\-Deterministic\-Survive\-And\-Die$<$ EOT $>$ Class Template Reference} -\label{classeo_deterministic_survive_and_die}\index{eoDeterministicSurviveAndDie@{eoDeterministicSurviveAndDie}} -An instance (theonly one as of today, Dec. - - -{\tt \#include $<$eo\-Survive\-And\-Die.h$>$} - -Inheritance diagram for eo\-Deterministic\-Survive\-And\-Die$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_deterministic_survive_and_die} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Deterministic\-Survive\-And\-Die} (double \_\-survive, double \_\-die, bool \_\-interpret\_\-as\_\-rate=true)\label{classeo_deterministic_survive_and_die_a0} - -\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-lucky\-Guys)\label{classeo_deterministic_survive_and_die_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Deterministic\-Survive\-And\-Die$<$ EOT $>$} - -An instance (theonly one as of today, Dec. - -20, 2000) of an {\bf eo\-Survive\-And\-Die}{\rm (p.\,\pageref{classeo_survive_and_die})}, that does everything deterministically - -Used in {\bf eo\-Deterministic\-Sa\-DReplacement}{\rm (p.\,\pageref{classeo_deterministic_sa_d_replacement})}. - - - -Definition at line 73 of file eo\-Survive\-And\-Die.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Survive\-And\-Die.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_distance.eps b/trunk/paradiseo-eo/doc/latex/classeo_distance.eps deleted file mode 100644 index ec2605819..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_distance.eps +++ /dev/null @@ -1,225 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 79.3651 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.3 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDistance< EOT >) cw -(eoBF< const EOT &, const EOT &, double >) cw -(eoFunctorBase) cw -(binary_function< const EOT &, const EOT &, double >) cw -(eoFitnessDistance< EOT >) cw -(eoHammingDistance< EOT >) cw -(eoQuadDistance< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDistance< EOT >) 1 1 box - (eoBF< const EOT &, const EOT &, double >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< const EOT &, const EOT &, double >) 1.5 3 box - (eoFitnessDistance< EOT >) 0 0 box - (eoHammingDistance< EOT >) 1 0 box - (eoQuadDistance< EOT >) 2 0 box - -% ----- relations ----- - -solid -0 1 1 out -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in -solid -1 1 0.25 out -solid -0 2 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_distance.tex b/trunk/paradiseo-eo/doc/latex/classeo_distance.tex deleted file mode 100644 index 660810923..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_distance.tex +++ /dev/null @@ -1,27 +0,0 @@ -\section{eo\-Distance$<$ EOT $>$ Class Template Reference} -\label{classeo_distance}\index{eoDistance@{eoDistance}} -This is a generic class for distance functors: takes 2 things ane returns a double. - - -{\tt \#include $<$eo\-Distance.h$>$} - -Inheritance diagram for eo\-Distance$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.22222cm]{classeo_distance} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Distance$<$ EOT $>$} - -This is a generic class for distance functors: takes 2 things ane returns a double. - - - -Definition at line 35 of file eo\-Distance.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Distance.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_distrib_updater.eps b/trunk/paradiseo-eo/doc/latex/classeo_distrib_updater.eps deleted file mode 100644 index bb65570da..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_distrib_updater.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 96.8523 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.1625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDistribUpdater< EOT >) cw -(eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoDistribution< EOT > &, eoPop< EOT > &, void >) cw -(eoPBILAdditive< EOT >) cw -(eoPBILOrg< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDistribUpdater< EOT >) 0.5 1 box - (eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoDistribution< EOT > &, eoPop< EOT > &, void >) 1 3 box - (eoPBILAdditive< EOT >) 0 0 box - (eoPBILOrg< EOT >) 1 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -1 0.5 0.25 out -solid -0 1 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_distrib_updater.tex b/trunk/paradiseo-eo/doc/latex/classeo_distrib_updater.tex deleted file mode 100644 index a31640783..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_distrib_updater.tex +++ /dev/null @@ -1,35 +0,0 @@ -\section{eo\-Distrib\-Updater$<$ EOT $>$ Class Template Reference} -\label{classeo_distrib_updater}\index{eoDistribUpdater@{eoDistribUpdater}} -Base class for Distribution Evolution Algorithms within {\bf EO}{\rm (p.\,\pageref{class_e_o})}: the update rule of distribution. - - -{\tt \#include $<$eo\-Distrib\-Updater.h$>$} - -Inheritance diagram for eo\-Distrib\-Updater$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.71186cm]{classeo_distrib_updater} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf operator()} ({\bf eo\-Distribution}$<$ {\bf EOT} $>$ \&, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&)=0\label{classeo_distrib_updater_a0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Distrib\-Updater$<$ EOT $>$} - -Base class for Distribution Evolution Algorithms within {\bf EO}{\rm (p.\,\pageref{class_e_o})}: the update rule of distribution. - -It takes one distribution and updates it according to one population - - - -Definition at line 43 of file eo\-Distrib\-Updater.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Distrib\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_distribution.eps b/trunk/paradiseo-eo/doc/latex/classeo_distribution.eps deleted file mode 100644 index 84c39d341..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_distribution.eps +++ /dev/null @@ -1,237 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 124.378 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.02 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 4 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDistribution< EOT >) cw -(eoInit< EOT >) cw -(eoPersistent) cw -(eoObject) cw -(eoUF< EOT &, void >) cw -(eoPrintable) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -(eoPBILDistrib< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDistribution< EOT >) 1.5 1 box - (eoInit< EOT >) 0.5 2 box - (eoPersistent) 1.5 2 box - (eoObject) 2.5 2 box - (eoUF< EOT &, void >) 0.5 3 box - (eoPrintable) 1.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< EOT &, void >) 1 4 box - (eoPBILDistrib< EOT >) 1.5 0 box - -% ----- relations ----- - -solid -0 1.5 1 out -solid -0.5 2.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 1.5 2 in -solid -0 1.5 2 out -solid -1 2.5 2 in -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 1.5 3 in -solid -1 0 4 in -solid -1 1 4 in -solid -1 1.5 0.25 out -solid -0 1.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_distribution.tex b/trunk/paradiseo-eo/doc/latex/classeo_distribution.tex deleted file mode 100644 index edc021537..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_distribution.tex +++ /dev/null @@ -1,37 +0,0 @@ -\section{eo\-Distribution$<$ EOT $>$ Class Template Reference} -\label{classeo_distribution}\index{eoDistribution@{eoDistribution}} -Abstract class for Distribution Evolution Algorithms within {\bf EO}{\rm (p.\,\pageref{class_e_o})}: the distribution itself. - - -{\tt \#include $<$eo\-Distribution.h$>$} - -Inheritance diagram for eo\-Distribution$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.48259cm]{classeo_distribution} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf operator()} ({\bf EOT} \&)=0\label{classeo_distribution_a0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Distribution$<$ EOT $>$} - -Abstract class for Distribution Evolution Algorithms within {\bf EO}{\rm (p.\,\pageref{class_e_o})}: the distribution itself. - -It basically IS AN {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} - {\bf operator()(EOT \&)}{\rm (p.\,\pageref{classeo_distribution_a0})} generates new indis - -The instances will probably be {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} of some kind see {\bf eo\-PBILDistrib.h}{\rm (p.\,\pageref{eo_p_b_i_l_distrib_8h})} - - - -Definition at line 45 of file eo\-Distribution.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Distribution.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_dominance_map.eps b/trunk/paradiseo-eo/doc/latex/classeo_dominance_map.eps deleted file mode 100644 index c84f6d551..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_dominance_map.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 95.5414 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.23333 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDominanceMap< EoType >) cw -(eoUF< const eoPop< EoType > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EoType > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDominanceMap< EoType >) 0.5 0 box - (eoUF< const eoPop< EoType > &, void >) 0.5 1 box - (eoFunctorBase) 0 2 box - (unary_function< const eoPop< EoType > &, void >) 1 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_dominance_map.tex b/trunk/paradiseo-eo/doc/latex/classeo_dominance_map.tex deleted file mode 100644 index 64a6bc402..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_dominance_map.tex +++ /dev/null @@ -1,87 +0,0 @@ -\section{eo\-Dominance\-Map$<$ Eo\-Type $>$ Class Template Reference} -\label{classeo_dominance_map}\index{eoDominanceMap@{eoDominanceMap}} -eo\-Dominance\-Map, utility class to calculate and maintain a map (std::vector$<$std::vector$<$bool$>$ $>$) of pareto dominance statistics. - - -{\tt \#include $<$eo\-Dominance\-Map.h$>$} - -Inheritance diagram for eo\-Dominance\-Map$<$ Eo\-Type $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.67516cm]{classeo_dominance_map} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -void {\bf clear} ()\label{classeo_dominance_map_a0} - -\begin{CompactList}\small\item\em Clears the map. \item\end{CompactList}\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf Eo\-Type} $>$ \&\_\-pop)\label{classeo_dominance_map_a1} - -\begin{CompactList}\small\item\em Update or create the dominance map. \item\end{CompactList}\item -void {\bf remove} (unsigned i)\label{classeo_dominance_map_a2} - -\begin{CompactList}\small\item\em Removes the domination info for a given individual, thus nothing dominates it and it dominates nothing. \item\end{CompactList}\item -void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf Eo\-Type} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Create domination matrix from scratch. \item\end{CompactList}\item -std::vector$<$ double $>$ {\bf sum\_\-dominators} () const -\begin{CompactList}\small\item\em For all elements, returns the no. \item\end{CompactList}\item -std::vector$<$ double $>$ {\bf sum\_\-dominants} () const \label{classeo_dominance_map_a5} - -\begin{CompactList}\small\item\em For all elements, returns the number of elements that the element dominates Thus: higher is better It returns a std::vector$<$double$>$ cuz that makes subsequent manipulation that much easier. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ typename Eo\-Type::Fitness $>$ {\bf fitness}\label{classeo_dominance_map_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Eo\-Type$>$ class eo\-Dominance\-Map$<$ Eo\-Type $>$} - -eo\-Dominance\-Map, utility class to calculate and maintain a map (std::vector$<$std::vector$<$bool$>$ $>$) of pareto dominance statistics. - -It is set up such that - -if map[i][j] == true then i dominates j - -The dominance map can be used to perform pareto ranking ({\bf eo\-Pareto\-Ranking}{\rm (p.\,\pageref{classeo_pareto_ranking})}) or non dominated sorting. For the latter, the {\bf remove()}{\rm (p.\,\pageref{classeo_dominance_map_a2})} member function might come in handy. - -\begin{Desc} -\item[{\bf Todo}]make it an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}? \end{Desc} - - - - -Definition at line 47 of file eo\-Dominance\-Map.h. - -\subsection{Member Function Documentation} -\index{eoDominanceMap@{eo\-Dominance\-Map}!setup@{setup}} -\index{setup@{setup}!eoDominanceMap@{eo\-Dominance\-Map}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Eo\-Type$>$ void {\bf eo\-Dominance\-Map}$<$ {\bf Eo\-Type} $>$::setup (const {\bf eo\-Pop}$<$ {\bf Eo\-Type} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classeo_dominance_map_a3} - - -Create domination matrix from scratch. - -Complexity O(N$^\wedge$2) - -Definition at line 81 of file eo\-Dominance\-Map.h. - -Referenced by eo\-Dominance\-Map$<$ EOT $>$::operator()().\index{eoDominanceMap@{eo\-Dominance\-Map}!sum_dominators@{sum\_\-dominators}} -\index{sum_dominators@{sum\_\-dominators}!eoDominanceMap@{eo\-Dominance\-Map}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Eo\-Type$>$ std::vector$<$double$>$ {\bf eo\-Dominance\-Map}$<$ {\bf Eo\-Type} $>$::sum\_\-dominators () const\hspace{0.3cm}{\tt [inline]}}\label{classeo_dominance_map_a4} - - -For all elements, returns the no. - -of elements that dominate the element Thus: lower is better (and 0 is the front). It returns a std::vector$<$double$>$ cuz that makes subsequent manipulation that much easier - -Definition at line 118 of file eo\-Dominance\-Map.h. - -Referenced by eo\-Pareto\-Ranking$<$ EOT $>$::calculate\_\-worths(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Dominance\-Map.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_double_exchange.eps b/trunk/paradiseo-eo/doc/latex/classeo_double_exchange.eps deleted file mode 100644 index 164739177..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_double_exchange.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 85.197 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.86875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDoubleExchange) cw -(eoBinOp< double >) cw -(eoOp< double >) cw -(eoBF< double &, const double &, bool >) cw -(eoFunctorBase) cw -(binary_function< double &, const double &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDoubleExchange) 0.5 0 box - (eoBinOp< double >) 0.5 1 box - (eoOp< double >) 0 2 box - (eoBF< double &, const double &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< double &, const double &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_double_exchange.tex b/trunk/paradiseo-eo/doc/latex/classeo_double_exchange.tex deleted file mode 100644 index c11272111..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_double_exchange.tex +++ /dev/null @@ -1,37 +0,0 @@ -\section{eo\-Double\-Exchange Class Reference} -\label{classeo_double_exchange}\index{eoDoubleExchange@{eoDoubleExchange}} -Discrete crossover == exchange of values. - - -{\tt \#include $<$eo\-Real\-Atom\-Xover.h$>$} - -Inheritance diagram for eo\-Double\-Exchange::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.38552cm]{classeo_double_exchange} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Double\-Exchange} ()\label{classeo_double_exchange_a0} - -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_double_exchange_a1} - -\begin{CompactList}\small\item\em The class name. Used to display statistics. \item\end{CompactList}\item -bool {\bf operator()} (double \&r1, const double \&r2)\label{classeo_double_exchange_a2} - -\begin{CompactList}\small\item\em Exchanges or not the values. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Discrete crossover == exchange of values. - - - -Definition at line 41 of file eo\-Real\-Atom\-Xover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Atom\-Xover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_double_intermediate.eps b/trunk/paradiseo-eo/doc/latex/classeo_double_intermediate.eps deleted file mode 100644 index ee5f2643b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_double_intermediate.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 85.197 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.86875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDoubleIntermediate) cw -(eoBinOp< double >) cw -(eoOp< double >) cw -(eoBF< double &, const double &, bool >) cw -(eoFunctorBase) cw -(binary_function< double &, const double &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDoubleIntermediate) 0.5 0 box - (eoBinOp< double >) 0.5 1 box - (eoOp< double >) 0 2 box - (eoBF< double &, const double &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< double &, const double &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_double_intermediate.tex b/trunk/paradiseo-eo/doc/latex/classeo_double_intermediate.tex deleted file mode 100644 index 4e6a40939..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_double_intermediate.tex +++ /dev/null @@ -1,37 +0,0 @@ -\section{eo\-Double\-Intermediate Class Reference} -\label{classeo_double_intermediate}\index{eoDoubleIntermediate@{eoDoubleIntermediate}} -Intermediate crossover == linear combination. - - -{\tt \#include $<$eo\-Real\-Atom\-Xover.h$>$} - -Inheritance diagram for eo\-Double\-Intermediate::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.38552cm]{classeo_double_intermediate} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Double\-Intermediate} ()\label{classeo_double_intermediate_a0} - -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_double_intermediate_a1} - -\begin{CompactList}\small\item\em The class name. Used to display statistics. \item\end{CompactList}\item -bool {\bf operator()} (double \&r1, const double \&r2)\label{classeo_double_intermediate_a2} - -\begin{CompactList}\small\item\em Linear combination of both parents. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Intermediate crossover == linear combination. - - - -Definition at line 71 of file eo\-Real\-Atom\-Xover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Atom\-Xover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_drawable.tex b/trunk/paradiseo-eo/doc/latex/classeo_drawable.tex deleted file mode 100644 index c71e0d8c9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_drawable.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Drawable$<$ Object $>$ Class Template Reference} -\label{classeo_drawable}\index{eoDrawable@{eoDrawable}} -eo\-Drawable is a template class that adds a drawing interface to an object.$\backslash$ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. - - -{\tt \#include $<$eo\-Drawable.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Drawable} (const Object \&\_\-o)\label{classeo_drawable_a0} - -\begin{CompactList}\small\item\em Main ctor from an already built Object. \item\end{CompactList}\item -{\bf eo\-Drawable} (const {\bf eo\-Drawable} \&\_\-d)\label{classeo_drawable_a1} - -\begin{CompactList}\small\item\em Copy constructor. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Drawable} ()\label{classeo_drawable_a2} - -\begin{CompactList}\small\item\em Virtual dtor. They are needed in virtual class hierarchies. \item\end{CompactList}\item -virtual void {\bf draw} (unsigned \_\-x, unsigned \_\-y)=0 -\begin{CompactList}\small\item\em Draws the object. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Object$>$ class eo\-Drawable$<$ Object $>$} - -eo\-Drawable is a template class that adds a drawing interface to an object.$\backslash$ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. - -The Object must be an {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}, thus, it must have its methods: class\-Name, eo\-Drawables can be drawn on any two-dimensional surface; it can be added to any object with above characteristics. \begin{Desc} -\item[See also:]{\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})} \end{Desc} - - - - -Definition at line 44 of file eo\-Drawable.h. - -\subsection{Member Function Documentation} -\index{eoDrawable@{eo\-Drawable}!draw@{draw}} -\index{draw@{draw}!eoDrawable@{eo\-Drawable}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Object$>$ virtual void {\bf eo\-Drawable}$<$ Object $>$::draw (unsigned {\em \_\-x}, unsigned {\em \_\-y})\hspace{0.3cm}{\tt [pure virtual]}}\label{classeo_drawable_a3} - - -Draws the object. - -It must be redefined in any subclass, it180s impossible to have a general drawing method \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-x,\_\-y}]coorinates \end{description} -\end{Desc} - - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Drawable.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_dyn_s_g_a_transform.eps b/trunk/paradiseo-eo/doc/latex/classeo_dyn_s_g_a_transform.eps deleted file mode 100644 index 9feb78f93..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_dyn_s_g_a_transform.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 153.257 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.2625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDynSGATransform< EOT >) cw -(eoTransform< EOT >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDynSGATransform< EOT >) 0.5 0 box - (eoTransform< EOT >) 0.5 1 box - (eoUF< eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_dyn_s_g_a_transform.tex b/trunk/paradiseo-eo/doc/latex/classeo_dyn_s_g_a_transform.tex deleted file mode 100644 index ee7f2de05..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_dyn_s_g_a_transform.tex +++ /dev/null @@ -1,88 +0,0 @@ -\section{eo\-Dyn\-SGATransform$<$ EOT $>$ Class Template Reference} -\label{classeo_dyn_s_g_a_transform}\index{eoDynSGATransform@{eoDynSGATransform}} -eo\-Dyn\-SGATransform: transforms a population using genetic operators. - - -{\tt \#include $<$eo\-SGATransform.h$>$} - -Inheritance diagram for eo\-Dyn\-SGATransform$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_dyn_s_g_a_transform} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Dyn\-SGATransform} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-cross, double \_\-c\-Proba, {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-mutate, double \_\-m\-Proba)\label{classeo_dyn_s_g_a_transform_a0} - -\begin{CompactList}\small\item\em Default constructor - receives values. \item\end{CompactList}\item -{\bf eo\-Dyn\-SGATransform} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-cross, double $\ast$\_\-c\-Proba\-Ref, {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-mutate, double $\ast$\_\-m\-Proba\-Ref)\label{classeo_dyn_s_g_a_transform_a1} - -\begin{CompactList}\small\item\em This constructor receives pointers. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Transforms a population. \item\end{CompactList}\item -double \& {\bf PCross\-Handle} ()\label{classeo_dyn_s_g_a_transform_a3} - -\item -double \& {\bf PMut\-Handle} ()\label{classeo_dyn_s_g_a_transform_a4} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Invalidate\-Quad\-Op}$<$ {\bf EOT} $>$ {\bf cross}\label{classeo_dyn_s_g_a_transform_r0} - -\item -double {\bf crossover\-Proba\-Holder}\label{classeo_dyn_s_g_a_transform_r1} - -\item -double \& {\bf crossover\-Proba}\label{classeo_dyn_s_g_a_transform_r2} - -\item -{\bf eo\-Invalidate\-Mon\-Op}$<$ {\bf EOT} $>$ {\bf mutate}\label{classeo_dyn_s_g_a_transform_r3} - -\item -double {\bf mutation\-Proba\-Holder}\label{classeo_dyn_s_g_a_transform_r4} - -\item -double \& {\bf mutation\-Proba}\label{classeo_dyn_s_g_a_transform_r5} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Dyn\-SGATransform$<$ EOT $>$} - -eo\-Dyn\-SGATransform: transforms a population using genetic operators. - -It is the Dynamic version of the above {\bf eo\-SGATransform}{\rm (p.\,\pageref{classeo_s_g_a_transform})} i.e. the operators probabilities can be passed as an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})}, and hence can be modified from outside It is here mainly for tutorial reasons - - - -Definition at line 98 of file eo\-SGATransform.h. - -\subsection{Member Function Documentation} -\index{eoDynSGATransform@{eo\-Dyn\-SGATransform}!operator()@{operator()}} -\index{operator()@{operator()}!eoDynSGATransform@{eo\-Dyn\-SGATransform}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Dyn\-SGATransform}$<$ {\bf EOT} $>$::operator() ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_dyn_s_g_a_transform_a2} - - -Transforms a population. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em pop}]The population to be transformed. \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 125 of file eo\-SGATransform.h. - -References eo\-Rng::flip(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-SGATransform.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_dyn_updater.eps b/trunk/paradiseo-eo/doc/latex/classeo_dyn_updater.eps deleted file mode 100644 index 280c7edf7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_dyn_updater.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 349.65 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.43 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoDynUpdater) cw -(eoUpdater) cw -(eoF< void >) cw -(eoFunctorBase) cw -(eoCountedDynUpdate) cw -(eoTimedDynUpdate) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoDynUpdater) 0.5 1 box - (eoUpdater) 0.5 2 box - (eoF< void >) 0.5 3 box - (eoFunctorBase) 0.5 4 box - (eoCountedDynUpdate) 0 0 box - (eoTimedDynUpdate) 1 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -1 0.5 4 in -solid -1 0.5 0.25 out -solid -0 1 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_dyn_updater.tex b/trunk/paradiseo-eo/doc/latex/classeo_dyn_updater.tex deleted file mode 100644 index bccc88880..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_dyn_updater.tex +++ /dev/null @@ -1,40 +0,0 @@ -\section{eo\-Dyn\-Updater Class Reference} -\label{classeo_dyn_updater}\index{eoDynUpdater@{eoDynUpdater}} -A base class to actually update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object. - - -{\tt \#include $<$eo\-Updatable.h$>$} - -Inheritance diagram for eo\-Dyn\-Updater::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_dyn_updater} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Dyn\-Updater} ({\bf eo\-Updatable} \&\_\-to\-Update)\label{classeo_dyn_updater_a0} - -\item -virtual void {\bf operator()} ()\label{classeo_dyn_updater_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Updatable} \& {\bf to\-Update}\label{classeo_dyn_updater_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -A base class to actually update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object. - - - -Definition at line 51 of file eo\-Updatable.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Updatable.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_e_d_a.eps b/trunk/paradiseo-eo/doc/latex/classeo_e_d_a.eps deleted file mode 100644 index 70c3d72c3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_e_d_a.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.45 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.775 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEDA< EOT >) cw -(eoUF< eoDistribution< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoDistribution< EOT > &, void >) cw -(eoSimpleEDA< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEDA< EOT >) 0.5 1 box - (eoUF< eoDistribution< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoDistribution< EOT > &, void >) 1 3 box - (eoSimpleEDA< EOT >) 0.5 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -1 0.5 0.25 out -solid -0 0.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_e_d_a.tex b/trunk/paradiseo-eo/doc/latex/classeo_e_d_a.tex deleted file mode 100644 index e524b25d7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_e_d_a.tex +++ /dev/null @@ -1,31 +0,0 @@ -\section{eo\-EDA$<$ EOT $>$ Class Template Reference} -\label{classeo_e_d_a}\index{eoEDA@{eoEDA}} -eo\-EDA: Estimation of Distribution Algorithm within {\bf EO}{\rm (p.\,\pageref{class_e_o})} - - -{\tt \#include $<$eo\-EDA.h$>$} - -Inheritance diagram for eo\-EDA$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.70861cm]{classeo_e_d_a} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-EDA$<$ EOT $>$} - -eo\-EDA: Estimation of Distribution Algorithm within {\bf EO}{\rm (p.\,\pageref{class_e_o})} - -The abstract class for algorithms that evolve a probability distribution on the spaces of populations rather than a population - -It IS NOT an {\bf eo\-Algo}{\rm (p.\,\pageref{classeo_algo})}, as it evolves a distribution, not a population - - - -Definition at line 41 of file eo\-EDA.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-EDA.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_e_p_reduce.eps b/trunk/paradiseo-eo/doc/latex/classeo_e_p_reduce.eps deleted file mode 100644 index 0f8b5a125..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_e_p_reduce.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 123.457 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.05 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEPReduce< EOT >) cw -(eoReduce< EOT >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, unsigned, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEPReduce< EOT >) 0.5 0 box - (eoReduce< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, unsigned, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, unsigned, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_e_p_reduce.tex b/trunk/paradiseo-eo/doc/latex/classeo_e_p_reduce.tex deleted file mode 100644 index bbbbfc635..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_e_p_reduce.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-EPReduce$<$ EOT $>$ Class Template Reference} -\label{classeo_e_p_reduce}\index{eoEPReduce@{eoEPReduce}} -EP truncation method (some global stochastic tournament + sort) Softer selective pressure than pure truncate. - - -{\tt \#include $<$eo\-Reduce.h$>$} - -Inheritance diagram for eo\-EPReduce$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.45679cm]{classeo_e_p_reduce} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_e_p_reduce_w0} - -\item -typedef std::pair$<$ float, typename {\bf eo\-Pop}$<$ {\bf EOT} $>$::iterator $>$ {\bf EPpair}\label{classeo_e_p_reduce_w1} - -\begin{CompactList}\small\item\em helper struct for comparing on std::pairs \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-EPReduce} (unsigned \_\-t\_\-size)\label{classeo_e_p_reduce_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, unsigned \_\-newsize)\label{classeo_e_p_reduce_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf t\_\-size}\label{classeo_e_p_reduce_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-EPReduce$<$ EOT $>$} - -EP truncation method (some global stochastic tournament + sort) Softer selective pressure than pure truncate. - - - -Definition at line 83 of file eo\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_e_p_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_e_p_replacement.eps deleted file mode 100644 index 02bf3b87a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_e_p_replacement.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 134.409 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.72 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEPReplacement< EOT >) cw -(eoMergeReduce< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEPReplacement< EOT >) 0.5 0 box - (eoMergeReduce< EOT >) 0.5 1 box - (eoReplacement< EOT >) 0.5 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_e_p_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_e_p_replacement.tex deleted file mode 100644 index 90f6dd83d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_e_p_replacement.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-EPReplacement$<$ EOT $>$ Class Template Reference} -\label{classeo_e_p_replacement}\index{eoEPReplacement@{eoEPReplacement}} -EP type of replacement strategy: first add parents to population, then truncate using EP tournament. - - -{\tt \#include $<$eo\-Merge\-Reduce.h$>$} - -Inheritance diagram for eo\-EPReplacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.76344cm]{classeo_e_p_replacement} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-EPReplacement} (int \_\-t\-Size)\label{classeo_e_p_replacement_a0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Plus}$<$ {\bf EOT} $>$ {\bf plus}\label{classeo_e_p_replacement_r0} - -\item -{\bf eo\-EPReduce}$<$ {\bf EOT} $>$ {\bf truncate}\label{classeo_e_p_replacement_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-EPReplacement$<$ EOT $>$} - -EP type of replacement strategy: first add parents to population, then truncate using EP tournament. - - - -Definition at line 102 of file eo\-Merge\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Merge\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_easy_e_a.eps b/trunk/paradiseo-eo/doc/latex/classeo_easy_e_a.eps deleted file mode 100644 index 5b466c504..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_easy_e_a.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 153.257 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.2625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEasyEA< EOT >) cw -(eoAlgo< EOT >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEasyEA< EOT >) 0.5 0 box - (eoAlgo< EOT >) 0.5 1 box - (eoUF< eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_easy_e_a.tex b/trunk/paradiseo-eo/doc/latex/classeo_easy_e_a.tex deleted file mode 100644 index 0c06d8a91..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_easy_e_a.tex +++ /dev/null @@ -1,103 +0,0 @@ -\section{eo\-Easy\-EA$<$ EOT $>$ Class Template Reference} -\label{classeo_easy_e_a}\index{eoEasyEA@{eoEasyEA}} -An easy-to-use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-algorithms. - - -{\tt \#include $<$eo\-Easy\-EA.h$>$} - -Inheritance diagram for eo\-Easy\-EA$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_easy_e_a} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Easy\-EA} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-continuator, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, {\bf eo\-Breed}$<$ {\bf EOT} $>$ \&\_\-breed, {\bf eo\-Replacement}$<$ {\bf EOT} $>$ \&\_\-replace)\label{classeo_easy_e_a_a0} - -\begin{CompactList}\small\item\em Ctor taking a breed and merge. \item\end{CompactList}\item -{\bf eo\-Easy\-EA} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-continuator, {\bf eo\-Pop\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, {\bf eo\-Breed}$<$ {\bf EOT} $>$ \&\_\-breed, {\bf eo\-Replacement}$<$ {\bf EOT} $>$ \&\_\-replace)\label{classeo_easy_e_a_a1} - -\begin{CompactList}\small\item\em NEW Ctor taking a breed and merge and an eo\-Pop\-Eval. \item\end{CompactList}\item -{\bf eo\-Easy\-EA} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-continuator, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, {\bf eo\-Breed}$<$ {\bf EOT} $>$ \&\_\-breed, {\bf eo\-Merge}$<$ {\bf EOT} $>$ \&\_\-merge, {\bf eo\-Reduce}$<$ {\bf EOT} $>$ \&\_\-reduce)\label{classeo_easy_e_a_a2} - -\begin{CompactList}\small\item\em Ctor {\bf eo\-Breed}{\rm (p.\,\pageref{classeo_breed})}, {\bf eo\-Merge}{\rm (p.\,\pageref{classeo_merge})} and {\bf eo\-Reduce}{\rm (p.\,\pageref{classeo_reduce})}. \item\end{CompactList}\item -{\bf eo\-Easy\-EA} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-continuator, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, {\bf eo\-Select}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-Transform}$<$ {\bf EOT} $>$ \&\_\-transform, {\bf eo\-Replacement}$<$ {\bf EOT} $>$ \&\_\-replace)\label{classeo_easy_e_a_a3} - -\begin{CompactList}\small\item\em Ctor {\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})}, {\bf eo\-Transform}{\rm (p.\,\pageref{classeo_transform})}, and {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}. \item\end{CompactList}\item -{\bf eo\-Easy\-EA} ({\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-continuator, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, {\bf eo\-Select}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-Transform}$<$ {\bf EOT} $>$ \&\_\-transform, {\bf eo\-Merge}$<$ {\bf EOT} $>$ \&\_\-merge, {\bf eo\-Reduce}$<$ {\bf EOT} $>$ \&\_\-reduce)\label{classeo_easy_e_a_a4} - -\begin{CompactList}\small\item\em Ctor {\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})}, {\bf eo\-Transform}{\rm (p.\,\pageref{classeo_transform})}, {\bf eo\-Merge}{\rm (p.\,\pageref{classeo_merge})} and {\bf eo\-Reduce}{\rm (p.\,\pageref{classeo_reduce})}. \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_easy_e_a_a5} - -\begin{CompactList}\small\item\em Apply a few generation of evolution to the population. \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -eo\-Easy\-EA::eo\-Dummy\-Select {\bf dummy\-Select}\label{classeo_easy_e_a_p0} - -\item -eo\-Easy\-EA::eo\-Dummy\-Transform {\bf dummy\-Transform}\label{classeo_easy_e_a_p1} - -\item -eo\-Easy\-EA::eo\-Dummy\-Eval {\bf dummy\-Eval}\label{classeo_easy_e_a_p2} - -\item -{\bf eo\-Continue}$<$ {\bf EOT} $>$ \& {\bf continuator}\label{classeo_easy_e_a_p3} - -\item -{\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf eval}\label{classeo_easy_e_a_p4} - -\item -{\bf eo\-Pop\-Loop\-Eval}$<$ {\bf EOT} $>$ {\bf loop\-Eval}\label{classeo_easy_e_a_p5} - -\item -{\bf eo\-Pop\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf pop\-Eval}\label{classeo_easy_e_a_p6} - -\item -{\bf eo\-Select\-Transform}$<$ {\bf EOT} $>$ {\bf select\-Transform}\label{classeo_easy_e_a_p7} - -\item -{\bf eo\-Breed}$<$ {\bf EOT} $>$ \& {\bf breed}\label{classeo_easy_e_a_p8} - -\item -{\bf eo\-No\-Elitism}$<$ {\bf EOT} $>$ {\bf dummy\-Merge}\label{classeo_easy_e_a_p9} - -\item -{\bf eo\-Truncate}$<$ {\bf EOT} $>$ {\bf dummy\-Reduce}\label{classeo_easy_e_a_p10} - -\item -{\bf eo\-Merge\-Reduce}$<$ {\bf EOT} $>$ {\bf merge\-Reduce}\label{classeo_easy_e_a_p11} - -\item -{\bf eo\-Replacement}$<$ {\bf EOT} $>$ \& {\bf replace}\label{classeo_easy_e_a_p12} - -\end{CompactItemize} -\subsection*{Friends} -\begin{CompactItemize} -\item -class {\bf eo\-Islands\-Easy\-EA$<$EOT$>$}\label{classeo_easy_e_a_n0} - -\item -class {\bf eo\-Dist\-Eval\-Easy\-EA$<$EOT$>$}\label{classeo_easy_e_a_n1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Easy\-EA$<$ EOT $>$} - -An easy-to-use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-algorithms. - -Change (MS, July 3. 2001): Replaced the {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} by an {\bf eo\-Pop\-Eval\-Func}{\rm (p.\,\pageref{classeo_pop_eval_func})}: this immediately allows many useful constructs, such as co-evolution (e.g. game players), parisian approach (the solution to the problem is the whole population) or simple distribution of evaluations on a cluster. In case an {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} is passed, it is embedded on an {\bf eo\-Pop\-Loop\-Eval}{\rm (p.\,\pageref{classeo_pop_loop_eval})} This makes things a little uglier (required an additional \char`\"{}dummy\char`\"{} member - -Note: it looks ugly only because we wanted to authorize many different constructors. Please only look at the operator() and there shall be light - - - -Definition at line 63 of file eo\-Easy\-EA.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Easy\-EA.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_elite_sequential_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_elite_sequential_select.eps deleted file mode 100644 index 2ac7cfed9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_elite_sequential_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEliteSequentialSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEliteSequentialSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_elite_sequential_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_elite_sequential_select.tex deleted file mode 100644 index fd62059b9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_elite_sequential_select.tex +++ /dev/null @@ -1,52 +0,0 @@ -\section{eo\-Elite\-Sequential\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_elite_sequential_select}\index{eoEliteSequentialSelect@{eoEliteSequentialSelect}} -All Individuals in order. - - -{\tt \#include $<$eo\-Sequential\-Select.h$>$} - -Inheritance diagram for eo\-Elite\-Sequential\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_elite_sequential_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Elite\-Sequential\-Select} ()\label{classeo_elite_sequential_select_a0} - -\begin{CompactList}\small\item\em Ctor: sets the current pter to numeric\_\-limits$<$unsigned$>$::max() so init will take place first time not very elegant, maybe ... \item\end{CompactList}\item -void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_elite_sequential_select_a1} - -\begin{CompactList}\small\item\em virtual function to setup some population stats (for instance eo\-Proportional can benefit greatly from this) \item\end{CompactList}\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_elite_sequential_select_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf current}\label{classeo_elite_sequential_select_r0} - -\item -std::vector$<$ const {\bf EOT} $\ast$ $>$ {\bf eo\-Pters}\label{classeo_elite_sequential_select_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Elite\-Sequential\-Select$<$ EOT $>$} - -All Individuals in order. - -The best individual first, then the others in sequence (random order). for G3 evolution engine, see Deb, Anad and Joshi, CEC 2002 - -As {\bf eo\-Sequential\-Select}{\rm (p.\,\pageref{classeo_sequential_select})}, it is an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} to be used within the eo\-Easey\-EA algo, but conceptually it should be a global {\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})}, as it selects a bunch of guys in one go (done in the setup function now) - - - -Definition at line 97 of file eo\-Sequential\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Sequential\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_elitism.eps b/trunk/paradiseo-eo/doc/latex/classeo_elitism.eps deleted file mode 100644 index 17dffe3be..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_elitism.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 122.85 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.07 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoElitism< EOT >) cw -(eoMerge< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoNoElitism< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoElitism< EOT >) 0.5 1 box - (eoMerge< EOT >) 0.5 2 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 4 box - (eoNoElitism< EOT >) 0.5 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in -solid -1 0.5 0.25 out -solid -0 0.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_elitism.tex b/trunk/paradiseo-eo/doc/latex/classeo_elitism.tex deleted file mode 100644 index 018baa675..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_elitism.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Elitism$<$ EOT $>$ Class Template Reference} -\label{classeo_elitism}\index{eoElitism@{eoElitism}} -Straightforward elitism class, specify the number of individuals to copy into new geneneration or the rate w.r.t. - - -{\tt \#include $<$eo\-Merge.h$>$} - -Inheritance diagram for eo\-Elitism$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.4398cm]{classeo_elitism} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Elitism} (double \_\-rate, bool \_\-interpret\_\-as\_\-rate=true)\label{classeo_elitism_a0} - -\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_elitism_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rate}\label{classeo_elitism_r0} - -\item -unsigned {\bf combien}\label{classeo_elitism_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Elitism$<$ EOT $>$} - -Straightforward elitism class, specify the number of individuals to copy into new geneneration or the rate w.r.t. - -pop size - - - -Definition at line 55 of file eo\-Merge.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Merge.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_chrom_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_es_chrom_init.eps deleted file mode 100644 index eba61c9a4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_chrom_init.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 248.756 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.01 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEsChromInit< EOT >) cw -(eoRealInitBounded< EOT >) cw -(eoInit< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEsChromInit< EOT >) 0.5 0 box - (eoRealInitBounded< EOT >) 0.5 1 box - (eoInit< EOT >) 0.5 2 box - (eoUF< EOT &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< EOT &, void >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_chrom_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_es_chrom_init.tex deleted file mode 100644 index 62b2e4588..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_chrom_init.tex +++ /dev/null @@ -1,169 +0,0 @@ -\section{eo\-Es\-Chrom\-Init$<$ EOT $>$ Class Template Reference} -\label{classeo_es_chrom_init}\index{eoEsChromInit@{eoEsChromInit}} -Random Es-chromosome initializer (therefore derived from {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}). - - -{\tt \#include $<$eo\-Es\-Chrom\-Init.h$>$} - -Inheritance diagram for eo\-Es\-Chrom\-Init$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_es_chrom_init} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fit\-T}\label{classeo_es_chrom_init_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Es\-Chrom\-Init} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, double \_\-sigma=0.3, bool \_\-to\_\-scale=false) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -{\bf eo\-Es\-Chrom\-Init} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, std::vector$<$ double $>$ \_\-vec\-Sigma) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -void {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_es_chrom_init_a2} - -\begin{CompactList}\small\item\em simply passes the argument to the uniform method of the bounds \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf create\_\-self\_\-adapt} ({\bf eo\-Real}$<$ Fit\-T $>$ \&) -\begin{CompactList}\small\item\em Create intializer. \item\end{CompactList}\item -void {\bf create\_\-self\_\-adapt} ({\bf eo\-Es\-Simple}$<$ Fit\-T $>$ \&result) -\begin{CompactList}\small\item\em Create intializer. \item\end{CompactList}\item -void {\bf create\_\-self\_\-adapt} ({\bf eo\-Es\-Stdev}$<$ Fit\-T $>$ \&result) -\begin{CompactList}\small\item\em Create intializer. \item\end{CompactList}\item -void {\bf create\_\-self\_\-adapt} ({\bf eo\-Es\-Full}$<$ Fit\-T $>$ \&result) -\begin{CompactList}\small\item\em Create intializer. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf unique\-Sigma}\label{classeo_es_chrom_init_r0} - -\begin{CompactList}\small\item\em Initial value in case of a unique sigma. \item\end{CompactList}\item -std::vector$<$ double $>$ {\bf vec\-Sigma}\label{classeo_es_chrom_init_r1} - -\begin{CompactList}\small\item\em Initial values in case of a vector of sigmas. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Es\-Chrom\-Init$<$ EOT $>$} - -Random Es-chromosome initializer (therefore derived from {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}). - -This class can initialize four types of real-valued genotypes thanks to tempate specialization of private method create: - -\begin{itemize} -\item {\bf eo\-Real}{\rm (p.\,\pageref{classeo_real})} just an eo\-Vector$<$double$>$\item {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})} + one self-adapting single sigma for all variables\item {\bf eo\-Es\-Stdev}{\rm (p.\,\pageref{classeo_es_stdev})} a whole std::vector of self-adapting sigmas\item {\bf eo\-Es\-Full}{\rm (p.\,\pageref{classeo_es_full})} a full self-adapting correlation matrix\end{itemize} - - -\begin{Desc} -\item[See also:]{\bf eo\-Real}{\rm (p.\,\pageref{classeo_real})} {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})} {\bf eo\-Es\-Stdev}{\rm (p.\,\pageref{classeo_es_stdev})} {\bf eo\-Es\-Full}{\rm (p.\,\pageref{classeo_es_full})} {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} \end{Desc} - - - - -Definition at line 55 of file eo\-Es\-Chrom\-Init.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoEsChromInit@{eo\-Es\-Chrom\-Init}!eoEsChromInit@{eoEsChromInit}} -\index{eoEsChromInit@{eoEsChromInit}!eoEsChromInit@{eo\-Es\-Chrom\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Es\-Chrom\-Init}$<$ {\bf EOT} $>$::{\bf eo\-Es\-Chrom\-Init} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, double {\em \_\-sigma} = {\tt 0.3}, bool {\em \_\-to\_\-scale} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_es_chrom_init_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]bounds for uniform initialization \item[{\em \_\-sigma}]initial value for the stddev \item[{\em \_\-to\_\-scale}]wether sigma should be multiplied by the range of each variable added December 2004 - MS (together with the whole comment :-) \end{description} -\end{Desc} - - -Definition at line 71 of file eo\-Es\-Chrom\-Init.h. - -References eo\-Real\-Base\-Vector\-Bounds::range(), eo\-Real\-Init\-Bounded$<$ EOT $>$::the\-Bounds(), eo\-Es\-Chrom\-Init$<$ EOT $>$::unique\-Sigma, and eo\-Es\-Chrom\-Init$<$ EOT $>$::vec\-Sigma.\index{eoEsChromInit@{eo\-Es\-Chrom\-Init}!eoEsChromInit@{eoEsChromInit}} -\index{eoEsChromInit@{eoEsChromInit}!eoEsChromInit@{eo\-Es\-Chrom\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Es\-Chrom\-Init}$<$ {\bf EOT} $>$::{\bf eo\-Es\-Chrom\-Init} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, std::vector$<$ double $>$ {\em \_\-vec\-Sigma})\hspace{0.3cm}{\tt [inline]}}\label{classeo_es_chrom_init_a1} - - -Constructor. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Specify individual initial sigmas for each variable. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]bounds for uniform initialization \item[{\em \_\-sigma}]initial value for the stddev \end{description} -\end{Desc} - - -Definition at line 109 of file eo\-Es\-Chrom\-Init.h. - -References eo\-Es\-Chrom\-Init$<$ EOT $>$::unique\-Sigma, and eo\-Es\-Chrom\-Init$<$ EOT $>$::vec\-Sigma. - -\subsection{Member Function Documentation} -\index{eoEsChromInit@{eo\-Es\-Chrom\-Init}!create_self_adapt@{create\_\-self\_\-adapt}} -\index{create_self_adapt@{create\_\-self\_\-adapt}!eoEsChromInit@{eo\-Es\-Chrom\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Chrom\-Init}$<$ {\bf EOT} $>$::create\_\-self\_\-adapt ({\bf eo\-Real}$<$ Fit\-T $>$ \&)\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_chrom_init_d0} - - -Create intializer. - -No adaptive mutation at all - -Definition at line 128 of file eo\-Es\-Chrom\-Init.h. - -Referenced by eo\-Es\-Chrom\-Init$<$ EOT $>$::operator()().\index{eoEsChromInit@{eo\-Es\-Chrom\-Init}!create_self_adapt@{create\_\-self\_\-adapt}} -\index{create_self_adapt@{create\_\-self\_\-adapt}!eoEsChromInit@{eo\-Es\-Chrom\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Chrom\-Init}$<$ {\bf EOT} $>$::create\_\-self\_\-adapt ({\bf eo\-Es\-Simple}$<$ Fit\-T $>$ \& {\em result})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_chrom_init_d1} - - -Create intializer. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Adaptive mutation through a unique sigma - -Definition at line 139 of file eo\-Es\-Chrom\-Init.h. - -References eo\-Es\-Simple$<$ Fit $>$::stdev.\index{eoEsChromInit@{eo\-Es\-Chrom\-Init}!create_self_adapt@{create\_\-self\_\-adapt}} -\index{create_self_adapt@{create\_\-self\_\-adapt}!eoEsChromInit@{eo\-Es\-Chrom\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Chrom\-Init}$<$ {\bf EOT} $>$::create\_\-self\_\-adapt ({\bf eo\-Es\-Stdev}$<$ Fit\-T $>$ \& {\em result})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_chrom_init_d2} - - -Create intializer. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Adaptive mutation through a std::vector of sigmas - -\begin{Desc} -\item[{\bf Todo}]Should we scale sigmas to the corresponding object variable range? \end{Desc} - - -Definition at line 155 of file eo\-Es\-Chrom\-Init.h. - -References eo\-Es\-Stdev$<$ Fit $>$::stdevs.\index{eoEsChromInit@{eo\-Es\-Chrom\-Init}!create_self_adapt@{create\_\-self\_\-adapt}} -\index{create_self_adapt@{create\_\-self\_\-adapt}!eoEsChromInit@{eo\-Es\-Chrom\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Chrom\-Init}$<$ {\bf EOT} $>$::create\_\-self\_\-adapt ({\bf eo\-Es\-Full}$<$ Fit\-T $>$ \& {\em result})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_chrom_init_d3} - - -Create intializer. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Adaptive mutation through a whole correlation matrix - -Definition at line 169 of file eo\-Es\-Chrom\-Init.h. - -References eo\-Es\-Full$<$ Fit $>$::correlations, eo\-Es\-Full$<$ Fit $>$::stdevs, and eo\-Rng::uniform(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Es\-Chrom\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_full.eps b/trunk/paradiseo-eo/doc/latex/classeo_es_full.eps deleted file mode 100644 index 45bd64486..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_full.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 212.314 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.355 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEsFull< Fit >) cw -(eoVector< Fit, double >) cw -(EO< Fit >) cw -(vector< double >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEsFull< Fit >) 1 0 box - (eoVector< Fit, double >) 1 1 box - (EO< Fit >) 0.5 2 box - (vector< double >) 1.5 2 box - (eoObject) 0 3 box - (eoPersistent) 1 3 box - (eoPrintable) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 1.5 2 in -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_full.tex b/trunk/paradiseo-eo/doc/latex/classeo_es_full.tex deleted file mode 100644 index 315fc1fd7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_full.tex +++ /dev/null @@ -1,71 +0,0 @@ -\section{eo\-Es\-Full$<$ Fit $>$ Class Template Reference} -\label{classeo_es_full}\index{eoEsFull@{eoEsFull}} -The most complex evolutionary strategy representation. - - -{\tt \#include $<$eo\-Es\-Full.h$>$} - -Inheritance diagram for eo\-Es\-Full$<$ Fit $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_es_full} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef double {\bf Type}\label{classeo_es_full_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} (void) const -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&os) const \label{classeo_es_full_a2} - -\begin{CompactList}\small\item\em printing... \item\end{CompactList}\item -void {\bf read\-From} (std::istream \&is)\label{classeo_es_full_a3} - -\begin{CompactList}\small\item\em reading... \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -std::vector$<$ double $>$ {\bf stdevs}\label{classeo_es_full_o0} - -\item -std::vector$<$ double $>$ {\bf correlations}\label{classeo_es_full_o1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit$>$ class eo\-Es\-Full$<$ Fit $>$} - -The most complex evolutionary strategy representation. - -Co-evolving mutation rates and correlated mutations. - - - -Definition at line 40 of file eo\-Es\-Full.h. - -\subsection{Member Function Documentation} -\index{eoEsFull@{eo\-Es\-Full}!className@{className}} -\index{className@{className}!eoEsFull@{eo\-Es\-Full}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit$>$ virtual std::string {\bf eo\-Es\-Full}$<$ Fit $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_full_a1} - - -Return the class id. - -\begin{Desc} -\item[Returns:]the class name as a std::string \end{Desc} - - -Reimplemented from {\bf EO$<$ Fit $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}. - -Definition at line 51 of file eo\-Es\-Full.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Es\-Full.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_global_xover.eps b/trunk/paradiseo-eo/doc/latex/classeo_es_global_xover.eps deleted file mode 100644 index 8629aac06..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_global_xover.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.0125 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.49375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEsGlobalXover< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEsGlobalXover< EOT >) 0.5 0 box - (eoGenOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< eoPopulator< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_global_xover.tex b/trunk/paradiseo-eo/doc/latex/classeo_es_global_xover.tex deleted file mode 100644 index cc09e0cbc..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_global_xover.tex +++ /dev/null @@ -1,126 +0,0 @@ -\section{eo\-Es\-Global\-Xover$<$ EOT $>$ Class Template Reference} -\label{classeo_es_global_xover}\index{eoEsGlobalXover@{eoEsGlobalXover}} -Gloabl crossover operator for ES genotypes. - - -{\tt \#include $<$eo\-Es\-Global\-Xover.h$>$} - -Inheritance diagram for eo\-Es\-Global\-Xover$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.54835cm]{classeo_es_global_xover} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fit\-T}\label{classeo_es_global_xover_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Es\-Global\-Xover} ({\bf eo\-Bin\-Op}$<$ double $>$ \&\_\-cross\-Obj, {\bf eo\-Bin\-Op}$<$ double $>$ \&\_\-cross\-Mut)\label{classeo_es_global_xover_a0} - -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_es_global_xover_a1} - -\begin{CompactList}\small\item\em The class name. Used to display statistics. \item\end{CompactList}\item -unsigned {\bf max\_\-production} (void)\label{classeo_es_global_xover_a2} - -\begin{CompactList}\small\item\em The TOTAL number of offspring (here = nb of parents modified in place). \item\end{CompactList}\item -void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-plop) -\begin{CompactList}\small\item\em modifies one parents in the populator using 2 new parents for each component! \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf cross\_\-self\_\-adapt} ({\bf eo\-Es\-Simple}$<$ Fit\-T $>$ \&\_\-parent, const {\bf eo\-Pop}$<$ {\bf eo\-Es\-Simple}$<$ Fit\-T $>$ $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Method for cross self-adaptation parameters. \item\end{CompactList}\item -void {\bf cross\_\-self\_\-adapt} ({\bf eo\-Es\-Stdev}$<$ Fit\-T $>$ \&\_\-parent, const {\bf eo\-Pop}$<$ {\bf eo\-Es\-Stdev}$<$ Fit\-T $>$ $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Method for cross self-adaptation parameters. \item\end{CompactList}\item -void {\bf cross\_\-self\_\-adapt} ({\bf eo\-Es\-Full}$<$ Fit\-T $>$ \&\_\-parent, const {\bf eo\-Pop}$<$ {\bf eo\-Es\-Full}$<$ Fit\-T $>$ $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Method for cross self-adaptation parameters. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Random\-Select}$<$ {\bf EOT} $>$ {\bf sel}\label{classeo_es_global_xover_r0} - -\item -{\bf eo\-Bin\-Op}$<$ double $>$ \& {\bf cross\-Obj}\label{classeo_es_global_xover_r1} - -\item -{\bf eo\-Bin\-Op}$<$ double $>$ \& {\bf cross\-Mut}\label{classeo_es_global_xover_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Es\-Global\-Xover$<$ EOT $>$} - -Gloabl crossover operator for ES genotypes. - -Uses some Atom crossovers to handle both the object variables and the mutation strategy parameters - - - -Definition at line 44 of file eo\-Es\-Global\-Xover.h. - -\subsection{Member Function Documentation} -\index{eoEsGlobalXover@{eo\-Es\-Global\-Xover}!apply@{apply}} -\index{apply@{apply}!eoEsGlobalXover@{eo\-Es\-Global\-Xover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Global\-Xover}$<$ {\bf EOT} $>$::apply ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \& {\em \_\-plop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_global_xover_a3} - - -modifies one parents in the populator using 2 new parents for each component! - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-pop}]a POPULATOR (not a simple population) \end{description} -\end{Desc} - - -Implements {\bf eo\-Gen\-Op$<$ EOT $>$} {\rm (p.\,\pageref{classeo_gen_op_b0})}. - -Definition at line 67 of file eo\-Es\-Global\-Xover.h. - -References eo\-Es\-Global\-Xover$<$ EOT $>$::cross\_\-self\_\-adapt(), EO$<$ F $>$::invalidate(), and eo\-Populator$<$ EOT $>$::source().\index{eoEsGlobalXover@{eo\-Es\-Global\-Xover}!cross_self_adapt@{cross\_\-self\_\-adapt}} -\index{cross_self_adapt@{cross\_\-self\_\-adapt}!eoEsGlobalXover@{eo\-Es\-Global\-Xover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Global\-Xover}$<$ {\bf EOT} $>$::cross\_\-self\_\-adapt ({\bf eo\-Es\-Simple}$<$ Fit\-T $>$ \& {\em \_\-parent}, const {\bf eo\-Pop}$<$ {\bf eo\-Es\-Simple}$<$ Fit\-T $>$ $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_global_xover_d0} - - -Method for cross self-adaptation parameters. - -Specialization for {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})}. - -Definition at line 94 of file eo\-Es\-Global\-Xover.h. - -References eo\-Es\-Simple$<$ Fit $>$::stdev. - -Referenced by eo\-Es\-Global\-Xover$<$ EOT $>$::apply().\index{eoEsGlobalXover@{eo\-Es\-Global\-Xover}!cross_self_adapt@{cross\_\-self\_\-adapt}} -\index{cross_self_adapt@{cross\_\-self\_\-adapt}!eoEsGlobalXover@{eo\-Es\-Global\-Xover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Global\-Xover}$<$ {\bf EOT} $>$::cross\_\-self\_\-adapt ({\bf eo\-Es\-Stdev}$<$ Fit\-T $>$ \& {\em \_\-parent}, const {\bf eo\-Pop}$<$ {\bf eo\-Es\-Stdev}$<$ Fit\-T $>$ $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_global_xover_d1} - - -Method for cross self-adaptation parameters. - -Specialization for {\bf eo\-Es\-Stdev}{\rm (p.\,\pageref{classeo_es_stdev})}. - -Definition at line 106 of file eo\-Es\-Global\-Xover.h. - -References eo\-Es\-Stdev$<$ Fit $>$::stdevs.\index{eoEsGlobalXover@{eo\-Es\-Global\-Xover}!cross_self_adapt@{cross\_\-self\_\-adapt}} -\index{cross_self_adapt@{cross\_\-self\_\-adapt}!eoEsGlobalXover@{eo\-Es\-Global\-Xover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Global\-Xover}$<$ {\bf EOT} $>$::cross\_\-self\_\-adapt ({\bf eo\-Es\-Full}$<$ Fit\-T $>$ \& {\em \_\-parent}, const {\bf eo\-Pop}$<$ {\bf eo\-Es\-Full}$<$ Fit\-T $>$ $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_global_xover_d2} - - -Method for cross self-adaptation parameters. - -Specialization for {\bf eo\-Es\-Full}{\rm (p.\,\pageref{classeo_es_full})}. - -Definition at line 121 of file eo\-Es\-Global\-Xover.h. - -References eo\-Es\-Full$<$ Fit $>$::correlations, and eo\-Es\-Full$<$ Fit $>$::stdevs. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Es\-Global\-Xover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_mutate.eps b/trunk/paradiseo-eo/doc/latex/classeo_es_mutate.eps deleted file mode 100644 index c4231caf6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_mutate.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEsMutate< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEsMutate< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_mutate.tex b/trunk/paradiseo-eo/doc/latex/classeo_es_mutate.tex deleted file mode 100644 index 18dd28742..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_mutate.tex +++ /dev/null @@ -1,224 +0,0 @@ -\section{eo\-Es\-Mutate$<$ EOT $>$ Class Template Reference} -\label{classeo_es_mutate}\index{eoEsMutate@{eoEsMutate}} -ES-style mutation in the large. - - -{\tt \#include $<$eo\-Es\-Mutate.h$>$} - -Inheritance diagram for eo\-Es\-Mutate$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_es_mutate} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fit\-T}\label{classeo_es_mutate_w0} - -\begin{CompactList}\small\item\em Fitness-type. \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Es\-Mutate} ({\bf eo\-Es\-Mutation\-Init} \&\_\-init, {\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds) -\begin{CompactList}\small\item\em Initialization. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Es\-Mutate} ()\label{classeo_es_mutate_a1} - -\begin{CompactList}\small\item\em Virtual Destructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const -\begin{CompactList}\small\item\em Classname. \item\end{CompactList}\item -virtual bool {\bf operator()} ({\bf eo\-Es\-Simple}$<$ {\bf Fit\-T} $>$ \&\_\-eo) -\begin{CompactList}\small\item\em Mutate {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})}. \item\end{CompactList}\item -virtual bool {\bf operator()} ({\bf eo\-Es\-Stdev}$<$ {\bf Fit\-T} $>$ \&\_\-eo) -\begin{CompactList}\small\item\em Standard mutation in ES. \item\end{CompactList}\item -virtual bool {\bf operator()} ({\bf eo\-Es\-Full}$<$ {\bf Fit\-T} $>$ \&\_\-eo) -\begin{CompactList}\small\item\em Correlated mutations in ES. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf init} ({\bf eo\-Es\-Simple}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \&\_\-init)\label{classeo_es_mutate_d0} - -\begin{CompactList}\small\item\em Initialization of simple ES. \item\end{CompactList}\item -void {\bf init} ({\bf eo\-Es\-Stdev}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \&\_\-init) -\begin{CompactList}\small\item\em Initialization of standard ES. \item\end{CompactList}\item -void {\bf init} ({\bf eo\-Es\-Full}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \&\_\-init) -\begin{CompactList}\small\item\em Initialization of full ES. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf Tau\-Lcl}\label{classeo_es_mutate_r0} - -\begin{CompactList}\small\item\em Local factor for mutation of std deviations. \item\end{CompactList}\item -double {\bf Tau\-Glb}\label{classeo_es_mutate_r1} - -\begin{CompactList}\small\item\em Global factor for mutation of std deviations. \item\end{CompactList}\item -double {\bf Tau\-Beta}\label{classeo_es_mutate_r2} - -\begin{CompactList}\small\item\em Factor for mutation of correlation parameters. \item\end{CompactList}\item -{\bf eo\-Real\-Vector\-Bounds} \& {\bf bounds}\label{classeo_es_mutate_r3} - -\begin{CompactList}\small\item\em Bounds of parameters. \item\end{CompactList}\end{CompactItemize} -\subsection*{Static Private Attributes} -\begin{CompactItemize} -\item -const double {\bf stdev\_\-eps} = 1.0e-40 -\begin{CompactList}\small\item\em Minimum stdev. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Es\-Mutate$<$ EOT $>$} - -ES-style mutation in the large. - -Obviously, valid only for eo\-ES$\ast$. It is currently valid for three types of ES chromosomes:\begin{itemize} -\item {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})}: Exactly one stdandard-deviation\item {\bf eo\-Es\-Stdev}{\rm (p.\,\pageref{classeo_es_stdev})}: As many standard deviations as object variables\item {\bf eo\-Es\-Full}{\rm (p.\,\pageref{classeo_es_full})}: The whole guacemole: correlations, stdevs and object variables\end{itemize} - - -Each of these three variant has it's own operator() in eo\-Es\-Mutate and intialization is also split into three cases (that share some commonalities) - - - -Definition at line 60 of file eo\-Es\-Mutate.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoEsMutate@{eo\-Es\-Mutate}!eoEsMutate@{eoEsMutate}} -\index{eoEsMutate@{eoEsMutate}!eoEsMutate@{eo\-Es\-Mutate}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::{\bf eo\-Es\-Mutate} ({\bf eo\-Es\-Mutation\-Init} \& {\em \_\-init}, {\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds})\hspace{0.3cm}{\tt [inline]}}\label{classeo_es_mutate_a0} - - -Initialization. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-init}]Proxy class for initializating the three parameters eo\-Es\-Mutate needs \item[{\em \_\-bounds}]Bounds for the objective variables \end{description} -\end{Desc} - - -Definition at line 74 of file eo\-Es\-Mutate.h. - -References eo\-Es\-Mutate$<$ EOT $>$::bounds, and eo\-Es\-Mutate$<$ EOT $>$::init(). - -\subsection{Member Function Documentation} -\index{eoEsMutate@{eo\-Es\-Mutate}!className@{className}} -\index{className@{className}!eoEsMutate@{eo\-Es\-Mutate}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual std::string {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_mutate_a2} - - -Classname. - -Inherited from {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})} \begin{Desc} -\item[See also:]{\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}\end{Desc} -\begin{Desc} -\item[Returns:]Name of class. \end{Desc} - - -Reimplemented from {\bf eo\-Mon\-Op$<$ EOT $>$} {\rm (p.\,\pageref{classeo_mon_op})}. - -Definition at line 90 of file eo\-Es\-Mutate.h.\index{eoEsMutate@{eo\-Es\-Mutate}!operator()@{operator()}} -\index{operator()@{operator()}!eoEsMutate@{eo\-Es\-Mutate}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual bool {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::operator() ({\bf eo\-Es\-Simple}$<$ {\bf Fit\-T} $>$ \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_mutate_a3} - - -Mutate {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})}. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]Individual to mutate. \end{description} -\end{Desc} - - -Definition at line 97 of file eo\-Es\-Mutate.h. - -References eo\-Es\-Mutate$<$ EOT $>$::bounds, eo\-Real\-Base\-Vector\-Bounds::folds\-In\-Bounds(), eo\-Rng::normal(), eo\-Es\-Simple$<$ Fit $>$::stdev, and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.\index{eoEsMutate@{eo\-Es\-Mutate}!operator()@{operator()}} -\index{operator()@{operator()}!eoEsMutate@{eo\-Es\-Mutate}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual bool {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::operator() ({\bf eo\-Es\-Stdev}$<$ {\bf Fit\-T} $>$ \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_mutate_a4} - - -Standard mutation in ES. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Standard mutation of object variables and standard deviations in ESs. - -If there are fewer different standard deviations available than the dimension of the objective function requires, the last standard deviation is responsible for ALL remaining object variables. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]Individual to mutate.\end{description} -\end{Desc} -\begin{Desc} -\item[See also:]Schwefel 1977: Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie, pp. 165 ff. \end{Desc} - - -Definition at line 128 of file eo\-Es\-Mutate.h. - -References eo\-Es\-Mutate$<$ EOT $>$::bounds, eo\-Real\-Base\-Vector\-Bounds::folds\-In\-Bounds(), eo\-Rng::normal(), eo\-Es\-Stdev$<$ Fit $>$::stdevs, eo\-Es\-Mutate$<$ EOT $>$::Tau\-Glb, and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.\index{eoEsMutate@{eo\-Es\-Mutate}!operator()@{operator()}} -\index{operator()@{operator()}!eoEsMutate@{eo\-Es\-Mutate}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual bool {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::operator() ({\bf eo\-Es\-Full}$<$ {\bf Fit\-T} $>$ \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_mutate_a5} - - -Correlated mutations in ES. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Mutation of object variables, standard deviations, and their correlations in ESs. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]Individual to mutate.\end{description} -\end{Desc} -\begin{Desc} -\item[See also:]\begin{itemize} -\item H.-P. Schwefel: Internal Report of KFA Juelich, KFA-STE-IB-3/80, p. 43, 1980.\item G. Rudolph: Globale Optimierung mit parallelen Evolutionsstrategien, Diploma Thesis, University of Dortmund, 1990. \end{itemize} -\end{Desc} - - -Definition at line 159 of file eo\-Es\-Mutate.h. - -References eo\-Es\-Mutate$<$ EOT $>$::bounds, eo\-Es\-Full$<$ Fit $>$::correlations, eo\-Real\-Base\-Vector\-Bounds::folds\-In\-Bounds(), eo\-Rng::normal(), eo\-Es\-Full$<$ Fit $>$::stdevs, eo\-Es\-Mutate$<$ EOT $>$::Tau\-Beta, eo\-Es\-Mutate$<$ EOT $>$::Tau\-Glb, and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.\index{eoEsMutate@{eo\-Es\-Mutate}!init@{init}} -\index{init@{init}!eoEsMutate@{eo\-Es\-Mutate}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::init ({\bf eo\-Es\-Stdev}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \& {\em \_\-init})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_mutate_d1} - - -Initialization of standard ES. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Definition at line 228 of file eo\-Es\-Mutate.h. - -References eo\-Es\-Mutate$<$ EOT $>$::bounds, eo\-Es\-Mutation\-Init::Tau\-Glb(), eo\-Es\-Mutate$<$ EOT $>$::Tau\-Glb, eo\-Es\-Mutation\-Init::Tau\-Lcl(), and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.\index{eoEsMutate@{eo\-Es\-Mutate}!init@{init}} -\index{init@{init}!eoEsMutate@{eo\-Es\-Mutate}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::init ({\bf eo\-Es\-Full}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \& {\em \_\-init})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_mutate_d2} - - -Initialization of full ES. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Definition at line 244 of file eo\-Es\-Mutate.h. - -References eo\-Es\-Mutate$<$ EOT $>$::init(), eo\-Es\-Mutation\-Init::Tau\-Beta(), eo\-Es\-Mutate$<$ EOT $>$::Tau\-Beta, eo\-Es\-Mutate$<$ EOT $>$::Tau\-Glb, and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl. - -\subsection{Member Data Documentation} -\index{eoEsMutate@{eo\-Es\-Mutate}!stdev_eps@{stdev\_\-eps}} -\index{stdev_eps@{stdev\_\-eps}!eoEsMutate@{eo\-Es\-Mutate}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ const double {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::{\bf stdev\_\-eps} = 1.0e-40\hspace{0.3cm}{\tt [static, private]}}\label{classeo_es_mutate_v0} - - -Minimum stdev. - -If you let the step-size go to 0, self-adaptation stops, therefore we give a lower bound. The actual value used is somewhat arbitrary and the is no theoretical reasoning known for it (Sep 2005). - -The code that we have in {\bf EO}{\rm (p.\,\pageref{class_e_o})} is a port from a C code that Thomas B\"{a}ck kindly donated to the community some years ago. It has been modified by Marc Schoenauer for inclusion in Evol\-C, than by Maarten Keijzer into {\bf EO}{\rm (p.\,\pageref{class_e_o})}. The exact value was adjusted based on practice. - -Removing this doesn't work well, but it was never tried to figure out what the best value would be. - -Definition at line 284 of file eo\-Es\-Mutate.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Es\-Mutate.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_mutation_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_es_mutation_init.tex deleted file mode 100644 index 9e3884b4e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_mutation_init.tex +++ /dev/null @@ -1,103 +0,0 @@ -\section{eo\-Es\-Mutation\-Init Class Reference} -\label{classeo_es_mutation_init}\index{eoEsMutationInit@{eoEsMutationInit}} -Initialize Mutation operator. - - -{\tt \#include $<$eo\-Es\-Mutation\-Init.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Es\-Mutation\-Init} ({\bf eo\-Parser} \&\_\-parser, std::string \_\-section=\char`\"{}ES mutation parameters\char`\"{}) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Es\-Mutation\-Init} ()\label{classeo_es_mutation_init_a1} - -\begin{CompactList}\small\item\em Virtual destructor. \item\end{CompactList}\item -double {\bf Tau\-Lcl} (void)\label{classeo_es_mutation_init_a2} - -\begin{CompactList}\small\item\em local \item\end{CompactList}\item -double {\bf Tau\-Glb} (void)\label{classeo_es_mutation_init_a3} - -\begin{CompactList}\small\item\em global tau \item\end{CompactList}\item -double {\bf Tau\-Beta} (void)\label{classeo_es_mutation_init_a4} - -\begin{CompactList}\small\item\em correlation's tau \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf section} (void)\label{classeo_es_mutation_init_b0} - -\item -virtual std::string {\bf Tau\-Lcl\-Name} (void) const \label{classeo_es_mutation_init_b1} - -\item -virtual char {\bf Tau\-Lcl\-Short} (void) const \label{classeo_es_mutation_init_b2} - -\item -virtual std::string {\bf Tau\-Glb\-Name} (void) const \label{classeo_es_mutation_init_b3} - -\item -virtual char {\bf Tau\-Glb\-Short} (void) const \label{classeo_es_mutation_init_b4} - -\item -virtual std::string {\bf Tau\-Beta\-Name} (void) const \label{classeo_es_mutation_init_b5} - -\item -virtual char {\bf Tau\-Beta\-Short} (void) const \label{classeo_es_mutation_init_b6} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Parser} \& {\bf parser}\label{classeo_es_mutation_init_r0} - -\item -std::string {\bf rep\-Section}\label{classeo_es_mutation_init_r1} - -\item -{\bf eo\-Value\-Param}$<$ double $>$ $\ast$ {\bf Tau\-Lcl\-Param}\label{classeo_es_mutation_init_r2} - -\item -{\bf eo\-Value\-Param}$<$ double $>$ $\ast$ {\bf Tau\-Glb\-Param}\label{classeo_es_mutation_init_r3} - -\item -{\bf eo\-Value\-Param}$<$ double $>$ $\ast$ {\bf Tau\-Beta\-Param}\label{classeo_es_mutation_init_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Initialize Mutation operator. - -Proxy class that is used for initializing the mutation operator. It provides an interface between {\bf eo\-Es\-Mutate}{\rm (p.\,\pageref{classeo_es_mutate})} and the abstract parameter\-Loader. It also provides the names for the parameters in this class as virtual protected member functions. - -If you have more than a single ES in a project that need different names in the configuration files, you might consider overriding this class to change the names. - -\begin{Desc} -\item[See also:]{\bf eo\-Es\-Mutate}{\rm (p.\,\pageref{classeo_es_mutate})} \end{Desc} - - - - -Definition at line 47 of file eo\-Es\-Mutation\-Init.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoEsMutationInit@{eo\-Es\-Mutation\-Init}!eoEsMutationInit@{eoEsMutationInit}} -\index{eoEsMutationInit@{eoEsMutationInit}!eoEsMutationInit@{eo\-Es\-Mutation\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-Es\-Mutation\-Init::eo\-Es\-Mutation\-Init ({\bf eo\-Parser} \& {\em \_\-parser}, std::string {\em \_\-section} = {\tt \char`\"{}ES\ mutation\ parameters\char`\"{}})\hspace{0.3cm}{\tt [inline]}}\label{classeo_es_mutation_init_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-parser}]Parser to read parameters from. \item[{\em \_\-section}]Parser section for -parameters. \end{description} -\end{Desc} - - -Definition at line 56 of file eo\-Es\-Mutation\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Es\-Mutation\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_simple.eps b/trunk/paradiseo-eo/doc/latex/classeo_es_simple.eps deleted file mode 100644 index 648924070..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_simple.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 212.314 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.355 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEsSimple< Fit >) cw -(eoVector< Fit, double >) cw -(EO< Fit >) cw -(vector< double >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEsSimple< Fit >) 1 0 box - (eoVector< Fit, double >) 1 1 box - (EO< Fit >) 0.5 2 box - (vector< double >) 1.5 2 box - (eoObject) 0 3 box - (eoPersistent) 1 3 box - (eoPrintable) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 1.5 2 in -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_simple.tex b/trunk/paradiseo-eo/doc/latex/classeo_es_simple.tex deleted file mode 100644 index 38a47a3c6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_simple.tex +++ /dev/null @@ -1,72 +0,0 @@ -\section{eo\-Es\-Simple$<$ Fit $>$ Class Template Reference} -\label{classeo_es_simple}\index{eoEsSimple@{eoEsSimple}} -Simple Evolution Strategy. - - -{\tt \#include $<$eo\-Es\-Simple.h$>$} - -Inheritance diagram for eo\-Es\-Simple$<$ Fit $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_es_simple} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef double {\bf Type}\label{classeo_es_simple_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&os) const \label{classeo_es_simple_a2} - -\begin{CompactList}\small\item\em printing... \item\end{CompactList}\item -void {\bf read\-From} (std::istream \&is)\label{classeo_es_simple_a3} - -\begin{CompactList}\small\item\em reading... \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -double {\bf stdev}\label{classeo_es_simple_o0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit$>$ class eo\-Es\-Simple$<$ Fit $>$} - -Simple Evolution Strategy. - -One of the more simple evolution strategies, sporting just a single stdeviation for the entire chromosome. For more advanced versions see also {\bf eo\-Es\-Stdev}{\rm (p.\,\pageref{classeo_es_stdev})} {\bf eo\-Es\-Full}{\rm (p.\,\pageref{classeo_es_full})} - -\begin{Desc} -\item[See also:]{\bf eo\-Es\-Stdev}{\rm (p.\,\pageref{classeo_es_stdev})} {\bf eo\-Es\-Full}{\rm (p.\,\pageref{classeo_es_full})} \end{Desc} - - - - -Definition at line 42 of file eo\-Es\-Simple.h. - -\subsection{Member Function Documentation} -\index{eoEsSimple@{eo\-Es\-Simple}!className@{className}} -\index{className@{className}!eoEsSimple@{eo\-Es\-Simple}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit$>$ virtual std::string {\bf eo\-Es\-Simple}$<$ Fit $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_simple_a1} - - -Return the class id. - -\begin{Desc} -\item[Returns:]the class name as a std::string \end{Desc} - - -Reimplemented from {\bf EO$<$ Fit $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}. - -Definition at line 50 of file eo\-Es\-Simple.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Es\-Simple.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_standard_xover.eps b/trunk/paradiseo-eo/doc/latex/classeo_es_standard_xover.eps deleted file mode 100644 index 189839afb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_standard_xover.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEsStandardXover< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEsStandardXover< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_standard_xover.tex b/trunk/paradiseo-eo/doc/latex/classeo_es_standard_xover.tex deleted file mode 100644 index f5eef2eea..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_standard_xover.tex +++ /dev/null @@ -1,71 +0,0 @@ -\section{eo\-Es\-Standard\-Xover$<$ EOT $>$ Class Template Reference} -\label{classeo_es_standard_xover}\index{eoEsStandardXover@{eoEsStandardXover}} -Standard (i.e. - - -{\tt \#include $<$eo\-Es\-Standard\-Xover.h$>$} - -Inheritance diagram for eo\-Es\-Standard\-Xover$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_es_standard_xover} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fit\-T}\label{classeo_es_standard_xover_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Es\-Standard\-Xover} ({\bf eo\-Bin\-Op}$<$ double $>$ \&\_\-cross\-Obj, {\bf eo\-Bin\-Op}$<$ double $>$ \&\_\-cross\-Mut)\label{classeo_es_standard_xover_a0} - -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_es_standard_xover_a1} - -\begin{CompactList}\small\item\em The class name. Used to display statistics. \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, const {\bf EOT} \&\_\-eo2)\label{classeo_es_standard_xover_a2} - -\begin{CompactList}\small\item\em modifies one parents in the populator using a second parent \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -bool {\bf cross\_\-self\_\-adapt} ({\bf eo\-Es\-Simple}$<$ Fit\-T $>$ \&\_\-parent1, const {\bf eo\-Es\-Simple}$<$ Fit\-T $>$ \&\_\-parent2)\label{classeo_es_standard_xover_d0} - -\item -bool {\bf cross\_\-self\_\-adapt} ({\bf eo\-Es\-Stdev}$<$ Fit\-T $>$ \&\_\-parent1, const {\bf eo\-Es\-Stdev}$<$ Fit\-T $>$ \&\_\-parent2)\label{classeo_es_standard_xover_d1} - -\item -bool {\bf cross\_\-self\_\-adapt} ({\bf eo\-Es\-Full}$<$ Fit\-T $>$ \&\_\-parent1, const {\bf eo\-Es\-Full}$<$ Fit\-T $>$ \&\_\-parent2)\label{classeo_es_standard_xover_d2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Random\-Select}$<$ {\bf EOT} $>$ {\bf sel}\label{classeo_es_standard_xover_r0} - -\item -{\bf eo\-Bin\-Op}$<$ double $>$ \& {\bf cross\-Obj}\label{classeo_es_standard_xover_r1} - -\item -{\bf eo\-Bin\-Op}$<$ double $>$ \& {\bf cross\-Mut}\label{classeo_es_standard_xover_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Es\-Standard\-Xover$<$ EOT $>$} - -Standard (i.e. - -{\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})}) crossover operator for ES genotypes. Uses some Atom crossovers to handle both the object variables and the mutation strategy parameters It is an {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})} and has to be wrapped into an {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} before being used like the global version - - - -Definition at line 46 of file eo\-Es\-Standard\-Xover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Es\-Standard\-Xover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_stdev.eps b/trunk/paradiseo-eo/doc/latex/classeo_es_stdev.eps deleted file mode 100644 index 8c82c123f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_stdev.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 212.314 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.355 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEsStdev< Fit >) cw -(eoVector< Fit, double >) cw -(EO< Fit >) cw -(vector< double >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEsStdev< Fit >) 1 0 box - (eoVector< Fit, double >) 1 1 box - (EO< Fit >) 0.5 2 box - (vector< double >) 1.5 2 box - (eoObject) 0 3 box - (eoPersistent) 1 3 box - (eoPrintable) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 1.5 2 in -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_es_stdev.tex b/trunk/paradiseo-eo/doc/latex/classeo_es_stdev.tex deleted file mode 100644 index cd7e23b85..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_es_stdev.tex +++ /dev/null @@ -1,68 +0,0 @@ -\section{eo\-Es\-Stdev$<$ Fit $>$ Class Template Reference} -\label{classeo_es_stdev}\index{eoEsStdev@{eoEsStdev}} -Evolutionary Strategy with a standard deviation per parameter. - - -{\tt \#include $<$eo\-Es\-Stdev.h$>$} - -Inheritance diagram for eo\-Es\-Stdev$<$ Fit $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_es_stdev} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef double {\bf Type}\label{classeo_es_stdev_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} (void) const -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&os) const \label{classeo_es_stdev_a2} - -\begin{CompactList}\small\item\em printing... \item\end{CompactList}\item -void {\bf read\-From} (std::istream \&is)\label{classeo_es_stdev_a3} - -\begin{CompactList}\small\item\em reading... \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -std::vector$<$ double $>$ {\bf stdevs}\label{classeo_es_stdev_o0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit$>$ class eo\-Es\-Stdev$<$ Fit $>$} - -Evolutionary Strategy with a standard deviation per parameter. - -Evolutionary strategie style representation, supporting co-evolving standard deviations. - - - -Definition at line 37 of file eo\-Es\-Stdev.h. - -\subsection{Member Function Documentation} -\index{eoEsStdev@{eo\-Es\-Stdev}!className@{className}} -\index{className@{className}!eoEsStdev@{eo\-Es\-Stdev}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit$>$ virtual std::string {\bf eo\-Es\-Stdev}$<$ Fit $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_stdev_a1} - - -Return the class id. - -\begin{Desc} -\item[Returns:]the class name as a std::string \end{Desc} - - -Reimplemented from {\bf EO$<$ Fit $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}. - -Definition at line 47 of file eo\-Es\-Stdev.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Es\-Stdev.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_eval_continue.eps b/trunk/paradiseo-eo/doc/latex/classeo_eval_continue.eps deleted file mode 100644 index 55df079a4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_eval_continue.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEvalContinue< EOT >) cw -(eoContinue< EOT >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoPersistent) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, bool >) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEvalContinue< EOT >) 1.25 0 box - (eoContinue< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, bool >) 0.5 2 box - (eoPersistent) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, bool >) 1 3 box - (eoPrintable) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_eval_continue.tex b/trunk/paradiseo-eo/doc/latex/classeo_eval_continue.tex deleted file mode 100644 index b195f0a92..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_eval_continue.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Eval\-Continue$<$ EOT $>$ Class Template Reference} -\label{classeo_eval_continue}\index{eoEvalContinue@{eoEvalContinue}} -Continues until a number of evaluations has been made. - - -{\tt \#include $<$eo\-Eval\-Continue.h$>$} - -Inheritance diagram for eo\-Eval\-Continue$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_eval_continue} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Eval\-Continue} ({\bf eo\-Eval\-Func\-Counter}$<$ {\bf EOT} $>$ \&\_\-eval, unsigned long \_\-total\-Eval)\label{classeo_eval_continue_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual bool {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-v\-EO)\label{classeo_eval_continue_a1} - -\begin{CompactList}\small\item\em Returns false when a certain number of evaluations has been done. \item\end{CompactList}\item -virtual unsigned long {\bf total\-Evaluations} ()\label{classeo_eval_continue_a2} - -\begin{CompactList}\small\item\em Returns the number of generations to reach. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_eval_continue_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Eval\-Func\-Counter}$<$ {\bf EOT} $>$ \& {\bf eval}\label{classeo_eval_continue_r0} - -\item -unsigned long {\bf rep\-Total\-Evaluations}\label{classeo_eval_continue_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Eval\-Continue$<$ EOT $>$} - -Continues until a number of evaluations has been made. - - - -Definition at line 36 of file eo\-Eval\-Continue.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Eval\-Continue.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_eval_func.eps b/trunk/paradiseo-eo/doc/latex/classeo_eval_func.eps deleted file mode 100644 index 5c0afd37d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_eval_func.eps +++ /dev/null @@ -1,241 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 43.6205 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 11.4625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 7 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEvalFunc< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -(eoAssembledEvalFunc< EOT >) cw -(eoEasyEA< EOT >::eoDummyEval) cw -(eoEvalFuncCounter< EOT >) cw -(eoEvalFuncPtr< EOT, FitT, FunctionArg >) cw -(eoMyEval< EOT >) cw -(eoOneMaxEvalFunc< EOT >) cw -(RoyalRoad< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEvalFunc< EOT >) 3 1 box - (eoUF< EOT &, void >) 3 2 box - (eoFunctorBase) 2.5 3 box - (unary_function< EOT &, void >) 3.5 3 box - (eoAssembledEvalFunc< EOT >) 0 0 box - (eoEasyEA< EOT >::eoDummyEval) 1 0 box - (eoEvalFuncCounter< EOT >) 2 0 box - (eoEvalFuncPtr< EOT, FitT, FunctionArg >) 3 0 box - (eoMyEval< EOT >) 4 0 box - (eoOneMaxEvalFunc< EOT >) 5 0 box - (RoyalRoad< EOT >) 6 0 box - -% ----- relations ----- - -solid -0 3 1 out -solid -1 3 2 in -solid -0 3 2 out -solid -2.5 3.5 3 conn -solid -1 2.5 3 in -solid -1 3.5 3 in -solid -1 3 0.25 out -solid -0 6 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in -solid -0 4 0.75 in -solid -0 5 0.75 in -solid -0 6 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_eval_func.tex b/trunk/paradiseo-eo/doc/latex/classeo_eval_func.tex deleted file mode 100644 index 5219df8ac..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_eval_func.tex +++ /dev/null @@ -1,40 +0,0 @@ -\section{eo\-Eval\-Func$<$ EOT $>$ Class Template Reference} -\label{classeo_eval_func}\index{eoEvalFunc@{eoEvalFunc}} -Evaluate: takes one {\bf EO}{\rm (p.\,\pageref{class_e_o})} and sets its \char`\"{}fitness\char`\"{} property returning this fitness also. - - -{\tt \#include $<$eo\-Eval\-Func.h$>$} - -Inheritance diagram for eo\-Eval\-Func$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.22137cm]{classeo_eval_func} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf EOT} {\bf EOType}\label{classeo_eval_func_w0} - -\item -typedef EOT::Fitness {\bf EOFit\-T}\label{classeo_eval_func_w1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Eval\-Func$<$ EOT $>$} - -Evaluate: takes one {\bf EO}{\rm (p.\,\pageref{class_e_o})} and sets its \char`\"{}fitness\char`\"{} property returning this fitness also. - -That is why EOT is passed by non-const reference: it must be altered within evaluate.$\backslash$ - -The requirements on the types with which this class is to be instantiated with are null, or else, they depend on the particular class it's going to be applied to; {\bf EO}{\rm (p.\,\pageref{class_e_o})} does not impose any requirement on it. If you subclass this abstract class, and use it to evaluate an {\bf EO}{\rm (p.\,\pageref{class_e_o})}, the requirements on this {\bf EO}{\rm (p.\,\pageref{class_e_o})} will depend on the evaluator. - - - -Definition at line 41 of file eo\-Eval\-Func.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Eval\-Func.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_eval_func_counter.eps b/trunk/paradiseo-eo/doc/latex/classeo_eval_func_counter.eps deleted file mode 100644 index d9e1a89b1..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_eval_func_counter.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 128.824 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.88125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEvalFuncCounter< EOT >) cw -(eoEvalFunc< EOT >) cw -(eoValueParam< unsigned long >) cw -(eoUF< EOT &, void >) cw -(eoParam) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEvalFuncCounter< EOT >) 1 0 box - (eoEvalFunc< EOT >) 0.5 1 box - (eoValueParam< unsigned long >) 1.5 1 box - (eoUF< EOT &, void >) 0.5 2 box - (eoParam) 1.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EOT &, void >) 1 3 box - -% ----- relations ----- - -solid -0 1 0 out -solid -0.5 1.5 1 conn -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 1.5 1 in -solid -0 1.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 1.5 2 in -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_eval_func_counter.tex b/trunk/paradiseo-eo/doc/latex/classeo_eval_func_counter.tex deleted file mode 100644 index 3e4c6de4b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_eval_func_counter.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-Eval\-Func\-Counter$<$ EOT $>$ Class Template Reference} -\label{classeo_eval_func_counter}\index{eoEvalFuncCounter@{eoEvalFuncCounter}} -Counts the number of evaluations actually performed, thus checks first if it has to evaluate.. - - -{\tt \#include $<$eo\-Eval\-Func\-Counter.h$>$} - -Inheritance diagram for eo\-Eval\-Func\-Counter$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.60709cm]{classeo_eval_func_counter} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Eval\-Func\-Counter} ({\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-func, std::string \_\-name=\char`\"{}Eval. \char`\"{})\label{classeo_eval_func_counter_a0} - -\item -virtual void {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_eval_func_counter_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf func}\label{classeo_eval_func_counter_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Eval\-Func\-Counter$<$ EOT $>$} - -Counts the number of evaluations actually performed, thus checks first if it has to evaluate.. - -etc. - - - -Definition at line 37 of file eo\-Eval\-Func\-Counter.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Eval\-Func\-Counter.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_expansion_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_expansion_mutation.eps deleted file mode 100644 index d88c282c8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_expansion_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 76.6284 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.525 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoExpansionMutation< FType, Node >) cw -(eoMonOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoExpansionMutation< FType, Node >) 0.5 0 box - (eoMonOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoUF< eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_expansion_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_expansion_mutation.tex deleted file mode 100644 index 42ee72c99..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_expansion_mutation.tex +++ /dev/null @@ -1,91 +0,0 @@ -\section{eo\-Expansion\-Mutation$<$ FType, Node $>$ Class Template Reference} -\label{classeo_expansion_mutation}\index{eoExpansionMutation@{eoExpansionMutation}} -eo\-Expansion\-Mutation --$>$ replace a terminal with a randomly created subtree - - -{\tt \#include $<$gp/eo\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-Expansion\-Mutation$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.14559cm]{classeo_expansion_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_expansion_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Expansion\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \&\_\-init, unsigned \_\-max\_\-length) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_expansion_mutation_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Expansion\-Mutation} ()\label{classeo_expansion_mutation_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1) -\begin{CompactList}\small\item\em Mutate an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-length}\label{classeo_expansion_mutation_r0} - -\item -{\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\bf initializer}\label{classeo_expansion_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-Expansion\-Mutation$<$ FType, Node $>$} - -eo\-Expansion\-Mutation --$>$ replace a terminal with a randomly created subtree - - - -Definition at line 204 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoExpansionMutation@{eo\-Expansion\-Mutation}!eoExpansionMutation@{eoExpansionMutation}} -\index{eoExpansionMutation@{eoExpansionMutation}!eoExpansionMutation@{eo\-Expansion\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Expansion\-Mutation}$<$ FType, Node $>$::{\bf eo\-Expansion\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\em \_\-init}, unsigned {\em \_\-max\_\-length})\hspace{0.3cm}{\tt [inline]}}\label{classeo_expansion_mutation_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-init}]An instantiation of eo\-Gp\-Depth\-Initializer \item[{\em \_\-max\_\-length}]the maximum size of an individual \end{description} -\end{Desc} - - -Definition at line 215 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Member Function Documentation} -\index{eoExpansionMutation@{eo\-Expansion\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoExpansionMutation@{eo\-Expansion\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ bool {\bf eo\-Expansion\-Mutation}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-eo1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_expansion_mutation_a3} - - -Mutate an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The individual that is to be changed \end{description} -\end{Desc} - - -Definition at line 228 of file eo\-Parse\-Tree\-Op.h. - -References eo\-Parse\-Tree$<$ FType, Node $>$::prune\-Tree(), and eo\-Rng::random(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_external_bin_op.eps deleted file mode 100644 index 5c96f88d8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 73.0594 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.84375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoExternalBinOp< F, External, ExternalEO >) cw -(eoBinOp< ExternalEO >) cw -(eoOp< ExternalEO >) cw -(eoBF< ExternalEO &, const ExternalEO &, bool >) cw -(eoFunctorBase) cw -(binary_function< ExternalEO &, const ExternalEO &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoExternalBinOp< F, External, ExternalEO >) 0.5 0 box - (eoBinOp< ExternalEO >) 0.5 1 box - (eoOp< ExternalEO >) 0 2 box - (eoBF< ExternalEO &, const ExternalEO &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< ExternalEO &, const ExternalEO &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_external_bin_op.tex deleted file mode 100644 index a3a107fdb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_bin_op.tex +++ /dev/null @@ -1,46 +0,0 @@ -\section{eo\-External\-Bin\-Op$<$ F, External, External\-EO $>$ Class Template Reference} -\label{classeo_external_bin_op}\index{eoExternalBinOp@{eoExternalBinOp}} -Crossover of external struct, ctor expects a function of the following signature:. - - -{\tt \#include $<$eo\-External\-Op\-Functions.h$>$} - -Inheritance diagram for eo\-External\-Bin\-Op$<$ F, External, External\-EO $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.04566cm]{classeo_external_bin_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-External\-Bin\-Op} (bool($\ast$\_\-binop)(External \&, const External \&))\label{classeo_external_bin_op_a0} - -\item -bool {\bf operator()} (External\-EO \&eo1, const External\-EO \&eo2)\label{classeo_external_bin_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -bool($\ast$ {\bf binop} )(External \&, const External \&)\label{classeo_external_bin_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class F, class External, class External\-EO = eo\-External\-EO$<$F, External$>$$>$ class eo\-External\-Bin\-Op$<$ F, External, External\-EO $>$} - -Crossover of external struct, ctor expects a function of the following signature:. - -bool func(External\&, const External\&); - -Where External is the user defined struct or class The function should return true when it changed something, false otherwise - - - -Definition at line 128 of file eo\-External\-Op\-Functions.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-External\-Op\-Functions.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_e_o.eps b/trunk/paradiseo-eo/doc/latex/classeo_external_e_o.eps deleted file mode 100644 index 5b36980d6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_e_o.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 209.424 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.3875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoExternalEO< Fit, External >) cw -(EO< Fit >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoExternalEO< Fit, External >) 0.5 0 box - (EO< Fit >) 0.5 1 box - (eoObject) 0 2 box - (eoPersistent) 1 2 box - (eoPrintable) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_e_o.tex b/trunk/paradiseo-eo/doc/latex/classeo_external_e_o.tex deleted file mode 100644 index abbd9255a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_e_o.tex +++ /dev/null @@ -1,64 +0,0 @@ -\section{eo\-External\-EO$<$ Fit, External $>$ Class Template Reference} -\label{classeo_external_e_o}\index{eoExternalEO@{eoExternalEO}} -Definition of an object that allows an external struct to be inserted in {\bf EO}{\rm (p.\,\pageref{class_e_o})}. - - -{\tt \#include $<$eo\-External\-EO.h$>$} - -Inheritance diagram for eo\-External\-EO$<$ Fit, External $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_external_e_o} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-External\-EO} (const External \&ext)\label{classeo_external_e_o_a1} - -\begin{CompactList}\small\item\em Init external\-Eo with the struct itself and set fitness to zero. \item\end{CompactList}\item -{\bf eo\-External\-EO} (std::istream \&is, const External \&ext)\label{classeo_external_e_o_a2} - -\item -virtual void {\bf read\-From} (std::istream \&\_\-is)\label{classeo_external_e_o_a3} - -\begin{CompactList}\small\item\em Read object, the external struct needs to have an operator$>$$>$ defined. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit, class External$>$ class eo\-External\-EO$<$ Fit, External $>$} - -Definition of an object that allows an external struct to be inserted in {\bf EO}{\rm (p.\,\pageref{class_e_o})}. - -This struct or class can be of any form, the only thing this class does is attach a fitness value to it and makes it the appropriate type (derives it from {\bf EO}{\rm (p.\,\pageref{class_e_o})}). - - - -Definition at line 39 of file eo\-External\-EO.h. - -\subsection{Member Function Documentation} -\index{eoExternalEO@{eo\-External\-EO}!printOn@{printOn}} -\index{printOn@{printOn}!eoExternalEO@{eo\-External\-EO}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit, class External$>$ virtual void {\bf eo\-External\-EO}$<$ Fit, External $>$::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_external_e_o_a4} - - -Write object. - -Called print\-On since it prints the object \_\-on\_\- a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Reimplemented from {\bf EO$<$ Fit $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}. - -Definition at line 69 of file eo\-External\-EO.h. - -References EO$<$ F $>$::print\-On(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-External\-EO.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_eval_func.eps b/trunk/paradiseo-eo/doc/latex/classeo_external_eval_func.eps deleted file mode 100644 index b3b22249e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_eval_func.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 136.054 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.675 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoExternalEvalFunc< F, External, ExternalEO >) cw -(eoEvalFunc< ExternalEO >) cw -(eoUF< ExternalEO &, void >) cw -(eoFunctorBase) cw -(unary_function< ExternalEO &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoExternalEvalFunc< F, External, ExternalEO >) 0.5 0 box - (eoEvalFunc< ExternalEO >) 0.5 1 box - (eoUF< ExternalEO &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< ExternalEO &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_eval_func.tex b/trunk/paradiseo-eo/doc/latex/classeo_external_eval_func.tex deleted file mode 100644 index 616f120c9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_eval_func.tex +++ /dev/null @@ -1,46 +0,0 @@ -\section{eo\-External\-Eval\-Func$<$ F, External, External\-EO $>$ Class Template Reference} -\label{classeo_external_eval_func}\index{eoExternalEvalFunc@{eoExternalEvalFunc}} -Evaluation of external struct, ctor expects a function of the following signature:. - - -{\tt \#include $<$eo\-External\-Op\-Functions.h$>$} - -Inheritance diagram for eo\-External\-Eval\-Func$<$ F, External, External\-EO $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.80952cm]{classeo_external_eval_func} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-External\-Eval\-Func} (F($\ast$\_\-eval)(const External \&))\label{classeo_external_eval_func_a0} - -\item -void {\bf operator()} (External\-EO \&eo)\label{classeo_external_eval_func_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -F($\ast$ {\bf eval} )(const External \&)\label{classeo_external_eval_func_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class F, class External, class External\-EO = eo\-External\-EO$<$F, External$>$$>$ class eo\-External\-Eval\-Func$<$ F, External, External\-EO $>$} - -Evaluation of external struct, ctor expects a function of the following signature:. - -Fit func(External\&); - -Where External is the user defined struct or class and Fit the fitness type - - - -Definition at line 73 of file eo\-External\-Op\-Functions.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-External\-Op\-Functions.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_external_init.eps deleted file mode 100644 index bafdcb4e3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 156.25 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.2 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoExternalInit< F, External, ExternalEO >) cw -(eoInit< ExternalEO >) cw -(eoUF< ExternalEO &, void >) cw -(eoFunctorBase) cw -(unary_function< ExternalEO &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoExternalInit< F, External, ExternalEO >) 0.5 0 box - (eoInit< ExternalEO >) 0.5 1 box - (eoUF< ExternalEO &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< ExternalEO &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_external_init.tex deleted file mode 100644 index bcd13e9d4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_init.tex +++ /dev/null @@ -1,46 +0,0 @@ -\section{eo\-External\-Init$<$ F, External, External\-EO $>$ Class Template Reference} -\label{classeo_external_init}\index{eoExternalInit@{eoExternalInit}} -Initialization of external struct, ctor expects a function of the following signature:. - - -{\tt \#include $<$eo\-External\-Op\-Functions.h$>$} - -Inheritance diagram for eo\-External\-Init$<$ F, External, External\-EO $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_external_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-External\-Init} (External($\ast$\_\-init)(void))\label{classeo_external_init_a0} - -\item -void {\bf operator()} (External\-EO \&\_\-eo)\label{classeo_external_init_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -External($\ast$ {\bf init} )(void)\label{classeo_external_init_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class F, class External, class External\-EO = eo\-External\-EO$<$F, External$>$$>$ class eo\-External\-Init$<$ F, External, External\-EO $>$} - -Initialization of external struct, ctor expects a function of the following signature:. - -External func(); - -Where External is the user defined struct or class - - - -Definition at line 45 of file eo\-External\-Op\-Functions.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-External\-Op\-Functions.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_mon_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_external_mon_op.eps deleted file mode 100644 index 322083eba..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_mon_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 94.5626 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.2875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoExternalMonOp< F, External, ExternalEO >) cw -(eoMonOp< ExternalEO >) cw -(eoOp< ExternalEO >) cw -(eoUF< ExternalEO &, bool >) cw -(eoFunctorBase) cw -(unary_function< ExternalEO &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoExternalMonOp< F, External, ExternalEO >) 0.5 0 box - (eoMonOp< ExternalEO >) 0.5 1 box - (eoOp< ExternalEO >) 0 2 box - (eoUF< ExternalEO &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< ExternalEO &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_mon_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_external_mon_op.tex deleted file mode 100644 index f0268be20..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_mon_op.tex +++ /dev/null @@ -1,46 +0,0 @@ -\section{eo\-External\-Mon\-Op$<$ F, External, External\-EO $>$ Class Template Reference} -\label{classeo_external_mon_op}\index{eoExternalMonOp@{eoExternalMonOp}} -Mutation of external struct, ctor expects a function of the following signature:. - - -{\tt \#include $<$eo\-External\-Op\-Functions.h$>$} - -Inheritance diagram for eo\-External\-Mon\-Op$<$ F, External, External\-EO $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.64775cm]{classeo_external_mon_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-External\-Mon\-Op} (bool($\ast$\_\-mutate)(External \&))\label{classeo_external_mon_op_a0} - -\item -bool {\bf operator()} (External\-EO \&eo)\label{classeo_external_mon_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -bool($\ast$ {\bf mutate} )(External \&)\label{classeo_external_mon_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class F, class External, class External\-EO = eo\-External\-EO$<$F, External$>$$>$ class eo\-External\-Mon\-Op$<$ F, External, External\-EO $>$} - -Mutation of external struct, ctor expects a function of the following signature:. - -bool func(External\&); - -Where External is the user defined struct or class. The function should return true when it changed something, false otherwise - - - -Definition at line 102 of file eo\-External\-Op\-Functions.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-External\-Op\-Functions.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_external_quad_op.eps deleted file mode 100644 index 1e0cbc74d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 80.8081 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.1875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoExternalQuadOp< F, External, ExternalEO >) cw -(eoQuadOp< ExternalEO >) cw -(eoOp< ExternalEO >) cw -(eoBF< ExternalEO &, ExternalEO &, bool >) cw -(eoFunctorBase) cw -(binary_function< ExternalEO &, ExternalEO &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoExternalQuadOp< F, External, ExternalEO >) 0.5 0 box - (eoQuadOp< ExternalEO >) 0.5 1 box - (eoOp< ExternalEO >) 0 2 box - (eoBF< ExternalEO &, ExternalEO &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< ExternalEO &, ExternalEO &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_external_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_external_quad_op.tex deleted file mode 100644 index acd703df2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_external_quad_op.tex +++ /dev/null @@ -1,46 +0,0 @@ -\section{eo\-External\-Quad\-Op$<$ F, External, External\-EO $>$ Class Template Reference} -\label{classeo_external_quad_op}\index{eoExternalQuadOp@{eoExternalQuadOp}} -Crossover of external struct, ctor expects a function of the following signature:. - - -{\tt \#include $<$eo\-External\-Op\-Functions.h$>$} - -Inheritance diagram for eo\-External\-Quad\-Op$<$ F, External, External\-EO $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.26263cm]{classeo_external_quad_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-External\-Quad\-Op} (bool($\ast$\_\-quadop)(External \&, External \&))\label{classeo_external_quad_op_a0} - -\item -bool {\bf operator()} (External\-EO \&eo1, External\-EO \&eo2)\label{classeo_external_quad_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -bool($\ast$ {\bf quadop} )(External \&, External \&)\label{classeo_external_quad_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class F, class External, class External\-EO = eo\-External\-EO$<$F, External$>$$>$ class eo\-External\-Quad\-Op$<$ F, External, External\-EO $>$} - -Crossover of external struct, ctor expects a function of the following signature:. - -bool func(External\&, External\&); - -Where External is the user defined struct or class The function should return true when it changed something, false otherwise - - - -Definition at line 154 of file eo\-External\-Op\-Functions.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-External\-Op\-Functions.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_f.eps b/trunk/paradiseo-eo/doc/latex/classeo_f.eps deleted file mode 100644 index 634be144d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_f.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 377.358 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoF< R >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoF< R >) 0 0 box - (eoFunctorBase) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_f.tex b/trunk/paradiseo-eo/doc/latex/classeo_f.tex deleted file mode 100644 index 603c4920e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_f.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-F$<$ R $>$ Class Template Reference} -\label{classeo_f}\index{eoF@{eoF}} -Basic Function. - - -{\tt \#include $<$eo\-Functor.h$>$} - -Inheritance diagram for eo\-F$<$ R $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_f} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef R {\bf result\_\-type}\label{classeo_f_w0} - -\begin{CompactList}\small\item\em the return type - probably useless .... \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-F} ()\label{classeo_f_a0} - -\begin{CompactList}\small\item\em virtual dtor here so there is no need to define it in derived classes \item\end{CompactList}\item -virtual R {\bf operator()} ()=0\label{classeo_f_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Functor\-Base::procedure\_\-tag} {\bf functor\_\-category} ()\label{classeo_f_e0} - -\begin{CompactList}\small\item\em tag to identify a procedure in compile time function selection functor\_\-category \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class R$>$ class eo\-F$<$ R $>$} - -Basic Function. - -Derive from this class when defining any procedure. It defines a result\_\-type that can be used to determine the return type Argument and result types can be any type including void for result\_\-type - - - -Definition at line 68 of file eo\-Functor.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Functor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_file_snapshot.eps b/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_file_snapshot.eps deleted file mode 100644 index 3688f92a5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_file_snapshot.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 549.451 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.91 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFDCFileSnapshot< EOT >) cw -(eoFileSnapshot) cw -(eoMonitor) cw -(eoF< eoMonitor & >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFDCFileSnapshot< EOT >) 0 0 box - (eoFileSnapshot) 0 1 box - (eoMonitor) 0 2 box - (eoF< eoMonitor & >) 0 3 box - (eoFunctorBase) 0 4 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in -solid -0 0 3 out -solid -1 0 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_file_snapshot.tex b/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_file_snapshot.tex deleted file mode 100644 index f647dff7a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_file_snapshot.tex +++ /dev/null @@ -1,55 +0,0 @@ -\section{eo\-FDCFile\-Snapshot$<$ EOT $>$ Class Template Reference} -\label{classeo_f_d_c_file_snapshot}\index{eoFDCFileSnapshot@{eoFDCFileSnapshot}} -Specific class for FDCStat monitoring: As I failed to have FDC stat as an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}, this is the trick to put the 2 {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})}$<$std::vector$<$double$>$ $>$ into a monitor This class does nothing else. - - -{\tt \#include $<$eo\-FDCStat.h$>$} - -Inheritance diagram for eo\-FDCFile\-Snapshot$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_f_d_c_file_snapshot} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-FDCFile\-Snapshot} ({\bf eo\-FDCStat}$<$ {\bf EOT} $>$ \&\_\-FDCstat, std::string \_\-dirname=\char`\"{}tmp\-FDC\char`\"{}, unsigned \_\-frequency=1, std::string \_\-filename=\char`\"{}FDC\char`\"{}, std::string \_\-delim=\char`\"{} \char`\"{}) -\begin{CompactList}\small\item\em Ctor: in addition to the parameters of the ctor of an {\bf eo\-File\-Snapshot}{\rm (p.\,\pageref{classeo_file_snapshot})} we need here an {\bf eo\-FDCStat}{\rm (p.\,\pageref{classeo_f_d_c_stat})}. \item\end{CompactList}\item -virtual void {\bf add} (const {\bf eo\-Param} \&\_\-param)\label{classeo_f_d_c_file_snapshot_a1} - -\begin{CompactList}\small\item\em just to be sure the add method is not called further \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-FDCStat}$<$ {\bf EOT} $>$ \& {\bf FDCstat}\label{classeo_f_d_c_file_snapshot_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-FDCFile\-Snapshot$<$ EOT $>$} - -Specific class for FDCStat monitoring: As I failed to have FDC stat as an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}, this is the trick to put the 2 {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})}$<$std::vector$<$double$>$ $>$ into a monitor This class does nothing else. - - - -Definition at line 111 of file eo\-FDCStat.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoFDCFileSnapshot@{eo\-FDCFile\-Snapshot}!eoFDCFileSnapshot@{eoFDCFileSnapshot}} -\index{eoFDCFileSnapshot@{eoFDCFileSnapshot}!eoFDCFileSnapshot@{eo\-FDCFile\-Snapshot}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-FDCFile\-Snapshot}$<$ {\bf EOT} $>$::{\bf eo\-FDCFile\-Snapshot} ({\bf eo\-FDCStat}$<$ {\bf EOT} $>$ \& {\em \_\-FDCstat}, std::string {\em \_\-dirname} = {\tt \char`\"{}tmpFDC\char`\"{}}, unsigned {\em \_\-frequency} = {\tt 1}, std::string {\em \_\-filename} = {\tt \char`\"{}FDC\char`\"{}}, std::string {\em \_\-delim} = {\tt \char`\"{}\ \char`\"{}})\hspace{0.3cm}{\tt [inline]}}\label{classeo_f_d_c_file_snapshot_a0} - - -Ctor: in addition to the parameters of the ctor of an {\bf eo\-File\-Snapshot}{\rm (p.\,\pageref{classeo_file_snapshot})} we need here an {\bf eo\-FDCStat}{\rm (p.\,\pageref{classeo_f_d_c_stat})}. - -The 2 std::vectors (distances to optimum and fitnesses) are added to the monitor so they can be processed later to a file - and eventually by gnuplot - -Definition at line 119 of file eo\-FDCStat.h. - -References eo\-File\-Snapshot::add(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-FDCStat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_stat.eps deleted file mode 100644 index e262b0325..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.613 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFDCStat< EOT >) cw -(eoStat< EOT, double >) cw -(eoValueParam< double >) cw -(eoStatBase< EOT >) cw -(eoParam) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFDCStat< EOT >) 0.5 0 box - (eoStat< EOT, double >) 0.5 1 box - (eoValueParam< double >) 0 2 box - (eoStatBase< EOT >) 1 2 box - (eoParam) 0 3 box - (eoUF< const eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< const eoPop< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_stat.tex deleted file mode 100644 index e1d4ec87e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_f_d_c_stat.tex +++ /dev/null @@ -1,63 +0,0 @@ -\section{eo\-FDCStat$<$ EOT $>$ Class Template Reference} -\label{classeo_f_d_c_stat}\index{eoFDCStat@{eoFDCStat}} -The FDC computation - stores the values into eo\-Value\-Param$<$EOT,double$>$ so they can be snapshot by some eo\-Gnuplot\-Snapshot ... - - -{\tt \#include $<$eo\-FDCStat.h$>$} - -Inheritance diagram for eo\-FDCStat$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15315cm]{classeo_f_d_c_stat} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-FDCStat} ({\bf eo\-Distance}$<$ {\bf EOT} $>$ \&\_\-dist, std::string \_\-description=\char`\"{}FDC\char`\"{})\label{classeo_f_d_c_stat_a0} - -\begin{CompactList}\small\item\em Ctor without the optimum. \item\end{CompactList}\item -{\bf eo\-FDCStat} ({\bf eo\-Distance}$<$ {\bf EOT} $>$ \&\_\-dist, {\bf EOT} \&\_\-the\-Best, std::string \_\-description=\char`\"{}FDC\char`\"{})\label{classeo_f_d_c_stat_a1} - -\begin{CompactList}\small\item\em Ctor with the optimum. \item\end{CompactList}\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_f_d_c_stat_a2} - -\begin{CompactList}\small\item\em Compute the FDC - either from best in pop, or from absolute best if it was passed in the constructor. \item\end{CompactList}\item -const {\bf eo\-Value\-Param}$<$ std::vector$<$ double $>$ $>$ \& {\bf the\-Dist} ()\label{classeo_f_d_c_stat_a3} - -\begin{CompactList}\small\item\em accessors to the private {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})}$<$std::vector$<$double$>$ $>$ \item\end{CompactList}\item -const {\bf eo\-Value\-Param}$<$ std::vector$<$ double $>$ $>$ \& {\bf the\-Fit} ()\label{classeo_f_d_c_stat_a4} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Distance}$<$ {\bf EOT} $>$ \& {\bf dist}\label{classeo_f_d_c_stat_r0} - -\item -{\bf EOT} {\bf the\-Best}\label{classeo_f_d_c_stat_r1} - -\item -bool {\bf bool\-Opt}\label{classeo_f_d_c_stat_r2} - -\item -{\bf eo\-Value\-Param}$<$ std::vector$<$ double $>$ $>$ {\bf dist\-To\-Best}\label{classeo_f_d_c_stat_r3} - -\item -{\bf eo\-Value\-Param}$<$ std::vector$<$ double $>$ $>$ {\bf fitnesses}\label{classeo_f_d_c_stat_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-FDCStat$<$ EOT $>$} - -The FDC computation - stores the values into eo\-Value\-Param$<$EOT,double$>$ so they can be snapshot by some eo\-Gnuplot\-Snapshot ... - - - -Definition at line 39 of file eo\-FDCStat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-FDCStat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_factory.eps b/trunk/paradiseo-eo/doc/latex/classeo_factory.eps deleted file mode 100644 index cb057335d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_factory.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 264.901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.8875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFactory< EOClass >) cw -(eoObject) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFactory< EOClass >) 0 0 box - (eoObject) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_factory.tex b/trunk/paradiseo-eo/doc/latex/classeo_factory.tex deleted file mode 100644 index 31b2aa956..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_factory.tex +++ /dev/null @@ -1,65 +0,0 @@ -\section{eo\-Factory$<$ EOClass $>$ Class Template Reference} -\label{classeo_factory}\index{eoFactory@{eoFactory}} -{\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory. - - -{\tt \#include $<$eo\-Factory.h$>$} - -Inheritance diagram for eo\-Factory$<$ EOClass $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_factory} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual EOClass $\ast$ {\bf make} (std::istream \&\_\-is)=0 -\begin{CompactList}\small\item\em Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. \item\end{CompactList}\end{CompactItemize} -\begin{Indent}{\bf ctors and dtors}\par -\begin{CompactItemize} -\item -{\bf eo\-Factory} ()\label{classeo_factory_z11_0} - -\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Factory} ()\label{classeo_factory_z11_1} - -\begin{CompactList}\small\item\em destructor \item\end{CompactList}\end{CompactItemize} -\end{Indent} -\begin{Indent}{\bf eo\-Object methods}\par -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const \label{classeo_factory_z13_0} - -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\end{CompactItemize} -\end{Indent} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOClass$>$ class eo\-Factory$<$ EOClass $>$} - -{\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory. - -A factory is used to create other objects. In particular, it can be used so that objects of that kind can180t be created in any other way. It should be instantiated with anything that needs a factory, like selectors or whatever; but the instance class should be the parent class from which all the object that are going to be created descend. This class basically defines an interface, as usual. The base factory class for each hierarchy should be redefined every time a new object is added to the hierarchy, which is not too good, but in any case, some code would have to be modified - - - -Definition at line 42 of file eo\-Factory.h. - -\subsection{Member Function Documentation} -\index{eoFactory@{eo\-Factory}!make@{make}} -\index{make@{make}!eoFactory@{eo\-Factory}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOClass$>$ virtual EOClass$\ast$ {\bf eo\-Factory}$<$ EOClass $>$::make (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [pure virtual]}}\label{classeo_factory_a0} - - -Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. - -Usually, the format for the std::istream will be$\backslash$ object\-Type parameter1 parameter2 ... parametern$\backslash$ - -Implemented in {\bf eo\-Op\-Sel\-Mason$<$ eo\-Class $>$} {\rm (p.\,\pageref{classeo_op_sel_mason_a0})}, {\bf eo\-Select\-Factory$<$ EOT $>$} {\rm (p.\,\pageref{classeo_select_factory_a0})}, and {\bf eo\-Bit\-Op\-Factory$<$ EOT $>$} {\rm (p.\,\pageref{classeo_bit_op_factory_a0})}. - -Referenced by eo\-Bit\-Op\-Factory$<$ EOT $>$::make(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Factory.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_file_monitor.eps b/trunk/paradiseo-eo/doc/latex/classeo_file_monitor.eps deleted file mode 100644 index 1029add91..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_file_monitor.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 729.927 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.685 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFileMonitor) cw -(eoMonitor) cw -(eoF< eoMonitor & >) cw -(eoFunctorBase) cw -(eoGnuplot1DMonitor) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFileMonitor) 0 1 box - (eoMonitor) 0 2 box - (eoF< eoMonitor & >) 0 3 box - (eoFunctorBase) 0 4 box - (eoGnuplot1DMonitor) 0 0 box - -% ----- relations ----- - -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in -solid -0 0 3 out -solid -1 0 4 in -solid -1 0 0.25 out -solid -0 0 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_file_monitor.tex b/trunk/paradiseo-eo/doc/latex/classeo_file_monitor.tex deleted file mode 100644 index 1bce4a2e3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_file_monitor.tex +++ /dev/null @@ -1,71 +0,0 @@ -\section{eo\-File\-Monitor Class Reference} -\label{classeo_file_monitor}\index{eoFileMonitor@{eoFileMonitor}} -Prints statistics to file. - - -{\tt \#include $<$eo\-File\-Monitor.h$>$} - -Inheritance diagram for eo\-File\-Monitor::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_file_monitor} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-File\-Monitor} (std::string \_\-filename, std::string \_\-delim=\char`\"{} \char`\"{}, bool \_\-keep=false, bool \_\-header=false)\label{classeo_file_monitor_a0} - -\item -virtual {\bf eo\-Monitor} \& {\bf operator()} (void)\label{classeo_file_monitor_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual {\bf eo\-Monitor} \& {\bf operator()} (std::ostream \&os)\label{classeo_file_monitor_a2} - -\item -void {\bf print\-Header} (void)\label{classeo_file_monitor_a3} - -\item -virtual void {\bf print\-Header} (std::ostream \&os)\label{classeo_file_monitor_a4} - -\item -virtual std::string {\bf get\-File\-Name} ()\label{classeo_file_monitor_a5} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::string {\bf filename}\label{classeo_file_monitor_r0} - -\item -std::string {\bf delim}\label{classeo_file_monitor_r1} - -\item -bool {\bf keep}\label{classeo_file_monitor_r2} - -\item -bool {\bf header}\label{classeo_file_monitor_r3} - -\item -bool {\bf firstcall}\label{classeo_file_monitor_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Prints statistics to file. - -Modified the default behavior, so that it erases existing files. Can be modified in the ctor. - -\begin{Desc} -\item[Version:]MS 25/11/00 \end{Desc} - - - - -Definition at line 44 of file eo\-File\-Monitor.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-File\-Monitor.h\item -eo\-File\-Monitor.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_file_snapshot.eps b/trunk/paradiseo-eo/doc/latex/classeo_file_snapshot.eps deleted file mode 100644 index ec05aa53f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_file_snapshot.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 274.725 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.82 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFileSnapshot) cw -(eoMonitor) cw -(eoF< eoMonitor & >) cw -(eoFunctorBase) cw -(eoFDCFileSnapshot< EOT >) cw -(eoGnuplot1DSnapshot) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFileSnapshot) 0.5 1 box - (eoMonitor) 0.5 2 box - (eoF< eoMonitor & >) 0.5 3 box - (eoFunctorBase) 0.5 4 box - (eoFDCFileSnapshot< EOT >) 0 0 box - (eoGnuplot1DSnapshot) 1 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -1 0.5 4 in -solid -1 0.5 0.25 out -solid -0 1 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_file_snapshot.tex b/trunk/paradiseo-eo/doc/latex/classeo_file_snapshot.tex deleted file mode 100644 index 949af6bac..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_file_snapshot.tex +++ /dev/null @@ -1,99 +0,0 @@ -\section{eo\-File\-Snapshot Class Reference} -\label{classeo_file_snapshot}\index{eoFileSnapshot@{eoFileSnapshot}} -Prints snapshots of fitnesses to a (new) file every N generations. - - -{\tt \#include $<$eo\-File\-Snapshot.h$>$} - -Inheritance diagram for eo\-File\-Snapshot::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_file_snapshot} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ double $>$ {\bf v\-Double}\label{classeo_file_snapshot_w0} - -\item -typedef {\bf eo\-Value\-Param}$<$ std::vector$<$ double $>$ $>$ {\bf v\-Double\-Param}\label{classeo_file_snapshot_w1} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-File\-Snapshot} (std::string \_\-dirname, unsigned \_\-frequency=1, std::string \_\-filename=\char`\"{}gen\char`\"{}, std::string \_\-delim=\char`\"{} \char`\"{}, unsigned \_\-counter=0, bool \_\-rm\-Files=true)\label{classeo_file_snapshot_a0} - -\item -virtual bool {\bf has\-Changed} ()\label{classeo_file_snapshot_a1} - -\begin{CompactList}\small\item\em accessor: has something changed (for gnuplot subclass) \item\end{CompactList}\item -unsigned {\bf get\-Counter} ()\label{classeo_file_snapshot_a2} - -\begin{CompactList}\small\item\em accessor to the counter: needed by the gnuplot subclass \item\end{CompactList}\item -std::string {\bf get\-File\-Name} ()\label{classeo_file_snapshot_a3} - -\begin{CompactList}\small\item\em accessor to the current filename: needed by the gnuplot subclass \item\end{CompactList}\item -void {\bf set\-Current\-File\-Name} ()\label{classeo_file_snapshot_a4} - -\begin{CompactList}\small\item\em sets the current filename depending on the counter \item\end{CompactList}\item -{\bf eo\-Monitor} \& {\bf operator()} (void)\label{classeo_file_snapshot_a5} - -\begin{CompactList}\small\item\em The operator(void): opens the std::ostream and calls the write method. \item\end{CompactList}\item -{\bf eo\-Monitor} \& {\bf operator()} (std::ostream \&\_\-os)\label{classeo_file_snapshot_a6} - -\begin{CompactList}\small\item\em The operator(): write on an std::ostream. \item\end{CompactList}\item -virtual const std::string {\bf get\-Dir\-Name} ()\label{classeo_file_snapshot_a7} - -\item -virtual const std::string {\bf base\-File\-Name} ()\label{classeo_file_snapshot_a8} - -\item -void {\bf add} (const {\bf eo\-Param} \&\_\-param)\label{classeo_file_snapshot_a9} - -\begin{CompactList}\small\item\em add checks whether it is a std::vector of doubles \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::string {\bf dirname}\label{classeo_file_snapshot_r0} - -\item -unsigned {\bf frequency}\label{classeo_file_snapshot_r1} - -\item -std::string {\bf filename}\label{classeo_file_snapshot_r2} - -\item -std::string {\bf delim}\label{classeo_file_snapshot_r3} - -\item -unsigned int {\bf counter}\label{classeo_file_snapshot_r4} - -\item -std::string {\bf current\-File\-Name}\label{classeo_file_snapshot_r5} - -\item -bool {\bf bool\-Changed}\label{classeo_file_snapshot_r6} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Prints snapshots of fitnesses to a (new) file every N generations. - -Assumes that the parameters that are passed to the monitor (method add in {\bf eo\-Monitor.h}{\rm (p.\,\pageref{eo_monitor_8h})}) are {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})}$<$std::vector$<$double$>$ $>$ of same size. - -A dir is created and one file per snapshot is created there - so you can later generate a movie! - -TODO: The counter is handled internally, but this should be changed so that you can pass e.g. an evalcounter (minor) - -I failed to templatize everything so that it can handle {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})}$<$std::vector$<$T$>$ $>$ for any type T, simply calling their get\-Value method ... - - - -Definition at line 53 of file eo\-File\-Snapshot.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-File\-Snapshot.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fit_continue.eps b/trunk/paradiseo-eo/doc/latex/classeo_fit_continue.eps deleted file mode 100644 index 403f2325a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fit_continue.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFitContinue< EOT >) cw -(eoContinue< EOT >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoPersistent) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, bool >) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFitContinue< EOT >) 1.25 0 box - (eoContinue< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, bool >) 0.5 2 box - (eoPersistent) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, bool >) 1 3 box - (eoPrintable) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fit_continue.tex b/trunk/paradiseo-eo/doc/latex/classeo_fit_continue.tex deleted file mode 100644 index d605f636d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fit_continue.tex +++ /dev/null @@ -1,68 +0,0 @@ -\section{eo\-Fit\-Continue$<$ EOT $>$ Class Template Reference} -\label{classeo_fit_continue}\index{eoFitContinue@{eoFitContinue}} -Fitness continuation:. - - -{\tt \#include $<$eo\-Fit\-Continue.h$>$} - -Inheritance diagram for eo\-Fit\-Continue$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_fit_continue} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness\-Type}\label{classeo_fit_continue_w0} - -\begin{CompactList}\small\item\em Define Fitness. \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fit\-Continue} (const {\bf Fitness\-Type} \_\-maximum)\label{classeo_fit_continue_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual bool {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Returns false when a fitness criterium is reached. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_fit_continue_a2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf Fitness\-Type} {\bf maximum}\label{classeo_fit_continue_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fit\-Continue$<$ EOT $>$} - -Fitness continuation:. - -Continues until the maximum fitness level is reached. - - - -Definition at line 36 of file eo\-Fit\-Continue.h. - -\subsection{Member Function Documentation} -\index{eoFitContinue@{eo\-Fit\-Continue}!operator()@{operator()}} -\index{operator()@{operator()}!eoFitContinue@{eo\-Fit\-Continue}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual bool {\bf eo\-Fit\-Continue}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_fit_continue_a1} - - -Returns false when a fitness criterium is reached. - -Assumes pop is not sorted! - -Implements {\bf eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 48 of file eo\-Fit\-Continue.h. - -References eo\-Pop$<$ EOT $>$::nth\_\-element\_\-fitness(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fit\-Continue.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fitness_scaling_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_fitness_scaling_select.eps deleted file mode 100644 index bf60c2f93..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fitness_scaling_select.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 173.41 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.88333 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 6 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFitnessScalingSelect< EOT >) cw -(eoRouletteWorthSelect< EOT, double >) cw -(eoSelectFromWorth< EOT, double >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFitnessScalingSelect< EOT >) 0.5 0 box - (eoRouletteWorthSelect< EOT, double >) 0.5 1 box - (eoSelectFromWorth< EOT, double >) 0.5 2 box - (eoSelectOne< EOT >) 0.5 3 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 4 box - (eoFunctorBase) 0 5 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 5 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -1 0.5 4 in -solid -0 0.5 4 out -solid -0 1 5 conn -solid -1 0 5 in -solid -1 1 5 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fitness_scaling_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_fitness_scaling_select.tex deleted file mode 100644 index 4408edeea..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fitness_scaling_select.tex +++ /dev/null @@ -1,55 +0,0 @@ -\section{eo\-Fitness\-Scaling\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_fitness_scaling_select}\index{eoFitnessScalingSelect@{eoFitnessScalingSelect}} -eo\-Fitness\-Scaling\-Select: select an individual proportional to the linearly scaled fitness that is computed by the private {\bf eo\-Linear\-Fit\-Scaling}{\rm (p.\,\pageref{classeo_linear_fit_scaling})} object - - -{\tt \#include $<$eo\-Fitness\-Scaling\-Select.h$>$} - -Inheritance diagram for eo\-Fitness\-Scaling\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4.85549cm]{classeo_fitness_scaling_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fitness\-Scaling\-Select} (double \_\-p=2.0) -\begin{CompactList}\small\item\em Ctor:. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Linear\-Fit\-Scaling}$<$ {\bf EOT} $>$ {\bf scaling}\label{classeo_fitness_scaling_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fitness\-Scaling\-Select$<$ EOT $>$} - -eo\-Fitness\-Scaling\-Select: select an individual proportional to the linearly scaled fitness that is computed by the private {\bf eo\-Linear\-Fit\-Scaling}{\rm (p.\,\pageref{classeo_linear_fit_scaling})} object - - - -Definition at line 40 of file eo\-Fitness\-Scaling\-Select.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoFitnessScalingSelect@{eo\-Fitness\-Scaling\-Select}!eoFitnessScalingSelect@{eoFitnessScalingSelect}} -\index{eoFitnessScalingSelect@{eoFitnessScalingSelect}!eoFitnessScalingSelect@{eo\-Fitness\-Scaling\-Select}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Fitness\-Scaling\-Select}$<$ {\bf EOT} $>$::{\bf eo\-Fitness\-Scaling\-Select} (double {\em \_\-p} = {\tt 2.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_fitness_scaling_select_a0} - - -Ctor:. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-p}]the selective pressure, should be in [1,2] (2 is the default) \end{description} -\end{Desc} - - -Definition at line 46 of file eo\-Fitness\-Scaling\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fitness\-Scaling\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fitness_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_fitness_stat.eps deleted file mode 100644 index e2e42c20b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fitness_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.3242 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.475 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFitnessStat< EOT, FitT >) cw -(eoSortedStat< EOT, std::vector< FitT > >) cw -(eoSortedStatBase< EOT >) cw -(eoValueParam< std::vector< FitT > >) cw -(eoUF< const std::vector< const EOT * > &, void >) cw -(eoParam) cw -(eoFunctorBase) cw -(unary_function< const std::vector< const EOT * > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFitnessStat< EOT, FitT >) 1 0 box - (eoSortedStat< EOT, std::vector< FitT > >) 1 1 box - (eoSortedStatBase< EOT >) 0.5 2 box - (eoValueParam< std::vector< FitT > >) 1.5 2 box - (eoUF< const std::vector< const EOT * > &, void >) 0.5 3 box - (eoParam) 1.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< const std::vector< const EOT * > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 1.5 2 in -solid -0 1.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 1.5 3 in -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fitness_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_fitness_stat.tex deleted file mode 100644 index 282a317c3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fitness_stat.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Fitness\-Stat$<$ EOT, Fit\-T $>$ Class Template Reference} -\label{classeo_fitness_stat}\index{eoFitnessStat@{eoFitnessStat}} -The fitnesses of a whole population, as a vector. - - -{\tt \#include $<$eo\-MOFitness\-Stat.h$>$} - -Inheritance diagram for eo\-Fitness\-Stat$<$ EOT, Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.55708cm]{classeo_fitness_stat} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fitness\-Stat} (std::string \_\-description=\char`\"{}All\-Fitnesses\char`\"{})\label{classeo_fitness_stat_a0} - -\item -virtual void {\bf operator()} (const std::vector$<$ const {\bf EOT} $\ast$ $>$ \&\_\-pop\-Pters)\label{classeo_fitness_stat_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Fit\-T = typename EOT::Fitness$>$ class eo\-Fitness\-Stat$<$ EOT, Fit\-T $>$} - -The fitnesses of a whole population, as a vector. - - - -Definition at line 36 of file eo\-MOFitness\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-MOFitness\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_bin_op.eps deleted file mode 100644 index 090857e51..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOr1ptBinOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOr1ptBinOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_bin_op.tex deleted file mode 100644 index dd625ff07..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_bin_op.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Fl\-Or1pt\-Bin\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or1pt_bin_op}\index{eoFlOr1ptBinOp@{eoFlOr1ptBinOp}} -The 1pt crossover (just in case someone wants it some day!). - - -{\tt \#include $<$eo\-Fl\-Or\-Bin\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or1pt\-Bin\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_fl_or1pt_bin_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or1pt_bin_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vl\-Uniform\-Bin\-Op} ()\label{classeo_fl_or1pt_bin_op_a0} - -\begin{CompactList}\small\item\em default ctor: no argument \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2)\label{classeo_fl_or1pt_bin_op_a1} - -\begin{CompactList}\small\item\em exchanges first and second parts of the vectors of Atoms \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_fl_or1pt_bin_op_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or1pt_bin_op_a2})} \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or1pt\-Bin\-Op$<$ EOT $>$} - -The 1pt crossover (just in case someone wants it some day!). - - - -Definition at line 181 of file eo\-Fl\-Or\-Bin\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Bin\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_quad_op.eps deleted file mode 100644 index a18d0fa7e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOr1ptQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOr1ptQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_quad_op.tex deleted file mode 100644 index 882add8d0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or1pt_quad_op.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Fl\-Or1pt\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or1pt_quad_op}\index{eoFlOr1ptQuadOp@{eoFlOr1ptQuadOp}} -The 1pt crossover (just in case someone wants it some day!). - - -{\tt \#include $<$eo\-Fl\-Or\-Quad\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or1pt\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_fl_or1pt_quad_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or1pt_quad_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vl\-Uniform\-Quad\-Op} ()\label{classeo_fl_or1pt_quad_op_a0} - -\begin{CompactList}\small\item\em default ctor: no argument \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2)\label{classeo_fl_or1pt_quad_op_a1} - -\begin{CompactList}\small\item\em exchanges first and second parts of the vectors of Atoms \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_fl_or1pt_quad_op_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or1pt_quad_op_a2})} \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or1pt\-Quad\-Op$<$ EOT $>$} - -The 1pt crossover (just in case someone wants it some day!). - - - -Definition at line 173 of file eo\-Fl\-Or\-Quad\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Quad\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_bin_op.eps deleted file mode 100644 index fd506a5c6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOrAllAtomBinOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOrAllAtomBinOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_bin_op.tex deleted file mode 100644 index e7175405f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_bin_op.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Fl\-Or\-All\-Atom\-Bin\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or_all_atom_bin_op}\index{eoFlOrAllAtomBinOp@{eoFlOrAllAtomBinOp}} -Bin Crossover using an Atom Crossover that is applied to a ALL components with given rate. - - -{\tt \#include $<$eo\-Fl\-Or\-Bin\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or\-All\-Atom\-Bin\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_fl_or_all_atom_bin_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or_all_atom_bin_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fl\-Or\-All\-Atom\-Bin\-Op} ({\bf eo\-Bin\-Op}$<$ Atom\-Type $>$ \&\_\-op, float \_\-rate=1.0)\label{classeo_fl_or_all_atom_bin_op_a0} - -\begin{CompactList}\small\item\em default ctor: requires an Atom Bin\-Op \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, const {\bf EOT} \&\_\-eo2)\label{classeo_fl_or_all_atom_bin_op_a1} - -\begin{CompactList}\small\item\em applies Atom crossover to ALL components with given rate \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_fl_or_all_atom_bin_op_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or_all_atom_bin_op_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rate}\label{classeo_fl_or_all_atom_bin_op_r0} - -\item -{\bf eo\-Bin\-Op}$<$ Atom\-Type $>$ \& {\bf op}\label{classeo_fl_or_all_atom_bin_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or\-All\-Atom\-Bin\-Op$<$ EOT $>$} - -Bin Crossover using an Atom Crossover that is applied to a ALL components with given rate. - - - -Definition at line 49 of file eo\-Fl\-Or\-Bin\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Bin\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_quad_op.eps deleted file mode 100644 index 319db7b6b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOrAllAtomQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOrAllAtomQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_quad_op.tex deleted file mode 100644 index fd71ec8ba..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_atom_quad_op.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Fl\-Or\-All\-Atom\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or_all_atom_quad_op}\index{eoFlOrAllAtomQuadOp@{eoFlOrAllAtomQuadOp}} -Quad Crossover using an Atom Crossover. - - -{\tt \#include $<$eo\-Fl\-Or\-Quad\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or\-All\-Atom\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_fl_or_all_atom_quad_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or_all_atom_quad_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fl\-Or\-All\-Atom\-Quad\-Op} ({\bf eo\-Quad\-Op}$<$ Atom\-Type $>$ \&\_\-op, double \_\-rate=1)\label{classeo_fl_or_all_atom_quad_op_a0} - -\begin{CompactList}\small\item\em default ctor: requires an Atom Quad\-Op \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2)\label{classeo_fl_or_all_atom_quad_op_a1} - -\begin{CompactList}\small\item\em applies Atom crossover to ALL components with given rate \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_fl_or_all_atom_quad_op_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or_all_atom_quad_op_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rate}\label{classeo_fl_or_all_atom_quad_op_r0} - -\item -{\bf eo\-Quad\-Op}$<$ Atom\-Type $>$ \& {\bf op}\label{classeo_fl_or_all_atom_quad_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or\-All\-Atom\-Quad\-Op$<$ EOT $>$} - -Quad Crossover using an Atom Crossover. - - - -Definition at line 46 of file eo\-Fl\-Or\-Quad\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Quad\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_mutation.eps deleted file mode 100644 index 58fa6e122..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOrAllMutation< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOrAllMutation< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_mutation.tex deleted file mode 100644 index 255f811ab..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_all_mutation.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Fl\-Or\-All\-Mutation$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or_all_mutation}\index{eoFlOrAllMutation@{eoFlOrAllMutation}} -applies an atomic mutation to all the components with a given rate - - -{\tt \#include $<$eo\-Fl\-Or\-Mon\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or\-All\-Mutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_fl_or_all_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or_all_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fl\-Or\-All\-Mutation} ({\bf eo\-Mon\-Op}$<$ Atom\-Type $>$ \&\_\-atom\-Mutation, double \_\-rate=1.0)\label{classeo_fl_or_all_mutation_a0} - -\begin{CompactList}\small\item\em default ctor: requires an Atom mutation and a rate \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_fl_or_all_mutation_a1} - -\begin{CompactList}\small\item\em applies the atom mutation to all components with given rate \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_fl_or_all_mutation_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or_all_mutation_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Mon\-Op}$<$ Atom\-Type $>$ \& {\bf atom\-Mutation}\label{classeo_fl_or_all_mutation_r0} - -\item -double {\bf rate}\label{classeo_fl_or_all_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or\-All\-Mutation$<$ EOT $>$} - -applies an atomic mutation to all the components with a given rate - - - -Definition at line 45 of file eo\-Fl\-Or\-Mon\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Mon\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_bin_op.eps deleted file mode 100644 index b8ce1be52..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOrKAtomBinOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOrKAtomBinOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_bin_op.tex deleted file mode 100644 index d97ed3832..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_bin_op.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Fl\-Or\-KAtom\-Bin\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or_k_atom_bin_op}\index{eoFlOrKAtomBinOp@{eoFlOrKAtomBinOp}} -Bin Crossover using an Atom Crossover that is applied to a FIXED NB of components. - - -{\tt \#include $<$eo\-Fl\-Or\-Bin\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or\-KAtom\-Bin\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_fl_or_k_atom_bin_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or_k_atom_bin_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fl\-Or\-Atom\-Bin\-Op} ({\bf eo\-Bin\-Op}$<$ Atom\-Type $>$ \&\_\-op, unsigned \_\-k=1)\label{classeo_fl_or_k_atom_bin_op_a0} - -\begin{CompactList}\small\item\em default ctor: requires an Atom Bin\-Op and an unsigned \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, const {\bf EOT} \&\_\-eo2)\label{classeo_fl_or_k_atom_bin_op_a1} - -\begin{CompactList}\small\item\em applies the Atom Bin\-Op to some components \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_fl_or_k_atom_bin_op_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or_k_atom_bin_op_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf k}\label{classeo_fl_or_k_atom_bin_op_r0} - -\item -{\bf eo\-Bin\-Op}$<$ Atom\-Type $>$ \& {\bf op}\label{classeo_fl_or_k_atom_bin_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or\-KAtom\-Bin\-Op$<$ EOT $>$} - -Bin Crossover using an Atom Crossover that is applied to a FIXED NB of components. - - - -Definition at line 92 of file eo\-Fl\-Or\-Bin\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Bin\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_quad_op.eps deleted file mode 100644 index 47149650c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOrKAtomQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOrKAtomQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_quad_op.tex deleted file mode 100644 index 238670b64..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_atom_quad_op.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Fl\-Or\-KAtom\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or_k_atom_quad_op}\index{eoFlOrKAtomQuadOp@{eoFlOrKAtomQuadOp}} -Quad Crossover using an Atom Crossover that is applied to a FIXED NB of components. - - -{\tt \#include $<$eo\-Fl\-Or\-Quad\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or\-KAtom\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_fl_or_k_atom_quad_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or_k_atom_quad_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fl\-Or\-Atom\-Quad\-Op} ({\bf eo\-Quad\-Op}$<$ Atom\-Type $>$ \&\_\-op, unsigned \_\-k=1)\label{classeo_fl_or_k_atom_quad_op_a0} - -\begin{CompactList}\small\item\em default ctor: requires an Atom Quad\-Op and an unsigned \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, const {\bf EOT} \&\_\-eo2)\label{classeo_fl_or_k_atom_quad_op_a1} - -\begin{CompactList}\small\item\em applies the Atom Quad\-Op to some components \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_fl_or_k_atom_quad_op_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or_k_atom_quad_op_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf k}\label{classeo_fl_or_k_atom_quad_op_r0} - -\item -{\bf eo\-Quad\-Op}$<$ Atom\-Type $>$ \& {\bf op}\label{classeo_fl_or_k_atom_quad_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or\-KAtom\-Quad\-Op$<$ EOT $>$} - -Quad Crossover using an Atom Crossover that is applied to a FIXED NB of components. - - - -Definition at line 84 of file eo\-Fl\-Or\-Quad\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Quad\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_mutation.eps deleted file mode 100644 index c233db3e2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOrKMutation< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOrKMutation< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_mutation.tex deleted file mode 100644 index 177fc98c4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_k_mutation.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Fl\-Or\-KMutation$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or_k_mutation}\index{eoFlOrKMutation@{eoFlOrKMutation}} -Applies an atomic mutation to a fixed number of components (1 by default). - - -{\tt \#include $<$eo\-Fl\-Or\-Mon\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or\-KMutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_fl_or_k_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or_k_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fl\-Or\-KMutation} ({\bf eo\-Mon\-Op}$<$ Atom\-Type $>$ \&\_\-atom\-Mutation, unsigned \_\-nb=1)\label{classeo_fl_or_k_mutation_a0} - -\begin{CompactList}\small\item\em default ctor: requires an Atom mutation \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_fl_or_k_mutation_a1} - -\begin{CompactList}\small\item\em applies the atom mutation to K randomly selected components \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_fl_or_k_mutation_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or_k_mutation_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf nb}\label{classeo_fl_or_k_mutation_r0} - -\item -{\bf eo\-Mon\-Op}$<$ Atom\-Type $>$ \& {\bf atom\-Mutation}\label{classeo_fl_or_k_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or\-KMutation$<$ EOT $>$} - -Applies an atomic mutation to a fixed number of components (1 by default). - - - -Definition at line 82 of file eo\-Fl\-Or\-Mon\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Mon\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_bin_op.eps deleted file mode 100644 index e1a56b908..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOrUniformBinOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOrUniformBinOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_bin_op.tex deleted file mode 100644 index c7cf459db..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_bin_op.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Fl\-Or\-Uniform\-Bin\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or_uniform_bin_op}\index{eoFlOrUniformBinOp@{eoFlOrUniformBinOp}} -The uniform crossover - exchanges atoms uniformly ! - - -{\tt \#include $<$eo\-Fl\-Or\-Bin\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or\-Uniform\-Bin\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_fl_or_uniform_bin_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or_uniform_bin_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Fl\-Or\-Uniform\-Bin\-Op} (double \_\-rate=0.5)\label{classeo_fl_or_uniform_bin_op_a0} - -\begin{CompactList}\small\item\em default ctor: requires a rate - 0.5 by default \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, const {\bf EOT} \&\_\-eo2)\label{classeo_fl_or_uniform_bin_op_a1} - -\begin{CompactList}\small\item\em excahnges atoms at given rate \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_fl_or_uniform_bin_op_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or_uniform_bin_op_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rate}\label{classeo_fl_or_uniform_bin_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or\-Uniform\-Bin\-Op$<$ EOT $>$} - -The uniform crossover - exchanges atoms uniformly ! - - - -Definition at line 136 of file eo\-Fl\-Or\-Bin\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Bin\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_quad_op.eps deleted file mode 100644 index 31e6d2cbd..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFlOrUniformQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFlOrUniformQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_quad_op.tex deleted file mode 100644 index 32d31c162..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_fl_or_uniform_quad_op.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Fl\-Or\-Uniform\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_fl_or_uniform_quad_op}\index{eoFlOrUniformQuadOp@{eoFlOrUniformQuadOp}} -The uniform crossover - exchanges atoms uniformly ! - - -{\tt \#include $<$eo\-Fl\-Or\-Quad\-Op.h$>$} - -Inheritance diagram for eo\-Fl\-Or\-Uniform\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_fl_or_uniform_quad_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_fl_or_uniform_quad_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vl\-Uniform\-Quad\-Op} (double \_\-rate=0.5)\label{classeo_fl_or_uniform_quad_op_a0} - -\begin{CompactList}\small\item\em default ctor: requires a rate - 0.5 by default \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2)\label{classeo_fl_or_uniform_quad_op_a1} - -\begin{CompactList}\small\item\em excahnges atoms at given rate \item\end{CompactList}\item -virtual string {\bf class\-Name} () const \label{classeo_fl_or_uniform_quad_op_a2} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_fl_or_uniform_quad_op_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rate}\label{classeo_fl_or_uniform_quad_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Fl\-Or\-Uniform\-Quad\-Op$<$ EOT $>$} - -The uniform crossover - exchanges atoms uniformly ! - - - -Definition at line 127 of file eo\-Fl\-Or\-Quad\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Fl\-Or\-Quad\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_functor_base.eps b/trunk/paradiseo-eo/doc/latex/classeo_functor_base.eps deleted file mode 100644 index 505a1e213..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_functor_base.eps +++ /dev/null @@ -1,558 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 1260.65 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.396622 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 74 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFunctorBase) cw -(eoBF< A1, A2, R >) cw -(eoBF< Chrom &, Chrom &, bool >) cw -(eoBF< const Dummy &, const Dummy &, double >) cw -(eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void >) cw -(eoBF< const EOT &, const EOT &, double >) cw -(eoBF< double &, const double &, bool >) cw -(eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >) cw -(eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoBF< eoPop< EoType > &, eoPop< EoType > &, void >) cw -(eoBF< eoPop< PyEO > &, unsigned, void >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoBF< EOType &, const EOType &, bool >) cw -(eoBF< EoType &, const EoType &, bool >) cw -(eoBF< EoType &, EoType &, bool >) cw -(eoBF< EOType &, EOType &, bool >) cw -(eoBF< eoVirus< FitT > &, const eoVirus< FitT > &, bool >) cw -(eoBF< ExternalEO &, const ExternalEO &, bool >) cw -(eoBF< ExternalEO &, ExternalEO &, bool >) cw -(eoBF< GenotypeT &, GenotypeT &, bool >) cw -(eoBF< PyEO &, const PyEO &, bool >) cw -(eoBF< PyEO &, PyEO &, bool >) cw -(eoBF< unsigned, Atom &, bool >) cw -(eoF< R >) cw -(eoF< bool >) cw -(eoF< eoMonitor & >) cw -(eoF< EOT >) cw -(eoF< int >) cw -(eoF< T >) cw -(eoF< void >) cw -(eoUF< A1, R >) cw -(eoUF< bool &, bool >) cw -(eoUF< bool &, void >) cw -(eoUF< Chrom &, bool >) cw -(eoUF< Chrom &, void >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoUF< const eoPop< EoType > &, void >) cw -(eoUF< const eoPop< PyEO > &, const PyEO & >) cw -(eoUF< const eoPop< PyEO > &, void >) cw -(eoUF< const std::vector< const EOT * > &, void >) cw -(eoUF< const std::vector< const EoType * > &, void >) cw -(eoUF< const std::vector< const PyEO * > &, void >) cw -(eoUF< eoDistribution< EOT > &, void >) cw -(eoUF< eoDouble &, bool >) cw -(eoUF< eoDouble &, void >) cw -(eoUF< eoParseTree< FitnessType, Node > &, void >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoUF< eoParseTree< FType, Node > &, void >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoUF< eoPopulator< PyEO > &, void >) cw -(eoUF< EOT &, bool >) cw -(eoUF< EOT &, unsigned int >) cw -(eoUF< EOT &, void >) cw -(eoUF< EoType &, bool >) cw -(eoUF< EOType &, bool >) cw -(eoUF< EoType &, void >) cw -(eoUF< eoVector< FitT, double > &, void >) cw -(eoUF< eoVirus< FitT > &, bool >) cw -(eoUF< eoVirus< FitT > &, void >) cw -(eoUF< ExternalEO &, bool >) cw -(eoUF< ExternalEO &, void >) cw -(eoUF< GenotypeT &, bool >) cw -(eoUF< GenotypeT &, void >) cw -(eoUF< int &, void >) cw -(eoUF< PyEO &, bool >) cw -(eoUF< T &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFunctorBase) 0 73 box - (eoBF< A1, A2, R >) 1 72 box - (eoBF< Chrom &, Chrom &, bool >) 1 71 box -1 71 mark - (eoBF< const Dummy &, const Dummy &, double >) 1 70 box -1 70 mark - (eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void >) 1 69 box -1 69 mark - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 68 box -1 68 mark - (eoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void >) 1 67 box -1 67 mark - (eoBF< const EOT &, const EOT &, double >) 1 66 box -1 66 mark - (eoBF< double &, const double &, bool >) 1 65 box -1 65 mark - (eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >) 1 64 box -1 64 mark - (eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) 1 63 box -1 63 mark - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 1 62 box -1 62 mark - (eoBF< eoPop< EOT > &, unsigned, void >) 1 61 box -1 61 mark - (eoBF< eoPop< EoType > &, eoPop< EoType > &, void >) 1 60 box -1 60 mark - (eoBF< eoPop< PyEO > &, unsigned, void >) 1 59 box -1 59 mark - (eoBF< EOT &, const EOT &, bool >) 1 58 box -1 58 mark - (eoBF< EOT &, EOT &, bool >) 1 57 box -1 57 mark - (eoBF< EOType &, const EOType &, bool >) 1 56 box -1 56 mark - (eoBF< EoType &, const EoType &, bool >) 1 55 box -1 55 mark - (eoBF< EoType &, EoType &, bool >) 1 54 box -1 54 mark - (eoBF< EOType &, EOType &, bool >) 1 53 box -1 53 mark - (eoBF< eoVirus< FitT > &, const eoVirus< FitT > &, bool >) 1 52 box -1 52 mark - (eoBF< ExternalEO &, const ExternalEO &, bool >) 1 51 box -1 51 mark - (eoBF< ExternalEO &, ExternalEO &, bool >) 1 50 box -1 50 mark - (eoBF< GenotypeT &, GenotypeT &, bool >) 1 49 box -1 49 mark - (eoBF< PyEO &, const PyEO &, bool >) 1 48 box -1 48 mark - (eoBF< PyEO &, PyEO &, bool >) 1 47 box -1 47 mark - (eoBF< unsigned, Atom &, bool >) 1 46 box -1 46 mark - (eoF< R >) 1 45 box - (eoF< bool >) 1 44 box -1 44 mark - (eoF< eoMonitor & >) 1 43 box -1 43 mark - (eoF< EOT >) 1 42 box -1 42 mark - (eoF< int >) 1 41 box -1 41 mark - (eoF< T >) 1 40 box -1 40 mark - (eoF< void >) 1 39 box -1 39 mark - (eoUF< A1, R >) 1 38 box -1 38 mark - (eoUF< bool &, bool >) 1 37 box -1 37 mark - (eoUF< bool &, void >) 1 36 box -1 36 mark - (eoUF< Chrom &, bool >) 1 35 box -1 35 mark - (eoUF< Chrom &, void >) 1 34 box -1 34 mark - (eoUF< const eoPop< EOT > &, bool >) 1 33 box -1 33 mark - (eoUF< const eoPop< EOT > &, const EOT & >) 1 32 box -1 32 mark - (eoUF< const eoPop< EOT > &, void >) 1 31 box -1 31 mark - (eoUF< const eoPop< EoType > &, void >) 1 30 box -1 30 mark - (eoUF< const eoPop< PyEO > &, const PyEO & >) 1 29 box -1 29 mark - (eoUF< const eoPop< PyEO > &, void >) 1 28 box -1 28 mark - (eoUF< const std::vector< const EOT * > &, void >) 1 27 box -1 27 mark - (eoUF< const std::vector< const EoType * > &, void >) 1 26 box -1 26 mark - (eoUF< const std::vector< const PyEO * > &, void >) 1 25 box -1 25 mark - (eoUF< eoDistribution< EOT > &, void >) 1 24 box -1 24 mark - (eoUF< eoDouble &, bool >) 1 23 box -1 23 mark - (eoUF< eoDouble &, void >) 1 22 box -1 22 mark - (eoUF< eoParseTree< FitnessType, Node > &, void >) 1 21 box -1 21 mark - (eoUF< eoParseTree< FType, Node > &, bool >) 1 20 box -1 20 mark - (eoUF< eoParseTree< FType, Node > &, void >) 1 19 box -1 19 mark - (eoUF< eoPop< EOT > &, void >) 1 18 box -1 18 mark - (eoUF< eoPopulator< EOT > &, void >) 1 17 box -1 17 mark - (eoUF< eoPopulator< PyEO > &, void >) 1 16 box -1 16 mark - (eoUF< EOT &, bool >) 1 15 box -1 15 mark - (eoUF< EOT &, unsigned int >) 1 14 box -1 14 mark - (eoUF< EOT &, void >) 1 13 box -1 13 mark - (eoUF< EoType &, bool >) 1 12 box -1 12 mark - (eoUF< EOType &, bool >) 1 11 box -1 11 mark - (eoUF< EoType &, void >) 1 10 box -1 10 mark - (eoUF< eoVector< FitT, double > &, void >) 1 9 box -1 9 mark - (eoUF< eoVirus< FitT > &, bool >) 1 8 box -1 8 mark - (eoUF< eoVirus< FitT > &, void >) 1 7 box -1 7 mark - (eoUF< ExternalEO &, bool >) 1 6 box -1 6 mark - (eoUF< ExternalEO &, void >) 1 5 box -1 5 mark - (eoUF< GenotypeT &, bool >) 1 4 box -1 4 mark - (eoUF< GenotypeT &, void >) 1 3 box -1 3 mark - (eoUF< int &, void >) 1 2 box -1 2 mark - (eoUF< PyEO &, bool >) 1 1 box -1 1 mark - (eoUF< T &, void >) 1 0 box -1 0 mark - -% ----- relations ----- - -solid -1 0 72.25 out -solid -0 0 72.5 hedge -solid -0 0 71.5 hedge -solid -0 0 70.5 hedge -solid -0 0 69.5 hedge -solid -0 0 68.5 hedge -solid -0 0 67.5 hedge -solid -0 0 66.5 hedge -solid -0 0 65.5 hedge -solid -0 0 64.5 hedge -solid -0 0 63.5 hedge -solid -0 0 62.5 hedge -solid -0 0 61.5 hedge -solid -0 0 60.5 hedge -solid -0 0 59.5 hedge -solid -0 0 58.5 hedge -solid -0 0 57.5 hedge -solid -0 0 56.5 hedge -solid -0 0 55.5 hedge -solid -0 0 54.5 hedge -solid -0 0 53.5 hedge -solid -0 0 52.5 hedge -solid -0 0 51.5 hedge -solid -0 0 50.5 hedge -solid -0 0 49.5 hedge -solid -0 0 48.5 hedge -solid -0 0 47.5 hedge -solid -0 0 46.5 hedge -solid -0 0 45.5 hedge -solid -0 0 44.5 hedge -solid -0 0 43.5 hedge -solid -0 0 42.5 hedge -solid -0 0 41.5 hedge -solid -0 0 40.5 hedge -solid -0 0 39.5 hedge -solid -0 0 38.5 hedge -solid -0 0 37.5 hedge -solid -0 0 36.5 hedge -solid -0 0 35.5 hedge -solid -0 0 34.5 hedge -solid -0 0 33.5 hedge -solid -0 0 32.5 hedge -solid -0 0 31.5 hedge -solid -0 0 30.5 hedge -solid -0 0 29.5 hedge -solid -0 0 28.5 hedge -solid -0 0 27.5 hedge -solid -0 0 26.5 hedge -solid -0 0 25.5 hedge -solid -0 0 24.5 hedge -solid -0 0 23.5 hedge -solid -0 0 22.5 hedge -solid -0 0 21.5 hedge -solid -0 0 20.5 hedge -solid -0 0 19.5 hedge -solid -0 0 18.5 hedge -solid -0 0 17.5 hedge -solid -0 0 16.5 hedge -solid -0 0 15.5 hedge -solid -0 0 14.5 hedge -solid -0 0 13.5 hedge -solid -0 0 12.5 hedge -solid -0 0 11.5 hedge -solid -0 0 10.5 hedge -solid -0 0 9.5 hedge -solid -0 0 8.5 hedge -solid -0 0 7.5 hedge -solid -0 0 6.5 hedge -solid -0 0 5.5 hedge -solid -0 0 4.5 hedge -solid -0 0 3.5 hedge -solid -0 0 2.5 hedge -solid -0 0 1.5 hedge -solid -0 0 0.5 hedge -solid -0 73 0.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/classeo_functor_base.tex b/trunk/paradiseo-eo/doc/latex/classeo_functor_base.tex deleted file mode 100644 index 503bc15d1..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_functor_base.tex +++ /dev/null @@ -1,39 +0,0 @@ -\section{eo\-Functor\-Base Class Reference} -\label{classeo_functor_base}\index{eoFunctorBase@{eoFunctorBase}} -Base class for functors to get a nice hierarchy diagram. - - -{\tt \#include $<$eo\-Functor.h$>$} - -Inheritance diagram for eo\-Functor\-Base::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=12cm]{classeo_functor_base} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-Functor\-Base} ()\label{classeo_functor_base_a0} - -\begin{CompactList}\small\item\em virtual dtor here so there is no need to define it in derived classes \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Base class for functors to get a nice hierarchy diagram. - -That's actually quite an understatement as it does quite a bit more than just that. By having all functors derive from the same base class, we can do some memory management that would otherwise be very hard. - -The memory management base class is called {\bf eo\-Functor\-Store}{\rm (p.\,\pageref{classeo_functor_store})}, and it supports a member add() to add a pointer to a functor. When the functor\-Store is destroyed, it will delete all those pointers. So beware: do not delete the functor\-Store before you are done with anything that might have been allocated. - -\begin{Desc} -\item[See also:]{\bf eo\-Functor\-Store}{\rm (p.\,\pageref{classeo_functor_store})} \end{Desc} - - - - -Definition at line 46 of file eo\-Functor.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Functor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_functor_store.eps b/trunk/paradiseo-eo/doc/latex/classeo_functor_store.eps deleted file mode 100644 index 523dc4081..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_functor_store.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 370.37 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.35 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoFunctorStore) cw -(eoState) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoFunctorStore) 0 1 box - (eoState) 0 0 box - -% ----- relations ----- - -solid -1 0 0.25 out -solid -0 0 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_functor_store.tex b/trunk/paradiseo-eo/doc/latex/classeo_functor_store.tex deleted file mode 100644 index 05474e5b7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_functor_store.tex +++ /dev/null @@ -1,55 +0,0 @@ -\section{eo\-Functor\-Store Class Reference} -\label{classeo_functor_store}\index{eoFunctorStore@{eoFunctorStore}} -eo\-Functor\-Store is a class that stores functors that are allocated on the heap. - - -{\tt \#include $<$eo\-Functor\-Store.h$>$} - -Inheritance diagram for eo\-Functor\-Store::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_functor_store} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Functor\-Store} ()\label{classeo_functor_store_a0} - -\begin{CompactList}\small\item\em Default Ctor. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Functor\-Store} ()\label{classeo_functor_store_a1} - -\begin{CompactList}\small\item\em clears the memory \item\end{CompactList}\item -template$<$class Functor$>$ Functor \& {\bf store\-Functor} (Functor $\ast$r)\label{classeo_functor_store_a2} - -\begin{CompactList}\small\item\em Add an {\bf eo\-Functor\-Base}{\rm (p.\,\pageref{classeo_functor_base})} to the store. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Functor\-Store} (const {\bf eo\-Functor\-Store} \&)\label{classeo_functor_store_d0} - -\begin{CompactList}\small\item\em no copying allowed \item\end{CompactList}\item -{\bf eo\-Functor\-Store} {\bf operator=} (const {\bf eo\-Functor\-Store} \&)\label{classeo_functor_store_d1} - -\begin{CompactList}\small\item\em no copying allowed \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ {\bf eo\-Functor\-Base} $\ast$ $>$ {\bf vec}\label{classeo_functor_store_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-Functor\-Store is a class that stores functors that are allocated on the heap. - -This class can be used in factories to store allocated memory for dynamically created functors. - - - -Definition at line 39 of file eo\-Functor\-Store.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Functor\-Store.h\item -eo\-Functor\-Store.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_g3_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_g3_replacement.eps deleted file mode 100644 index 7f33bebaf..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_g3_replacement.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoG3Replacement< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoG3Replacement< EOT >) 0.5 0 box - (eoReplacement< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_g3_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_g3_replacement.tex deleted file mode 100644 index 2ba536946..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_g3_replacement.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-G3Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_g3_replacement}\index{eoG3Replacement@{eoG3Replacement}} -eo\-G3Replacement is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - no strong elitism (is suppposed to be within a steady-state engine) - choose N (2) parents RANDOMLY - remove them from the parent population - merge offspring and the N removed parents - select best N of this merged population - put them back into parent population - - -{\tt \#include $<$eo\-G3Replacement.h$>$} - -Inheritance diagram for eo\-G3Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_g3_replacement} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-G3Replacement} ({\bf eo\-How\-Many} \_\-how\-Many\-Eliminated\-Parents={\bf eo\-How\-Many}(2, false))\label{classeo_g3_replacement_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_g3_replacement_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Linear\-Truncate\-Split}$<$ {\bf EOT} $>$ {\bf split}\label{classeo_g3_replacement_r0} - -\item -{\bf eo\-Truncate\-Split}$<$ {\bf EOT} $>$ {\bf reduce}\label{classeo_g3_replacement_r1} - -\item -{\bf eo\-Plus}$<$ {\bf EOT} $>$ {\bf plus}\label{classeo_g3_replacement_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-G3Replacement$<$ EOT $>$} - -eo\-G3Replacement is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - no strong elitism (is suppposed to be within a steady-state engine) - choose N (2) parents RANDOMLY - remove them from the parent population - merge offspring and the N removed parents - select best N of this merged population - put them back into parent population - - - -Definition at line 50 of file eo\-G3Replacement.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-G3Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gen_continue.eps b/trunk/paradiseo-eo/doc/latex/classeo_gen_continue.eps deleted file mode 100644 index 6ae239f53..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gen_continue.eps +++ /dev/null @@ -1,239 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 67.5676 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 7.4 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 4 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGenContinue< EOT >) cw -(eoContinue< EOT >) cw -(eoValueParam< unsigned >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoPersistent) cw -(eoParam) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, bool >) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGenContinue< EOT >) 2.12 0 box - (eoContinue< EOT >) 1.25 1 box - (eoValueParam< unsigned >) 3 1 box - (eoUF< const eoPop< EOT > &, bool >) 0.5 2 box - (eoPersistent) 2 2 box - (eoParam) 3 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, bool >) 1 3 box - (eoPrintable) 2 3 box - -% ----- relations ----- - -solid -0 2.12 0 out -solid -1.25 3 1 conn -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 3 1 in -solid -0 3 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 3 2 in -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gen_continue.tex b/trunk/paradiseo-eo/doc/latex/classeo_gen_continue.tex deleted file mode 100644 index 5cceecba3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gen_continue.tex +++ /dev/null @@ -1,110 +0,0 @@ -\section{eo\-Gen\-Continue$<$ EOT $>$ Class Template Reference} -\label{classeo_gen_continue}\index{eoGenContinue@{eoGenContinue}} -Generational continuator: continues until a number of generations is reached. - - -{\tt \#include $<$eo\-Gen\-Continue.h$>$} - -Inheritance diagram for eo\-Gen\-Continue$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.89189cm]{classeo_gen_continue} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Gen\-Continue} (unsigned long \_\-total\-Gens)\label{classeo_gen_continue_a0} - -\begin{CompactList}\small\item\em Ctor for setting a. \item\end{CompactList}\item -{\bf eo\-Gen\-Continue} (unsigned long \_\-total\-Gens, unsigned long \&\_\-current\-Gen)\label{classeo_gen_continue_a1} - -\begin{CompactList}\small\item\em Ctor for enabling the save/load the no. of generations counted. \item\end{CompactList}\item -virtual bool {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-v\-EO)\label{classeo_gen_continue_a2} - -\begin{CompactList}\small\item\em Returns false when a certain number of generations is reached. \item\end{CompactList}\item -virtual void {\bf total\-Generations} (unsigned long \_\-tg)\label{classeo_gen_continue_a3} - -\begin{CompactList}\small\item\em Sets the number of generations to reach and sets the current generation to 0 (the begin). \item\end{CompactList}\item -virtual unsigned long {\bf total\-Generations} ()\label{classeo_gen_continue_a4} - -\begin{CompactList}\small\item\em Returns the number of generations to reach. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_gen_continue_a5} - -\item -void {\bf read\-From} (std::istream \&\_\-\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&\_\-\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -bool {\bf verbose}\label{classeo_gen_continue_o0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned long {\bf rep\-Total\-Generations}\label{classeo_gen_continue_r0} - -\item -unsigned long {\bf this\-Generation\-Place\-Holder}\label{classeo_gen_continue_r1} - -\item -unsigned long \& {\bf this\-Generation}\label{classeo_gen_continue_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Gen\-Continue$<$ EOT $>$} - -Generational continuator: continues until a number of generations is reached. - - - -Definition at line 34 of file eo\-Gen\-Continue.h. - -\subsection{Member Function Documentation} -\index{eoGenContinue@{eo\-Gen\-Continue}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoGenContinue@{eo\-Gen\-Continue}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Gen\-Continue}$<$ {\bf EOT} $>$::read\-From (std::istream \& {\em \_\-\_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_gen_continue_a6} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-std::exception}]If a valid object can't be read. \end{description} -\end{Desc} - - -Reimplemented from {\bf eo\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classeo_continue_a1})}. - -Definition at line 83 of file eo\-Gen\-Continue.h.\index{eoGenContinue@{eo\-Gen\-Continue}!printOn@{printOn}} -\index{printOn@{printOn}!eoGenContinue@{eo\-Gen\-Continue}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Gen\-Continue}$<$ {\bf EOT} $>$::print\-On (std::ostream \& {\em \_\-\_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_gen_continue_a7} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Reimplemented from {\bf eo\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classeo_continue_a2})}. - -Definition at line 88 of file eo\-Gen\-Continue.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Gen\-Continue.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gen_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_gen_op.eps deleted file mode 100644 index 3c7ed1716..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gen_op.eps +++ /dev/null @@ -1,264 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 318.544 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.56964 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 14 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -(eoBinGenOp< EOT >) cw -(eoEsGlobalXover< EOT >) cw -(eoMonGenOp< EOT >) cw -(eoOpContainer< EOT >) cw -(eoPropGAGenOp< EOT >) cw -(eoQuadGenOp< EOT >) cw -(eoSelBinGenOp< EOT >) cw -(eoSGAGenOp< EOT >) cw -(one2threeOp) cw -(three2threeOp) cw -(two2oneOp) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGenOp< EOT >) 0.5 11 box - (eoOp< EOT >) 0 12 box - (eoUF< eoPopulator< EOT > &, void >) 1 12 box - (eoFunctorBase) 0.5 13 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 13 box - (eoBinGenOp< EOT >) 1.5 10 box - (eoEsGlobalXover< EOT >) 1.5 9 box - (eoMonGenOp< EOT >) 1.5 8 box - (eoOpContainer< EOT >) 1.5 7 box -1.5 7 mark - (eoPropGAGenOp< EOT >) 1.5 6 box - (eoQuadGenOp< EOT >) 1.5 5 box - (eoSelBinGenOp< EOT >) 1.5 4 box - (eoSGAGenOp< EOT >) 1.5 3 box - (one2threeOp) 1.5 2 box - (three2threeOp) 1.5 1 box - (two2oneOp) 1.5 0 box - -% ----- relations ----- - -solid -0 0.5 11 out -solid -0 1 12 conn -solid -1 0 12 in -solid -1 1 12 in -solid -0 1 12 out -solid -0.5 1.5 13 conn -solid -1 0.5 13 in -solid -1 1.5 13 in -solid -1 0.5 10.25 out -solid -0 0.5 10.5 hedge -solid -0 0.5 9.5 hedge -solid -0 0.5 8.5 hedge -solid -0 0.5 7.5 hedge -solid -0 0.5 6.5 hedge -solid -0 0.5 5.5 hedge -solid -0 0.5 4.5 hedge -solid -0 0.5 3.5 hedge -solid -0 0.5 2.5 hedge -solid -0 0.5 1.5 hedge -solid -0 0.5 0.5 hedge -solid -0.5 11 0.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gen_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_gen_op.tex deleted file mode 100644 index af3743c71..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gen_op.tex +++ /dev/null @@ -1,52 +0,0 @@ -\section{eo\-Gen\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_gen_op}\index{eoGenOp@{eoGenOp}} -The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}, {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})}, {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} classification. - - -{\tt \#include $<$eo\-Gen\-Op.h$>$} - -Inheritance diagram for eo\-Gen\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=8.91923cm]{classeo_gen_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Gen\-Op} ()\label{classeo_gen_op_a0} - -\begin{CompactList}\small\item\em Ctor that honors its superclass. \item\end{CompactList}\item -virtual unsigned {\bf max\_\-production} (void)=0\label{classeo_gen_op_a1} - -\begin{CompactList}\small\item\em Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const =0\label{classeo_gen_op_a2} - -\item -void {\bf operator()} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_gen_op_a3} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)=0\label{classeo_gen_op_b0} - -\begin{CompactList}\small\item\em the function that will do the work \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Gen\-Op$<$ EOT $>$} - -The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}, {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})}, {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} classification. - -The argument the operator will receive is an {\bf eo\-Populator}{\rm (p.\,\pageref{classeo_populator})}, which is a wrapper around the original population, is an instantiation of the next population and has often a selection function embedded in it to select new individuals. - -Note that the actual work is performed in the apply function. AND that the apply function is responsible for invalidating the object if necessary - - - -Definition at line 57 of file eo\-Gen\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Gen\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gene_del_chooser.eps b/trunk/paradiseo-eo/doc/latex/classeo_gene_del_chooser.eps deleted file mode 100644 index 479204f0b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gene_del_chooser.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 162.602 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.075 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGeneDelChooser< EOT >) cw -(eoUF< EOT &, unsigned int >) cw -(eoFunctorBase) cw -(unary_function< EOT &, unsigned int >) cw -(eoUniformGeneChooser< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGeneDelChooser< EOT >) 0.5 1 box - (eoUF< EOT &, unsigned int >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EOT &, unsigned int >) 1 3 box - (eoUniformGeneChooser< EOT >) 0.5 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -1 0.5 0.25 out -solid -0 0.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gene_del_chooser.tex b/trunk/paradiseo-eo/doc/latex/classeo_gene_del_chooser.tex deleted file mode 100644 index d37ac9ee2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gene_del_chooser.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Gene\-Del\-Chooser$<$ EOT $>$ Class Template Reference} -\label{classeo_gene_del_chooser}\index{eoGeneDelChooser@{eoGeneDelChooser}} -A helper class for choosing which site to delete. - - -{\tt \#include $<$eo\-Variable\-Length\-Mutation.h$>$} - -Inheritance diagram for eo\-Gene\-Del\-Chooser$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_gene_del_chooser} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const =0\label{classeo_gene_del_chooser_a0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Gene\-Del\-Chooser$<$ EOT $>$} - -A helper class for choosing which site to delete. - - - -Definition at line 85 of file eo\-Variable\-Length\-Mutation.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Mutation.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_general_breeder.eps b/trunk/paradiseo-eo/doc/latex/classeo_general_breeder.eps deleted file mode 100644 index 876032211..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_general_breeder.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGeneralBreeder< EOT >) cw -(eoBreed< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGeneralBreeder< EOT >) 0.5 0 box - (eoBreed< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_general_breeder.tex b/trunk/paradiseo-eo/doc/latex/classeo_general_breeder.tex deleted file mode 100644 index 02bbac9e2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_general_breeder.tex +++ /dev/null @@ -1,101 +0,0 @@ -\section{eo\-General\-Breeder$<$ EOT $>$ Class Template Reference} -\label{classeo_general_breeder}\index{eoGeneralBreeder@{eoGeneralBreeder}} -Base class for breeders using generalized operators. - - -{\tt \#include $<$eo\-General\-Breeder.h$>$} - -Inheritance diagram for eo\-General\-Breeder$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_general_breeder} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-General\-Breeder} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-Gen\-Op}$<$ {\bf EOT} $>$ \&\_\-op, double \_\-rate=1.0, bool \_\-interpret\_\-as\_\-rate=true) -\begin{CompactList}\small\item\em Ctor:. \item\end{CompactList}\item -{\bf eo\-General\-Breeder} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-Gen\-Op}$<$ {\bf EOT} $>$ \&\_\-op, {\bf eo\-How\-Many} \_\-how\-Many) -\begin{CompactList}\small\item\em Ctor:. \item\end{CompactList}\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring) -\begin{CompactList}\small\item\em The breeder: simply calls the gen\-Op on a selective populator! \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_general_breeder_a3} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf select}\label{classeo_general_breeder_r0} - -\item -{\bf eo\-Gen\-Op}$<$ {\bf EOT} $>$ \& {\bf op}\label{classeo_general_breeder_r1} - -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_general_breeder_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-General\-Breeder$<$ EOT $>$} - -Base class for breeders using generalized operators. - - - -Definition at line 46 of file eo\-General\-Breeder.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoGeneralBreeder@{eo\-General\-Breeder}!eoGeneralBreeder@{eoGeneralBreeder}} -\index{eoGeneralBreeder@{eoGeneralBreeder}!eoGeneralBreeder@{eo\-General\-Breeder}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-General\-Breeder}$<$ {\bf EOT} $>$::{\bf eo\-General\-Breeder} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\em \_\-select}, {\bf eo\-Gen\-Op}$<$ {\bf EOT} $>$ \& {\em \_\-op}, double {\em \_\-rate} = {\tt 1.0}, bool {\em \_\-interpret\_\-as\_\-rate} = {\tt true})\hspace{0.3cm}{\tt [inline]}}\label{classeo_general_breeder_a0} - - -Ctor:. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-select}]a selecto\-One, to be used for all selections \item[{\em \_\-op}]a general operator (will generally be an {\bf eo\-Op\-Container}{\rm (p.\,\pageref{classeo_op_container})}) \item[{\em \_\-rate}]pour how\-Many, le nbre d'enfants a generer \item[{\em \_\-interpret\_\-as\_\-rate}]{\tt explanation} \end{description} -\end{Desc} - - -Definition at line 56 of file eo\-General\-Breeder.h.\index{eoGeneralBreeder@{eo\-General\-Breeder}!eoGeneralBreeder@{eoGeneralBreeder}} -\index{eoGeneralBreeder@{eoGeneralBreeder}!eoGeneralBreeder@{eo\-General\-Breeder}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-General\-Breeder}$<$ {\bf EOT} $>$::{\bf eo\-General\-Breeder} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\em \_\-select}, {\bf eo\-Gen\-Op}$<$ {\bf EOT} $>$ \& {\em \_\-op}, {\bf eo\-How\-Many} {\em \_\-how\-Many})\hspace{0.3cm}{\tt [inline]}}\label{classeo_general_breeder_a1} - - -Ctor:. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-select}]a selecto\-One, to be used for all selections \item[{\em \_\-op}]a general operator (will generally be an {\bf eo\-Op\-Container}{\rm (p.\,\pageref{classeo_op_container})}) \item[{\em \_\-how\-Many}]an {\bf eo\-How\-Many}{\rm (p.\,\pageref{classeo_how_many})} {\tt explanation} \end{description} -\end{Desc} - - -Definition at line 69 of file eo\-General\-Breeder.h. - -\subsection{Member Function Documentation} -\index{eoGeneralBreeder@{eo\-General\-Breeder}!operator()@{operator()}} -\index{operator()@{operator()}!eoGeneralBreeder@{eo\-General\-Breeder}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-General\-Breeder}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-parents}, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_general_breeder_a2} - - -The breeder: simply calls the gen\-Op on a selective populator! - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-parents}]the initial population \item[{\em \_\-offspring}]the resulting population (content -if any- is lost) \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 80 of file eo\-General\-Breeder.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-General\-Breeder.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_general_int_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_general_int_bounds.eps deleted file mode 100644 index c1668de94..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_general_int_bounds.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 597.015 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.8375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGeneralIntBounds) cw -(eoIntBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGeneralIntBounds) 0 0 box - (eoIntBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_general_int_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_general_int_bounds.tex deleted file mode 100644 index c5c4d430d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_general_int_bounds.tex +++ /dev/null @@ -1,103 +0,0 @@ -\section{eo\-General\-Int\-Bounds Class Reference} -\label{classeo_general_int_bounds}\index{eoGeneralIntBounds@{eoGeneralIntBounds}} -A class that encapsulate all possible {\bf eo\-Int\-Bounds}{\rm (p.\,\pageref{classeo_int_bounds})}. - - -{\tt \#include $<$eo\-Int\-Bounds.h$>$} - -Inheritance diagram for eo\-General\-Int\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_general_int_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-General\-Int\-Bounds} (std::string \_\-s=\char`\"{}[-infinity,+infinity]\char`\"{})\label{classeo_general_int_bounds_a0} - -\begin{CompactList}\small\item\em Ctor: from a string, chooses the type of bound. \item\end{CompactList}\item -{\bf eo\-General\-Int\-Bounds} (const {\bf eo\-General\-Int\-Bounds} \&\_\-b)\label{classeo_general_int_bounds_a1} - -\begin{CompactList}\small\item\em Need a Cpy Ctor because we are allocating memory. \item\end{CompactList}\item -{\bf eo\-General\-Int\-Bounds} \& {\bf operator=} (const {\bf eo\-General\-Int\-Bounds} \&\_\-b)\label{classeo_general_int_bounds_a2} - -\item -{\bf $\sim$eo\-General\-Int\-Bounds} ()\label{classeo_general_int_bounds_a3} - -\begin{CompactList}\small\item\em Need a Dtor because we allocate an actual bound. \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_general_int_bounds_a4} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_general_int_bounds_a5} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_general_int_bounds_a6} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_general_int_bounds_a7} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double \_\-x) const \label{classeo_general_int_bounds_a8} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&\_\-x) const \label{classeo_general_int_bounds_a9} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&\_\-x) const \label{classeo_general_int_bounds_a10} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual long int {\bf minimum} () const \label{classeo_general_int_bounds_a11} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf maximum} () const \label{classeo_general_int_bounds_a12} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf range} () const \label{classeo_general_int_bounds_a13} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_general_int_bounds_a14} - -\begin{CompactList}\small\item\em random generator of uniform doubles in bounds ::exception if unbounded \item\end{CompactList}\item -virtual long int {\bf random} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_general_int_bounds_a15} - -\begin{CompactList}\small\item\em random generator of uniform ints in bounds ::exception if unbounded \item\end{CompactList}\item -virtual {\bf eo\-Int\-Bounds} $\ast$ {\bf dup} () const \label{classeo_general_int_bounds_a16} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\item -const {\bf eo\-Int\-Bounds} \& {\bf the\-Bounds} () const \label{classeo_general_int_bounds_a17} - -\begin{CompactList}\small\item\em for efficiency, it's better to use the embedded boud directly \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const \label{classeo_general_int_bounds_a18} - -\begin{CompactList}\small\item\em don't forget the print\-On method - again that of the embedded bound \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is)\label{classeo_general_int_bounds_a19} - -\begin{CompactList}\small\item\em no read\-From ??? Have to check that later \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Int\-Bounds} $\ast$ {\bf get\-Bounds\-From\-String} (std::string)\label{classeo_general_int_bounds_d0} - -\begin{CompactList}\small\item\em the constructor for eo\-General\-Int\-Bound - from a string \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Int\-Bounds} $\ast$ {\bf rep\-Bound}\label{classeo_general_int_bounds_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -A class that encapsulate all possible {\bf eo\-Int\-Bounds}{\rm (p.\,\pageref{classeo_int_bounds})}. - -Mandatory in order to read through the parser - - - -Definition at line 541 of file eo\-Int\-Bounds.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Int\-Bounds.h\item -eo\-Int\-Bounds.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_general_real_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_general_real_bounds.eps deleted file mode 100644 index 9fc246842..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_general_real_bounds.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 547.945 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.9125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGeneralRealBounds) cw -(eoRealBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGeneralRealBounds) 0 0 box - (eoRealBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_general_real_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_general_real_bounds.tex deleted file mode 100644 index c8fbd0797..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_general_real_bounds.tex +++ /dev/null @@ -1,100 +0,0 @@ -\section{eo\-General\-Real\-Bounds Class Reference} -\label{classeo_general_real_bounds}\index{eoGeneralRealBounds@{eoGeneralRealBounds}} -A class that encapsulate all possible {\bf eo\-Int\-Bounds}{\rm (p.\,\pageref{classeo_int_bounds})}. - - -{\tt \#include $<$eo\-Real\-Bounds.h$>$} - -Inheritance diagram for eo\-General\-Real\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_general_real_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-General\-Real\-Bounds} (std::string \_\-s=\char`\"{}[-infinity,+infinity]\char`\"{})\label{classeo_general_real_bounds_a0} - -\begin{CompactList}\small\item\em Ctor: from a string, chooses the type of bound. \item\end{CompactList}\item -{\bf eo\-General\-Real\-Bounds} (const {\bf eo\-General\-Real\-Bounds} \&\_\-b)\label{classeo_general_real_bounds_a1} - -\begin{CompactList}\small\item\em Need a Cpy Ctor because we are allocating memory. \item\end{CompactList}\item -{\bf eo\-General\-Real\-Bounds} \& {\bf operator=} (const {\bf eo\-General\-Real\-Bounds} \&\_\-b)\label{classeo_general_real_bounds_a2} - -\item -{\bf $\sim$eo\-General\-Real\-Bounds} ()\label{classeo_general_real_bounds_a3} - -\begin{CompactList}\small\item\em Need a Dtor because we allocate an actual bound. \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_general_real_bounds_a4} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_general_real_bounds_a5} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_general_real_bounds_a6} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_general_real_bounds_a7} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double \_\-x) const \label{classeo_general_real_bounds_a8} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&\_\-x) const \label{classeo_general_real_bounds_a9} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&\_\-x) const \label{classeo_general_real_bounds_a10} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual double {\bf minimum} () const \label{classeo_general_real_bounds_a11} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf maximum} () const \label{classeo_general_real_bounds_a12} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf range} () const \label{classeo_general_real_bounds_a13} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_general_real_bounds_a14} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds ::exception if unbounded \item\end{CompactList}\item -virtual {\bf eo\-Real\-Bounds} $\ast$ {\bf dup} () const \label{classeo_general_real_bounds_a15} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\item -const {\bf eo\-Real\-Bounds} \& {\bf the\-Bounds} () const \label{classeo_general_real_bounds_a16} - -\begin{CompactList}\small\item\em for efficiency, it's better to use the embedded boud directly \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const \label{classeo_general_real_bounds_a17} - -\begin{CompactList}\small\item\em don't forget the print\-On method - again that of the embedded bound \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is)\label{classeo_general_real_bounds_a18} - -\begin{CompactList}\small\item\em no read\-From ??? Have to check that later \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Bounds} $\ast$ {\bf get\-Bounds\-From\-String} (std::string)\label{classeo_general_real_bounds_d0} - -\begin{CompactList}\small\item\em the constructor for eo\-General\-Real\-Bound - from a string very similar to the {\bf eo\-Real\-Vector\-Bounds::read\-From}{\rm (p.\,\pageref{classeo_real_vector_bounds_a7})} above but was written much later so the read\-From does not call this one as it should do \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Bounds} $\ast$ {\bf rep\-Bound}\label{classeo_general_real_bounds_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -A class that encapsulate all possible {\bf eo\-Int\-Bounds}{\rm (p.\,\pageref{classeo_int_bounds})}. - -Mandatory in order to read through the parser - - - -Definition at line 506 of file eo\-Real\-Bounds.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Real\-Bounds.h\item -eo\-Real\-Bounds.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_generational_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_generational_replacement.eps deleted file mode 100644 index 7dcd74daa..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_generational_replacement.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGenerationalReplacement< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGenerationalReplacement< EOT >) 0.5 0 box - (eoReplacement< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_generational_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_generational_replacement.tex deleted file mode 100644 index 9c437773f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_generational_replacement.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Generational\-Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_generational_replacement}\index{eoGenerationalReplacement@{eoGenerationalReplacement}} -generational replacement == swap populations - - -{\tt \#include $<$eo\-Replacement.h$>$} - -Inheritance diagram for eo\-Generational\-Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_generational_replacement} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_generational_replacement_a0} - -\begin{CompactList}\small\item\em swap \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Generational\-Replacement$<$ EOT $>$} - -generational replacement == swap populations - - - -Definition at line 84 of file eo\-Replacement.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot.eps b/trunk/paradiseo-eo/doc/latex/classeo_gnuplot.eps deleted file mode 100644 index 6b9deff82..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 137.931 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGnuplot) cw -(eoGnuplot1DMonitor) cw -(eoGnuplot1DSnapshot) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGnuplot) 0.5 1 box - (eoGnuplot1DMonitor) 0 0 box - (eoGnuplot1DSnapshot) 1 0 box - -% ----- relations ----- - -solid -1 0.5 0.25 out -solid -0 1 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot.tex b/trunk/paradiseo-eo/doc/latex/classeo_gnuplot.tex deleted file mode 100644 index e8e760227..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot.tex +++ /dev/null @@ -1,129 +0,0 @@ -\section{eo\-Gnuplot Class Reference} -\label{classeo_gnuplot}\index{eoGnuplot@{eoGnuplot}} -Base class for calls to gnuplot. - - -{\tt \#include $<$eo\-Gnuplot.h$>$} - -Inheritance diagram for eo\-Gnuplot::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_gnuplot} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Gnuplot} (std::string \_\-title, std::string \_\-extra=std::string(\char`\"{}\char`\"{})) -\begin{CompactList}\small\item\em Open pipe to Gnuplot. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Gnuplot} () -\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_gnuplot_a2} - -\begin{CompactList}\small\item\em Class name. \item\end{CompactList}\item -void {\bf gnuplot\-Command} (const char $\ast$\_\-command)\label{classeo_gnuplot_a3} - -\begin{CompactList}\small\item\em Send command to gnuplot. \item\end{CompactList}\item -void {\bf gnuplot\-Command} (std::string \_\-command) -\begin{CompactList}\small\item\em Send command to gnuplot. \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Member Functions} -\begin{CompactItemize} -\item -void {\bf init\-Gnu\-Plot} (std::string \_\-title, std::string \_\-extra) -\begin{CompactList}\small\item\em Initialize gnuplot. \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -bool {\bf first\-Time}\label{classeo_gnuplot_p0} - -\begin{CompactList}\small\item\em The stats might be unknown in Ctor. \item\end{CompactList}\item -PCom $\ast$ {\bf gp\-Com}\label{classeo_gnuplot_p1} - -\begin{CompactList}\small\item\em Communication with gnuplot OK. \item\end{CompactList}\end{CompactItemize} -\subsection*{Static Protected Attributes} -\begin{CompactItemize} -\item -unsigned {\bf num\-Window} = 0\label{classeo_gnuplot_t0} - -\begin{CompactList}\small\item\em Internal counter for gnuplot windows. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Base class for calls to gnuplot. - -This class is the abstract class that will be used by further gnuplot calls to plots what is already written by some {\bf eo\-Monitor}{\rm (p.\,\pageref{classeo_monitor})} into a file - -\begin{Desc} -\item[Author:]Marc Schoenauer \end{Desc} -\begin{Desc} -\item[Version:]0.0 (2001) \end{Desc} - - - - -Definition at line 38 of file eo\-Gnuplot.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoGnuplot@{eo\-Gnuplot}!eoGnuplot@{eoGnuplot}} -\index{eoGnuplot@{eoGnuplot}!eoGnuplot@{eo\-Gnuplot}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-Gnuplot::eo\-Gnuplot (std::string {\em \_\-title}, std::string {\em \_\-extra} = {\tt std::string(\char`\"{}\char`\"{})})}\label{classeo_gnuplot_a0} - - -Open pipe to Gnuplot. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-title}]Title for gnuplot window. \item[{\em \_\-extra}]Extra parameters to gnuplot (default $<$none$>$). \end{description} -\end{Desc} - - -Definition at line 37 of file eo\-Gnuplot.cpp. - -References init\-Gnu\-Plot().\index{eoGnuplot@{eo\-Gnuplot}!~eoGnuplot@{$\sim$eoGnuplot}} -\index{~eoGnuplot@{$\sim$eoGnuplot}!eoGnuplot@{eo\-Gnuplot}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-Gnuplot::$\sim${\bf eo\-Gnuplot} ()\hspace{0.3cm}{\tt [virtual]}}\label{classeo_gnuplot_a1} - - -Destructor. - -Close the gnuplot windows if pipe was correctly opened - -Definition at line 45 of file eo\-Gnuplot.cpp. - -References gp\-Com. - -\subsection{Member Function Documentation} -\index{eoGnuplot@{eo\-Gnuplot}!gnuplotCommand@{gnuplotCommand}} -\index{gnuplotCommand@{gnuplotCommand}!eoGnuplot@{eo\-Gnuplot}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Gnuplot::gnuplot\-Command (std::string {\em \_\-command})\hspace{0.3cm}{\tt [inline]}}\label{classeo_gnuplot_a4} - - -Send command to gnuplot. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Definition at line 66 of file eo\-Gnuplot.h.\index{eoGnuplot@{eo\-Gnuplot}!initGnuPlot@{initGnuPlot}} -\index{initGnuPlot@{initGnuPlot}!eoGnuplot@{eo\-Gnuplot}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Gnuplot::init\-Gnu\-Plot (std::string {\em \_\-title}, std::string {\em \_\-extra})\hspace{0.3cm}{\tt [protected]}}\label{classeo_gnuplot_b0} - - -Initialize gnuplot. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-title}]Title for gnuplot window. \item[{\em \_\-extra}]Extra parameters to gnuplot. \end{description} -\end{Desc} - - -Definition at line 70 of file eo\-Gnuplot.cpp. - -References gp\-Com, and num\-Window. - -Referenced by eo\-Gnuplot(). - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Gnuplot.h\item -eo\-Gnuplot.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_monitor.eps b/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_monitor.eps deleted file mode 100644 index 302fa935d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_monitor.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 364.964 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.37 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGnuplot1DMonitor) cw -(eoFileMonitor) cw -(eoGnuplot) cw -(eoMonitor) cw -(eoF< eoMonitor & >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGnuplot1DMonitor) 0.5 0 box - (eoFileMonitor) 0 1 box - (eoGnuplot) 1 1 box - (eoMonitor) 0 2 box - (eoF< eoMonitor & >) 0 3 box - (eoFunctorBase) 0 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -0 0 1 out -solid -1 1 1 in -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in -solid -0 0 3 out -solid -1 0 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_monitor.tex b/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_monitor.tex deleted file mode 100644 index a60689306..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_monitor.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Gnuplot1DMonitor Class Reference} -\label{classeo_gnuplot1_d_monitor}\index{eoGnuplot1DMonitor@{eoGnuplot1DMonitor}} -Plot {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}. - - -{\tt \#include $<$eo\-Gnuplot1DMonitor.h$>$} - -Inheritance diagram for eo\-Gnuplot1DMonitor::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_gnuplot1_d_monitor} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Gnuplot1DMonitor} (std::string \_\-filename, bool \_\-top=false)\label{classeo_gnuplot1_d_monitor_a0} - -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Gnuplot1DMonitor} ()\label{classeo_gnuplot1_d_monitor_a1} - -\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item -virtual {\bf eo\-Monitor} \& {\bf operator()} ()\label{classeo_gnuplot1_d_monitor_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual void {\bf First\-Plot} ()\label{classeo_gnuplot1_d_monitor_a3} - -\item -virtual std::string {\bf class\-Name} () const \label{classeo_gnuplot1_d_monitor_a4} - -\begin{CompactList}\small\item\em Class name. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Plot {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}. - -\begin{Desc} -\item[Author:]Marc Schoenauer \end{Desc} -\begin{Desc} -\item[Version:]0.0 (2000)\end{Desc} -This class plots through gnuplot the {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})} given as argument - -eo\-Gnuplot1DMonitor plots stats through gnuplot - -Assumes that the same file is appened every so and so, and replots it everytime - - - -Definition at line 47 of file eo\-Gnuplot1DMonitor.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Gnuplot1DMonitor.h\item -eo\-Gnuplot1DMonitor.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_snapshot.eps b/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_snapshot.eps deleted file mode 100644 index 91591e860..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_snapshot.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 344.828 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.45 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoGnuplot1DSnapshot) cw -(eoFileSnapshot) cw -(eoGnuplot) cw -(eoMonitor) cw -(eoF< eoMonitor & >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoGnuplot1DSnapshot) 0.5 0 box - (eoFileSnapshot) 0 1 box - (eoGnuplot) 1 1 box - (eoMonitor) 0 2 box - (eoF< eoMonitor & >) 0 3 box - (eoFunctorBase) 0 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -0 0 1 out -solid -1 1 1 in -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in -solid -0 0 3 out -solid -1 0 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_snapshot.tex b/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_snapshot.tex deleted file mode 100644 index 12e4f1399..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_gnuplot1_d_snapshot.tex +++ /dev/null @@ -1,67 +0,0 @@ -\section{eo\-Gnuplot1DSnapshot Class Reference} -\label{classeo_gnuplot1_d_snapshot}\index{eoGnuplot1DSnapshot@{eoGnuplot1DSnapshot}} -Plot stats through gnuplot. - - -{\tt \#include $<$eo\-Gnuplot1DSnapshot.h$>$} - -Inheritance diagram for eo\-Gnuplot1DSnapshot::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_gnuplot1_d_snapshot} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Gnuplot1DSnapshot} (std::string \_\-dirname, unsigned \_\-frequency=1, std::string \_\-filename=\char`\"{}gen\char`\"{}, std::string \_\-delim=\char`\"{} \char`\"{}, unsigned \_\-counter=0, bool \_\-rm\-Files=true)\label{classeo_gnuplot1_d_snapshot_a0} - -\item -{\bf eo\-Gnuplot1DSnapshot} (std::string \_\-dirname, {\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, unsigned \_\-frequency=1, std::string \_\-filename=\char`\"{}gen\char`\"{}, std::string \_\-delim=\char`\"{} \char`\"{}, unsigned \_\-counter=0, bool \_\-rm\-Files=true)\label{classeo_gnuplot1_d_snapshot_a1} - -\item -{\bf eo\-Gnuplot1DSnapshot} ({\bf eo\-File\-Snapshot} \&\_\-f\-Snapshot)\label{classeo_gnuplot1_d_snapshot_a2} - -\item -{\bf eo\-Gnuplot1DSnapshot} ({\bf eo\-File\-Snapshot} \&\_\-f\-Snapshot, {\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds)\label{classeo_gnuplot1_d_snapshot_a3} - -\item -virtual {\bf eo\-Monitor} \& {\bf operator()} ()\label{classeo_gnuplot1_d_snapshot_a5} - -\begin{CompactList}\small\item\em The operator(void): opens the std::ostream and calls the write method. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_gnuplot1_d_snapshot_a6} - -\begin{CompactList}\small\item\em Class name. \item\end{CompactList}\item -virtual void {\bf handle\-Bounds} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds)\label{classeo_gnuplot1_d_snapshot_a7} - -\item -void {\bf set\-Point\-Size} (unsigned \_\-point\-Size)\label{classeo_gnuplot1_d_snapshot_a8} - -\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -unsigned {\bf point\-Size}\label{classeo_gnuplot1_d_snapshot_p0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Plot stats through gnuplot. - -\begin{Desc} -\item[Author:]Marc Schoenauer 2000 \end{Desc} -\begin{Desc} -\item[Version:]0.0\end{Desc} -This class plots through gnuplot the {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})} given as argument - -Assumes that the same file is re-written every so and so, and plots it from scratch everytime it's called - - - -Definition at line 51 of file eo\-Gnuplot1DSnapshot.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Gnuplot1DSnapshot.h\item -eo\-Gnuplot1DSnapshot.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_hamming_distance.eps b/trunk/paradiseo-eo/doc/latex/classeo_hamming_distance.eps deleted file mode 100644 index 22b3d974b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_hamming_distance.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 119.048 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.2 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoHammingDistance< EOT >) cw -(eoDistance< EOT >) cw -(eoBF< const EOT &, const EOT &, double >) cw -(eoFunctorBase) cw -(binary_function< const EOT &, const EOT &, double >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoHammingDistance< EOT >) 0.5 0 box - (eoDistance< EOT >) 0.5 1 box - (eoBF< const EOT &, const EOT &, double >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const EOT &, const EOT &, double >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_hamming_distance.tex b/trunk/paradiseo-eo/doc/latex/classeo_hamming_distance.tex deleted file mode 100644 index e30ba309c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_hamming_distance.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Hamming\-Distance$<$ EOT $>$ Class Template Reference} -\label{classeo_hamming_distance}\index{eoHammingDistance@{eoHammingDistance}} -This is a generic class for L1 distance computation: assumes the 2 things are std::vectors of something that is double-castable For bitstrings, this is the Hamming distance. - - -{\tt \#include $<$eo\-Distance.h$>$} - -Inheritance diagram for eo\-Hamming\-Distance$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.33333cm]{classeo_hamming_distance} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -double {\bf operator()} (const {\bf EOT} \&\_\-v1, const {\bf EOT} \&\_\-v2)\label{classeo_hamming_distance_a0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Hamming\-Distance$<$ EOT $>$} - -This is a generic class for L1 distance computation: assumes the 2 things are std::vectors of something that is double-castable For bitstrings, this is the Hamming distance. - - - -Definition at line 66 of file eo\-Distance.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Distance.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_hoist_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_hoist_mutation.eps deleted file mode 100644 index d35f28d54..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_hoist_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 76.6284 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.525 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoHoistMutation< FType, Node >) cw -(eoMonOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoHoistMutation< FType, Node >) 0.5 0 box - (eoMonOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoUF< eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_hoist_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_hoist_mutation.tex deleted file mode 100644 index b1f80b7f9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_hoist_mutation.tex +++ /dev/null @@ -1,82 +0,0 @@ -\section{eo\-Hoist\-Mutation$<$ FType, Node $>$ Class Template Reference} -\label{classeo_hoist_mutation}\index{eoHoistMutation@{eoHoistMutation}} -eo\-Hoist\-Mutation --$>$ replace the individual with one of its subtree's - - -{\tt \#include $<$gp/eo\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-Hoist\-Mutation$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.14559cm]{classeo_hoist_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_hoist_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Hoist\-Mutation} () -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_hoist_mutation_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Hoist\-Mutation} ()\label{classeo_hoist_mutation_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1) -\begin{CompactList}\small\item\em Mutate an individual. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-Hoist\-Mutation$<$ FType, Node $>$} - -eo\-Hoist\-Mutation --$>$ replace the individual with one of its subtree's - - - -Definition at line 336 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoHoistMutation@{eo\-Hoist\-Mutation}!eoHoistMutation@{eoHoistMutation}} -\index{eoHoistMutation@{eoHoistMutation}!eoHoistMutation@{eo\-Hoist\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Hoist\-Mutation}$<$ FType, Node $>$::{\bf eo\-Hoist\-Mutation} ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_hoist_mutation_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em none}]\end{description} -\end{Desc} - - -Definition at line 345 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Member Function Documentation} -\index{eoHoistMutation@{eo\-Hoist\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoHoistMutation@{eo\-Hoist\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ bool {\bf eo\-Hoist\-Mutation}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-eo1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_hoist_mutation_a3} - - -Mutate an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The individual that is to be changed \end{description} -\end{Desc} - - -Definition at line 358 of file eo\-Parse\-Tree\-Op.h. - -References eo\-Rng::random(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_how_many.eps b/trunk/paradiseo-eo/doc/latex/classeo_how_many.eps deleted file mode 100644 index 8cc506517..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_how_many.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 659.341 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.758333 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoHowMany) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoHowMany) 0 0 box - (eoPersistent) 0 1 box - (eoPrintable) 0 2 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_how_many.tex b/trunk/paradiseo-eo/doc/latex/classeo_how_many.tex deleted file mode 100644 index ad6521a91..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_how_many.tex +++ /dev/null @@ -1,146 +0,0 @@ -\section{eo\-How\-Many Class Reference} -\label{classeo_how_many}\index{eoHowMany@{eoHowMany}} -A helper class, to determine a number of individuals from another one Typically, is used in selection / replacement procedures, e.g. - - -{\tt \#include $<$eo\-How\-Many.h$>$} - -Inheritance diagram for eo\-How\-Many::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_how_many} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-How\-Many} (double \_\-rate=0.0, bool \_\-interpret\_\-as\_\-rate=true) -\begin{CompactList}\small\item\em Original Ctor from direct rate + bool. \item\end{CompactList}\item -{\bf eo\-How\-Many} (int \_\-combien)\label{classeo_how_many_a1} - -\begin{CompactList}\small\item\em Ctor from an int - both from int and unsigned int are needed to avoid ambiguity with the Ctor from a double. \item\end{CompactList}\item -{\bf eo\-How\-Many} (unsigned int \_\-combien)\label{classeo_how_many_a2} - -\begin{CompactList}\small\item\em Ctor from an unsigned int - both from int and unsigned int are needed to avoid ambiguity with the Ctor from a double. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-How\-Many} ()\label{classeo_how_many_a3} - -\begin{CompactList}\small\item\em Virtual dtor. They are needed in virtual class hierarchies. \item\end{CompactList}\item -unsigned int {\bf operator()} (unsigned int \_\-size) -\begin{CompactList}\small\item\em Does what it was designed for combien==0 : return rate$\ast$\_\-size else combien$>$0 : return combien (regardless of \_\-size) combien$<$0 : return \_\-size-$|$combien$|$. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -void {\bf read\-From} (std::string \_\-value)\label{classeo_how_many_a7} - -\item -{\bf eo\-How\-Many} {\bf operator-} ()\label{classeo_how_many_a8} - -\begin{CompactList}\small\item\em The unary - operator: reverses the computation. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rate}\label{classeo_how_many_r0} - -\item -int {\bf combien}\label{classeo_how_many_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -A helper class, to determine a number of individuals from another one Typically, is used in selection / replacement procedures, e.g. - -the number of offspring from the number of parents, or the number of survivors for an {\bf eo\-Reduce}{\rm (p.\,\pageref{classeo_reduce})} functor, ... - -Such construct is very useful because in some cases you might not know the population size that will enter the replacement. For instance, you cannot simply have a pre-computed (double) rate of 1/pop\-Size if you want to select or kill just 1 guy. Using an eo\-How\-Many allows one to modify the population size without touching anything else. - -There are 4 possible way to compute the return value from the argument:\begin{itemize} -\item an absolute POSITIVE integer --$>$ return it (regardless of popsize)\item a POSITIVE rate --$>$ return rate$\ast$pop\-Size\item an absolute NEGATIVE integer --$>$ return popsize-rate (if positive)\item a NEGATIVE rate in [-1,0] --$>$ store and use 1-$|$rate$|$ (positive) Note that a negative rate should be have been necessary because a rate is relative, but it is there for consistency reasons - and because it is needed in {\tt eo\-G3Replacement}\end{itemize} - - -It has 2 private members, a double and an integer to cover all cases - -Example use: in {\tt eo\-General\-Breeder.h} Example reading from parser: in {\tt do/make\_\-algo\_\-scalar.h line 141} - -MS 10/04/2002: Added the possibility to have a negative number - when treated as a number: returns then (size - combien) Should not modify anything when a positive number is passed in the ctor - -MS 20/06/2002: Added the negative rate and the {\bf operator-()}{\rm (p.\,\pageref{classeo_how_many_a8})} (for eo\-G3Repalcement) - -It is an {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} because we need to be able to use eo\-Param\-Value$<$eo\-How\-Many$>$ - - - -Definition at line 69 of file eo\-How\-Many.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoHowMany@{eo\-How\-Many}!eoHowMany@{eoHowMany}} -\index{eoHowMany@{eoHowMany}!eoHowMany@{eo\-How\-Many}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-How\-Many::eo\-How\-Many (double {\em \_\-rate} = {\tt 0.0}, bool {\em \_\-interpret\_\-as\_\-rate} = {\tt true})\hspace{0.3cm}{\tt [inline]}}\label{classeo_how_many_a0} - - -Original Ctor from direct rate + bool. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em rate}]the rate, OR the integer to store, depending on 2nd arg. \item[{\em \_\-interpret\_\-as\_\-rate}]to tell whether the rate actually is a rate \end{description} -\end{Desc} - - -Definition at line 76 of file eo\-How\-Many.h. - -\subsection{Member Function Documentation} -\index{eoHowMany@{eo\-How\-Many}!operator()@{operator()}} -\index{operator()@{operator()}!eoHowMany@{eo\-How\-Many}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned int eo\-How\-Many::operator() (unsigned int {\em \_\-size})\hspace{0.3cm}{\tt [inline]}}\label{classeo_how_many_a4} - - -Does what it was designed for combien==0 : return rate$\ast$\_\-size else combien$>$0 : return combien (regardless of \_\-size) combien$<$0 : return \_\-size-$|$combien$|$. - -\begin{itemize} -\item $\ast$ - $\ast$ - $\ast$ - \end{itemize} - - -Definition at line 114 of file eo\-How\-Many.h.\index{eoHowMany@{eo\-How\-Many}!printOn@{printOn}} -\index{printOn@{printOn}!eoHowMany@{eo\-How\-Many}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-How\-Many::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_how_many_a5} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 130 of file eo\-How\-Many.h.\index{eoHowMany@{eo\-How\-Many}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoHowMany@{eo\-How\-Many}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-How\-Many::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_how_many_a6} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-std::exception}]If a valid object can't be read. \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 140 of file eo\-How\-Many.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-How\-Many.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_incrementor.eps b/trunk/paradiseo-eo/doc/latex/classeo_incrementor.eps deleted file mode 100644 index 2ba20848e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_incrementor.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 606.061 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.825 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoIncrementor< T >) cw -(eoUpdater) cw -(eoF< void >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoIncrementor< T >) 0 0 box - (eoUpdater) 0 1 box - (eoF< void >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_incrementor.tex b/trunk/paradiseo-eo/doc/latex/classeo_incrementor.tex deleted file mode 100644 index f7598a98f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_incrementor.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Incrementor$<$ T $>$ Class Template Reference} -\label{classeo_incrementor}\index{eoIncrementor@{eoIncrementor}} -an {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} that simply increments a counter - - -{\tt \#include $<$eo\-Updater.h$>$} - -Inheritance diagram for eo\-Incrementor$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_incrementor} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Incrementor} (T \&\_\-counter, T \_\-stepsize=1)\label{classeo_incrementor_a0} - -\begin{CompactList}\small\item\em Default Ctor - requires a reference to the thing to increment. \item\end{CompactList}\item -virtual void {\bf operator()} ()\label{classeo_incrementor_a1} - -\begin{CompactList}\small\item\em Simply increments. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_incrementor_a2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T \& {\bf counter}\label{classeo_incrementor_r0} - -\item -T {\bf stepsize}\label{classeo_incrementor_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T$>$ class eo\-Incrementor$<$ T $>$} - -an {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} that simply increments a counter - - - -Definition at line 50 of file eo\-Updater.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_incrementor_param.eps b/trunk/paradiseo-eo/doc/latex/classeo_incrementor_param.eps deleted file mode 100644 index 90d9e146d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_incrementor_param.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 238.095 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.1 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoIncrementorParam< T >) cw -(eoUpdater) cw -(eoValueParam< T >) cw -(eoF< void >) cw -(eoParam) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoIncrementorParam< T >) 0.5 0 box - (eoUpdater) 0 1 box - (eoValueParam< T >) 1 1 box - (eoF< void >) 0 2 box - (eoParam) 1 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -0 0 1 out -solid -1 1 1 in -solid -0 1 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_incrementor_param.tex b/trunk/paradiseo-eo/doc/latex/classeo_incrementor_param.tex deleted file mode 100644 index 7db55e891..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_incrementor_param.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Incrementor\-Param$<$ T $>$ Class Template Reference} -\label{classeo_incrementor_param}\index{eoIncrementorParam@{eoIncrementorParam}} -an {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} that is an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} (and thus OWNS its counter) Mandatory for generation counter in make\_\-checkpoint - - -{\tt \#include $<$eo\-Updater.h$>$} - -Inheritance diagram for eo\-Incrementor\-Param$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_incrementor_param} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Incrementor\-Param} (std::string \_\-name, T \_\-stepsize=1)\label{classeo_incrementor_param_a0} - -\begin{CompactList}\small\item\em Default Ctor : a name and optionally an increment. \item\end{CompactList}\item -{\bf eo\-Incrementor\-Param} (std::string \_\-name, T \_\-count\-Value, T \_\-stepsize)\label{classeo_incrementor_param_a1} - -\begin{CompactList}\small\item\em Ctor with a name and non-zero initial value and mandatory step\-Size to remove ambiguity. \item\end{CompactList}\item -virtual void {\bf operator()} ()\label{classeo_incrementor_param_a2} - -\begin{CompactList}\small\item\em Simply increments. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_incrementor_param_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf stepsize}\label{classeo_incrementor_param_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T$>$ class eo\-Incrementor\-Param$<$ T $>$} - -an {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} that is an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} (and thus OWNS its counter) Mandatory for generation counter in make\_\-checkpoint - - - -Definition at line 71 of file eo\-Updater.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_init.eps deleted file mode 100644 index 36ca1fc87..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init.eps +++ /dev/null @@ -1,245 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 99.5025 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.025 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 5 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInit< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -(eoCombinedInit< EOT >) cw -(eoDistribution< EOT >) cw -(eoInitFixedLength< EOT >) cw -(eoInitVariableLength< EOT >) cw -(eoRealInitBounded< EOT >) cw -(eoPBILDistrib< EOT >) cw -(eoEsChromInit< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInit< EOT >) 2 2 box - (eoUF< EOT &, void >) 2 3 box - (eoFunctorBase) 1.5 4 box - (unary_function< EOT &, void >) 2.5 4 box - (eoCombinedInit< EOT >) 0 1 box - (eoDistribution< EOT >) 1 1 box - (eoInitFixedLength< EOT >) 2 1 box - (eoInitVariableLength< EOT >) 3 1 box - (eoRealInitBounded< EOT >) 4 1 box - (eoPBILDistrib< EOT >) 1 0 box - (eoEsChromInit< EOT >) 4 0 box - -% ----- relations ----- - -solid -0 2 2 out -solid -1 2 3 in -solid -0 2 3 out -solid -1.5 2.5 4 conn -solid -1 1.5 4 in -solid -1 2.5 4 in -solid -1 2 1.25 out -solid -0 4 2 conn -solid -0 0 1.75 in -solid -0 1 1.75 in -solid -1 1 0.25 out -solid -0 2 1.75 in -solid -0 3 1.75 in -solid -0 4 1.75 in -solid -1 4 0.25 out -solid -0 1 0.75 in -solid -0 4 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_init.tex deleted file mode 100644 index 7dd8a9669..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init.tex +++ /dev/null @@ -1,52 +0,0 @@ -\section{eo\-Init$<$ EOT $>$ Class Template Reference} -\label{classeo_init}\index{eoInit@{eoInit}} -Base (name) class for Initialization of chromosomes, used in a population contructor. - - -{\tt \#include $<$eo\-Init.h$>$} - -Inheritance diagram for eo\-Init$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.78607cm]{classeo_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} (void) const -\begin{CompactList}\small\item\em class\-Name: Mandatory because of {\bf eo\-Combined\-Init}{\rm (p.\,\pageref{classeo_combined_init})}. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Init$<$ EOT $>$} - -Base (name) class for Initialization of chromosomes, used in a population contructor. - -It is derived from {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}, so it can be used inside the algorithm as well. - -\begin{Desc} -\item[See also:]{\bf eo\-Pop}{\rm (p.\,\pageref{classeo_pop})} \end{Desc} - - - - -Definition at line 45 of file eo\-Init.h. - -\subsection{Member Function Documentation} -\index{eoInit@{eo\-Init}!className@{className}} -\index{className@{className}!eoInit@{eo\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual std::string {\bf eo\-Init}$<$ {\bf EOT} $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_init_a0} - - -class\-Name: Mandatory because of {\bf eo\-Combined\-Init}{\rm (p.\,\pageref{classeo_combined_init})}. - -SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 - -Reimplemented in {\bf eo\-Combined\-Init$<$ EOT $>$} {\rm (p.\,\pageref{classeo_combined_init_a4})}, {\bf eo\-PBILDistrib$<$ EOT $>$} {\rm (p.\,\pageref{classeo_p_b_i_l_distrib_a6})}, {\bf eo\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$} {\rm (p.\,\pageref{classeo_parse_tree_depth_init_a1})}, and {\bf eo\-St\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$} {\rm (p.\,\pageref{classeo_st_parse_tree_depth_init_a1})}. - -Definition at line 52 of file eo\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_adaptor.eps b/trunk/paradiseo-eo/doc/latex/classeo_init_adaptor.eps deleted file mode 100644 index df81dfd39..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_adaptor.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInitAdaptor< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInitAdaptor< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_adaptor.tex b/trunk/paradiseo-eo/doc/latex/classeo_init_adaptor.tex deleted file mode 100644 index 9db9eccf7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_adaptor.tex +++ /dev/null @@ -1,46 +0,0 @@ -\section{eo\-Init\-Adaptor$<$ EOT $>$ Class Template Reference} -\label{classeo_init_adaptor}\index{eoInitAdaptor@{eoInitAdaptor}} -eo\-Init\-Adaptor changes the place in the hierarchy from {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} to {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}. - - -{\tt \#include $<$eo\-Init.h$>$} - -Inheritance diagram for eo\-Init\-Adaptor$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_init_adaptor} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Init\-Adaptor} ({\bf eo\-Init}$<$ {\bf EOT} $>$ \&\_\-init)\label{classeo_init_adaptor_a0} - -\item -bool {\bf operator()} ({\bf EOT} \&\_\-eot)\label{classeo_init_adaptor_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Init}$<$ {\bf EOT} $>$ \& {\bf init}\label{classeo_init_adaptor_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Init\-Adaptor$<$ EOT $>$} - -eo\-Init\-Adaptor changes the place in the hierarchy from {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} to {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}. - -This is mainly a type conversion, nothing else \begin{Desc} -\item[See also:]{\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}, {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})} \end{Desc} - - - - -Definition at line 157 of file eo\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_fixed_length.eps b/trunk/paradiseo-eo/doc/latex/classeo_init_fixed_length.eps deleted file mode 100644 index 9c47cdb03..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_fixed_length.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 199.005 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.5125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInitFixedLength< EOT >) cw -(eoInit< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInitFixedLength< EOT >) 0.5 0 box - (eoInit< EOT >) 0.5 1 box - (eoUF< EOT &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EOT &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_fixed_length.tex b/trunk/paradiseo-eo/doc/latex/classeo_init_fixed_length.tex deleted file mode 100644 index f14e3788b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_fixed_length.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Init\-Fixed\-Length$<$ EOT $>$ Class Template Reference} -\label{classeo_init_fixed_length}\index{eoInitFixedLength@{eoInitFixedLength}} -Initializer for fixed length representations with a single type. - - -{\tt \#include $<$eo\-Init.h$>$} - -Inheritance diagram for eo\-Init\-Fixed\-Length$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_init_fixed_length} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_init_fixed_length_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Init\-Fixed\-Length} (unsigned \_\-combien, {\bf eo\-Rnd\-Generator}$<$ Atom\-Type $>$ \&\_\-generator)\label{classeo_init_fixed_length_a0} - -\item -virtual void {\bf operator()} ({\bf EOT} \&chrom)\label{classeo_init_fixed_length_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf combien}\label{classeo_init_fixed_length_r0} - -\item -{\bf eo\-STLF}$<$ Atom\-Type $>$ {\bf generator}\label{classeo_init_fixed_length_r1} - -\begin{CompactList}\small\item\em generic wrapper for eo\-Functor (s), to make them have the function-pointer style copy semantics \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Init\-Fixed\-Length$<$ EOT $>$} - -Initializer for fixed length representations with a single type. - - - -Definition at line 81 of file eo\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_generator.eps b/trunk/paradiseo-eo/doc/latex/classeo_init_generator.eps deleted file mode 100644 index 10b433b2a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_generator.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 384.615 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.3 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInitGenerator< EOT >) cw -(eoF< EOT >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInitGenerator< EOT >) 0 0 box - (eoF< EOT >) 0 1 box - (eoFunctorBase) 0 2 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_generator.tex b/trunk/paradiseo-eo/doc/latex/classeo_init_generator.tex deleted file mode 100644 index 7236a0a7f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_generator.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-Init\-Generator$<$ EOT $>$ Class Template Reference} -\label{classeo_init_generator}\index{eoInitGenerator@{eoInitGenerator}} -turning an {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} into a generator probably we should only use genrators - and suppress {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} ??? MS - July 2001 - - -{\tt \#include $<$eo\-Init.h$>$} - -Inheritance diagram for eo\-Init\-Generator$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_init_generator} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Init\-Generator} ({\bf eo\-Init}$<$ {\bf EOT} $>$ \&\_\-init)\label{classeo_init_generator_a0} - -\begin{CompactList}\small\item\em Ctor from a plain {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}. \item\end{CompactList}\item -virtual {\bf EOT} {\bf operator()} ()\label{classeo_init_generator_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Init}$<$ {\bf EOT} $>$ \& {\bf init}\label{classeo_init_generator_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Init\-Generator$<$ EOT $>$} - -turning an {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} into a generator probably we should only use genrators - and suppress {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} ??? MS - July 2001 - - - -Definition at line 60 of file eo\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_variable_length.eps b/trunk/paradiseo-eo/doc/latex/classeo_init_variable_length.eps deleted file mode 100644 index 360cdb4ee..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_variable_length.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 199.005 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.5125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInitVariableLength< EOT >) cw -(eoInit< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInitVariableLength< EOT >) 0.5 0 box - (eoInit< EOT >) 0.5 1 box - (eoUF< EOT &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EOT &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_variable_length.tex b/trunk/paradiseo-eo/doc/latex/classeo_init_variable_length.tex deleted file mode 100644 index 5b8eacd26..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_variable_length.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{eo\-Init\-Variable\-Length$<$ EOT $>$ Class Template Reference} -\label{classeo_init_variable_length}\index{eoInitVariableLength@{eoInitVariableLength}} -Initializer for variable length representations with a single type. - - -{\tt \#include $<$eo\-Init.h$>$} - -Inheritance diagram for eo\-Init\-Variable\-Length$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_init_variable_length} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_init_variable_length_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Init\-Variable\-Length} (unsigned \_\-min\-Size, unsigned \_\-max\-Size, {\bf eo\-Init}$<$ Atom\-Type $>$ \&\_\-init)\label{classeo_init_variable_length_a0} - -\begin{CompactList}\small\item\em Ctor from an {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}. \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf EOT} \&\_\-chrom)\label{classeo_init_variable_length_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -{\bf eo\-Init}$<$ Atom\-Type $>$ \& {\bf atom\-Init} ()\label{classeo_init_variable_length_a2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf offset}\label{classeo_init_variable_length_r0} - -\item -unsigned {\bf extent}\label{classeo_init_variable_length_r1} - -\item -{\bf eo\-Init}$<$ Atom\-Type $>$ \& {\bf init}\label{classeo_init_variable_length_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Init\-Variable\-Length$<$ EOT $>$} - -Initializer for variable length representations with a single type. - - - -Definition at line 107 of file eo\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_virus.eps b/trunk/paradiseo-eo/doc/latex/classeo_init_virus.eps deleted file mode 100644 index 50c8b30fd..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_virus.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 150.943 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.3125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInitVirus< FitT >) cw -(eoInit< eoVirus< FitT > >) cw -(eoUF< eoVirus< FitT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoVirus< FitT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInitVirus< FitT >) 0.5 0 box - (eoInit< eoVirus< FitT > >) 0.5 1 box - (eoUF< eoVirus< FitT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoVirus< FitT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_virus.tex b/trunk/paradiseo-eo/doc/latex/classeo_init_virus.tex deleted file mode 100644 index 3a28dd1fa..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_virus.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Init\-Virus$<$ Fit\-T $>$ Class Template Reference} -\label{classeo_init_virus}\index{eoInitVirus@{eoInitVirus}} -Initializer for binary chromosome with MGE. - - -{\tt \#include $<$eo\-Init\-Virus.h$>$} - -Inheritance diagram for eo\-Init\-Virus$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_init_virus} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Init\-Virus} (unsigned \_\-combien, {\bf eo\-Rnd\-Generator}$<$ bool $>$ \&\_\-generator)\label{classeo_init_virus_a0} - -\item -virtual void {\bf operator()} (eo\-Virus$<$ {\bf Fit\-T} $>$ \&chrom)\label{classeo_init_virus_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf combien}\label{classeo_init_virus_r0} - -\item -{\bf eo\-STLF}$<$ bool $>$ {\bf generator}\label{classeo_init_virus_r1} - -\begin{CompactList}\small\item\em generic wrapper for eo\-Functor (s), to make them have the function-pointer style copy semantics \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class eo\-Init\-Virus$<$ Fit\-T $>$} - -Initializer for binary chromosome with MGE. - - - -Definition at line 41 of file eo\-Init\-Virus.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Init\-Virus.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_virus1bit.eps b/trunk/paradiseo-eo/doc/latex/classeo_init_virus1bit.eps deleted file mode 100644 index 6b478271a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_virus1bit.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 150.943 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.3125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInitVirus1bit< FitT >) cw -(eoInit< eoVirus< FitT > >) cw -(eoUF< eoVirus< FitT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoVirus< FitT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInitVirus1bit< FitT >) 0.5 0 box - (eoInit< eoVirus< FitT > >) 0.5 1 box - (eoUF< eoVirus< FitT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoVirus< FitT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_init_virus1bit.tex b/trunk/paradiseo-eo/doc/latex/classeo_init_virus1bit.tex deleted file mode 100644 index 025059685..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_init_virus1bit.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Init\-Virus1bit$<$ Fit\-T $>$ Class Template Reference} -\label{classeo_init_virus1bit}\index{eoInitVirus1bit@{eoInitVirus1bit}} -Inits the virus with one bit to the left set to one. - - -{\tt \#include $<$eo\-Init\-Virus.h$>$} - -Inheritance diagram for eo\-Init\-Virus1bit$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_init_virus1bit} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Init\-Virus1bit} (unsigned \_\-combien, {\bf eo\-Rnd\-Generator}$<$ bool $>$ \&\_\-generator)\label{classeo_init_virus1bit_a0} - -\item -virtual void {\bf operator()} (eo\-Virus$<$ {\bf Fit\-T} $>$ \&chrom)\label{classeo_init_virus1bit_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf combien}\label{classeo_init_virus1bit_r0} - -\item -{\bf eo\-STLF}$<$ bool $>$ {\bf generator}\label{classeo_init_virus1bit_r1} - -\begin{CompactList}\small\item\em generic wrapper for eo\-Functor (s), to make them have the function-pointer style copy semantics \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class eo\-Init\-Virus1bit$<$ Fit\-T $>$} - -Inits the virus with one bit to the left set to one. - - - -Definition at line 66 of file eo\-Init\-Virus.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Init\-Virus.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_inner_exchange_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_inner_exchange_quad_op.eps deleted file mode 100644 index 8c6fd2c59..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_inner_exchange_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInnerExchangeQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInnerExchangeQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_inner_exchange_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_inner_exchange_quad_op.tex deleted file mode 100644 index 5c17c459b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_inner_exchange_quad_op.tex +++ /dev/null @@ -1,56 +0,0 @@ -\section{eo\-Inner\-Exchange\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_inner_exchange_quad_op}\index{eoInnerExchangeQuadOp@{eoInnerExchangeQuadOp}} -Crossover using an Atom\-Crossover. - - -{\tt \#include $<$eo\-Variable\-Length\-Crossover.h$>$} - -Inheritance diagram for eo\-Inner\-Exchange\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_inner_exchange_quad_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_inner_exchange_quad_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Inner\-Exchange\-Quad\-Op} ({\bf eo\-Quad\-Op}$<$ Atom\-Type $>$ \&\_\-op, float \_\-rate=0.5)\label{classeo_inner_exchange_quad_op_a0} - -\begin{CompactList}\small\item\em default ctor: requires bounds on number of genes + a rate \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2)\label{classeo_inner_exchange_quad_op_a1} - -\begin{CompactList}\small\item\em performs the Atom crossover \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_inner_exchange_quad_op_a2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -float {\bf rate}\label{classeo_inner_exchange_quad_op_r0} - -\item -{\bf eo\-Quad\-Op}$<$ Atom\-Type $>$ \& {\bf op}\label{classeo_inner_exchange_quad_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Inner\-Exchange\-Quad\-Op$<$ EOT $>$} - -Crossover using an Atom\-Crossover. - -Probably irrelevant in Variable Length - see {\bf eo\-Fl\-Or\-Bin\-Op.h}{\rm (p.\,\pageref{eo_fl_or_bin_op_8h})} and {\bf eo\-Fl\-Or\-Quad\-Op.h}{\rm (p.\,\pageref{eo_fl_or_quad_op_8h})} for the similar Fixed Length operators - - - -Definition at line 172 of file eo\-Variable\-Length\-Crossover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Crossover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_above_bound.eps b/trunk/paradiseo-eo/doc/latex/classeo_int_above_bound.eps deleted file mode 100644 index c4ada49fc..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_above_bound.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 666.667 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.75 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoIntAboveBound) cw -(eoIntBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoIntAboveBound) 0 0 box - (eoIntBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_above_bound.tex b/trunk/paradiseo-eo/doc/latex/classeo_int_above_bound.tex deleted file mode 100644 index c813414f7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_above_bound.tex +++ /dev/null @@ -1,115 +0,0 @@ -\section{eo\-Int\-Above\-Bound Class Reference} -\label{classeo_int_above_bound}\index{eoIntAboveBound@{eoIntAboveBound}} -An eo\-Int\-Bound bounded from above only. - - -{\tt \#include $<$eo\-Int\-Bounds.h$>$} - -Inheritance diagram for eo\-Int\-Above\-Bound::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_int_above_bound} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Int\-Above\-Bound} (long int \_\-max=0)\label{classeo_int_above_bound_a1} - -\begin{CompactList}\small\item\em Simple bounds = minimum. \item\end{CompactList}\item -virtual long int {\bf maximum} () const \label{classeo_int_above_bound_a2} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf minimum} () const \label{classeo_int_above_bound_a3} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf range} () const \label{classeo_int_above_bound_a4} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_int_above_bound_a5} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \item\end{CompactList}\item -virtual long int {\bf random} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_int_above_bound_a6} - -\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_int_above_bound_a7} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_int_above_bound_a8} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_int_above_bound_a9} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_int_above_bound_a10} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double \_\-r) const \label{classeo_int_above_bound_a11} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&\_\-r) const \label{classeo_int_above_bound_a12} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&\_\-r) const \label{classeo_int_above_bound_a13} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual {\bf eo\-Int\-Bounds} $\ast$ {\bf dup} () const \label{classeo_int_above_bound_a16} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -long int {\bf rep\-Maximum}\label{classeo_int_above_bound_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -An eo\-Int\-Bound bounded from above only. - - - -Definition at line 441 of file eo\-Int\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoIntAboveBound@{eo\-Int\-Above\-Bound}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoIntAboveBound@{eo\-Int\-Above\-Bound}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Int\-Above\-Bound::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_int_above_bound_a14} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. but reading should not be done here, because of bound problems see eo\-Int\-Vector\-Bounds \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 512 of file eo\-Int\-Bounds.h.\index{eoIntAboveBound@{eo\-Int\-Above\-Bound}!printOn@{printOn}} -\index{printOn@{printOn}!eoIntAboveBound@{eo\-Int\-Above\-Bound}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Int\-Above\-Bound::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_int_above_bound_a15} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 521 of file eo\-Int\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Int\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_below_bound.eps b/trunk/paradiseo-eo/doc/latex/classeo_int_below_bound.eps deleted file mode 100644 index 79316ddbf..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_below_bound.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 683.761 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.73125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoIntBelowBound) cw -(eoIntBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoIntBelowBound) 0 0 box - (eoIntBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_below_bound.tex b/trunk/paradiseo-eo/doc/latex/classeo_int_below_bound.tex deleted file mode 100644 index dc7d8d771..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_below_bound.tex +++ /dev/null @@ -1,115 +0,0 @@ -\section{eo\-Int\-Below\-Bound Class Reference} -\label{classeo_int_below_bound}\index{eoIntBelowBound@{eoIntBelowBound}} -an eo\-Int\-Bound bounded from below only - - -{\tt \#include $<$eo\-Int\-Bounds.h$>$} - -Inheritance diagram for eo\-Int\-Below\-Bound::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_int_below_bound} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Int\-Below\-Bound} (long int \_\-min=0)\label{classeo_int_below_bound_a1} - -\begin{CompactList}\small\item\em Simple bounds = minimum. \item\end{CompactList}\item -virtual long int {\bf minimum} () const \label{classeo_int_below_bound_a2} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf maximum} () const \label{classeo_int_below_bound_a3} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf range} () const \label{classeo_int_below_bound_a4} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_int_below_bound_a5} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \item\end{CompactList}\item -virtual long int {\bf random} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_int_below_bound_a6} - -\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_int_below_bound_a7} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_int_below_bound_a8} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_int_below_bound_a9} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_int_below_bound_a10} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double \_\-r) const \label{classeo_int_below_bound_a11} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&\_\-r) const \label{classeo_int_below_bound_a12} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&\_\-r) const \label{classeo_int_below_bound_a13} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual {\bf eo\-Int\-Bounds} $\ast$ {\bf dup} () const \label{classeo_int_below_bound_a16} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -long int {\bf rep\-Minimum}\label{classeo_int_below_bound_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -an eo\-Int\-Bound bounded from below only - - - -Definition at line 344 of file eo\-Int\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoIntBelowBound@{eo\-Int\-Below\-Bound}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoIntBelowBound@{eo\-Int\-Below\-Bound}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Int\-Below\-Bound::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_int_below_bound_a14} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. but reading should not be done here, because of bound problems see eo\-Int\-Vector\-Bounds \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 414 of file eo\-Int\-Bounds.h.\index{eoIntBelowBound@{eo\-Int\-Below\-Bound}!printOn@{printOn}} -\index{printOn@{printOn}!eoIntBelowBound@{eo\-Int\-Below\-Bound}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Int\-Below\-Bound::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_int_below_bound_a15} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 423 of file eo\-Int\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Int\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_int_bounds.eps deleted file mode 100644 index 98dfd1e19..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_bounds.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 119.403 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.1875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 5 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoIntBounds) cw -(eoPersistent) cw -(eoPrintable) cw -(eoGeneralIntBounds) cw -(eoIntAboveBound) cw -(eoIntBelowBound) cw -(eoIntInterval) cw -(eoIntNoBounds) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoIntBounds) 2 1 box - (eoPersistent) 2 2 box - (eoPrintable) 2 3 box - (eoGeneralIntBounds) 0 0 box - (eoIntAboveBound) 1 0 box - (eoIntBelowBound) 2 0 box - (eoIntInterval) 3 0 box - (eoIntNoBounds) 4 0 box - -% ----- relations ----- - -solid -0 2 1 out -solid -1 2 2 in -solid -0 2 2 out -solid -1 2 3 in -solid -1 2 0.25 out -solid -0 4 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in -solid -0 4 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_int_bounds.tex deleted file mode 100644 index d0b2a29eb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_bounds.tex +++ /dev/null @@ -1,89 +0,0 @@ -\section{eo\-Int\-Bounds Class Reference} -\label{classeo_int_bounds}\index{eoIntBounds@{eoIntBounds}} -Defines bound classes for real numbers. - - -{\tt \#include $<$es/eo\-Int\-Bounds.h$>$} - -Inheritance diagram for eo\-Int\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.34328cm]{classeo_int_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual bool {\bf is\-Bounded} (void) const =0\label{classeo_int_bounds_a1} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const =0\label{classeo_int_bounds_a2} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const =0\label{classeo_int_bounds_a3} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const =0\label{classeo_int_bounds_a4} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double) const =0\label{classeo_int_bounds_a5} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&) const =0\label{classeo_int_bounds_a6} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (long int \&i) const \label{classeo_int_bounds_a7} - -\begin{CompactList}\small\item\em folds\-In\-Bounds for ints: call the method for double and convert back \item\end{CompactList}\item -virtual void {\bf truncate} (double \&) const =0\label{classeo_int_bounds_a8} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual void {\bf truncate} (long int \&i) const \label{classeo_int_bounds_a9} - -\begin{CompactList}\small\item\em truncate for ints: call the method for double and convert back \item\end{CompactList}\item -virtual long int {\bf minimum} () const =0\label{classeo_int_bounds_a10} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf maximum} () const =0\label{classeo_int_bounds_a11} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf range} () const =0\label{classeo_int_bounds_a12} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const =0\label{classeo_int_bounds_a13} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \item\end{CompactList}\item -virtual long int {\bf random} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const =0\label{classeo_int_bounds_a14} - -\item -virtual {\bf eo\-Int\-Bounds} $\ast$ {\bf dup} () const =0\label{classeo_int_bounds_a15} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Defines bound classes for real numbers. - -Scalar type: ------------ Basic class is eo\-Int\-Bounds, a pure virtual. - -The following pure virtual methods are to be used in mutations:\begin{itemize} -\item void folds\-In\-Bounds(long int \&) that folds any value that falls out of the bounds back into the bounds, by bouncing on the limit (if any)\item bool is\-In\-Bounds(long int) that simply says whether or not the argument is in the bounds\item void truncate(long int \&) that set the argument to the bound value it it exceeds it\end{itemize} - - -So mutation can choose\begin{itemize} -\item iterate trying until they fall in bounds,\item only try once and \char`\"{}restd::pair\char`\"{} by using the folds\-In\-Bounds method\item only try once and restd::pair using the truncate method (will create a huge bias toward the bound if the soluiton is not far from the bounds)\end{itemize} - - -There is also a {\bf uniform()}{\rm (p.\,\pageref{classeo_int_bounds_a13})} method that generates a uniform value (if possible, i.e. if bounded) in the interval. - -Derived class are {\bf eo\-Int\-Interval}{\rm (p.\,\pageref{classeo_int_interval})} that holds a minimum and maximum value, {\bf eo\-Int\-No\-Bounds}{\rm (p.\,\pageref{classeo_int_no_bounds})} the \char`\"{}unbounded bounds\char`\"{} (-infinity, +infinity) {\bf eo\-Int\-Below\-Bound}{\rm (p.\,\pageref{classeo_int_below_bound})} the half-bounded interval [min, +infinity) {\bf eo\-Int\-Above\-Bound}{\rm (p.\,\pageref{classeo_int_above_bound})} the half-bounded interval (-infinity, max] - -THis file also contains the declaration of $\ast$the$\ast$ global object that is the unbounded bound - - - -Definition at line 75 of file eo\-Int\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Int\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_interval.eps b/trunk/paradiseo-eo/doc/latex/classeo_int_interval.eps deleted file mode 100644 index 3813a8d47..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_interval.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 898.876 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.55625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoIntInterval) cw -(eoIntBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoIntInterval) 0 0 box - (eoIntBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_interval.tex b/trunk/paradiseo-eo/doc/latex/classeo_int_interval.tex deleted file mode 100644 index e8bc46585..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_interval.tex +++ /dev/null @@ -1,121 +0,0 @@ -\section{eo\-Int\-Interval Class Reference} -\label{classeo_int_interval}\index{eoIntInterval@{eoIntInterval}} -fully bounded eo\-Int\-Bound == interval - - -{\tt \#include $<$eo\-Int\-Bounds.h$>$} - -Inheritance diagram for eo\-Int\-Interval::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_int_interval} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Int\-Interval} (long int \_\-min=0, long int \_\-max=1)\label{classeo_int_interval_a1} - -\begin{CompactList}\small\item\em Simple bounds = minimum and maximum (allowed). \item\end{CompactList}\item -virtual long int {\bf minimum} () const \label{classeo_int_interval_a2} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf maximum} () const \label{classeo_int_interval_a3} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf range} () const \label{classeo_int_interval_a4} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_int_interval_a5} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_int_interval_a6} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_int_interval_a7} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_int_interval_a8} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_int_interval_a9} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \item\end{CompactList}\item -virtual long int {\bf random} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_int_interval_a10} - -\item -virtual bool {\bf is\-In\-Bounds} (double \_\-r) const \label{classeo_int_interval_a11} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&\_\-r) const \label{classeo_int_interval_a12} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&\_\-r) const \label{classeo_int_interval_a13} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual {\bf eo\-Int\-Bounds} $\ast$ {\bf dup} () const \label{classeo_int_interval_a16} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -long int {\bf rep\-Minimum}\label{classeo_int_interval_r0} - -\item -long int {\bf rep\-Maximum}\label{classeo_int_interval_r1} - -\item -long int {\bf rep\-Range}\label{classeo_int_interval_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -fully bounded eo\-Int\-Bound == interval - - - -Definition at line 223 of file eo\-Int\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoIntInterval@{eo\-Int\-Interval}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoIntInterval@{eo\-Int\-Interval}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Int\-Interval::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_int_interval_a14} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. but reading should not be done here, because of bound problems see eo\-Int\-Vector\-Bounds \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 315 of file eo\-Int\-Bounds.h.\index{eoIntInterval@{eo\-Int\-Interval}!printOn@{printOn}} -\index{printOn@{printOn}!eoIntInterval@{eo\-Int\-Interval}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Int\-Interval::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_int_interval_a15} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 324 of file eo\-Int\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Int\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_no_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_int_no_bounds.eps deleted file mode 100644 index 27a97e5aa..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_no_bounds.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 761.905 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.65625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoIntNoBounds) cw -(eoIntBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoIntNoBounds) 0 0 box - (eoIntBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_int_no_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_int_no_bounds.tex deleted file mode 100644 index d1048da89..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_int_no_bounds.tex +++ /dev/null @@ -1,106 +0,0 @@ -\section{eo\-Int\-No\-Bounds Class Reference} -\label{classeo_int_no_bounds}\index{eoIntNoBounds@{eoIntNoBounds}} -A default class for unbounded variables. - - -{\tt \#include $<$eo\-Int\-Bounds.h$>$} - -Inheritance diagram for eo\-Int\-No\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_int_no_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_int_no_bounds_a1} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_int_no_bounds_a2} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_int_no_bounds_a3} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_int_no_bounds_a4} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&) const \label{classeo_int_no_bounds_a5} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&) const \label{classeo_int_no_bounds_a6} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double) const \label{classeo_int_no_bounds_a7} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual long int {\bf minimum} () const \label{classeo_int_no_bounds_a8} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf maximum} () const \label{classeo_int_no_bounds_a9} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual long int {\bf range} () const \label{classeo_int_no_bounds_a10} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_int_no_bounds_a11} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \item\end{CompactList}\item -virtual long int {\bf random} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_int_no_bounds_a12} - -\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual {\bf eo\-Int\-Bounds} $\ast$ {\bf dup} () const \label{classeo_int_no_bounds_a15} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -A default class for unbounded variables. - - - -Definition at line 153 of file eo\-Int\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoIntNoBounds@{eo\-Int\-No\-Bounds}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoIntNoBounds@{eo\-Int\-No\-Bounds}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Int\-No\-Bounds::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_int_no_bounds_a13} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. but reading should not be done here, because of bound problems see eo\-Int\-Vector\-Bounds \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 195 of file eo\-Int\-Bounds.h.\index{eoIntNoBounds@{eo\-Int\-No\-Bounds}!printOn@{printOn}} -\index{printOn@{printOn}!eoIntNoBounds@{eo\-Int\-No\-Bounds}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Int\-No\-Bounds::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_int_no_bounds_a14} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 204 of file eo\-Int\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Int\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_invalidate_bin_op.eps deleted file mode 100644 index bcc487461..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInvalidateBinOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInvalidateBinOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_invalidate_bin_op.tex deleted file mode 100644 index 924155232..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_bin_op.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Invalidate\-Bin\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_invalidate_bin_op}\index{eoInvalidateBinOp@{eoInvalidateBinOp}} -One of the invalidator operators. - - -{\tt \#include $<$eo\-Invalidate\-Ops.h$>$} - -Inheritance diagram for eo\-Invalidate\-Bin\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_invalidate_bin_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Invalidate\-Bin\-Op} ({\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \&\_\-op)\label{classeo_invalidate_bin_op_a0} - -\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo, const {\bf EOT} \&\_\-eo2)\label{classeo_invalidate_bin_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \& {\bf op}\label{classeo_invalidate_bin_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Invalidate\-Bin\-Op$<$ EOT $>$} - -One of the invalidator operators. - -Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual. - -This functor is used in algorithms that work with straight {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}, {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})} or {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} operators, for instance {\bf eo\-SGA}{\rm (p.\,\pageref{classeo_s_g_a})}. Note that {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} derived operators generally do invalidate the fitness of the objects they have changed. - -Return value means \char`\"{}Has\_\-Changed\char`\"{} and not \char`\"{}Needs\_\-To\_\-Be\_\-Invalidated\char`\"{} as successive invalidation are not really a problem - - - -Definition at line 80 of file eo\-Invalidate\-Ops.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Invalidate\-Ops.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_mon_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_invalidate_mon_op.eps deleted file mode 100644 index 32962b509..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_mon_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInvalidateMonOp< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInvalidateMonOp< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_mon_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_invalidate_mon_op.tex deleted file mode 100644 index e66cd9bf8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_mon_op.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Invalidate\-Mon\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_invalidate_mon_op}\index{eoInvalidateMonOp@{eoInvalidateMonOp}} -One of the invalidator operators. - - -{\tt \#include $<$eo\-Invalidate\-Ops.h$>$} - -Inheritance diagram for eo\-Invalidate\-Mon\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_invalidate_mon_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Invalidate\-Mon\-Op} ({\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-op)\label{classeo_invalidate_mon_op_a0} - -\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_invalidate_mon_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \& {\bf op}\label{classeo_invalidate_mon_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Invalidate\-Mon\-Op$<$ EOT $>$} - -One of the invalidator operators. - -Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual. - -This functor is used in algorithms that work with straight {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}, {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})} or {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} operators, for instance {\bf eo\-SGA}{\rm (p.\,\pageref{classeo_s_g_a})}. Note that {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} derived operators generally do invalidate the fitness of the objects they have changed. - -Return value means \char`\"{}Has\_\-Changed\char`\"{} and not \char`\"{}Needs\_\-To\_\-Be\_\-Invalidated\char`\"{} as successive invalidation are not really a problem - - - -Definition at line 46 of file eo\-Invalidate\-Ops.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Invalidate\-Ops.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_invalidate_quad_op.eps deleted file mode 100644 index e7a49be40..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoInvalidateQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoInvalidateQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_invalidate_quad_op.tex deleted file mode 100644 index 3b442fb35..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_invalidate_quad_op.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Invalidate\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_invalidate_quad_op}\index{eoInvalidateQuadOp@{eoInvalidateQuadOp}} -One of the invalidator operators. - - -{\tt \#include $<$eo\-Invalidate\-Ops.h$>$} - -Inheritance diagram for eo\-Invalidate\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_invalidate_quad_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Invalidate\-Quad\-Op} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-op)\label{classeo_invalidate_quad_op_a0} - -\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2)\label{classeo_invalidate_quad_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \& {\bf op}\label{classeo_invalidate_quad_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Invalidate\-Quad\-Op$<$ EOT $>$} - -One of the invalidator operators. - -Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual. - -This functor is used in algorithms that work with straight {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}, {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})} or {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} operators, for instance {\bf eo\-SGA}{\rm (p.\,\pageref{classeo_s_g_a})}. Note that {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} derived operators generally do invalidate the fitness of the objects they have changed. - -Return value means \char`\"{}Has\_\-Changed\char`\"{} and not \char`\"{}Needs\_\-To\_\-Be\_\-Invalidated\char`\"{} as successive invalidation are not really a problem - - - -Definition at line 114 of file eo\-Invalidate\-Ops.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Invalidate\-Ops.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_linear_fit_scaling.eps b/trunk/paradiseo-eo/doc/latex/classeo_linear_fit_scaling.eps deleted file mode 100644 index 04d5f4601..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_linear_fit_scaling.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoLinearFitScaling< EOT >) cw -(eoPerf2Worth< EOT >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< double > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoLinearFitScaling< EOT >) 1.25 0 box - (eoPerf2Worth< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, void >) 0.5 2 box - (eoValueParam< std::vector< double > >) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, void >) 1 3 box - (eoParam) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_linear_fit_scaling.tex b/trunk/paradiseo-eo/doc/latex/classeo_linear_fit_scaling.tex deleted file mode 100644 index f93875905..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_linear_fit_scaling.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-Linear\-Fit\-Scaling$<$ EOT $>$ Class Template Reference} -\label{classeo_linear_fit_scaling}\index{eoLinearFitScaling@{eoLinearFitScaling}} -An instance of {\bf eo\-Perf2Worth}{\rm (p.\,\pageref{classeo_perf2_worth})} COmputes the linearly scaled fitnesses with given selective pressure Pselect(Best) == pressure/size\-Pop Pselect(average) == 1.0/size\-Pop truncate negative values to 0 -. - - -{\tt \#include $<$eo\-Linear\-Fit\-Scaling.h$>$} - -Inheritance diagram for eo\-Linear\-Fit\-Scaling$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_linear_fit_scaling} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Linear\-Fit\-Scaling} (double \_\-p=2.0)\label{classeo_linear_fit_scaling_a0} - -\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_linear_fit_scaling_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf pressure}\label{classeo_linear_fit_scaling_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Linear\-Fit\-Scaling$<$ EOT $>$} - -An instance of {\bf eo\-Perf2Worth}{\rm (p.\,\pageref{classeo_perf2_worth})} COmputes the linearly scaled fitnesses with given selective pressure Pselect(Best) == pressure/size\-Pop Pselect(average) == 1.0/size\-Pop truncate negative values to 0 -. - -to be used within an {\bf eo\-Select\-From\-Worth}{\rm (p.\,\pageref{classeo_select_from_worth})} object - - - -Definition at line 43 of file eo\-Linear\-Fit\-Scaling.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Linear\-Fit\-Scaling.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_linear_random_split.eps b/trunk/paradiseo-eo/doc/latex/classeo_linear_random_split.eps deleted file mode 100644 index 57de0cb2c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_linear_random_split.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoLinearRandomSplit< EOT >) cw -(eoReduceSplit< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoLinearRandomSplit< EOT >) 0.5 0 box - (eoReduceSplit< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_linear_random_split.tex b/trunk/paradiseo-eo/doc/latex/classeo_linear_random_split.tex deleted file mode 100644 index 3b0978802..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_linear_random_split.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Linear\-Random\-Split$<$ EOT $>$ Class Template Reference} -\label{classeo_linear_random_split}\index{eoLinearRandomSplit@{eoLinearRandomSplit}} -random truncation - linear version - - -{\tt \#include $<$eo\-Reduce\-Split.h$>$} - -Inheritance diagram for eo\-Linear\-Random\-Split$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_linear_random_split} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Linear\-Random\-Split} ({\bf eo\-How\-Many} \_\-how\-Many, bool \_\-return\-Eliminated=false)\label{classeo_linear_random_split_a0} - -\begin{CompactList}\small\item\em Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-eliminated)\label{classeo_linear_random_split_a1} - -\begin{CompactList}\small\item\em do the job \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_linear_random_split_r0} - -\item -bool {\bf return\-Eliminated}\label{classeo_linear_random_split_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Linear\-Random\-Split$<$ EOT $>$} - -random truncation - linear version - - - -Definition at line 163 of file eo\-Reduce\-Split.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Split.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate.eps b/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate.eps deleted file mode 100644 index d8d7d8b7f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 123.457 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.05 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoLinearTruncate< EOT >) cw -(eoReduce< EOT >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, unsigned, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoLinearTruncate< EOT >) 0.5 0 box - (eoReduce< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, unsigned, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, unsigned, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate.tex b/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate.tex deleted file mode 100644 index 22612917b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate.tex +++ /dev/null @@ -1,35 +0,0 @@ -\section{eo\-Linear\-Truncate$<$ EOT $>$ Class Template Reference} -\label{classeo_linear_truncate}\index{eoLinearTruncate@{eoLinearTruncate}} -a truncate class that does not sort, but repeatidely kills the worse. - - -{\tt \#include $<$eo\-Reduce.h$>$} - -Inheritance diagram for eo\-Linear\-Truncate$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.45679cm]{classeo_linear_truncate} -\end{center} -\end{figure} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, unsigned \_\-newsize)\label{classeo_linear_truncate_d0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Linear\-Truncate$<$ EOT $>$} - -a truncate class that does not sort, but repeatidely kills the worse. - -To be used in SSGA-like replacements (e.g. see {\bf eo\-SSGAWorse\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_worse_replacement})}) - - - -Definition at line 167 of file eo\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate_split.eps b/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate_split.eps deleted file mode 100644 index e9916798a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate_split.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoLinearTruncateSplit< EOT >) cw -(eoReduceSplit< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoLinearTruncateSplit< EOT >) 0.5 0 box - (eoReduceSplit< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate_split.tex b/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate_split.tex deleted file mode 100644 index b7716387e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_linear_truncate_split.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Linear\-Truncate\-Split$<$ EOT $>$ Class Template Reference} -\label{classeo_linear_truncate_split}\index{eoLinearTruncateSplit@{eoLinearTruncateSplit}} -a Reduce\-Split class that does not sort, but repeatidely kills the worse. - - -{\tt \#include $<$eo\-Reduce\-Split.h$>$} - -Inheritance diagram for eo\-Linear\-Truncate\-Split$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_linear_truncate_split} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Linear\-Truncate\-Split} ({\bf eo\-How\-Many} \_\-how\-Many, bool \_\-return\-Eliminated=false)\label{classeo_linear_truncate_split_a0} - -\begin{CompactList}\small\item\em Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-eliminated)\label{classeo_linear_truncate_split_a1} - -\begin{CompactList}\small\item\em do the job \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_linear_truncate_split_r0} - -\item -bool {\bf return\-Eliminated}\label{classeo_linear_truncate_split_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Linear\-Truncate\-Split$<$ EOT $>$} - -a Reduce\-Split class that does not sort, but repeatidely kills the worse. - -To be used in SSGA-like replacements (e.g. see {\bf eo\-SSGAWorse\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_worse_replacement})}) - - - -Definition at line 87 of file eo\-Reduce\-Split.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Split.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_m_g_g_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_m_g_g_replacement.eps deleted file mode 100644 index bee144478..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_m_g_g_replacement.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoMGGReplacement< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoMGGReplacement< EOT >) 0.5 0 box - (eoReplacement< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_m_g_g_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_m_g_g_replacement.tex deleted file mode 100644 index 8a81ffed5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_m_g_g_replacement.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-MGGReplacement$<$ EOT $>$ Class Template Reference} -\label{classeo_m_g_g_replacement}\index{eoMGGReplacement@{eoMGGReplacement}} -eo\-MGGReplacement is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - choose N (2) parents RANDOMLY - remove them from the parent population - select best offspring, add to parents - merge (other?) offspring and the N removed parents - select best N-1 of this merged population (det\-Tournament only at the moment) - put them back into parent population - - -{\tt \#include $<$eo\-MGGReplacement.h$>$} - -Inheritance diagram for eo\-MGGReplacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_m_g_g_replacement} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-MGGReplacement} ({\bf eo\-How\-Many} \_\-how\-Many\-Eliminated\-Parents={\bf eo\-How\-Many}(2, false), unsigned \_\-t\-Size=2)\label{classeo_m_g_g_replacement_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_m_g_g_replacement_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Linear\-Truncate\-Split}$<$ {\bf EOT} $>$ {\bf split}\label{classeo_m_g_g_replacement_r0} - -\item -{\bf eo\-Plus}$<$ {\bf EOT} $>$ {\bf plus}\label{classeo_m_g_g_replacement_r1} - -\item -unsigned int {\bf t\-Size}\label{classeo_m_g_g_replacement_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-MGGReplacement$<$ EOT $>$} - -eo\-MGGReplacement is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - choose N (2) parents RANDOMLY - remove them from the parent population - select best offspring, add to parents - merge (other?) offspring and the N removed parents - select best N-1 of this merged population (det\-Tournament only at the moment) - put them back into parent population - - - -Definition at line 50 of file eo\-MGGReplacement.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-MGGReplacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_m_o_fitness_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_m_o_fitness_stat.eps deleted file mode 100644 index 32788913c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_m_o_fitness_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.3242 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.475 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoMOFitnessStat< EOT, PartFitT >) cw -(eoSortedStat< EOT, std::vector< PartFitT > >) cw -(eoSortedStatBase< EOT >) cw -(eoValueParam< std::vector< PartFitT > >) cw -(eoUF< const std::vector< const EOT * > &, void >) cw -(eoParam) cw -(eoFunctorBase) cw -(unary_function< const std::vector< const EOT * > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoMOFitnessStat< EOT, PartFitT >) 1 0 box - (eoSortedStat< EOT, std::vector< PartFitT > >) 1 1 box - (eoSortedStatBase< EOT >) 0.5 2 box - (eoValueParam< std::vector< PartFitT > >) 1.5 2 box - (eoUF< const std::vector< const EOT * > &, void >) 0.5 3 box - (eoParam) 1.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< const std::vector< const EOT * > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 1.5 2 in -solid -0 1.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 1.5 3 in -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_m_o_fitness_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_m_o_fitness_stat.tex deleted file mode 100644 index 9917011fd..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_m_o_fitness_stat.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-MOFitness\-Stat$<$ EOT, Part\-Fit\-T $>$ Class Template Reference} -\label{classeo_m_o_fitness_stat}\index{eoMOFitnessStat@{eoMOFitnessStat}} -For multi-objective fitness, we need to translate a stat$<$vector$<$double$>$ $>$ into a vector$<$stat$>$, so each objective gets a seperate stat. - - -{\tt \#include $<$eo\-MOFitness\-Stat.h$>$} - -Inheritance diagram for eo\-MOFitness\-Stat$<$ EOT, Part\-Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.55708cm]{classeo_m_o_fitness_stat} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-MOFitness\-Stat} (unsigned \_\-objective, std::string \_\-description=\char`\"{}MO-Fitness\char`\"{})\label{classeo_m_o_fitness_stat_a0} - -\begin{CompactList}\small\item\em Ctor: say what component you want. \item\end{CompactList}\item -virtual void {\bf operator()} (const std::vector$<$ const {\bf EOT} $\ast$ $>$ \&\_\-pop\-Pters)\label{classeo_m_o_fitness_stat_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned int {\bf objective}\label{classeo_m_o_fitness_stat_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Part\-Fit\-T = double$>$ class eo\-MOFitness\-Stat$<$ EOT, Part\-Fit\-T $>$} - -For multi-objective fitness, we need to translate a stat$<$vector$<$double$>$ $>$ into a vector$<$stat$>$, so each objective gets a seperate stat. - - - -Definition at line 64 of file eo\-MOFitness\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-MOFitness\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_merge.eps b/trunk/paradiseo-eo/doc/latex/classeo_merge.eps deleted file mode 100644 index ac79cd652..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_merge.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 69.6056 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 7.18333 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoMerge< Chrom >) cw -(eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< Chrom > &, eoPop< Chrom > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoMerge< Chrom >) 0.5 0 box - (eoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void >) 0.5 1 box - (eoFunctorBase) 0 2 box - (binary_function< const eoPop< Chrom > &, eoPop< Chrom > &, void >) 1 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_merge.tex b/trunk/paradiseo-eo/doc/latex/classeo_merge.tex deleted file mode 100644 index 6e7fef983..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_merge.tex +++ /dev/null @@ -1,31 +0,0 @@ -\section{eo\-Merge$<$ Chrom $>$ Class Template Reference} -\label{classeo_merge}\index{eoMerge@{eoMerge}} -eo\-Merge: Base class for elitist replacement algorithms. - - -{\tt \#include $<$eo\-Merge.h$>$} - -Inheritance diagram for eo\-Merge$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.94896cm]{classeo_merge} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-Merge$<$ Chrom $>$} - -eo\-Merge: Base class for elitist replacement algorithms. - -Merges the old population (first argument), with the new generation - -Its signature is exactly that of the selection base {\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})}, but its purpose is to merge the two populations into one (the second argument). Note that the algorithms assume that the second argument denotes the next generation. - - - -Definition at line 48 of file eo\-Merge.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Merge.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_merge_reduce.eps b/trunk/paradiseo-eo/doc/latex/classeo_merge_reduce.eps deleted file mode 100644 index d28657e6d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_merge_reduce.eps +++ /dev/null @@ -1,231 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 89.6057 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.58 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoMergeReduce< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoCommaReplacement< EOT >) cw -(eoEPReplacement< EOT >) cw -(eoPlusReplacement< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoMergeReduce< EOT >) 1 1 box - (eoReplacement< EOT >) 1 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1.5 4 box - (eoCommaReplacement< EOT >) 0 0 box - (eoEPReplacement< EOT >) 1 0 box - (eoPlusReplacement< EOT >) 2 0 box - -% ----- relations ----- - -solid -0 1 1 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in -solid -1 1 0.25 out -solid -0 2 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_merge_reduce.tex b/trunk/paradiseo-eo/doc/latex/classeo_merge_reduce.tex deleted file mode 100644 index 050365147..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_merge_reduce.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Merge\-Reduce$<$ EOT $>$ Class Template Reference} -\label{classeo_merge_reduce}\index{eoMergeReduce@{eoMergeReduce}} -eo\-Merge\-Reduce: abstract replacement strategy that is just an application of an embedded merge, followed by an embedded reduce - - -{\tt \#include $<$eo\-Merge\-Reduce.h$>$} - -Inheritance diagram for eo\-Merge\-Reduce$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.50896cm]{classeo_merge_reduce} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Merge\-Reduce} ({\bf eo\-Merge}$<$ {\bf EOT} $>$ \&\_\-merge, {\bf eo\-Reduce}$<$ {\bf EOT} $>$ \&\_\-reduce)\label{classeo_merge_reduce_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_merge_reduce_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Merge}$<$ {\bf EOT} $>$ \& {\bf merge}\label{classeo_merge_reduce_r0} - -\item -{\bf eo\-Reduce}$<$ {\bf EOT} $>$ \& {\bf reduce}\label{classeo_merge_reduce_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Merge\-Reduce$<$ EOT $>$} - -eo\-Merge\-Reduce: abstract replacement strategy that is just an application of an embedded merge, followed by an embedded reduce - - - -Definition at line 50 of file eo\-Merge\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Merge\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_mon_clone_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_mon_clone_op.eps deleted file mode 100644 index 14763689a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_mon_clone_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoMonCloneOp< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoMonCloneOp< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_mon_clone_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_mon_clone_op.tex deleted file mode 100644 index 2fa3048e6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_mon_clone_op.tex +++ /dev/null @@ -1,39 +0,0 @@ -\section{eo\-Mon\-Clone\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_mon_clone_op}\index{eoMonCloneOp@{eoMonCloneOp}} -Mon clone: one argument. - - -{\tt \#include $<$eo\-Clone\-Ops.h$>$} - -Inheritance diagram for eo\-Mon\-Clone\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_mon_clone_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Mon\-Clone\-Op} ()\label{classeo_mon_clone_op_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_mon_clone_op_a1} - -\item -virtual bool {\bf operator()} ({\bf EOT} \&)\label{classeo_mon_clone_op_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Mon\-Clone\-Op$<$ EOT $>$} - -Mon clone: one argument. - - - -Definition at line 44 of file eo\-Clone\-Ops.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Clone\-Ops.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_mon_gen_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_mon_gen_op.eps deleted file mode 100644 index 39d9ffaf3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_mon_gen_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.0125 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.49375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoMonGenOp< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoMonGenOp< EOT >) 0.5 0 box - (eoGenOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< eoPopulator< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_mon_gen_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_mon_gen_op.tex deleted file mode 100644 index fcb9533ea..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_mon_gen_op.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Mon\-Gen\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_mon_gen_op}\index{eoMonGenOp@{eoMonGenOp}} -Wrapper for {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}. - - -{\tt \#include $<$eo\-Gen\-Op.h$>$} - -Inheritance diagram for eo\-Mon\-Gen\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.54835cm]{classeo_mon_gen_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Mon\-Gen\-Op} ({\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-op)\label{classeo_mon_gen_op_a0} - -\item -unsigned {\bf max\_\-production} (void)\label{classeo_mon_gen_op_a1} - -\begin{CompactList}\small\item\em Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \item\end{CompactList}\item -void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-it)\label{classeo_mon_gen_op_a2} - -\begin{CompactList}\small\item\em the function that will do the work \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_mon_gen_op_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \& {\bf op}\label{classeo_mon_gen_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Mon\-Gen\-Op$<$ EOT $>$} - -Wrapper for {\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})}. - - - -Definition at line 85 of file eo\-Gen\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Gen\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_mon_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_mon_op.eps deleted file mode 100644 index 53240f6e3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_mon_op.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoMonOp< EOType >) cw -(eoOp< EOType >) cw -(eoUF< EOType &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOType &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoMonOp< EOType >) 0.5 0 box - (eoOp< EOType >) 0 1 box - (eoUF< EOType &, bool >) 1 1 box - (eoFunctorBase) 0.5 2 box - (unary_function< EOType &, bool >) 1.5 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -1 1.5 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_mon_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_mon_op.tex deleted file mode 100644 index 7db2e675a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_mon_op.tex +++ /dev/null @@ -1,38 +0,0 @@ -\section{eo\-Mon\-Op$<$ EOType $>$ Class Template Reference} -\label{classeo_mon_op}\index{eoMonOp@{eoMonOp}} -eo\-Mon\-Op is the monary operator: genetic operator that takes only one {\bf EO}{\rm (p.\,\pageref{class_e_o})}. - - -{\tt \#include $<$eo\-Op.h$>$} - -Inheritance diagram for eo\-Mon\-Op$<$ EOType $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_mon_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Mon\-Op} ()\label{classeo_mon_op_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_mon_op_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOType$>$ class eo\-Mon\-Op$<$ EOType $>$} - -eo\-Mon\-Op is the monary operator: genetic operator that takes only one {\bf EO}{\rm (p.\,\pageref{class_e_o})}. - -When defining your own, make sure that you return a boolean value indicating that you have changed the content. - - - -Definition at line 101 of file eo\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_monitor.eps b/trunk/paradiseo-eo/doc/latex/classeo_monitor.eps deleted file mode 100644 index 847345144..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_monitor.eps +++ /dev/null @@ -1,245 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.5751 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.46 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 6 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoMonitor) cw -(eoF< eoMonitor & >) cw -(eoFunctorBase) cw -(eoFileMonitor) cw -(eoFileSnapshot) cw -(eoStdoutMonitor) cw -(eoTimedMonitor) cw -(MonitorWrapper) cw -(eoGnuplot1DMonitor) cw -(eoFDCFileSnapshot< EOT >) cw -(eoGnuplot1DSnapshot) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoMonitor) 2.5 2 box - (eoF< eoMonitor & >) 2.5 3 box - (eoFunctorBase) 2.5 4 box - (eoFileMonitor) 0 1 box - (eoFileSnapshot) 1.5 1 box - (eoStdoutMonitor) 2.5 1 box - (eoTimedMonitor) 3.5 1 box - (MonitorWrapper) 4.5 1 box - (eoGnuplot1DMonitor) 0 0 box - (eoFDCFileSnapshot< EOT >) 1 0 box - (eoGnuplot1DSnapshot) 2 0 box - -% ----- relations ----- - -solid -0 2.5 2 out -solid -1 2.5 3 in -solid -0 2.5 3 out -solid -1 2.5 4 in -solid -1 2.5 1.25 out -solid -0 4.5 2 conn -solid -0 0 1.75 in -solid -1 0 0.25 out -solid -0 1.5 1.75 in -solid -1 1.5 0.25 out -solid -1 2 1 conn -solid -0 2.5 1.75 in -solid -0 3.5 1.75 in -solid -0 4.5 1.75 in -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_monitor.tex b/trunk/paradiseo-eo/doc/latex/classeo_monitor.tex deleted file mode 100644 index 632d46322..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_monitor.tex +++ /dev/null @@ -1,66 +0,0 @@ -\section{eo\-Monitor Class Reference} -\label{classeo_monitor}\index{eoMonitor@{eoMonitor}} -The abstract monitor class is a std::vector of parameter pointers. - - -{\tt \#include $<$eo\-Monitor.h$>$} - -Inheritance diagram for eo\-Monitor::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.5641cm]{classeo_monitor} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf last\-Call} ()\label{classeo_monitor_a0} - -\item -virtual void {\bf add} (const {\bf eo\-Param} \&\_\-param) -\begin{CompactList}\small\item\em Adds a parameter to the monitor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_monitor_a2} - -\end{CompactItemize} -\subsection*{Protected Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ const {\bf eo\-Param} $\ast$ $>$::iterator {\bf iterator}\label{classeo_monitor_x0} - -\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -std::vector$<$ const {\bf eo\-Param} $\ast$ $>$ {\bf vec}\label{classeo_monitor_p0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -The abstract monitor class is a std::vector of parameter pointers. - -Use either push\_\-back a pointer or add a reference to a parameter. Derived classes will then implement the {\bf operator()(void)}{\rm (p.\,\pageref{classeo_f_a1})} which will stream or pipe the current values of the parameters to wherever you want it streamed or piped to. - - - -Definition at line 46 of file eo\-Monitor.h. - -\subsection{Member Function Documentation} -\index{eoMonitor@{eo\-Monitor}!add@{add}} -\index{add@{add}!eoMonitor@{eo\-Monitor}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Monitor::add (const {\bf eo\-Param} \& {\em \_\-param})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_monitor_a1} - - -Adds a parameter to the monitor. - -It is virtual so you can do some type checking in derived classes if you must. - -Reimplemented in {\bf eo\-FDCFile\-Snapshot$<$ EOT $>$} {\rm (p.\,\pageref{classeo_f_d_c_file_snapshot_a1})}, and {\bf eo\-File\-Snapshot} {\rm (p.\,\pageref{classeo_file_snapshot_a9})}. - -Definition at line 56 of file eo\-Monitor.h. - -Referenced by eo\-File\-Snapshot::add(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Monitor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_plus_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_n_d_plus_replacement.eps deleted file mode 100644 index 5ede6417b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_plus_replacement.eps +++ /dev/null @@ -1,239 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 53.7634 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 9.3 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 4 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNDPlusReplacement< EOT, WorthT >) cw -(eoReplacement< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNDPlusReplacement< EOT, WorthT >) 1.5 0 box - (eoReplacement< EOT >) 0.5 1 box - (eoReplacement< EOT >) 2.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 2.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 2 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 3 3 box - -% ----- relations ----- - -solid -0 1.5 0 out -solid -0.5 2.5 1 conn -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 2.5 1 in -solid -0 2.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2.5 2 in -solid -0 2.5 2 out -solid -2 3 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in -solid -1 3 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_plus_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_n_d_plus_replacement.tex deleted file mode 100644 index d3b4c2800..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_plus_replacement.tex +++ /dev/null @@ -1,52 +0,0 @@ -\section{eo\-NDPlus\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} -\label{classeo_n_d_plus_replacement}\index{eoNDPlusReplacement@{eoNDPlusReplacement}} -An elitist non-dominated sorted replacement scheme. - - -Inheritance diagram for eo\-NDPlus\-Replacement$<$ EOT, Worth\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.50538cm]{classeo_n_d_plus_replacement} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-NDPlus\-Replacement} ({\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-T $>$ \&\_\-perf2worth)\label{classeo_n_d_plus_replacement_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_n_d_plus_replacement_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -{\bf eo\-NDPlus\-Replacement} ({\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-T $>$ \&\_\-perf2worth)\label{classeo_n_d_plus_replacement_a2} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_n_d_plus_replacement_a3} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-T $>$ \& {\bf perf2worth}\label{classeo_n_d_plus_replacement_r0} - -\item -{\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-T $>$ \& {\bf perf2worth}\label{classeo_n_d_plus_replacement_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class eo\-NDPlus\-Replacement$<$ EOT, Worth\-T $>$} - -An elitist non-dominated sorted replacement scheme. - -Trying out an elitist non-dominated sorted replacement scheme. - - - -Definition at line 45 of file make\_\-algo\_\-pareto.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -make\_\-algo\_\-pareto.h\item -t-eo\-Pareto.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting.eps b/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting.eps deleted file mode 100644 index f8909f2f2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting.eps +++ /dev/null @@ -1,245 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 135.135 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.7 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 6 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNDSorting< EOT >) cw -(eoPerf2WorthCached< EOT, double >) cw -(eoPerf2Worth< EOT, double >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< double > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -(eoNDSorting_I< EOT >) cw -(eoNDSorting_II< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNDSorting< EOT >) 1.25 1 box - (eoPerf2WorthCached< EOT, double >) 1.25 2 box - (eoPerf2Worth< EOT, double >) 1.25 3 box - (eoUF< const eoPop< EOT > &, void >) 0.5 4 box - (eoValueParam< std::vector< double > >) 2 4 box - (eoFunctorBase) 0 5 box - (unary_function< const eoPop< EOT > &, void >) 1 5 box - (eoParam) 2 5 box - (eoNDSorting_I< EOT >) 0.75 0 box - (eoNDSorting_II< EOT >) 1.75 0 box - -% ----- relations ----- - -solid -0 1.25 1 out -solid -1 1.25 2 in -solid -0 1.25 2 out -solid -1 1.25 3 in -solid -0 1.25 3 out -solid -0.5 2 4 conn -solid -1 0.5 4 in -solid -0 0.5 4 out -solid -0 1 5 conn -solid -1 2 4 in -solid -0 2 4 out -solid -1 0 5 in -solid -1 1 5 in -solid -1 2 5 in -solid -1 1.25 0.25 out -solid -0.75 1.75 1 conn -solid -0 0.75 0.75 in -solid -0 1.75 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting.tex b/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting.tex deleted file mode 100644 index f0e37d9c0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting.tex +++ /dev/null @@ -1,91 +0,0 @@ -\section{eo\-NDSorting$<$ EOT $>$ Class Template Reference} -\label{classeo_n_d_sorting}\index{eoNDSorting@{eoNDSorting}} -Non dominated sorting, it $\ast$is a$\ast$ std::vector of doubles, the integer part is the rank (to which front it belongs), the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into the bits. - - -{\tt \#include $<$eo\-NDSorting.h$>$} - -Inheritance diagram for eo\-NDSorting$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.78378cm]{classeo_n_d_sorting} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-NDSorting} (bool nasty\_\-flag\_\-=false)\label{classeo_n_d_sorting_a0} - -\item -virtual std::vector$<$ double $>$ {\bf niche\_\-penalty} (const std::vector$<$ unsigned $>$ \¤t\_\-front, const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)=0 -\begin{CompactList}\small\item\em Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. \item\end{CompactList}\item -void {\bf calculate\_\-worths} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_n_d_sorting_a3} - -\begin{CompactList}\small\item\em The actual virtual function the derived classes should implement. \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -bool {\bf nasty\_\-declone\_\-flag\_\-that\_\-only\_\-is\_\-implemented\_\-for\_\-two\_\-objectives}\label{classeo_n_d_sorting_o0} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf one\_\-objective} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_n_d_sorting_d0} - -\item -void {\bf two\_\-objectives} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Optimization for two objectives. \item\end{CompactList}\item -void {\bf m\_\-objectives} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_n_d_sorting_d2} - -\item -void {\bf rank\_\-to\_\-worth} ()\label{classeo_n_d_sorting_d3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-NDSorting$<$ EOT $>$} - -Non dominated sorting, it $\ast$is a$\ast$ std::vector of doubles, the integer part is the rank (to which front it belongs), the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into the bits. - - - -Definition at line 42 of file eo\-NDSorting.h. - -\subsection{Member Function Documentation} -\index{eoNDSorting@{eo\-NDSorting}!niche_penalty@{niche\_\-penalty}} -\index{niche_penalty@{niche\_\-penalty}!eoNDSorting@{eo\-NDSorting}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual std::vector$<$double$>$ {\bf eo\-NDSorting}$<$ {\bf EOT} $>$::niche\_\-penalty (const std::vector$<$ unsigned $>$ \& {\em current\_\-front}, const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [pure virtual]}}\label{classeo_n_d_sorting_a2} - - -Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. - -The size of the returned std::vector should be equal to the size of the current\_\-front. - -Implemented in {\bf eo\-NDSorting\_\-I$<$ EOT $>$} {\rm (p.\,\pageref{classeo_n_d_sorting___i_a1})}, and {\bf eo\-NDSorting\_\-II$<$ EOT $>$} {\rm (p.\,\pageref{classeo_n_d_sorting___i_i_a1})}. - -Referenced by eo\-NDSorting$<$ EOT $>$::two\_\-objectives().\index{eoNDSorting@{eo\-NDSorting}!two_objectives@{two\_\-objectives}} -\index{two_objectives@{two\_\-objectives}!eoNDSorting@{eo\-NDSorting}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-NDSorting}$<$ {\bf EOT} $>$::two\_\-objectives (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_n_d_sorting_d1} - - -Optimization for two objectives. - -Makes the algorithm run in complexity O(n log n) where n is the population size - -This is the same complexity as for a single objective or truncation selection or sorting. - -It will perform a sort on the two objectives seperately, and from the information on the ranks of the individuals on these two objectives, the non-dominated sorting rank is determined. There are then three nlogn operations in place: one sort per objective, plus a binary search procedure to combine the information about the ranks. - -After that it is a simple exercise to calculate the distance penalty - -Definition at line 140 of file eo\-NDSorting.h. - -References eo\-NDSorting$<$ EOT $>$::niche\_\-penalty(), and eo\-Value\-Param$<$ std::vector$<$ double $>$ $>$::value(). - -Referenced by eo\-NDSorting$<$ EOT $>$::calculate\_\-worths(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-NDSorting.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting_1_1_dummy_e_o.eps b/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting_1_1_dummy_e_o.eps deleted file mode 100644 index c1d3f7b0b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting_1_1_dummy_e_o.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 194.175 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.575 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNDSorting< EOT >::DummyEO) cw -(EO< EOT::Fitness >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNDSorting< EOT >::DummyEO) 0.5 0 box - (EO< EOT::Fitness >) 0.5 1 box - (eoObject) 0 2 box - (eoPersistent) 1 2 box - (eoPrintable) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting_1_1_dummy_e_o.tex b/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting_1_1_dummy_e_o.tex deleted file mode 100644 index c63dcee84..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting_1_1_dummy_e_o.tex +++ /dev/null @@ -1,31 +0,0 @@ -\section{eo\-NDSorting$<$ EOT $>$::Dummy\-EO Class Reference} -\label{classeo_n_d_sorting_1_1_dummy_e_o}\index{eoNDSorting::DummyEO@{eoNDSorting::DummyEO}} -used in fast nondominated sorting {\bf Dummy\-EO}{\rm (p.\,\pageref{classeo_n_d_sorting_1_1_dummy_e_o})} is just a storage place for fitnesses and to store the original index - - -Inheritance diagram for eo\-NDSorting$<$ EOT $>$::Dummy\-EO::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_n_d_sorting_1_1_dummy_e_o} -\end{center} -\end{figure} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -unsigned {\bf index}\label{classeo_n_d_sorting_1_1_dummy_e_o_o0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-NDSorting$<$ EOT $>$::Dummy\-EO} - -used in fast nondominated sorting {\bf Dummy\-EO}{\rm (p.\,\pageref{classeo_n_d_sorting_1_1_dummy_e_o})} is just a storage place for fitnesses and to store the original index - - - -Definition at line 94 of file eo\-NDSorting.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-NDSorting.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i.eps b/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i.eps deleted file mode 100644 index 95fba24a8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i.eps +++ /dev/null @@ -1,239 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 135.135 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.7 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 6 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNDSorting_I< EOT >) cw -(eoNDSorting< EOT >) cw -(eoPerf2WorthCached< EOT, double >) cw -(eoPerf2Worth< EOT, double >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< double > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNDSorting_I< EOT >) 1.25 0 box - (eoNDSorting< EOT >) 1.25 1 box - (eoPerf2WorthCached< EOT, double >) 1.25 2 box - (eoPerf2Worth< EOT, double >) 1.25 3 box - (eoUF< const eoPop< EOT > &, void >) 0.5 4 box - (eoValueParam< std::vector< double > >) 2 4 box - (eoFunctorBase) 0 5 box - (unary_function< const eoPop< EOT > &, void >) 1 5 box - (eoParam) 2 5 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -1 1.25 2 in -solid -0 1.25 2 out -solid -1 1.25 3 in -solid -0 1.25 3 out -solid -0.5 2 4 conn -solid -1 0.5 4 in -solid -0 0.5 4 out -solid -0 1 5 conn -solid -1 2 4 in -solid -0 2 4 out -solid -1 0 5 in -solid -1 1 5 in -solid -1 2 5 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i.tex b/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i.tex deleted file mode 100644 index eff7aee38..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i.tex +++ /dev/null @@ -1,55 +0,0 @@ -\section{eo\-NDSorting\_\-I$<$ EOT $>$ Class Template Reference} -\label{classeo_n_d_sorting___i}\index{eoNDSorting_I@{eoNDSorting\_\-I}} -The original Non Dominated Sorting algorithm from Srinivas and Deb. - - -{\tt \#include $<$eo\-NDSorting.h$>$} - -Inheritance diagram for eo\-NDSorting\_\-I$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.78378cm]{classeo_n_d_sorting___i} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-NDSorting\_\-I} (double \_\-niche\-Size, bool nasty\_\-flag\_\-=false)\label{classeo_n_d_sorting___i_a0} - -\item -std::vector$<$ double $>$ {\bf niche\_\-penalty} (const std::vector$<$ unsigned $>$ \¤t\_\-front, const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf niche\-Size}\label{classeo_n_d_sorting___i_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-NDSorting\_\-I$<$ EOT $>$} - -The original Non Dominated Sorting algorithm from Srinivas and Deb. - - - -Definition at line 380 of file eo\-NDSorting.h. - -\subsection{Member Function Documentation} -\index{eoNDSorting_I@{eo\-NDSorting\_\-I}!niche_penalty@{niche\_\-penalty}} -\index{niche_penalty@{niche\_\-penalty}!eoNDSorting_I@{eo\-NDSorting\_\-I}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ std::vector$<$double$>$ {\bf eo\-NDSorting\_\-I}$<$ {\bf EOT} $>$::niche\_\-penalty (const std::vector$<$ unsigned $>$ \& {\em current\_\-front}, const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_n_d_sorting___i_a1} - - -Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. - -The size of the returned std::vector should be equal to the size of the current\_\-front. - -Implements {\bf eo\-NDSorting$<$ EOT $>$} {\rm (p.\,\pageref{classeo_n_d_sorting_a2})}. - -Definition at line 385 of file eo\-NDSorting.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-NDSorting.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i_i.eps b/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i_i.eps deleted file mode 100644 index 2cd69baf2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i_i.eps +++ /dev/null @@ -1,239 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 135.135 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.7 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 6 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNDSorting_II< EOT >) cw -(eoNDSorting< EOT >) cw -(eoPerf2WorthCached< EOT, double >) cw -(eoPerf2Worth< EOT, double >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< double > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNDSorting_II< EOT >) 1.25 0 box - (eoNDSorting< EOT >) 1.25 1 box - (eoPerf2WorthCached< EOT, double >) 1.25 2 box - (eoPerf2Worth< EOT, double >) 1.25 3 box - (eoUF< const eoPop< EOT > &, void >) 0.5 4 box - (eoValueParam< std::vector< double > >) 2 4 box - (eoFunctorBase) 0 5 box - (unary_function< const eoPop< EOT > &, void >) 1 5 box - (eoParam) 2 5 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -1 1.25 2 in -solid -0 1.25 2 out -solid -1 1.25 3 in -solid -0 1.25 3 out -solid -0.5 2 4 conn -solid -1 0.5 4 in -solid -0 0.5 4 out -solid -0 1 5 conn -solid -1 2 4 in -solid -0 2 4 out -solid -1 0 5 in -solid -1 1 5 in -solid -1 2 5 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i_i.tex b/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i_i.tex deleted file mode 100644 index bffaf010a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_d_sorting___i_i.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-NDSorting\_\-II$<$ EOT $>$ Class Template Reference} -\label{classeo_n_d_sorting___i_i}\index{eoNDSorting_II@{eoNDSorting\_\-II}} -Fast Elitist Non-Dominant Sorting Genetic Algorithm. - - -{\tt \#include $<$eo\-NDSorting.h$>$} - -Inheritance diagram for eo\-NDSorting\_\-II$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.78378cm]{classeo_n_d_sorting___i_i} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef std::pair$<$ double, unsigned $>$ {\bf double\_\-index\_\-pair}\label{classeo_n_d_sorting___i_i_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-NDSorting\_\-II} (bool nasty\_\-flag\_\-=false)\label{classeo_n_d_sorting___i_i_a0} - -\item -std::vector$<$ double $>$ {\bf niche\_\-penalty} (const std::vector$<$ unsigned $>$ \&\_\-cf, const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_n_d_sorting___i_i_a1} - -\begin{CompactList}\small\item\em \_\-cf points into the elements that consist of the current front \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-NDSorting\_\-II$<$ EOT $>$} - -Fast Elitist Non-Dominant Sorting Genetic Algorithm. - -Adapted from Deb, Agrawal, Pratab and Meyarivan: A Fast Elitist Non-Dominant Sorting Genetic Algorithm for Multi\-Objective Optimization: NSGA-II Kan\-GAL Report No. 200001 - -Note that this class does not do the sorting per se, but the sorting of it worth\_\-std::vector will give the right order - -The crowding distance is calculated as the sum of the distances to the nearest neighbours. As we need to return the penalty value, we have to invert that and invert it again in the base class, but such is life, sigh - - - -Definition at line 434 of file eo\-NDSorting.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-NDSorting.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_pts_bit_xover.eps b/trunk/paradiseo-eo/doc/latex/classeo_n_pts_bit_xover.eps deleted file mode 100644 index 216e65ff3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_pts_bit_xover.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 96.6184 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.175 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNPtsBitXover< Chrom >) cw -(eoQuadOp< Chrom >) cw -(eoOp< Chrom >) cw -(eoBF< Chrom &, Chrom &, bool >) cw -(eoFunctorBase) cw -(binary_function< Chrom &, Chrom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNPtsBitXover< Chrom >) 0.5 0 box - (eoQuadOp< Chrom >) 0.5 1 box - (eoOp< Chrom >) 0 2 box - (eoBF< Chrom &, Chrom &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< Chrom &, Chrom &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_n_pts_bit_xover.tex b/trunk/paradiseo-eo/doc/latex/classeo_n_pts_bit_xover.tex deleted file mode 100644 index 5d3f297de..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_n_pts_bit_xover.tex +++ /dev/null @@ -1,63 +0,0 @@ -\section{eo\-NPts\-Bit\-Xover$<$ Chrom $>$ Class Template Reference} -\label{classeo_n_pts_bit_xover}\index{eoNPtsBitXover@{eoNPtsBitXover}} -eo\-NPts\-Bit\-Xover --$>$ n-point crossover - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - -Inheritance diagram for eo\-NPts\-Bit\-Xover$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.70531cm]{classeo_n_pts_bit_xover} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-NPts\-Bit\-Xover} (const unsigned \&\_\-num\_\-points=2)\label{classeo_n_pts_bit_xover_a0} - -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_n_pts_bit_xover_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (Chrom \&chrom1, Chrom \&chrom2) -\begin{CompactList}\small\item\em n-point crossover for binary chromosomes. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf num\_\-points}\label{classeo_n_pts_bit_xover_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-NPts\-Bit\-Xover$<$ Chrom $>$} - -eo\-NPts\-Bit\-Xover --$>$ n-point crossover - - - -Definition at line 319 of file eo\-Bit\-Op.h. - -\subsection{Member Function Documentation} -\index{eoNPtsBitXover@{eo\-NPts\-Bit\-Xover}!operator()@{operator()}} -\index{operator()@{operator()}!eoNPtsBitXover@{eo\-NPts\-Bit\-Xover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ bool {\bf eo\-NPts\-Bit\-Xover}$<$ Chrom $>$::operator() (Chrom \& {\em chrom1}, Chrom \& {\em chrom2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_n_pts_bit_xover_a2} - - -n-point crossover for binary chromosomes. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom1}]The first chromosome. \item[{\em chrom2}]The first chromosome. \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ Chrom \&, Chrom \&, bool $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 337 of file eo\-Bit\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_generator.eps b/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_generator.eps deleted file mode 100644 index e5243b03c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_generator.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 481.928 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.0375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNegExpGenerator< T >) cw -(eoRndGenerator< T >) cw -(eoF< T >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNegExpGenerator< T >) 0 0 box - (eoRndGenerator< T >) 0 1 box - (eoF< T >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_generator.tex b/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_generator.tex deleted file mode 100644 index 48da5a8cb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_generator.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Neg\-Exp\-Generator$<$ T $>$ Class Template Reference} -\label{classeo_neg_exp_generator}\index{eoNegExpGenerator@{eoNegExpGenerator}} -The class {\bf negexp\_\-generator}{\rm (p.\,\pageref{classnegexp__generator})} can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - - -{\tt \#include $<$eo\-Rnd\-Generators.h$>$} - -Inheritance diagram for eo\-Neg\-Exp\-Generator$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_neg_exp_generator} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Neg\-Exp\-Generator} (T \_\-mean=1.0, {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_neg_exp_generator_a0} - -\item -T {\bf operator()} (void)\label{classeo_neg_exp_generator_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf mean}\label{classeo_neg_exp_generator_r0} - -\item -{\bf eo\-Rng} \& {\bf negexp}\label{classeo_neg_exp_generator_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class eo\-Neg\-Exp\-Generator$<$ T $>$} - -The class {\bf negexp\_\-generator}{\rm (p.\,\pageref{classnegexp__generator})} can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -The user can supply a mean. - - - -Definition at line 137 of file eo\-Rnd\-Generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Rnd\-Generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_init.eps deleted file mode 100644 index 61e355a8a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 218.579 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.2875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNegExpInit< T >) cw -(eoInit< T >) cw -(eoUF< T &, void >) cw -(eoFunctorBase) cw -(unary_function< T &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNegExpInit< T >) 0.5 0 box - (eoInit< T >) 0.5 1 box - (eoUF< T &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< T &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_init.tex deleted file mode 100644 index 59c68bf87..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_neg_exp_init.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Neg\-Exp\-Init$<$ T $>$ Class Template Reference} -\label{classeo_neg_exp_init}\index{eoNegExpInit@{eoNegExpInit}} -The class {\bf negexp\_\-generator}{\rm (p.\,\pageref{classnegexp__generator})} can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - - -{\tt \#include $<$eo\-Uniform\-Init.h$>$} - -Inheritance diagram for eo\-Neg\-Exp\-Init$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_neg_exp_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Neg\-Exp\-Init} (T \_\-mean=1.0, {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_neg_exp_init_a0} - -\item -void {\bf operator()} (T \&\_\-t)\label{classeo_neg_exp_init_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf mean}\label{classeo_neg_exp_init_r0} - -\item -{\bf eo\-Rng} \& {\bf negexp}\label{classeo_neg_exp_init_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class eo\-Neg\-Exp\-Init$<$ T $>$} - -The class {\bf negexp\_\-generator}{\rm (p.\,\pageref{classnegexp__generator})} can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -The user can supply a mean. - - - -Definition at line 143 of file eo\-Uniform\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Uniform\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_no_elitism.eps b/trunk/paradiseo-eo/doc/latex/classeo_no_elitism.eps deleted file mode 100644 index d0318d26c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_no_elitism.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 122.85 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.07 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNoElitism< EOT >) cw -(eoElitism< EOT >) cw -(eoMerge< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNoElitism< EOT >) 0.5 0 box - (eoElitism< EOT >) 0.5 1 box - (eoMerge< EOT >) 0.5 2 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_no_elitism.tex b/trunk/paradiseo-eo/doc/latex/classeo_no_elitism.tex deleted file mode 100644 index 4c90c3e49..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_no_elitism.tex +++ /dev/null @@ -1,27 +0,0 @@ -\section{eo\-No\-Elitism$<$ EOT $>$ Class Template Reference} -\label{classeo_no_elitism}\index{eoNoElitism@{eoNoElitism}} -No elite. - - -{\tt \#include $<$eo\-Merge.h$>$} - -Inheritance diagram for eo\-No\-Elitism$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.4398cm]{classeo_no_elitism} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-No\-Elitism$<$ EOT $>$} - -No elite. - - - -Definition at line 107 of file eo\-Merge.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Merge.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_no_perf2_worth.eps b/trunk/paradiseo-eo/doc/latex/classeo_no_perf2_worth.eps deleted file mode 100644 index aeea68119..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_no_perf2_worth.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNoPerf2Worth< EOT >) cw -(eoPerf2Worth< EOT, EOT::Fitness >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< ValueType >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNoPerf2Worth< EOT >) 1.25 0 box - (eoPerf2Worth< EOT, EOT::Fitness >) 1.25 1 box - (eoUF< const eoPop< EOT > &, void >) 0.5 2 box - (eoValueParam< ValueType >) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, void >) 1 3 box - (eoParam) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_no_perf2_worth.tex b/trunk/paradiseo-eo/doc/latex/classeo_no_perf2_worth.tex deleted file mode 100644 index e02b6ab5d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_no_perf2_worth.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-No\-Perf2Worth$<$ EOT $>$ Class Template Reference} -\label{classeo_no_perf2_worth}\index{eoNoPerf2Worth@{eoNoPerf2Worth}} -A dummy perf2worth, just in case you need it. - - -{\tt \#include $<$eo\-Perf2Worth.h$>$} - -Inheritance diagram for eo\-No\-Perf2Worth$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_no_perf2_worth} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_no_perf2_worth_a0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-No\-Perf2Worth$<$ EOT $>$} - -A dummy perf2worth, just in case you need it. - - - -Definition at line 230 of file eo\-Perf2Worth.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Perf2Worth.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_no_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_no_select.eps deleted file mode 100644 index a13176b5e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_no_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNoSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNoSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_no_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_no_select.tex deleted file mode 100644 index 9aa523904..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_no_select.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-No\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_no_select}\index{eoNoSelect@{eoNoSelect}} -eo\-No\-Select: returns all individual in order WITHOUT USING FITNESS!!! looping back to the beginning when exhasuted - - -{\tt \#include $<$eo\-Random\-Select.h$>$} - -Inheritance diagram for eo\-No\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_no_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-No\-Select} ()\label{classeo_no_select_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_no_select_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf current}\label{classeo_no_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-No\-Select$<$ EOT $>$} - -eo\-No\-Select: returns all individual in order WITHOUT USING FITNESS!!! looping back to the beginning when exhasuted - - - -Definition at line 78 of file eo\-Random\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Random\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_normal_generator.eps b/trunk/paradiseo-eo/doc/latex/classeo_normal_generator.eps deleted file mode 100644 index 2ece9d3e1..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_normal_generator.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 493.827 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.0125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNormalGenerator< T >) cw -(eoRndGenerator< T >) cw -(eoF< T >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNormalGenerator< T >) 0 0 box - (eoRndGenerator< T >) 0 1 box - (eoF< T >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_normal_generator.tex b/trunk/paradiseo-eo/doc/latex/classeo_normal_generator.tex deleted file mode 100644 index 11ad797cd..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_normal_generator.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Normal\-Generator$<$ T $>$ Class Template Reference} -\label{classeo_normal_generator}\index{eoNormalGenerator@{eoNormalGenerator}} -The class {\bf normal\_\-generator}{\rm (p.\,\pageref{classnormal__generator})} can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - - -{\tt \#include $<$eo\-Rnd\-Generators.h$>$} - -Inheritance diagram for eo\-Normal\-Generator$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_normal_generator} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Normal\-Generator} (T \_\-stdev=T(1.0), {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_normal_generator_a0} - -\item -T {\bf operator()} (void)\label{classeo_normal_generator_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf stdev}\label{classeo_normal_generator_r0} - -\item -{\bf eo\-Rng} \& {\bf normal}\label{classeo_normal_generator_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class eo\-Normal\-Generator$<$ T $>$} - -The class {\bf normal\_\-generator}{\rm (p.\,\pageref{classnormal__generator})} can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -The user can supply a standard deviation which defaults to 1. - - - -Definition at line 120 of file eo\-Rnd\-Generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Rnd\-Generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_normal_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_normal_init.eps deleted file mode 100644 index 28718a335..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_normal_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 218.579 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.2875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNormalInit< T >) cw -(eoInit< T >) cw -(eoUF< T &, void >) cw -(eoFunctorBase) cw -(unary_function< T &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNormalInit< T >) 0.5 0 box - (eoInit< T >) 0.5 1 box - (eoUF< T &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< T &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_normal_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_normal_init.tex deleted file mode 100644 index 0487bbec5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_normal_init.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Normal\-Init$<$ T $>$ Class Template Reference} -\label{classeo_normal_init}\index{eoNormalInit@{eoNormalInit}} -The class {\bf normal\_\-generator}{\rm (p.\,\pageref{classnormal__generator})} can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - - -{\tt \#include $<$eo\-Uniform\-Init.h$>$} - -Inheritance diagram for eo\-Normal\-Init$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_normal_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Normal\-Init} (T \_\-stdev=T(1.0), {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_normal_init_a0} - -\item -void {\bf operator()} (T \&\_\-t)\label{classeo_normal_init_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf stdev}\label{classeo_normal_init_r0} - -\item -{\bf eo\-Rng} \& {\bf normal}\label{classeo_normal_init_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class eo\-Normal\-Init$<$ T $>$} - -The class {\bf normal\_\-generator}{\rm (p.\,\pageref{classnormal__generator})} can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -The user can supply a standard deviation which defaults to 1. - - - -Definition at line 126 of file eo\-Uniform\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Uniform\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_normal_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_normal_mutation.eps deleted file mode 100644 index 12bf3971a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_normal_mutation.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 165.837 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.015 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNormalMutation< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -(eoOneFifthMutation< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNormalMutation< EOT >) 0.5 1 box - (eoMonOp< EOT >) 0.5 2 box - (eoOp< EOT >) 0 3 box - (eoUF< EOT &, bool >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< EOT &, bool >) 1.5 4 box - (eoOneFifthMutation< EOT >) 0.5 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in -solid -1 0.5 0.25 out -solid -0 0.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_normal_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_normal_mutation.tex deleted file mode 100644 index ae44e89b9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_normal_mutation.tex +++ /dev/null @@ -1,116 +0,0 @@ -\section{eo\-Normal\-Mutation$<$ EOT $>$ Class Template Reference} -\label{classeo_normal_mutation}\index{eoNormalMutation@{eoNormalMutation}} -Simple normal mutation of a std::vector of real values. - - -{\tt \#include $<$eo\-Normal\-Mutation.h$>$} - -Inheritance diagram for eo\-Normal\-Mutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4.64345cm]{classeo_normal_mutation} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Normal\-Mutation} (double \&\_\-sigma, const double \&\_\-p\_\-change=1.0) -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -{\bf eo\-Normal\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, double \_\-sigma, const double \&\_\-p\_\-change=1.0) -\begin{CompactList}\small\item\em Constructor with bounds. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_normal_mutation_a2} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo) -\begin{CompactList}\small\item\em Do it! \item\end{CompactList}\item -double \& {\bf Sigma} ()\label{classeo_normal_mutation_a4} - -\begin{CompactList}\small\item\em Accessor to ref to sigma - for update and monitor. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double \& {\bf sigma}\label{classeo_normal_mutation_r0} - -\item -{\bf eo\-Real\-Vector\-Bounds} \& {\bf bounds}\label{classeo_normal_mutation_r1} - -\item -double {\bf p\_\-change}\label{classeo_normal_mutation_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Normal\-Mutation$<$ EOT $>$} - -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!!! - - - -Definition at line 116 of file eo\-Normal\-Mutation.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoNormalMutation@{eo\-Normal\-Mutation}!eoNormalMutation@{eoNormalMutation}} -\index{eoNormalMutation@{eoNormalMutation}!eoNormalMutation@{eo\-Normal\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Normal\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Normal\-Mutation} (double \& {\em \_\-sigma}, const double \& {\em \_\-p\_\-change} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_normal_mutation_a0} - - -(Default) Constructor. - -The bounds are initialized with the global object that says: no bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-sigma}]the range for uniform nutation \item[{\em \_\-p\_\-change}]the probability to change a given coordinate \end{description} -\end{Desc} - - -Definition at line 127 of file eo\-Normal\-Mutation.h.\index{eoNormalMutation@{eo\-Normal\-Mutation}!eoNormalMutation@{eoNormalMutation}} -\index{eoNormalMutation@{eoNormalMutation}!eoNormalMutation@{eo\-Normal\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Normal\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Normal\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, double {\em \_\-sigma}, const double \& {\em \_\-p\_\-change} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_normal_mutation_a1} - - -Constructor with bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]an {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} that contains the bounds \item[{\em \_\-sigma}]the range for uniform nutation \item[{\em \_\-p\_\-change}]the probability to change a given coordinate \end{description} -\end{Desc} - - -Definition at line 136 of file eo\-Normal\-Mutation.h. - -\subsection{Member Function Documentation} -\index{eoNormalMutation@{eo\-Normal\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoNormalMutation@{eo\-Normal\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf eo\-Normal\-Mutation}$<$ {\bf EOT} $>$::operator() ({\bf EOT} \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_normal_mutation_a3} - - -Do it! - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]The cromosome undergoing the mutation \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ EOT \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Reimplemented in {\bf eo\-One\-Fifth\-Mutation$<$ EOT $>$} {\rm (p.\,\pageref{classeo_one_fifth_mutation_a2})}. - -Definition at line 147 of file eo\-Normal\-Mutation.h. - -References eo\-Rng::flip(), eo\-Real\-Base\-Vector\-Bounds::folds\-In\-Bounds(), and eo\-Rng::normal(). - -Referenced by eo\-One\-Fifth\-Mutation$<$ EOT $>$::operator()(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Normal\-Mutation.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_normal_vec_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_normal_vec_mutation.eps deleted file mode 100644 index b049a15df..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_normal_vec_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNormalVecMutation< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNormalVecMutation< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_normal_vec_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_normal_vec_mutation.tex deleted file mode 100644 index 11ddec0ac..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_normal_vec_mutation.tex +++ /dev/null @@ -1,111 +0,0 @@ -\section{eo\-Normal\-Vec\-Mutation$<$ EOT $>$ Class Template Reference} -\label{classeo_normal_vec_mutation}\index{eoNormalVecMutation@{eoNormalVecMutation}} -Simple normal mutation of a std::vector of real values. - - -{\tt \#include $<$eo\-Normal\-Mutation.h$>$} - -Inheritance diagram for eo\-Normal\-Vec\-Mutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_normal_vec_mutation} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Normal\-Vec\-Mutation} (double \_\-sigma, const double \&\_\-p\_\-change=1.0) -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -{\bf eo\-Normal\-Vec\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, double \_\-sigma, const double \&\_\-p\_\-change=1.0) -\begin{CompactList}\small\item\em Constructor with bounds. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_normal_vec_mutation_a2} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo) -\begin{CompactList}\small\item\em Do it! \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ double $>$ {\bf sigma}\label{classeo_normal_vec_mutation_r0} - -\item -{\bf eo\-Real\-Vector\-Bounds} \& {\bf bounds}\label{classeo_normal_vec_mutation_r1} - -\item -double {\bf p\_\-change}\label{classeo_normal_vec_mutation_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Normal\-Vec\-Mutation$<$ EOT $>$} - -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!!! - - - -Definition at line 48 of file eo\-Normal\-Mutation.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoNormalVecMutation@{eo\-Normal\-Vec\-Mutation}!eoNormalVecMutation@{eoNormalVecMutation}} -\index{eoNormalVecMutation@{eoNormalVecMutation}!eoNormalVecMutation@{eo\-Normal\-Vec\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Normal\-Vec\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Normal\-Vec\-Mutation} (double {\em \_\-sigma}, const double \& {\em \_\-p\_\-change} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_normal_vec_mutation_a0} - - -(Default) Constructor. - -The bounds are initialized with the global object that says: no bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-sigma}]the range for uniform nutation \item[{\em \_\-p\_\-change}]the probability to change a given coordinate \end{description} -\end{Desc} - - -Definition at line 58 of file eo\-Normal\-Mutation.h.\index{eoNormalVecMutation@{eo\-Normal\-Vec\-Mutation}!eoNormalVecMutation@{eoNormalVecMutation}} -\index{eoNormalVecMutation@{eoNormalVecMutation}!eoNormalVecMutation@{eo\-Normal\-Vec\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Normal\-Vec\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Normal\-Vec\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, double {\em \_\-sigma}, const double \& {\em \_\-p\_\-change} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_normal_vec_mutation_a1} - - -Constructor with bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]an {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} that contains the bounds \item[{\em \_\-sigma}]the range for uniform nutation \item[{\em \_\-p\_\-change}]the probability to change a given coordinate\end{description} -\end{Desc} -for each component, the sigma is scaled to the range of the bound, if bounded - -Definition at line 69 of file eo\-Normal\-Mutation.h. - -References eo\-Real\-Base\-Vector\-Bounds::is\-Bounded(), and eo\-Real\-Base\-Vector\-Bounds::range(). - -\subsection{Member Function Documentation} -\index{eoNormalVecMutation@{eo\-Normal\-Vec\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoNormalVecMutation@{eo\-Normal\-Vec\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf eo\-Normal\-Vec\-Mutation}$<$ {\bf EOT} $>$::operator() ({\bf EOT} \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_normal_vec_mutation_a3} - - -Do it! - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]The cromosome undergoing the mutation \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ EOT \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 86 of file eo\-Normal\-Mutation.h. - -References eo\-Rng::flip(), eo\-Real\-Base\-Vector\-Bounds::folds\-In\-Bounds(), and eo\-Rng::normal(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Normal\-Mutation.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_nth_element_fitness_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_nth_element_fitness_stat.eps deleted file mode 100644 index 5aef15d6a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_nth_element_fitness_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.3242 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.475 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoNthElementFitnessStat< EOT >) cw -(eoSortedStat< EOT, EOT::Fitness >) cw -(eoSortedStatBase< EOT >) cw -(eoValueParam< EOT::Fitness >) cw -(eoUF< const std::vector< const EOT * > &, void >) cw -(eoParam) cw -(eoFunctorBase) cw -(unary_function< const std::vector< const EOT * > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoNthElementFitnessStat< EOT >) 1 0 box - (eoSortedStat< EOT, EOT::Fitness >) 1 1 box - (eoSortedStatBase< EOT >) 0.5 2 box - (eoValueParam< EOT::Fitness >) 1.5 2 box - (eoUF< const std::vector< const EOT * > &, void >) 0.5 3 box - (eoParam) 1.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< const std::vector< const EOT * > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 1.5 2 in -solid -0 1.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 1.5 3 in -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_nth_element_fitness_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_nth_element_fitness_stat.tex deleted file mode 100644 index a14f7c7b6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_nth_element_fitness_stat.tex +++ /dev/null @@ -1,60 +0,0 @@ -\section{eo\-Nth\-Element\-Fitness\-Stat$<$ EOT $>$ Class Template Reference} -\label{classeo_nth_element_fitness_stat}\index{eoNthElementFitnessStat@{eoNthElementFitnessStat}} -The n\_\-th element fitness in the population (see {\bf eo\-Best\-Fitness\-Stat}{\rm (p.\,\pageref{classeo_best_fitness_stat})}). - - -{\tt \#include $<$eo\-Stat.h$>$} - -Inheritance diagram for eo\-Nth\-Element\-Fitness\-Stat$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.55708cm]{classeo_nth_element_fitness_stat} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_nth_element_fitness_stat_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Nth\-Element\-Fitness\-Stat} (unsigned \_\-which\-Element, std::string \_\-description=\char`\"{}nth element fitness\char`\"{})\label{classeo_nth_element_fitness_stat_a0} - -\item -virtual void {\bf operator()} (const std::vector$<$ const {\bf EOT} $\ast$ $>$ \&\_\-pop)\label{classeo_nth_element_fitness_stat_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_nth_element_fitness_stat_a2} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -template$<$class T$>$ void {\bf doit} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pareto\-Fitness}$<$ T $>$)\label{classeo_nth_element_fitness_stat_d0} - -\item -template$<$class T$>$ void {\bf doit} (const std::vector$<$ const {\bf EOT} $\ast$ $>$ \&\_\-pop, T)\label{classeo_nth_element_fitness_stat_d1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf which\-Element}\label{classeo_nth_element_fitness_stat_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Nth\-Element\-Fitness\-Stat$<$ EOT $>$} - -The n\_\-th element fitness in the population (see {\bf eo\-Best\-Fitness\-Stat}{\rm (p.\,\pageref{classeo_best_fitness_stat})}). - - - -Definition at line 211 of file eo\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_object.eps b/trunk/paradiseo-eo/doc/latex/classeo_object.eps deleted file mode 100644 index 2ac2c1077..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_object.eps +++ /dev/null @@ -1,294 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 883.534 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.565909 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 22 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoObject) cw -(EO< F >) cw -(EO< double >) cw -(EO< EOT::Fitness >) cw -(EO< Fit >) cw -(EO< Fitness >) cw -(EO< fitness_type >) cw -(EO< fitnessT >) cw -(EO< FitT >) cw -(EO< FType >) cw -(EO< phenotype >) cw -(EO< PyFitness >) cw -(eoDistribution< EOT >) cw -(eoFactory< EOClass >) cw -(eoFactory< eoOpSelector< eoClass > >) cw -(eoFactory< eoSelect< EOT > >) cw -(eoFactory< EOT >) cw -(eoParser) cw -(eoPop< EOT >) cw -(eoPop< Dummy >) cw -(eoPop< PyEO >) cw -(eoRng) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoObject) 0 21 box - (EO< F >) 1 20 box - (EO< double >) 1 19 box -1 19 mark - (EO< EOT::Fitness >) 1 18 box -1 18 mark - (EO< Fit >) 1 17 box -1 17 mark - (EO< Fitness >) 1 16 box -1 16 mark - (EO< fitness_type >) 1 15 box -1 15 mark - (EO< fitnessT >) 1 14 box -1 14 mark - (EO< FitT >) 1 13 box -1 13 mark - (EO< FType >) 1 12 box -1 12 mark - (EO< phenotype >) 1 11 box -1 11 mark - (EO< PyFitness >) 1 10 box -1 10 mark - (eoDistribution< EOT >) 1 9 box -1 9 mark - (eoFactory< EOClass >) 1 8 box - (eoFactory< eoOpSelector< eoClass > >) 1 7 box -1 7 mark - (eoFactory< eoSelect< EOT > >) 1 6 box -1 6 mark - (eoFactory< EOT >) 1 5 box -1 5 mark - (eoParser) 1 4 box - (eoPop< EOT >) 1 3 box - (eoPop< Dummy >) 1 2 box -1 2 mark - (eoPop< PyEO >) 1 1 box - (eoRng) 1 0 box - -% ----- relations ----- - -solid -1 0 20.25 out -solid -0 0 20.5 hedge -solid -0 0 19.5 hedge -solid -0 0 18.5 hedge -solid -0 0 17.5 hedge -solid -0 0 16.5 hedge -solid -0 0 15.5 hedge -solid -0 0 14.5 hedge -solid -0 0 13.5 hedge -solid -0 0 12.5 hedge -solid -0 0 11.5 hedge -solid -0 0 10.5 hedge -solid -0 0 9.5 hedge -solid -0 0 8.5 hedge -solid -0 0 7.5 hedge -solid -0 0 6.5 hedge -solid -0 0 5.5 hedge -solid -0 0 4.5 hedge -solid -0 0 3.5 hedge -solid -0 0 2.5 hedge -solid -0 0 1.5 hedge -solid -0 0 0.5 hedge -solid -0 21 0.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/classeo_object.tex b/trunk/paradiseo-eo/doc/latex/classeo_object.tex deleted file mode 100644 index 03d371482..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_object.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{eo\-Object Class Reference} -\label{classeo_object}\index{eoObject@{eoObject}} -eo\-Object used to be the base class for the whole hierarchy, but this has changed. - - -{\tt \#include $<$eo\-Object.h$>$} - -Inheritance diagram for eo\-Object::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=12cm]{classeo_object} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-Object} ()\label{classeo_object_a0} - -\begin{CompactList}\small\item\em Virtual dtor. They are needed in virtual class hierarchies. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const =0 -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-Object used to be the base class for the whole hierarchy, but this has changed. - -eo\-Object is used to define a name ({\bf class\-Name}{\rm (p.\,\pageref{classeo_object_a1})}\#) that is used when loading or saving the state. - -Previously, this object also defined a print and read interface, but it180s been moved to {\bf eo\-Printable}{\rm (p.\,\pageref{classeo_printable})} and {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}. - -It is recommended that you only derive from eo\-Object in concrete classes. Some parts of {\bf EO}{\rm (p.\,\pageref{class_e_o})} do not implement this yet, but that will change in the future. eo\-Object, together with {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} and {\bf eo\-Printable}{\rm (p.\,\pageref{classeo_printable})} provide a simple persistence framework that is only needed when the classes have state that changes at runtime. - -\begin{Desc} -\item[See also:]{\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} {\bf eo\-Printable}{\rm (p.\,\pageref{classeo_printable})}, {\bf eo\-State}{\rm (p.\,\pageref{classeo_state})} \end{Desc} - - - - -Definition at line 55 of file eo\-Object.h. - -\subsection{Member Function Documentation} -\index{eoObject@{eo\-Object}!className@{className}} -\index{className@{className}!eoObject@{eo\-Object}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual std::string eo\-Object::class\-Name () const\hspace{0.3cm}{\tt [pure virtual]}}\label{classeo_object_a1} - - -Return the class id. - -This should be redefined in each class. Only \char`\"{}leaf\char`\"{} classes can be non-virtual. - -Maarten: removed the default implementation as this proved to be too error-prone: I found several classes that had a typo in class\-Name (like classname), which would print eo\-Object instead of their own. Having it pure will force the implementor to provide a name. - -Implemented in {\bf EO$<$ F $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf eo\-Factory$<$ EOClass $>$} {\rm (p.\,\pageref{classeo_factory_z13_0})}, {\bf eo\-Op\-Sel\-Mason$<$ eo\-Class $>$} {\rm (p.\,\pageref{classeo_op_sel_mason_z17_0})}, {\bf eo\-Pop$<$ EOT $>$} {\rm (p.\,\pageref{classeo_pop_z19_1})}, {\bf eo\-Es\-Full$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_full_a1})}, {\bf eo\-Es\-Simple$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_simple_a1})}, {\bf eo\-Es\-Stdev$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_stdev_a1})}, {\bf eo\-Real$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_real_a1})}, {\bf eo\-Bit$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_bit_a1})}, {\bf eo\-PBILDistrib$<$ EOT $>$} {\rm (p.\,\pageref{classeo_p_b_i_l_distrib_a6})}, {\bf eo\-Parse\-Tree$<$ FType, Node $>$} {\rm (p.\,\pageref{classeo_parse_tree_a4})}, {\bf eo\-String$<$ fitness\-T $>$} {\rm (p.\,\pageref{classeo_string_z26_0})}, {\bf eo\-Parser} {\rm (p.\,\pageref{classeo_parser_a4})}, {\bf eo\-Rng} {\rm (p.\,\pageref{classeo_rng_a18})}, {\bf eo\-One\-Max$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_one_max_a2})}, {\bf EO$<$ double $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ EOT::Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ Fit\-T $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ phenotype $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ fitness\-T $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ Fit $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ FType $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ fitness\_\-type $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf EO$<$ Py\-Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}, {\bf eo\-Factory$<$ eo\-Op\-Selector$<$ eo\-Class $>$ $>$} {\rm (p.\,\pageref{classeo_factory_z13_0})}, {\bf eo\-Factory$<$ EOT $>$} {\rm (p.\,\pageref{classeo_factory_z13_0})}, {\bf eo\-Factory$<$ eo\-Select$<$ EOT $>$ $>$} {\rm (p.\,\pageref{classeo_factory_z13_0})}, {\bf eo\-Pop$<$ Py\-EO $>$} {\rm (p.\,\pageref{classeo_pop_z19_1})}, and {\bf eo\-Pop$<$ Dummy $>$} {\rm (p.\,\pageref{classeo_pop_z19_1})}. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Object.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_fifth_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_one_fifth_mutation.eps deleted file mode 100644 index c8540706f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_fifth_mutation.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 165.837 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.015 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOneFifthMutation< EOT >) cw -(eoNormalMutation< EOT >) cw -(eoUpdatable) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOneFifthMutation< EOT >) 1 0 box - (eoNormalMutation< EOT >) 0.5 1 box - (eoUpdatable) 1.5 1 box - (eoMonOp< EOT >) 0.5 2 box - (eoOp< EOT >) 0 3 box - (eoUF< EOT &, bool >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< EOT &, bool >) 1.5 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -0.5 1.5 1 conn -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 1.5 1 in -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_fifth_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_one_fifth_mutation.tex deleted file mode 100644 index cd50bef64..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_fifth_mutation.tex +++ /dev/null @@ -1,105 +0,0 @@ -\section{eo\-One\-Fifth\-Mutation$<$ EOT $>$ Class Template Reference} -\label{classeo_one_fifth_mutation}\index{eoOneFifthMutation@{eoOneFifthMutation}} -the dynamic version: just say it is updatable - and write the {\bf update()}{\rm (p.\,\pageref{classeo_one_fifth_mutation_a3})} method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !) - - -{\tt \#include $<$eo\-Normal\-Mutation.h$>$} - -Inheritance diagram for eo\-One\-Fifth\-Mutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4.64345cm]{classeo_one_fifth_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_one_fifth_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-One\-Fifth\-Mutation} ({\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, double \&\_\-sigma\-Init, unsigned \_\-window\-Size=10, double \_\-update\-Factor=0.83, double \_\-threshold=0.2) -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_one_fifth_mutation_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo) -\begin{CompactList}\small\item\em Do it! calls the standard mutation, then checks for success and updates stats. \item\end{CompactList}\item -void {\bf update} ()\label{classeo_one_fifth_mutation_a3} - -\begin{CompactList}\small\item\em the method that will be called every generation if the object is added to the checkpoint \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf eval}\label{classeo_one_fifth_mutation_r0} - -\item -double {\bf threshold}\label{classeo_one_fifth_mutation_r1} - -\item -double {\bf update\-Factor}\label{classeo_one_fifth_mutation_r2} - -\item -std::vector$<$ unsigned $>$ {\bf nb\-Mut}\label{classeo_one_fifth_mutation_r3} - -\item -std::vector$<$ unsigned $>$ {\bf nb\-Success}\label{classeo_one_fifth_mutation_r4} - -\item -unsigned {\bf gen\-Index}\label{classeo_one_fifth_mutation_r5} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-One\-Fifth\-Mutation$<$ EOT $>$} - -the dynamic version: just say it is updatable - and write the {\bf update()}{\rm (p.\,\pageref{classeo_one_fifth_mutation_a3})} method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !) - - - -Definition at line 177 of file eo\-Normal\-Mutation.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoOneFifthMutation@{eo\-One\-Fifth\-Mutation}!eoOneFifthMutation@{eoOneFifthMutation}} -\index{eoOneFifthMutation@{eoOneFifthMutation}!eoOneFifthMutation@{eo\-One\-Fifth\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-One\-Fifth\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-One\-Fifth\-Mutation} ({\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\em \_\-eval}, double \& {\em \_\-sigma\-Init}, unsigned {\em \_\-window\-Size} = {\tt 10}, double {\em \_\-update\-Factor} = {\tt 0.83}, double {\em \_\-threshold} = {\tt 0.2})\hspace{0.3cm}{\tt [inline]}}\label{classeo_one_fifth_mutation_a0} - - -(Default) Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em eval}]the evaluation function, needed to recompute the fitmess \item[{\em \_\-sigma\-Init}]the initial value for uniform mutation \item[{\em \_\-window\-Size}]the size of the window for statistics \item[{\em \_\-threshold}]the threshold (the 1/5 - 0.2) \item[{\em \_\-update\-Factor}]multiplicative update factor for sigma \end{description} -\end{Desc} - - -Definition at line 195 of file eo\-Normal\-Mutation.h. - -\subsection{Member Function Documentation} -\index{eoOneFifthMutation@{eo\-One\-Fifth\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoOneFifthMutation@{eo\-One\-Fifth\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf eo\-One\-Fifth\-Mutation}$<$ {\bf EOT} $>$::operator() ({\bf EOT} \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_one_fifth_mutation_a2} - - -Do it! calls the standard mutation, then checks for success and updates stats. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]The chromosome undergoing the mutation \end{description} -\end{Desc} - - -Reimplemented from {\bf eo\-Normal\-Mutation$<$ EOT $>$} {\rm (p.\,\pageref{classeo_normal_mutation_a3})}. - -Definition at line 216 of file eo\-Normal\-Mutation.h. - -References EO$<$ F $>$::fitness(), EO$<$ F $>$::invalid(), EO$<$ F $>$::invalidate(), and eo\-Normal\-Mutation$<$ EOT $>$::operator()(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Normal\-Mutation.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max.eps b/trunk/paradiseo-eo/doc/latex/classeo_one_max.eps deleted file mode 100644 index 6129cadda..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 314.961 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.5875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOneMax< FitT >) cw -(EO< FitT >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOneMax< FitT >) 0.5 0 box - (EO< FitT >) 0.5 1 box - (eoObject) 0 2 box - (eoPersistent) 1 2 box - (eoPrintable) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max.tex b/trunk/paradiseo-eo/doc/latex/classeo_one_max.tex deleted file mode 100644 index 8cc09ac36..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max.tex +++ /dev/null @@ -1,108 +0,0 @@ -\section{eo\-One\-Max$<$ Fit\-T $>$ Class Template Reference} -\label{classeo_one_max}\index{eoOneMax@{eoOneMax}} -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - - -{\tt \#include $<$eo\-One\-Max.h$>$} - -Inheritance diagram for eo\-One\-Max$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_one_max} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-One\-Max} () -\begin{CompactList}\small\item\em Ctor: you MUST provide a default ctor. \item\end{CompactList}\item -virtual string {\bf class\-Name} () const -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\item -void {\bf print\-On} (ostream \&\_\-os) const -\begin{CompactList}\small\item\em printing... \item\end{CompactList}\item -void {\bf read\-From} (istream \&\_\-is) -\begin{CompactList}\small\item\em reading... \item\end{CompactList}\item -void {\bf set\-B} (vector$<$ bool $>$ \&\_\-b)\label{classeo_one_max_a5} - -\item -const vector$<$ bool $>$ \& {\bf B} ()\label{classeo_one_max_a6} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ bool $>$ {\bf b}\label{classeo_one_max_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class eo\-One\-Max$<$ Fit\-T $>$} - -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -Note that you MUST derive your structure from EO$<$fit\-T$>$ but you MAY use some other already prepared class in the hierarchy like {\bf eo\-Vector}{\rm (p.\,\pageref{classeo_vector})} for instance, if you handle a vector of something.... - -If you create a structure from scratch, the only thing you need to provide are a default constructor IO routines print\-On and read\-From - -Note that operator$<$$<$ and operator$>$$>$ are defined at {\bf EO}{\rm (p.\,\pageref{class_e_o})} level using these routines - - - -Definition at line 31 of file eo\-One\-Max.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoOneMax@{eo\-One\-Max}!eoOneMax@{eoOneMax}} -\index{eoOneMax@{eoOneMax}!eoOneMax@{eo\-One\-Max}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ {\bf eo\-One\-Max}$<$ {\bf Fit\-T} $>$::{\bf eo\-One\-Max} ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_one_max_a0} - - -Ctor: you MUST provide a default ctor. - -though such individuals will generally be processed by some {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} object - -Definition at line 37 of file eo\-One\-Max.h. - -\subsection{Member Function Documentation} -\index{eoOneMax@{eo\-One\-Max}!className@{className}} -\index{className@{className}!eoOneMax@{eo\-One\-Max}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ virtual string {\bf eo\-One\-Max}$<$ {\bf Fit\-T} $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_one_max_a2} - - -Return the class id. - -\begin{Desc} -\item[Returns:]the class name as a std::string \end{Desc} - - -Reimplemented from {\bf EO$<$ Fit\-T $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}. - -Definition at line 49 of file eo\-One\-Max.h.\index{eoOneMax@{eo\-One\-Max}!printOn@{printOn}} -\index{printOn@{printOn}!eoOneMax@{eo\-One\-Max}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ void {\bf eo\-One\-Max}$<$ {\bf Fit\-T} $>$::print\-On (ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline]}}\label{classeo_one_max_a3} - - -printing... - -HINTS in {\bf EO}{\rm (p.\,\pageref{class_e_o})} we systematically write the sizes of things before the things so read\-From is easier to code (see below) - -Definition at line 52 of file eo\-One\-Max.h. - -References EO$<$ F $>$::print\-On().\index{eoOneMax@{eo\-One\-Max}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoOneMax@{eo\-One\-Max}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ void {\bf eo\-One\-Max}$<$ {\bf Fit\-T} $>$::read\-From (istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline]}}\label{classeo_one_max_a4} - - -reading... - -of course, your read\-From must be able to read what print\-On writes!!! - -HINTS remember the eo\-One\-Max object will come from the default ctor this is why having the sizes written out is useful - -Definition at line 72 of file eo\-One\-Max.h. - -References EO$<$ F $>$::read\-From(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-One\-Max.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max_eval_func.eps b/trunk/paradiseo-eo/doc/latex/classeo_one_max_eval_func.eps deleted file mode 100644 index 8ed1ec006..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max_eval_func.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 199.005 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.5125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOneMaxEvalFunc< EOT >) cw -(eoEvalFunc< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOneMaxEvalFunc< EOT >) 0.5 0 box - (eoEvalFunc< EOT >) 0.5 1 box - (eoUF< EOT &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EOT &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max_eval_func.tex b/trunk/paradiseo-eo/doc/latex/classeo_one_max_eval_func.tex deleted file mode 100644 index b7b59e420..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max_eval_func.tex +++ /dev/null @@ -1,56 +0,0 @@ -\section{eo\-One\-Max\-Eval\-Func$<$ EOT $>$ Class Template Reference} -\label{classeo_one_max_eval_func}\index{eoOneMaxEvalFunc@{eoOneMaxEvalFunc}} -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - - -{\tt \#include $<$eo\-One\-Max\-Eval\-Func.h$>$} - -Inheritance diagram for eo\-One\-Max\-Eval\-Func$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_one_max_eval_func} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-One\-Max\-Eval\-Func} ()\label{classeo_one_max_eval_func_a0} - -\begin{CompactList}\small\item\em Ctor - no requirement. \item\end{CompactList}\item -void {\bf operator()} ({\bf EOT} \&\_\-eo) -\begin{CompactList}\small\item\em Actually compute the fitness. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-One\-Max\-Eval\-Func$<$ EOT $>$} - -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - - - -Definition at line 26 of file eo\-One\-Max\-Eval\-Func.h. - -\subsection{Member Function Documentation} -\index{eoOneMaxEvalFunc@{eo\-One\-Max\-Eval\-Func}!operator()@{operator()}} -\index{operator()@{operator()}!eoOneMaxEvalFunc@{eo\-One\-Max\-Eval\-Func}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-One\-Max\-Eval\-Func}$<$ {\bf EOT} $>$::operator() ({\bf EOT} \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_one_max_eval_func_a1} - - -Actually compute the fitness. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em EOT}]\& \_\-eo the {\bf EO}{\rm (p.\,\pageref{class_e_o})} object to evaluate it should stay templatized to be usable with any fitness type \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ EOT \&, void $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 45 of file eo\-One\-Max\-Eval\-Func.h. - -References EO$<$ F $>$::fitness(), and EO$<$ F $>$::invalid(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-One\-Max\-Eval\-Func.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_one_max_init.eps deleted file mode 100644 index 36a3b0855..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 168.776 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.9625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOneMaxInit< GenotypeT >) cw -(eoInit< GenotypeT >) cw -(eoUF< GenotypeT &, void >) cw -(eoFunctorBase) cw -(unary_function< GenotypeT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOneMaxInit< GenotypeT >) 0.5 0 box - (eoInit< GenotypeT >) 0.5 1 box - (eoUF< GenotypeT &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< GenotypeT &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_one_max_init.tex deleted file mode 100644 index 4627a3721..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max_init.tex +++ /dev/null @@ -1,64 +0,0 @@ -\section{eo\-One\-Max\-Init$<$ Genotype\-T $>$ Class Template Reference} -\label{classeo_one_max_init}\index{eoOneMaxInit@{eoOneMaxInit}} -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - - -{\tt \#include $<$eo\-One\-Max\-Init.h$>$} - -Inheritance diagram for eo\-One\-Max\-Init$<$ Genotype\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_one_max_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-One\-Max\-Init} (unsigned \_\-vec\-Size)\label{classeo_one_max_init_a0} - -\begin{CompactList}\small\item\em Ctor - no requirement. \item\end{CompactList}\item -void {\bf operator()} (Genotype\-T \&\_\-genotype) -\begin{CompactList}\small\item\em initialize a genotype \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf vec\-Size}\label{classeo_one_max_init_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Genotype\-T$>$ class eo\-One\-Max\-Init$<$ Genotype\-T $>$} - -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -There is NO ASSUMPTION on the class Genoype\-T. In particular, it does not need to derive from {\bf EO}{\rm (p.\,\pageref{class_e_o})} (e.g. to initialize atoms of an {\bf eo\-Vector}{\rm (p.\,\pageref{classeo_vector})} you will need an {\bf eo\-Init$<$Atom\-Type$>$}{\rm (p.\,\pageref{classeo_init})}) - - - -Definition at line 26 of file eo\-One\-Max\-Init.h. - -\subsection{Member Function Documentation} -\index{eoOneMaxInit@{eo\-One\-Max\-Init}!operator()@{operator()}} -\index{operator()@{operator()}!eoOneMaxInit@{eo\-One\-Max\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Genotype\-T$>$ void {\bf eo\-One\-Max\-Init}$<$ Genotype\-T $>$::operator() (Genotype\-T \& {\em \_\-genotype})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_one_max_init_a1} - - -initialize a genotype - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-genotype}]generally a genotype that has been default-constructed whatever it contains will be lost \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ Genotype\-T \&, void $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 44 of file eo\-One\-Max\-Init.h. - -References eo\-Rng::flip(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-One\-Max\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_one_max_mutation.eps deleted file mode 100644 index ec27106f5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.518 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOneMaxMutation< GenotypeT >) cw -(eoMonOp< GenotypeT >) cw -(eoOp< GenotypeT >) cw -(eoUF< GenotypeT &, bool >) cw -(eoFunctorBase) cw -(unary_function< GenotypeT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOneMaxMutation< GenotypeT >) 0.5 0 box - (eoMonOp< GenotypeT >) 0.5 1 box - (eoOp< GenotypeT >) 0 2 box - (eoUF< GenotypeT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< GenotypeT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_one_max_mutation.tex deleted file mode 100644 index 7e97af7f6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max_mutation.tex +++ /dev/null @@ -1,61 +0,0 @@ -\section{eo\-One\-Max\-Mutation$<$ Genotype\-T $>$ Class Template Reference} -\label{classeo_one_max_mutation}\index{eoOneMaxMutation@{eoOneMaxMutation}} -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - - -{\tt \#include $<$eo\-One\-Max\-Mutation.h$>$} - -Inheritance diagram for eo\-One\-Max\-Mutation$<$ Genotype\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15049cm]{classeo_one_max_mutation} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-One\-Max\-Mutation} ()\label{classeo_one_max_mutation_a0} - -\begin{CompactList}\small\item\em Ctor - no requirement. \item\end{CompactList}\item -string {\bf class\-Name} () const \label{classeo_one_max_mutation_a1} - -\begin{CompactList}\small\item\em The class name. Used to display statistics. \item\end{CompactList}\item -bool {\bf operator()} (Genotype\-T \&\_\-genotype) -\begin{CompactList}\small\item\em modifies the parent \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Genotype\-T$>$ class eo\-One\-Max\-Mutation$<$ Genotype\-T $>$} - -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -THere is NO ASSUMPTION on the class Genoype\-T. In particular, it does not need to derive from {\bf EO}{\rm (p.\,\pageref{class_e_o})} - - - -Definition at line 25 of file eo\-One\-Max\-Mutation.h. - -\subsection{Member Function Documentation} -\index{eoOneMaxMutation@{eo\-One\-Max\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoOneMaxMutation@{eo\-One\-Max\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Genotype\-T$>$ bool {\bf eo\-One\-Max\-Mutation}$<$ Genotype\-T $>$::operator() (Genotype\-T \& {\em \_\-genotype})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_one_max_mutation_a2} - - -modifies the parent - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-genotype}]The parent genotype (will be modified)\end{description} -\end{Desc} - - -Requirement if (\_\-genotype has been modified) is\-Modified = true; else is\-Modified = false; - -Implements {\bf eo\-UF$<$ Genotype\-T \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 47 of file eo\-One\-Max\-Mutation.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-One\-Max\-Mutation.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max_quad_crossover.eps b/trunk/paradiseo-eo/doc/latex/classeo_one_max_quad_crossover.eps deleted file mode 100644 index 7f9aae6ec..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max_quad_crossover.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 82.3045 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.075 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOneMaxQuadCrossover< GenotypeT >) cw -(eoQuadOp< GenotypeT >) cw -(eoOp< GenotypeT >) cw -(eoBF< GenotypeT &, GenotypeT &, bool >) cw -(eoFunctorBase) cw -(binary_function< GenotypeT &, GenotypeT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOneMaxQuadCrossover< GenotypeT >) 0.5 0 box - (eoQuadOp< GenotypeT >) 0.5 1 box - (eoOp< GenotypeT >) 0 2 box - (eoBF< GenotypeT &, GenotypeT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< GenotypeT &, GenotypeT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_one_max_quad_crossover.tex b/trunk/paradiseo-eo/doc/latex/classeo_one_max_quad_crossover.tex deleted file mode 100644 index 65de8a6ff..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_one_max_quad_crossover.tex +++ /dev/null @@ -1,61 +0,0 @@ -\section{eo\-One\-Max\-Quad\-Crossover$<$ Genotype\-T $>$ Class Template Reference} -\label{classeo_one_max_quad_crossover}\index{eoOneMaxQuadCrossover@{eoOneMaxQuadCrossover}} -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - - -{\tt \#include $<$eo\-One\-Max\-Quad\-Crossover.h$>$} - -Inheritance diagram for eo\-One\-Max\-Quad\-Crossover$<$ Genotype\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.30453cm]{classeo_one_max_quad_crossover} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-One\-Max\-Quad\-Crossover} ()\label{classeo_one_max_quad_crossover_a0} - -\begin{CompactList}\small\item\em Ctor - no requirement. \item\end{CompactList}\item -string {\bf class\-Name} () const \label{classeo_one_max_quad_crossover_a1} - -\begin{CompactList}\small\item\em The class name. Used to display statistics. \item\end{CompactList}\item -bool {\bf operator()} (Genotype\-T \&\_\-genotype1, Genotype\-T \&\_\-genotype2) -\begin{CompactList}\small\item\em eo\-Quad crossover - modifies both parents \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Genotype\-T$>$ class eo\-One\-Max\-Quad\-Crossover$<$ Genotype\-T $>$} - -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -THere is NO ASSUMPTION on the class Genoype\-T. In particular, it does not need to derive from {\bf EO}{\rm (p.\,\pageref{class_e_o})} - - - -Definition at line 26 of file eo\-One\-Max\-Quad\-Crossover.h. - -\subsection{Member Function Documentation} -\index{eoOneMaxQuadCrossover@{eo\-One\-Max\-Quad\-Crossover}!operator()@{operator()}} -\index{operator()@{operator()}!eoOneMaxQuadCrossover@{eo\-One\-Max\-Quad\-Crossover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Genotype\-T$>$ bool {\bf eo\-One\-Max\-Quad\-Crossover}$<$ Genotype\-T $>$::operator() (Genotype\-T \& {\em \_\-genotype1}, Genotype\-T \& {\em \_\-genotype2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_one_max_quad_crossover_a2} - - -eo\-Quad crossover - modifies both parents - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-genotype1}]The first parent \item[{\em \_\-genotype2}]The second parent\end{description} -\end{Desc} - - -Requirement if (at least one genotype has been modified) // no way to distinguish one\-At\-Least\-Is\-Modified = true; else one\-At\-Least\-Is\-Modified = false; - -Implements {\bf eo\-BF$<$ Genotype\-T \&, Genotype\-T \&, bool $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 49 of file eo\-One\-Max\-Quad\-Crossover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-One\-Max\-Quad\-Crossover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_op.eps deleted file mode 100644 index 8d02b11be..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_op.eps +++ /dev/null @@ -1,207 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 87.7193 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.7 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOp< EOType >) cw -(eoBinOp< EOType >) cw -(eoMonOp< EOType >) cw -(eoQuadOp< EOType >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOp< EOType >) 1 1 box - (eoBinOp< EOType >) 0 0 box - (eoMonOp< EOType >) 1 0 box - (eoQuadOp< EOType >) 2 0 box - -% ----- relations ----- - -solid -1 1 0.25 out -solid -0 2 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_op.tex deleted file mode 100644 index d6cf1a982..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_op.tex +++ /dev/null @@ -1,53 +0,0 @@ -\section{eo\-Op$<$ EOType $>$ Class Template Reference} -\label{classeo_op}\index{eoOp@{eoOp}} -Abstract data types for {\bf EO}{\rm (p.\,\pageref{class_e_o})} operators. - - -{\tt \#include $<$eo\-Op.h$>$} - -Inheritance diagram for eo\-Op$<$ EOType $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_op} -\end{center} -\end{figure} -\subsection*{[NOHEADER]} -\begin{CompactItemize} -\item -enum {\bf Op\-Type} \{ {\bf unary} = 0, -{\bf binary} = 1, -{\bf quadratic} = 2, -{\bf general} = 3 - \} -\item -{\bf eo\-Op} (Op\-Type \_\-type)\label{classeo_op_z14_1} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -{\bf eo\-Op} (const {\bf eo\-Op} \&\_\-eop)\label{classeo_op_z14_2} - -\begin{CompactList}\small\item\em Copy Ctor. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Op} ()\label{classeo_op_z14_3} - -\begin{CompactList}\small\item\em Needed virtual destructor. \item\end{CompactList}\item -Op\-Type {\bf get\-Type} () const \label{classeo_op_z14_4} - -\begin{CompactList}\small\item\em get\-Type: number of operands it takes and individuals it produces \item\end{CompactList}\item -Op\-Type {\bf op\-Type}\label{classeo_op_z14_5} - -\begin{CompactList}\small\item\em Op\-Type is the type of the operator: how many operands it takes and how many it produces. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOType$>$ class eo\-Op$<$ EOType $>$} - -Abstract data types for {\bf EO}{\rm (p.\,\pageref{class_e_o})} operators. - -Genetic operators act on chromosomes, changing them. The type to use them on is problem specific. If your genotype is a std::vector$<$bool$>$, there are operators that work specifically on std::vector$<$bool$>$, but you might also find that generic operators working on std::vector$<$T$>$ are what you need. - - - -Definition at line 68 of file eo\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_op_container.eps b/trunk/paradiseo-eo/doc/latex/classeo_op_container.eps deleted file mode 100644 index e90ff5e57..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_op_container.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 113.766 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.395 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOpContainer< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -(eoProportionalOp< EOT >) cw -(eoSequentialOp< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOpContainer< EOT >) 0.5 1 box - (eoGenOp< EOT >) 0.5 2 box - (eoOp< EOT >) 0 3 box - (eoUF< eoPopulator< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 4 box - (eoProportionalOp< EOT >) 0 0 box - (eoSequentialOp< EOT >) 1 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in -solid -1 0.5 0.25 out -solid -0 1 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_op_container.tex b/trunk/paradiseo-eo/doc/latex/classeo_op_container.tex deleted file mode 100644 index d5d4dd2e9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_op_container.tex +++ /dev/null @@ -1,76 +0,0 @@ -\section{eo\-Op\-Container$<$ EOT $>$ Class Template Reference} -\label{classeo_op_container}\index{eoOpContainer@{eoOpContainer}} -eo\-Op\-Container is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated - - -{\tt \#include $<$eo\-Op\-Container.h$>$} - -Inheritance diagram for eo\-Op\-Container$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.18544cm]{classeo_op_container} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Op\-Container} ()\label{classeo_op_container_a0} - -\begin{CompactList}\small\item\em Ctor: nothing much to do. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Op\-Container} (void)\label{classeo_op_container_a1} - -\begin{CompactList}\small\item\em Dtor: delete all the Gen\-Ops created when wrapping simple ops. \item\end{CompactList}\item -virtual unsigned {\bf max\_\-production} (void)\label{classeo_op_container_a2} - -\begin{CompactList}\small\item\em for memory management (doesn't have to be very precise \item\end{CompactList}\item -void {\bf add} ({\bf eo\-Op}$<$ {\bf EOT} $>$ \&\_\-op, double \_\-rate) -\begin{CompactList}\small\item\em Add an operator to the container, also give it a rate. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const =0\label{classeo_op_container_a4} - -\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -std::vector$<$ double $>$ {\bf rates}\label{classeo_op_container_p0} - -\item -std::vector$<$ {\bf eo\-Gen\-Op}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf ops}\label{classeo_op_container_p1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Functor\-Store} {\bf store}\label{classeo_op_container_r0} - -\item -unsigned {\bf max\_\-to\_\-produce}\label{classeo_op_container_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Op\-Container$<$ EOT $>$} - -eo\-Op\-Container is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated - -Warning: all operators are added together with a rate (double) However, the meaning of this rate will be different in the differnet instances of eo\-Op\-Container: an $\ast$$\ast$$\ast$absolute$\ast$$\ast$$\ast$ probability in the sequential version, and a $\ast$$\ast$$\ast$relative$\ast$$\ast$$\ast$ weight in the proportional version - - - -Definition at line 42 of file eo\-Op\-Container.h. - -\subsection{Member Function Documentation} -\index{eoOpContainer@{eo\-Op\-Container}!add@{add}} -\index{add@{add}!eoOpContainer@{eo\-Op\-Container}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Op\-Container}$<$ {\bf EOT} $>$::add ({\bf eo\-Op}$<$ {\bf EOT} $>$ \& {\em \_\-op}, double {\em \_\-rate})\hspace{0.3cm}{\tt [inline]}}\label{classeo_op_container_a3} - - -Add an operator to the container, also give it a rate. - -(sidenote, it's much less hairy since I added the wrap\_\-op is used) - -Definition at line 63 of file eo\-Op\-Container.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op\-Container.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_op_sel_mason.eps b/trunk/paradiseo-eo/doc/latex/classeo_op_sel_mason.eps deleted file mode 100644 index b8f92c4e7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_op_sel_mason.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 240.964 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoOpSelMason< eoClass >) cw -(eoFactory< eoOpSelector< eoClass > >) cw -(eoObject) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoOpSelMason< eoClass >) 0 0 box - (eoFactory< eoOpSelector< eoClass > >) 0 1 box - (eoObject) 0 2 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_op_sel_mason.tex b/trunk/paradiseo-eo/doc/latex/classeo_op_sel_mason.tex deleted file mode 100644 index d598bff71..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_op_sel_mason.tex +++ /dev/null @@ -1,83 +0,0 @@ -\section{eo\-Op\-Sel\-Mason$<$ eo\-Class $>$ Class Template Reference} -\label{classeo_op_sel_mason}\index{eoOpSelMason@{eoOpSelMason}} -{\bf EO}{\rm (p.\,\pageref{class_e_o})} Mason, or builder, for operator selectors. - - -{\tt \#include $<$eo\-Op\-Sel\-Mason.h$>$} - -Inheritance diagram for eo\-Op\-Sel\-Mason$<$ eo\-Class $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_op_sel_mason} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ {\bf eo\-Op}$<$ eo\-Class $>$ $\ast$ $>$ {\bf v\-Op\-P}\label{classeo_op_sel_mason_w0} - -\item -typedef map$<$ eo\-Op\-Selector$<$ eo\-Class $>$ $\ast$, v\-Op\-P $>$ {\bf MEV}\label{classeo_op_sel_mason_w1} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual eo\-Op\-Selector$<$ eo\-Class $>$ $\ast$ {\bf make} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. \item\end{CompactList}\end{CompactItemize} -\begin{Indent}{\bf ctors and dtors}\par -\begin{CompactItemize} -\item -{\bf eo\-Op\-Sel\-Mason} (eo\-Op\-Factory$<$ eo\-Class $>$ \&\_\-op\-Fact)\label{classeo_op_sel_mason_z15_0} - -\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Op\-Sel\-Mason} ()\label{classeo_op_sel_mason_z15_1} - -\begin{CompactList}\small\item\em destructor \item\end{CompactList}\end{CompactItemize} -\end{Indent} -\begin{Indent}{\bf eo\-Object methods}\par -\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const \label{classeo_op_sel_mason_z17_0} - -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\end{CompactItemize} -\end{Indent} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -map$<$ eo\-Op\-Selector$<$ eo\-Class $>$ $\ast$, std::vector$<$ {\bf eo\-Op}$<$ eo\-Class $>$ $\ast$ $>$ $>$ {\bf alloc\-Map}\label{classeo_op_sel_mason_r0} - -\item -eo\-Op\-Factory$<$ eo\-Class $>$ \& {\bf operator\-Factory}\label{classeo_op_sel_mason_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class eo\-Class$>$ class eo\-Op\-Sel\-Mason$<$ eo\-Class $>$} - -{\bf EO}{\rm (p.\,\pageref{class_e_o})} Mason, or builder, for operator selectors. - -A builder must allocate memory to the objects it builds, and then deallocate it when it gets out of scope - - - -Definition at line 39 of file eo\-Op\-Sel\-Mason.h. - -\subsection{Member Function Documentation} -\index{eoOpSelMason@{eo\-Op\-Sel\-Mason}!make@{make}} -\index{make@{make}!eoOpSelMason@{eo\-Op\-Sel\-Mason}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class eo\-Class$>$ virtual eo\-Op\-Selector$<$eo\-Class$>$$\ast$ {\bf eo\-Op\-Sel\-Mason}$<$ eo\-Class $>$::make (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_op_sel_mason_a0} - - -Factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. - -The format is op\-Sel\-Class\-Name$\backslash$ rate 1 operator1$\backslash$ rate 2 operator2$\backslash$ ...$\backslash$ Stores all operators built in a database (\#alloc\-Map\#), so that somebody can destroy them later. The Mason is in charge or destroying the operators, since the built object can180t do it itself. The objects built must be destroyed from outside, using the \#destroy\# method - -Implements {\bf eo\-Factory$<$ eo\-Op\-Selector$<$ eo\-Class $>$ $>$} {\rm (p.\,\pageref{classeo_factory_a0})}. - -Definition at line 65 of file eo\-Op\-Sel\-Mason.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op\-Sel\-Mason.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_additive.eps b/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_additive.eps deleted file mode 100644 index 05f713c78..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_additive.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 96.8523 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.1625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPBILAdditive< EOT >) cw -(eoDistribUpdater< EOT >) cw -(eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoDistribution< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPBILAdditive< EOT >) 0.5 0 box - (eoDistribUpdater< EOT >) 0.5 1 box - (eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoDistribution< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_additive.tex b/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_additive.tex deleted file mode 100644 index 496a29420..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_additive.tex +++ /dev/null @@ -1,66 +0,0 @@ -\section{eo\-PBILAdditive$<$ EOT $>$ Class Template Reference} -\label{classeo_p_b_i_l_additive}\index{eoPBILAdditive@{eoPBILAdditive}} -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). - - -{\tt \#include $<$eo\-PBILAdditive.h$>$} - -Inheritance diagram for eo\-PBILAdditive$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.71186cm]{classeo_p_b_i_l_additive} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-PBILAdditive} (double \_\-LRBest, unsigned \_\-nb\-Best=1, double \_\-tolerance=0.0, double \_\-LRWorst=0.0, unsigned \_\-nb\-Worst=0)\label{classeo_p_b_i_l_additive_a0} - -\begin{CompactList}\small\item\em Ctor with parameters using the default values is equivalent to using {\bf eo\-PBILOrg}{\rm (p.\,\pageref{classeo_p_b_i_l_org})}. \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf eo\-Distribution}$<$ {\bf EOT} $>$ \&\_\-distrib, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_p_b_i_l_additive_a1} - -\begin{CompactList}\small\item\em Update the distribution from the current population. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf max\-Bound}\label{classeo_p_b_i_l_additive_r0} - -\item -double {\bf min\-Bound}\label{classeo_p_b_i_l_additive_r1} - -\item -double {\bf LR}\label{classeo_p_b_i_l_additive_r2} - -\item -unsigned {\bf nb\-Best}\label{classeo_p_b_i_l_additive_r3} - -\item -unsigned {\bf nb\-Worst}\label{classeo_p_b_i_l_additive_r4} - -\item -double {\bf lrb}\label{classeo_p_b_i_l_additive_r5} - -\item -double {\bf lrw}\label{classeo_p_b_i_l_additive_r6} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-PBILAdditive$<$ EOT $>$} - -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). - -This class implements an extended update rule: in the original paper, the authors used - -p(i)(t+1) = (1-LR)$\ast$p(i)(t) + LR$\ast$best(i) - -here the same formula is applied, with some of the best individuals and for some of the worst individuals (with different learning rates) - - - -Definition at line 46 of file eo\-PBILAdditive.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-PBILAdditive.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_distrib.eps b/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_distrib.eps deleted file mode 100644 index 26a941e04..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_distrib.eps +++ /dev/null @@ -1,249 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 80.9717 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.175 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 5 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPBILDistrib< EOT >) cw -(eoDistribution< EOT >) cw -(eoValueParam< std::vector< double > >) cw -(eoInit< EOT >) cw -(eoPersistent) cw -(eoObject) cw -(eoParam) cw -(eoUF< EOT &, void >) cw -(eoPrintable) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPBILDistrib< EOT >) 2.5 0 box - (eoDistribution< EOT >) 1.5 1 box - (eoValueParam< std::vector< double > >) 3.5 1 box - (eoInit< EOT >) 0.5 2 box - (eoPersistent) 1.5 2 box - (eoObject) 2.5 2 box - (eoParam) 3.5 2 box - (eoUF< EOT &, void >) 0.5 3 box - (eoPrintable) 1.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< EOT &, void >) 1 4 box - -% ----- relations ----- - -solid -0 2.5 0 out -solid -1.5 3.5 1 conn -solid -1 1.5 1 in -solid -0 1.5 1 out -solid -0.5 2.5 2 conn -solid -1 3.5 1 in -solid -0 3.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 1.5 2 in -solid -0 1.5 2 out -solid -1 2.5 2 in -solid -1 3.5 2 in -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 1.5 3 in -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_distrib.tex b/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_distrib.tex deleted file mode 100644 index bde26964f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_distrib.tex +++ /dev/null @@ -1,76 +0,0 @@ -\section{eo\-PBILDistrib$<$ EOT $>$ Class Template Reference} -\label{classeo_p_b_i_l_distrib}\index{eoPBILDistrib@{eoPBILDistrib}} -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). - - -{\tt \#include $<$eo\-PBILDistrib.h$>$} - -Inheritance diagram for eo\-PBILDistrib$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.26721cm]{classeo_p_b_i_l_distrib} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-PBILDistrib} (unsigned \_\-genome\-Size)\label{classeo_p_b_i_l_distrib_a0} - -\begin{CompactList}\small\item\em Ctor with size of genomes, and update parameters. \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_p_b_i_l_distrib_a1} - -\begin{CompactList}\small\item\em the randomizer of indis \item\end{CompactList}\item -unsigned {\bf Size} ()\label{classeo_p_b_i_l_distrib_a2} - -\begin{CompactList}\small\item\em Accessor to the genome size. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&os) const \label{classeo_p_b_i_l_distrib_a3} - -\begin{CompactList}\small\item\em printing... \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&is)\label{classeo_p_b_i_l_distrib_a4} - -\begin{CompactList}\small\item\em reading... \item\end{CompactList}\item -unsigned int {\bf size} ()\label{classeo_p_b_i_l_distrib_a5} - -\item -virtual std::string {\bf class\-Name} () const -\begin{CompactList}\small\item\em class\-Name: Mandatory because of {\bf eo\-Combined\-Init}{\rm (p.\,\pageref{classeo_combined_init})}. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf genome\-Size}\label{classeo_p_b_i_l_distrib_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-PBILDistrib$<$ EOT $>$} - -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). - -It encodes a univariate distribution on the space of bitstrings, i.e. one probability for each bit to be one - -It is an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})}$<$std::vector$<$double$>$ $>$ : the std::vector$<$double$>$ stores the probabilities that each bit is 1 - -It is still pure virtual, as the update method needs to be specified - - - -Definition at line 44 of file eo\-PBILDistrib.h. - -\subsection{Member Function Documentation} -\index{eoPBILDistrib@{eo\-PBILDistrib}!className@{className}} -\index{className@{className}!eoPBILDistrib@{eo\-PBILDistrib}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual std::string {\bf eo\-PBILDistrib}$<$ {\bf EOT} $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_p_b_i_l_distrib_a6} - - -class\-Name: Mandatory because of {\bf eo\-Combined\-Init}{\rm (p.\,\pageref{classeo_combined_init})}. - -SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 - -Reimplemented from {\bf eo\-Init$<$ EOT $>$} {\rm (p.\,\pageref{classeo_init_a0})}. - -Definition at line 94 of file eo\-PBILDistrib.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-PBILDistrib.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_org.eps b/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_org.eps deleted file mode 100644 index 1767fa8b0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_org.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 96.8523 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.1625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPBILOrg< EOT >) cw -(eoDistribUpdater< EOT >) cw -(eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoDistribution< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPBILOrg< EOT >) 0.5 0 box - (eoDistribUpdater< EOT >) 0.5 1 box - (eoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoDistribution< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_org.tex b/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_org.tex deleted file mode 100644 index 57870e5e0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_p_b_i_l_org.tex +++ /dev/null @@ -1,52 +0,0 @@ -\section{eo\-PBILOrg$<$ EOT $>$ Class Template Reference} -\label{classeo_p_b_i_l_org}\index{eoPBILOrg@{eoPBILOrg}} -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 95). - - -{\tt \#include $<$eo\-PBILOrg.h$>$} - -Inheritance diagram for eo\-PBILOrg$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.71186cm]{classeo_p_b_i_l_org} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-PBILOrg} (double \_\-LR, double \_\-tolerance=0.0)\label{classeo_p_b_i_l_org_a0} - -\begin{CompactList}\small\item\em Ctor with size of genomes, and update parameters. \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf eo\-Distribution}$<$ {\bf EOT} $>$ \&\_\-distrib, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_p_b_i_l_org_a1} - -\begin{CompactList}\small\item\em Update the distribution from the current population. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf LR}\label{classeo_p_b_i_l_org_r0} - -\item -double {\bf max\-Bound}\label{classeo_p_b_i_l_org_r1} - -\item -double {\bf min\-Bound}\label{classeo_p_b_i_l_org_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-PBILOrg$<$ EOT $>$} - -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 95). - -This class implements the update rule from the original paper: - -p(i)(t+1) = (1-LR)$\ast$p(i)(t) + LR$\ast$best(i) - - - -Definition at line 42 of file eo\-PBILOrg.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-PBILOrg.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_param.eps b/trunk/paradiseo-eo/doc/latex/classeo_param.eps deleted file mode 100644 index d85da18ae..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_param.eps +++ /dev/null @@ -1,273 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 607.143 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.823529 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 17 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoParam) cw -(eoValueParam< ValueType >) cw -(eoValueParam< double >) cw -(eoValueParam< EOT::Fitness >) cw -(eoValueParam< ParamType >) cw -(eoValueParam< std::pair< double, double > >) cw -(eoValueParam< std::string >) cw -(eoValueParam< std::vector< double > >) cw -(eoValueParam< std::vector< FitT > >) cw -(eoValueParam< std::vector< PartFitT > >) cw -(eoValueParam< std::vector< WorthT > >) cw -(eoValueParam< string >) cw -(eoValueParam< T >) cw -(eoValueParam< unsigned >) cw -(eoValueParam< unsigned long >) cw -(ParamWrapper) cw -(ValueParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoParam) 0 16 box - (eoValueParam< ValueType >) 1 15 box -1 15 mark - (eoValueParam< double >) 1 14 box -1 14 mark - (eoValueParam< EOT::Fitness >) 1 13 box -1 13 mark - (eoValueParam< ParamType >) 1 12 box -1 12 mark - (eoValueParam< std::pair< double, double > >) 1 11 box -1 11 mark - (eoValueParam< std::string >) 1 10 box -1 10 mark - (eoValueParam< std::vector< double > >) 1 9 box -1 9 mark - (eoValueParam< std::vector< FitT > >) 1 8 box -1 8 mark - (eoValueParam< std::vector< PartFitT > >) 1 7 box -1 7 mark - (eoValueParam< std::vector< WorthT > >) 1 6 box -1 6 mark - (eoValueParam< string >) 1 5 box -1 5 mark - (eoValueParam< T >) 1 4 box -1 4 mark - (eoValueParam< unsigned >) 1 3 box -1 3 mark - (eoValueParam< unsigned long >) 1 2 box -1 2 mark - (ParamWrapper) 1 1 box - (ValueParam) 1 0 box - -% ----- relations ----- - -solid -1 0 15.25 out -solid -0 0 15.5 hedge -solid -0 0 14.5 hedge -solid -0 0 13.5 hedge -solid -0 0 12.5 hedge -solid -0 0 11.5 hedge -solid -0 0 10.5 hedge -solid -0 0 9.5 hedge -solid -0 0 8.5 hedge -solid -0 0 7.5 hedge -solid -0 0 6.5 hedge -solid -0 0 5.5 hedge -solid -0 0 4.5 hedge -solid -0 0 3.5 hedge -solid -0 0 2.5 hedge -solid -0 0 1.5 hedge -solid -0 0 0.5 hedge -solid -0 16 0.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/classeo_param.tex b/trunk/paradiseo-eo/doc/latex/classeo_param.tex deleted file mode 100644 index 835e79a7a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_param.tex +++ /dev/null @@ -1,98 +0,0 @@ -\section{eo\-Param Class Reference} -\label{classeo_param}\index{eoParam@{eoParam}} -eo\-Param: Base class for monitoring and parsing parameters - - -{\tt \#include $<$eo\-Param.h$>$} - -Inheritance diagram for eo\-Param::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=12cm]{classeo_param} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Param} ()\label{classeo_param_a0} - -\begin{CompactList}\small\item\em Empty constructor - called from outside any parser. \item\end{CompactList}\item -{\bf eo\-Param} (std::string \_\-long\-Name, std::string \_\-default, std::string \_\-description, char \_\-short\-Name=0, bool \_\-required=false) -\begin{CompactList}\small\item\em Construct a Param. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Param} ()\label{classeo_param_a2} - -\begin{CompactList}\small\item\em Virtual destructor is needed. \item\end{CompactList}\item -virtual std::string {\bf get\-Value} () const =0\label{classeo_param_a3} - -\begin{CompactList}\small\item\em Pure virtual function to get the value out. \item\end{CompactList}\item -virtual void {\bf set\-Value} (const std::string \&\_\-value)=0\label{classeo_param_a4} - -\begin{CompactList}\small\item\em Pure virtual function to set the value. \item\end{CompactList}\item -char {\bf short\-Name} () const \label{classeo_param_a5} - -\begin{CompactList}\small\item\em Returns the short name. \item\end{CompactList}\item -const std::string \& {\bf long\-Name} () const \label{classeo_param_a6} - -\begin{CompactList}\small\item\em Returns the long name. \item\end{CompactList}\item -const std::string \& {\bf description} () const \label{classeo_param_a7} - -\begin{CompactList}\small\item\em Returns the description of the argument. \item\end{CompactList}\item -const std::string \& {\bf def\-Value} () const \label{classeo_param_a8} - -\begin{CompactList}\small\item\em Returns the default value of the argument. \item\end{CompactList}\item -void {\bf def\-Value} (const std::string \&str)\label{classeo_param_a9} - -\begin{CompactList}\small\item\em Sets the default value of the argument,. \item\end{CompactList}\item -void {\bf set\-Long\-Name} (std::string \_\-long\-Name)\label{classeo_param_a10} - -\begin{CompactList}\small\item\em ALlows to change the name (see the prefix in {\bf eo\-Parser.h}{\rm (p.\,\pageref{eo_parser_8h})}). \item\end{CompactList}\item -bool {\bf required} () const \label{classeo_param_a11} - -\begin{CompactList}\small\item\em Returns if required or not. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::string {\bf rep\-Long\-Name}\label{classeo_param_r0} - -\item -std::string {\bf rep\-Default}\label{classeo_param_r1} - -\item -std::string {\bf rep\-Description}\label{classeo_param_r2} - -\item -char {\bf rep\-Short\-Hand}\label{classeo_param_r3} - -\item -bool {\bf rep\-Required}\label{classeo_param_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-Param: Base class for monitoring and parsing parameters - - - -Definition at line 42 of file eo\-Param.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoParam@{eo\-Param}!eoParam@{eoParam}} -\index{eoParam@{eoParam}!eoParam@{eo\-Param}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-Param::eo\-Param (std::string {\em \_\-long\-Name}, std::string {\em \_\-default}, std::string {\em \_\-description}, char {\em \_\-short\-Name} = {\tt 0}, bool {\em \_\-required} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_param_a1} - - -Construct a Param. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-long\-Name}]Long name of the argument \item[{\em \_\-default}]The default value \item[{\em \_\-description}]Description of the parameter. What is useful for. \item[{\em \_\-short\-Name}]Short name of the argument (Optional) \item[{\em \_\-required}]If it is a necessary parameter or not \end{description} -\end{Desc} - - -Definition at line 60 of file eo\-Param.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Param.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_param_param_type.tex b/trunk/paradiseo-eo/doc/latex/classeo_param_param_type.tex deleted file mode 100644 index ebb8f07e7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_param_param_type.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Param\-Param\-Type Class Reference} -\label{classeo_param_param_type}\index{eoParamParamType@{eoParamParamType}} -Another helper class for parsing parameters like Keyword(arg1, arg2, ...). - - -{\tt \#include $<$eo\-Param.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Param\-Param\-Type} (std::string \_\-value)\label{classeo_param_param_type_a0} - -\item -std::ostream \& {\bf print\-On} (std::ostream \&\_\-os) const \label{classeo_param_param_type_a1} - -\item -std::istream \& {\bf read\-From} (std::istream \&\_\-is)\label{classeo_param_param_type_a2} - -\item -void {\bf read\-From} (std::string \&\_\-value)\label{classeo_param_param_type_a3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Another helper class for parsing parameters like Keyword(arg1, arg2, ...). - -It is basically a std::pair$<$std::string,std::vector$<$std::string$>$ $>$ first std::string is keyword the std::vector$<$std::string$>$ contains all arguments (as std::strings) See make\_\-algo.h - - - -Definition at line 373 of file eo\-Param.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Param.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_parameter_loader.eps b/trunk/paradiseo-eo/doc/latex/classeo_parameter_loader.eps deleted file mode 100644 index 2c2541ce0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_parameter_loader.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 303.03 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoParameterLoader) cw -(eoParser) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoParameterLoader) 0 1 box - (eoParser) 0 0 box - -% ----- relations ----- - -solid -1 0 0.25 out -solid -0 0 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_parameter_loader.tex b/trunk/paradiseo-eo/doc/latex/classeo_parameter_loader.tex deleted file mode 100644 index 192a0aa5b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_parameter_loader.tex +++ /dev/null @@ -1,82 +0,0 @@ -\section{eo\-Parameter\-Loader Class Reference} -\label{classeo_parameter_loader}\index{eoParameterLoader@{eoParameterLoader}} -Parameter saving and loading. - - -{\tt \#include $<$eo\-Parser.h$>$} - -Inheritance diagram for eo\-Parameter\-Loader::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_parameter_loader} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-Parameter\-Loader} ()\label{classeo_parameter_loader_a0} - -\begin{CompactList}\small\item\em Need a virtual destructor. \item\end{CompactList}\item -virtual void {\bf process\-Param} ({\bf eo\-Param} \¶m, std::string section=\char`\"{}\char`\"{})=0 -\begin{CompactList}\small\item\em Register a parameter and set its value if it is known. \item\end{CompactList}\item -virtual bool {\bf is\-It\-There} ({\bf eo\-Param} \&\_\-param) const =0\label{classeo_parameter_loader_a2} - -\begin{CompactList}\small\item\em checks if \_\-param has been actually entered \item\end{CompactList}\item -template$<$class Value\-Type$>$ {\bf eo\-Value\-Param}$<$ Value\-Type $>$ \& {\bf create\-Param} (Value\-Type \_\-default\-Value, std::string \_\-long\-Name, std::string \_\-description, char \_\-short\-Hand=0, std::string \_\-section=\char`\"{}\char`\"{}, bool \_\-required=false) -\begin{CompactList}\small\item\em Construct a Param and sets its value. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ {\bf eo\-Param} $\ast$ $>$ {\bf owned\-Params}\label{classeo_parameter_loader_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Parameter saving and loading. - -eo\-Parameter\-Loader is an abstract class that can be used as a base for your own parameter loading and saving. The command line parser {\bf eo\-Parser}{\rm (p.\,\pageref{classeo_parser})} is derived from this class. - - - -Definition at line 40 of file eo\-Parser.h. - -\subsection{Member Function Documentation} -\index{eoParameterLoader@{eo\-Parameter\-Loader}!processParam@{processParam}} -\index{processParam@{processParam}!eoParameterLoader@{eo\-Parameter\-Loader}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Parameter\-Loader::process\-Param ({\bf eo\-Param} \& {\em param}, std::string {\em section} = {\tt \char`\"{}\char`\"{}})\hspace{0.3cm}{\tt [pure virtual]}}\label{classeo_parameter_loader_a1} - - -Register a parameter and set its value if it is known. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em param}]the parameter to process \item[{\em section}]the section where this parameter belongs \end{description} -\end{Desc} - - -Implemented in {\bf eo\-Parser} {\rm (p.\,\pageref{classeo_parser_a1})}.\index{eoParameterLoader@{eo\-Parameter\-Loader}!createParam@{createParam}} -\index{createParam@{createParam}!eoParameterLoader@{eo\-Parameter\-Loader}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value\-Type$>$ {\bf eo\-Value\-Param}$<$Value\-Type$>$\& eo\-Parameter\-Loader::create\-Param (Value\-Type {\em \_\-default\-Value}, std::string {\em \_\-long\-Name}, std::string {\em \_\-description}, char {\em \_\-short\-Hand} = {\tt 0}, std::string {\em \_\-section} = {\tt \char`\"{}\char`\"{}}, bool {\em \_\-required} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_parameter_loader_a3} - - -Construct a Param and sets its value. - -The loader will own the memory thus created - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-default\-Value}]The default value \item[{\em \_\-long\-Name}]Long name of the argument \item[{\em \_\-description}]Description of the parameter. What is useful for. \item[{\em \_\-short\-Name}]Short name of the argument (Optional) \item[{\em \_\-section}]Name of the section where the parameter belongs \item[{\em \_\-required}]If it is a necessary parameter or not \end{description} -\end{Desc} - - -Definition at line 70 of file eo\-Parser.h. - -Referenced by eo\-Parser::get\-ORcreate\-Param(), and eo\-Parser::set\-ORcreate\-Param(). - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Parser.h\item -eo\-Parser.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness.tex b/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness.tex deleted file mode 100644 index fb752c438..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness.tex +++ /dev/null @@ -1,67 +0,0 @@ -\section{eo\-Pareto\-Fitness$<$ Fitness\-Traits $>$ Class Template Reference} -\label{classeo_pareto_fitness}\index{eoParetoFitness@{eoParetoFitness}} -eo\-Pareto\-Fitness class: std::vector of doubles with overloaded comparison operators. - - -{\tt \#include $<$eo\-Pareto\-Fitness.h$>$} - -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef Fitness\-Traits {\bf fitness\_\-traits}\label{classeo_pareto_fitness_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Pareto\-Fitness} (std::vector$<$ double $>$ \&\_\-v)\label{classeo_pareto_fitness_a1} - -\item -bool {\bf dominates} (const {\bf eo\-Pareto\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_fitness_a2} - -\begin{CompactList}\small\item\em Partial order based on Pareto-dominance. \item\end{CompactList}\item -bool {\bf operator$<$} (const {\bf eo\-Pareto\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_fitness_a3} - -\begin{CompactList}\small\item\em compare $\ast$not$\ast$ on dominance, but on the first, then the second, etc \item\end{CompactList}\item -bool {\bf operator$>$} (const {\bf eo\-Pareto\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_fitness_a4} - -\item -bool {\bf operator$<$=} (const {\bf eo\-Pareto\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_fitness_a5} - -\item -bool {\bf operator$>$=} (const {\bf eo\-Pareto\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_fitness_a6} - -\item -bool {\bf operator==} (const {\bf eo\-Pareto\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_fitness_a7} - -\item -bool {\bf operator!=} (const {\bf eo\-Pareto\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_fitness_a8} - -\end{CompactItemize} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -void {\bf set\-Up} (unsigned \_\-n, std::vector$<$ bool $>$ \&\_\-b)\label{classeo_pareto_fitness_e0} - -\begin{CompactList}\small\item\em access to the traits characteristics (so you don't have to write a lot of typedef's around \item\end{CompactList}\item -bool {\bf maximizing} (unsigned \_\-i)\label{classeo_pareto_fitness_e1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fitness\-Traits = eo\-Pareto\-Fitness\-Traits$>$ class eo\-Pareto\-Fitness$<$ Fitness\-Traits $>$} - -eo\-Pareto\-Fitness class: std::vector of doubles with overloaded comparison operators. - -Comparison is done on pareto dominance. The template argument Fitness\-Traits defaults to {\bf eo\-Pareto\-Fitness\-Traits}{\rm (p.\,\pageref{classeo_pareto_fitness_traits})}, which can be replaces at will by any other class that implements the static functions defined therein. - -Note that the comparison defines a partial order, so that !(a $<$ b) \&\& !(b $<$a) does not neccessarily imply that (a==b) The other way around does hold. - - - -Definition at line 108 of file eo\-Pareto\-Fitness.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pareto\-Fitness.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness_traits.eps b/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness_traits.eps deleted file mode 100644 index 911a217fc..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness_traits.eps +++ /dev/null @@ -1,211 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 66.6667 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 7.5 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 4 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoParetoFitnessTraits) cw -(eoVariableParetoTraits) cw -(MinimizingFitnessTraits) cw -(MinimizingFitnessTraits) cw -(MinimizingTraits) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoParetoFitnessTraits) 1.5 1 box - (eoVariableParetoTraits) 0 0 box - (MinimizingFitnessTraits) 1 0 box - (MinimizingFitnessTraits) 2 0 box - (MinimizingTraits) 3 0 box - -% ----- relations ----- - -solid -1 1.5 0.25 out -solid -0 3 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness_traits.tex b/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness_traits.tex deleted file mode 100644 index 27b95590a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pareto_fitness_traits.tex +++ /dev/null @@ -1,39 +0,0 @@ -\section{eo\-Pareto\-Fitness\-Traits Class Reference} -\label{classeo_pareto_fitness_traits}\index{eoParetoFitnessTraits@{eoParetoFitnessTraits}} -eo\-Fitness\-Traits: a traits class to specify the number of objectives and which one are maximizing or not See test/t-eo\-Pareto\-Fitness for its use. - - -{\tt \#include $<$eo\-Pareto\-Fitness.h$>$} - -Inheritance diagram for eo\-Pareto\-Fitness\-Traits::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.86667cm]{classeo_pareto_fitness_traits} -\end{center} -\end{figure} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -unsigned {\bf n\-Objectives} ()\label{classeo_pareto_fitness_traits_e0} - -\item -double {\bf tol} ()\label{classeo_pareto_fitness_traits_e1} - -\item -bool {\bf maximizing} (int which)\label{classeo_pareto_fitness_traits_e2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-Fitness\-Traits: a traits class to specify the number of objectives and which one are maximizing or not See test/t-eo\-Pareto\-Fitness for its use. - -If you define your own, make sure you make the functions static! - - - -Definition at line 42 of file eo\-Pareto\-Fitness.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pareto\-Fitness.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pareto_one_constraint_fitness.tex b/trunk/paradiseo-eo/doc/latex/classeo_pareto_one_constraint_fitness.tex deleted file mode 100644 index 4d5a4df0c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pareto_one_constraint_fitness.tex +++ /dev/null @@ -1,94 +0,0 @@ -\section{eo\-Pareto\-One\-Constraint\-Fitness$<$ Fitness\-Traits $>$ Class Template Reference} -\label{classeo_pareto_one_constraint_fitness}\index{eoParetoOneConstraintFitness@{eoParetoOneConstraintFitness}} -eo\-Pareto\-One\-Constraint\-Fitness class: std::vector of doubles + constraint value - - -{\tt \#include $<$eo\-Pareto\-Constraint\-Fitness.h$>$} - -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef Fitness\-Traits {\bf fitness\_\-traits}\label{classeo_pareto_one_constraint_fitness_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Pareto\-One\-Constraint\-Fitness} (std::vector$<$ double $>$ \&\_\-v)\label{classeo_pareto_one_constraint_fitness_a1} - -\item -{\bf eo\-Pareto\-One\-Constraint\-Fitness} (std::vector$<$ double $>$ \&\_\-v, double \_\-c)\label{classeo_pareto_one_constraint_fitness_a2} - -\item -bool {\bf feasible} () const \label{classeo_pareto_one_constraint_fitness_a3} - -\item -double {\bf violation} () const \label{classeo_pareto_one_constraint_fitness_a4} - -\item -double {\bf Constraint\-Value} () const \label{classeo_pareto_one_constraint_fitness_a5} - -\item -void {\bf Constraint\-Value} (double \_\-c)\label{classeo_pareto_one_constraint_fitness_a6} - -\item -bool {\bf dominates} (const {\bf eo\-Pareto\-One\-Constraint\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_one_constraint_fitness_a7} - -\begin{CompactList}\small\item\em Partial order based on Pareto-dominance. \item\end{CompactList}\item -bool {\bf operator$<$} (const {\bf eo\-Pareto\-One\-Constraint\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_one_constraint_fitness_a8} - -\begin{CompactList}\small\item\em compare $\ast$not$\ast$ on dominance, but on the first, then the second, etc \item\end{CompactList}\item -bool {\bf operator$>$} (const {\bf eo\-Pareto\-One\-Constraint\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_one_constraint_fitness_a9} - -\item -bool {\bf operator$<$=} (const {\bf eo\-Pareto\-One\-Constraint\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_one_constraint_fitness_a10} - -\item -bool {\bf operator$>$=} (const {\bf eo\-Pareto\-One\-Constraint\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_one_constraint_fitness_a11} - -\item -bool {\bf operator==} (const {\bf eo\-Pareto\-One\-Constraint\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_one_constraint_fitness_a12} - -\item -bool {\bf operator!=} (const {\bf eo\-Pareto\-One\-Constraint\-Fitness}$<$ Fitness\-Traits $>$ \&\_\-other) const \label{classeo_pareto_one_constraint_fitness_a13} - -\end{CompactItemize} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -void {\bf set\-Up} (unsigned \_\-n, std::vector$<$ bool $>$ \&\_\-b)\label{classeo_pareto_one_constraint_fitness_e0} - -\begin{CompactList}\small\item\em access to the traits characteristics (so you don't have to write a lot of typedef's around \item\end{CompactList}\item -bool {\bf maximizing} (unsigned \_\-i)\label{classeo_pareto_one_constraint_fitness_e1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf constraint\-Value}\label{classeo_pareto_one_constraint_fitness_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fitness\-Traits = eo\-Pareto\-Fitness\-Traits$>$ class eo\-Pareto\-One\-Constraint\-Fitness$<$ Fitness\-Traits $>$} - -eo\-Pareto\-One\-Constraint\-Fitness class: std::vector of doubles + constraint value - -Comparison (dominance) is done on pareto dominance for 2 feasible individuals, one feasible individual always wins over an infeasible on constraint violations for 2 infeasible individuals - -The template argument Fitness\-Traits defaults to {\bf eo\-Pareto\-Fitness\-Traits}{\rm (p.\,\pageref{classeo_pareto_fitness_traits})}, which can be replaces at will by any other class that implements the static functions defined therein. - -Note that the domninance defines a partial order, so that !dominates(a,b) \&\& !domaintes(b,a) does not neccessarily imply that (a==b) The other way around does hold. - -However, be careful that the comparison operators do define a total order based on considering first objective, then in case of tie, second objective, etc - -NOTE: in a hurry, I did not want to make it derive from {\bf eo\-Pareto\-Fitness}{\rm (p.\,\pageref{classeo_pareto_fitness})} (used cut-and-paste instead!) : I know it might be a good idea, but I'm not sure I see why at the moment (any hint someone?) - - - -Definition at line 61 of file eo\-Pareto\-Constraint\-Fitness.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pareto\-Constraint\-Fitness.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pareto_ranking.eps b/trunk/paradiseo-eo/doc/latex/classeo_pareto_ranking.eps deleted file mode 100644 index 606da278b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pareto_ranking.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.613 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoParetoRanking< EOT >) cw -(eoPerf2WorthCached< EOT, double >) cw -(eoPerf2Worth< EOT, double >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< double > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoParetoRanking< EOT >) 1.25 0 box - (eoPerf2WorthCached< EOT, double >) 1.25 1 box - (eoPerf2Worth< EOT, double >) 1.25 2 box - (eoUF< const eoPop< EOT > &, void >) 0.5 3 box - (eoValueParam< std::vector< double > >) 2 3 box - (eoFunctorBase) 0 4 box - (unary_function< const eoPop< EOT > &, void >) 1 4 box - (eoParam) 2 4 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -1 1.25 2 in -solid -0 1.25 2 out -solid -0.5 2 3 conn -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 2 3 in -solid -0 2 3 out -solid -1 0 4 in -solid -1 1 4 in -solid -1 2 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pareto_ranking.tex b/trunk/paradiseo-eo/doc/latex/classeo_pareto_ranking.tex deleted file mode 100644 index c5a1c5d1e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pareto_ranking.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-Pareto\-Ranking$<$ EOT $>$ Class Template Reference} -\label{classeo_pareto_ranking}\index{eoParetoRanking@{eoParetoRanking}} -Straightforward pareto ranking. - - -{\tt \#include $<$eo\-Pareto\-Ranking.h$>$} - -Inheritance diagram for eo\-Pareto\-Ranking$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15315cm]{classeo_pareto_ranking} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Pareto\-Ranking} ({\bf eo\-Dominance\-Map}$<$ {\bf EOT} $>$ \&\_\-dominance\-Map)\label{classeo_pareto_ranking_a0} - -\item -void {\bf calculate\_\-worths} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_pareto_ranking_a1} - -\begin{CompactList}\small\item\em The actual virtual function the derived classes should implement. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Dominance\-Map}$<$ {\bf EOT} $>$ \& {\bf dominance\-Map}\label{classeo_pareto_ranking_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Pareto\-Ranking$<$ EOT $>$} - -Straightforward pareto ranking. - -Every individual gets a rank according to the number of elements it dominates. Note that without niching, this technique will usually not find the whole front of non-dominated solutions, but will quite likely converge on a single spot on the front. - - - -Definition at line 40 of file eo\-Pareto\-Ranking.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pareto\-Ranking.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_parse_tree.eps b/trunk/paradiseo-eo/doc/latex/classeo_parse_tree.eps deleted file mode 100644 index 5b65cd853..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_parse_tree.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 208.333 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.4 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoParseTree< FType, Node >) cw -(EO< FType >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoParseTree< FType, Node >) 0.5 0 box - (EO< FType >) 0.5 1 box - (eoObject) 0 2 box - (eoPersistent) 1 2 box - (eoPrintable) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_parse_tree.tex b/trunk/paradiseo-eo/doc/latex/classeo_parse_tree.tex deleted file mode 100644 index 40c6a0d11..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_parse_tree.tex +++ /dev/null @@ -1,148 +0,0 @@ -\section{eo\-Parse\-Tree$<$ FType, Node $>$ Class Template Reference} -\label{classeo_parse_tree}\index{eoParseTree@{eoParseTree}} -Implementation of parse-tree for genetic programming. - - -{\tt \#include $<$gp/eo\-Parse\-Tree.h$>$} - -Inheritance diagram for eo\-Parse\-Tree$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_parse_tree} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef parse\_\-tree$<$ Node $>$::subtree {\bf Subtree}\label{classeo_parse_tree_w0} - -\item -typedef Node {\bf reference}\label{classeo_parse_tree_w1} - -\item -typedef const reference {\bf const\_\-reference}\label{classeo_parse_tree_w2} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Parse\-Tree} (void)\label{classeo_parse_tree_a0} - -\begin{CompactList}\small\item\em Default Constructor. \item\end{CompactList}\item -{\bf eo\-Parse\-Tree} (const parse\_\-tree$<$ Node $>$ \&tree) -\begin{CompactList}\small\item\em Copy Constructor. \item\end{CompactList}\item -virtual void {\bf prune\-Tree} (unsigned \_\-size) -\begin{CompactList}\small\item\em To prune me to a certain size. \item\end{CompactList}\item -{\bf eo\-Parse\-Tree} (std::istream \&is) -\begin{CompactList}\small\item\em To read me from a stream. \item\end{CompactList}\item -std::string {\bf class\-Name} (void) const \label{classeo_parse_tree_a4} - -\begin{CompactList}\small\item\em My class name. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&os) const -\begin{CompactList}\small\item\em To print me on a stream. \item\end{CompactList}\item -void {\bf read\-From} (std::istream \&is) -\begin{CompactList}\small\item\em To read me from a stream. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-Parse\-Tree$<$ FType, Node $>$} - -Implementation of parse-tree for genetic programming. - - - -Definition at line 54 of file eo\-Parse\-Tree.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoParseTree@{eo\-Parse\-Tree}!eoParseTree@{eoParseTree}} -\index{eoParseTree@{eoParseTree}!eoParseTree@{eo\-Parse\-Tree}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Parse\-Tree}$<$ FType, Node $>$::{\bf eo\-Parse\-Tree} (const parse\_\-tree$<$ Node $>$ \& {\em tree})\hspace{0.3cm}{\tt [inline]}}\label{classeo_parse_tree_a1} - - -Copy Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em tree}]The tree to copy \end{description} -\end{Desc} - - -Definition at line 79 of file eo\-Parse\-Tree.h.\index{eoParseTree@{eo\-Parse\-Tree}!eoParseTree@{eoParseTree}} -\index{eoParseTree@{eoParseTree}!eoParseTree@{eo\-Parse\-Tree}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Parse\-Tree}$<$ FType, Node $>$::{\bf eo\-Parse\-Tree} (std::istream \& {\em is})\hspace{0.3cm}{\tt [inline]}}\label{classeo_parse_tree_a3} - - -To read me from a stream. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em is}]The std::istream \end{description} -\end{Desc} - - -Definition at line 102 of file eo\-Parse\-Tree.h. - -References eo\-Parse\-Tree$<$ FType, Node $>$::read\-From(). - -\subsection{Member Function Documentation} -\index{eoParseTree@{eo\-Parse\-Tree}!pruneTree@{pruneTree}} -\index{pruneTree@{pruneTree}!eoParseTree@{eo\-Parse\-Tree}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ virtual void {\bf eo\-Parse\-Tree}$<$ FType, Node $>$::prune\-Tree (unsigned {\em \_\-size})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_parse_tree_a2} - - -To prune me to a certain size. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-size}]My maximum size \end{description} -\end{Desc} - - -Definition at line 86 of file eo\-Parse\-Tree.h. - -Referenced by eo\-Collapse\-Subtree\-Mutation$<$ FType, Node $>$::operator()(), eo\-Expansion\-Mutation$<$ FType, Node $>$::operator()(), eo\-Branch\-Mutation$<$ FType, Node $>$::operator()(), and eo\-Subtree\-XOver$<$ FType, Node $>$::operator()().\index{eoParseTree@{eo\-Parse\-Tree}!printOn@{printOn}} -\index{printOn@{printOn}!eoParseTree@{eo\-Parse\-Tree}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ void {\bf eo\-Parse\-Tree}$<$ FType, Node $>$::print\-On (std::ostream \& {\em os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_parse_tree_a5} - - -To print me on a stream. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em os}]The std::ostream \end{description} -\end{Desc} - - -Reimplemented from {\bf EO$<$ FType $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}. - -Definition at line 114 of file eo\-Parse\-Tree.h. - -References EO$<$ F $>$::print\-On().\index{eoParseTree@{eo\-Parse\-Tree}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoParseTree@{eo\-Parse\-Tree}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ void {\bf eo\-Parse\-Tree}$<$ FType, Node $>$::read\-From (std::istream \& {\em is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_parse_tree_a6} - - -To read me from a stream. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em is}]The std::istream \end{description} -\end{Desc} - - -Reimplemented from {\bf EO$<$ FType $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}. - -Definition at line 128 of file eo\-Parse\-Tree.h. - -References EO$<$ F $>$::read\-From(). - -Referenced by eo\-Parse\-Tree$<$ FType, Node $>$::eo\-Parse\-Tree(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parse\-Tree.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_parse_tree_depth_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_parse_tree_depth_init.eps deleted file mode 100644 index 02f091a17..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_parse_tree_depth_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 114.943 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.35 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoParseTreeDepthInit< FType, Node >) cw -(eoInit< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoParseTreeDepthInit< FType, Node >) 0.5 0 box - (eoInit< eoParseTree< FType, Node > >) 0.5 1 box - (eoUF< eoParseTree< FType, Node > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoParseTree< FType, Node > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_parse_tree_depth_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_parse_tree_depth_init.tex deleted file mode 100644 index e75fb6984..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_parse_tree_depth_init.tex +++ /dev/null @@ -1,101 +0,0 @@ -\section{eo\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$ Class Template Reference} -\label{classeo_parse_tree_depth_init}\index{eoParseTreeDepthInit@{eoParseTreeDepthInit}} -eo\-Parse\-Tree\-Depth\-Init : the initializer class for {\bf eo\-Parse\-Tree}{\rm (p.\,\pageref{classeo_parse_tree})} - - -{\tt \#include $<$gp/eo\-Parse\-Tree\-Depth\-Init.h$>$} - -Inheritance diagram for eo\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.21839cm]{classeo_parse_tree_depth_init} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_parse_tree_depth_init_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Parse\-Tree\-Depth\-Init} (unsigned \_\-max\_\-depth, const std::vector$<$ Node $>$ \&\_\-initializor, bool \_\-grow=true, bool \_\-ramped\_\-half\_\-and\_\-half=false) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_parse_tree_depth_init_a1} - -\begin{CompactList}\small\item\em My class name. \item\end{CompactList}\item -void {\bf operator()} ({\bf Eo\-Type} \&\_\-tree) -\begin{CompactList}\small\item\em initialize a tree \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf generate} (std::list$<$ Node $>$ \&sequence, int the\_\-max, int last\_\-terminal=-1)\label{classeo_parse_tree_depth_init_d0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-depth}\label{classeo_parse_tree_depth_init_r0} - -\item -std::vector$<$ Node $>$ {\bf initializor}\label{classeo_parse_tree_depth_init_r1} - -\item -bool {\bf grow}\label{classeo_parse_tree_depth_init_r2} - -\item -bool {\bf ramped\_\-half\_\-and\_\-half}\label{classeo_parse_tree_depth_init_r3} - -\item -unsigned {\bf current\_\-depth}\label{classeo_parse_tree_depth_init_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$} - -eo\-Parse\-Tree\-Depth\-Init : the initializer class for {\bf eo\-Parse\-Tree}{\rm (p.\,\pageref{classeo_parse_tree})} - - - -Definition at line 48 of file eo\-Parse\-Tree\-Depth\-Init.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoParseTreeDepthInit@{eo\-Parse\-Tree\-Depth\-Init}!eoParseTreeDepthInit@{eoParseTreeDepthInit}} -\index{eoParseTreeDepthInit@{eoParseTreeDepthInit}!eoParseTreeDepthInit@{eo\-Parse\-Tree\-Depth\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Parse\-Tree\-Depth\-Init}$<$ FType, Node $>$::{\bf eo\-Parse\-Tree\-Depth\-Init} (unsigned {\em \_\-max\_\-depth}, const std::vector$<$ Node $>$ \& {\em \_\-initializor}, bool {\em \_\-grow} = {\tt true}, bool {\em \_\-ramped\_\-half\_\-and\_\-half} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_parse_tree_depth_init_a0} - - -Constructor. - -\_\-max\_\-depth The maximum depth of a tree \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-initializor}]A std::vector containing the possible nodes \item[{\em \_\-grow}]False results in a full tree, True result is a randomly grown tree \item[{\em \_\-ramped\_\-half\_\-and\_\-half}]True results in Ramped Half and Half Initialization \end{description} -\end{Desc} - - -Definition at line 69 of file eo\-Parse\-Tree\-Depth\-Init.h. - -\subsection{Member Function Documentation} -\index{eoParseTreeDepthInit@{eo\-Parse\-Tree\-Depth\-Init}!operator()@{operator()}} -\index{operator()@{operator()}!eoParseTreeDepthInit@{eo\-Parse\-Tree\-Depth\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ void {\bf eo\-Parse\-Tree\-Depth\-Init}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-tree})\hspace{0.3cm}{\tt [inline]}}\label{classeo_parse_tree_depth_init_a2} - - -initialize a tree - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-tree}]: the tree to be initialized \end{description} -\end{Desc} - - -Definition at line 96 of file eo\-Parse\-Tree\-Depth\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parse\-Tree\-Depth\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_parser.eps b/trunk/paradiseo-eo/doc/latex/classeo_parser.eps deleted file mode 100644 index 678772102..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_parser.eps +++ /dev/null @@ -1,213 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 151.515 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.3 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoParser) cw -(eoParameterLoader) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoParser) 1 0 box - (eoParameterLoader) 0 1 box - (eoObject) 1 1 box - (eoPersistent) 2 1 box - (eoPrintable) 2 2 box - -% ----- relations ----- - -solid -0 1 0 out -solid -0 2 1 conn -solid -1 0 1 in -solid -1 1 1 in -solid -1 2 1 in -solid -0 2 1 out -solid -1 2 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_parser.tex b/trunk/paradiseo-eo/doc/latex/classeo_parser.tex deleted file mode 100644 index 9f6a21288..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_parser.tex +++ /dev/null @@ -1,238 +0,0 @@ -\section{eo\-Parser Class Reference} -\label{classeo_parser}\index{eoParser@{eoParser}} -eo\-Parser: command line parser and configuration file reader This class is persistent, so it can be stored and reloaded to restore parameter settings. - - -{\tt \#include $<$eo\-Parser.h$>$} - -Inheritance diagram for eo\-Parser::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_parser} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Parser} (unsigned \_\-argc, char $\ast$$\ast$\_\-argv, std::string \_\-program\-Description=\char`\"{}\char`\"{}, std::string \_\-l\-File\-Param\-Name=\char`\"{}param-file\char`\"{}, char \_\-short\-Hand= 'p') -\begin{CompactList}\small\item\em Constructor a complete constructor that reads the command line an optionally reads a configuration file. \item\end{CompactList}\item -void {\bf process\-Param} ({\bf eo\-Param} \¶m, std::string section=\char`\"{}\char`\"{})\label{classeo_parser_a1} - -\begin{CompactList}\small\item\em Processes the parameter and puts it in the appropriate section for readability. \item\end{CompactList}\item -void {\bf read\-From} (std::istream \&is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -std::string {\bf class\-Name} (void) const \label{classeo_parser_a4} - -\begin{CompactList}\small\item\em class\-Name for readibility \item\end{CompactList}\item -bool {\bf user\-Needs\-Help} (void)\label{classeo_parser_a5} - -\begin{CompactList}\small\item\em true if the user made an error or asked for help \item\end{CompactList}\item -void {\bf print\-Help} (std::ostream \&os)\label{classeo_parser_a6} - -\begin{CompactList}\small\item\em Prints an automatic help in the specified output using the information provided by parameters. \item\end{CompactList}\item -std::string {\bf Program\-Name} ()\label{classeo_parser_a7} - -\item -virtual bool {\bf is\-It\-There} ({\bf eo\-Param} \&\_\-param) const -\begin{CompactList}\small\item\em Has param been entered by user? \item\end{CompactList}\item -{\bf eo\-Param} $\ast$ {\bf get\-Param\-With\-Long\-Name} (const std::string \&\_\-name) const -\begin{CompactList}\small\item\em get a handle on a param from its long\-Name \item\end{CompactList}\item -template$<$class Value\-Type$>$ {\bf eo\-Value\-Param}$<$ Value\-Type $>$ \& {\bf get\-ORcreate\-Param} (Value\-Type \_\-default\-Value, std::string \_\-long\-Name, std::string \_\-description, char \_\-short\-Hand=0, std::string \_\-section=\char`\"{}\char`\"{}, bool \_\-required=false) -\begin{CompactList}\small\item\em Get or create parameter. \item\end{CompactList}\item -template$<$class Value\-Type$>$ {\bf eo\-Value\-Param}$<$ Value\-Type $>$ \& {\bf set\-ORcreate\-Param} (Value\-Type \_\-default\-Value, std::string \_\-long\-Name, std::string \_\-description, char \_\-short\-Hand=0, std::string \_\-section=\char`\"{}\char`\"{}, bool \_\-required=false) -\begin{CompactList}\small\item\em Set parameter value or create parameter. \item\end{CompactList}\item -void {\bf set\-Stop\-On\-Unknown\-Param} (bool \_\-b)\label{classeo_parser_a12} - -\begin{CompactList}\small\item\em accessors to the stop\-On\-Unknown\-Param value \item\end{CompactList}\item -bool {\bf get\-Stop\-On\-Unknown\-Param} ()\label{classeo_parser_a13} - -\item -void {\bf set\-Prefix} (const std::string \&\_\-prefix)\label{classeo_parser_a14} - -\begin{CompactList}\small\item\em Prefix handling. \item\end{CompactList}\item -void {\bf reset\-Prefix} ()\label{classeo_parser_a15} - -\item -std::string {\bf get\-Prefix} ()\label{classeo_parser_a16} - -\end{CompactItemize} -\subsection*{Private Types} -\begin{CompactItemize} -\item -typedef std::multimap$<$ std::string, {\bf eo\-Param} $\ast$ $>$ {\bf Multi\-Map\-Type}\label{classeo_parser_y0} - -\item -typedef std::map$<$ char, std::string $>$ {\bf Short\-Name\-Map\-Type}\label{classeo_parser_y1} - -\item -typedef std::map$<$ std::string, std::string $>$ {\bf Long\-Name\-Map\-Type}\label{classeo_parser_y2} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf do\-Register\-Param} ({\bf eo\-Param} \¶m) const \label{classeo_parser_d0} - -\item -std::pair$<$ bool, std::string $>$ {\bf get\-Value} ({\bf eo\-Param} \&\_\-param) const \label{classeo_parser_d1} - -\item -void {\bf update\-Parameters} () const \label{classeo_parser_d2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Multi\-Map\-Type {\bf params}\label{classeo_parser_r0} - -\item -std::string {\bf program\-Name}\label{classeo_parser_r1} - -\item -std::string {\bf program\-Description}\label{classeo_parser_r2} - -\item -Short\-Name\-Map\-Type {\bf short\-Name\-Map}\label{classeo_parser_r3} - -\item -Long\-Name\-Map\-Type {\bf long\-Name\-Map}\label{classeo_parser_r4} - -\item -{\bf eo\-Value\-Param}$<$ bool $>$ {\bf need\-Help}\label{classeo_parser_r5} - -\item -{\bf eo\-Value\-Param}$<$ bool $>$ {\bf stop\-On\-Unknown\-Param}\label{classeo_parser_r6} - -\item -std::vector$<$ std::string $>$ {\bf messages}\label{classeo_parser_r7} - -\item -std::string {\bf prefix}\label{classeo_parser_r8} - -\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-Parser: command line parser and configuration file reader This class is persistent, so it can be stored and reloaded to restore parameter settings. - - - -Definition at line 100 of file eo\-Parser.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoParser@{eo\-Parser}!eoParser@{eoParser}} -\index{eoParser@{eoParser}!eoParser@{eo\-Parser}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-Parser::eo\-Parser (unsigned {\em \_\-argc}, char $\ast$$\ast$ {\em \_\-argv}, std::string {\em \_\-program\-Description} = {\tt \char`\"{}\char`\"{}}, std::string {\em \_\-l\-File\-Param\-Name} = {\tt \char`\"{}param-file\char`\"{}}, char {\em \_\-short\-Hand} = {\tt 'p'})}\label{classeo_parser_a0} - - -Constructor a complete constructor that reads the command line an optionally reads a configuration file. - -my\-Eo --param-file=param.rc will then load using the parameter file param.rc - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-argc}]command line arguments count \item[{\em \_\-argv}]command line parameters \item[{\em \_\-program\-Description}]Description of the work the program does \item[{\em \_\-l\-File\-Param\-Name}]Name of the parameter specifying the configuration file (--param-file) \item[{\em \_\-short\-Hand}]Single charachter shorthand for specifying the configuration file \end{description} -\end{Desc} - - -\subsection{Member Function Documentation} -\index{eoParser@{eo\-Parser}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoParser@{eo\-Parser}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Parser::read\-From (std::istream \& {\em is})\hspace{0.3cm}{\tt [virtual]}}\label{classeo_parser_a2} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-std::exception}]If a valid object can't be read. \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}.\index{eoParser@{eo\-Parser}!printOn@{printOn}} -\index{printOn@{printOn}!eoParser@{eo\-Parser}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Parser::print\-On (std::ostream \& {\em os}) const\hspace{0.3cm}{\tt [virtual]}}\label{classeo_parser_a3} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}.\index{eoParser@{eo\-Parser}!isItThere@{isItThere}} -\index{isItThere@{isItThere}!eoParser@{eo\-Parser}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool eo\-Parser::is\-It\-There ({\bf eo\-Param} \& {\em \_\-param}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_parser_a8} - - -Has param been entered by user? - -Checks if \_\-param has been actually entered by the user - -Implements {\bf eo\-Parameter\-Loader} {\rm (p.\,\pageref{classeo_parameter_loader_a2})}. - -Definition at line 148 of file eo\-Parser.h. - -Referenced by set\-ORcreate\-Param().\index{eoParser@{eo\-Parser}!getParamWithLongName@{getParamWithLongName}} -\index{getParamWithLongName@{getParamWithLongName}!eoParser@{eo\-Parser}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf eo\-Param}$\ast$ eo\-Parser::get\-Param\-With\-Long\-Name (const std::string \& {\em \_\-name}) const}\label{classeo_parser_a9} - - -get a handle on a param from its long\-Name - -if not found, returns 0 (null pointer :-) - -Not very clean (requires hard-coding of the long name twice!) but very useful in many occasions... - -Referenced by get\-ORcreate\-Param().\index{eoParser@{eo\-Parser}!getORcreateParam@{getORcreateParam}} -\index{getORcreateParam@{getORcreateParam}!eoParser@{eo\-Parser}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value\-Type$>$ {\bf eo\-Value\-Param}$<$Value\-Type$>$\& eo\-Parser::get\-ORcreate\-Param (Value\-Type {\em \_\-default\-Value}, std::string {\em \_\-long\-Name}, std::string {\em \_\-description}, char {\em \_\-short\-Hand} = {\tt 0}, std::string {\em \_\-section} = {\tt \char`\"{}\char`\"{}}, bool {\em \_\-required} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_parser_a10} - - -Get or create parameter. - -It seems finally that the easiest use of the above method is through the following, whose interface is similar to that of the widely-used create\-Param. - -For some (probably very stupid) reason, I failed to put it in the .cpp. Any hint??? - -Definition at line 173 of file eo\-Parser.h. - -References eo\-Parameter\-Loader::create\-Param(), and get\-Param\-With\-Long\-Name().\index{eoParser@{eo\-Parser}!setORcreateParam@{setORcreateParam}} -\index{setORcreateParam@{setORcreateParam}!eoParser@{eo\-Parser}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value\-Type$>$ {\bf eo\-Value\-Param}$<$Value\-Type$>$\& eo\-Parser::set\-ORcreate\-Param (Value\-Type {\em \_\-default\-Value}, std::string {\em \_\-long\-Name}, std::string {\em \_\-description}, char {\em \_\-short\-Hand} = {\tt 0}, std::string {\em \_\-section} = {\tt \char`\"{}\char`\"{}}, bool {\em \_\-required} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_parser_a11} - - -Set parameter value or create parameter. - -This makes sure that the specified parameter has the given value. If the parameter does not exist yet, it is created. - -This requires that operator$<$$<$ is defined for Value\-Type. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-default\-Value}]Default value. \item[{\em \_\-long\-Name}]Long name of the argument. \item[{\em \_\-description}]Description of the parameter. \item[{\em \_\-short\-Name}]Short name of the argument (Optional) \item[{\em \_\-section}]Name of the section where the parameter belongs. \item[{\em \_\-required}]Is the parameter mandatory? \end{description} -\end{Desc} -\begin{Desc} -\item[Returns:]Corresponding parameter. \end{Desc} - - -Definition at line 211 of file eo\-Parser.h. - -References eo\-Parameter\-Loader::create\-Param(), is\-It\-There(), and eo\-Value\-Param$<$ Value\-Type $>$::set\-Value(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parser.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth.eps b/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth.eps deleted file mode 100644 index f1dfbd3fa..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPerf2Worth< EOT, WorthT >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< WorthT > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -(eoPerf2WorthCached< EOT, WorthT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPerf2Worth< EOT, WorthT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, void >) 0.5 2 box - (eoValueParam< std::vector< WorthT > >) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, void >) 1 3 box - (eoParam) 2 3 box - (eoPerf2WorthCached< EOT, WorthT >) 1.25 0 box - -% ----- relations ----- - -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in -solid -1 1.25 0.25 out -solid -0 1.25 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth.tex b/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth.tex deleted file mode 100644 index 7cac48c21..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Perf2Worth$<$ EOT, Worth\-T $>$ Class Template Reference} -\label{classeo_perf2_worth}\index{eoPerf2Worth@{eoPerf2Worth}} -Base class to transform raw fitnesses into fitness for selection. - - -{\tt \#include $<$eo\-Perf2Worth.h$>$} - -Inheritance diagram for eo\-Perf2Worth$<$ EOT, Worth\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_perf2_worth} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Perf2Worth} (std::string \_\-description=\char`\"{}Worths\char`\"{})\label{classeo_perf2_worth_a0} - -\begin{CompactList}\small\item\em default constructor \item\end{CompactList}\item -virtual void {\bf sort\_\-pop} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_perf2_worth_a1} - -\begin{CompactList}\small\item\em Sort population according to worth, will keep the worths and fitness\_\-cache in sync with the population. \item\end{CompactList}\item -virtual void {\bf resize} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, unsigned sz)\label{classeo_perf2_worth_a2} - -\item -virtual void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_perf2_worth_a3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class eo\-Perf2Worth$<$ EOT, Worth\-T $>$} - -Base class to transform raw fitnesses into fitness for selection. - -\begin{Desc} -\item[See also:]{\bf eo\-Select\-From\-Worth}{\rm (p.\,\pageref{classeo_select_from_worth})} \end{Desc} - - - - -Definition at line 43 of file eo\-Perf2Worth.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Perf2Worth.h\item -fitness\_\-traits.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_1_1compare__worth.tex b/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_1_1compare__worth.tex deleted file mode 100644 index e903d2fd1..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_1_1compare__worth.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Perf2Worth$<$ EOT, Worth\-T $>$::compare\_\-worth Class Reference} -\label{classeo_perf2_worth_1_1compare__worth}\index{eoPerf2Worth::compare_worth@{eoPerf2Worth::compare\_\-worth}} -helper class used to sort indices into populations/worths - - -{\tt \#include $<$eo\-Perf2Worth.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf compare\_\-worth} (const std::vector$<$ Worth\-T $>$ \&\_\-worths)\label{classeo_perf2_worth_1_1compare__worth_a0} - -\item -bool {\bf operator()} (unsigned a, unsigned b) const \label{classeo_perf2_worth_1_1compare__worth_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -const std::vector$<$ Worth\-T $>$ \& {\bf worths}\label{classeo_perf2_worth_1_1compare__worth_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class eo\-Perf2Worth$<$ EOT, Worth\-T $>$::compare\_\-worth} - -helper class used to sort indices into populations/worths - - - -Definition at line 83 of file eo\-Perf2Worth.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Perf2Worth.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached.eps b/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached.eps deleted file mode 100644 index 6d863f721..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPerf2WorthCached< EOT, WorthT >) cw -(eoPerf2Worth< EOT, WorthT >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< WorthT > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPerf2WorthCached< EOT, WorthT >) 1.25 0 box - (eoPerf2Worth< EOT, WorthT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, void >) 0.5 2 box - (eoValueParam< std::vector< WorthT > >) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, void >) 1 3 box - (eoParam) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached.tex b/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached.tex deleted file mode 100644 index cd36cdba1..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached.tex +++ /dev/null @@ -1,64 +0,0 @@ -\section{eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$ Class Template Reference} -\label{classeo_perf2_worth_cached}\index{eoPerf2WorthCached@{eoPerf2WorthCached}} -Perf2Worth with fitness cache. - - -{\tt \#include $<$eo\-Perf2Worth.h$>$} - -Inheritance diagram for eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_perf2_worth_cached} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Perf2Worth\-Cached} (std::string \_\-description=\char`\"{}Worths\char`\"{})\label{classeo_perf2_worth_cached_a0} - -\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Implementation of the operator(), updating a cache of fitnesses. \item\end{CompactList}\item -virtual void {\bf calculate\_\-worths} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)=0\label{classeo_perf2_worth_cached_a2} - -\begin{CompactList}\small\item\em The actual virtual function the derived classes should implement. \item\end{CompactList}\item -virtual void {\bf sort\_\-pop} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_perf2_worth_cached_a3} - -\begin{CompactList}\small\item\em Sort population according to worth, will keep the worths and fitness\_\-cache in sync with the population. \item\end{CompactList}\item -virtual void {\bf resize} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, unsigned sz)\label{classeo_perf2_worth_cached_a4} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ typename EOT::Fitness $>$ {\bf fitness\_\-cache}\label{classeo_perf2_worth_cached_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = typename EOT::Fitness$>$ class eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$} - -Perf2Worth with fitness cache. - - - -Definition at line 111 of file eo\-Perf2Worth.h. - -\subsection{Member Function Documentation} -\index{eoPerf2WorthCached@{eo\-Perf2Worth\-Cached}!operator()@{operator()}} -\index{operator()@{operator()}!eoPerf2WorthCached@{eo\-Perf2Worth\-Cached}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = typename EOT::Fitness$>$ void {\bf eo\-Perf2Worth\-Cached}$<$ {\bf EOT}, Worth\-T $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_perf2_worth_cached_a1} - - -Implementation of the operator(), updating a cache of fitnesses. - -Calls the virtual function calculate\_\-worths when one of the fitnesses has changed. It is not virtual, but derived classes can remove the fitness caching trough the third template element - -Implements {\bf eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 125 of file eo\-Perf2Worth.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Perf2Worth.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached_1_1compare__worth.tex b/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached_1_1compare__worth.tex deleted file mode 100644 index d1a16e518..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_perf2_worth_cached_1_1compare__worth.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$::compare\_\-worth Class Reference} -\label{classeo_perf2_worth_cached_1_1compare__worth}\index{eoPerf2WorthCached::compare_worth@{eoPerf2WorthCached::compare\_\-worth}} -helper class used to sort indices into populations/worths - - -{\tt \#include $<$eo\-Perf2Worth.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf compare\_\-worth} (const std::vector$<$ Worth\-T $>$ \&\_\-worths)\label{classeo_perf2_worth_cached_1_1compare__worth_a0} - -\item -bool {\bf operator()} (unsigned a, unsigned b) const \label{classeo_perf2_worth_cached_1_1compare__worth_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -const std::vector$<$ Worth\-T $>$ \& {\bf worths}\label{classeo_perf2_worth_cached_1_1compare__worth_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = typename EOT::Fitness$>$ class eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$::compare\_\-worth} - -helper class used to sort indices into populations/worths - - - -Definition at line 200 of file eo\-Perf2Worth.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Perf2Worth.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_persistent.eps b/trunk/paradiseo-eo/doc/latex/classeo_persistent.eps deleted file mode 100644 index 3b479689b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_persistent.eps +++ /dev/null @@ -1,305 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 1643.84 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.304167 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 24 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPersistent) cw -(eoPrintable) cw -(EO< F >) cw -(EO< double >) cw -(EO< EOT::Fitness >) cw -(EO< Fit >) cw -(EO< Fitness >) cw -(EO< fitness_type >) cw -(EO< fitnessT >) cw -(EO< FitT >) cw -(EO< FType >) cw -(EO< phenotype >) cw -(EO< PyFitness >) cw -(eoContinue< EOT >) cw -(eoDistribution< EOT >) cw -(eoHowMany) cw -(eoIntBounds) cw -(eoParser) cw -(eoPop< EOT >) cw -(eoPop< Dummy >) cw -(eoPop< PyEO >) cw -(eoRealBounds) cw -(eoRealVectorBounds) cw -(eoRng) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPersistent) 0 22 box - (eoPrintable) 0 23 box - (EO< F >) 1 21 box - (EO< double >) 1 20 box -1 20 mark - (EO< EOT::Fitness >) 1 19 box -1 19 mark - (EO< Fit >) 1 18 box -1 18 mark - (EO< Fitness >) 1 17 box -1 17 mark - (EO< fitness_type >) 1 16 box -1 16 mark - (EO< fitnessT >) 1 15 box -1 15 mark - (EO< FitT >) 1 14 box -1 14 mark - (EO< FType >) 1 13 box -1 13 mark - (EO< phenotype >) 1 12 box -1 12 mark - (EO< PyFitness >) 1 11 box -1 11 mark - (eoContinue< EOT >) 1 10 box -1 10 mark - (eoDistribution< EOT >) 1 9 box -1 9 mark - (eoHowMany) 1 8 box - (eoIntBounds) 1 7 box -1 7 mark - (eoParser) 1 6 box - (eoPop< EOT >) 1 5 box - (eoPop< Dummy >) 1 4 box -1 4 mark - (eoPop< PyEO >) 1 3 box - (eoRealBounds) 1 2 box -1 2 mark - (eoRealVectorBounds) 1 1 box -1 1 mark - (eoRng) 1 0 box - -% ----- relations ----- - -solid -0 0 22 out -solid -1 0 23 in -solid -1 0 21.25 out -solid -0 0 21.5 hedge -solid -0 0 20.5 hedge -solid -0 0 19.5 hedge -solid -0 0 18.5 hedge -solid -0 0 17.5 hedge -solid -0 0 16.5 hedge -solid -0 0 15.5 hedge -solid -0 0 14.5 hedge -solid -0 0 13.5 hedge -solid -0 0 12.5 hedge -solid -0 0 11.5 hedge -solid -0 0 10.5 hedge -solid -0 0 9.5 hedge -solid -0 0 8.5 hedge -solid -0 0 7.5 hedge -solid -0 0 6.5 hedge -solid -0 0 5.5 hedge -solid -0 0 4.5 hedge -solid -0 0 3.5 hedge -solid -0 0 2.5 hedge -solid -0 0 1.5 hedge -solid -0 0 0.5 hedge -solid -0 22 0.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/classeo_persistent.tex b/trunk/paradiseo-eo/doc/latex/classeo_persistent.tex deleted file mode 100644 index 802cdaf54..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_persistent.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{eo\-Persistent Class Reference} -\label{classeo_persistent}\index{eoPersistent@{eoPersistent}} -An persistent object that knows how to write (through functions inherited from {\bf eo\-Printable}{\rm (p.\,\pageref{classeo_printable})}\#) and read itself. - - -{\tt \#include $<$eo\-Persistent.h$>$} - -Inheritance diagram for eo\-Persistent::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=12cm]{classeo_persistent} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-Persistent} ()\label{classeo_persistent_a0} - -\begin{CompactList}\small\item\em Virtual dtor. They are needed in virtual class hierarchies. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is)=0 -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -An persistent object that knows how to write (through functions inherited from {\bf eo\-Printable}{\rm (p.\,\pageref{classeo_printable})}\#) and read itself. - - - -Definition at line 52 of file eo\-Persistent.h. - -\subsection{Member Function Documentation} -\index{eoPersistent@{eo\-Persistent}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoPersistent@{eo\-Persistent}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Persistent::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [pure virtual]}}\label{classeo_persistent_a1} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-std::exception}]If a valid object can't be read. \end{description} -\end{Desc} - - -Implemented in {\bf EO$<$ F $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf eo\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classeo_continue_a1})}, {\bf eo\-Gen\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classeo_gen_continue_a6})}, {\bf eo\-Pop$<$ EOT $>$} {\rm (p.\,\pageref{classeo_pop_z19_0})}, {\bf eo\-Vector$<$ Fit\-T, Gene\-Type $>$} {\rm (p.\,\pageref{classeo_vector_a5})}, {\bf eo\-Es\-Full$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_full_a3})}, {\bf eo\-Es\-Simple$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_simple_a3})}, {\bf eo\-Es\-Stdev$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_stdev_a3})}, {\bf eo\-Bit$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_bit_a3})}, {\bf eo\-PBILDistrib$<$ EOT $>$} {\rm (p.\,\pageref{classeo_p_b_i_l_distrib_a4})}, {\bf eo\-Parse\-Tree$<$ FType, Node $>$} {\rm (p.\,\pageref{classeo_parse_tree_a6})}, {\bf eo\-External\-EO$<$ Fit, External $>$} {\rm (p.\,\pageref{classeo_external_e_o_a3})}, {\bf eo\-How\-Many} {\rm (p.\,\pageref{classeo_how_many_a6})}, {\bf eo\-Int\-No\-Bounds} {\rm (p.\,\pageref{classeo_int_no_bounds_a13})}, {\bf eo\-Int\-Interval} {\rm (p.\,\pageref{classeo_int_interval_a14})}, {\bf eo\-Int\-Below\-Bound} {\rm (p.\,\pageref{classeo_int_below_bound_a14})}, {\bf eo\-Int\-Above\-Bound} {\rm (p.\,\pageref{classeo_int_above_bound_a14})}, {\bf eo\-General\-Int\-Bounds} {\rm (p.\,\pageref{classeo_general_int_bounds_a19})}, {\bf eo\-Parser} {\rm (p.\,\pageref{classeo_parser_a2})}, {\bf eo\-Real\-No\-Bounds} {\rm (p.\,\pageref{classeo_real_no_bounds_a12})}, {\bf eo\-Real\-Interval} {\rm (p.\,\pageref{classeo_real_interval_a13})}, {\bf eo\-Real\-Below\-Bound} {\rm (p.\,\pageref{classeo_real_below_bound_a13})}, {\bf eo\-Real\-Above\-Bound} {\rm (p.\,\pageref{classeo_real_above_bound_a13})}, {\bf eo\-General\-Real\-Bounds} {\rm (p.\,\pageref{classeo_general_real_bounds_a18})}, {\bf eo\-Real\-Vector\-Bounds} {\rm (p.\,\pageref{classeo_real_vector_bounds_a7})}, {\bf eo\-Rng} {\rm (p.\,\pageref{classeo_rng_a17})}, {\bf EO$<$ double $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ EOT::Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ Fit\-T $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ phenotype $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ fitness\-T $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ Fit $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ FType $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ fitness\_\-type $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf EO$<$ Py\-Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_1})}, {\bf eo\-Pop$<$ Py\-EO $>$} {\rm (p.\,\pageref{classeo_pop_z19_0})}, {\bf eo\-Pop$<$ Dummy $>$} {\rm (p.\,\pageref{classeo_pop_z19_0})}, {\bf eo\-Vector$<$ Fit, double $>$} {\rm (p.\,\pageref{classeo_vector_a5})}, {\bf eo\-Vector$<$ Fit\-T, double $>$} {\rm (p.\,\pageref{classeo_vector_a5})}, and {\bf eo\-Vector$<$ Fit\-T, bool $>$} {\rm (p.\,\pageref{classeo_vector_a5})}. - -Referenced by eo\-State::load(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Persistent.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_plus.eps b/trunk/paradiseo-eo/doc/latex/classeo_plus.eps deleted file mode 100644 index c5f8e5dd4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_plus.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPlus< EOT >) cw -(eoMerge< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPlus< EOT >) 0.5 0 box - (eoMerge< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_plus.tex b/trunk/paradiseo-eo/doc/latex/classeo_plus.tex deleted file mode 100644 index ac24355f1..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_plus.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Plus$<$ EOT $>$ Class Template Reference} -\label{classeo_plus}\index{eoPlus@{eoPlus}} -Very elitist class, copies entire population into next gen. - - -{\tt \#include $<$eo\-Merge.h$>$} - -Inheritance diagram for eo\-Plus$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_plus} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_plus_a0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Plus$<$ EOT $>$} - -Very elitist class, copies entire population into next gen. - - - -Definition at line 116 of file eo\-Merge.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Merge.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_plus_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_plus_replacement.eps deleted file mode 100644 index f57867515..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_plus_replacement.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 134.409 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.72 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPlusReplacement< EOT >) cw -(eoMergeReduce< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPlusReplacement< EOT >) 0.5 0 box - (eoMergeReduce< EOT >) 0.5 1 box - (eoReplacement< EOT >) 0.5 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_plus_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_plus_replacement.tex deleted file mode 100644 index 6be04357e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_plus_replacement.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Plus\-Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_plus_replacement}\index{eoPlusReplacement@{eoPlusReplacement}} -ES type of replacement strategy: first add parents to population, then truncate. - - -{\tt \#include $<$eo\-Merge\-Reduce.h$>$} - -Inheritance diagram for eo\-Plus\-Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.76344cm]{classeo_plus_replacement} -\end{center} -\end{figure} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Plus}$<$ {\bf EOT} $>$ {\bf plus}\label{classeo_plus_replacement_r0} - -\item -{\bf eo\-Truncate}$<$ {\bf EOT} $>$ {\bf truncate}\label{classeo_plus_replacement_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Plus\-Replacement$<$ EOT $>$} - -ES type of replacement strategy: first add parents to population, then truncate. - - - -Definition at line 73 of file eo\-Merge\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Merge\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_point_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_point_mutation.eps deleted file mode 100644 index c2aa33161..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_point_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 76.6284 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.525 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPointMutation< FType, Node >) cw -(eoMonOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPointMutation< FType, Node >) 0.5 0 box - (eoMonOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoUF< eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_point_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_point_mutation.tex deleted file mode 100644 index 1dc3f6f65..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_point_mutation.tex +++ /dev/null @@ -1,88 +0,0 @@ -\section{eo\-Point\-Mutation$<$ FType, Node $>$ Class Template Reference} -\label{classeo_point_mutation}\index{eoPointMutation@{eoPointMutation}} -eo\-Point\-Mutation --$>$ replace a Node with a Node of the same arity - - -{\tt \#include $<$gp/eo\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-Point\-Mutation$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.14559cm]{classeo_point_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_point_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Point\-Mutation} (std::vector$<$ Node $>$ \&\_\-initializor) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_point_mutation_a1} - -\begin{CompactList}\small\item\em the class name \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Point\-Mutation} ()\label{classeo_point_mutation_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1) -\begin{CompactList}\small\item\em Mutate an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ Node $>$ \& {\bf initializor}\label{classeo_point_mutation_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-Point\-Mutation$<$ FType, Node $>$} - -eo\-Point\-Mutation --$>$ replace a Node with a Node of the same arity - - - -Definition at line 147 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoPointMutation@{eo\-Point\-Mutation}!eoPointMutation@{eoPointMutation}} -\index{eoPointMutation@{eoPointMutation}!eoPointMutation@{eo\-Point\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Point\-Mutation}$<$ FType, Node $>$::{\bf eo\-Point\-Mutation} (std::vector$<$ Node $>$ \& {\em \_\-initializor})\hspace{0.3cm}{\tt [inline]}}\label{classeo_point_mutation_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-initializor}]The std::vector of Nodes given to the eo\-Gp\-Depth\-Initializer \end{description} -\end{Desc} - - -Definition at line 157 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Member Function Documentation} -\index{eoPointMutation@{eo\-Point\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoPointMutation@{eo\-Point\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ bool {\bf eo\-Point\-Mutation}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-eo1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_point_mutation_a3} - - -Mutate an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The individual that is to be changed \end{description} -\end{Desc} - - -Definition at line 171 of file eo\-Parse\-Tree\-Op.h. - -References eo\-Rng::random(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop.eps b/trunk/paradiseo-eo/doc/latex/classeo_pop.eps deleted file mode 100644 index dc78ae7ef..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 285.714 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.75 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPop< EOT >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPop< EOT >) 0.5 0 box - (eoObject) 0 1 box - (eoPersistent) 1 1 box - (eoPrintable) 1 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -1 1 1 in -solid -0 1 1 out -solid -1 1 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop.tex b/trunk/paradiseo-eo/doc/latex/classeo_pop.tex deleted file mode 100644 index 7945d917f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop.tex +++ /dev/null @@ -1,284 +0,0 @@ -\section{eo\-Pop$<$ EOT $>$ Class Template Reference} -\label{classeo_pop}\index{eoPop@{eoPop}} -A std::vector of {\bf EO}{\rm (p.\,\pageref{class_e_o})} object, to be used in all algorithms (selectors, operators, replacements, ...). - - -{\tt \#include $<$eo\-Pop.h$>$} - -Inheritance diagram for eo\-Pop$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_pop} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_pop_w0} - -\item -typedef EOT::fitness\_\-traits {\bf fitness\_\-traits}\label{classeo_pop_w1} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Pop} () -\begin{CompactList}\small\item\em Default ctor. \item\end{CompactList}\item -{\bf eo\-Pop} (unsigned \_\-pop\-Size, {\bf eo\-Init}$<$ {\bf EOT} $>$ \&\_\-chrom\-Init) -\begin{CompactList}\small\item\em Ctor for the initialization of chromosomes. \item\end{CompactList}\item -void {\bf append} (unsigned \_\-new\-Pop\-Size, {\bf eo\-Init}$<$ {\bf EOT} $>$ \&\_\-chrom\-Init) -\begin{CompactList}\small\item\em appstd::ends random guys at end of pop. \item\end{CompactList}\item -{\bf eo\-Pop} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Ctor from an std::istream; reads the population from a stream, each element should be in different lines. \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Pop} ()\label{classeo_pop_a4} - -\begin{CompactList}\small\item\em Empty Dtor. \item\end{CompactList}\item -void {\bf sort} (void) -\begin{CompactList}\small\item\em sort the population. \item\end{CompactList}\item -void {\bf sort} (std::vector$<$ const {\bf EOT} $\ast$ $>$ \&result) const \label{classeo_pop_a6} - -\begin{CompactList}\small\item\em creates a std::vector$<$EOT$\ast$$>$ pointing to the individuals in descending order \item\end{CompactList}\item -void {\bf shuffle} (void) -\begin{CompactList}\small\item\em shuffle the population. \item\end{CompactList}\item -void {\bf shuffle} (std::vector$<$ const {\bf EOT} $\ast$ $>$ \&result) const \label{classeo_pop_a8} - -\begin{CompactList}\small\item\em creates a std::vector$<$EOT$\ast$$>$ pointing to the individuals in random order \item\end{CompactList}\item -{\bf eo\-Pop}$<$ {\bf EOT} $>$::iterator {\bf it\_\-best\_\-element} ()\label{classeo_pop_a9} - -\begin{CompactList}\small\item\em returns an iterator to the best individual DOES NOT MOVE ANYBODY \item\end{CompactList}\item -const {\bf EOT} \& {\bf best\_\-element} () const \label{classeo_pop_a10} - -\begin{CompactList}\small\item\em returns an iterator to the best individual DOES NOT MOVE ANYBODY \item\end{CompactList}\item -const {\bf EOT} \& {\bf worse\_\-element} () const \label{classeo_pop_a11} - -\begin{CompactList}\small\item\em returns a const reference to the worse individual DOES NOT MOVE ANYBODY \item\end{CompactList}\item -{\bf eo\-Pop}$<$ {\bf EOT} $>$::iterator {\bf it\_\-worse\_\-element} ()\label{classeo_pop_a12} - -\begin{CompactList}\small\item\em returns an iterator to the worse individual DOES NOT MOVE ANYBODY \item\end{CompactList}\item -{\bf eo\-Pop}$<$ {\bf EOT} $>$::iterator {\bf nth\_\-element} (int nth) -\begin{CompactList}\small\item\em slightly faster algorithm than sort to find all individuals that are better than the nth individual. \item\end{CompactList}\item -Fitness {\bf nth\_\-element\_\-fitness} (int which) const \label{classeo_pop_a14} - -\begin{CompactList}\small\item\em returns the fitness of the nth element \item\end{CompactList}\item -void {\bf nth\_\-element} (int which, std::vector$<$ const {\bf EOT} $\ast$ $>$ \&result) const \label{classeo_pop_a15} - -\begin{CompactList}\small\item\em const nth\_\-element function, returns pointers to sorted individuals up the the nth \item\end{CompactList}\item -void {\bf swap} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&other)\label{classeo_pop_a16} - -\begin{CompactList}\small\item\em does STL swap with other pop \item\end{CompactList}\item -virtual void {\bf sorted\-Print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Prints sorted pop but does NOT modify it! \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual void {\bf invalidate} ()\label{classeo_pop_a19} - -\item -void {\bf sort} ()\label{classeo_pop_a21} - -\item -void {\bf scale} ()\label{classeo_pop_a22} - -\item -void {\bf set\-Perf2Worth} ({\bf eo\-Perf2Worth}$<$ {\bf EOT} $>$ \&\_\-p2w)\label{classeo_pop_a23} - -\item -void {\bf set\-Perf2Worth} ({\bf eo\-Perf2Worth}$<$ {\bf EOT} $>$ $\ast$\_\-p2w)\label{classeo_pop_a24} - -\item -{\bf eo\-Perf2Worth}$<$ {\bf EOT} $>$ $\ast$ {\bf get\-Perf2Worth} ()\label{classeo_pop_a25} - -\item -void {\bf swap} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&other)\label{classeo_pop_a26} - -\end{CompactItemize} -\begin{Indent}{\bf Methods from eo\-Object}\par -\begin{CompactItemize} -\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const -\begin{CompactList}\small\item\em Inherited from {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}. \item\end{CompactList}\end{CompactItemize} -\end{Indent} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Perf2Worth}$<$ {\bf EOT} $>$ $\ast$ {\bf p2w}\label{classeo_pop_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Pop$<$ EOT $>$} - -A std::vector of {\bf EO}{\rm (p.\,\pageref{class_e_o})} object, to be used in all algorithms (selectors, operators, replacements, ...). - -We have no idea if a population can be some other thing that a std::vector, but if somebody thinks of it, this concrete implementation can be moved to \char`\"{}generic\char`\"{} and an abstract Population interface be provided. - -The template can be instantiated with anything that accepts a \char`\"{}size\char`\"{} and {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} derived object. in the ctor. EOT must also have a copy ctor, since temporaries are created and then passed to the {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})} object - - - -Definition at line 54 of file eo\-Pop.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoPop@{eo\-Pop}!eoPop@{eoPop}} -\index{eoPop@{eoPop}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Pop}$<$ {\bf EOT} $>$::{\bf eo\-Pop} ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_pop_a0} - - -Default ctor. - -Creates empty pop - -Definition at line 68 of file eo\-Pop.h.\index{eoPop@{eo\-Pop}!eoPop@{eoPop}} -\index{eoPop@{eoPop}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Pop}$<$ {\bf EOT} $>$::{\bf eo\-Pop} (unsigned {\em \_\-pop\-Size}, {\bf eo\-Init}$<$ {\bf EOT} $>$ \& {\em \_\-chrom\-Init})\hspace{0.3cm}{\tt [inline]}}\label{classeo_pop_a1} - - -Ctor for the initialization of chromosomes. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-pop\-Size}]total population size \item[{\em \_\-chrom\-Init}]Initialization routine, produces EO's, needs to be an {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}\end{description} -\end{Desc} - - -Definition at line 75 of file eo\-Pop.h.\index{eoPop@{eo\-Pop}!eoPop@{eoPop}} -\index{eoPop@{eoPop}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Pop}$<$ {\bf EOT} $>$::{\bf eo\-Pop} (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline]}}\label{classeo_pop_a3} - - -Ctor from an std::istream; reads the population from a stream, each element should be in different lines. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]the stream \end{description} -\end{Desc} - - -Definition at line 113 of file eo\-Pop.h. - -\subsection{Member Function Documentation} -\index{eoPop@{eo\-Pop}!append@{append}} -\index{append@{append}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Pop}$<$ {\bf EOT} $>$::append (unsigned {\em \_\-new\-Pop\-Size}, {\bf eo\-Init}$<$ {\bf EOT} $>$ \& {\em \_\-chrom\-Init})\hspace{0.3cm}{\tt [inline]}}\label{classeo_pop_a2} - - -appstd::ends random guys at end of pop. - -Can be used to initialize it pop is empty - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-pop\-Size}]total population size \item[{\em \_\-chrom\-Init}]Initialization routine, produces EO's, needs to be an {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}\end{description} -\end{Desc} - - -Definition at line 91 of file eo\-Pop.h. - -Referenced by eo\-Easy\-EA$<$ EOT $>$::operator()().\index{eoPop@{eo\-Pop}!sort@{sort}} -\index{sort@{sort}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Pop}$<$ {\bf EOT} $>$::sort (void)\hspace{0.3cm}{\tt [inline]}}\label{classeo_pop_a5} - - -sort the population. - -Use this member to sort in order of descending Fitness, so the first individual is the best! - -Definition at line 133 of file eo\-Pop.h. - -Referenced by eo\-Truncated\-Select\-Many$<$ EOT $>$::operator()(), eo\-Reduce\-Merge\-Reduce$<$ EOT $>$::operator()(), eo\-Ranking$<$ EOT $>$::operator()(), eo\-PBILAdditive$<$ EOT $>$::operator()(), eo\-Check\-Point$<$ EOT $>$::operator()(), eo\-Sequential\-Select$<$ EOT $>$::setup(), and eo\-Pop$<$ Dummy $>$::sorted\-Print\-On().\index{eoPop@{eo\-Pop}!shuffle@{shuffle}} -\index{shuffle@{shuffle}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Pop}$<$ {\bf EOT} $>$::shuffle (void)\hspace{0.3cm}{\tt [inline]}}\label{classeo_pop_a7} - - -shuffle the population. - -Use this member to put the population in random order - -Definition at line 152 of file eo\-Pop.h. - -Referenced by eo\-Truncated\-Select\-Many$<$ EOT $>$::operator()(), eo\-Random\-Split$<$ EOT $>$::operator()(), eo\-Random\-Reduce$<$ EOT $>$::operator()(), eo\-Elite\-Sequential\-Select$<$ EOT $>$::setup(), and eo\-Sequential\-Select$<$ EOT $>$::setup().\index{eoPop@{eo\-Pop}!nth_element@{nth\_\-element}} -\index{nth_element@{nth\_\-element}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Pop}$<${\bf EOT}$>$::iterator {\bf eo\-Pop}$<$ {\bf EOT} $>$::nth\_\-element (int {\em nth})\hspace{0.3cm}{\tt [inline]}}\label{classeo_pop_a13} - - -slightly faster algorithm than sort to find all individuals that are better than the nth individual. - -INDIVIDUALS ARE MOVED AROUND in the pop. - -Definition at line 201 of file eo\-Pop.h. - -Referenced by eo\-Deterministic\-Survive\-And\-Die$<$ EOT $>$::operator()(), eo\-Truncate\-Split$<$ EOT $>$::operator()(), eo\-Reduce\-Merge\-Reduce$<$ EOT $>$::operator()(), eo\-Truncate$<$ EOT $>$::operator()(), eo\-Elitism$<$ EOT $>$::operator()(), and eo\-Truncated\-Select\-One$<$ EOT $>$::setup().\index{eoPop@{eo\-Pop}!sortedPrintOn@{sortedPrintOn}} -\index{sortedPrintOn@{sortedPrintOn}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Pop}$<$ {\bf EOT} $>$::sorted\-Print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_pop_a17} - - -Prints sorted pop but does NOT modify it! - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Definition at line 247 of file eo\-Pop.h.\index{eoPop@{eo\-Pop}!printOn@{printOn}} -\index{printOn@{printOn}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Pop}$<$ {\bf EOT} $>$::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_pop_a18} - - -Write object. - -It's called print\-On since it prints the object \_\-on\_\- a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 262 of file eo\-Pop.h.\index{eoPop@{eo\-Pop}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Pop}$<$ {\bf EOT} $>$::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_pop_z19_0} - - -Read object. - -The EOT class must have a ctor from a stream; \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 274 of file eo\-Pop.h. - -Referenced by eo\-Pop$<$ Dummy $>$::eo\-Pop().\index{eoPop@{eo\-Pop}!className@{className}} -\index{className@{className}!eoPop@{eo\-Pop}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual std::string {\bf eo\-Pop}$<$ {\bf EOT} $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_pop_z19_1} - - -Inherited from {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}. - -Returns the class name. \begin{Desc} -\item[See also:]{\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})} \end{Desc} - - -Implements {\bf eo\-Object} {\rm (p.\,\pageref{classeo_object_a1})}. - -Definition at line 289 of file eo\-Pop.h. - -Referenced by eo\-Check\-Point$<$ EOT $>$::all\-Class\-Names(). - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Pop.h\item -fitness\_\-traits.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop_algo.eps b/trunk/paradiseo-eo/doc/latex/classeo_pop_algo.eps deleted file mode 100644 index eedbb872b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop_algo.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 114.943 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.35 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPopAlgo< EOT >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPopAlgo< EOT >) 0.5 0 box - (eoUF< eoPop< EOT > &, void >) 0.5 1 box - (eoFunctorBase) 0 2 box - (unary_function< eoPop< EOT > &, void >) 1 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop_algo.tex b/trunk/paradiseo-eo/doc/latex/classeo_pop_algo.tex deleted file mode 100644 index 9f86f2e06..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop_algo.tex +++ /dev/null @@ -1,27 +0,0 @@ -\section{eo\-Pop\-Algo$<$ EOT $>$ Class Template Reference} -\label{classeo_pop_algo}\index{eoPopAlgo@{eoPopAlgo}} -For all \char`\"{}population transforming\char`\"{} algos ... - - -{\tt \#include $<$eo\-Pop\-Algo.h$>$} - -Inheritance diagram for eo\-Pop\-Algo$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_pop_algo} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Pop\-Algo$<$ EOT $>$} - -For all \char`\"{}population transforming\char`\"{} algos ... - - - -Definition at line 13 of file eo\-Pop\-Algo.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pop\-Algo.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop_eval_func.eps b/trunk/paradiseo-eo/doc/latex/classeo_pop_eval_func.eps deleted file mode 100644 index 8a4a4bd59..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop_eval_func.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPopEvalFunc< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoPopLoopEval< EOT >) cw -(eoTimeVaryingLoopEval< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPopEvalFunc< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - (eoPopLoopEval< EOT >) 0 0 box - (eoTimeVaryingLoopEval< EOT >) 1 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -1 0.5 0.25 out -solid -0 1 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop_eval_func.tex b/trunk/paradiseo-eo/doc/latex/classeo_pop_eval_func.tex deleted file mode 100644 index d6b230016..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop_eval_func.tex +++ /dev/null @@ -1,37 +0,0 @@ -\section{eo\-Pop\-Eval\-Func$<$ EOT $>$ Class Template Reference} -\label{classeo_pop_eval_func}\index{eoPopEvalFunc@{eoPopEvalFunc}} -eo\-Pop\-Eval\-Func: This abstract class is for GLOBAL evaluators of a population after variation. - - -{\tt \#include $<$eo\-Pop\-Eval\-Func.h$>$} - -Inheritance diagram for eo\-Pop\-Eval\-Func$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_pop_eval_func} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Pop\-Eval\-Func$<$ EOT $>$} - -eo\-Pop\-Eval\-Func: This abstract class is for GLOBAL evaluators of a population after variation. - -It takes 2 populations (typically the parents and the offspring) and is suppposed to evaluate them alltogether - -Basic use: apply an embedded {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} to the offspring - -Time-varying fitness: apply the embedded {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} to both offspring and parents - -Advanced uses: Co-evolution or \char`\"{}parisian\char`\"{} approach, or ... - -Basic parallelization (synchronous standard evolution engine): call the slaves and wait for the results - - - -Definition at line 49 of file eo\-Pop\-Eval\-Func.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pop\-Eval\-Func.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop_loop_eval.eps b/trunk/paradiseo-eo/doc/latex/classeo_pop_loop_eval.eps deleted file mode 100644 index e8c27c371..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop_loop_eval.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPopLoopEval< EOT >) cw -(eoPopEvalFunc< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPopLoopEval< EOT >) 0.5 0 box - (eoPopEvalFunc< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop_loop_eval.tex b/trunk/paradiseo-eo/doc/latex/classeo_pop_loop_eval.tex deleted file mode 100644 index 3768c8c23..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop_loop_eval.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-Pop\-Loop\-Eval$<$ EOT $>$ Class Template Reference} -\label{classeo_pop_loop_eval}\index{eoPopLoopEval@{eoPopLoopEval}} -eo\-Pop\-Loop\-Eval: an instance of {\bf eo\-Pop\-Eval\-Func}{\rm (p.\,\pageref{classeo_pop_eval_func})} that simply applies a private {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} to all offspring - - -{\tt \#include $<$eo\-Pop\-Eval\-Func.h$>$} - -Inheritance diagram for eo\-Pop\-Loop\-Eval$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_pop_loop_eval} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Pop\-Loop\-Eval} ({\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval)\label{classeo_pop_loop_eval_a0} - -\begin{CompactList}\small\item\em Ctor: set value of embedded {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})}. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_pop_loop_eval_a1} - -\begin{CompactList}\small\item\em Do the job: simple loop over the offspring. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf eval}\label{classeo_pop_loop_eval_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Pop\-Loop\-Eval$<$ EOT $>$} - -eo\-Pop\-Loop\-Eval: an instance of {\bf eo\-Pop\-Eval\-Func}{\rm (p.\,\pageref{classeo_pop_eval_func})} that simply applies a private {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} to all offspring - - - -Definition at line 60 of file eo\-Pop\-Eval\-Func.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pop\-Eval\-Func.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_pop_stat.eps deleted file mode 100644 index ba4eaa949..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.613 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPopStat< EOT >) cw -(eoStat< EOT, std::string >) cw -(eoValueParam< std::string >) cw -(eoStatBase< EOT >) cw -(eoParam) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPopStat< EOT >) 0.5 0 box - (eoStat< EOT, std::string >) 0.5 1 box - (eoValueParam< std::string >) 0 2 box - (eoStatBase< EOT >) 1 2 box - (eoParam) 0 3 box - (eoUF< const eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< const eoPop< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_pop_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_pop_stat.tex deleted file mode 100644 index 879a2003e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_pop_stat.tex +++ /dev/null @@ -1,73 +0,0 @@ -\section{eo\-Pop\-Stat$<$ EOT $>$ Class Template Reference} -\label{classeo_pop_stat}\index{eoPopStat@{eoPopStat}} -Thanks to MS/VC++, {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} mechanism is unable to handle std::vectors of stats. - - -{\tt \#include $<$eo\-Pop\-Stat.h$>$} - -Inheritance diagram for eo\-Pop\-Stat$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15315cm]{classeo_pop_stat} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Pop\-Stat} (unsigned \_\-how\-Many=0, std::string \_\-desc=\char`\"{}\char`\"{}) -\begin{CompactList}\small\item\em default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. \item\end{CompactList}\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Fills the {\bf value()}{\rm (p.\,\pageref{classeo_value_param_a2})} of the {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} with the dump of the population. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf combien}\label{classeo_pop_stat_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Pop\-Stat$<$ EOT $>$} - -Thanks to MS/VC++, {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} mechanism is unable to handle std::vectors of stats. - -This snippet is a workaround: This class will \char`\"{}print\char`\"{} a whole population into a std::string - that you can later send to any stream This is the plain version - see eo\-Pop\-String for the Sorted version - -Note: this Stat should probably be used only within eo\-Std\-Out\-Monitor, and not inside an {\bf eo\-File\-Monitor}{\rm (p.\,\pageref{classeo_file_monitor})}, as the {\bf eo\-State}{\rm (p.\,\pageref{classeo_state})} construct will work much better there. - - - -Definition at line 51 of file eo\-Pop\-Stat.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoPopStat@{eo\-Pop\-Stat}!eoPopStat@{eoPopStat}} -\index{eoPopStat@{eoPopStat}!eoPopStat@{eo\-Pop\-Stat}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Pop\-Stat}$<$ {\bf EOT} $>$::{\bf eo\-Pop\-Stat} (unsigned {\em \_\-how\-Many} = {\tt 0}, std::string {\em \_\-desc} = {\tt \char`\"{}\char`\"{}})\hspace{0.3cm}{\tt [inline]}}\label{classeo_pop_stat_a0} - - -default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. - -and is meaningless there. \_\-how\-Many defaults to 0, that is, the whole population - -Definition at line 61 of file eo\-Pop\-Stat.h. - -\subsection{Member Function Documentation} -\index{eoPopStat@{eo\-Pop\-Stat}!operator()@{operator()}} -\index{operator()@{operator()}!eoPopStat@{eo\-Pop\-Stat}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Pop\-Stat}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_pop_stat_a1} - - -Fills the {\bf value()}{\rm (p.\,\pageref{classeo_value_param_a2})} of the {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} with the dump of the population. - -Adds a \par - before so it does not get mixed up with the rest of the stats that are written by the monitor it is probably used from. - -Implements {\bf eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 68 of file eo\-Pop\-Stat.h. - -References eo\-Value\-Param$<$ std::string $>$::value(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pop\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_populator.eps b/trunk/paradiseo-eo/doc/latex/classeo_populator.eps deleted file mode 100644 index ed498815b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_populator.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPopulator< EOT >) cw -(eoSelectivePopulator< EOT >) cw -(eoSeqPopulator< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPopulator< EOT >) 0.5 1 box - (eoSelectivePopulator< EOT >) 0 0 box - (eoSeqPopulator< EOT >) 1 0 box - -% ----- relations ----- - -solid -1 0.5 0.25 out -solid -0 1 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_populator.tex b/trunk/paradiseo-eo/doc/latex/classeo_populator.tex deleted file mode 100644 index 520d24655..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_populator.tex +++ /dev/null @@ -1,121 +0,0 @@ -\section{eo\-Populator$<$ EOT $>$ Class Template Reference} -\label{classeo_populator}\index{eoPopulator@{eoPopulator}} -eo\-Populator is a helper class for general operators {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} It is an {\bf eo\-Pop}{\rm (p.\,\pageref{classeo_pop})} but also behaves like an eo\-Pop::iterator as far as operator$\ast$ and operator++ are concerned - - -{\tt \#include $<$eo\-Populator.h$>$} - -Inheritance diagram for eo\-Populator$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_populator} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef unsigned {\bf position\_\-type}\label{classeo_populator_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Populator} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-src, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest)\label{classeo_populator_a0} - -\item -virtual {\bf $\sim$eo\-Populator} ()\label{classeo_populator_a1} - -\begin{CompactList}\small\item\em Virtual Constructor. \item\end{CompactList}\item -{\bf EOT} \& {\bf operator $\ast$} (void) -\begin{CompactList}\small\item\em a populator behaves like an iterator. \item\end{CompactList}\item -{\bf eo\-Populator} \& {\bf operator++} ()\label{classeo_populator_a3} - -\begin{CompactList}\small\item\em only prefix increment defined Does not add a new element when at the end, use operator$\ast$ for that If not on the end, increment the pointer to the next individual \item\end{CompactList}\item -void {\bf insert} (const {\bf EOT} \&\_\-eo)\label{classeo_populator_a4} - -\begin{CompactList}\small\item\em mandatory for operators that generate more offspring than parents if such a thing exists ? \item\end{CompactList}\item -void {\bf reserve} (int how\_\-many)\label{classeo_populator_a5} - -\begin{CompactList}\small\item\em just to make memory mangement more efficient \item\end{CompactList}\item -const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\bf source} (void) -\begin{CompactList}\small\item\em can be useful for operators with embedded selectors e.g. \item\end{CompactList}\item -{\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\bf offspring} (void) -\begin{CompactList}\small\item\em Get the offspring population. \item\end{CompactList}\item -position\_\-type {\bf tellp} ()\label{classeo_populator_a8} - -\begin{CompactList}\small\item\em this is a direct access container: tell position \item\end{CompactList}\item -void {\bf seekp} (position\_\-type pos)\label{classeo_populator_a9} - -\begin{CompactList}\small\item\em this is a direct access container: go to position \item\end{CompactList}\item -bool {\bf exhausted} (void)\label{classeo_populator_a10} - -\begin{CompactList}\small\item\em no more individuals \item\end{CompactList}\item -virtual const {\bf EOT} \& {\bf select} ()=0\label{classeo_populator_a11} - -\begin{CompactList}\small\item\em the pure virtual selection method - will be instanciated in {\bf eo\-Seq\-Populator}{\rm (p.\,\pageref{classeo_seq_populator})} and {\bf eo\-Selective\-Populator}{\rm (p.\,\pageref{classeo_selective_populator})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\bf dest}\label{classeo_populator_p0} - -\item -{\bf eo\-Pop}$<$ {\bf EOT} $>$::iterator {\bf current}\label{classeo_populator_p1} - -\item -const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\bf src}\label{classeo_populator_p2} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf get\_\-next} ()\label{classeo_populator_d0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Populator$<$ EOT $>$} - -eo\-Populator is a helper class for general operators {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} It is an {\bf eo\-Pop}{\rm (p.\,\pageref{classeo_pop})} but also behaves like an eo\-Pop::iterator as far as operator$\ast$ and operator++ are concerned - -See {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} and {\bf eo\-Op\-Container}{\rm (p.\,\pageref{classeo_op_container})} - - - -Definition at line 39 of file eo\-Populator.h. - -\subsection{Member Function Documentation} -\index{eoPopulator@{eo\-Populator}!operator *@{operator $\ast$}} -\index{operator *@{operator $\ast$}!eoPopulator@{eo\-Populator}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf EOT}\& {\bf eo\-Populator}$<$ {\bf EOT} $>$::operator $\ast$ (void)\hspace{0.3cm}{\tt [inline]}}\label{classeo_populator_a2} - - -a populator behaves like an iterator. - -Hence the operator$\ast$ it returns the current individual -- eventually getting a new one through the operator++ if at the end - -Definition at line 58 of file eo\-Populator.h.\index{eoPopulator@{eo\-Populator}!source@{source}} -\index{source@{source}!eoPopulator@{eo\-Populator}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ const {\bf eo\-Pop}$<${\bf EOT}$>$\& {\bf eo\-Populator}$<$ {\bf EOT} $>$::source (void)\hspace{0.3cm}{\tt [inline]}}\label{classeo_populator_a6} - - -can be useful for operators with embedded selectors e.g. - -your brain and my beauty -type - -Definition at line 105 of file eo\-Populator.h. - -Referenced by eo\-Sel\-Bin\-Gen\-Op$<$ EOT $>$::apply(), and eo\-Es\-Global\-Xover$<$ EOT $>$::apply().\index{eoPopulator@{eo\-Populator}!offspring@{offspring}} -\index{offspring@{offspring}!eoPopulator@{eo\-Populator}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Pop}$<${\bf EOT}$>$\& {\bf eo\-Populator}$<$ {\bf EOT} $>$::offspring (void)\hspace{0.3cm}{\tt [inline]}}\label{classeo_populator_a7} - - -Get the offspring population. - -Can be useful when you want to do some online niching kind of thing - -Definition at line 110 of file eo\-Populator.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Populator.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_printable.eps b/trunk/paradiseo-eo/doc/latex/classeo_printable.eps deleted file mode 100644 index ffa1af917..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_printable.eps +++ /dev/null @@ -1,305 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 1643.84 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.304167 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 24 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPrintable) cw -(eoPersistent) cw -(EO< F >) cw -(EO< double >) cw -(EO< EOT::Fitness >) cw -(EO< Fit >) cw -(EO< Fitness >) cw -(EO< fitness_type >) cw -(EO< fitnessT >) cw -(EO< FitT >) cw -(EO< FType >) cw -(EO< phenotype >) cw -(EO< PyFitness >) cw -(eoContinue< EOT >) cw -(eoDistribution< EOT >) cw -(eoHowMany) cw -(eoIntBounds) cw -(eoParser) cw -(eoPop< EOT >) cw -(eoPop< Dummy >) cw -(eoPop< PyEO >) cw -(eoRealBounds) cw -(eoRealVectorBounds) cw -(eoRng) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPrintable) 0 23 box - (eoPersistent) 0 22 box - (EO< F >) 1 21 box - (EO< double >) 1 20 box -1 20 mark - (EO< EOT::Fitness >) 1 19 box -1 19 mark - (EO< Fit >) 1 18 box -1 18 mark - (EO< Fitness >) 1 17 box -1 17 mark - (EO< fitness_type >) 1 16 box -1 16 mark - (EO< fitnessT >) 1 15 box -1 15 mark - (EO< FitT >) 1 14 box -1 14 mark - (EO< FType >) 1 13 box -1 13 mark - (EO< phenotype >) 1 12 box -1 12 mark - (EO< PyFitness >) 1 11 box -1 11 mark - (eoContinue< EOT >) 1 10 box -1 10 mark - (eoDistribution< EOT >) 1 9 box -1 9 mark - (eoHowMany) 1 8 box - (eoIntBounds) 1 7 box -1 7 mark - (eoParser) 1 6 box - (eoPop< EOT >) 1 5 box - (eoPop< Dummy >) 1 4 box -1 4 mark - (eoPop< PyEO >) 1 3 box - (eoRealBounds) 1 2 box -1 2 mark - (eoRealVectorBounds) 1 1 box -1 1 mark - (eoRng) 1 0 box - -% ----- relations ----- - -solid -1 0 22.25 out -solid -0 0 22.75 in -solid -1 0 21.25 out -solid -0 0 21.5 hedge -solid -0 0 20.5 hedge -solid -0 0 19.5 hedge -solid -0 0 18.5 hedge -solid -0 0 17.5 hedge -solid -0 0 16.5 hedge -solid -0 0 15.5 hedge -solid -0 0 14.5 hedge -solid -0 0 13.5 hedge -solid -0 0 12.5 hedge -solid -0 0 11.5 hedge -solid -0 0 10.5 hedge -solid -0 0 9.5 hedge -solid -0 0 8.5 hedge -solid -0 0 7.5 hedge -solid -0 0 6.5 hedge -solid -0 0 5.5 hedge -solid -0 0 4.5 hedge -solid -0 0 3.5 hedge -solid -0 0 2.5 hedge -solid -0 0 1.5 hedge -solid -0 0 0.5 hedge -solid -0 22 0.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/classeo_printable.tex b/trunk/paradiseo-eo/doc/latex/classeo_printable.tex deleted file mode 100644 index 473f96286..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_printable.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Printable Class Reference} -\label{classeo_printable}\index{eoPrintable@{eoPrintable}} -Base class for objects that can print themselves ({\bf print\-On}{\rm (p.\,\pageref{classeo_printable_a1})}\#). - - -{\tt \#include $<$eo\-Printable.h$>$} - -Inheritance diagram for eo\-Printable::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=12cm]{classeo_printable} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-Printable} ()\label{classeo_printable_a0} - -\begin{CompactList}\small\item\em Virtual dtor. They are needed in virtual class hierarchies. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const =0 -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Base class for objects that can print themselves ({\bf print\-On}{\rm (p.\,\pageref{classeo_printable_a1})}\#). - -Besides, this file defines the standard output for all the objects; if the objects define print\-On there's no need to define \#operator $<$$<$\#.$\backslash$ This functionality was separated from {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}, since it makes no sense to print some objects (for instance, a {\bf eo\-Factory}{\rm (p.\,\pageref{classeo_factory})}\# or a random number generator. - - - -Definition at line 43 of file eo\-Printable.h. - -\subsection{Member Function Documentation} -\index{eoPrintable@{eo\-Printable}!printOn@{printOn}} -\index{printOn@{printOn}!eoPrintable@{eo\-Printable}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Printable::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [pure virtual]}}\label{classeo_printable_a1} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implemented in {\bf EO$<$ F $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf eo\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classeo_continue_a2})}, {\bf eo\-Gen\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classeo_gen_continue_a7})}, {\bf eo\-Pop$<$ EOT $>$} {\rm (p.\,\pageref{classeo_pop_a18})}, {\bf eo\-Vector$<$ Fit\-T, Gene\-Type $>$} {\rm (p.\,\pageref{classeo_vector_a4})}, {\bf eo\-Es\-Full$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_full_a2})}, {\bf eo\-Es\-Simple$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_simple_a2})}, {\bf eo\-Es\-Stdev$<$ Fit $>$} {\rm (p.\,\pageref{classeo_es_stdev_a2})}, {\bf eo\-Bit$<$ Fit\-T $>$} {\rm (p.\,\pageref{classeo_bit_a2})}, {\bf eo\-PBILDistrib$<$ EOT $>$} {\rm (p.\,\pageref{classeo_p_b_i_l_distrib_a3})}, {\bf eo\-Parse\-Tree$<$ FType, Node $>$} {\rm (p.\,\pageref{classeo_parse_tree_a5})}, {\bf eo\-External\-EO$<$ Fit, External $>$} {\rm (p.\,\pageref{classeo_external_e_o_a4})}, {\bf eo\-String$<$ fitness\-T $>$} {\rm (p.\,\pageref{classeo_string_z24_1})}, {\bf eo\-How\-Many} {\rm (p.\,\pageref{classeo_how_many_a5})}, {\bf eo\-Int\-No\-Bounds} {\rm (p.\,\pageref{classeo_int_no_bounds_a14})}, {\bf eo\-Int\-Interval} {\rm (p.\,\pageref{classeo_int_interval_a15})}, {\bf eo\-Int\-Below\-Bound} {\rm (p.\,\pageref{classeo_int_below_bound_a15})}, {\bf eo\-Int\-Above\-Bound} {\rm (p.\,\pageref{classeo_int_above_bound_a15})}, {\bf eo\-General\-Int\-Bounds} {\rm (p.\,\pageref{classeo_general_int_bounds_a18})}, {\bf eo\-Parser} {\rm (p.\,\pageref{classeo_parser_a3})}, {\bf eo\-Real\-No\-Bounds} {\rm (p.\,\pageref{classeo_real_no_bounds_a13})}, {\bf eo\-Real\-Interval} {\rm (p.\,\pageref{classeo_real_interval_a14})}, {\bf eo\-Real\-Below\-Bound} {\rm (p.\,\pageref{classeo_real_below_bound_a14})}, {\bf eo\-Real\-Above\-Bound} {\rm (p.\,\pageref{classeo_real_above_bound_a14})}, {\bf eo\-General\-Real\-Bounds} {\rm (p.\,\pageref{classeo_general_real_bounds_a17})}, {\bf eo\-Real\-Vector\-Bounds} {\rm (p.\,\pageref{classeo_real_vector_bounds_a9})}, {\bf eo\-Rng} {\rm (p.\,\pageref{classeo_rng_a16})}, {\bf Dummy} {\rm (p.\,\pageref{struct_dummy_a1})}, {\bf Dummy} {\rm (p.\,\pageref{struct_dummy_a2})}, {\bf Dummy} {\rm (p.\,\pageref{struct_dummy_a3})}, {\bf Dummy} {\rm (p.\,\pageref{struct_dummy_a4})}, {\bf EO$<$ double $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ EOT::Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ Fit\-T $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ phenotype $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ fitness\-T $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ Fit $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ FType $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ fitness\_\-type $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf EO$<$ Py\-Fitness $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}, {\bf eo\-Pop$<$ Py\-EO $>$} {\rm (p.\,\pageref{classeo_pop_a18})}, {\bf eo\-Pop$<$ Dummy $>$} {\rm (p.\,\pageref{classeo_pop_a18})}, {\bf eo\-Vector$<$ Fit, double $>$} {\rm (p.\,\pageref{classeo_vector_a4})}, {\bf eo\-Vector$<$ Fit\-T, double $>$} {\rm (p.\,\pageref{classeo_vector_a4})}, and {\bf eo\-Vector$<$ Fit\-T, bool $>$} {\rm (p.\,\pageref{classeo_vector_a4})}. - -Referenced by eo\-Real\-Vector\-Bounds::print\-On(), eo\-General\-Real\-Bounds::print\-On(), eo\-General\-Int\-Bounds::print\-On(), and eo\-State::save(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Printable.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_procedure_counter.eps b/trunk/paradiseo-eo/doc/latex/classeo_procedure_counter.eps deleted file mode 100644 index 4555bbb3a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_procedure_counter.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 269.058 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.85833 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoProcedureCounter< Procedure >) cw -(eoValueParam< unsigned long >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoProcedureCounter< Procedure >) 0 0 box - (eoValueParam< unsigned long >) 0 1 box - (eoParam) 0 2 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_procedure_counter.tex b/trunk/paradiseo-eo/doc/latex/classeo_procedure_counter.tex deleted file mode 100644 index 7cbf615f7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_procedure_counter.tex +++ /dev/null @@ -1,65 +0,0 @@ -\section{eo\-Procedure\-Counter$<$ Procedure $>$ Class Template Reference} -\label{classeo_procedure_counter}\index{eoProcedureCounter@{eoProcedureCounter}} -Generic counter class that counts the number of times a procedure is used. - - -{\tt \#include $<$eo\-Counter.h$>$} - -Inheritance diagram for eo\-Procedure\-Counter$<$ Procedure $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_procedure_counter} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Procedure\-Counter} (Procedure \&\_\-proc, std::string \_\-name=\char`\"{}proc\_\-counter\char`\"{})\label{classeo_procedure_counter_a0} - -\item -Procedure::result\_\-type {\bf operator()} (void) -\begin{CompactList}\small\item\em Calls the embedded function and increments the counter. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Procedure \& {\bf proc}\label{classeo_procedure_counter_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Procedure$>$ class eo\-Procedure\-Counter$<$ Procedure $>$} - -Generic counter class that counts the number of times a procedure is used. - -Add a procedure through its ctor and use this class instead of it. - -It is derived from {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so you can add it to a monitor. - - - -Definition at line 41 of file eo\-Counter.h. - -\subsection{Member Function Documentation} -\index{eoProcedureCounter@{eo\-Procedure\-Counter}!operator()@{operator()}} -\index{operator()@{operator()}!eoProcedureCounter@{eo\-Procedure\-Counter}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Procedure$>$ Procedure::result\_\-type {\bf eo\-Procedure\-Counter}$<$ Procedure $>$::operator() (void)\hspace{0.3cm}{\tt [inline]}}\label{classeo_procedure_counter_a1} - - -Calls the embedded function and increments the counter. - -Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like \char`\"{}return void;\char`\"{} is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet. - -We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in {\bf EO}{\rm (p.\,\pageref{class_e_o})} most functors return void, it was chosen to support void. - -But also please let me know if you have a compiler that defines \_\-MSC\_\-VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then. - -You happy GNU (and other compiler) users will not have a problem with this.. - -Definition at line 64 of file eo\-Counter.h. - -References eo\-Value\-Param$<$ unsigned long $>$::value(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Counter.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_bin_op.eps deleted file mode 100644 index 691e4b7fa..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPropCombinedBinOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPropCombinedBinOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_bin_op.tex deleted file mode 100644 index 1fdfa4618..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_bin_op.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Prop\-Combined\-Bin\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_prop_combined_bin_op}\index{eoPropCombinedBinOp@{eoPropCombinedBinOp}} -COmbined Binary genetic operator: operator() has two operands, only the first one can be modified. - - -{\tt \#include $<$eo\-Proportional\-Combined\-Op.h$>$} - -Inheritance diagram for eo\-Prop\-Combined\-Bin\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_prop_combined_bin_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Prop\-Combined\-Bin\-Op} ({\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \&\_\-first, const double \_\-rate)\label{classeo_prop_combined_bin_op_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_prop_combined_bin_op_a1} - -\item -virtual void {\bf add} ({\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \&\_\-op, const double \_\-rate, bool \_\-verbose=false)\label{classeo_prop_combined_bin_op_a2} - -\item -virtual void {\bf operator()} ({\bf EOT} \&\_\-indi1, const {\bf EOT} \&\_\-indi2)\label{classeo_prop_combined_bin_op_a3} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ {\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf ops}\label{classeo_prop_combined_bin_op_r0} - -\item -std::vector$<$ double $>$ {\bf rates}\label{classeo_prop_combined_bin_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Prop\-Combined\-Bin\-Op$<$ EOT $>$} - -COmbined Binary genetic operator: operator() has two operands, only the first one can be modified. - - - -Definition at line 109 of file eo\-Proportional\-Combined\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Proportional\-Combined\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_mon_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_mon_op.eps deleted file mode 100644 index aa0013295..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_mon_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 128.205 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.9 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPropCombinedMonOp< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPropCombinedMonOp< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_mon_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_mon_op.tex deleted file mode 100644 index 3a7ec020c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_mon_op.tex +++ /dev/null @@ -1,56 +0,0 @@ -\section{eo\-Prop\-Combined\-Mon\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_prop_combined_mon_op}\index{eoPropCombinedMonOp@{eoPropCombinedMonOp}} -{\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})} is the monary operator: genetic operator that takes only one {\bf EO}{\rm (p.\,\pageref{class_e_o})} - - -{\tt \#include $<$eo\-Proportional\-Combined\-Op.h$>$} - -Inheritance diagram for eo\-Prop\-Combined\-Mon\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.58974cm]{classeo_prop_combined_mon_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Prop\-Combined\-Mon\-Op} ({\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-first, const double \_\-rate)\label{classeo_prop_combined_mon_op_a0} - -\begin{CompactList}\small\item\em Ctor from a \char`\"{}true\char`\"{} operator. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_prop_combined_mon_op_a1} - -\item -virtual void {\bf add} ({\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-op, const double \_\-rate, bool \_\-verbose=false)\label{classeo_prop_combined_mon_op_a2} - -\item -virtual void {\bf print\-On} (std::ostream \&\_\-os)\label{classeo_prop_combined_mon_op_a3} - -\item -virtual bool {\bf operator()} ({\bf EOT} \&\_\-indi)\label{classeo_prop_combined_mon_op_a4} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -std::vector$<$ {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf ops}\label{classeo_prop_combined_mon_op_p0} - -\item -std::vector$<$ double $>$ {\bf rates}\label{classeo_prop_combined_mon_op_p1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Prop\-Combined\-Mon\-Op$<$ EOT $>$} - -{\bf eo\-Mon\-Op}{\rm (p.\,\pageref{classeo_mon_op})} is the monary operator: genetic operator that takes only one {\bf EO}{\rm (p.\,\pageref{class_e_o})} - -now accepts generic operators - - - -Definition at line 58 of file eo\-Proportional\-Combined\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Proportional\-Combined\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_quad_op.eps deleted file mode 100644 index b9e2fb4ff..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPropCombinedQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPropCombinedQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_quad_op.tex deleted file mode 100644 index 6ac4e144c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_prop_combined_quad_op.tex +++ /dev/null @@ -1,56 +0,0 @@ -\section{eo\-Prop\-Combined\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_prop_combined_quad_op}\index{eoPropCombinedQuadOp@{eoPropCombinedQuadOp}} -Combined quad genetic operator: operator() has two operands, both can be modified. - - -{\tt \#include $<$eo\-Proportional\-Combined\-Op.h$>$} - -Inheritance diagram for eo\-Prop\-Combined\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_prop_combined_quad_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Prop\-Combined\-Quad\-Op} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-first, const double \_\-rate)\label{classeo_prop_combined_quad_op_a0} - -\begin{CompactList}\small\item\em Ctor from a true operator. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_prop_combined_quad_op_a1} - -\item -virtual void {\bf add} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-op, const double \_\-rate, bool \_\-verbose=false)\label{classeo_prop_combined_quad_op_a2} - -\item -virtual void {\bf print\-On} (std::ostream \&\_\-os)\label{classeo_prop_combined_quad_op_a3} - -\item -virtual bool {\bf operator()} ({\bf EOT} \&\_\-indi1, {\bf EOT} \&\_\-indi2)\label{classeo_prop_combined_quad_op_a4} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ {\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ $\ast$ $>$ {\bf ops}\label{classeo_prop_combined_quad_op_r0} - -\item -std::vector$<$ double $>$ {\bf rates}\label{classeo_prop_combined_quad_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Prop\-Combined\-Quad\-Op$<$ EOT $>$} - -Combined quad genetic operator: operator() has two operands, both can be modified. - -generic operators are now allowed: there are imbedded into the corresponding \char`\"{}true\char`\"{} operator - - - -Definition at line 163 of file eo\-Proportional\-Combined\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Proportional\-Combined\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_prop_g_a_gen_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_prop_g_a_gen_op.eps deleted file mode 100644 index 655e3aa2e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_prop_g_a_gen_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.0125 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.49375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoPropGAGenOp< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoPropGAGenOp< EOT >) 0.5 0 box - (eoGenOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< eoPopulator< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_prop_g_a_gen_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_prop_g_a_gen_op.tex deleted file mode 100644 index 121ce2584..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_prop_g_a_gen_op.tex +++ /dev/null @@ -1,66 +0,0 @@ -\section{eo\-Prop\-GAGen\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_prop_g_a_gen_op}\index{eoPropGAGenOp@{eoPropGAGenOp}} -$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ eo\-Prop\-GAGen\-Op (for Simple GA, but Proportional) choice between Crossover, mutation or cloining with respect to given relatve weights - - -{\tt \#include $<$eo\-Prop\-GAGen\-Op.h$>$} - -Inheritance diagram for eo\-Prop\-GAGen\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.54835cm]{classeo_prop_g_a_gen_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Prop\-GAGen\-Op} (double \_\-w\-Clone, {\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-cross, double \_\-w\-Cross, {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-mut, double \_\-w\-Mut)\label{classeo_prop_g_a_gen_op_a0} - -\begin{CompactList}\small\item\em Ctor from $\ast$ weight of clone $\ast$ crossover (with weight) $\ast$ mutation (with weight). \item\end{CompactList}\item -virtual void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_prop_g_a_gen_op_a1} - -\begin{CompactList}\small\item\em do the job: delegate to op \item\end{CompactList}\item -virtual unsigned {\bf max\_\-production} (void)\label{classeo_prop_g_a_gen_op_a2} - -\begin{CompactList}\small\item\em inherited from {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_prop_g_a_gen_op_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf w\-Clone}\label{classeo_prop_g_a_gen_op_r0} - -\item -{\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \& {\bf cross}\label{classeo_prop_g_a_gen_op_r1} - -\item -double {\bf w\-Cross}\label{classeo_prop_g_a_gen_op_r2} - -\item -{\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \& {\bf mut}\label{classeo_prop_g_a_gen_op_r3} - -\item -double {\bf w\-Mut}\label{classeo_prop_g_a_gen_op_r4} - -\item -{\bf eo\-Proportional\-Op}$<$ {\bf EOT} $>$ {\bf prop\-Op}\label{classeo_prop_g_a_gen_op_r5} - -\item -{\bf eo\-Mon\-Clone\-Op}$<$ {\bf EOT} $>$ {\bf mon\-Clone}\label{classeo_prop_g_a_gen_op_r6} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Prop\-GAGen\-Op$<$ EOT $>$} - -$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ eo\-Prop\-GAGen\-Op (for Simple GA, but Proportional) choice between Crossover, mutation or cloining with respect to given relatve weights - - - -Definition at line 42 of file eo\-Prop\-GAGen\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Prop\-GAGen\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_proportional_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_proportional_op.eps deleted file mode 100644 index 7eae97c83..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_proportional_op.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 113.766 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.395 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoProportionalOp< EOT >) cw -(eoOpContainer< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoProportionalOp< EOT >) 0.5 0 box - (eoOpContainer< EOT >) 0.5 1 box - (eoGenOp< EOT >) 0.5 2 box - (eoOp< EOT >) 0 3 box - (eoUF< eoPopulator< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_proportional_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_proportional_op.tex deleted file mode 100644 index fc20a3816..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_proportional_op.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Proportional\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_proportional_op}\index{eoProportionalOp@{eoProportionalOp}} -The proportional versions: easy! - - -{\tt \#include $<$eo\-Op\-Container.h$>$} - -Inheritance diagram for eo\-Proportional\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.18544cm]{classeo_proportional_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_proportional_op_a0} - -\begin{CompactList}\small\item\em the function that will do the work \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_proportional_op_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Proportional\-Op$<$ EOT $>$} - -The proportional versions: easy! - - - -Definition at line 135 of file eo\-Op\-Container.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op\-Container.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_proportional_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_proportional_select.eps deleted file mode 100644 index cf2643028..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_proportional_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoProportionalSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoProportionalSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_proportional_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_proportional_select.tex deleted file mode 100644 index 3c74a6c60..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_proportional_select.tex +++ /dev/null @@ -1,53 +0,0 @@ -\section{eo\-Proportional\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_proportional_select}\index{eoProportionalSelect@{eoProportionalSelect}} -eo\-Proportional\-Select: select an individual proportional to her stored fitness value - - -{\tt \#include $<$eo\-Proportional\-Select.h$>$} - -Inheritance diagram for eo\-Proportional\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_proportional_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Proportional\-Select} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&pop={\bf eo\-Pop}$<$ {\bf EOT} $>$())\label{classeo_proportional_select_a0} - -\begin{CompactList}\small\item\em Sanity check. \item\end{CompactList}\item -void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_proportional_select_a1} - -\begin{CompactList}\small\item\em virtual function to setup some population stats (for instance eo\-Proportional can benefit greatly from this) \item\end{CompactList}\item -const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_proportional_select_a2} - -\begin{CompactList}\small\item\em do the selection, \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ typename EOT::Fitness $>$ {\bf Fit\-Vec}\label{classeo_proportional_select_y0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Fit\-Vec {\bf cumulative}\label{classeo_proportional_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Proportional\-Select$<$ EOT $>$} - -eo\-Proportional\-Select: select an individual proportional to her stored fitness value - -Changed the algorithm to make use of a cumulative array of fitness scores, This changes the algorithm from O(n) per call to O(log n) per call. (MK) - - - -Definition at line 45 of file eo\-Proportional\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Proportional\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad2_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_quad2_bin_op.eps deleted file mode 100644 index c67d1adbf..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad2_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoQuad2BinOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoQuad2BinOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad2_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_quad2_bin_op.tex deleted file mode 100644 index 5c7a9c2b9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad2_bin_op.tex +++ /dev/null @@ -1,58 +0,0 @@ -\section{eo\-Quad2Bin\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_quad2_bin_op}\index{eoQuad2BinOp@{eoQuad2BinOp}} -Turning an {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} into an {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})}: simply don't touch the second arg! - - -{\tt \#include $<$eo\-Op.h$>$} - -Inheritance diagram for eo\-Quad2Bin\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_quad2_bin_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Quad2Bin\-Op} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-quad\-Op) -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, const {\bf EOT} \&\_\-eo2)\label{classeo_quad2_bin_op_a1} - -\begin{CompactList}\small\item\em Operator() simply calls embedded quad\-Op operator() with dummy second arg. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \& {\bf quad\-Op}\label{classeo_quad2_bin_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Quad2Bin\-Op$<$ EOT $>$} - -Turning an {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} into an {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})}: simply don't touch the second arg! - - - -Definition at line 143 of file eo\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoQuad2BinOp@{eo\-Quad2Bin\-Op}!eoQuad2BinOp@{eoQuad2BinOp}} -\index{eoQuad2BinOp@{eoQuad2BinOp}!eoQuad2BinOp@{eo\-Quad2Bin\-Op}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Quad2Bin\-Op}$<$ {\bf EOT} $>$::{\bf eo\-Quad2Bin\-Op} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \& {\em \_\-quad\-Op})\hspace{0.3cm}{\tt [inline]}}\label{classeo_quad2_bin_op_a0} - - -Ctor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-quad\-Op}]the {\bf eo\-Quad\-Op}{\rm (p.\,\pageref{classeo_quad_op})} to be transformed \end{description} -\end{Desc} - - -Definition at line 149 of file eo\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad_clone_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_quad_clone_op.eps deleted file mode 100644 index 5c5e35a71..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad_clone_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoQuadCloneOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoQuadCloneOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad_clone_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_quad_clone_op.tex deleted file mode 100644 index 7eeb9630d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad_clone_op.tex +++ /dev/null @@ -1,39 +0,0 @@ -\section{eo\-Quad\-Clone\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_quad_clone_op}\index{eoQuadCloneOp@{eoQuadCloneOp}} -Quad clone: two operands, both could be modified - but are not! - - -{\tt \#include $<$eo\-Clone\-Ops.h$>$} - -Inheritance diagram for eo\-Quad\-Clone\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_quad_clone_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Quad\-Clone\-Op} ()\label{classeo_quad_clone_op_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_quad_clone_op_a1} - -\item -virtual bool {\bf operator()} ({\bf EOT} \&, {\bf EOT} \&)\label{classeo_quad_clone_op_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Quad\-Clone\-Op$<$ EOT $>$} - -Quad clone: two operands, both could be modified - but are not! - - - -Definition at line 69 of file eo\-Clone\-Ops.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Clone\-Ops.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad_distance.eps b/trunk/paradiseo-eo/doc/latex/classeo_quad_distance.eps deleted file mode 100644 index 57c986a4e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad_distance.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 119.048 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.2 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoQuadDistance< EOT >) cw -(eoDistance< EOT >) cw -(eoBF< const EOT &, const EOT &, double >) cw -(eoFunctorBase) cw -(binary_function< const EOT &, const EOT &, double >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoQuadDistance< EOT >) 0.5 0 box - (eoDistance< EOT >) 0.5 1 box - (eoBF< const EOT &, const EOT &, double >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const EOT &, const EOT &, double >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad_distance.tex b/trunk/paradiseo-eo/doc/latex/classeo_quad_distance.tex deleted file mode 100644 index bf792c2e5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad_distance.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Quad\-Distance$<$ EOT $>$ Class Template Reference} -\label{classeo_quad_distance}\index{eoQuadDistance@{eoQuadDistance}} -This is a generic class for Euclidain distance (L2 norm) computation: assumes the 2 things are std::vectors of something that is double-castable. - - -{\tt \#include $<$eo\-Distance.h$>$} - -Inheritance diagram for eo\-Quad\-Distance$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.33333cm]{classeo_quad_distance} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -double {\bf operator()} (const {\bf EOT} \&\_\-v1, const {\bf EOT} \&\_\-v2)\label{classeo_quad_distance_a0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Quad\-Distance$<$ EOT $>$} - -This is a generic class for Euclidain distance (L2 norm) computation: assumes the 2 things are std::vectors of something that is double-castable. - - - -Definition at line 44 of file eo\-Distance.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Distance.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad_gen_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_quad_gen_op.eps deleted file mode 100644 index cb88a554b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad_gen_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.0125 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.49375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoQuadGenOp< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoQuadGenOp< EOT >) 0.5 0 box - (eoGenOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< eoPopulator< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad_gen_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_quad_gen_op.tex deleted file mode 100644 index 3767c07e4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad_gen_op.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Quad\-Gen\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_quad_gen_op}\index{eoQuadGenOp@{eoQuadGenOp}} -Wrapper for quadop: easy as pie. - - -{\tt \#include $<$eo\-Gen\-Op.h$>$} - -Inheritance diagram for eo\-Quad\-Gen\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.54835cm]{classeo_quad_gen_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Quad\-Gen\-Op} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-op)\label{classeo_quad_gen_op_a0} - -\item -unsigned {\bf max\_\-production} (void)\label{classeo_quad_gen_op_a1} - -\begin{CompactList}\small\item\em Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \item\end{CompactList}\item -void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_quad_gen_op_a2} - -\begin{CompactList}\small\item\em the function that will do the work \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_quad_gen_op_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \& {\bf op}\label{classeo_quad_gen_op_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Quad\-Gen\-Op$<$ EOT $>$} - -Wrapper for quadop: easy as pie. - - - -Definition at line 157 of file eo\-Gen\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Gen\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_quad_op.eps deleted file mode 100644 index abceb399e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad_op.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 68.0272 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 7.35 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoQuadOp< EOType >) cw -(eoOp< EOType >) cw -(eoBF< EOType &, EOType &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOType &, EOType &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoQuadOp< EOType >) 0.5 0 box - (eoOp< EOType >) 0 1 box - (eoBF< EOType &, EOType &, bool >) 1 1 box - (eoFunctorBase) 0.5 2 box - (binary_function< EOType &, EOType &, bool >) 1.5 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -1 1.5 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_quad_op.tex deleted file mode 100644 index 4d94ce4a4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_quad_op.tex +++ /dev/null @@ -1,38 +0,0 @@ -\section{eo\-Quad\-Op$<$ EOType $>$ Class Template Reference} -\label{classeo_quad_op}\index{eoQuadOp@{eoQuadOp}} -Quad genetic operator: subclasses {\bf eo\-Op}{\rm (p.\,\pageref{classeo_op})}, and defines basically the operator() with two operands, both can be modified. - - -{\tt \#include $<$eo\-Op.h$>$} - -Inheritance diagram for eo\-Quad\-Op$<$ EOType $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.90476cm]{classeo_quad_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Quad\-Op} ()\label{classeo_quad_op_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_quad_op_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOType$>$ class eo\-Quad\-Op$<$ EOType $>$} - -Quad genetic operator: subclasses {\bf eo\-Op}{\rm (p.\,\pageref{classeo_op})}, and defines basically the operator() with two operands, both can be modified. - -When defining your own, make sure that you return a boolean value indicating that you have changed the content. - - - -Definition at line 132 of file eo\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_random_reduce.eps b/trunk/paradiseo-eo/doc/latex/classeo_random_reduce.eps deleted file mode 100644 index 322b83894..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_random_reduce.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 123.457 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.05 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRandomReduce< EOT >) cw -(eoReduce< EOT >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, unsigned, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRandomReduce< EOT >) 0.5 0 box - (eoReduce< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, unsigned, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, unsigned, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_random_reduce.tex b/trunk/paradiseo-eo/doc/latex/classeo_random_reduce.tex deleted file mode 100644 index c4a556076..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_random_reduce.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Random\-Reduce$<$ EOT $>$ Class Template Reference} -\label{classeo_random_reduce}\index{eoRandomReduce@{eoRandomReduce}} -random truncation - - -{\tt \#include $<$eo\-Reduce.h$>$} - -Inheritance diagram for eo\-Random\-Reduce$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.45679cm]{classeo_random_reduce} -\end{center} -\end{figure} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, unsigned \_\-newsize)\label{classeo_random_reduce_d0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Random\-Reduce$<$ EOT $>$} - -random truncation - - - -Definition at line 64 of file eo\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_random_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_random_select.eps deleted file mode 100644 index fe029e631..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_random_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRandomSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRandomSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_random_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_random_select.tex deleted file mode 100644 index ee29f5e12..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_random_select.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Random\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_random_select}\index{eoRandomSelect@{eoRandomSelect}} -eo\-Random\-Select: a selection method that selects ONE individual randomly - - -{\tt \#include $<$eo\-Random\-Select.h$>$} - -Inheritance diagram for eo\-Random\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_random_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_random_select_a0} - -\begin{CompactList}\small\item\em not a big deal!!! \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Random\-Select$<$ EOT $>$} - -eo\-Random\-Select: a selection method that selects ONE individual randomly - - - -Definition at line 44 of file eo\-Random\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Random\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_random_split.eps b/trunk/paradiseo-eo/doc/latex/classeo_random_split.eps deleted file mode 100644 index b67274c50..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_random_split.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRandomSplit< EOT >) cw -(eoReduceSplit< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRandomSplit< EOT >) 0.5 0 box - (eoReduceSplit< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_random_split.tex b/trunk/paradiseo-eo/doc/latex/classeo_random_split.tex deleted file mode 100644 index 5266808dc..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_random_split.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Random\-Split$<$ EOT $>$ Class Template Reference} -\label{classeo_random_split}\index{eoRandomSplit@{eoRandomSplit}} -random truncation - batch version - - -{\tt \#include $<$eo\-Reduce\-Split.h$>$} - -Inheritance diagram for eo\-Random\-Split$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_random_split} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Random\-Split} ({\bf eo\-How\-Many} \_\-how\-Many, bool \_\-return\-Eliminated=false)\label{classeo_random_split_a0} - -\begin{CompactList}\small\item\em Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-eliminated)\label{classeo_random_split_a1} - -\begin{CompactList}\small\item\em do the job \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_random_split_r0} - -\item -bool {\bf return\-Eliminated}\label{classeo_random_split_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Random\-Split$<$ EOT $>$} - -random truncation - batch version - - - -Definition at line 124 of file eo\-Reduce\-Split.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Split.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_ranking.eps b/trunk/paradiseo-eo/doc/latex/classeo_ranking.eps deleted file mode 100644 index ff9bb679e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_ranking.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRanking< EOT >) cw -(eoPerf2Worth< EOT >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< double > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRanking< EOT >) 1.25 0 box - (eoPerf2Worth< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, void >) 0.5 2 box - (eoValueParam< std::vector< double > >) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, void >) 1 3 box - (eoParam) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_ranking.tex b/trunk/paradiseo-eo/doc/latex/classeo_ranking.tex deleted file mode 100644 index 83f18dbad..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_ranking.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Ranking$<$ EOT $>$ Class Template Reference} -\label{classeo_ranking}\index{eoRanking@{eoRanking}} -An instance of eo\-Perf\-From\-Worth COmputes the ranked fitness: fitnesses range in [m,M] with m=2-pressure/pop\-Size and M=pressure/pop\-Size. - - -{\tt \#include $<$eo\-Ranking.h$>$} - -Inheritance diagram for eo\-Ranking$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_ranking} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Ranking} (double \_\-p=2.0, double \_\-e=1.0)\label{classeo_ranking_a0} - -\item -int {\bf lookfor} (const {\bf EOT} $\ast$\_\-eo, const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_ranking_a1} - -\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_ranking_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf pressure}\label{classeo_ranking_r0} - -\item -double {\bf exponent}\label{classeo_ranking_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Ranking$<$ EOT $>$} - -An instance of eo\-Perf\-From\-Worth COmputes the ranked fitness: fitnesses range in [m,M] with m=2-pressure/pop\-Size and M=pressure/pop\-Size. - -in between, the progression depstd::ends on exponent (linear if 1). - - - -Definition at line 38 of file eo\-Ranking.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Ranking.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_ranking_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_ranking_select.eps deleted file mode 100644 index 6b6610824..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_ranking_select.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 173.41 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.88333 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 6 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRankingSelect< EOT >) cw -(eoRouletteWorthSelect< EOT, double >) cw -(eoSelectFromWorth< EOT, double >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRankingSelect< EOT >) 0.5 0 box - (eoRouletteWorthSelect< EOT, double >) 0.5 1 box - (eoSelectFromWorth< EOT, double >) 0.5 2 box - (eoSelectOne< EOT >) 0.5 3 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 4 box - (eoFunctorBase) 0 5 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 5 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -1 0.5 4 in -solid -0 0.5 4 out -solid -0 1 5 conn -solid -1 0 5 in -solid -1 1 5 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_ranking_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_ranking_select.tex deleted file mode 100644 index 57907b984..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_ranking_select.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{eo\-Ranking\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_ranking_select}\index{eoRankingSelect@{eoRankingSelect}} -eo\-Ranking\-Select: select an individual by roulette wheel on its rank is an {\bf eo\-Roulette\-Worth\-Select}{\rm (p.\,\pageref{classeo_roulette_worth_select})}, i.e. - - -{\tt \#include $<$eo\-Ranking\-Select.h$>$} - -Inheritance diagram for eo\-Ranking\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4.85549cm]{classeo_ranking_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Ranking\-Select} (double \_\-p=2.0, double \_\-e=1.0) -\begin{CompactList}\small\item\em Ctor:. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Ranking}$<$ {\bf EOT} $>$ {\bf ranking}\label{classeo_ranking_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Ranking\-Select$<$ EOT $>$} - -eo\-Ranking\-Select: select an individual by roulette wheel on its rank is an {\bf eo\-Roulette\-Worth\-Select}{\rm (p.\,\pageref{classeo_roulette_worth_select})}, i.e. - -a selector using a std::vector of worthes rather than the raw fitness (see {\bf eo\-Select\-From\-Worth.h}{\rm (p.\,\pageref{eo_select_from_worth_8h})}) uses an internal {\bf eo\-Ranking}{\rm (p.\,\pageref{classeo_ranking})} object which is an {\bf eo\-Perf2Worth$<$EOT, double$>$}{\rm (p.\,\pageref{classeo_perf2_worth})} - - - -Definition at line 41 of file eo\-Ranking\-Select.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoRankingSelect@{eo\-Ranking\-Select}!eoRankingSelect@{eoRankingSelect}} -\index{eoRankingSelect@{eoRankingSelect}!eoRankingSelect@{eo\-Ranking\-Select}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Ranking\-Select}$<$ {\bf EOT} $>$::{\bf eo\-Ranking\-Select} (double {\em \_\-p} = {\tt 2.0}, double {\em \_\-e} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_ranking_select_a0} - - -Ctor:. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-p}]the selective pressure, should be in [1,2] (2 is the default) \item[{\em \_\-e}]exponent (1 == linear) \end{description} -\end{Desc} - - -Definition at line 48 of file eo\-Ranking\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Ranking\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real.eps b/trunk/paradiseo-eo/doc/latex/classeo_real.eps deleted file mode 100644 index 240ba374e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 203.252 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.46 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoReal< FitT >) cw -(eoVector< FitT, double >) cw -(EO< FitT >) cw -(vector< double >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoReal< FitT >) 1 0 box - (eoVector< FitT, double >) 1 1 box - (EO< FitT >) 0.5 2 box - (vector< double >) 1.5 2 box - (eoObject) 0 3 box - (eoPersistent) 1 3 box - (eoPrintable) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 1.5 2 in -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real.tex b/trunk/paradiseo-eo/doc/latex/classeo_real.tex deleted file mode 100644 index 20bd223f9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Real$<$ Fit\-T $>$ Class Template Reference} -\label{classeo_real}\index{eoReal@{eoReal}} -eo\-Real: implementation of simple real-valued chromosome. - - -{\tt \#include $<$eo\-Real.h$>$} - -Inheritance diagram for eo\-Real$<$ Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_real} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real} (unsigned size=0, double value=0.0) -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_real_a1} - -\begin{CompactList}\small\item\em My class name. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T$>$ class eo\-Real$<$ Fit\-T $>$} - -eo\-Real: implementation of simple real-valued chromosome. - -based on {\bf eo\-Vector}{\rm (p.\,\pageref{classeo_vector})} class - - - -Definition at line 37 of file eo\-Real.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoReal@{eo\-Real}!eoReal@{eoReal}} -\index{eoReal@{eoReal}!eoReal@{eo\-Real}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T$>$ {\bf eo\-Real}$<$ {\bf Fit\-T} $>$::{\bf eo\-Real} (unsigned {\em size} = {\tt 0}, double {\em value} = {\tt 0.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_real_a0} - - -(Default) Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em size}]Size of the std::vector \end{description} -\end{Desc} - - -Definition at line 45 of file eo\-Real.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_above_bound.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_above_bound.eps deleted file mode 100644 index 8efca1bf4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_above_bound.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 606.061 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.825 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealAboveBound) cw -(eoRealBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealAboveBound) 0 0 box - (eoRealBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_above_bound.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_above_bound.tex deleted file mode 100644 index ba7eea93e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_above_bound.tex +++ /dev/null @@ -1,112 +0,0 @@ -\section{eo\-Real\-Above\-Bound Class Reference} -\label{classeo_real_above_bound}\index{eoRealAboveBound@{eoRealAboveBound}} -An eo\-Real\-Bound bounded from above only. - - -{\tt \#include $<$eo\-Real\-Bounds.h$>$} - -Inheritance diagram for eo\-Real\-Above\-Bound::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_real_above_bound} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Above\-Bound} (double \_\-max=0)\label{classeo_real_above_bound_a1} - -\begin{CompactList}\small\item\em Simple bounds = minimum. \item\end{CompactList}\item -virtual double {\bf maximum} () const \label{classeo_real_above_bound_a2} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf minimum} () const \label{classeo_real_above_bound_a3} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf range} () const \label{classeo_real_above_bound_a4} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_real_above_bound_a5} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds ::exception if unbounded \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_real_above_bound_a6} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_real_above_bound_a7} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_real_above_bound_a8} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_real_above_bound_a9} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double \_\-r) const \label{classeo_real_above_bound_a10} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&\_\-r) const \label{classeo_real_above_bound_a11} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&\_\-r) const \label{classeo_real_above_bound_a12} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual {\bf eo\-Real\-Bounds} $\ast$ {\bf dup} () const \label{classeo_real_above_bound_a15} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rep\-Maximum}\label{classeo_real_above_bound_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -An eo\-Real\-Bound bounded from above only. - - - -Definition at line 409 of file eo\-Real\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoRealAboveBound@{eo\-Real\-Above\-Bound}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoRealAboveBound@{eo\-Real\-Above\-Bound}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-Above\-Bound::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_above_bound_a13} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. but reading should not be done here, because of bound problems see {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 477 of file eo\-Real\-Bounds.h.\index{eoRealAboveBound@{eo\-Real\-Above\-Bound}!printOn@{printOn}} -\index{printOn@{printOn}!eoRealAboveBound@{eo\-Real\-Above\-Bound}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-Above\-Bound::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_above_bound_a14} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 486 of file eo\-Real\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_base_vector_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_base_vector_bounds.eps deleted file mode 100644 index 3c0fc4880..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_base_vector_bounds.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 359.281 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.39167 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealBaseVectorBounds) cw -(eoRealVectorBounds) cw -(eoRealVectorNoBounds) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealBaseVectorBounds) 0 2 box - (eoRealVectorBounds) 0 1 box - (eoRealVectorNoBounds) 0 0 box - -% ----- relations ----- - -solid -1 0 1.25 out -solid -0 0 1.75 in -solid -1 0 0.25 out -solid -0 0 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_base_vector_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_base_vector_bounds.tex deleted file mode 100644 index 80bd07ca7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_base_vector_bounds.tex +++ /dev/null @@ -1,118 +0,0 @@ -\section{eo\-Real\-Base\-Vector\-Bounds Class Reference} -\label{classeo_real_base_vector_bounds}\index{eoRealBaseVectorBounds@{eoRealBaseVectorBounds}} -Vector type for bounds (see {\bf eo\-Real\-Bounds.h}{\rm (p.\,\pageref{eo_real_bounds_8h})} for scalar types) ------------ Class {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} implements the std::vectorized version: it is basically a std::vector of {\bf eo\-Real\-Bounds}{\rm (p.\,\pageref{classeo_real_bounds})} $\ast$ and forwards all request to the elements of the std::vector. - - -{\tt \#include $<$eo\-Real\-Vector\-Bounds.h$>$} - -Inheritance diagram for eo\-Real\-Base\-Vector\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_real_base_vector_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Base\-Vector\-Bounds} ()\label{classeo_real_base_vector_bounds_a1} - -\begin{CompactList}\small\item\em Default Ctor. \item\end{CompactList}\item -{\bf eo\-Real\-Base\-Vector\-Bounds} (unsigned \_\-dim, {\bf eo\-Real\-Bounds} \&\_\-bounds)\label{classeo_real_base_vector_bounds_a2} - -\begin{CompactList}\small\item\em Ctor: same bounds for everybody, given as an {\bf eo\-Real\-Bounds}{\rm (p.\,\pageref{classeo_real_bounds})}. \item\end{CompactList}\item -{\bf eo\-Real\-Base\-Vector\-Bounds} ({\bf eo\-Real\-Bounds} \&\_\-xbounds, {\bf eo\-Real\-Bounds} \&\_\-ybounds)\label{classeo_real_base_vector_bounds_a3} - -\begin{CompactList}\small\item\em Ctor, particular case of dim-2. \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (unsigned \_\-i)\label{classeo_real_base_vector_bounds_a4} - -\begin{CompactList}\small\item\em test: is i\_\-th component bounded \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (void)\label{classeo_real_base_vector_bounds_a5} - -\begin{CompactList}\small\item\em test: bounded iff all are bounded \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (unsigned \_\-i)\label{classeo_real_base_vector_bounds_a6} - -\begin{CompactList}\small\item\em Self-test: true iff i\_\-th component has no bounds at all. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void)\label{classeo_real_base_vector_bounds_a7} - -\begin{CompactList}\small\item\em Self-test: true iff all components have no bound at all. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (unsigned \_\-i)\label{classeo_real_base_vector_bounds_a8} - -\item -virtual bool {\bf is\-Max\-Bounded} (unsigned \_\-i)\label{classeo_real_base_vector_bounds_a9} - -\item -virtual void {\bf folds\-In\-Bounds} (unsigned \_\-i, double \&\_\-r)\label{classeo_real_base_vector_bounds_a10} - -\begin{CompactList}\small\item\em Folds a real value back into the bounds - i\_\-th component. \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (std::vector$<$ double $>$ \&\_\-v)\label{classeo_real_base_vector_bounds_a11} - -\begin{CompactList}\small\item\em Folds all variables of a std::vector of real values into the bounds. \item\end{CompactList}\item -virtual void {\bf truncate} (unsigned \_\-i, double \&\_\-r)\label{classeo_real_base_vector_bounds_a12} - -\begin{CompactList}\small\item\em Truncates a real value to the bounds - i\_\-th component. \item\end{CompactList}\item -virtual void {\bf truncate} (std::vector$<$ double $>$ \&\_\-v)\label{classeo_real_base_vector_bounds_a13} - -\begin{CompactList}\small\item\em truncates all variables of a std::vector of real values to the bounds \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (unsigned \_\-i, double \_\-r)\label{classeo_real_base_vector_bounds_a14} - -\begin{CompactList}\small\item\em test: is i\_\-th component within the bounds? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (std::vector$<$ double $>$ \_\-v)\label{classeo_real_base_vector_bounds_a15} - -\begin{CompactList}\small\item\em test: are ALL components within the bounds? \item\end{CompactList}\item -virtual double {\bf minimum} (unsigned \_\-i)\label{classeo_real_base_vector_bounds_a16} - -\begin{CompactList}\small\item\em Accessors: will raise an std::exception if these do not exist. \item\end{CompactList}\item -virtual double {\bf maximum} (unsigned \_\-i)\label{classeo_real_base_vector_bounds_a17} - -\item -virtual double {\bf range} (unsigned \_\-i)\label{classeo_real_base_vector_bounds_a18} - -\item -virtual double {\bf average\-Range} ()\label{classeo_real_base_vector_bounds_a19} - -\begin{CompactList}\small\item\em Computes the average range An std::exception will be raised if one of the component is unbounded. \item\end{CompactList}\item -virtual double {\bf uniform} (unsigned \_\-i, {\bf eo\-Rng} \&\_\-rng=eo::rng)\label{classeo_real_base_vector_bounds_a20} - -\begin{CompactList}\small\item\em Generates a random number in i\_\-th range An std::exception will be raised if one of the component is unbounded. \item\end{CompactList}\item -void {\bf uniform} (std::vector$<$ double $>$ \&\_\-v, {\bf eo\-Rng} \&\_\-rng=eo::rng)\label{classeo_real_base_vector_bounds_a21} - -\begin{CompactList}\small\item\em fills a std::vector with uniformly chosen variables in bounds An std::exception will be raised if one of the component is unbounded \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Vector type for bounds (see {\bf eo\-Real\-Bounds.h}{\rm (p.\,\pageref{eo_real_bounds_8h})} for scalar types) ------------ Class {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} implements the std::vectorized version: it is basically a std::vector of {\bf eo\-Real\-Bounds}{\rm (p.\,\pageref{classeo_real_bounds})} $\ast$ and forwards all request to the elements of the std::vector. - -This file also contains the global variables and eo\-Dummy\-Vector\-No\-Bounds that are used as defaults in ctors (i.e. when no bounds are given, it is assumed unbounded values) - -THe 2 main classes defined here are - -eo\-Real\-Base\-Vector\-Bounds, base class that handles all useful functions {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} which derives from the preceding $\ast$and$\ast$ {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} and also has a mechanism for memory handling of the pointers it has to allocate - - - -Definition at line 58 of file eo\-Real\-Vector\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoRealBaseVectorBounds@{eo\-Real\-Base\-Vector\-Bounds}!printOn@{printOn}} -\index{printOn@{printOn}!eoRealBaseVectorBounds@{eo\-Real\-Base\-Vector\-Bounds}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-Base\-Vector\-Bounds::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_base_vector_bounds_a22} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Reimplemented in {\bf eo\-Real\-Vector\-Bounds} {\rm (p.\,\pageref{classeo_real_vector_bounds_a9})}. - -Definition at line 214 of file eo\-Real\-Vector\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Vector\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_below_bound.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_below_bound.eps deleted file mode 100644 index 2c3e4b22f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_below_bound.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 620.155 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.80625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealBelowBound) cw -(eoRealBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealBelowBound) 0 0 box - (eoRealBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_below_bound.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_below_bound.tex deleted file mode 100644 index 45d91b02c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_below_bound.tex +++ /dev/null @@ -1,112 +0,0 @@ -\section{eo\-Real\-Below\-Bound Class Reference} -\label{classeo_real_below_bound}\index{eoRealBelowBound@{eoRealBelowBound}} -an eo\-Real\-Bound bounded from below only - - -{\tt \#include $<$eo\-Real\-Bounds.h$>$} - -Inheritance diagram for eo\-Real\-Below\-Bound::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_real_below_bound} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Below\-Bound} (double \_\-min=0)\label{classeo_real_below_bound_a1} - -\begin{CompactList}\small\item\em Simple bounds = minimum. \item\end{CompactList}\item -virtual double {\bf minimum} () const \label{classeo_real_below_bound_a2} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf maximum} () const \label{classeo_real_below_bound_a3} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf range} () const \label{classeo_real_below_bound_a4} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_real_below_bound_a5} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds ::exception if unbounded \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_real_below_bound_a6} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_real_below_bound_a7} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_real_below_bound_a8} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_real_below_bound_a9} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double \_\-r) const \label{classeo_real_below_bound_a10} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&\_\-r) const \label{classeo_real_below_bound_a11} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&\_\-r) const \label{classeo_real_below_bound_a12} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual {\bf eo\-Real\-Bounds} $\ast$ {\bf dup} () const \label{classeo_real_below_bound_a15} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rep\-Minimum}\label{classeo_real_below_bound_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -an eo\-Real\-Bound bounded from below only - - - -Definition at line 315 of file eo\-Real\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoRealBelowBound@{eo\-Real\-Below\-Bound}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoRealBelowBound@{eo\-Real\-Below\-Bound}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-Below\-Bound::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_below_bound_a13} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. but reading should not be done here, because of bound problems see {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 382 of file eo\-Real\-Bounds.h.\index{eoRealBelowBound@{eo\-Real\-Below\-Bound}!printOn@{printOn}} -\index{printOn@{printOn}!eoRealBelowBound@{eo\-Real\-Below\-Bound}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-Below\-Bound::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_below_bound_a14} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 391 of file eo\-Real\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_bounds.eps deleted file mode 100644 index f4d3d4047..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_bounds.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 109.589 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.5625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 5 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealBounds) cw -(eoPersistent) cw -(eoPrintable) cw -(eoGeneralRealBounds) cw -(eoRealAboveBound) cw -(eoRealBelowBound) cw -(eoRealInterval) cw -(eoRealNoBounds) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealBounds) 2 1 box - (eoPersistent) 2 2 box - (eoPrintable) 2 3 box - (eoGeneralRealBounds) 0 0 box - (eoRealAboveBound) 1 0 box - (eoRealBelowBound) 2 0 box - (eoRealInterval) 3 0 box - (eoRealNoBounds) 4 0 box - -% ----- relations ----- - -solid -0 2 1 out -solid -1 2 2 in -solid -0 2 2 out -solid -1 2 3 in -solid -1 2 0.25 out -solid -0 4 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in -solid -0 4 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_bounds.tex deleted file mode 100644 index cb4bb9524..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_bounds.tex +++ /dev/null @@ -1,80 +0,0 @@ -\section{eo\-Real\-Bounds Class Reference} -\label{classeo_real_bounds}\index{eoRealBounds@{eoRealBounds}} -Defines bound classes for real numbers. - - -{\tt \#include $<$es/eo\-Real\-Bounds.h$>$} - -Inheritance diagram for eo\-Real\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.06849cm]{classeo_real_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual bool {\bf is\-Bounded} (void) const =0\label{classeo_real_bounds_a1} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const =0\label{classeo_real_bounds_a2} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const =0\label{classeo_real_bounds_a3} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const =0\label{classeo_real_bounds_a4} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double) const =0\label{classeo_real_bounds_a5} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&) const =0\label{classeo_real_bounds_a6} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&) const =0\label{classeo_real_bounds_a7} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual double {\bf minimum} () const =0\label{classeo_real_bounds_a8} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf maximum} () const =0\label{classeo_real_bounds_a9} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf range} () const =0\label{classeo_real_bounds_a10} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const =0\label{classeo_real_bounds_a11} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds ::exception if unbounded \item\end{CompactList}\item -virtual {\bf eo\-Real\-Bounds} $\ast$ {\bf dup} () const =0\label{classeo_real_bounds_a12} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Defines bound classes for real numbers. - -Scalar type: ------------ Basic class is eo\-Real\-Bounds, a pure virtual. - -The following pure virtual methods are to be used in mutations:\begin{itemize} -\item void folds\-In\-Bounds(double \&) that folds any value that falls out of the bounds back into the bounds, by bouncing on the limit (if any)\item bool is\-In\-Bounds(double) that simply says whether or not the argument is in the bounds\item void truncate(double \&) that set the argument to the bound value it it exceeds it\end{itemize} - - -So mutation can choose\begin{itemize} -\item iterate trying until they fall in bounds,\item only try once and \char`\"{}restd::pair\char`\"{} by using the folds\-In\-Bounds method\item only try once and restd::pair using the truncate method (will create a huge bias toward the bound if the soluiton is not far from the bounds)\end{itemize} - - -There is also a {\bf uniform()}{\rm (p.\,\pageref{classeo_real_bounds_a11})} method that generates a uniform value (if possible, i.e. if bounded) in the interval. - -Derived class are {\bf eo\-Real\-Interval}{\rm (p.\,\pageref{classeo_real_interval})} that holds a minimum and maximum value, {\bf eo\-Real\-No\-Bounds}{\rm (p.\,\pageref{classeo_real_no_bounds})} the \char`\"{}unbounded bounds\char`\"{} (-infinity, +infinity) {\bf eo\-Real\-Below\-Bound}{\rm (p.\,\pageref{classeo_real_below_bound})} the half-bounded interval [min, +infinity) {\bf eo\-Real\-Above\-Bound}{\rm (p.\,\pageref{classeo_real_above_bound})} the half-bounded interval (-infinity, max] - -THis file also contains the declaration of $\ast$the$\ast$ global object that is the unbounded bound - - - -Definition at line 75 of file eo\-Real\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_init_bounded.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_init_bounded.eps deleted file mode 100644 index 24692015f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_init_bounded.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 248.756 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.01 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealInitBounded< EOT >) cw -(eoInit< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -(eoEsChromInit< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealInitBounded< EOT >) 0.5 1 box - (eoInit< EOT >) 0.5 2 box - (eoUF< EOT &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< EOT &, void >) 1 4 box - (eoEsChromInit< EOT >) 0.5 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in -solid -1 0.5 0.25 out -solid -0 0.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_init_bounded.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_init_bounded.tex deleted file mode 100644 index 5f7af6633..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_init_bounded.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{eo\-Real\-Init\-Bounded$<$ EOT $>$ Class Template Reference} -\label{classeo_real_init_bounded}\index{eoRealInitBounded@{eoRealInitBounded}} -Simple initialization for any EOT that derives from std::vector$<$double$>$ uniformly in some bounds. - - -{\tt \#include $<$eo\-Real\-Init\-Bounded.h$>$} - -Inheritance diagram for eo\-Real\-Init\-Bounded$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_real_init_bounded} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Init\-Bounded} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds)\label{classeo_real_init_bounded_a0} - -\begin{CompactList}\small\item\em Ctor - from {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})}. \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_real_init_bounded_a1} - -\begin{CompactList}\small\item\em simply passes the argument to the uniform method of the bounds \item\end{CompactList}\item -virtual {\bf eo\-Real\-Vector\-Bounds} \& {\bf the\-Bounds} ()\label{classeo_real_init_bounded_a2} - -\begin{CompactList}\small\item\em accessor to the bounds \item\end{CompactList}\item -virtual unsigned {\bf size} ()\label{classeo_real_init_bounded_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Vector\-Bounds} \& {\bf bounds}\label{classeo_real_init_bounded_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Real\-Init\-Bounded$<$ EOT $>$} - -Simple initialization for any EOT that derives from std::vector$<$double$>$ uniformly in some bounds. - - - -Definition at line 40 of file eo\-Real\-Init\-Bounded.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Init\-Bounded.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_interval.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_interval.eps deleted file mode 100644 index 8fa0769be..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_interval.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 792.079 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.63125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealInterval) cw -(eoRealBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealInterval) 0 0 box - (eoRealBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_interval.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_interval.tex deleted file mode 100644 index 9f3a33466..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_interval.tex +++ /dev/null @@ -1,118 +0,0 @@ -\section{eo\-Real\-Interval Class Reference} -\label{classeo_real_interval}\index{eoRealInterval@{eoRealInterval}} -fully bounded eo\-Real\-Bound == interval - - -{\tt \#include $<$eo\-Real\-Bounds.h$>$} - -Inheritance diagram for eo\-Real\-Interval::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_real_interval} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Interval} (double \_\-min=0, double \_\-max=1)\label{classeo_real_interval_a1} - -\begin{CompactList}\small\item\em Simple bounds = minimum and maximum (allowed). \item\end{CompactList}\item -virtual double {\bf minimum} () const \label{classeo_real_interval_a2} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf maximum} () const \label{classeo_real_interval_a3} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf range} () const \label{classeo_real_interval_a4} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_real_interval_a5} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_real_interval_a6} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_real_interval_a7} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_real_interval_a8} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_real_interval_a9} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds ::exception if unbounded \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double \_\-r) const \label{classeo_real_interval_a10} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&\_\-r) const \label{classeo_real_interval_a11} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&\_\-r) const \label{classeo_real_interval_a12} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual {\bf eo\-Real\-Bounds} $\ast$ {\bf dup} () const \label{classeo_real_interval_a15} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rep\-Minimum}\label{classeo_real_interval_r0} - -\item -double {\bf rep\-Maximum}\label{classeo_real_interval_r1} - -\item -double {\bf rep\-Range}\label{classeo_real_interval_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -fully bounded eo\-Real\-Bound == interval - - - -Definition at line 199 of file eo\-Real\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoRealInterval@{eo\-Real\-Interval}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoRealInterval@{eo\-Real\-Interval}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-Interval::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_interval_a13} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. but reading should not be done here, because of bound problems see {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 286 of file eo\-Real\-Bounds.h.\index{eoRealInterval@{eo\-Real\-Interval}!printOn@{printOn}} -\index{printOn@{printOn}!eoRealInterval@{eo\-Real\-Interval}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-Interval::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_interval_a14} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 295 of file eo\-Real\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_no_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_no_bounds.eps deleted file mode 100644 index 1fcfba649..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_no_bounds.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 683.761 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.73125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealNoBounds) cw -(eoRealBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealNoBounds) 0 0 box - (eoRealBounds) 0 1 box - (eoPersistent) 0 2 box - (eoPrintable) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_no_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_no_bounds.tex deleted file mode 100644 index 46b413530..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_no_bounds.tex +++ /dev/null @@ -1,103 +0,0 @@ -\section{eo\-Real\-No\-Bounds Class Reference} -\label{classeo_real_no_bounds}\index{eoRealNoBounds@{eoRealNoBounds}} -A default class for unbounded variables. - - -{\tt \#include $<$eo\-Real\-Bounds.h$>$} - -Inheritance diagram for eo\-Real\-No\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_real_no_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual bool {\bf is\-Bounded} (void) const \label{classeo_real_no_bounds_a1} - -\begin{CompactList}\small\item\em Self-Test: true if $\ast$$\ast$$\ast$both$\ast$$\ast$$\ast$ a min and a max. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void) const \label{classeo_real_no_bounds_a2} - -\begin{CompactList}\small\item\em Self-Test: true if no min $\ast$$\ast$$\ast$and$\ast$$\ast$$\ast$ no max hence no further need to test/truncate/fold anything. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (void) const \label{classeo_real_no_bounds_a3} - -\begin{CompactList}\small\item\em Self-Test: bounded from below??? \item\end{CompactList}\item -virtual bool {\bf is\-Max\-Bounded} (void) const \label{classeo_real_no_bounds_a4} - -\begin{CompactList}\small\item\em Self-Test: bounded from above??? \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (double \&) const \label{classeo_real_no_bounds_a5} - -\begin{CompactList}\small\item\em Put value back into bounds - by folding back and forth. \item\end{CompactList}\item -virtual void {\bf truncate} (double \&) const \label{classeo_real_no_bounds_a6} - -\begin{CompactList}\small\item\em Put value back into bounds - by truncating to a boundary value. \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (double) const \label{classeo_real_no_bounds_a7} - -\begin{CompactList}\small\item\em Test on a value: is it in bounds? \item\end{CompactList}\item -virtual double {\bf minimum} () const \label{classeo_real_no_bounds_a8} - -\begin{CompactList}\small\item\em get minimum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf maximum} () const \label{classeo_real_no_bounds_a9} - -\begin{CompactList}\small\item\em get maximum value ::exception if does not exist \item\end{CompactList}\item -virtual double {\bf range} () const \label{classeo_real_no_bounds_a10} - -\begin{CompactList}\small\item\em get range ::exception if unbounded \item\end{CompactList}\item -virtual double {\bf uniform} ({\bf eo\-Rng} \&\_\-rng=eo::rng) const \label{classeo_real_no_bounds_a11} - -\begin{CompactList}\small\item\em random generator of uniform numbers in bounds ::exception if unbounded \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -virtual {\bf eo\-Real\-Bounds} $\ast$ {\bf dup} () const \label{classeo_real_no_bounds_a14} - -\begin{CompactList}\small\item\em for memory managements - ugly \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -A default class for unbounded variables. - - - -Definition at line 133 of file eo\-Real\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoRealNoBounds@{eo\-Real\-No\-Bounds}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoRealNoBounds@{eo\-Real\-No\-Bounds}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-No\-Bounds::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_no_bounds_a12} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. but reading should not be done here, because of bound problems see {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 171 of file eo\-Real\-Bounds.h.\index{eoRealNoBounds@{eo\-Real\-No\-Bounds}!printOn@{printOn}} -\index{printOn@{printOn}!eoRealNoBounds@{eo\-Real\-No\-Bounds}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void eo\-Real\-No\-Bounds::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_real_no_bounds_a13} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 180 of file eo\-Real\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_ux_over.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_ux_over.tex deleted file mode 100644 index 565b24156..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_ux_over.tex +++ /dev/null @@ -1,17 +0,0 @@ -\section{eo\-Real\-Ux\-Over Class Reference} -\label{classeo_real_ux_over}\index{eoRealUxOver@{eoRealUxOver}} -eo\-Real\-Ux\-Over --$>$ Uniform crossover, also termed intermediate crossover - - -{\tt \#include $<$Tutorial/eo\-Real\-Op.h$>$} - - - -\subsection{Detailed Description} -eo\-Real\-Ux\-Over --$>$ Uniform crossover, also termed intermediate crossover - - - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_vector_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_vector_bounds.eps deleted file mode 100644 index d6a33a38c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_vector_bounds.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 239.521 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealVectorBounds) cw -(eoRealBaseVectorBounds) cw -(eoPersistent) cw -(eoPrintable) cw -(eoRealVectorNoBounds) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealVectorBounds) 0.5 1 box - (eoRealBaseVectorBounds) 0 2 box - (eoPersistent) 1 2 box - (eoPrintable) 1 3 box - (eoRealVectorNoBounds) 0.5 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in -solid -1 0.5 0.25 out -solid -0 0.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_vector_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_vector_bounds.tex deleted file mode 100644 index cebed385a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_vector_bounds.tex +++ /dev/null @@ -1,115 +0,0 @@ -\section{eo\-Real\-Vector\-Bounds Class Reference} -\label{classeo_real_vector_bounds}\index{eoRealVectorBounds@{eoRealVectorBounds}} -Now a derived class, for parser reading It holds some of the bounds (and destroy them when dying). - - -{\tt \#include $<$eo\-Real\-Vector\-Bounds.h$>$} - -Inheritance diagram for eo\-Real\-Vector\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_real_vector_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Vector\-Bounds} ()\label{classeo_real_vector_bounds_a0} - -\begin{CompactList}\small\item\em Default Ctor will call base class default ctor. \item\end{CompactList}\item -{\bf eo\-Real\-Vector\-Bounds} (unsigned \_\-dim, {\bf eo\-Real\-Bounds} \&\_\-bounds)\label{classeo_real_vector_bounds_a1} - -\begin{CompactList}\small\item\em Ctor: same bounds for everybody, given as an {\bf eo\-Real\-Bounds}{\rm (p.\,\pageref{classeo_real_bounds})}. \item\end{CompactList}\item -{\bf eo\-Real\-Vector\-Bounds} ({\bf eo\-Real\-Bounds} \&\_\-xbounds, {\bf eo\-Real\-Bounds} \&\_\-ybounds)\label{classeo_real_vector_bounds_a2} - -\begin{CompactList}\small\item\em Ctor, particular case of dim-2. \item\end{CompactList}\item -{\bf eo\-Real\-Vector\-Bounds} (unsigned \_\-dim, double \_\-min, double \_\-max)\label{classeo_real_vector_bounds_a3} - -\begin{CompactList}\small\item\em Simple bounds = minimum and maximum (allowed). \item\end{CompactList}\item -{\bf eo\-Real\-Vector\-Bounds} (std::vector$<$ double $>$ \_\-min, std::vector$<$ double $>$ \_\-max)\label{classeo_real_vector_bounds_a4} - -\begin{CompactList}\small\item\em Ctor: different bounds for different variables, std::vectors of double. \item\end{CompactList}\item -{\bf eo\-Real\-Vector\-Bounds} (std::string \_\-s)\label{classeo_real_vector_bounds_a5} - -\begin{CompactList}\small\item\em Ctor from a std::string and don't worry, the {\bf read\-From(std::string)}{\rm (p.\,\pageref{classeo_real_vector_bounds_a8})} starts by setting everything to 0! \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Real\-Vector\-Bounds} ()\label{classeo_real_vector_bounds_a6} - -\begin{CompactList}\small\item\em Dtor: destroy all owned\-Bounds - BUG ??? \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object from a stream only calls the {\bf read\-From(std::string)}{\rm (p.\,\pageref{classeo_real_vector_bounds_a8})} - for param reading. \item\end{CompactList}\item -virtual void {\bf read\-From} (std::string \_\-s) -\begin{CompactList}\small\item\em Read object from a std::string. \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&\_\-os) const \label{classeo_real_vector_bounds_a9} - -\begin{CompactList}\small\item\em overload print\-On method to save space \item\end{CompactList}\item -void {\bf adjust\_\-size} (unsigned \_\-dim)\label{classeo_real_vector_bounds_a10} - -\begin{CompactList}\small\item\em Eventually increases the size by duplicating last bound. \item\end{CompactList}\item -{\bf eo\-Real\-Vector\-Bounds} (const {\bf eo\-Real\-Vector\-Bounds} \&)\label{classeo_real_vector_bounds_a11} - -\begin{CompactList}\small\item\em need to rewrite copy ctor and assignement operator because of owned\-Bounds \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Vector\-Bounds} \& {\bf operator=} (const {\bf eo\-Real\-Vector\-Bounds} \&)\label{classeo_real_vector_bounds_d0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ unsigned int $>$ {\bf factor}\label{classeo_real_vector_bounds_r0} - -\item -std::vector$<$ {\bf eo\-Real\-Bounds} $\ast$ $>$ {\bf owned\-Bounds}\label{classeo_real_vector_bounds_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Now a derived class, for parser reading It holds some of the bounds (and destroy them when dying). - - - -Definition at line 228 of file eo\-Real\-Vector\-Bounds.h. - -\subsection{Member Function Documentation} -\index{eoRealVectorBounds@{eo\-Real\-Vector\-Bounds}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoRealVectorBounds@{eo\-Real\-Vector\-Bounds}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Real\-Vector\-Bounds::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [virtual]}}\label{classeo_real_vector_bounds_a7} - - -Read object from a stream only calls the {\bf read\-From(std::string)}{\rm (p.\,\pageref{classeo_real_vector_bounds_a8})} - for param reading. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 65 of file eo\-Real\-Bounds.cpp. - -Referenced by eo\-Real\-Vector\-Bounds().\index{eoRealVectorBounds@{eo\-Real\-Vector\-Bounds}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoRealVectorBounds@{eo\-Real\-Vector\-Bounds}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Real\-Vector\-Bounds::read\-From (std::string {\em \_\-s})\hspace{0.3cm}{\tt [virtual]}}\label{classeo_real_vector_bounds_a8} - - -Read object from a std::string. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} - - -Definition at line 73 of file eo\-Real\-Bounds.cpp. - -References adjust\_\-size(). - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Real\-Vector\-Bounds.h\item -eo\-Real\-Bounds.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_vector_no_bounds.eps b/trunk/paradiseo-eo/doc/latex/classeo_real_vector_no_bounds.eps deleted file mode 100644 index 85af9e7ae..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_vector_no_bounds.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 239.521 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRealVectorNoBounds) cw -(eoRealVectorBounds) cw -(eoRealBaseVectorBounds) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRealVectorNoBounds) 0.5 0 box - (eoRealVectorBounds) 0.5 1 box - (eoRealBaseVectorBounds) 0 2 box - (eoPersistent) 1 2 box - (eoPrintable) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_real_vector_no_bounds.tex b/trunk/paradiseo-eo/doc/latex/classeo_real_vector_no_bounds.tex deleted file mode 100644 index 781f52ade..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_real_vector_no_bounds.tex +++ /dev/null @@ -1,87 +0,0 @@ -\section{eo\-Real\-Vector\-No\-Bounds Class Reference} -\label{classeo_real_vector_no_bounds}\index{eoRealVectorNoBounds@{eoRealVectorNoBounds}} -the dummy unbounded {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})}: usefull if you don't need bounds! everything is inlined. - - -{\tt \#include $<$eo\-Real\-Vector\-Bounds.h$>$} - -Inheritance diagram for eo\-Real\-Vector\-No\-Bounds::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_real_vector_no_bounds} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Vector\-No\-Bounds} (unsigned \_\-dim)\label{classeo_real_vector_no_bounds_a1} - -\begin{CompactList}\small\item\em Ctor: nothing to do, but beware of dimension: call base class ctor. \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (unsigned)\label{classeo_real_vector_no_bounds_a2} - -\begin{CompactList}\small\item\em test: is i\_\-th component bounded \item\end{CompactList}\item -virtual bool {\bf is\-Bounded} (void)\label{classeo_real_vector_no_bounds_a3} - -\begin{CompactList}\small\item\em test: bounded iff all are bounded \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (unsigned)\label{classeo_real_vector_no_bounds_a4} - -\begin{CompactList}\small\item\em Self-test: true iff i\_\-th component has no bounds at all. \item\end{CompactList}\item -virtual bool {\bf has\-No\-Bound\-At\-All} (void)\label{classeo_real_vector_no_bounds_a5} - -\begin{CompactList}\small\item\em Self-test: true iff all components have no bound at all. \item\end{CompactList}\item -virtual bool {\bf is\-Min\-Bounded} (unsigned)\label{classeo_real_vector_no_bounds_a6} - -\item -virtual bool {\bf is\-Max\-Bounded} (unsigned)\label{classeo_real_vector_no_bounds_a7} - -\item -virtual void {\bf folds\-In\-Bounds} (unsigned, double \&)\label{classeo_real_vector_no_bounds_a8} - -\begin{CompactList}\small\item\em Folds a real value back into the bounds - i\_\-th component. \item\end{CompactList}\item -virtual void {\bf folds\-In\-Bounds} (std::vector$<$ double $>$ \&)\label{classeo_real_vector_no_bounds_a9} - -\begin{CompactList}\small\item\em Folds all variables of a std::vector of real values into the bounds. \item\end{CompactList}\item -virtual void {\bf truncate} (unsigned, double \&)\label{classeo_real_vector_no_bounds_a10} - -\begin{CompactList}\small\item\em Truncates a real value to the bounds - i\_\-th component. \item\end{CompactList}\item -virtual void {\bf truncate} (std::vector$<$ double $>$ \&)\label{classeo_real_vector_no_bounds_a11} - -\begin{CompactList}\small\item\em truncates all variables of a std::vector of real values to the bounds \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (unsigned, double)\label{classeo_real_vector_no_bounds_a12} - -\begin{CompactList}\small\item\em test: is i\_\-th component within the bounds? \item\end{CompactList}\item -virtual bool {\bf is\-In\-Bounds} (std::vector$<$ double $>$)\label{classeo_real_vector_no_bounds_a13} - -\begin{CompactList}\small\item\em test: are ALL components within the bounds? \item\end{CompactList}\item -virtual double {\bf minimum} (unsigned)\label{classeo_real_vector_no_bounds_a14} - -\begin{CompactList}\small\item\em Accessors: will raise an std::exception if these do not exist. \item\end{CompactList}\item -virtual double {\bf maximum} (unsigned)\label{classeo_real_vector_no_bounds_a15} - -\item -virtual double {\bf range} (unsigned)\label{classeo_real_vector_no_bounds_a16} - -\item -virtual double {\bf average\-Range} ()\label{classeo_real_vector_no_bounds_a17} - -\begin{CompactList}\small\item\em Computes the average range An std::exception will be raised if one of the component is unbounded. \item\end{CompactList}\item -virtual double {\bf uniform} (unsigned, {\bf eo\-Rng} \&\_\-rng=eo::rng)\label{classeo_real_vector_no_bounds_a18} - -\begin{CompactList}\small\item\em Generates a random number in i\_\-th range An std::exception will be raised if one of the component is unbounded. \item\end{CompactList}\item -void {\bf uniform} (std::vector$<$ double $>$ \&, {\bf eo\-Rng} \&\_\-rng=eo::rng)\label{classeo_real_vector_no_bounds_a19} - -\begin{CompactList}\small\item\em fills a std::vector with uniformly chosen variables in bounds An std::exception will be raised if one of the component is unbounded \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -the dummy unbounded {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})}: usefull if you don't need bounds! everything is inlined. - -Warning: we do need this class, and not only a std::vector$<$eo\-Real\-No\-Bounds $\ast$$>$ - - - -Definition at line 352 of file eo\-Real\-Vector\-Bounds.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Vector\-Bounds.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_reduce.eps b/trunk/paradiseo-eo/doc/latex/classeo_reduce.eps deleted file mode 100644 index 4f2d7b067..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_reduce.eps +++ /dev/null @@ -1,241 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 35.2734 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 14.175 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 7 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoReduce< EOT >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, unsigned, void >) cw -(eoDetTournamentTruncate< EOT >) cw -(eoEPReduce< EOT >) cw -(eoLinearTruncate< EOT >) cw -(eoRandomReduce< EOT >) cw -(eoStochTournamentTruncate< EOT >) cw -(eoStochTournamentTruncateSplit< EOT >) cw -(eoTruncate< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoReduce< EOT >) 3 1 box - (eoBF< eoPop< EOT > &, unsigned, void >) 3 2 box - (eoFunctorBase) 2.5 3 box - (binary_function< eoPop< EOT > &, unsigned, void >) 3.5 3 box - (eoDetTournamentTruncate< EOT >) 0 0 box - (eoEPReduce< EOT >) 1 0 box - (eoLinearTruncate< EOT >) 2 0 box - (eoRandomReduce< EOT >) 3 0 box - (eoStochTournamentTruncate< EOT >) 4 0 box - (eoStochTournamentTruncateSplit< EOT >) 5 0 box - (eoTruncate< EOT >) 6 0 box - -% ----- relations ----- - -solid -0 3 1 out -solid -1 3 2 in -solid -0 3 2 out -solid -2.5 3.5 3 conn -solid -1 2.5 3 in -solid -1 3.5 3 in -solid -1 3 0.25 out -solid -0 6 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in -solid -0 4 0.75 in -solid -0 5 0.75 in -solid -0 6 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_reduce.tex b/trunk/paradiseo-eo/doc/latex/classeo_reduce.tex deleted file mode 100644 index ad0253f69..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_reduce.tex +++ /dev/null @@ -1,29 +0,0 @@ -\section{eo\-Reduce$<$ EOT $>$ Class Template Reference} -\label{classeo_reduce}\index{eoReduce@{eoReduce}} -eo\-Reduce: .reduce the new generation to the specified size At the moment, limited to truncation - with 2 different methods, one that sorts the whole population, and one that repeatidely kills the worst. - - -{\tt \#include $<$eo\-Reduce.h$>$} - -Inheritance diagram for eo\-Reduce$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=0.987654cm]{classeo_reduce} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Reduce$<$ EOT $>$} - -eo\-Reduce: .reduce the new generation to the specified size At the moment, limited to truncation - with 2 different methods, one that sorts the whole population, and one that repeatidely kills the worst. - -Ideally, we should be able to choose at run-time!!! - - - -Definition at line 45 of file eo\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge.eps b/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge.eps deleted file mode 100644 index 9e1b9ff57..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge.eps +++ /dev/null @@ -1,231 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 89.6057 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.58 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoReduceMerge< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoSSGADetTournamentReplacement< EOT >) cw -(eoSSGAStochTournamentReplacement< EOT >) cw -(eoSSGAWorseReplacement< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoReduceMerge< EOT >) 1 1 box - (eoReplacement< EOT >) 1 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1.5 4 box - (eoSSGADetTournamentReplacement< EOT >) 0 0 box - (eoSSGAStochTournamentReplacement< EOT >) 1 0 box - (eoSSGAWorseReplacement< EOT >) 2 0 box - -% ----- relations ----- - -solid -0 1 1 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in -solid -1 1 0.25 out -solid -0 2 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge.tex b/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge.tex deleted file mode 100644 index 7c53e18f0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge.tex +++ /dev/null @@ -1,49 +0,0 @@ -\section{eo\-Reduce\-Merge$<$ EOT $>$ Class Template Reference} -\label{classeo_reduce_merge}\index{eoReduceMerge@{eoReduceMerge}} -eo\-Reduce\-Merge: Replacement strategies that start by reducing the parents, then merge with the offspring - - -{\tt \#include $<$eo\-Reduce\-Merge.h$>$} - -Inheritance diagram for eo\-Reduce\-Merge$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.50896cm]{classeo_reduce_merge} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Reduce\-Merge} ({\bf eo\-Reduce}$<$ {\bf EOT} $>$ \&\_\-reduce, {\bf eo\-Merge}$<$ {\bf EOT} $>$ \&\_\-merge)\label{classeo_reduce_merge_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_reduce_merge_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Reduce}$<$ {\bf EOT} $>$ \& {\bf reduce}\label{classeo_reduce_merge_r0} - -\item -{\bf eo\-Merge}$<$ {\bf EOT} $>$ \& {\bf merge}\label{classeo_reduce_merge_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Reduce\-Merge$<$ EOT $>$} - -eo\-Reduce\-Merge: Replacement strategies that start by reducing the parents, then merge with the offspring - -This is the way to do SSGA: the offspring gets inserted in the population even if it is worse than anybody else. - -: eo\-Reduce\-Merge, {\bf eo\-SSGAWorse\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_worse_replacement})}, {\bf eo\-SSGADet\-Tournament\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_det_tournament_replacement})}, {\bf eo\-SSGAStoch\-Tournament\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_stoch_tournament_replacement})} - - - -Definition at line 53 of file eo\-Reduce\-Merge.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Merge.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge_reduce.eps b/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge_reduce.eps deleted file mode 100644 index 338201467..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge_reduce.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoReduceMergeReduce< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoReduceMergeReduce< EOT >) 0.5 0 box - (eoReplacement< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge_reduce.tex b/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge_reduce.tex deleted file mode 100644 index 332271ecf..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_reduce_merge_reduce.tex +++ /dev/null @@ -1,60 +0,0 @@ -\section{eo\-Reduce\-Merge\-Reduce$<$ EOT $>$ Class Template Reference} -\label{classeo_reduce_merge_reduce}\index{eoReduceMergeReduce@{eoReduceMergeReduce}} -eo\-Reduce\-Merge\-Reduce is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - saves possible elite parents - reduces rest of parents - reduces offspring - merges reduced populations - reduces resulting merged pop if necessary - - -{\tt \#include $<$eo\-Reduce\-Merge\-Reduce.h$>$} - -Inheritance diagram for eo\-Reduce\-Merge\-Reduce$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_reduce_merge_reduce} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Reduce\-Merge\-Reduce} ({\bf eo\-How\-Many} \_\-how\-Many\-Elite, bool \_\-strong\-Elitism, {\bf eo\-How\-Many} \_\-how\-Many\-Reduced\-Parents, {\bf eo\-Reduce}$<$ {\bf EOT} $>$ \&\_\-reduce\-Parents, {\bf eo\-How\-Many} \_\-how\-Many\-Reduced\-Offspring, {\bf eo\-Reduce}$<$ {\bf EOT} $>$ \&\_\-reduce\-Offspring, {\bf eo\-Reduce}$<$ {\bf EOT} $>$ \&\_\-reduce\-Final)\label{classeo_reduce_merge_reduce_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_reduce_merge_reduce_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-How\-Many} {\bf how\-Many\-Elite}\label{classeo_reduce_merge_reduce_r0} - -\item -bool {\bf strong\-Elitism}\label{classeo_reduce_merge_reduce_r1} - -\item -{\bf eo\-How\-Many} {\bf how\-Many\-Reduced\-Parents}\label{classeo_reduce_merge_reduce_r2} - -\item -{\bf eo\-How\-Many} {\bf how\-Many\-Reduced\-Offspring}\label{classeo_reduce_merge_reduce_r3} - -\item -{\bf eo\-Reduce}$<$ {\bf EOT} $>$ \& {\bf reduce\-Parents}\label{classeo_reduce_merge_reduce_r4} - -\item -{\bf eo\-Reduce}$<$ {\bf EOT} $>$ \& {\bf reduce\-Offspring}\label{classeo_reduce_merge_reduce_r5} - -\item -{\bf eo\-Reduce}$<$ {\bf EOT} $>$ \& {\bf reduce\-Final}\label{classeo_reduce_merge_reduce_r6} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Reduce\-Merge\-Reduce$<$ EOT $>$} - -eo\-Reduce\-Merge\-Reduce is an {\bf eo\-Replacement}{\rm (p.\,\pageref{classeo_replacement})}: - saves possible elite parents - reduces rest of parents - reduces offspring - merges reduced populations - reduces resulting merged pop if necessary - - - -Definition at line 49 of file eo\-Reduce\-Merge\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Merge\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_reduce_split.eps b/trunk/paradiseo-eo/doc/latex/classeo_reduce_split.eps deleted file mode 100644 index b2a72f18d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_reduce_split.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 43.0108 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 11.625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 5 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoReduceSplit< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoDetTournamentTruncateSplit< EOT >) cw -(eoLinearRandomSplit< EOT >) cw -(eoLinearTruncateSplit< EOT >) cw -(eoRandomSplit< EOT >) cw -(eoTruncateSplit< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoReduceSplit< EOT >) 2 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 2 2 box - (eoFunctorBase) 1.5 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 2.5 3 box - (eoDetTournamentTruncateSplit< EOT >) 0 0 box - (eoLinearRandomSplit< EOT >) 1 0 box - (eoLinearTruncateSplit< EOT >) 2 0 box - (eoRandomSplit< EOT >) 3 0 box - (eoTruncateSplit< EOT >) 4 0 box - -% ----- relations ----- - -solid -0 2 1 out -solid -1 2 2 in -solid -0 2 2 out -solid -1.5 2.5 3 conn -solid -1 1.5 3 in -solid -1 2.5 3 in -solid -1 2 0.25 out -solid -0 4 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in -solid -0 4 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_reduce_split.tex b/trunk/paradiseo-eo/doc/latex/classeo_reduce_split.tex deleted file mode 100644 index 339664f94..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_reduce_split.tex +++ /dev/null @@ -1,27 +0,0 @@ -\section{eo\-Reduce\-Split$<$ EOT $>$ Class Template Reference} -\label{classeo_reduce_split}\index{eoReduceSplit@{eoReduceSplit}} -eo\-Reduce\-Split: reduce the pop to the specified size AND eventually returns the eliminated guys - - -{\tt \#include $<$eo\-Reduce\-Split.h$>$} - -Inheritance diagram for eo\-Reduce\-Split$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.2043cm]{classeo_reduce_split} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Reduce\-Split$<$ EOT $>$} - -eo\-Reduce\-Split: reduce the pop to the specified size AND eventually returns the eliminated guys - - - -Definition at line 42 of file eo\-Reduce\-Split.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Split.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_replacement.eps deleted file mode 100644 index 527427f13..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_replacement.eps +++ /dev/null @@ -1,255 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 232.975 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.14615 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 13 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoDeterministicSaDReplacement< EOT >) cw -(eoG3Replacement< EOT >) cw -(eoGenerationalReplacement< EOT >) cw -(eoMergeReduce< EOT >) cw -(eoMGGReplacement< EOT >) cw -(eoNDPlusReplacement< EOT, WorthT >) cw -(eoNDPlusReplacement< EOT, WorthT >) cw -(eoReduceMerge< EOT >) cw -(eoReduceMergeReduce< EOT >) cw -(eoWeakElitistReplacement< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoReplacement< EOT >) 0.5 10 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 11 box - (eoFunctorBase) 0 12 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 12 box - (eoDeterministicSaDReplacement< EOT >) 1.5 9 box - (eoG3Replacement< EOT >) 1.5 8 box - (eoGenerationalReplacement< EOT >) 1.5 7 box - (eoMergeReduce< EOT >) 1.5 6 box -1.5 6 mark - (eoMGGReplacement< EOT >) 1.5 5 box - (eoNDPlusReplacement< EOT, WorthT >) 1.5 4 box - (eoNDPlusReplacement< EOT, WorthT >) 1.5 3 box - (eoReduceMerge< EOT >) 1.5 2 box -1.5 2 mark - (eoReduceMergeReduce< EOT >) 1.5 1 box - (eoWeakElitistReplacement< EOT >) 1.5 0 box - -% ----- relations ----- - -solid -0 0.5 10 out -solid -1 0.5 11 in -solid -0 0.5 11 out -solid -0 1 12 conn -solid -1 0 12 in -solid -1 1 12 in -solid -1 0.5 9.25 out -solid -0 0.5 9.5 hedge -solid -0 0.5 8.5 hedge -solid -0 0.5 7.5 hedge -solid -0 0.5 6.5 hedge -solid -0 0.5 5.5 hedge -solid -0 0.5 4.5 hedge -solid -0 0.5 3.5 hedge -solid -0 0.5 2.5 hedge -solid -0 0.5 1.5 hedge -solid -0 0.5 0.5 hedge -solid -0.5 10 0.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/classeo_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_replacement.tex deleted file mode 100644 index bd3a43b5f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_replacement.tex +++ /dev/null @@ -1,34 +0,0 @@ -\section{eo\-Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_replacement}\index{eoReplacement@{eoReplacement}} -{\tt \#include $<$eo\-Replacement.h$>$} - -Inheritance diagram for eo\-Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=6.5233cm]{classeo_replacement} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Replacement$<$ EOT $>$} - -NOTE: 2 {\bf eo\-Pop}{\rm (p.\,\pageref{classeo_pop})} as arguments the resulting population should be in the first argument (replace parents by offspring)! The second argument can contain any rubbish - ---- The {\bf eo\-Merge\-Reduce}{\rm (p.\,\pageref{classeo_merge_reduce})}, combination of {\bf eo\-Merge}{\rm (p.\,\pageref{classeo_merge})} and {\bf eo\-Reduce}{\rm (p.\,\pageref{classeo_reduce})}, can be found in file {\bf eo\-Merge\-Reduce.h}{\rm (p.\,\pageref{eo_merge_reduce_8h})} - -The {\bf eo\-Reduce\-Merge\-Reduce}{\rm (p.\,\pageref{classeo_reduce_merge_reduce})} that reduces the parents and the offspring, merges the 2 reduced populations, and eventually reduces that final population, can be found in {\bf eo\-Reduce\-Merge\-Reduce.h}{\rm (p.\,\pageref{eo_reduce_merge_reduce_8h})} - -LOG --- Removed the const before first argument: though it makes too many classes with the same interface, it allows to minimize the number of actual copies by choosing the right destination I also removed the enforced \char`\"{}swap\char`\"{} in the eo\-Easy\-Algo and hence the generational replacement gets a class of its own that only does the swap (instead of the eo\-No\-Replacement that did nothing, relying on the algo to swap popualtions). MS 12/12/2000 - -\begin{Desc} -\item[See also:]{\bf eo\-Merge}{\rm (p.\,\pageref{classeo_merge})}, {\bf eo\-Reduce}{\rm (p.\,\pageref{classeo_reduce})}, {\bf eo\-Merge\-Reduce}{\rm (p.\,\pageref{classeo_merge_reduce})}, {\bf eo\-Reduce\-Merge}{\rm (p.\,\pageref{classeo_reduce_merge})}\end{Desc} -eo\-Replacement, base (pure abstract) class {\bf eo\-Generational\-Replacement}{\rm (p.\,\pageref{classeo_generational_replacement})}, as it says ... {\bf eo\-Weak\-Elitist\-Replacement}{\rm (p.\,\pageref{classeo_weak_elitist_replacement})} a wrapper to add elitism - - - -Definition at line 77 of file eo\-Replacement.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_rnd_generator.eps b/trunk/paradiseo-eo/doc/latex/classeo_rnd_generator.eps deleted file mode 100644 index e8f9e9459..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_rnd_generator.eps +++ /dev/null @@ -1,219 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 160.643 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.1125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRndGenerator< T >) cw -(eoF< T >) cw -(eoFunctorBase) cw -(eoNegExpGenerator< T >) cw -(eoNormalGenerator< T >) cw -(eoUniformGenerator< T >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRndGenerator< T >) 1 1 box - (eoF< T >) 1 2 box - (eoFunctorBase) 1 3 box - (eoNegExpGenerator< T >) 0 0 box - (eoNormalGenerator< T >) 1 0 box - (eoUniformGenerator< T >) 2 0 box - -% ----- relations ----- - -solid -0 1 1 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in -solid -1 1 0.25 out -solid -0 2 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_rnd_generator.tex b/trunk/paradiseo-eo/doc/latex/classeo_rnd_generator.tex deleted file mode 100644 index 69253fdff..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_rnd_generator.tex +++ /dev/null @@ -1,37 +0,0 @@ -\section{eo\-Rnd\-Generator$<$ T $>$ Class Template Reference} -\label{classeo_rnd_generator}\index{eoRndGenerator@{eoRndGenerator}} -By popular demand re-introducing a base class for a family of random number generators. - - -{\tt \#include $<$eo\-Rnd\-Generators.h$>$} - -Inheritance diagram for eo\-Rnd\-Generator$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_rnd_generator} -\end{center} -\end{figure} -\subsection*{Private Types} -\begin{CompactItemize} -\item -typedef T {\bf Atom\-Type}\label{classeo_rnd_generator_y0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T$>$ class eo\-Rnd\-Generator$<$ T $>$} - -By popular demand re-introducing a base class for a family of random number generators. - -Derived members of this class are useful to initialize fixed/variable length genotypes that have an 'atomic' type in an indepent way (thus without employing any knowledge about the problem domain). - -See derived classes {\bf eo\-Uniform\-Generator}{\rm (p.\,\pageref{classeo_uniform_generator})}, {\bf eo\-Boolean\-Generator}{\rm (p.\,\pageref{classeo_boolean_generator})}, {\bf eo\-Normal\-Generator}{\rm (p.\,\pageref{classeo_normal_generator})} and {\bf eo\-Neg\-Exp\-Generator}{\rm (p.\,\pageref{classeo_neg_exp_generator})} - - - -Definition at line 47 of file eo\-Rnd\-Generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Rnd\-Generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_rng.eps b/trunk/paradiseo-eo/doc/latex/classeo_rng.eps deleted file mode 100644 index 1add06def..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_rng.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 337.079 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.48333 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRng) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRng) 0.5 0 box - (eoObject) 0 1 box - (eoPersistent) 1 1 box - (eoPrintable) 1 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -1 1 1 in -solid -0 1 1 out -solid -1 1 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_rng.tex b/trunk/paradiseo-eo/doc/latex/classeo_rng.tex deleted file mode 100644 index f7e0b75ac..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_rng.tex +++ /dev/null @@ -1,304 +0,0 @@ -\section{eo\-Rng Class Reference} -\label{classeo_rng}\index{eoRng@{eoRng}} -Random Number Generator. - - -{\tt \#include $<$utils/eo\-RNG.h$>$} - -Inheritance diagram for eo\-Rng::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_rng} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Rng} (uint32\_\-t s) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -void {\bf reseed} (uint32\_\-t s) -\begin{CompactList}\small\item\em Re-initializes the Random Number Generator. \item\end{CompactList}\item -void {\bf old\-Reseed} (uint32\_\-t s) -\begin{CompactList}\small\item\em Re-initializes the Random Number Generator. \item\end{CompactList}\item -double {\bf uniform} (double m=1.0)\label{classeo_rng_a4} - -\begin{CompactList}\small\item\em uniform(m = 1.0) returns a random double in the range [0, m) \item\end{CompactList}\item -uint32\_\-t {\bf random} (uint32\_\-t m)\label{classeo_rng_a5} - -\begin{CompactList}\small\item\em {\bf random()}{\rm (p.\,\pageref{classeo_rng_a5})} returns a random integer in the range [0, m) \item\end{CompactList}\item -bool {\bf flip} (float bias=0.5)\label{classeo_rng_a6} - -\begin{CompactList}\small\item\em {\bf flip()}{\rm (p.\,\pageref{classeo_rng_a6})} tosses a biased coin such that flip(x/100.0) will returns true x\% of the time \item\end{CompactList}\item -double {\bf normal} (void)\label{classeo_rng_a7} - -\begin{CompactList}\small\item\em {\bf normal()}{\rm (p.\,\pageref{classeo_rng_a7})} zero mean gaussian deviate with standard deviation of 1 \item\end{CompactList}\item -double {\bf normal} (double stdev)\label{classeo_rng_a8} - -\begin{CompactList}\small\item\em normal(stdev) zero mean gaussian deviate with user defined standard deviation \item\end{CompactList}\item -double {\bf normal} (double mean, double stdev)\label{classeo_rng_a9} - -\begin{CompactList}\small\item\em normal(mean, stdev) user defined mean gaussian deviate with user defined standard deviation \item\end{CompactList}\item -double {\bf negexp} (double mean)\label{classeo_rng_a10} - -\begin{CompactList}\small\item\em Generates random numbers using a negative exponential distribution. \item\end{CompactList}\item -uint32\_\-t {\bf rand} ()\label{classeo_rng_a11} - -\begin{CompactList}\small\item\em {\bf rand()}{\rm (p.\,\pageref{classeo_rng_a11})} returns a random number in the range [0, rand\_\-max) \item\end{CompactList}\item -uint32\_\-t {\bf rand\_\-max} (void) const \label{classeo_rng_a12} - -\begin{CompactList}\small\item\em {\bf rand\_\-max()}{\rm (p.\,\pageref{classeo_rng_a12})} the maximum returned by {\bf rand()}{\rm (p.\,\pageref{classeo_rng_a11})} \item\end{CompactList}\item -template$<$typename TYPE$>$ int {\bf roulette\_\-wheel} (const std::vector$<$ TYPE $>$ \&vec, TYPE total=0) -\begin{CompactList}\small\item\em roulette\_\-wheel(vec, total = 0) does a roulette wheel selection on the input std::vector vec. \item\end{CompactList}\item -template$<$typename TYPE$>$ const TYPE \& {\bf choice} (const std::vector$<$ TYPE $>$ \&vec) const -\begin{CompactList}\small\item\em Randomly select element from vector. \item\end{CompactList}\item -template$<$typename TYPE$>$ TYPE \& {\bf choice} (std::vector$<$ TYPE $>$ \&vec) -\begin{CompactList}\small\item\em Randomly select element from vector. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -void {\bf read\-From} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Read object. \item\end{CompactList}\item -std::string {\bf class\-Name} (void) const -\begin{CompactList}\small\item\em Return the class id. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -uint32\_\-t {\bf restart} (void)\label{classeo_rng_d0} - -\item -void {\bf initialize} (uint32\_\-t seed)\label{classeo_rng_d1} - -\item -{\bf eo\-Rng} (const {\bf eo\-Rng} \&) -\begin{CompactList}\small\item\em Copy constructor. \item\end{CompactList}\item -{\bf eo\-Rng} \& {\bf operator=} (const {\bf eo\-Rng} \&) -\begin{CompactList}\small\item\em Assignmant operator. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -uint32\_\-t $\ast$ {\bf state}\label{classeo_rng_r0} - -\begin{CompactList}\small\item\em Array for the state. \item\end{CompactList}\item -uint32\_\-t $\ast$ {\bf next}\label{classeo_rng_r1} - -\item -int {\bf left}\label{classeo_rng_r2} - -\item -bool {\bf cached}\label{classeo_rng_r3} - -\item -float {\bf cache\-Value}\label{classeo_rng_r4} - -\item -const int {\bf N}\label{classeo_rng_r5} - -\item -const int {\bf M}\label{classeo_rng_r6} - -\item -const uint32\_\-t {\bf K}\label{classeo_rng_r7} - -\begin{CompactList}\small\item\em Magic constant. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Random Number Generator. - -eo\-Rng is a persistent class that uses the ``Mersenne Twister'' random number generator MT19937 for generating random numbers. The various member functions implement useful functions for evolutionary algorithms. Included are: {\bf rand()}{\rm (p.\,\pageref{classeo_rng_a11})}, {\bf random()}{\rm (p.\,\pageref{classeo_rng_a5})}, {\bf flip()}{\rm (p.\,\pageref{classeo_rng_a6})} and {\bf normal()}{\rm (p.\,\pageref{classeo_rng_a7})}. - -{\bf EO}{\rm (p.\,\pageref{class_e_o})} provides a global random number generator {\tt rng} that is seeded by the current UNIX time at program start. Moreover some global convenience functions are provided that use the global random number generator: {\tt random}, {\tt normal}. - -\begin{Desc} -\item[Warning:]If you want to repeatedly generated the same sequence of pseudo-random numbers, you should always reseed the generator at the beginning of your code.\end{Desc} -\subsection*{Documentation in original file} - -This is the ``Mersenne Twister'' random number generator MT19937, which generates pseudorandom integers uniformly distributed in 0..(2$^\wedge$32 - 1) starting from any odd seed in 0..(2$^\wedge$32 - 1). This version is a recode by Shawn Cokus ({\tt Cokus@math.washington.edu}) on March 8, 1998 of a version by Takuji Nishimura (who had suggestions from Topher Cooper and Marc Rieffel in July-August 1997). - -Effectiveness of the recoding (on Goedel2.math.washington.edu, a DEC Alpha running OSF/1) using GCC -O3 as a compiler: before recoding: 51.6 sec. to generate 300 million random numbers; after recoding: 24.0 sec. for the same (i.e., 46.5\% of original time), so speed is now about 12.5 million random number generations per second on this machine. - -According to the URL $<${\tt http://www.math.keio.ac.jp/$\sim$matumoto/emt.html}$>$ (and paraphrasing a bit in places), the Mersenne Twister is ``designed with consideration of the flaws of various existing generators,'' has a period of 2$^\wedge$19937 - 1, gives a sequence that is 623-dimensionally equidistributed, and ``has passed many std::stringent tests, including the die-hard test of G. Marsaglia and the load test of P. Hellekalek and S. Wegenkittl.'' It is efficient in memory usage (typically using 2506 to 5012 bytes of static data, depending on data type sizes, and the code is quite short as well). It generates random numbers in batches of 624 at a time, so the caching and pipelining of modern systems is exploited. It is also divide- and mod-free. - -The code as Shawn received it included the following notice: {\tt Copyright (C) 1997 Makoto Matsumoto and Takuji Nishimura. When you use this, send an e-mail to $<${\tt matumoto@math.keio.ac.jp}$>$ with an appropriate reference to your work.} It would be nice to Cc: $<${\tt Cokus@math.washington.edu}$>$ and $<${\tt eodev-main@lists.sourceforge.net}$>$ when you write. - -\subsection*{Portability} - -Note for people porting {\bf EO}{\rm (p.\,\pageref{class_e_o})} to other platforms: please make sure that the type uint32\_\-t in the file {\bf eo\-Rng.h}{\rm (p.\,\pageref{eo_r_n_g_8h})} is exactly 32 bits long. It may in principle be longer, but not shorter. If it is longer, file compatibility between {\bf EO}{\rm (p.\,\pageref{class_e_o})} on different platforms may be broken. - - - -Definition at line 103 of file eo\-RNG.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoRng@{eo\-Rng}!eoRng@{eoRng}} -\index{eoRng@{eoRng}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-Rng::eo\-Rng (uint32\_\-t {\em s})\hspace{0.3cm}{\tt [inline]}}\label{classeo_rng_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em s}]Random seed; if you want another seed, use reseed.\end{description} -\end{Desc} -\begin{Desc} -\item[See also:]{\bf reseed}{\rm (p.\,\pageref{classeo_rng_a2})} for details on usage of the seeding value. \end{Desc} - - -Definition at line 113 of file eo\-RNG.h. - -References K, and state.\index{eoRng@{eo\-Rng}!eoRng@{eoRng}} -\index{eoRng@{eoRng}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-Rng::eo\-Rng (const {\bf eo\-Rng} \&)\hspace{0.3cm}{\tt [private]}}\label{classeo_rng_d2} - - -Copy constructor. - -Private copy ctor and assignment operator to make sure that nobody accidentally copies the random number generator. If you want similar RNG's, make two RNG's and initialize them with the same seed. - -As it cannot be called, we do not provide an implementation. - -\subsection{Member Function Documentation} -\index{eoRng@{eo\-Rng}!reseed@{reseed}} -\index{reseed@{reseed}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Rng::reseed (uint32\_\-t {\em s})\hspace{0.3cm}{\tt [inline]}}\label{classeo_rng_a2} - - -Re-initializes the Random Number Generator. - -WARNING: Jeroen Eggermont $<${\tt jeggermo@liacs.nl}$>$ noticed that initialize does not differentiate between odd and even numbers, therefore the argument to reseed is now doubled before being passed on. - -Manually divide the seed by 2 if you want to re-run old runs - -\begin{Desc} -\item[Version:]MS. 5 Oct. 2001 \end{Desc} - - -Definition at line 135 of file eo\-RNG.h.\index{eoRng@{eo\-Rng}!oldReseed@{oldReseed}} -\index{oldReseed@{oldReseed}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Rng::old\-Reseed (uint32\_\-t {\em s})\hspace{0.3cm}{\tt [inline]}}\label{classeo_rng_a3} - - -Re-initializes the Random Number Generator. - -This is the traditional seeding procedure. This version is deprecated and only provided for compatibility with old code. In new projects you should use reseed. - -\begin{Desc} -\item[See also:]{\bf reseed}{\rm (p.\,\pageref{classeo_rng_a2})} for details on usage of the seeding value.\end{Desc} -\begin{Desc} -\item[Version:]old version (deprecated) \end{Desc} - - -Definition at line 150 of file eo\-RNG.h.\index{eoRng@{eo\-Rng}!roulette_wheel@{roulette\_\-wheel}} -\index{roulette_wheel@{roulette\_\-wheel}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename TYPE$>$ int eo\-Rng::roulette\_\-wheel (const std::vector$<$ TYPE $>$ \& {\em vec}, TYPE {\em total} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_rng_a13} - - -roulette\_\-wheel(vec, total = 0) does a roulette wheel selection on the input std::vector vec. - -If the total is not supplied, it is calculated. It returns an integer denoting the selected argument. - -Definition at line 225 of file eo\-RNG.h. - -References uniform(). - -Referenced by eo\-Prop\-Combined\-Quad\-Op$<$ EOT $>$::operator()(), eo\-Prop\-Combined\-Bin\-Op$<$ EOT $>$::operator()(), eo\-Prop\-Combined\-Mon\-Op$<$ EOT $>$::operator()(), and eo\-Combined\-Init$<$ EOT $>$::operator()().\index{eoRng@{eo\-Rng}!choice@{choice}} -\index{choice@{choice}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename TYPE$>$ const TYPE\& eo\-Rng::choice (const std::vector$<$ TYPE $>$ \& {\em vec}) const\hspace{0.3cm}{\tt [inline]}}\label{classeo_rng_a14} - - -Randomly select element from vector. - -\begin{Desc} -\item[Returns:]Uniformly chosen element from the vector. \end{Desc} - - -Definition at line 247 of file eo\-RNG.h. - -References random().\index{eoRng@{eo\-Rng}!choice@{choice}} -\index{choice@{choice}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename TYPE$>$ TYPE\& eo\-Rng::choice (std::vector$<$ TYPE $>$ \& {\em vec})\hspace{0.3cm}{\tt [inline]}}\label{classeo_rng_a15} - - -Randomly select element from vector. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -Provide a version returning a non-const element reference. - -\begin{Desc} -\item[Returns:]Uniformly chosen element from the vector.\end{Desc} -\begin{Desc} -\item[Warning:]Changing the return value does alter the vector. \end{Desc} - - -Definition at line 262 of file eo\-RNG.h. - -References random().\index{eoRng@{eo\-Rng}!printOn@{printOn}} -\index{printOn@{printOn}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Rng::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_rng_a16} - - -Write object. - -It's called print\-On since it prints the object on a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Implements {\bf eo\-Printable} {\rm (p.\,\pageref{classeo_printable_a1})}. - -Definition at line 266 of file eo\-RNG.h. - -References state.\index{eoRng@{eo\-Rng}!readFrom@{readFrom}} -\index{readFrom@{readFrom}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-Rng::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_rng_a17} - - -Read object. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-is}]A std::istream. \end{description} -\end{Desc} -\begin{Desc} -\item[Exceptions:] -\begin{description} -\item[{\em runtime\_\-std::exception}]If a valid object can't be read. \end{description} -\end{Desc} - - -Implements {\bf eo\-Persistent} {\rm (p.\,\pageref{classeo_persistent_a1})}. - -Definition at line 277 of file eo\-RNG.h. - -References state.\index{eoRng@{eo\-Rng}!className@{className}} -\index{className@{className}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::string eo\-Rng::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_rng_a18} - - -Return the class id. - -This should be redefined in each class. Only \char`\"{}leaf\char`\"{} classes can be non-virtual. - -Maarten: removed the default implementation as this proved to be too error-prone: I found several classes that had a typo in class\-Name (like classname), which would print {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})} instead of their own. Having it pure will force the implementor to provide a name. - -Implements {\bf eo\-Object} {\rm (p.\,\pageref{classeo_object_a1})}. - -Definition at line 293 of file eo\-RNG.h.\index{eoRng@{eo\-Rng}!operator=@{operator=}} -\index{operator=@{operator=}!eoRng@{eo\-Rng}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf eo\-Rng}\& eo\-Rng::operator= (const {\bf eo\-Rng} \&)\hspace{0.3cm}{\tt [private]}}\label{classeo_rng_d3} - - -Assignmant operator. - -\begin{Desc} -\item[See also:]Copy constructor {\bf eo\-Rng(const eo\-Rng\&)}{\rm (p.\,\pageref{classeo_rng_d2})}. \end{Desc} - - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-RNG.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_roulette_worth_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_roulette_worth_select.eps deleted file mode 100644 index 33261a077..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_roulette_worth_select.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 144.509 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.46 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoRouletteWorthSelect< EOT, WorthT >) cw -(eoSelectFromWorth< EOT, WorthT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoRouletteWorthSelect< EOT, WorthT >) 0.5 0 box - (eoSelectFromWorth< EOT, WorthT >) 0.5 1 box - (eoSelectOne< EOT >) 0.5 2 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_roulette_worth_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_roulette_worth_select.tex deleted file mode 100644 index 805bf7352..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_roulette_worth_select.tex +++ /dev/null @@ -1,53 +0,0 @@ -\section{eo\-Roulette\-Worth\-Select$<$ EOT, Worth\-T $>$ Class Template Reference} -\label{classeo_roulette_worth_select}\index{eoRouletteWorthSelect@{eoRouletteWorthSelect}} -An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a ... - - -{\tt \#include $<$eo\-Select\-From\-Worth.h$>$} - -Inheritance diagram for eo\-Roulette\-Worth\-Select$<$ EOT, Worth\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4.04624cm]{classeo_roulette_worth_select} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ Worth\-T $>$::iterator {\bf worth\-Iterator}\label{classeo_roulette_worth_select_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Roulette\-Worth\-Select} ({\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-T $>$ \&\_\-perf2Worth)\label{classeo_roulette_worth_select_a0} - -\item -virtual void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_roulette_worth_select_a1} - -\begin{CompactList}\small\item\em virtual function to setup some population stats (for instance eo\-Proportional can benefit greatly from this) \item\end{CompactList}\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_roulette_worth_select_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf total}\label{classeo_roulette_worth_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class eo\-Roulette\-Worth\-Select$<$ EOT, Worth\-T $>$} - -An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a ... - -roulette wheel selection, yes! - - - -Definition at line 167 of file eo\-Select\-From\-Worth.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-From\-Worth.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a.eps b/trunk/paradiseo-eo/doc/latex/classeo_s_g_a.eps deleted file mode 100644 index ee100e94e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 153.257 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.2625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSGA< EOT >) cw -(eoAlgo< EOT >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSGA< EOT >) 0.5 0 box - (eoAlgo< EOT >) 0.5 1 box - (eoUF< eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_g_a.tex deleted file mode 100644 index 811eccdd9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a.tex +++ /dev/null @@ -1,62 +0,0 @@ -\section{eo\-SGA$<$ EOT $>$ Class Template Reference} -\label{classeo_s_g_a}\index{eoSGA@{eoSGA}} -The Simple Genetic Algorithm, following Holland and Goldberg. - - -{\tt \#include $<$eo\-SGA.h$>$} - -Inheritance diagram for eo\-SGA$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_s_g_a} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-SGA} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-cross, float \_\-crate, {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-mutate, float \_\-mrate, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, {\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-cont)\label{classeo_s_g_a_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_s_g_a_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Continue}$<$ {\bf EOT} $>$ \& {\bf cont}\label{classeo_s_g_a_r0} - -\item -{\bf eo\-Invalidate\-Mon\-Op}$<$ {\bf EOT} $>$ {\bf mutate}\label{classeo_s_g_a_r1} - -\begin{CompactList}\small\item\em {\bf eo\-Invalidate\-Mon\-Op}{\rm (p.\,\pageref{classeo_invalidate_mon_op})} invalidates the embedded operator \item\end{CompactList}\item -float {\bf mutation\-Rate}\label{classeo_s_g_a_r2} - -\item -{\bf eo\-Invalidate\-Quad\-Op}$<$ {\bf EOT} $>$ {\bf cross}\label{classeo_s_g_a_r3} - -\item -float {\bf crossover\-Rate}\label{classeo_s_g_a_r4} - -\item -{\bf eo\-Select\-Perc}$<$ {\bf EOT} $>$ {\bf select}\label{classeo_s_g_a_r5} - -\item -{\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf eval}\label{classeo_s_g_a_r6} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-SGA$<$ EOT $>$} - -The Simple Genetic Algorithm, following Holland and Goldberg. - -Needs a selector (class {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})}) a crossover (eo\-Quad, i.e. a 2-$>$2 operator) and a mutation with their respective rates, of course an evaluation function ({\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})}) and a continuator ({\bf eo\-Continue}{\rm (p.\,\pageref{classeo_continue})}) which gives the stopping criterion. Performs full generational replacement. - - - -Definition at line 49 of file eo\-SGA.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-SGA.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_gen_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_gen_op.eps deleted file mode 100644 index 9507d2177..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_gen_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.0125 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.49375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSGAGenOp< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSGAGenOp< EOT >) 0.5 0 box - (eoGenOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< eoPopulator< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_gen_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_gen_op.tex deleted file mode 100644 index 70ce55541..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_gen_op.tex +++ /dev/null @@ -1,68 +0,0 @@ -\section{eo\-SGAGen\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_s_g_a_gen_op}\index{eoSGAGenOp@{eoSGAGenOp}} -$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ eo\-SGAGen\-Op (for Simple GA) mimicks the usual crossover with proba p\-Cross + mutation with proba p\-Mut inside an eo\-General\-Op It does it exactly as class {\bf eo\-SGATransform}{\rm (p.\,\pageref{classeo_s_g_a_transform})}, i.e. - - -{\tt \#include $<$eo\-SGAGen\-Op.h$>$} - -Inheritance diagram for eo\-SGAGen\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.54835cm]{classeo_s_g_a_gen_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-SGAGen\-Op} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-cross, double \_\-p\-Cross, {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-mut, double \_\-p\-Mut)\label{classeo_s_g_a_gen_op_a0} - -\begin{CompactList}\small\item\em Ctor from crossover (with proba) and mutation (with proba) Builds the sequential op that first applies a proportional choice between the crossover and nothing (cloning), then the mutation. \item\end{CompactList}\item -virtual void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_s_g_a_gen_op_a1} - -\begin{CompactList}\small\item\em do the job: delegate to op \item\end{CompactList}\item -virtual unsigned {\bf max\_\-production} (void)\label{classeo_s_g_a_gen_op_a2} - -\begin{CompactList}\small\item\em inherited from {\bf eo\-Gen\-Op}{\rm (p.\,\pageref{classeo_gen_op})} \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_s_g_a_gen_op_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \& {\bf cross}\label{classeo_s_g_a_gen_op_r0} - -\item -double {\bf p\-Cross}\label{classeo_s_g_a_gen_op_r1} - -\item -{\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \& {\bf mut}\label{classeo_s_g_a_gen_op_r2} - -\item -double {\bf p\-Mut}\label{classeo_s_g_a_gen_op_r3} - -\item -{\bf eo\-Proportional\-Op}$<$ {\bf EOT} $>$ {\bf prop\-Op}\label{classeo_s_g_a_gen_op_r4} - -\item -{\bf eo\-Quad\-Clone\-Op}$<$ {\bf EOT} $>$ {\bf quad\-Clone}\label{classeo_s_g_a_gen_op_r5} - -\item -{\bf eo\-Sequential\-Op}$<$ {\bf EOT} $>$ {\bf op}\label{classeo_s_g_a_gen_op_r6} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-SGAGen\-Op$<$ EOT $>$} - -$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ eo\-SGAGen\-Op (for Simple GA) mimicks the usual crossover with proba p\-Cross + mutation with proba p\-Mut inside an eo\-General\-Op It does it exactly as class {\bf eo\-SGATransform}{\rm (p.\,\pageref{classeo_s_g_a_transform})}, i.e. - -only accepts quadratic crossover and unary mutation It was introduced for didactic reasons, but seems to be popular :-) - - - -Definition at line 44 of file eo\-SGAGen\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-SGAGen\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_transform.eps b/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_transform.eps deleted file mode 100644 index a3d04bef7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_transform.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 153.257 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.2625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSGATransform< EOT >) cw -(eoTransform< EOT >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSGATransform< EOT >) 0.5 0 box - (eoTransform< EOT >) 0.5 1 box - (eoUF< eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_transform.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_transform.tex deleted file mode 100644 index ee2b55f46..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_g_a_transform.tex +++ /dev/null @@ -1,73 +0,0 @@ -\section{eo\-SGATransform$<$ EOT $>$ Class Template Reference} -\label{classeo_s_g_a_transform}\index{eoSGATransform@{eoSGATransform}} -eo\-SGATransform: transforms a population using genetic operators. - - -{\tt \#include $<$eo\-SGATransform.h$>$} - -Inheritance diagram for eo\-SGATransform$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_s_g_a_transform} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-SGATransform} ({\bf eo\-Quad\-Op}$<$ {\bf EOT} $>$ \&\_\-cross, double \_\-c\-Proba, {\bf eo\-Mon\-Op}$<$ {\bf EOT} $>$ \&\_\-mutate, double \_\-m\-Proba)\label{classeo_s_g_a_transform_a0} - -\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Transforms a population. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Invalidate\-Quad\-Op}$<$ {\bf EOT} $>$ {\bf cross}\label{classeo_s_g_a_transform_r0} - -\item -double {\bf crossover\-Proba}\label{classeo_s_g_a_transform_r1} - -\item -{\bf eo\-Invalidate\-Mon\-Op}$<$ {\bf EOT} $>$ {\bf mutate}\label{classeo_s_g_a_transform_r2} - -\item -double {\bf mutation\-Proba}\label{classeo_s_g_a_transform_r3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-SGATransform$<$ EOT $>$} - -eo\-SGATransform: transforms a population using genetic operators. - -It does it exactly as class {\bf eo\-SGA}{\rm (p.\,\pageref{classeo_s_g_a})}, i.e. only accepts quadratic crossover and unary mutation It is here mainly for tutorial reasons - - - -Definition at line 45 of file eo\-SGATransform.h. - -\subsection{Member Function Documentation} -\index{eoSGATransform@{eo\-SGATransform}!operator()@{operator()}} -\index{operator()@{operator()}!eoSGATransform@{eo\-SGATransform}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-SGATransform}$<$ {\bf EOT} $>$::operator() ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_s_g_a_transform_a1} - - -Transforms a population. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em pop}]The population to be transformed. \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 62 of file eo\-SGATransform.h. - -References eo\-Rng::flip(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-SGATransform.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_det_tournament_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_det_tournament_replacement.eps deleted file mode 100644 index 465d6227b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_det_tournament_replacement.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 134.409 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.72 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSSGADetTournamentReplacement< EOT >) cw -(eoReduceMerge< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSSGADetTournamentReplacement< EOT >) 0.5 0 box - (eoReduceMerge< EOT >) 0.5 1 box - (eoReplacement< EOT >) 0.5 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_det_tournament_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_det_tournament_replacement.tex deleted file mode 100644 index 85dbdf0ac..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_det_tournament_replacement.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-SSGADet\-Tournament\-Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_s_s_g_a_det_tournament_replacement}\index{eoSSGADetTournamentReplacement@{eoSSGADetTournamentReplacement}} -SSGA deterministic tournament replacement. - - -{\tt \#include $<$eo\-Reduce\-Merge.h$>$} - -Inheritance diagram for eo\-SSGADet\-Tournament\-Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.76344cm]{classeo_s_s_g_a_det_tournament_replacement} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-SSGADet\-Tournament\-Replacement} (unsigned \_\-t\_\-size)\label{classeo_s_s_g_a_det_tournament_replacement_a0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Det\-Tournament\-Truncate}$<$ {\bf EOT} $>$ {\bf truncate}\label{classeo_s_s_g_a_det_tournament_replacement_r0} - -\item -{\bf eo\-Plus}$<$ {\bf EOT} $>$ {\bf plus}\label{classeo_s_s_g_a_det_tournament_replacement_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-SSGADet\-Tournament\-Replacement$<$ EOT $>$} - -SSGA deterministic tournament replacement. - -Is an {\bf eo\-Reduce\-Merge}{\rm (p.\,\pageref{classeo_reduce_merge})}. - - - -Definition at line 91 of file eo\-Reduce\-Merge.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Merge.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_stoch_tournament_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_stoch_tournament_replacement.eps deleted file mode 100644 index ffb34d6d5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_stoch_tournament_replacement.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 134.409 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.72 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSSGAStochTournamentReplacement< EOT >) cw -(eoReduceMerge< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSSGAStochTournamentReplacement< EOT >) 0.5 0 box - (eoReduceMerge< EOT >) 0.5 1 box - (eoReplacement< EOT >) 0.5 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_stoch_tournament_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_stoch_tournament_replacement.tex deleted file mode 100644 index 7639b7270..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_stoch_tournament_replacement.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-SSGAStoch\-Tournament\-Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_s_s_g_a_stoch_tournament_replacement}\index{eoSSGAStochTournamentReplacement@{eoSSGAStochTournamentReplacement}} -SSGA stochastic tournament replacement. - - -{\tt \#include $<$eo\-Reduce\-Merge.h$>$} - -Inheritance diagram for eo\-SSGAStoch\-Tournament\-Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.76344cm]{classeo_s_s_g_a_stoch_tournament_replacement} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-SSGAStoch\-Tournament\-Replacement} (double \_\-t\_\-rate)\label{classeo_s_s_g_a_stoch_tournament_replacement_a0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Stoch\-Tournament\-Truncate}$<$ {\bf EOT} $>$ {\bf truncate}\label{classeo_s_s_g_a_stoch_tournament_replacement_r0} - -\item -{\bf eo\-Plus}$<$ {\bf EOT} $>$ {\bf plus}\label{classeo_s_s_g_a_stoch_tournament_replacement_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-SSGAStoch\-Tournament\-Replacement$<$ EOT $>$} - -SSGA stochastic tournament replacement. - -Is an {\bf eo\-Reduce\-Merge}{\rm (p.\,\pageref{classeo_reduce_merge})}. It much cleaner to insert directly the offspring in the parent population, but it is NOT equivalent in case of more than 1 offspring as already replaced could be removed , which is not possible in the {\bf eo\-Reduce\-Merge}{\rm (p.\,\pageref{classeo_reduce_merge})} So what the heck ! - - - -Definition at line 108 of file eo\-Reduce\-Merge.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Merge.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_worse_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_worse_replacement.eps deleted file mode 100644 index 54228ed1d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_worse_replacement.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 134.409 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.72 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSSGAWorseReplacement< EOT >) cw -(eoReduceMerge< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSSGAWorseReplacement< EOT >) 0.5 0 box - (eoReduceMerge< EOT >) 0.5 1 box - (eoReplacement< EOT >) 0.5 2 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box - (eoFunctorBase) 0 4 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_worse_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_worse_replacement.tex deleted file mode 100644 index f59309bcc..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_s_g_a_worse_replacement.tex +++ /dev/null @@ -1,38 +0,0 @@ -\section{eo\-SSGAWorse\-Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_s_s_g_a_worse_replacement}\index{eoSSGAWorseReplacement@{eoSSGAWorseReplacement}} -SSGA replace worst. - - -{\tt \#include $<$eo\-Reduce\-Merge.h$>$} - -Inheritance diagram for eo\-SSGAWorse\-Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.76344cm]{classeo_s_s_g_a_worse_replacement} -\end{center} -\end{figure} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Linear\-Truncate}$<$ {\bf EOT} $>$ {\bf truncate}\label{classeo_s_s_g_a_worse_replacement_r0} - -\item -{\bf eo\-Plus}$<$ {\bf EOT} $>$ {\bf plus}\label{classeo_s_s_g_a_worse_replacement_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-SSGAWorse\-Replacement$<$ EOT $>$} - -SSGA replace worst. - -Is an {\bf eo\-Reduce\-Merge}{\rm (p.\,\pageref{classeo_reduce_merge})}. - - - -Definition at line 77 of file eo\-Reduce\-Merge.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Merge.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_b_f.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_b_f.tex deleted file mode 100644 index d970ad2fc..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_b_f.tex +++ /dev/null @@ -1,40 +0,0 @@ -\section{eo\-STLBF$<$ A1, A2, R $>$ Class Template Reference} -\label{classeo_s_t_l_b_f}\index{eoSTLBF@{eoSTLBF}} -Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e. - - -{\tt \#include $<$eo\-STLFunctor.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-STLBF} ({\bf eo\-UF}$<$ A1, R $>$ \&\_\-f)\label{classeo_s_t_l_b_f_a0} - -\item -R {\bf operator()} (A1 a1, A2 a2)\label{classeo_s_t_l_b_f_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-BF}$<$ A1, A2, R $>$ \& {\bf f}\label{classeo_s_t_l_b_f_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class A1, class A2, class R$>$ class eo\-STLBF$<$ A1, A2, R $>$} - -Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e. - -they can be passed by value, rather than the {\bf EO}{\rm (p.\,\pageref{class_e_o})} standard pass by reference). - -The family consists of {\bf eo\-STLF}{\rm (p.\,\pageref{classeo_s_t_l_f})}, {\bf eo\-STLUF}{\rm (p.\,\pageref{classeo_s_t_l_u_f})}, eo\-STLBF that modify {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} and {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} respectively - - - -Definition at line 101 of file eo\-STLFunctor.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-STLFunctor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_f.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_f.tex deleted file mode 100644 index 0dc50d270..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_f.tex +++ /dev/null @@ -1,46 +0,0 @@ -\section{eo\-STLF$<$ R $>$ Class Template Reference} -\label{classeo_s_t_l_f}\index{eoSTLF@{eoSTLF}} -Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e. - - -{\tt \#include $<$eo\-STLFunctor.h$>$} - -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef R {\bf result\_\-type}\label{classeo_s_t_l_f_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-STLF} ({\bf eo\-F}$<$ R $>$ \&\_\-f)\label{classeo_s_t_l_f_a0} - -\item -R {\bf operator()} (void)\label{classeo_s_t_l_f_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-F}$<$ R $>$ \& {\bf f}\label{classeo_s_t_l_f_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class R$>$ class eo\-STLF$<$ R $>$} - -Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e. - -they can be passed by value, rather than the {\bf EO}{\rm (p.\,\pageref{class_e_o})} standard pass by reference). - -The family consists of eo\-STLF, {\bf eo\-STLUF}{\rm (p.\,\pageref{classeo_s_t_l_u_f})}, {\bf eo\-STLBF}{\rm (p.\,\pageref{classeo_s_t_l_b_f})} that modify {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} and {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} respectively - - - -Definition at line 41 of file eo\-STLFunctor.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-STLFunctor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_u_f.tex b/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_u_f.tex deleted file mode 100644 index cdb626022..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_s_t_l_u_f.tex +++ /dev/null @@ -1,40 +0,0 @@ -\section{eo\-STLUF$<$ A1, R $>$ Class Template Reference} -\label{classeo_s_t_l_u_f}\index{eoSTLUF@{eoSTLUF}} -Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e. - - -{\tt \#include $<$eo\-STLFunctor.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-STLUF} ({\bf eo\-UF}$<$ A1, R $>$ \&\_\-f)\label{classeo_s_t_l_u_f_a0} - -\item -R {\bf operator()} (A1 a)\label{classeo_s_t_l_u_f_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-UF}$<$ A1, R $>$ \& {\bf f}\label{classeo_s_t_l_u_f_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class A1, class R$>$ class eo\-STLUF$<$ A1, R $>$} - -Generic set of classes that wrap an {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} or {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} so that they have the copy semantics the STL functions usually require (i.e. - -they can be passed by value, rather than the {\bf EO}{\rm (p.\,\pageref{class_e_o})} standard pass by reference). - -The family consists of {\bf eo\-STLF}{\rm (p.\,\pageref{classeo_s_t_l_f})}, eo\-STLUF, {\bf eo\-STLBF}{\rm (p.\,\pageref{classeo_s_t_l_b_f})} that modify {\bf eo\-F}{\rm (p.\,\pageref{classeo_f})}, {\bf eo\-UF}{\rm (p.\,\pageref{classeo_u_f})} and {\bf eo\-BF}{\rm (p.\,\pageref{classeo_b_f})} respectively - - - -Definition at line 78 of file eo\-STLFunctor.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-STLFunctor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness.tex b/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness.tex deleted file mode 100644 index ab3888631..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness.tex +++ /dev/null @@ -1,61 +0,0 @@ -\section{eo\-Scalar\-Fitness$<$ Scalar\-Type, Compare $>$ Class Template Reference} -\label{classeo_scalar_fitness}\index{eoScalarFitness@{eoScalarFitness}} -eo\-Scalar\-Fitness$<$Scalar\-Type, Compare = less$<$Scalar\-Type$>$ $>$: Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less$<$Scalar\-Type$>$) or minimizing (using greater$<$Scalar\-Type$>$) - - -{\tt \#include $<$eo\-Scalar\-Fitness.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Scalar\-Fitness} (const {\bf eo\-Scalar\-Fitness} \&other)\label{classeo_scalar_fitness_a1} - -\item -{\bf eo\-Scalar\-Fitness} (const Scalar\-Type \&v)\label{classeo_scalar_fitness_a2} - -\item -{\bf eo\-Scalar\-Fitness} \& {\bf operator=} (const {\bf eo\-Scalar\-Fitness} \&other)\label{classeo_scalar_fitness_a3} - -\item -{\bf eo\-Scalar\-Fitness} \& {\bf operator=} (const Scalar\-Type \&v)\label{classeo_scalar_fitness_a4} - -\item -{\bf operator Scalar\-Type} (void) const \label{classeo_scalar_fitness_a5} - -\item -bool {\bf operator$<$} (const {\bf eo\-Scalar\-Fitness} \&other) const \label{classeo_scalar_fitness_a6} - -\begin{CompactList}\small\item\em Comparison, using less by default. \item\end{CompactList}\item -bool {\bf operator$>$} (const {\bf eo\-Scalar\-Fitness}$<$ Scalar\-Type, Compare $>$ \&y) const \label{classeo_scalar_fitness_a7} - -\item -bool {\bf operator$<$=} (const {\bf eo\-Scalar\-Fitness}$<$ Scalar\-Type, Compare $>$ \&y) const \label{classeo_scalar_fitness_a8} - -\item -bool {\bf operator$>$=} (const {\bf eo\-Scalar\-Fitness}$<$ Scalar\-Type, Compare $>$ \&y) const \label{classeo_scalar_fitness_a9} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Scalar\-Type {\bf value}\label{classeo_scalar_fitness_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Scalar\-Type, class Compare$>$ class eo\-Scalar\-Fitness$<$ Scalar\-Type, Compare $>$} - -eo\-Scalar\-Fitness$<$Scalar\-Type, Compare = less$<$Scalar\-Type$>$ $>$: Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less$<$Scalar\-Type$>$) or minimizing (using greater$<$Scalar\-Type$>$) - -It overrides {\bf operator$<$()}{\rm (p.\,\pageref{classeo_scalar_fitness_a6})} to use the Compare template argument - -Suitable constructors and assignments and casts are defined to work with this quantity as if it were a Scalar\-Type. - - - -Definition at line 43 of file eo\-Scalar\-Fitness.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Scalar\-Fitness.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_assembled.tex b/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_assembled.tex deleted file mode 100644 index f296957a0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_assembled.tex +++ /dev/null @@ -1,111 +0,0 @@ -\section{eo\-Scalar\-Fitness\-Assembled$<$ Scalar\-Type, Compare, Fitness\-Traits $>$ Class Template Reference} -\label{classeo_scalar_fitness_assembled}\index{eoScalarFitnessAssembled@{eoScalarFitnessAssembled}} -Implements fitness as std::vector, storing all values that might occur during fitness assembly. - - -{\tt \#include $<$eo\-Scalar\-Fitness\-Assembled.h$>$} - -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ Scalar\-Type $>$ {\bf base\-Vector}\label{classeo_scalar_fitness_assembled_w0} - -\item -typedef base\-Vector::size\_\-type {\bf size\_\-type}\label{classeo_scalar_fitness_assembled_w1} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Scalar\-Fitness\-Assembled} (size\_\-type \_\-n, const Scalar\-Type \&\_\-val, const std::string \&\_\-descr=\char`\"{}Unnamed variable\char`\"{})\label{classeo_scalar_fitness_assembled_a1} - -\item -{\bf eo\-Scalar\-Fitness\-Assembled} (const {\bf eo\-Scalar\-Fitness\-Assembled} \&other)\label{classeo_scalar_fitness_assembled_a2} - -\item -{\bf eo\-Scalar\-Fitness\-Assembled} \& {\bf operator=} (const {\bf eo\-Scalar\-Fitness\-Assembled} \&other)\label{classeo_scalar_fitness_assembled_a3} - -\item -{\bf eo\-Scalar\-Fitness\-Assembled} (const Scalar\-Type \&v)\label{classeo_scalar_fitness_assembled_a4} - -\item -{\bf eo\-Scalar\-Fitness\-Assembled} \& {\bf operator=} (const Scalar\-Type \&v)\label{classeo_scalar_fitness_assembled_a5} - -\item -void {\bf push\_\-back} (const Scalar\-Type \&\_\-val)\label{classeo_scalar_fitness_assembled_a6} - -\begin{CompactList}\small\item\em Overload {\bf push\_\-back()}{\rm (p.\,\pageref{classeo_scalar_fitness_assembled_a6})}. \item\end{CompactList}\item -void {\bf push\_\-back} (const Scalar\-Type \&\_\-val, const std::string \&\_\-descr)\label{classeo_scalar_fitness_assembled_a7} - -\begin{CompactList}\small\item\em Overload {\bf push\_\-back()}{\rm (p.\,\pageref{classeo_scalar_fitness_assembled_a6})}. \item\end{CompactList}\item -void {\bf resize} (size\_\-type \_\-n, const Scalar\-Type \&\_\-val=Scalar\-Type(), const std::string \&\_\-descr=\char`\"{}Unnamed variable\char`\"{})\label{classeo_scalar_fitness_assembled_a8} - -\begin{CompactList}\small\item\em Overload {\bf resize()}{\rm (p.\,\pageref{classeo_scalar_fitness_assembled_a8})}. \item\end{CompactList}\item -void {\bf set\-Description} (size\_\-type \_\-idx, std::string \_\-descr)\label{classeo_scalar_fitness_assembled_a9} - -\begin{CompactList}\small\item\em Set description. \item\end{CompactList}\item -std::string {\bf get\-Description} (size\_\-type \_\-idx)\label{classeo_scalar_fitness_assembled_a10} - -\begin{CompactList}\small\item\em Get description. \item\end{CompactList}\item -std::vector$<$ std::string $>$ {\bf get\-Description\-Vector} ()\label{classeo_scalar_fitness_assembled_a11} - -\begin{CompactList}\small\item\em Get vector with descriptions. \item\end{CompactList}\item -{\bf operator Scalar\-Type} (void) const \label{classeo_scalar_fitness_assembled_a12} - -\item -void {\bf print\-All} (std::ostream \&os) const \label{classeo_scalar_fitness_assembled_a13} - -\begin{CompactList}\small\item\em Print term values and descriptions. \item\end{CompactList}\item -bool {\bf operator$<$} (const {\bf eo\-Scalar\-Fitness\-Assembled} \&other) const \label{classeo_scalar_fitness_assembled_a14} - -\item -bool {\bf operator$>$} (const {\bf eo\-Scalar\-Fitness\-Assembled}$<$ Scalar\-Type, Compare, Fitness\-Traits $>$ \&y) const \label{classeo_scalar_fitness_assembled_a15} - -\item -bool {\bf operator$<$=} (const {\bf eo\-Scalar\-Fitness\-Assembled}$<$ Scalar\-Type, Compare, Fitness\-Traits $>$ \&y) const \label{classeo_scalar_fitness_assembled_a16} - -\item -bool {\bf operator$>$=} (const {\bf eo\-Scalar\-Fitness\-Assembled}$<$ Scalar\-Type, Compare, Fitness\-Traits $>$ \&y) const \label{classeo_scalar_fitness_assembled_a17} - -\end{CompactItemize} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -bool {\bf feasible}\label{classeo_scalar_fitness_assembled_o0} - -\begin{CompactList}\small\item\em Can be specified anywhere in fitness evaluation as an indicator if the individual is in some feasible range. \item\end{CompactList}\item -bool {\bf failed}\label{classeo_scalar_fitness_assembled_o1} - -\begin{CompactList}\small\item\em Can be specified anywhere in fitness evaluation as an indicator if the evaluation of the individual failed. \item\end{CompactList}\item -std::string {\bf msg} -\begin{CompactList}\small\item\em Can be specified anywhere in fitness evaluation. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Scalar\-Type, class Compare, class Fitness\-Traits$>$ class eo\-Scalar\-Fitness\-Assembled$<$ Scalar\-Type, Compare, Fitness\-Traits $>$} - -Implements fitness as std::vector, storing all values that might occur during fitness assembly. - -Properties:\begin{itemize} -\item Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less$<$Scalar\-Type$>$) or minimizing (using greater$<$Scalar\-Type$>$).\item Stores all kinda different values met during fitness assembly, to be defined in {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})}.\item It overrides operator$<$() to use the Compare template argument.\item Suitable constructors and assignments and casts are defined to work with this quantity as if it were a Scalar\-Type.\item Global fitness value is stored as first element in the vector \end{itemize} - - - - -Definition at line 88 of file eo\-Scalar\-Fitness\-Assembled.h. - -\subsection{Member Data Documentation} -\index{eoScalarFitnessAssembled@{eo\-Scalar\-Fitness\-Assembled}!msg@{msg}} -\index{msg@{msg}!eoScalarFitnessAssembled@{eo\-Scalar\-Fitness\-Assembled}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar\-Type, class Compare, class Fitness\-Traits$>$ std::string {\bf eo\-Scalar\-Fitness\-Assembled}$<$ Scalar\-Type, Compare, Fitness\-Traits $>$::{\bf msg}}\label{classeo_scalar_fitness_assembled_o2} - - -Can be specified anywhere in fitness evaluation. - -Typically used to store some sort of error messages, if evaluation of individual failed. - -Definition at line 195 of file eo\-Scalar\-Fitness\-Assembled.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Scalar\-Fitness\-Assembled.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_assembled_traits.tex b/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_assembled_traits.tex deleted file mode 100644 index 91fb24af3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_assembled_traits.tex +++ /dev/null @@ -1,54 +0,0 @@ -\section{eo\-Scalar\-Fitness\-Assembled\-Traits Class Reference} -\label{classeo_scalar_fitness_assembled_traits}\index{eoScalarFitnessAssembledTraits@{eoScalarFitnessAssembledTraits}} -Defines properties of {\bf eo\-Scalar\-Fitness\-Assembled}{\rm (p.\,\pageref{classeo_scalar_fitness_assembled})}. - - -{\tt \#include $<$eo\-Scalar\-Fitness\-Assembled.h$>$} - -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ std::string $>$::size\_\-type {\bf size\_\-type}\label{classeo_scalar_fitness_assembled_traits_w0} - -\end{CompactItemize} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -void {\bf set\-Description} (size\_\-type \_\-idx, std::string \_\-descr)\label{classeo_scalar_fitness_assembled_traits_e0} - -\item -std::string {\bf get\-Description} (size\_\-type \_\-idx)\label{classeo_scalar_fitness_assembled_traits_e1} - -\item -void {\bf resize} (size\_\-type \_\-n, const std::string \&\_\-descr)\label{classeo_scalar_fitness_assembled_traits_e2} - -\item -size\_\-type {\bf size} ()\label{classeo_scalar_fitness_assembled_traits_e3} - -\item -std::vector$<$ std::string $>$ {\bf get\-Description\-Vector} ()\label{classeo_scalar_fitness_assembled_traits_e4} - -\end{CompactItemize} -\subsection*{Static Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ std::string $>$ {\bf Term\-Descriptions}\label{classeo_scalar_fitness_assembled_traits_v0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Defines properties of {\bf eo\-Scalar\-Fitness\-Assembled}{\rm (p.\,\pageref{classeo_scalar_fitness_assembled})}. - -Properties that are hold in this traits class:\begin{itemize} -\item std::vector$<$std::string$>$ to hold descriptions of the different fitness terms \end{itemize} - - - - -Definition at line 43 of file eo\-Scalar\-Fitness\-Assembled.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Scalar\-Fitness\-Assembled.h\item -eo\-Scalar\-Fitness\-Assembled.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_stat.eps deleted file mode 100644 index 3025f9ca6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.3242 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.475 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoScalarFitnessStat< EOT, FitT >) cw -(eoSortedStat< EOT, std::vector< double > >) cw -(eoSortedStatBase< EOT >) cw -(eoValueParam< std::vector< double > >) cw -(eoUF< const std::vector< const EOT * > &, void >) cw -(eoParam) cw -(eoFunctorBase) cw -(unary_function< const std::vector< const EOT * > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoScalarFitnessStat< EOT, FitT >) 1 0 box - (eoSortedStat< EOT, std::vector< double > >) 1 1 box - (eoSortedStatBase< EOT >) 0.5 2 box - (eoValueParam< std::vector< double > >) 1.5 2 box - (eoUF< const std::vector< const EOT * > &, void >) 0.5 3 box - (eoParam) 1.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< const std::vector< const EOT * > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 1.5 2 in -solid -0 1.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 1.5 3 in -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_stat.tex deleted file mode 100644 index 6dfee3e92..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_scalar_fitness_stat.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-Scalar\-Fitness\-Stat$<$ EOT, Fit\-T $>$ Class Template Reference} -\label{classeo_scalar_fitness_stat}\index{eoScalarFitnessStat@{eoScalarFitnessStat}} -The fitnesses of a whole population, as a std::vector. - - -{\tt \#include $<$eo\-Scalar\-Fitness\-Stat.h$>$} - -Inheritance diagram for eo\-Scalar\-Fitness\-Stat$<$ EOT, Fit\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.55708cm]{classeo_scalar_fitness_stat} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Scalar\-Fitness\-Stat} (std::string \_\-description=\char`\"{}Fitness\-ES\char`\"{}, eo\-Real\-Vector\-Bounds \&\_\-bounds=eo\-Dummy\-Vector\-No\-Bounds)\label{classeo_scalar_fitness_stat_a0} - -\item -virtual void {\bf operator()} (const std::vector$<$ const {\bf EOT} $\ast$ $>$ \&\_\-pop\-Pters)\label{classeo_scalar_fitness_stat_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Bounds} \& {\bf range}\label{classeo_scalar_fitness_stat_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Fit\-T = typename EOT::Fitness$>$ class eo\-Scalar\-Fitness\-Stat$<$ EOT, Fit\-T $>$} - -The fitnesses of a whole population, as a std::vector. - - - -Definition at line 37 of file eo\-Scalar\-Fitness\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Scalar\-Fitness\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_second_moment_stats.eps b/trunk/paradiseo-eo/doc/latex/classeo_second_moment_stats.eps deleted file mode 100644 index cffe530dd..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_second_moment_stats.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 112.613 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.44 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSecondMomentStats< EOT >) cw -(eoStat< EOT, std::pair< double, double > >) cw -(eoValueParam< std::pair< double, double > >) cw -(eoStatBase< EOT >) cw -(eoParam) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSecondMomentStats< EOT >) 0.5 0 box - (eoStat< EOT, std::pair< double, double > >) 0.5 1 box - (eoValueParam< std::pair< double, double > >) 0 2 box - (eoStatBase< EOT >) 1 2 box - (eoParam) 0 3 box - (eoUF< const eoPop< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< const eoPop< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -0 1 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_second_moment_stats.tex b/trunk/paradiseo-eo/doc/latex/classeo_second_moment_stats.tex deleted file mode 100644 index 2b243d20e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_second_moment_stats.tex +++ /dev/null @@ -1,56 +0,0 @@ -\section{eo\-Second\-Moment\-Stats$<$ EOT $>$ Class Template Reference} -\label{classeo_second_moment_stats}\index{eoSecondMomentStats@{eoSecondMomentStats}} -Average fitness + Std. - - -{\tt \#include $<$eo\-Stat.h$>$} - -Inheritance diagram for eo\-Second\-Moment\-Stats$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.15315cm]{classeo_second_moment_stats} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf fitness\_\-type}\label{classeo_second_moment_stats_w0} - -\item -typedef std::pair$<$ double, double $>$ {\bf Square\-Pair}\label{classeo_second_moment_stats_w1} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Second\-Moment\-Stats} (std::string \_\-description=\char`\"{}Average \& Stdev\char`\"{})\label{classeo_second_moment_stats_a0} - -\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_second_moment_stats_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_second_moment_stats_a2} - -\end{CompactItemize} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -Square\-Pair {\bf sum\-Of\-Squares} (Square\-Pair \_\-sq, const {\bf EOT} \&\_\-eo)\label{classeo_second_moment_stats_e0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Second\-Moment\-Stats$<$ EOT $>$} - -Average fitness + Std. - -dev. of a population, fitness needs to be scalar. - - - -Definition at line 168 of file eo\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_segment_crossover.eps b/trunk/paradiseo-eo/doc/latex/classeo_segment_crossover.eps deleted file mode 100644 index c7998efc8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_segment_crossover.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSegmentCrossover< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSegmentCrossover< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_segment_crossover.tex b/trunk/paradiseo-eo/doc/latex/classeo_segment_crossover.tex deleted file mode 100644 index a61b6ba80..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_segment_crossover.tex +++ /dev/null @@ -1,105 +0,0 @@ -\section{eo\-Segment\-Crossover$<$ EOT $>$ Class Template Reference} -\label{classeo_segment_crossover}\index{eoSegmentCrossover@{eoSegmentCrossover}} -eo\-Segment\-Crossover --$>$ uniform choice in segment == arithmetical with same value along all coordinates - - -{\tt \#include $<$Tutorial/eo\-Real\-Op.h$>$} - -Inheritance diagram for eo\-Segment\-Crossover$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_segment_crossover} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Segment\-Crossover} (const double \&\_\-alpha=0.0) -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -{\bf eo\-Segment\-Crossover} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, const double \&\_\-alpha=0.0) -\begin{CompactList}\small\item\em Constructor with bounds. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_segment_crossover_a2} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2) -\begin{CompactList}\small\item\em segment crossover - modifies both parents \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Real\-Vector\-Bounds} \& {\bf bounds}\label{classeo_segment_crossover_p0} - -\item -double {\bf alpha}\label{classeo_segment_crossover_p1} - -\item -double {\bf range}\label{classeo_segment_crossover_p2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Segment\-Crossover$<$ EOT $>$} - -eo\-Segment\-Crossover --$>$ uniform choice in segment == arithmetical with same value along all coordinates - - - -Definition at line 247 of file eo\-Real\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoSegmentCrossover@{eo\-Segment\-Crossover}!eoSegmentCrossover@{eoSegmentCrossover}} -\index{eoSegmentCrossover@{eoSegmentCrossover}!eoSegmentCrossover@{eo\-Segment\-Crossover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Segment\-Crossover}$<$ {\bf EOT} $>$::{\bf eo\-Segment\-Crossover} (const double \& {\em \_\-alpha} = {\tt 0.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_segment_crossover_a0} - - -(Default) Constructor. - -The bounds are initialized with the global object that says: no bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-alpha\-Min}]the amount of exploration OUTSIDE the parents as in BLX-alpha notation (Eshelman and Schaffer) 0 == contractive application Must be positive \end{description} -\end{Desc} - - -Definition at line 259 of file eo\-Real\-Op.h.\index{eoSegmentCrossover@{eo\-Segment\-Crossover}!eoSegmentCrossover@{eoSegmentCrossover}} -\index{eoSegmentCrossover@{eoSegmentCrossover}!eoSegmentCrossover@{eo\-Segment\-Crossover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Segment\-Crossover}$<$ {\bf EOT} $>$::{\bf eo\-Segment\-Crossover} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, const double \& {\em \_\-alpha} = {\tt 0.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_segment_crossover_a1} - - -Constructor with bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]an {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} that contains the bounds \item[{\em \_\-alpha\-Min}]the amount of exploration OUTSIDE the parents as in BLX-alpha notation (Eshelman and Schaffer) 0 == contractive application Must be positive \end{description} -\end{Desc} - - -Definition at line 270 of file eo\-Real\-Op.h. - -\subsection{Member Function Documentation} -\index{eoSegmentCrossover@{eo\-Segment\-Crossover}!operator()@{operator()}} -\index{operator()@{operator()}!eoSegmentCrossover@{eo\-Segment\-Crossover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf eo\-Segment\-Crossover}$<$ {\bf EOT} $>$::operator() ({\bf EOT} \& {\em \_\-eo1}, {\bf EOT} \& {\em \_\-eo2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_segment_crossover_a3} - - -segment crossover - modifies both parents - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The first parent \item[{\em \_\-eo2}]The first parent \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ EOT \&, EOT \&, bool $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 282 of file eo\-Real\-Op.h. - -References eo\-Real\-Base\-Vector\-Bounds::is\-Max\-Bounded(), eo\-Real\-Base\-Vector\-Bounds::is\-Min\-Bounded(), eo\-Real\-Base\-Vector\-Bounds::maximum(), eo\-Real\-Base\-Vector\-Bounds::minimum(), and eo\-Rng::uniform(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sel_bin_gen_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_sel_bin_gen_op.eps deleted file mode 100644 index e23ef65e9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sel_bin_gen_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.0125 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.49375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelBinGenOp< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelBinGenOp< EOT >) 0.5 0 box - (eoGenOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< eoPopulator< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sel_bin_gen_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_sel_bin_gen_op.tex deleted file mode 100644 index 4d741f39e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sel_bin_gen_op.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Sel\-Bin\-Gen\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_sel_bin_gen_op}\index{eoSelBinGenOp@{eoSelBinGenOp}} -wrapper for {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})} with a selector - - -{\tt \#include $<$eo\-Gen\-Op.h$>$} - -Inheritance diagram for eo\-Sel\-Bin\-Gen\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.54835cm]{classeo_sel_bin_gen_op} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Sel\-Bin\-Gen\-Op} ({\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \&\_\-op, {\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-sel)\label{classeo_sel_bin_gen_op_a0} - -\item -unsigned {\bf max\_\-production} (void)\label{classeo_sel_bin_gen_op_a1} - -\begin{CompactList}\small\item\em Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \item\end{CompactList}\item -void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_sel_bin_gen_op_a2} - -\begin{CompactList}\small\item\em the function that will do the work \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_sel_bin_gen_op_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Bin\-Op}$<$ {\bf EOT} $>$ \& {\bf op}\label{classeo_sel_bin_gen_op_r0} - -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf sel}\label{classeo_sel_bin_gen_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Sel\-Bin\-Gen\-Op$<$ EOT $>$} - -wrapper for {\bf eo\-Bin\-Op}{\rm (p.\,\pageref{classeo_bin_op})} with a selector - - - -Definition at line 133 of file eo\-Gen\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Gen\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_select.eps deleted file mode 100644 index 8ec498192..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select.eps +++ /dev/null @@ -1,241 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 28.08 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 17.8062 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 7 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelect< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoDetSelect< EOT >) cw -(eoEasyEA< EOT >::eoDummySelect) cw -(eoSelectMany< EOT >) cw -(eoSelectNumber< EOT >) cw -(eoSelectPerc< EOT >) cw -(eoTruncatedSelectMany< EOT >) cw -(eoTruncSelect< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelect< EOT >) 3 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 3 2 box - (eoFunctorBase) 2.5 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 3.5 3 box - (eoDetSelect< EOT >) 0 0 box - (eoEasyEA< EOT >::eoDummySelect) 1 0 box - (eoSelectMany< EOT >) 2 0 box - (eoSelectNumber< EOT >) 3 0 box - (eoSelectPerc< EOT >) 4 0 box - (eoTruncatedSelectMany< EOT >) 5 0 box - (eoTruncSelect< EOT >) 6 0 box - -% ----- relations ----- - -solid -0 3 1 out -solid -1 3 2 in -solid -0 3 2 out -solid -2.5 3.5 3 conn -solid -1 2.5 3 in -solid -1 3.5 3 in -solid -1 3 0.25 out -solid -0 6 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in -solid -0 4 0.75 in -solid -0 5 0.75 in -solid -0 6 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_select.tex deleted file mode 100644 index 0e4ca7651..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select.tex +++ /dev/null @@ -1,29 +0,0 @@ -\section{eo\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_select}\index{eoSelect@{eoSelect}} -eo\-Select selects a number of individuals from the first argument and puts it in the second. - - -{\tt \#include $<$eo\-Select.h$>$} - -Inheritance diagram for eo\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=0.786241cm]{classeo_select} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Select$<$ EOT $>$} - -eo\-Select selects a number of individuals from the first argument and puts it in the second. - -To emphasize that it should not try to enlarge the population, the second argument is an eo\-Pop\-Range, a simple struct that holds a begin and end iterator to the population - - - -Definition at line 40 of file eo\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_factory.eps b/trunk/paradiseo-eo/doc/latex/classeo_select_factory.eps deleted file mode 100644 index f6b99f613..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_factory.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 300 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.66667 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelectFactory< EOT >) cw -(eoFactory< eoSelect< EOT > >) cw -(eoObject) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelectFactory< EOT >) 0 0 box - (eoFactory< eoSelect< EOT > >) 0 1 box - (eoObject) 0 2 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_factory.tex b/trunk/paradiseo-eo/doc/latex/classeo_select_factory.tex deleted file mode 100644 index d53b02e6d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_factory.tex +++ /dev/null @@ -1,70 +0,0 @@ -\section{eo\-Select\-Factory$<$ EOT $>$ Class Template Reference} -\label{classeo_select_factory}\index{eoSelectFactory@{eoSelectFactory}} -{\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory.An instance of the factory class to create selectors, that is, {\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})} objects. - - -{\tt \#include $<$eo\-Select\-Factory.h$>$} - -Inheritance diagram for eo\-Select\-Factory$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_select_factory} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf eo\-Select}$<$ {\bf EOT} $>$ $\ast$ {\bf make} (std::istream \&\_\-is) -\begin{CompactList}\small\item\em Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. \item\end{CompactList}\end{CompactItemize} -\begin{Indent}{\bf ctors and dtors}\par -\begin{CompactItemize} -\item -{\bf eo\-Select\-Factory} ()\label{classeo_select_factory_z20_0} - -\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Select\-Factory} ()\label{classeo_select_factory_z20_1} - -\begin{CompactList}\small\item\em destructor \item\end{CompactList}\end{CompactItemize} -\end{Indent} -\begin{Indent}{\bf eo\-Object methods}\par -\begin{CompactItemize} -\item -void {\bf print\-On} (std::ostream \&\_\-os) const \label{classeo_select_factory_z22_0} - -\item -void {\bf read\-From} (std::istream \&\_\-is)\label{classeo_select_factory_z22_1} - -\end{CompactItemize} -\end{Indent} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Select\-Factory$<$ EOT $>$} - -{\bf EO}{\rm (p.\,\pageref{class_e_o})} Factory.An instance of the factory class to create selectors, that is, {\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})} objects. - -\begin{Desc} -\item[See also:]{\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})} \end{Desc} - - - - -Definition at line 39 of file eo\-Select\-Factory.h. - -\subsection{Member Function Documentation} -\index{eoSelectFactory@{eo\-Select\-Factory}!make@{make}} -\index{make@{make}!eoSelectFactory@{eo\-Select\-Factory}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual {\bf eo\-Select}$<${\bf EOT}$>$$\ast$ {\bf eo\-Select\-Factory}$<$ {\bf EOT} $>$::make (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_select_factory_a0} - - -Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. - -Usually, the format for the std::istream will be$\backslash$ object\-Type parameter1 parameter2 ... parametern$\backslash$ - -Implements {\bf eo\-Factory$<$ eo\-Select$<$ EOT $>$ $>$} {\rm (p.\,\pageref{classeo_factory_a0})}. - -Definition at line 56 of file eo\-Select\-Factory.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-Factory.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_from_worth.eps b/trunk/paradiseo-eo/doc/latex/classeo_select_from_worth.eps deleted file mode 100644 index 04e8e9927..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_from_worth.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelectFromWorth< EOT, WorthType >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelectFromWorth< EOT, WorthType >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_from_worth.tex b/trunk/paradiseo-eo/doc/latex/classeo_select_from_worth.tex deleted file mode 100644 index 1cff43319..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_from_worth.tex +++ /dev/null @@ -1,59 +0,0 @@ -\section{eo\-Select\-From\-Worth$<$ EOT, Worth\-Type $>$ Class Template Reference} -\label{classeo_select_from_worth}\index{eoSelectFromWorth@{eoSelectFromWorth}} -selects one element from a population (is an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})}) but the selection is based on a std::vector of Worth that is different from the fitnesses (e.g. - - -{\tt \#include $<$eo\-Select\-From\-Worth.h$>$} - -Inheritance diagram for eo\-Select\-From\-Worth$<$ EOT, Worth\-Type $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_select_from_worth} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Select\-From\-Worth} ({\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-Type $>$ \&\_\-perf2Worth)\label{classeo_select_from_worth_a0} - -\item -virtual void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&pop)\label{classeo_select_from_worth_a1} - -\begin{CompactList}\small\item\em virtual function to setup some population stats (for instance eo\-Proportional can benefit greatly from this) \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Member Functions} -\begin{CompactItemize} -\item -void {\bf check\_\-sync} (unsigned index, const {\bf EOT} \&\_\-eo)\label{classeo_select_from_worth_b0} - -\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-Type $>$ \& {\bf perf2Worth}\label{classeo_select_from_worth_p0} - -\item -std::vector$<$ typename EOT::Fitness $>$ {\bf fitness}\label{classeo_select_from_worth_p1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-Type = double$>$ class eo\-Select\-From\-Worth$<$ EOT, Worth\-Type $>$} - -selects one element from a population (is an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})}) but the selection is based on a std::vector of Worth that is different from the fitnesses (e.g. - -{\bf EO}{\rm (p.\,\pageref{class_e_o})} fitness is what Koza terms \char`\"{}raw fitness\char`\"{}, Worth is what the selection is based upon). - -see class {\bf eo\-Perf2Worth}{\rm (p.\,\pageref{classeo_perf2_worth})}: an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})} that transforms fitnesses into Worthes - -Note: Worthes will not always be doubles - see some multi-objective techniques where it is a std::pair of doubles ... - -It has to have a $<$ operator it you want to call an existing selector (see selector.h) - but of course you can write the whole thing ... - - - -Definition at line 51 of file eo\-Select\-From\-Worth.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-From\-Worth.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_many.eps b/trunk/paradiseo-eo/doc/latex/classeo_select_many.eps deleted file mode 100644 index 577c69652..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_many.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelectMany< EOT >) cw -(eoSelect< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelectMany< EOT >) 0.5 0 box - (eoSelect< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_many.tex b/trunk/paradiseo-eo/doc/latex/classeo_select_many.tex deleted file mode 100644 index c0771497c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_many.tex +++ /dev/null @@ -1,72 +0,0 @@ -\section{eo\-Select\-Many$<$ EOT $>$ Class Template Reference} -\label{classeo_select_many}\index{eoSelectMany@{eoSelectMany}} -eo\-Select\-Many selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - - -{\tt \#include $<$eo\-Select\-Many.h$>$} - -Inheritance diagram for eo\-Select\-Many$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_select_many} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Select\-Many} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, double \_\-rate, bool \_\-interpret\_\-as\_\-rate=true)\label{classeo_select_many_a0} - -\begin{CompactList}\small\item\em init \item\end{CompactList}\item -{\bf eo\-Select\-Many} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-How\-Many} \_\-how\-Many)\label{classeo_select_many_a1} - -\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-source, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest) -\begin{CompactList}\small\item\em The implementation repeatidly selects an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf select}\label{classeo_select_many_r0} - -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_select_many_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Select\-Many$<$ EOT $>$} - -eo\-Select\-Many selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - -Therefore eo\-Select\-Many needs an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} in its ctor - -It will use an eo\-How\-Mnay to determine the number of guys to select, and push them to the back of the destination population. - - - -Definition at line 45 of file eo\-Select\-Many.h. - -\subsection{Member Function Documentation} -\index{eoSelectMany@{eo\-Select\-Many}!operator()@{operator()}} -\index{operator()@{operator()}!eoSelectMany@{eo\-Select\-Many}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Select\-Many}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-source}, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-dest})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_select_many_a2} - - -The implementation repeatidly selects an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-source}]the source population \item[{\em \_\-dest}]the resulting population (size of this population is the number of times {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} is called. It empties the destination and adds the selection into it) \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 63 of file eo\-Select\-Many.h. - -References eo\-Select\-One$<$ EOT, Worth\-T $>$::setup(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-Many.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_number.eps b/trunk/paradiseo-eo/doc/latex/classeo_select_number.eps deleted file mode 100644 index 3274b73b5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_number.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelectNumber< EOT >) cw -(eoSelect< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelectNumber< EOT >) 0.5 0 box - (eoSelect< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_number.tex b/trunk/paradiseo-eo/doc/latex/classeo_select_number.tex deleted file mode 100644 index c621931ff..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_number.tex +++ /dev/null @@ -1,69 +0,0 @@ -\section{eo\-Select\-Number$<$ EOT $>$ Class Template Reference} -\label{classeo_select_number}\index{eoSelectNumber@{eoSelectNumber}} -eo\-Select\-Number selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - - -{\tt \#include $<$eo\-Select\-Number.h$>$} - -Inheritance diagram for eo\-Select\-Number$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_select_number} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Select\-Number} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, unsigned \_\-nb\_\-to\_\-select=1)\label{classeo_select_number_a0} - -\begin{CompactList}\small\item\em init \item\end{CompactList}\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-source, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest) -\begin{CompactList}\small\item\em The implementation repeatidly selects an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf select}\label{classeo_select_number_r0} - -\item -unsigned {\bf nb\_\-to\_\-select}\label{classeo_select_number_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Select\-Number$<$ EOT $>$} - -eo\-Select\-Number selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - -Therefore eo\-Select\-Number needs an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} in its ctor - -It will select a fixed number of individuals and pushes them to the back of the destination population. - - - -Definition at line 42 of file eo\-Select\-Number.h. - -\subsection{Member Function Documentation} -\index{eoSelectNumber@{eo\-Select\-Number}!operator()@{operator()}} -\index{operator()@{operator()}!eoSelectNumber@{eo\-Select\-Number}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Select\-Number}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-source}, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-dest})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_select_number_a1} - - -The implementation repeatidly selects an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-source}]the source population \item[{\em \_\-dest}]the resulting population (size of this population is the number of times {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} is called. It empties the destination and adds the selection into it) \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 55 of file eo\-Select\-Number.h. - -References eo\-Select\-One$<$ EOT, Worth\-T $>$::setup(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-Number.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_one.eps b/trunk/paradiseo-eo/doc/latex/classeo_select_one.eps deleted file mode 100644 index c86a8c29f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_one.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 86.7052 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.76667 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelectOne< EOT, WorthT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelectOne< EOT, WorthT >) 0.5 0 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 1 box - (eoFunctorBase) 0 2 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 2 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_one.tex b/trunk/paradiseo-eo/doc/latex/classeo_select_one.tex deleted file mode 100644 index e231d6e9b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_one.tex +++ /dev/null @@ -1,39 +0,0 @@ -\section{eo\-Select\-One$<$ EOT, Worth\-T $>$ Class Template Reference} -\label{classeo_select_one}\index{eoSelectOne@{eoSelectOne}} -eo\-Select\-One selects only one element from a whole population. - - -{\tt \#include $<$eo\-Select\-One.h$>$} - -Inheritance diagram for eo\-Select\-One$<$ EOT, Worth\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.42775cm]{classeo_select_one} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_select_one_a0} - -\begin{CompactList}\small\item\em virtual function to setup some population stats (for instance eo\-Proportional can benefit greatly from this) \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = typename EOT::Fitness$>$ class eo\-Select\-One$<$ EOT, Worth\-T $>$} - -eo\-Select\-One selects only one element from a whole population. - -Most selection techniques are simply repeated applications of eo\-Select\-One. - -\begin{Desc} -\item[See also:]{\bf eo\-Select\-Many}{\rm (p.\,\pageref{classeo_select_many})}, eo\-Select\-Random, eo\-Det\-Tournament, eo\-Stoch\-Tournament, eo\-Proportional \end{Desc} - - - - -Definition at line 45 of file eo\-Select\-One.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-One.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_perc.eps b/trunk/paradiseo-eo/doc/latex/classeo_select_perc.eps deleted file mode 100644 index c00db7dc8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_perc.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelectPerc< EOT >) cw -(eoSelect< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelectPerc< EOT >) 0.5 0 box - (eoSelect< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_perc.tex b/trunk/paradiseo-eo/doc/latex/classeo_select_perc.tex deleted file mode 100644 index b5f39a53c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_perc.tex +++ /dev/null @@ -1,69 +0,0 @@ -\section{eo\-Select\-Perc$<$ EOT $>$ Class Template Reference} -\label{classeo_select_perc}\index{eoSelectPerc@{eoSelectPerc}} -eo\-Select\-Perc selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - - -{\tt \#include $<$eo\-Select\-Perc.h$>$} - -Inheritance diagram for eo\-Select\-Perc$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_select_perc} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Select\-Perc} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, float \_\-rate=1.0)\label{classeo_select_perc_a0} - -\begin{CompactList}\small\item\em init \item\end{CompactList}\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-source, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest) -\begin{CompactList}\small\item\em The implementation selects a percentage. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf select}\label{classeo_select_perc_r0} - -\item -float {\bf rate}\label{classeo_select_perc_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Select\-Perc$<$ EOT $>$} - -eo\-Select\-Perc selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - -Therefore eo\-Select\-Perc needs an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} in its ctor - -It will select floor(rate$\ast$pop.size()) individuals and pushes them to the back of the destination population. - - - -Definition at line 42 of file eo\-Select\-Perc.h. - -\subsection{Member Function Documentation} -\index{eoSelectPerc@{eo\-Select\-Perc}!operator()@{operator()}} -\index{operator()@{operator()}!eoSelectPerc@{eo\-Select\-Perc}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Select\-Perc}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-source}, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-dest})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_select_perc_a1} - - -The implementation selects a percentage. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-source}]the source population \item[{\em \_\-dest}]the resulting population (size of this population is the number of times {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} is called. It empties the destination and adds the selection into it) \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 55 of file eo\-Select\-Perc.h. - -References eo\-Select\-One$<$ EOT, Worth\-T $>$::setup(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-Perc.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_transform.eps b/trunk/paradiseo-eo/doc/latex/classeo_select_transform.eps deleted file mode 100644 index 24316cc63..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_transform.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelectTransform< EOT >) cw -(eoBreed< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelectTransform< EOT >) 0.5 0 box - (eoBreed< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_select_transform.tex b/trunk/paradiseo-eo/doc/latex/classeo_select_transform.tex deleted file mode 100644 index 590b0f218..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_select_transform.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Select\-Transform$<$ EOT $>$ Class Template Reference} -\label{classeo_select_transform}\index{eoSelectTransform@{eoSelectTransform}} -Embedded select, followed by an embedded transform. - - -{\tt \#include $<$eo\-Breed.h$>$} - -Inheritance diagram for eo\-Select\-Transform$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_select_transform} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Select\-Transform} ({\bf eo\-Select}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-Transform}$<$ {\bf EOT} $>$ \&\_\-transform)\label{classeo_select_transform_a0} - -\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_select_transform_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select}$<$ {\bf EOT} $>$ \& {\bf select}\label{classeo_select_transform_r0} - -\item -{\bf eo\-Transform}$<$ {\bf EOT} $>$ \& {\bf transform}\label{classeo_select_transform_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Select\-Transform$<$ EOT $>$} - -Embedded select, followed by an embedded transform. - -Special breeder that is just an application of an embedded select, followed by an embedded transform - - - -Definition at line 57 of file eo\-Breed.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Breed.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_selective_populator.eps b/trunk/paradiseo-eo/doc/latex/classeo_selective_populator.eps deleted file mode 100644 index 1431f0351..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_selective_populator.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 211.64 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.3625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSelectivePopulator< EOT >) cw -(eoPopulator< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSelectivePopulator< EOT >) 0 0 box - (eoPopulator< EOT >) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_selective_populator.tex b/trunk/paradiseo-eo/doc/latex/classeo_selective_populator.tex deleted file mode 100644 index b47da81f9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_selective_populator.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-Selective\-Populator$<$ EOT $>$ Class Template Reference} -\label{classeo_selective_populator}\index{eoSelectivePopulator@{eoSelectivePopulator}} -Selective\-Populator an eo\-Poplator that uses an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} to select guys. - - -{\tt \#include $<$eo\-Populator.h$>$} - -Inheritance diagram for eo\-Selective\-Populator$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_selective_populator} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Selective\-Populator} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest, {\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-sel)\label{classeo_selective_populator_a0} - -\item -const {\bf EOT} \& {\bf select} ()\label{classeo_selective_populator_a1} - -\begin{CompactList}\small\item\em the select method actually selects one guy from the src pop \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf sel}\label{classeo_selective_populator_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Selective\-Populator$<$ EOT $>$} - -Selective\-Populator an eo\-Poplator that uses an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} to select guys. - -Supposedly, it is passed the initial population. - - - -Definition at line 184 of file eo\-Populator.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Populator.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_seq_populator.eps b/trunk/paradiseo-eo/doc/latex/classeo_seq_populator.eps deleted file mode 100644 index e989a89c7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_seq_populator.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 253.165 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.975 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSeqPopulator< EOT >) cw -(eoPopulator< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSeqPopulator< EOT >) 0 0 box - (eoPopulator< EOT >) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_seq_populator.tex b/trunk/paradiseo-eo/doc/latex/classeo_seq_populator.tex deleted file mode 100644 index d0222c45c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_seq_populator.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-Seq\-Populator$<$ EOT $>$ Class Template Reference} -\label{classeo_seq_populator}\index{eoSeqPopulator@{eoSeqPopulator}} -Seq\-Populator: an {\bf eo\-Populator}{\rm (p.\,\pageref{classeo_populator})} that sequentially goes through the population is supposed to be used after a batch select of a whole bunch or genitors. - - -{\tt \#include $<$eo\-Populator.h$>$} - -Inheritance diagram for eo\-Seq\-Populator$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_seq_populator} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Seq\-Populator} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest)\label{classeo_seq_populator_a0} - -\item -const {\bf EOT} \& {\bf select} (void)\label{classeo_seq_populator_a1} - -\begin{CompactList}\small\item\em the select method simply returns next individual in the src pop \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf current}\label{classeo_seq_populator_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Seq\-Populator$<$ EOT $>$} - -Seq\-Populator: an {\bf eo\-Populator}{\rm (p.\,\pageref{classeo_populator})} that sequentially goes through the population is supposed to be used after a batch select of a whole bunch or genitors. - - - -Definition at line 152 of file eo\-Populator.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Populator.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sequential_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_sequential_op.eps deleted file mode 100644 index 27e3da8f2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sequential_op.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 113.766 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.395 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSequentialOp< EOT >) cw -(eoOpContainer< EOT >) cw -(eoGenOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< eoPopulator< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPopulator< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSequentialOp< EOT >) 0.5 0 box - (eoOpContainer< EOT >) 0.5 1 box - (eoGenOp< EOT >) 0.5 2 box - (eoOp< EOT >) 0 3 box - (eoUF< eoPopulator< EOT > &, void >) 1 3 box - (eoFunctorBase) 0.5 4 box - (unary_function< eoPopulator< EOT > &, void >) 1.5 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -0 1 3 out -solid -0.5 1.5 4 conn -solid -1 0.5 4 in -solid -1 1.5 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sequential_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_sequential_op.tex deleted file mode 100644 index 8a8d82d41..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sequential_op.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Sequential\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_sequential_op}\index{eoSequentialOp@{eoSequentialOp}} -Sequential selection: note the mark, rewind, unmark cycle here operators are repeatedly applied on the same individual(s) not all too elegant, but it sort of works... - - -{\tt \#include $<$eo\-Op\-Container.h$>$} - -Inheritance diagram for eo\-Sequential\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.18544cm]{classeo_sequential_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef unsigned {\bf position\_\-type}\label{classeo_sequential_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -void {\bf apply} ({\bf eo\-Populator}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_sequential_op_a0} - -\begin{CompactList}\small\item\em the function that will do the work \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_sequential_op_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -std::vector$<$ size\_\-t $>$ {\bf to\_\-apply}\label{classeo_sequential_op_r0} - -\item -std::vector$<$ size\_\-t $>$ {\bf production}\label{classeo_sequential_op_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Sequential\-Op$<$ EOT $>$} - -Sequential selection: note the mark, rewind, unmark cycle here operators are repeatedly applied on the same individual(s) not all too elegant, but it sort of works... - - - -Definition at line 88 of file eo\-Op\-Container.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Op\-Container.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sequential_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_sequential_select.eps deleted file mode 100644 index a98df7206..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sequential_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSequentialSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSequentialSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sequential_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_sequential_select.tex deleted file mode 100644 index f6adc902e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sequential_select.tex +++ /dev/null @@ -1,55 +0,0 @@ -\section{eo\-Sequential\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_sequential_select}\index{eoSequentialSelect@{eoSequentialSelect}} -All Individuals in order. - - -{\tt \#include $<$eo\-Sequential\-Select.h$>$} - -Inheritance diagram for eo\-Sequential\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_sequential_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Sequential\-Select} (bool \_\-ordered=true)\label{classeo_sequential_select_a0} - -\begin{CompactList}\small\item\em Ctor: sets the current pter to numeric\_\-limits$<$unsigned$>$::max() so init will take place first time not very elegant, maybe ... \item\end{CompactList}\item -void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_sequential_select_a1} - -\begin{CompactList}\small\item\em virtual function to setup some population stats (for instance eo\-Proportional can benefit greatly from this) \item\end{CompactList}\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_sequential_select_a2} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -bool {\bf ordered}\label{classeo_sequential_select_r0} - -\item -unsigned {\bf current}\label{classeo_sequential_select_r1} - -\item -std::vector$<$ const {\bf EOT} $\ast$ $>$ {\bf eo\-Pters}\label{classeo_sequential_select_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Sequential\-Select$<$ EOT $>$} - -All Individuals in order. - -Looping back to the beginning when exhausted, can be from best to worse, or in random order. - -It is the {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} equivalent of {\bf eo\-Det\-Select}{\rm (p.\,\pageref{classeo_det_select})} - though {\bf eo\-Det\-Select}{\rm (p.\,\pageref{classeo_det_select})} always returns individuals from best to worst - - - -Definition at line 52 of file eo\-Sequential\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Sequential\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sharing.eps b/trunk/paradiseo-eo/doc/latex/classeo_sharing.eps deleted file mode 100644 index 629e04414..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sharing.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSharing< EOT >) cw -(eoPerf2Worth< EOT >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoValueParam< std::vector< double > >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSharing< EOT >) 1.25 0 box - (eoPerf2Worth< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, void >) 0.5 2 box - (eoValueParam< std::vector< double > >) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, void >) 1 3 box - (eoParam) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sharing.tex b/trunk/paradiseo-eo/doc/latex/classeo_sharing.tex deleted file mode 100644 index 6cebaf38c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sharing.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Sharing$<$ EOT $>$ Class Template Reference} -\label{classeo_sharing}\index{eoSharing@{eoSharing}} -Sharing is a perf2worth class that implements Goldberg and Richardson's basic sharing see {\bf eo\-Sharing\-Select}{\rm (p.\,\pageref{classeo_sharing_select})} for how to use it and test/t-eo\-Sharing.cpp for a sample use of both. - - -{\tt \#include $<$eo\-Sharing.h$>$} - -Inheritance diagram for eo\-Sharing$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_sharing} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Sharing} (double \_\-niche\-Size, {\bf eo\-Distance}$<$ {\bf EOT} $>$ \&\_\-dist)\label{classeo_sharing_a0} - -\item -void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_sharing_a1} - -\begin{CompactList}\small\item\em Computes shared fitnesses. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf niche\-Size}\label{classeo_sharing_r0} - -\item -{\bf eo\-Distance}$<$ {\bf EOT} $>$ \& {\bf dist}\label{classeo_sharing_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Sharing$<$ EOT $>$} - -Sharing is a perf2worth class that implements Goldberg and Richardson's basic sharing see {\bf eo\-Sharing\-Select}{\rm (p.\,\pageref{classeo_sharing_select})} for how to use it and test/t-eo\-Sharing.cpp for a sample use of both. - - - -Definition at line 79 of file eo\-Sharing.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sharing_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_sharing_select.eps deleted file mode 100644 index 250161a2f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sharing_select.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 173.41 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.88333 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 6 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSharingSelect< EOT >) cw -(eoRouletteWorthSelect< EOT, double >) cw -(eoSelectFromWorth< EOT, double >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSharingSelect< EOT >) 0.5 0 box - (eoRouletteWorthSelect< EOT, double >) 0.5 1 box - (eoSelectFromWorth< EOT, double >) 0.5 2 box - (eoSelectOne< EOT >) 0.5 3 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 4 box - (eoFunctorBase) 0 5 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 5 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -1 0.5 4 in -solid -0 0.5 4 out -solid -0 1 5 conn -solid -1 0 5 in -solid -1 1 5 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sharing_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_sharing_select.tex deleted file mode 100644 index a4130d2ac..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sharing_select.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{eo\-Sharing\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_sharing_select}\index{eoSharingSelect@{eoSharingSelect}} -eo\-Sharing\-Select: select an individual by roulette wheel on its SHARED fitness. - - -{\tt \#include $<$eo\-Sharing\-Select.h$>$} - -Inheritance diagram for eo\-Sharing\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4.85549cm]{classeo_sharing_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Sharing\-Select} (double \_\-sigma, {\bf eo\-Distance}$<$ {\bf EOT} $>$ \&\_\-dist) -\begin{CompactList}\small\item\em Ctor:. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Sharing}$<$ {\bf EOT} $>$ {\bf sharing}\label{classeo_sharing_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Sharing\-Select$<$ EOT $>$} - -eo\-Sharing\-Select: select an individual by roulette wheel on its SHARED fitness. - -It is an {\bf eo\-Roulette\-Worth\-Select}{\rm (p.\,\pageref{classeo_roulette_worth_select})}, i.e. a selector using a std::vector of worthes rather than the raw fitness (see {\bf eo\-Select\-From\-Worth.h}{\rm (p.\,\pageref{eo_select_from_worth_8h})}) It uses an internal {\bf eo\-Sharing}{\rm (p.\,\pageref{classeo_sharing})} object which is an {\bf eo\-Perf2Worth$<$EOT, double$>$}{\rm (p.\,\pageref{classeo_perf2_worth})} - - - -Definition at line 43 of file eo\-Sharing\-Select.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoSharingSelect@{eo\-Sharing\-Select}!eoSharingSelect@{eoSharingSelect}} -\index{eoSharingSelect@{eoSharingSelect}!eoSharingSelect@{eo\-Sharing\-Select}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Sharing\-Select}$<$ {\bf EOT} $>$::{\bf eo\-Sharing\-Select} (double {\em \_\-sigma}, {\bf eo\-Distance}$<$ {\bf EOT} $>$ \& {\em \_\-dist})\hspace{0.3cm}{\tt [inline]}}\label{classeo_sharing_select_a0} - - -Ctor:. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-s}]the sigma\_\-share \end{description} -\end{Desc} - - -Definition at line 49 of file eo\-Sharing\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Sharing\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_simple_e_d_a.eps b/trunk/paradiseo-eo/doc/latex/classeo_simple_e_d_a.eps deleted file mode 100644 index 789180089..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_simple_e_d_a.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.45 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.775 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSimpleEDA< EOT >) cw -(eoEDA< EOT >) cw -(eoUF< eoDistribution< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoDistribution< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSimpleEDA< EOT >) 0.5 0 box - (eoEDA< EOT >) 0.5 1 box - (eoUF< eoDistribution< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoDistribution< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_simple_e_d_a.tex b/trunk/paradiseo-eo/doc/latex/classeo_simple_e_d_a.tex deleted file mode 100644 index 1837e47ce..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_simple_e_d_a.tex +++ /dev/null @@ -1,64 +0,0 @@ -\section{eo\-Simple\-EDA$<$ EOT $>$ Class Template Reference} -\label{classeo_simple_e_d_a}\index{eoSimpleEDA@{eoSimpleEDA}} -eo\-Simple\-EDA: a very simple Estimation of Distribution Algorithm - - -{\tt \#include $<$eo\-Simple\-EDA.h$>$} - -Inheritance diagram for eo\-Simple\-EDA$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.70861cm]{classeo_simple_e_d_a} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Simple\-EDA} ({\bf eo\-Distrib\-Updater}$<$ {\bf EOT} $>$ \&\_\-update, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval, unsigned \_\-pop\-Size, {\bf eo\-Continue}$<$ {\bf EOT} $>$ \&\_\-continuator) -\begin{CompactList}\small\item\em Ctor from an {\bf eo\-Distrib\-Updater}{\rm (p.\,\pageref{classeo_distrib_updater})} ... \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf eo\-Distribution}$<$ {\bf EOT} $>$ \&\_\-distrib)\label{classeo_simple_e_d_a_a1} - -\begin{CompactList}\small\item\em The algorithm: generate pop from distrib, evaluate pop, update distrib. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Distrib\-Updater}$<$ {\bf EOT} $>$ \& {\bf update}\label{classeo_simple_e_d_a_r0} - -\item -{\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf eval}\label{classeo_simple_e_d_a_r1} - -\item -unsigned {\bf pop\-Size}\label{classeo_simple_e_d_a_r2} - -\item -{\bf eo\-Continue}$<$ {\bf EOT} $>$ \& {\bf continuator}\label{classeo_simple_e_d_a_r3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Simple\-EDA$<$ EOT $>$} - -eo\-Simple\-EDA: a very simple Estimation of Distribution Algorithm - -The algorithm that evolves a probability distribution on the spaces of populations with the loop generate a population from the current distribution evaluate that population update the distribution - - - -Definition at line 46 of file eo\-Simple\-EDA.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoSimpleEDA@{eo\-Simple\-EDA}!eoSimpleEDA@{eoSimpleEDA}} -\index{eoSimpleEDA@{eoSimpleEDA}!eoSimpleEDA@{eo\-Simple\-EDA}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Simple\-EDA}$<$ {\bf EOT} $>$::{\bf eo\-Simple\-EDA} ({\bf eo\-Distrib\-Updater}$<$ {\bf EOT} $>$ \& {\em \_\-update}, {\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\em \_\-eval}, unsigned {\em \_\-pop\-Size}, {\bf eo\-Continue}$<$ {\bf EOT} $>$ \& {\em \_\-continuator})\hspace{0.3cm}{\tt [inline]}}\label{classeo_simple_e_d_a_a0} - - -Ctor from an {\bf eo\-Distrib\-Updater}{\rm (p.\,\pageref{classeo_distrib_updater})} ... - -plus an eo\-Eval and {\bf eo\-Continue}{\rm (p.\,\pageref{classeo_continue})} of course - -Definition at line 53 of file eo\-Simple\-EDA.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Simple\-EDA.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sorted_pop_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_sorted_pop_stat.eps deleted file mode 100644 index 9c67bd5aa..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sorted_pop_stat.eps +++ /dev/null @@ -1,233 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 91.3242 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.475 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSortedPopStat< EOT >) cw -(eoSortedStat< EOT, std::string >) cw -(eoSortedStatBase< EOT >) cw -(eoValueParam< std::string >) cw -(eoUF< const std::vector< const EOT * > &, void >) cw -(eoParam) cw -(eoFunctorBase) cw -(unary_function< const std::vector< const EOT * > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSortedPopStat< EOT >) 1 0 box - (eoSortedStat< EOT, std::string >) 1 1 box - (eoSortedStatBase< EOT >) 0.5 2 box - (eoValueParam< std::string >) 1.5 2 box - (eoUF< const std::vector< const EOT * > &, void >) 0.5 3 box - (eoParam) 1.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< const std::vector< const EOT * > &, void >) 1 4 box - -% ----- relations ----- - -solid -0 1 0 out -solid -1 1 1 in -solid -0 1 1 out -solid -0.5 1.5 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 1.5 2 in -solid -0 1.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 1.5 3 in -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sorted_pop_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_sorted_pop_stat.tex deleted file mode 100644 index c08d93307..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sorted_pop_stat.tex +++ /dev/null @@ -1,73 +0,0 @@ -\section{eo\-Sorted\-Pop\-Stat$<$ EOT $>$ Class Template Reference} -\label{classeo_sorted_pop_stat}\index{eoSortedPopStat@{eoSortedPopStat}} -Thanks to MS/VC++, {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} mechanism is unable to handle std::vectors of stats. - - -{\tt \#include $<$eo\-Pop\-Stat.h$>$} - -Inheritance diagram for eo\-Sorted\-Pop\-Stat$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.55708cm]{classeo_sorted_pop_stat} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Sorted\-Pop\-Stat} (unsigned \_\-how\-Many=0, std::string \_\-desc=\char`\"{}\char`\"{}) -\begin{CompactList}\small\item\em default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. \item\end{CompactList}\item -void {\bf operator()} (const std::vector$<$ const {\bf EOT} $\ast$ $>$ \&\_\-pop) -\begin{CompactList}\small\item\em Fills the {\bf value()}{\rm (p.\,\pageref{classeo_value_param_a2})} of the {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} with the dump of the population. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf combien}\label{classeo_sorted_pop_stat_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Sorted\-Pop\-Stat$<$ EOT $>$} - -Thanks to MS/VC++, {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} mechanism is unable to handle std::vectors of stats. - -This snippet is a workaround: This class will \char`\"{}print\char`\"{} a whole population into a std::string - that you can later send to any stream This is the Sorted version - see eo\-Pop\-String for the plain version - -Note: this Stat should probably be used only within eo\-Std\-Out\-Monitor, and not inside an {\bf eo\-File\-Monitor}{\rm (p.\,\pageref{classeo_file_monitor})}, as the {\bf eo\-State}{\rm (p.\,\pageref{classeo_state})} construct will work much better there. - - - -Definition at line 96 of file eo\-Pop\-Stat.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoSortedPopStat@{eo\-Sorted\-Pop\-Stat}!eoSortedPopStat@{eoSortedPopStat}} -\index{eoSortedPopStat@{eoSortedPopStat}!eoSortedPopStat@{eo\-Sorted\-Pop\-Stat}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Sorted\-Pop\-Stat}$<$ {\bf EOT} $>$::{\bf eo\-Sorted\-Pop\-Stat} (unsigned {\em \_\-how\-Many} = {\tt 0}, std::string {\em \_\-desc} = {\tt \char`\"{}\char`\"{}})\hspace{0.3cm}{\tt [inline]}}\label{classeo_sorted_pop_stat_a0} - - -default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. - -and is meaningless there \_\-how\-Many defaults to 0, that is, the whole population - -Definition at line 107 of file eo\-Pop\-Stat.h. - -\subsection{Member Function Documentation} -\index{eoSortedPopStat@{eo\-Sorted\-Pop\-Stat}!operator()@{operator()}} -\index{operator()@{operator()}!eoSortedPopStat@{eo\-Sorted\-Pop\-Stat}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Sorted\-Pop\-Stat}$<$ {\bf EOT} $>$::operator() (const std::vector$<$ const {\bf EOT} $\ast$ $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_sorted_pop_stat_a1} - - -Fills the {\bf value()}{\rm (p.\,\pageref{classeo_value_param_a2})} of the {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})} with the dump of the population. - -Adds a \par - before so it does not get mixed up with the rest of the stats that are written by the monitor it is probably used from. - -Implements {\bf eo\-UF$<$ const std::vector$<$ const EOT $\ast$ $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 116 of file eo\-Pop\-Stat.h. - -References eo\-Value\-Param$<$ std::string $>$::value(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pop\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat.eps deleted file mode 100644 index 8ee8ce9c5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 73.0594 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.84375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSortedStat< EOT, ParamType >) cw -(eoSortedStatBase< EOT >) cw -(eoValueParam< ParamType >) cw -(eoUF< const std::vector< const EOT * > &, void >) cw -(eoParam) cw -(eoFunctorBase) cw -(unary_function< const std::vector< const EOT * > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSortedStat< EOT, ParamType >) 1 0 box - (eoSortedStatBase< EOT >) 0.5 1 box - (eoValueParam< ParamType >) 1.5 1 box - (eoUF< const std::vector< const EOT * > &, void >) 0.5 2 box - (eoParam) 1.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const std::vector< const EOT * > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 1 0 out -solid -0.5 1.5 1 conn -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 1.5 1 in -solid -0 1.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 1.5 2 in -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat.tex deleted file mode 100644 index 0d8dce0a4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Sorted\-Stat$<$ EOT, Param\-Type $>$ Class Template Reference} -\label{classeo_sorted_stat}\index{eoSortedStat@{eoSortedStat}} -The actual class that will be used as base for all statistics that need to be calculated over the sorted population It's an {\bf eo\-Sorted\-Stat\-Base}{\rm (p.\,\pageref{classeo_sorted_stat_base})} AND an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so it can be used in Monitors. - - -{\tt \#include $<$eo\-Stat.h$>$} - -Inheritance diagram for eo\-Sorted\-Stat$<$ EOT, Param\-Type $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.04566cm]{classeo_sorted_stat} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Sorted\-Stat} (Param\-Type \_\-value, std::string \_\-desc)\label{classeo_sorted_stat_a0} - -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_sorted_stat_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Param\-Type$>$ class eo\-Sorted\-Stat$<$ EOT, Param\-Type $>$} - -The actual class that will be used as base for all statistics that need to be calculated over the sorted population It's an {\bf eo\-Sorted\-Stat\-Base}{\rm (p.\,\pageref{classeo_sorted_stat_base})} AND an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so it can be used in Monitors. - - - -Definition at line 89 of file eo\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat_base.eps b/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat_base.eps deleted file mode 100644 index 611431a77..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat_base.eps +++ /dev/null @@ -1,267 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 45.6621 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 10.95 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 6 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSortedStatBase< EOT >) cw -(eoUF< const std::vector< const EOT * > &, void >) cw -(eoFunctorBase) cw -(unary_function< const std::vector< const EOT * > &, void >) cw -(eoSortedStat< EOT, ParamType >) cw -(eoSortedStat< EOT, EOT::Fitness >) cw -(eoSortedStat< EOT, std::string >) cw -(eoSortedStat< EOT, std::vector< double > >) cw -(eoSortedStat< EOT, std::vector< FitT > >) cw -(eoSortedStat< EOT, std::vector< PartFitT > >) cw -(eoNthElementFitnessStat< EOT >) cw -(eoSortedPopStat< EOT >) cw -(eoScalarFitnessStat< EOT, FitT >) cw -(eoFitnessStat< EOT, FitT >) cw -(eoMOFitnessStat< EOT, PartFitT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSortedStatBase< EOT >) 2.5 2 box - (eoUF< const std::vector< const EOT * > &, void >) 2.5 3 box - (eoFunctorBase) 2 4 box - (unary_function< const std::vector< const EOT * > &, void >) 3 4 box - (eoSortedStat< EOT, ParamType >) 0 1 box - (eoSortedStat< EOT, EOT::Fitness >) 1 1 box - (eoSortedStat< EOT, std::string >) 2 1 box - (eoSortedStat< EOT, std::vector< double > >) 3 1 box - (eoSortedStat< EOT, std::vector< FitT > >) 4 1 box - (eoSortedStat< EOT, std::vector< PartFitT > >) 5 1 box - (eoNthElementFitnessStat< EOT >) 1 0 box - (eoSortedPopStat< EOT >) 2 0 box - (eoScalarFitnessStat< EOT, FitT >) 3 0 box - (eoFitnessStat< EOT, FitT >) 4 0 box - (eoMOFitnessStat< EOT, PartFitT >) 5 0 box - -% ----- relations ----- - -solid -0 2.5 2 out -solid -1 2.5 3 in -solid -0 2.5 3 out -solid -2 3 4 conn -solid -1 2 4 in -solid -1 3 4 in -solid -1 2.5 1.25 out -solid -0 5 2 conn -solid -0 0 1.75 in -solid -0 1 1.75 in -solid -1 1 0.25 out -solid -0 2 1.75 in -solid -1 2 0.25 out -solid -0 3 1.75 in -solid -1 3 0.25 out -solid -0 4 1.75 in -solid -1 4 0.25 out -solid -0 5 1.75 in -solid -1 5 0.25 out -solid -0 1 0.75 in -solid -0 2 0.75 in -solid -0 3 0.75 in -solid -0 4 0.75 in -solid -0 5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat_base.tex b/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat_base.tex deleted file mode 100644 index 387c4d6a5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sorted_stat_base.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Sorted\-Stat\-Base$<$ EOT $>$ Class Template Reference} -\label{classeo_sorted_stat_base}\index{eoSortedStatBase@{eoSortedStatBase}} -Base class for statistics calculated over a sorted snapshot of the population. - - -{\tt \#include $<$eo\-Stat.h$>$} - -Inheritance diagram for eo\-Sorted\-Stat\-Base$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.27854cm]{classeo_sorted_stat_base} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf last\-Call} (const std::vector$<$ const {\bf EOT} $\ast$ $>$ \&)\label{classeo_sorted_stat_base_a0} - -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_sorted_stat_base_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Sorted\-Stat\-Base$<$ EOT $>$} - -Base class for statistics calculated over a sorted snapshot of the population. - - - -Definition at line 76 of file eo\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_branch_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_st_branch_mutation.eps deleted file mode 100644 index 2c89d8407..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_branch_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 76.6284 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.525 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStBranchMutation< FType, Node >) cw -(eoMonOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStBranchMutation< FType, Node >) 0.5 0 box - (eoMonOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoUF< eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_branch_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_st_branch_mutation.tex deleted file mode 100644 index da0f4ecbe..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_branch_mutation.tex +++ /dev/null @@ -1,91 +0,0 @@ -\section{eo\-St\-Branch\-Mutation$<$ FType, Node $>$ Class Template Reference} -\label{classeo_st_branch_mutation}\index{eoStBranchMutation@{eoStBranchMutation}} -eo\-St\-Branch\-Mutation --$>$ replace a strongly typed subtree with a randomly created strongly typed subtree - - -{\tt \#include $<$gp/eo\-St\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-St\-Branch\-Mutation$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.14559cm]{classeo_st_branch_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_st_branch_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-St\-Branch\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \&\_\-init, unsigned \_\-max\_\-length) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_st_branch_mutation_a1} - -\begin{CompactList}\small\item\em the class name \item\end{CompactList}\item -virtual {\bf $\sim$eo\-St\-Branch\-Mutation} ()\label{classeo_st_branch_mutation_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1) -\begin{CompactList}\small\item\em Mutate an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-length}\label{classeo_st_branch_mutation_r0} - -\item -{\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\bf initializer}\label{classeo_st_branch_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-St\-Branch\-Mutation$<$ FType, Node $>$} - -eo\-St\-Branch\-Mutation --$>$ replace a strongly typed subtree with a randomly created strongly typed subtree - - - -Definition at line 130 of file eo\-St\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoStBranchMutation@{eo\-St\-Branch\-Mutation}!eoStBranchMutation@{eoStBranchMutation}} -\index{eoStBranchMutation@{eoStBranchMutation}!eoStBranchMutation@{eo\-St\-Branch\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-St\-Branch\-Mutation}$<$ FType, Node $>$::{\bf eo\-St\-Branch\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\em \_\-init}, unsigned {\em \_\-max\_\-length})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_branch_mutation_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-init}]An instantiation of eo\-Gp\-Depth\-Initializer \item[{\em \_\-max\_\-length}]the maximum size of an individual \end{description} -\end{Desc} - - -Definition at line 140 of file eo\-St\-Parse\-Tree\-Op.h. - -\subsection{Member Function Documentation} -\index{eoStBranchMutation@{eo\-St\-Branch\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoStBranchMutation@{eo\-St\-Branch\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ bool {\bf eo\-St\-Branch\-Mutation}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-eo1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_branch_mutation_a3} - - -Mutate an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The individual that is to be changed \end{description} -\end{Desc} - - -Definition at line 154 of file eo\-St\-Parse\-Tree\-Op.h. - -References eo\-Rng::random(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-St\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_hoist_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_st_hoist_mutation.eps deleted file mode 100644 index af8178c52..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_hoist_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 76.6284 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.525 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStHoistMutation< FType, Node >) cw -(eoMonOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStHoistMutation< FType, Node >) 0.5 0 box - (eoMonOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoUF< eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_hoist_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_st_hoist_mutation.tex deleted file mode 100644 index be35b98ca..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_hoist_mutation.tex +++ /dev/null @@ -1,91 +0,0 @@ -\section{eo\-St\-Hoist\-Mutation$<$ FType, Node $>$ Class Template Reference} -\label{classeo_st_hoist_mutation}\index{eoStHoistMutation@{eoStHoistMutation}} -eo\-St\-Hoist\-Mutation --$>$ replace the individual with one of its strongly typed subtree's - - -{\tt \#include $<$gp/eo\-St\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-St\-Hoist\-Mutation$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.14559cm]{classeo_st_hoist_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_st_hoist_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-St\-Hoist\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \&\_\-init, unsigned \_\-max\_\-length) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_st_hoist_mutation_a1} - -\begin{CompactList}\small\item\em the class name \item\end{CompactList}\item -virtual {\bf $\sim$eo\-St\-Hoist\-Mutation} ()\label{classeo_st_hoist_mutation_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1) -\begin{CompactList}\small\item\em Mutate an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-length}\label{classeo_st_hoist_mutation_r0} - -\item -{\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\bf initializer}\label{classeo_st_hoist_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-St\-Hoist\-Mutation$<$ FType, Node $>$} - -eo\-St\-Hoist\-Mutation --$>$ replace the individual with one of its strongly typed subtree's - - - -Definition at line 258 of file eo\-St\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoStHoistMutation@{eo\-St\-Hoist\-Mutation}!eoStHoistMutation@{eoStHoistMutation}} -\index{eoStHoistMutation@{eoStHoistMutation}!eoStHoistMutation@{eo\-St\-Hoist\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-St\-Hoist\-Mutation}$<$ FType, Node $>$::{\bf eo\-St\-Hoist\-Mutation} ({\bf eo\-Init}$<$ {\bf Eo\-Type} $>$ \& {\em \_\-init}, unsigned {\em \_\-max\_\-length})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_hoist_mutation_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-init}]An instantiation of eo\-St\-Depth\-Init \item[{\em \_\-max\_\-length}]the maximum size of an individual \end{description} -\end{Desc} - - -Definition at line 268 of file eo\-St\-Parse\-Tree\-Op.h. - -\subsection{Member Function Documentation} -\index{eoStHoistMutation@{eo\-St\-Hoist\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoStHoistMutation@{eo\-St\-Hoist\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ bool {\bf eo\-St\-Hoist\-Mutation}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-eo1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_hoist_mutation_a3} - - -Mutate an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The individual that is to be changed \end{description} -\end{Desc} - - -Definition at line 282 of file eo\-St\-Parse\-Tree\-Op.h. - -References eo\-Rng::random(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-St\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_parse_tree_depth_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_st_parse_tree_depth_init.eps deleted file mode 100644 index f344aae9e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_parse_tree_depth_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 114.943 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.35 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStParseTreeDepthInit< FType, Node >) cw -(eoInit< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStParseTreeDepthInit< FType, Node >) 0.5 0 box - (eoInit< eoParseTree< FType, Node > >) 0.5 1 box - (eoUF< eoParseTree< FType, Node > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< eoParseTree< FType, Node > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_parse_tree_depth_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_st_parse_tree_depth_init.tex deleted file mode 100644 index 1bba1ce4d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_parse_tree_depth_init.tex +++ /dev/null @@ -1,98 +0,0 @@ -\section{eo\-St\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$ Class Template Reference} -\label{classeo_st_parse_tree_depth_init}\index{eoStParseTreeDepthInit@{eoStParseTreeDepthInit}} -eo\-St\-Parse\-Tree\-Depth\-Init : the initializer class for strongly typed tree-based genetic programming - - -{\tt \#include $<$gp/eo\-St\-Parse\-Tree\-Depth\-Init.h$>$} - -Inheritance diagram for eo\-St\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.21839cm]{classeo_st_parse_tree_depth_init} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_st_parse_tree_depth_init_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-St\-Parse\-Tree\-Depth\-Init} (unsigned \_\-max\_\-depth, const std::vector$<$ Node $>$ \&\_\-node, const int \&\_\-return\_\-type, bool \_\-grow=true) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_st_parse_tree_depth_init_a1} - -\begin{CompactList}\small\item\em My class name. \item\end{CompactList}\item -void {\bf operator()} ({\bf Eo\-Type} \&\_\-tree) -\begin{CompactList}\small\item\em initialize a tree \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -bool {\bf generate} (std::list$<$ Node $>$ \&sequence, int the\_\-max, int request\_\-type)\label{classeo_st_parse_tree_depth_init_d0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-depth}\label{classeo_st_parse_tree_depth_init_r0} - -\item -map$<$ int, map$<$ int, std::vector$<$ Node $>$ $>$ $>$ {\bf node}\label{classeo_st_parse_tree_depth_init_r1} - -\item -int {\bf return\_\-type}\label{classeo_st_parse_tree_depth_init_r2} - -\item -bool {\bf grow}\label{classeo_st_parse_tree_depth_init_r3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-St\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$} - -eo\-St\-Parse\-Tree\-Depth\-Init : the initializer class for strongly typed tree-based genetic programming - - - -Definition at line 61 of file eo\-St\-Parse\-Tree\-Depth\-Init.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoStParseTreeDepthInit@{eo\-St\-Parse\-Tree\-Depth\-Init}!eoStParseTreeDepthInit@{eoStParseTreeDepthInit}} -\index{eoStParseTreeDepthInit@{eoStParseTreeDepthInit}!eoStParseTreeDepthInit@{eo\-St\-Parse\-Tree\-Depth\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-St\-Parse\-Tree\-Depth\-Init}$<$ FType, Node $>$::{\bf eo\-St\-Parse\-Tree\-Depth\-Init} (unsigned {\em \_\-max\_\-depth}, const std::vector$<$ Node $>$ \& {\em \_\-node}, const int \& {\em \_\-return\_\-type}, bool {\em \_\-grow} = {\tt true})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_parse_tree_depth_init_a0} - - -Constructor. - -\_\-max\_\-depth The maximum depth of a tree \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-initializor}]A std::vector containing the possible nodes \item[{\em \_\-grow}]False results in a full tree, True result is a randomly grown tree \end{description} -\end{Desc} - - -Definition at line 73 of file eo\-St\-Parse\-Tree\-Depth\-Init.h. - -\subsection{Member Function Documentation} -\index{eoStParseTreeDepthInit@{eo\-St\-Parse\-Tree\-Depth\-Init}!operator()@{operator()}} -\index{operator()@{operator()}!eoStParseTreeDepthInit@{eo\-St\-Parse\-Tree\-Depth\-Init}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ void {\bf eo\-St\-Parse\-Tree\-Depth\-Init}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-tree})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_parse_tree_depth_init_a2} - - -initialize a tree - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-tree}]: the tree to be initialized \end{description} -\end{Desc} - - -Definition at line 125 of file eo\-St\-Parse\-Tree\-Depth\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-St\-Parse\-Tree\-Depth\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_point_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_st_point_mutation.eps deleted file mode 100644 index a91d198c6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_point_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 76.6284 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.525 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStPointMutation< FType, Node >) cw -(eoMonOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoUF< eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(unary_function< eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStPointMutation< FType, Node >) 0.5 0 box - (eoMonOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoUF< eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_point_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_st_point_mutation.tex deleted file mode 100644 index 1d7c2596f..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_point_mutation.tex +++ /dev/null @@ -1,88 +0,0 @@ -\section{eo\-St\-Point\-Mutation$<$ FType, Node $>$ Class Template Reference} -\label{classeo_st_point_mutation}\index{eoStPointMutation@{eoStPointMutation}} -eo\-St\-Point\-Mutation --$>$ replace a Node with a Node of the same arity and type - - -{\tt \#include $<$gp/eo\-St\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-St\-Point\-Mutation$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.14559cm]{classeo_st_point_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_st_point_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-St\-Point\-Mutation} (std::vector$<$ Node $>$ \&\_\-node) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_st_point_mutation_a1} - -\begin{CompactList}\small\item\em the class name \item\end{CompactList}\item -virtual {\bf $\sim$eo\-St\-Point\-Mutation} ()\label{classeo_st_point_mutation_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1) -\begin{CompactList}\small\item\em Mutate an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -map$<$ int, map$<$ int, std::vector$<$ Node $>$ $>$ $>$ {\bf node}\label{classeo_st_point_mutation_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-St\-Point\-Mutation$<$ FType, Node $>$} - -eo\-St\-Point\-Mutation --$>$ replace a Node with a Node of the same arity and type - - - -Definition at line 195 of file eo\-St\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoStPointMutation@{eo\-St\-Point\-Mutation}!eoStPointMutation@{eoStPointMutation}} -\index{eoStPointMutation@{eoStPointMutation}!eoStPointMutation@{eo\-St\-Point\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-St\-Point\-Mutation}$<$ FType, Node $>$::{\bf eo\-St\-Point\-Mutation} (std::vector$<$ Node $>$ \& {\em \_\-node})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_point_mutation_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-initializor}]The std::vector of Nodes given to the eo\-Gp\-Depth\-Initializer \end{description} -\end{Desc} - - -Definition at line 205 of file eo\-St\-Parse\-Tree\-Op.h. - -\subsection{Member Function Documentation} -\index{eoStPointMutation@{eo\-St\-Point\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoStPointMutation@{eo\-St\-Point\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ bool {\bf eo\-St\-Point\-Mutation}$<$ FType, Node $>$::operator() ({\bf Eo\-Type} \& {\em \_\-eo1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_point_mutation_a3} - - -Mutate an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo1}]The individual that is to be changed \end{description} -\end{Desc} - - -Definition at line 234 of file eo\-St\-Parse\-Tree\-Op.h. - -References eo\-Rng::random(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-St\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_subtree_x_over.eps b/trunk/paradiseo-eo/doc/latex/classeo_st_subtree_x_over.eps deleted file mode 100644 index 8d2f4b5a4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_subtree_x_over.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 48.84 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 10.2375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStSubtreeXOver< FType, Node >) cw -(eoQuadOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(binary_function< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStSubtreeXOver< FType, Node >) 0.5 0 box - (eoQuadOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_st_subtree_x_over.tex b/trunk/paradiseo-eo/doc/latex/classeo_st_subtree_x_over.tex deleted file mode 100644 index 8c9a8c2ca..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_st_subtree_x_over.tex +++ /dev/null @@ -1,70 +0,0 @@ -\section{eo\-St\-Subtree\-XOver$<$ FType, Node $>$ Class Template Reference} -\label{classeo_st_subtree_x_over}\index{eoStSubtreeXOver@{eoStSubtreeXOver}} -eo\-St\-Subtree\-XOver --$>$ subtree xover for strongly typed tree-based genetic programming - - -{\tt \#include $<$gp/eo\-St\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-St\-Subtree\-XOver$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.36752cm]{classeo_st_subtree_x_over} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_st_subtree_x_over_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-St\-Subtree\-XOver} (unsigned \_\-max\_\-length) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_st_subtree_x_over_a1} - -\begin{CompactList}\small\item\em the ckassname \item\end{CompactList}\item -virtual {\bf $\sim$eo\-St\-Subtree\-XOver} ()\label{classeo_st_subtree_x_over_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1, {\bf Eo\-Type} \&\_\-eo2)\label{classeo_st_subtree_x_over_a3} - -\begin{CompactList}\small\item\em Perform crossover on two individuals param \_\-eo1 The first parent individual param \_\-eo2 The second parent individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-length}\label{classeo_st_subtree_x_over_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-St\-Subtree\-XOver$<$ FType, Node $>$} - -eo\-St\-Subtree\-XOver --$>$ subtree xover for strongly typed tree-based genetic programming - - - -Definition at line 56 of file eo\-St\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoStSubtreeXOver@{eo\-St\-Subtree\-XOver}!eoStSubtreeXOver@{eoStSubtreeXOver}} -\index{eoStSubtreeXOver@{eoStSubtreeXOver}!eoStSubtreeXOver@{eo\-St\-Subtree\-XOver}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-St\-Subtree\-XOver}$<$ FType, Node $>$::{\bf eo\-St\-Subtree\-XOver} (unsigned {\em \_\-max\_\-length})\hspace{0.3cm}{\tt [inline]}}\label{classeo_st_subtree_x_over_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-max\_\-length}]the maximum size of an individual \end{description} -\end{Desc} - - -Definition at line 64 of file eo\-St\-Parse\-Tree\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-St\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stat.eps b/trunk/paradiseo-eo/doc/latex/classeo_stat.eps deleted file mode 100644 index 73e4b93e3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stat.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStat< EOT, T >) cw -(eoValueParam< T >) cw -(eoStatBase< EOT >) cw -(eoParam) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStat< EOT, T >) 0.5 0 box - (eoValueParam< T >) 0 1 box - (eoStatBase< EOT >) 1 1 box - (eoParam) 0 2 box - (eoUF< const eoPop< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< const eoPop< EOT > &, void >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -0 0 1 out -solid -1 1 1 in -solid -0 1 1 out -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stat.tex b/trunk/paradiseo-eo/doc/latex/classeo_stat.tex deleted file mode 100644 index 58d74c932..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stat.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Stat$<$ EOT, T $>$ Class Template Reference} -\label{classeo_stat}\index{eoStat@{eoStat}} -The actual class that will be used as base for all statistics that need to be calculated over the (unsorted) population It is an {\bf eo\-Stat\-Base}{\rm (p.\,\pageref{classeo_stat_base})} AND an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so it can be used in Monitors. - - -{\tt \#include $<$eo\-Stat.h$>$} - -Inheritance diagram for eo\-Stat$<$ EOT, T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_stat} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Stat} (T \_\-value, std::string \_\-description)\label{classeo_stat_a0} - -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_stat_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class T$>$ class eo\-Stat$<$ EOT, T $>$} - -The actual class that will be used as base for all statistics that need to be calculated over the (unsorted) population It is an {\bf eo\-Stat\-Base}{\rm (p.\,\pageref{classeo_stat_base})} AND an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so it can be used in Monitors. - - - -Definition at line 58 of file eo\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stat_base.eps b/trunk/paradiseo-eo/doc/latex/classeo_stat_base.eps deleted file mode 100644 index 6beaf8eb9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stat_base.eps +++ /dev/null @@ -1,277 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 77.2201 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 6.475 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 8 def -/cols 7 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStatBase< EOT >) cw -(eoUF< const eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, void >) cw -(eoStat< EOT, T >) cw -(eoStat< EOT, double >) cw -(eoStat< EOT, EOT::Fitness >) cw -(eoStat< EOT, std::pair< double, double > >) cw -(eoStat< EOT, std::string >) cw -(eoAssembledFitnessAverageStat< EOT >) cw -(eoAssembledFitnessBestStat< EOT >) cw -(eoDistanceStat< EOT >) cw -(eoFDCStat< EOT >) cw -(eoAverageStat< EOT >) cw -(eoBestFitnessStat< EOT >) cw -(eoSecondMomentStats< EOT >) cw -(eoPopStat< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStatBase< EOT >) 3 5 box - (eoUF< const eoPop< EOT > &, void >) 3 6 box - (eoFunctorBase) 2.5 7 box - (unary_function< const eoPop< EOT > &, void >) 3.5 7 box - (eoStat< EOT, T >) 0 4 box - (eoStat< EOT, double >) 1 4 box - (eoStat< EOT, EOT::Fitness >) 3 4 box - (eoStat< EOT, std::pair< double, double > >) 5 4 box - (eoStat< EOT, std::string >) 6 4 box - (eoAssembledFitnessAverageStat< EOT >) 2 3 box - (eoAssembledFitnessBestStat< EOT >) 2 2 box - (eoDistanceStat< EOT >) 2 1 box - (eoFDCStat< EOT >) 2 0 box - (eoAverageStat< EOT >) 4 3 box - (eoBestFitnessStat< EOT >) 4 2 box - (eoSecondMomentStats< EOT >) 5 3 box - (eoPopStat< EOT >) 6 3 box - -% ----- relations ----- - -solid -0 3 5 out -solid -1 3 6 in -solid -0 3 6 out -solid -2.5 3.5 7 conn -solid -1 2.5 7 in -solid -1 3.5 7 in -solid -1 3 4.25 out -solid -0 6 5 conn -solid -0 0 4.75 in -solid -0 1 4.75 in -solid -1 1 3.25 out -solid -0 3 4.75 in -solid -1 3 3.25 out -solid -0 5 4.75 in -solid -1 5 3.25 out -solid -0 6 4.75 in -solid -1 6 3.25 out -solid -0 1 3.5 hedge -solid -0 1 2.5 hedge -solid -0 1 1.5 hedge -solid -0 1 0.5 hedge -solid -1 4 0.5 vedge -solid -0 3 3.5 hedge -solid -0 3 2.5 hedge -solid -3 4 2.5 vedge -solid -0 5 3.75 in -solid -0 6 3.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stat_base.tex b/trunk/paradiseo-eo/doc/latex/classeo_stat_base.tex deleted file mode 100644 index 2021fbe1b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stat_base.tex +++ /dev/null @@ -1,38 +0,0 @@ -\section{eo\-Stat\-Base$<$ EOT $>$ Class Template Reference} -\label{classeo_stat_base}\index{eoStatBase@{eoStatBase}} -Base class for all statistics that need to be calculated over the (unsorted) population (I guess it is not really necessary? MS. - - -{\tt \#include $<$eo\-Stat.h$>$} - -Inheritance diagram for eo\-Stat\-Base$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.16216cm]{classeo_stat_base} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf last\-Call} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&)\label{classeo_stat_base_a0} - -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_stat_base_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Stat\-Base$<$ EOT $>$} - -Base class for all statistics that need to be calculated over the (unsorted) population (I guess it is not really necessary? MS. - -Depstd::ends, there might be reasons to have a stat that is not an {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})}, but maybe I'm just kidding myself, MK) - - - -Definition at line 45 of file eo\-Stat.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stat.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_state.eps b/trunk/paradiseo-eo/doc/latex/classeo_state.eps deleted file mode 100644 index 4e25912fb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_state.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 370.37 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.35 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoState) cw -(eoFunctorStore) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoState) 0 0 box - (eoFunctorStore) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_state.tex b/trunk/paradiseo-eo/doc/latex/classeo_state.tex deleted file mode 100644 index 4f5304d0e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_state.tex +++ /dev/null @@ -1,153 +0,0 @@ -\section{eo\-State Class Reference} -\label{classeo_state}\index{eoState@{eoState}} -eo\-State can be used to register derivants of {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}. - - -{\tt \#include $<$eo\-State.h$>$} - -Inheritance diagram for eo\-State::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_state} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -void {\bf register\-Object} ({\bf eo\-Persistent} \®istrant)\label{classeo_state_a2} - -\begin{CompactList}\small\item\em Object registration function, note that it does not take ownership! \item\end{CompactList}\item -template$<$class T$>$ T \& {\bf take\-Ownership} (const T \&persistent) -\begin{CompactList}\small\item\em Copies the object (MUST be derived from {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}) and returns a reference to the owned object. \item\end{CompactList}\item -std::string {\bf get\-Comment\-String} (void) const \label{classeo_state_a4} - -\item -void {\bf load} (const std::string \&\_\-filename) -\begin{CompactList}\small\item\em Reads the file specified. \item\end{CompactList}\item -void {\bf load} (std::istream \&is) -\begin{CompactList}\small\item\em Reads the file specified. \item\end{CompactList}\item -void {\bf save} (const std::string \&\_\-filename) const -\begin{CompactList}\small\item\em Saves the state in file specified. \item\end{CompactList}\item -void {\bf save} (std::ostream \&os) const -\begin{CompactList}\small\item\em Saves the state in file specified. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Types} -\begin{CompactItemize} -\item -typedef std::map$<$ std::string, {\bf eo\-Persistent} $\ast$ $>$ {\bf Object\-Map}\label{classeo_state_y0} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -std::string {\bf create\-Object\-Name} ({\bf eo\-Object} $\ast$obj)\label{classeo_state_d0} - -\item -{\bf eo\-State} (const {\bf eo\-State} \&)\label{classeo_state_d1} - -\item -{\bf eo\-State} \& {\bf operator=} (const {\bf eo\-State} \&)\label{classeo_state_d2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Object\-Map {\bf object\-Map}\label{classeo_state_r0} - -\item -std::vector$<$ Object\-Map::iterator $>$ {\bf creation\-Order}\label{classeo_state_r1} - -\item -std::vector$<$ {\bf eo\-Persistent} $\ast$ $>$ {\bf owned\-Objects}\label{classeo_state_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-State can be used to register derivants of {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}. - -It will then in turn implement the persistence framework through members load and save, that will call read\-From and print\-On for the registrated objects. - -It is derived from {\bf eo\-Functor\-Store}{\rm (p.\,\pageref{classeo_functor_store})}, so that it also serves as a place where all those nifty eo functors can be stored. This is useful in the case you want to use one of the make\_\-$\ast$ functions. These functions generally take as their last argument an {\bf eo\-Functor\-Store}{\rm (p.\,\pageref{classeo_functor_store})} (or a state) which is used to hold all dynamically generated data. Note however, that unlike with {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} derived classes, {\bf eo\-Functor\-Base}{\rm (p.\,\pageref{classeo_functor_base})} derived classes are not saved or loaded. To govern the creation of functors, command-line parameters (which can be stored) are needed. - - - -Definition at line 54 of file eo\-State.h. - -\subsection{Member Function Documentation} -\index{eoState@{eo\-State}!takeOwnership@{takeOwnership}} -\index{takeOwnership@{takeOwnership}!eoState@{eo\-State}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ T\& eo\-State::take\-Ownership (const T \& {\em persistent})\hspace{0.3cm}{\tt [inline]}}\label{classeo_state_a3} - - -Copies the object (MUST be derived from {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}) and returns a reference to the owned object. - -Note: it does not register the object, this must be done afterwards! - -Definition at line 73 of file eo\-State.h.\index{eoState@{eo\-State}!load@{load}} -\index{load@{load}!eoState@{eo\-State}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-State::load (const std::string \& {\em \_\-filename})}\label{classeo_state_a5} - - -Reads the file specified. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-filename}]the name of the file to load from \end{description} -\end{Desc} - - -Definition at line 74 of file eo\-State.cpp.\index{eoState@{eo\-State}!load@{load}} -\index{load@{load}!eoState@{eo\-State}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-State::load (std::istream \& {\em is})}\label{classeo_state_a6} - - -Reads the file specified. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em is}]the stream to load from \end{description} -\end{Desc} - - -Definition at line 87 of file eo\-State.cpp. - -References eo\-Persistent::read\-From().\index{eoState@{eo\-State}!save@{save}} -\index{save@{save}!eoState@{eo\-State}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-State::save (const std::string \& {\em \_\-filename}) const}\label{classeo_state_a7} - - -Saves the state in file specified. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-filename}]the name of the file to save into \end{description} -\end{Desc} - - -Definition at line 148 of file eo\-State.cpp. - -Referenced by eo\-Timed\-State\-Saver::operator()().\index{eoState@{eo\-State}!save@{save}} -\index{save@{save}!eoState@{eo\-State}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-State::save (std::ostream \& {\em os}) const}\label{classeo_state_a8} - - -Saves the state in file specified. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em os}]the stream to save into \end{description} -\end{Desc} - - -Definition at line 161 of file eo\-State.cpp. - -References eo\-Printable::print\-On(). - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-State.h\item -eo\-State.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stdout_monitor.eps b/trunk/paradiseo-eo/doc/latex/classeo_stdout_monitor.eps deleted file mode 100644 index 315354122..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stdout_monitor.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 583.942 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.85625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStdoutMonitor) cw -(eoMonitor) cw -(eoF< eoMonitor & >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStdoutMonitor) 0 0 box - (eoMonitor) 0 1 box - (eoF< eoMonitor & >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stdout_monitor.tex b/trunk/paradiseo-eo/doc/latex/classeo_stdout_monitor.tex deleted file mode 100644 index 4abbb2144..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stdout_monitor.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Stdout\-Monitor Class Reference} -\label{classeo_stdout_monitor}\index{eoStdoutMonitor@{eoStdoutMonitor}} -Prints statistics to stdout. - - -{\tt \#include $<$eo\-Stdout\-Monitor.h$>$} - -Inheritance diagram for eo\-Stdout\-Monitor::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_stdout_monitor} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Stdout\-Monitor} (bool \_\-verbose=true, std::string \_\-delim=\char`\"{}$\backslash$t\char`\"{})\label{classeo_stdout_monitor_a0} - -\item -{\bf eo\-Monitor} \& {\bf operator()} (void)\label{classeo_stdout_monitor_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_stdout_monitor_a2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -bool {\bf verbose}\label{classeo_stdout_monitor_r0} - -\item -std::string {\bf delim}\label{classeo_stdout_monitor_r1} - -\item -bool {\bf firsttime}\label{classeo_stdout_monitor_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Prints statistics to stdout. - - - -Definition at line 38 of file eo\-Stdout\-Monitor.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Stdout\-Monitor.h\item -eo\-Stdout\-Monitor.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_steady_fit_continue.eps b/trunk/paradiseo-eo/doc/latex/classeo_steady_fit_continue.eps deleted file mode 100644 index a28da4033..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_steady_fit_continue.eps +++ /dev/null @@ -1,227 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 90.0901 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.55 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSteadyFitContinue< EOT >) cw -(eoContinue< EOT >) cw -(eoUF< const eoPop< EOT > &, bool >) cw -(eoPersistent) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, bool >) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSteadyFitContinue< EOT >) 1.25 0 box - (eoContinue< EOT >) 1.25 1 box - (eoUF< const eoPop< EOT > &, bool >) 0.5 2 box - (eoPersistent) 2 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, bool >) 1 3 box - (eoPrintable) 2 3 box - -% ----- relations ----- - -solid -0 1.25 0 out -solid -1 1.25 1 in -solid -0 1.25 1 out -solid -0.5 2 2 conn -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 2 2 in -solid -0 2 2 out -solid -1 0 3 in -solid -1 1 3 in -solid -1 2 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_steady_fit_continue.tex b/trunk/paradiseo-eo/doc/latex/classeo_steady_fit_continue.tex deleted file mode 100644 index 73fcaf0e8..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_steady_fit_continue.tex +++ /dev/null @@ -1,97 +0,0 @@ -\section{eo\-Steady\-Fit\-Continue$<$ EOT $>$ Class Template Reference} -\label{classeo_steady_fit_continue}\index{eoSteadyFitContinue@{eoSteadyFitContinue}} -A continuator: does a minimum number of generations, then stops whenever a given number of generations takes place without improvement. - - -{\tt \#include $<$eo\-Steady\-Fit\-Continue.h$>$} - -Inheritance diagram for eo\-Steady\-Fit\-Continue$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.52252cm]{classeo_steady_fit_continue} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_steady_fit_continue_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Steady\-Fit\-Continue} (unsigned long \_\-min\-Gens, unsigned long \_\-steady\-Gens)\label{classeo_steady_fit_continue_a0} - -\begin{CompactList}\small\item\em Ctor for setting a. \item\end{CompactList}\item -{\bf eo\-Steady\-Fit\-Continue} (unsigned long \_\-min\-Gens, unsigned long \_\-steady\-Gen, unsigned long \&\_\-current\-Gen)\label{classeo_steady_fit_continue_a1} - -\begin{CompactList}\small\item\em Ctor for enabling the save/load the no. of generations counted. \item\end{CompactList}\item -virtual bool {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-v\-EO)\label{classeo_steady_fit_continue_a2} - -\begin{CompactList}\small\item\em Returns false when a certain number of generations is reached withtout improvement. \item\end{CompactList}\item -virtual void {\bf total\-Generations} (unsigned long \_\-mg, unsigned long \_\-sg) -\begin{CompactList}\small\item\em Sets the parameters (minimum nb of gen. \item\end{CompactList}\item -virtual void {\bf reset} ()\label{classeo_steady_fit_continue_a4} - -\begin{CompactList}\small\item\em Resets the state after it's been reached. \item\end{CompactList}\item -virtual unsigned long {\bf min\-Generations} ()\label{classeo_steady_fit_continue_a5} - -\begin{CompactList}\small\item\em accessors \item\end{CompactList}\item -virtual unsigned long {\bf steady\-Generations} ()\label{classeo_steady_fit_continue_a6} - -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_steady_fit_continue_a7} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned long {\bf rep\-Min\-Generations}\label{classeo_steady_fit_continue_r0} - -\item -unsigned long {\bf rep\-Steady\-Generations}\label{classeo_steady_fit_continue_r1} - -\item -bool {\bf steady\-State}\label{classeo_steady_fit_continue_r2} - -\item -unsigned long {\bf this\-Generation\-Place\-Holder}\label{classeo_steady_fit_continue_r3} - -\item -unsigned long \& {\bf this\-Generation}\label{classeo_steady_fit_continue_r4} - -\item -unsigned int {\bf last\-Improvement}\label{classeo_steady_fit_continue_r5} - -\item -Fitness {\bf best\-So\-Far}\label{classeo_steady_fit_continue_r6} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Steady\-Fit\-Continue$<$ EOT $>$} - -A continuator: does a minimum number of generations, then stops whenever a given number of generations takes place without improvement. - - - -Definition at line 35 of file eo\-Steady\-Fit\-Continue.h. - -\subsection{Member Function Documentation} -\index{eoSteadyFitContinue@{eo\-Steady\-Fit\-Continue}!totalGenerations@{totalGenerations}} -\index{totalGenerations@{totalGenerations}!eoSteadyFitContinue@{eo\-Steady\-Fit\-Continue}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Steady\-Fit\-Continue}$<$ {\bf EOT} $>$::total\-Generations (unsigned long {\em \_\-mg}, unsigned long {\em \_\-sg})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_steady_fit_continue_a3} - - -Sets the parameters (minimum nb of gen. - -+ steady nb of gen.) and sets the current generation to 0 (the begin) - -Definition at line 84 of file eo\-Steady\-Fit\-Continue.h. - -References eo\-Steady\-Fit\-Continue$<$ EOT $>$::reset(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Steady\-Fit\-Continue.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_select.eps deleted file mode 100644 index b2df06dc5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStochTournamentSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStochTournamentSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_select.tex deleted file mode 100644 index 35dc5d1cd..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_select.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-Stoch\-Tournament\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_stoch_tournament_select}\index{eoStochTournamentSelect@{eoStochTournamentSelect}} -eo\-Stoch\-Tournament\-Select: a selection method that selects ONE individual by binary stochastic tournament -MS- 24/10/99 - - -{\tt \#include $<$eo\-Stoch\-Tournament\-Select.h$>$} - -Inheritance diagram for eo\-Stoch\-Tournament\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_stoch_tournament_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Stoch\-Tournament\-Select} (double \_\-Trate=1.0)\label{classeo_stoch_tournament_select_a0} - -\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&pop)\label{classeo_stoch_tournament_select_a1} - -\begin{CompactList}\small\item\em Perform the stochastic tournament. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf Trate}\label{classeo_stoch_tournament_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Stoch\-Tournament\-Select$<$ EOT $>$} - -eo\-Stoch\-Tournament\-Select: a selection method that selects ONE individual by binary stochastic tournament -MS- 24/10/99 - - - -Definition at line 42 of file eo\-Stoch\-Tournament\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stoch\-Tournament\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate.eps b/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate.eps deleted file mode 100644 index 464922fae..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 123.457 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.05 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStochTournamentTruncate< EOT >) cw -(eoReduce< EOT >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, unsigned, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStochTournamentTruncate< EOT >) 0.5 0 box - (eoReduce< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, unsigned, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, unsigned, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate.tex b/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate.tex deleted file mode 100644 index 6c09095ec..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-Stoch\-Tournament\-Truncate$<$ EOT $>$ Class Template Reference} -\label{classeo_stoch_tournament_truncate}\index{eoStochTournamentTruncate@{eoStochTournamentTruncate}} -a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - - -{\tt \#include $<$eo\-Reduce.h$>$} - -Inheritance diagram for eo\-Stoch\-Tournament\-Truncate$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.45679cm]{classeo_stoch_tournament_truncate} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Stoch\-Tournament\-Truncate} (double \_\-t\_\-rate)\label{classeo_stoch_tournament_truncate_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, unsigned \_\-newsize)\label{classeo_stoch_tournament_truncate_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf t\_\-rate}\label{classeo_stoch_tournament_truncate_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Stoch\-Tournament\-Truncate$<$ EOT $>$} - -a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -see {\bf eo\-SSGAStoch\-Tournament\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_stoch_tournament_replacement})}) - - - -Definition at line 236 of file eo\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate_split.eps b/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate_split.eps deleted file mode 100644 index d036da725..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate_split.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 123.457 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.05 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStochTournamentTruncateSplit< EOT >) cw -(eoReduce< EOT >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, unsigned, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStochTournamentTruncateSplit< EOT >) 0.5 0 box - (eoReduce< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, unsigned, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, unsigned, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate_split.tex b/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate_split.tex deleted file mode 100644 index 36013a0af..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_truncate_split.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Stoch\-Tournament\-Truncate\-Split$<$ EOT $>$ Class Template Reference} -\label{classeo_stoch_tournament_truncate_split}\index{eoStochTournamentTruncateSplit@{eoStochTournamentTruncateSplit}} -a Reduce\-Split class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - - -{\tt \#include $<$eo\-Reduce\-Split.h$>$} - -Inheritance diagram for eo\-Stoch\-Tournament\-Truncate\-Split$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.45679cm]{classeo_stoch_tournament_truncate_split} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Stoch\-Tournament\-Truncate\-Split} (double \_\-t\_\-rate, {\bf eo\-How\-Many} \_\-how\-Many, bool \_\-return\-Eliminated=false)\label{classeo_stoch_tournament_truncate_split_a0} - -\begin{CompactList}\small\item\em Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-eliminated)\label{classeo_stoch_tournament_truncate_split_a1} - -\begin{CompactList}\small\item\em Performs repeated inverse\_\-stochastic\_\-tournament on the pop. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf t\_\-rate}\label{classeo_stoch_tournament_truncate_split_r0} - -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_stoch_tournament_truncate_split_r1} - -\item -bool {\bf return\-Eliminated}\label{classeo_stoch_tournament_truncate_split_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Stoch\-Tournament\-Truncate\-Split$<$ EOT $>$} - -a Reduce\-Split class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -see {\bf eo\-SSGAStoch\-Tournament\-Replacement}{\rm (p.\,\pageref{classeo_s_s_g_a_stoch_tournament_replacement})}) - - - -Definition at line 256 of file eo\-Reduce\-Split.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Split.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_worth_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_worth_select.eps deleted file mode 100644 index 446249099..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_worth_select.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 144.509 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.46 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStochTournamentWorthSelect< EOT, WorthT >) cw -(eoSelectFromWorth< EOT, WorthT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStochTournamentWorthSelect< EOT, WorthT >) 0.5 0 box - (eoSelectFromWorth< EOT, WorthT >) 0.5 1 box - (eoSelectOne< EOT >) 0.5 2 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 3 box - (eoFunctorBase) 0 4 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 4 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -1 0.5 3 in -solid -0 0.5 3 out -solid -0 1 4 conn -solid -1 0 4 in -solid -1 1 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_worth_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_worth_select.tex deleted file mode 100644 index 0903cda02..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stoch_tournament_worth_select.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Stoch\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$ Class Template Reference} -\label{classeo_stoch_tournament_worth_select}\index{eoStochTournamentWorthSelect@{eoStochTournamentWorthSelect}} -An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a ... - - -{\tt \#include $<$eo\-Select\-From\-Worth.h$>$} - -Inheritance diagram for eo\-Stoch\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4.04624cm]{classeo_stoch_tournament_worth_select} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ Worth\-T $>$::iterator {\bf worth\-Iterator}\label{classeo_stoch_tournament_worth_select_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Stoch\-Tournament\-Worth\-Select} ({\bf eo\-Perf2Worth}$<$ {\bf EOT}, Worth\-T $>$ \&\_\-perf2Worth, double \_\-t\-Rate)\label{classeo_stoch_tournament_worth_select_a0} - -\item -virtual const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_stoch_tournament_worth_select_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf t\-Rate}\label{classeo_stoch_tournament_worth_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class eo\-Stoch\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$} - -An instance of eo\-Select\-Perf2Worth that does selection from the Worthes using a ... - -stochastic tournament, yes! - - - -Definition at line 128 of file eo\-Select\-From\-Worth.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Select\-From\-Worth.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stochastic_universal_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_stochastic_universal_select.eps deleted file mode 100644 index 16d8e60cf..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stochastic_universal_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoStochasticUniversalSelect< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoStochasticUniversalSelect< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_stochastic_universal_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_stochastic_universal_select.tex deleted file mode 100644 index 8a775f828..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_stochastic_universal_select.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Stochastic\-Universal\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_stochastic_universal_select}\index{eoStochasticUniversalSelect@{eoStochasticUniversalSelect}} -eo\-Stochastic\-Universal\-Select: select an individual proportional to her stored fitness value, but in contrast with eo\-Stochastic\-Universal\-Select, get rid of most finite sampling effects by doing all selections in one go, using a single random number. - - -{\tt \#include $<$eo\-Stochastic\-Universal\-Select.h$>$} - -Inheritance diagram for eo\-Stochastic\-Universal\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_stochastic_universal_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Stochastic\-Universal\-Select} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&pop={\bf eo\-Pop}$<$ {\bf EOT} $>$())\label{classeo_stochastic_universal_select_a0} - -\begin{CompactList}\small\item\em Sanity check. \item\end{CompactList}\item -void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_stochastic_universal_select_a1} - -\begin{CompactList}\small\item\em virtual function to setup some population stats (for instance eo\-Proportional can benefit greatly from this) \item\end{CompactList}\item -const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop)\label{classeo_stochastic_universal_select_a2} - -\begin{CompactList}\small\item\em do the selection, \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Types} -\begin{CompactItemize} -\item -typedef std::vector$<$ unsigned $>$ {\bf Index\-Vec}\label{classeo_stochastic_universal_select_y0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Index\-Vec {\bf indices}\label{classeo_stochastic_universal_select_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Stochastic\-Universal\-Select$<$ EOT $>$} - -eo\-Stochastic\-Universal\-Select: select an individual proportional to her stored fitness value, but in contrast with eo\-Stochastic\-Universal\-Select, get rid of most finite sampling effects by doing all selections in one go, using a single random number. - - - -Definition at line 44 of file eo\-Stochastic\-Universal\-Select.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Stochastic\-Universal\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_string.eps b/trunk/paradiseo-eo/doc/latex/classeo_string.eps deleted file mode 100644 index e8ac196b2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_string.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 298.507 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.675 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoString< fitnessT >) cw -(EO< fitnessT >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoString< fitnessT >) 0.5 0 box - (EO< fitnessT >) 0.5 1 box - (eoObject) 0 2 box - (eoPersistent) 1 2 box - (eoPrintable) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_string.tex b/trunk/paradiseo-eo/doc/latex/classeo_string.tex deleted file mode 100644 index 219d73834..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_string.tex +++ /dev/null @@ -1,72 +0,0 @@ -\section{eo\-String$<$ fitness\-T $>$ Class Template Reference} -\label{classeo_string}\index{eoString@{eoString}} -Adaptor that turns an STL std::string into an {\bf EO}{\rm (p.\,\pageref{class_e_o})}. - - -{\tt \#include $<$eo\-String.h$>$} - -Inheritance diagram for eo\-String$<$ fitness\-T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_string} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef char {\bf Type}\label{classeo_string_w0} - -\item -typedef char {\bf Atom\-Type}\label{classeo_string_w1} - -\item -typedef std::string {\bf Container\-Type}\label{classeo_string_w2} - -\end{CompactItemize} -\subsection*{Public Member Functions} -{\bf }\par -\begin{CompactItemize} -\item -{\bf eo\-String} (const std::string \&\_\-str=\char`\"{}\char`\"{})\label{classeo_string_z24_0} - -\begin{CompactList}\small\item\em ctor \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&os) const \label{classeo_string_z24_1} - -\begin{CompactList}\small\item\em printing... \item\end{CompactList}\end{CompactItemize} - -\begin{Indent}{\bf Methods from eo\-Object}\par -{\em read\-From and print\-On are directly inherited from eo1d }\begin{CompactItemize} -\item -virtual std::string {\bf class\-Name} () const -\begin{CompactList}\small\item\em Inherited from {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}. \item\end{CompactList}\end{CompactItemize} -\end{Indent} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class fitness\-T$>$ class eo\-String$<$ fitness\-T $>$} - -Adaptor that turns an STL std::string into an {\bf EO}{\rm (p.\,\pageref{class_e_o})}. - - - -Definition at line 42 of file eo\-String.h. - -\subsection{Member Function Documentation} -\index{eoString@{eo\-String}!className@{className}} -\index{className@{className}!eoString@{eo\-String}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class fitness\-T$>$ virtual std::string {\bf eo\-String}$<$ fitness\-T $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_string_z26_0} - - -Inherited from {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}. - -\begin{Desc} -\item[See also:]{\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})} \end{Desc} - - -Reimplemented from {\bf EO$<$ fitness\-T $>$} {\rm (p.\,\pageref{class_e_o_z10_0})}. - -Definition at line 74 of file eo\-String.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-String.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_subtree_x_over.eps b/trunk/paradiseo-eo/doc/latex/classeo_subtree_x_over.eps deleted file mode 100644 index 96f3ebbf3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_subtree_x_over.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 48.84 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 10.2375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSubtreeXOver< FType, Node >) cw -(eoQuadOp< eoParseTree< FType, Node > >) cw -(eoOp< eoParseTree< FType, Node > >) cw -(eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) cw -(eoFunctorBase) cw -(binary_function< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSubtreeXOver< FType, Node >) 0.5 0 box - (eoQuadOp< eoParseTree< FType, Node > >) 0.5 1 box - (eoOp< eoParseTree< FType, Node > >) 0 2 box - (eoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_subtree_x_over.tex b/trunk/paradiseo-eo/doc/latex/classeo_subtree_x_over.tex deleted file mode 100644 index b9c4719d5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_subtree_x_over.tex +++ /dev/null @@ -1,70 +0,0 @@ -\section{eo\-Subtree\-XOver$<$ FType, Node $>$ Class Template Reference} -\label{classeo_subtree_x_over}\index{eoSubtreeXOver@{eoSubtreeXOver}} -eo\-Subtree\-XOver --$>$ subtree xover - - -{\tt \#include $<$gp/eo\-Parse\-Tree\-Op.h$>$} - -Inheritance diagram for eo\-Subtree\-XOver$<$ FType, Node $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.36752cm]{classeo_subtree_x_over} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ {\bf Eo\-Type}\label{classeo_subtree_x_over_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Subtree\-XOver} (unsigned \_\-max\_\-length) -\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_subtree_x_over_a1} - -\begin{CompactList}\small\item\em the ckassname \item\end{CompactList}\item -virtual {\bf $\sim$eo\-Subtree\-XOver} ()\label{classeo_subtree_x_over_a2} - -\begin{CompactList}\small\item\em Dtor. \item\end{CompactList}\item -bool {\bf operator()} ({\bf Eo\-Type} \&\_\-eo1, {\bf Eo\-Type} \&\_\-eo2)\label{classeo_subtree_x_over_a3} - -\begin{CompactList}\small\item\em Perform crossover on two individuals param \_\-eo1 The first parent individual param \_\-eo2 The second parent individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf max\_\-length}\label{classeo_subtree_x_over_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class FType, class Node$>$ class eo\-Subtree\-XOver$<$ FType, Node $>$} - -eo\-Subtree\-XOver --$>$ subtree xover - - - -Definition at line 42 of file eo\-Parse\-Tree\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoSubtreeXOver@{eo\-Subtree\-XOver}!eoSubtreeXOver@{eoSubtreeXOver}} -\index{eoSubtreeXOver@{eoSubtreeXOver}!eoSubtreeXOver@{eo\-Subtree\-XOver}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ {\bf eo\-Subtree\-XOver}$<$ FType, Node $>$::{\bf eo\-Subtree\-XOver} (unsigned {\em \_\-max\_\-length})\hspace{0.3cm}{\tt [inline]}}\label{classeo_subtree_x_over_a0} - - -Constructor. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-max\_\-length}]the maximum size of an individual \end{description} -\end{Desc} - - -Definition at line 50 of file eo\-Parse\-Tree\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Parse\-Tree\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_survive_and_die.eps b/trunk/paradiseo-eo/doc/latex/classeo_survive_and_die.eps deleted file mode 100644 index df4d11f2a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_survive_and_die.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSurviveAndDie< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoDeterministicSurviveAndDie< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSurviveAndDie< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - (eoDeterministicSurviveAndDie< EOT >) 0.5 0 box - -% ----- relations ----- - -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in -solid -1 0.5 0.25 out -solid -0 0.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_survive_and_die.tex b/trunk/paradiseo-eo/doc/latex/classeo_survive_and_die.tex deleted file mode 100644 index 9f473f741..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_survive_and_die.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-Survive\-And\-Die$<$ EOT $>$ Class Template Reference} -\label{classeo_survive_and_die}\index{eoSurviveAndDie@{eoSurviveAndDie}} -eo\-Survive\-And\-Die A pure abstract class, to store the howmany's - - -{\tt \#include $<$eo\-Survive\-And\-Die.h$>$} - -Inheritance diagram for eo\-Survive\-And\-Die$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_survive_and_die} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Survive\-And\-Die} (double \_\-survive, double \_\-die, bool \_\-interpret\_\-as\_\-rate=true)\label{classeo_survive_and_die_a0} - -\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -{\bf eo\-How\-Many} {\bf howmany\-Survive}\label{classeo_survive_and_die_p0} - -\item -{\bf eo\-How\-Many} {\bf howmany\-Die}\label{classeo_survive_and_die_p1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Survive\-And\-Die$<$ EOT $>$} - -eo\-Survive\-And\-Die A pure abstract class, to store the howmany's - - - -Definition at line 53 of file eo\-Survive\-And\-Die.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Survive\-And\-Die.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sym_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_sym_init.eps deleted file mode 100644 index 76c47e086..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sym_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 182.648 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.7375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoSymInit< EoType >) cw -(eoInit< EoType >) cw -(eoUF< EoType &, void >) cw -(eoFunctorBase) cw -(unary_function< EoType &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoSymInit< EoType >) 0.5 0 box - (eoInit< EoType >) 0.5 1 box - (eoUF< EoType &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EoType &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_sym_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_sym_init.tex deleted file mode 100644 index 53da9a38e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_sym_init.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{eo\-Sym\-Init$<$ Eo\-Type $>$ Class Template Reference} -\label{classeo_sym_init}\index{eoSymInit@{eoSymInit}} -Default initializer, Koza style. - - -{\tt \#include $<$eo\-Sym\-Init.h$>$} - -Inheritance diagram for eo\-Sym\-Init$<$ Eo\-Type $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_sym_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Sym\-Init} (Tree\-Builder \&\_\-builder)\label{classeo_sym_init_a0} - -\begin{CompactList}\small\item\em By default build ramped half and half with max depth 6. \item\end{CompactList}\item -{\bf eo\-Sym\-Init} (Tree\-Builder \&\_\-builder, double \&\_\-grow\_\-prob, unsigned \&\_\-max\_\-depth)\label{classeo_sym_init_a1} - -\begin{CompactList}\small\item\em Control the grow\_\-prob and max\_\-depth externally. \item\end{CompactList}\item -void {\bf operator()} ({\bf Eo\-Type} \&tree)\label{classeo_sym_init_a2} - -\begin{CompactList}\small\item\em build the tree \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Tree\-Builder \& {\bf builder}\label{classeo_sym_init_r0} - -\item -double {\bf own\_\-grow\_\-prob}\label{classeo_sym_init_r1} - -\item -unsigned {\bf own\_\-max\_\-depth}\label{classeo_sym_init_r2} - -\item -double \& {\bf grow\_\-prob}\label{classeo_sym_init_r3} - -\item -unsigned \& {\bf max\_\-depth}\label{classeo_sym_init_r4} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Eo\-Type$>$ class eo\-Sym\-Init$<$ Eo\-Type $>$} - -Default initializer, Koza style. - - - -Definition at line 26 of file eo\-Sym\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Sym\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_time_counter.eps b/trunk/paradiseo-eo/doc/latex/classeo_time_counter.eps deleted file mode 100644 index 81420c284..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_time_counter.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 242.424 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.0625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTimeCounter) cw -(eoUpdater) cw -(eoValueParam< double >) cw -(eoF< void >) cw -(eoParam) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTimeCounter) 0.5 0 box - (eoUpdater) 0 1 box - (eoValueParam< double >) 1 1 box - (eoF< void >) 0 2 box - (eoParam) 1 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -0 1 1 conn -solid -1 0 1 in -solid -0 0 1 out -solid -1 1 1 in -solid -0 1 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 1 2 in -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_time_counter.tex b/trunk/paradiseo-eo/doc/latex/classeo_time_counter.tex deleted file mode 100644 index bc2ba5a1d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_time_counter.tex +++ /dev/null @@ -1,37 +0,0 @@ -\section{eo\-Time\-Counter Class Reference} -\label{classeo_time_counter}\index{eoTimeCounter@{eoTimeCounter}} -An {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})} that simply gives the user time since first generation It has to be tempatized by EOT because it must be an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}. - - -{\tt \#include $<$eo\-Time\-Counter.h$>$} - -Inheritance diagram for eo\-Time\-Counter::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_time_counter} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf operator()} ()\label{classeo_time_counter_a1} - -\begin{CompactList}\small\item\em simply stores the time spent in process in its {\bf value()}{\rm (p.\,\pageref{classeo_value_param_a2})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -clock\_\-t {\bf utime}\label{classeo_time_counter_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -An {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})} that simply gives the user time since first generation It has to be tempatized by EOT because it must be an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}. - - - -Definition at line 38 of file eo\-Time\-Counter.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Time\-Counter.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_time_varying_loop_eval.eps b/trunk/paradiseo-eo/doc/latex/classeo_time_varying_loop_eval.eps deleted file mode 100644 index c5be6d7b2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_time_varying_loop_eval.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTimeVaryingLoopEval< EOT >) cw -(eoPopEvalFunc< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTimeVaryingLoopEval< EOT >) 0.5 0 box - (eoPopEvalFunc< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_time_varying_loop_eval.tex b/trunk/paradiseo-eo/doc/latex/classeo_time_varying_loop_eval.tex deleted file mode 100644 index 6bc693523..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_time_varying_loop_eval.tex +++ /dev/null @@ -1,42 +0,0 @@ -\section{eo\-Time\-Varying\-Loop\-Eval$<$ EOT $>$ Class Template Reference} -\label{classeo_time_varying_loop_eval}\index{eoTimeVaryingLoopEval@{eoTimeVaryingLoopEval}} -{\bf eo\-Pop\-Loop\-Eval}{\rm (p.\,\pageref{classeo_pop_loop_eval})}: an instance of {\bf eo\-Pop\-Eval\-Func}{\rm (p.\,\pageref{classeo_pop_eval_func})} that simply applies a private {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} to all offspring AND ALL PARENTS as the fitness is supposed here to vary - - -{\tt \#include $<$eo\-Pop\-Eval\-Func.h$>$} - -Inheritance diagram for eo\-Time\-Varying\-Loop\-Eval$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_time_varying_loop_eval} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Time\-Varying\-Loop\-Eval} ({\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \&\_\-eval)\label{classeo_time_varying_loop_eval_a0} - -\begin{CompactList}\small\item\em Ctor: set value of embedded {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})}. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-parents, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_time_varying_loop_eval_a1} - -\begin{CompactList}\small\item\em Do the job: simple loop over the offspring. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Eval\-Func}$<$ {\bf EOT} $>$ \& {\bf eval}\label{classeo_time_varying_loop_eval_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Time\-Varying\-Loop\-Eval$<$ EOT $>$} - -{\bf eo\-Pop\-Loop\-Eval}{\rm (p.\,\pageref{classeo_pop_loop_eval})}: an instance of {\bf eo\-Pop\-Eval\-Func}{\rm (p.\,\pageref{classeo_pop_eval_func})} that simply applies a private {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} to all offspring AND ALL PARENTS as the fitness is supposed here to vary - - - -Definition at line 84 of file eo\-Pop\-Eval\-Func.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Pop\-Eval\-Func.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_timed_dyn_update.eps b/trunk/paradiseo-eo/doc/latex/classeo_timed_dyn_update.eps deleted file mode 100644 index 72a2c433d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_timed_dyn_update.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 775.194 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.645 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTimedDynUpdate) cw -(eoDynUpdater) cw -(eoUpdater) cw -(eoF< void >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTimedDynUpdate) 0 0 box - (eoDynUpdater) 0 1 box - (eoUpdater) 0 2 box - (eoF< void >) 0 3 box - (eoFunctorBase) 0 4 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in -solid -0 0 3 out -solid -1 0 4 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_timed_dyn_update.tex b/trunk/paradiseo-eo/doc/latex/classeo_timed_dyn_update.tex deleted file mode 100644 index d7a99b12b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_timed_dyn_update.tex +++ /dev/null @@ -1,46 +0,0 @@ -\section{eo\-Timed\-Dyn\-Update Class Reference} -\label{classeo_timed_dyn_update}\index{eoTimedDynUpdate@{eoTimedDynUpdate}} -An {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} to update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object every given time interval. - - -{\tt \#include $<$eo\-Updatable.h$>$} - -Inheritance diagram for eo\-Timed\-Dyn\-Update::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=5cm]{classeo_timed_dyn_update} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Timed\-Dyn\-Update} ({\bf eo\-Updatable} \&\_\-to\-Update, time\_\-t \_\-interval)\label{classeo_timed_dyn_update_a0} - -\item -void {\bf operator()} (void)\label{classeo_timed_dyn_update_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -const time\_\-t {\bf interval}\label{classeo_timed_dyn_update_r0} - -\item -time\_\-t {\bf last\_\-time}\label{classeo_timed_dyn_update_r1} - -\item -const time\_\-t {\bf first\_\-time}\label{classeo_timed_dyn_update_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -An {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} to update an {\bf eo\-Updatable}{\rm (p.\,\pageref{classeo_updatable})} object every given time interval. - - - -Definition at line 67 of file eo\-Updatable.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Updatable.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_timed_monitor.eps b/trunk/paradiseo-eo/doc/latex/classeo_timed_monitor.eps deleted file mode 100644 index a7e889393..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_timed_monitor.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 583.942 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.85625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTimedMonitor) cw -(eoMonitor) cw -(eoF< eoMonitor & >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTimedMonitor) 0 0 box - (eoMonitor) 0 1 box - (eoF< eoMonitor & >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_timed_monitor.tex b/trunk/paradiseo-eo/doc/latex/classeo_timed_monitor.tex deleted file mode 100644 index f9e83bb61..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_timed_monitor.tex +++ /dev/null @@ -1,52 +0,0 @@ -\section{eo\-Timed\-Monitor Class Reference} -\label{classeo_timed_monitor}\index{eoTimedMonitor@{eoTimedMonitor}} -Holds a collection of monitors and only fires them when a time limit has been reached. - - -{\tt \#include $<$eo\-Timed\-Monitor.h$>$} - -Inheritance diagram for eo\-Timed\-Monitor::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_timed_monitor} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Timed\-Monitor} (int seconds\_\-)\label{classeo_timed_monitor_a0} - -\item -{\bf eo\-Monitor} \& {\bf operator()} (void)\label{classeo_timed_monitor_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -void {\bf add} ({\bf eo\-Monitor} \&mon)\label{classeo_timed_monitor_a2} - -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_timed_monitor_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -clock\_\-t {\bf last\_\-tick}\label{classeo_timed_monitor_r0} - -\item -int {\bf seconds}\label{classeo_timed_monitor_r1} - -\item -std::vector$<$ {\bf eo\-Monitor} $\ast$ $>$ {\bf monitors}\label{classeo_timed_monitor_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Holds a collection of monitors and only fires them when a time limit has been reached. - - - -Definition at line 40 of file eo\-Timed\-Monitor.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Timed\-Monitor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_timed_state_saver.eps b/trunk/paradiseo-eo/doc/latex/classeo_timed_state_saver.eps deleted file mode 100644 index e0fd51da5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_timed_state_saver.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 620.155 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 0.80625 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTimedStateSaver) cw -(eoUpdater) cw -(eoF< void >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTimedStateSaver) 0 0 box - (eoUpdater) 0 1 box - (eoF< void >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_timed_state_saver.tex b/trunk/paradiseo-eo/doc/latex/classeo_timed_state_saver.tex deleted file mode 100644 index b7940111d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_timed_state_saver.tex +++ /dev/null @@ -1,59 +0,0 @@ -\section{eo\-Timed\-State\-Saver Class Reference} -\label{classeo_timed_state_saver}\index{eoTimedStateSaver@{eoTimedStateSaver}} -an {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} that saves a state every given time interval - - -{\tt \#include $<$eo\-Updater.h$>$} - -Inheritance diagram for eo\-Timed\-State\-Saver::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_timed_state_saver} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Timed\-State\-Saver} (time\_\-t \_\-interval, const {\bf eo\-State} \&\_\-state, std::string \_\-prefix=\char`\"{}state\char`\"{}, std::string \_\-extension=\char`\"{}sav\char`\"{})\label{classeo_timed_state_saver_a0} - -\item -void {\bf operator()} (void)\label{classeo_timed_state_saver_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_timed_state_saver_a2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -const {\bf eo\-State} \& {\bf state}\label{classeo_timed_state_saver_r0} - -\item -const time\_\-t {\bf interval}\label{classeo_timed_state_saver_r1} - -\item -time\_\-t {\bf last\_\-time}\label{classeo_timed_state_saver_r2} - -\item -const time\_\-t {\bf first\_\-time}\label{classeo_timed_state_saver_r3} - -\item -const std::string {\bf prefix}\label{classeo_timed_state_saver_r4} - -\item -const std::string {\bf extension}\label{classeo_timed_state_saver_r5} - -\end{CompactItemize} - - -\subsection{Detailed Description} -an {\bf eo\-Updater}{\rm (p.\,\pageref{classeo_updater})} that saves a state every given time interval - - - -Definition at line 104 of file eo\-Updater.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Updater.h\item -eo\-Updater.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_transform.eps b/trunk/paradiseo-eo/doc/latex/classeo_transform.eps deleted file mode 100644 index 5b7ef4392..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_transform.eps +++ /dev/null @@ -1,225 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 102.171 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.89375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTransform< EOT >) cw -(eoUF< eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(unary_function< eoPop< EOT > &, void >) cw -(eoDynSGATransform< EOT >) cw -(eoEasyEA< EOT >::eoDummyTransform) cw -(eoSGATransform< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTransform< EOT >) 1 1 box - (eoUF< eoPop< EOT > &, void >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< eoPop< EOT > &, void >) 1.5 3 box - (eoDynSGATransform< EOT >) 0 0 box - (eoEasyEA< EOT >::eoDummyTransform) 1 0 box - (eoSGATransform< EOT >) 2 0 box - -% ----- relations ----- - -solid -0 1 1 out -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in -solid -1 1 0.25 out -solid -0 2 1 conn -solid -0 0 0.75 in -solid -0 1 0.75 in -solid -0 2 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_transform.tex b/trunk/paradiseo-eo/doc/latex/classeo_transform.tex deleted file mode 100644 index b40a3161b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_transform.tex +++ /dev/null @@ -1,27 +0,0 @@ -\section{eo\-Transform$<$ EOT $>$ Class Template Reference} -\label{classeo_transform}\index{eoTransform@{eoTransform}} -eo\-Transform transforms a population by applying genetic operators on it. - - -{\tt \#include $<$eo\-Transform.h$>$} - -Inheritance diagram for eo\-Transform$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.86079cm]{classeo_transform} -\end{center} -\end{figure} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Transform$<$ EOT $>$} - -eo\-Transform transforms a population by applying genetic operators on it. - - - -Definition at line 38 of file eo\-Transform.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Transform.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_trunc_select.eps b/trunk/paradiseo-eo/doc/latex/classeo_trunc_select.eps deleted file mode 100644 index 499e8d367..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_trunc_select.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTruncSelect< EOT >) cw -(eoSelect< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTruncSelect< EOT >) 0.5 0 box - (eoSelect< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_trunc_select.tex b/trunk/paradiseo-eo/doc/latex/classeo_trunc_select.tex deleted file mode 100644 index 6bf8ae24b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_trunc_select.tex +++ /dev/null @@ -1,67 +0,0 @@ -\section{eo\-Trunc\-Select$<$ EOT $>$ Class Template Reference} -\label{classeo_trunc_select}\index{eoTruncSelect@{eoTruncSelect}} -eo\-Trunc\-Select selects individuals after truncating the population using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - - -{\tt \#include $<$eo\-Trunc\-Select.h$>$} - -Inheritance diagram for eo\-Trunc\-Select$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_trunc_select} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Trunc\-Select} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-How\-Many} \_\-how\-Many)\label{classeo_trunc_select_a0} - -\begin{CompactList}\small\item\em Ctor: from an {\bf eo\-Select}{\rm (p.\,\pageref{classeo_select})} (and an eo\-Many to tell how many are kept for selectino. \item\end{CompactList}\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-source, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest) -\begin{CompactList}\small\item\em The implementation repeatidly selects an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf select}\label{classeo_trunc_select_r0} - -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_trunc_select_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Trunc\-Select$<$ EOT $>$} - -eo\-Trunc\-Select selects individuals after truncating the population using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - -Therefore {\bf eo\-Select\-Many}{\rm (p.\,\pageref{classeo_select_many})} needs an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} in its ctor It will use an eo\-How\-Mnay to determine the number of guys to keep, - - - -Definition at line 43 of file eo\-Trunc\-Select.h. - -\subsection{Member Function Documentation} -\index{eoTruncSelect@{eo\-Trunc\-Select}!operator()@{operator()}} -\index{operator()@{operator()}!eoTruncSelect@{eo\-Trunc\-Select}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Trunc\-Select}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-source}, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-dest})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_trunc_select_a1} - - -The implementation repeatidly selects an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-source}]the source population \item[{\em \_\-dest}]the resulting population (size of this population is the number of times {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} is called. It empties the destination and adds the selection into it) \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 56 of file eo\-Trunc\-Select.h. - -References eo\-Select\-One$<$ EOT, Worth\-T $>$::setup(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Trunc\-Select.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_truncate.eps b/trunk/paradiseo-eo/doc/latex/classeo_truncate.eps deleted file mode 100644 index f5f90e0d9..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_truncate.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 123.457 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.05 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTruncate< EOT >) cw -(eoReduce< EOT >) cw -(eoBF< eoPop< EOT > &, unsigned, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, unsigned, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTruncate< EOT >) 0.5 0 box - (eoReduce< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, unsigned, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, unsigned, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_truncate.tex b/trunk/paradiseo-eo/doc/latex/classeo_truncate.tex deleted file mode 100644 index db7b3d078..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_truncate.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{eo\-Truncate$<$ EOT $>$ Class Template Reference} -\label{classeo_truncate}\index{eoTruncate@{eoTruncate}} -truncation method using sort - - -{\tt \#include $<$eo\-Reduce.h$>$} - -Inheritance diagram for eo\-Truncate$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.45679cm]{classeo_truncate} -\end{center} -\end{figure} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, unsigned \_\-newsize)\label{classeo_truncate_d0} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Truncate$<$ EOT $>$} - -truncation method using sort - - - -Definition at line 49 of file eo\-Reduce.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_truncate_split.eps b/trunk/paradiseo-eo/doc/latex/classeo_truncate_split.eps deleted file mode 100644 index 60b47684e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_truncate_split.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTruncateSplit< EOT >) cw -(eoReduceSplit< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTruncateSplit< EOT >) 0.5 0 box - (eoReduceSplit< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_truncate_split.tex b/trunk/paradiseo-eo/doc/latex/classeo_truncate_split.tex deleted file mode 100644 index 069248b28..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_truncate_split.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{eo\-Truncate\-Split$<$ EOT $>$ Class Template Reference} -\label{classeo_truncate_split}\index{eoTruncateSplit@{eoTruncateSplit}} -deterministic truncation method using sort - - -{\tt \#include $<$eo\-Reduce\-Split.h$>$} - -Inheritance diagram for eo\-Truncate\-Split$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_truncate_split} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Truncate\-Split} ({\bf eo\-How\-Many} \_\-how\-Many, bool \_\-return\-Eliminated=false)\label{classeo_truncate_split_a0} - -\begin{CompactList}\small\item\em Ctor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \item\end{CompactList}\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-newgen, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-eliminated)\label{classeo_truncate_split_a1} - -\begin{CompactList}\small\item\em do the jonb \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-How\-Many} {\bf how\-Many}\label{classeo_truncate_split_r0} - -\item -bool {\bf return\-Eliminated}\label{classeo_truncate_split_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Truncate\-Split$<$ EOT $>$} - -deterministic truncation method using sort - - - -Definition at line 47 of file eo\-Reduce\-Split.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Reduce\-Split.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_many.eps b/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_many.eps deleted file mode 100644 index 22e2f5d12..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_many.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 98.2801 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.0875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTruncatedSelectMany< EOT >) cw -(eoSelect< EOT >) cw -(eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTruncatedSelectMany< EOT >) 0.5 0 box - (eoSelect< EOT >) 0.5 1 box - (eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< const eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_many.tex b/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_many.tex deleted file mode 100644 index 58c7ef9ca..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_many.tex +++ /dev/null @@ -1,81 +0,0 @@ -\section{eo\-Truncated\-Select\-Many$<$ EOT $>$ Class Template Reference} -\label{classeo_truncated_select_many}\index{eoTruncatedSelectMany@{eoTruncatedSelectMany}} -eo\-Truncated\-Select\-Many selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - - -{\tt \#include $<$eo\-Truncated\-Select\-Many.h$>$} - -Inheritance diagram for eo\-Truncated\-Select\-Many$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.75184cm]{classeo_truncated_select_many} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Truncated\-Select\-Many} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, double \_\-rate\-Genitors, double \_\-rate\-Fertile, bool \_\-interpret\_\-as\_\-rate\-G=true, bool \_\-interpret\_\-as\_\-rate\-F=true)\label{classeo_truncated_select_many_a0} - -\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item -{\bf eo\-Truncated\-Select\-Many} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-How\-Many} \_\-how\-Many\-Genitors, {\bf eo\-How\-Many} \_\-how\-Many\-Fertile)\label{classeo_truncated_select_many_a1} - -\item -virtual void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-source, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-dest) -\begin{CompactList}\small\item\em The implementation repeatidly selects an individual. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf select}\label{classeo_truncated_select_many_r0} - -\item -{\bf eo\-How\-Many} {\bf how\-Many\-Genitors}\label{classeo_truncated_select_many_r1} - -\item -{\bf eo\-How\-Many} {\bf how\-Many\-Fertile}\label{classeo_truncated_select_many_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Truncated\-Select\-Many$<$ EOT $>$} - -eo\-Truncated\-Select\-Many selects many individuals using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - -Therefore {\bf eo\-Select\-Many}{\rm (p.\,\pageref{classeo_select_many})} needs an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} in its ctor - -It will use an eo\-How\-Mnay to determine the number of guys to select, and push them to the back of the destination population. - -And it will only perform selection from the top guys in the population. - -It is NOT a special case of {\bf eo\-Select\-Many}{\rm (p.\,\pageref{classeo_select_many})} because it needs to SORT the population to discard the worst guys before doing the selection - -However, the same result can be obtained by embedding an {\bf eo\-Truncated\-Select\-One}{\rm (p.\,\pageref{classeo_truncated_select_one})} into an {\bf eo\-Select\-Many}{\rm (p.\,\pageref{classeo_select_many})} ... - - - -Definition at line 53 of file eo\-Truncated\-Select\-Many.h. - -\subsection{Member Function Documentation} -\index{eoTruncatedSelectMany@{eo\-Truncated\-Select\-Many}!operator()@{operator()}} -\index{operator()@{operator()}!eoTruncatedSelectMany@{eo\-Truncated\-Select\-Many}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf eo\-Truncated\-Select\-Many}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-source}, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-dest})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_truncated_select_many_a2} - - -The implementation repeatidly selects an individual. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-source}]the source population \item[{\em \_\-dest}]the resulting population (size of this population is the number of times {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} is called. It empties the destination and adds the selection into it) \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 77 of file eo\-Truncated\-Select\-Many.h. - -References eo\-Select\-One$<$ EOT, Worth\-T $>$::setup(), eo\-Pop$<$ EOT $>$::shuffle(), and eo\-Pop$<$ EOT $>$::sort(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Truncated\-Select\-Many.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_one.eps b/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_one.eps deleted file mode 100644 index f855b0f34..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_one.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 115.607 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.325 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoTruncatedSelectOne< EOT >) cw -(eoSelectOne< EOT >) cw -(eoUF< const eoPop< EOT > &, const EOT & >) cw -(eoFunctorBase) cw -(unary_function< const eoPop< EOT > &, const EOT & >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoTruncatedSelectOne< EOT >) 0.5 0 box - (eoSelectOne< EOT >) 0.5 1 box - (eoUF< const eoPop< EOT > &, const EOT & >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< const eoPop< EOT > &, const EOT & >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_one.tex b/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_one.tex deleted file mode 100644 index 7d2963f78..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_truncated_select_one.tex +++ /dev/null @@ -1,79 +0,0 @@ -\section{eo\-Truncated\-Select\-One$<$ EOT $>$ Class Template Reference} -\label{classeo_truncated_select_one}\index{eoTruncatedSelectOne@{eoTruncatedSelectOne}} -eo\-Truncated\-Select\-One selects one individual using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - - -{\tt \#include $<$eo\-Truncated\-Select\-One.h$>$} - -Inheritance diagram for eo\-Truncated\-Select\-One$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.23699cm]{classeo_truncated_select_one} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Truncated\-Select\-One} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, double \_\-rate\-Fertile, bool \_\-interpret\_\-as\_\-rate\-F=true)\label{classeo_truncated_select_one_a0} - -\begin{CompactList}\small\item\em Ctor from rate and bool. \item\end{CompactList}\item -{\bf eo\-Truncated\-Select\-One} ({\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \&\_\-select, {\bf eo\-How\-Many} \_\-how\-Many\-Fertile)\label{classeo_truncated_select_one_a1} - -\begin{CompactList}\small\item\em Ctor with {\bf eo\-How\-Many}{\rm (p.\,\pageref{classeo_how_many})}. \item\end{CompactList}\item -void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-source)\label{classeo_truncated_select_one_a2} - -\begin{CompactList}\small\item\em setup procedures: fills the temporary population with the fertile guys \item\end{CompactList}\item -const {\bf EOT} \& {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop) -\begin{CompactList}\small\item\em The implementation selects an individual from the fertile pop. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Select\-One}$<$ {\bf EOT} $>$ \& {\bf select}\label{classeo_truncated_select_one_r0} - -\item -{\bf eo\-How\-Many} {\bf how\-Many\-Fertile}\label{classeo_truncated_select_one_r1} - -\item -{\bf eo\-Pop}$<$ {\bf EOT} $>$ {\bf tmp\-Pop}\label{classeo_truncated_select_one_r2} - -\item -{\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\bf actual\-Pop}\label{classeo_truncated_select_one_r3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Truncated\-Select\-One$<$ EOT $>$} - -eo\-Truncated\-Select\-One selects one individual using {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} as it's mechanism. - -Therefore eo\-Truncated\-Select\-One needs an {\bf eo\-Select\-One}{\rm (p.\,\pageref{classeo_select_one})} in its ctor - -It will perform selection only from the top guys in the population. - - - -Definition at line 45 of file eo\-Truncated\-Select\-One.h. - -\subsection{Member Function Documentation} -\index{eoTruncatedSelectOne@{eo\-Truncated\-Select\-One}!operator()@{operator()}} -\index{operator()@{operator()}!eoTruncatedSelectOne@{eo\-Truncated\-Select\-One}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ const {\bf EOT}\& {\bf eo\-Truncated\-Select\-One}$<$ {\bf EOT} $>$::operator() (const {\bf eo\-Pop}$<$ {\bf EOT} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_truncated_select_one_a3} - - -The implementation selects an individual from the fertile pop. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-source}]the source population \item[{\em \_\-dest}]the selected guy \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, const EOT \& $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 98 of file eo\-Truncated\-Select\-One.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Truncated\-Select\-One.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_u_bit_xover.eps b/trunk/paradiseo-eo/doc/latex/classeo_u_bit_xover.eps deleted file mode 100644 index 96e8379cf..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_u_bit_xover.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 96.6184 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.175 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUBitXover< Chrom >) cw -(eoQuadOp< Chrom >) cw -(eoOp< Chrom >) cw -(eoBF< Chrom &, Chrom &, bool >) cw -(eoFunctorBase) cw -(binary_function< Chrom &, Chrom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUBitXover< Chrom >) 0.5 0 box - (eoQuadOp< Chrom >) 0.5 1 box - (eoOp< Chrom >) 0 2 box - (eoBF< Chrom &, Chrom &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< Chrom &, Chrom &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_u_bit_xover.tex b/trunk/paradiseo-eo/doc/latex/classeo_u_bit_xover.tex deleted file mode 100644 index 3862677d7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_u_bit_xover.tex +++ /dev/null @@ -1,63 +0,0 @@ -\section{eo\-UBit\-Xover$<$ Chrom $>$ Class Template Reference} -\label{classeo_u_bit_xover}\index{eoUBitXover@{eoUBitXover}} -eo\-UBit\-Xover --$>$ classic Uniform crossover - - -{\tt \#include $<$ga/eo\-Bit\-Op.h$>$} - -Inheritance diagram for eo\-UBit\-Xover$<$ Chrom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.70531cm]{classeo_u_bit_xover} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-UBit\-Xover} (const float \&\_\-preference=0.5)\label{classeo_u_bit_xover_a0} - -\begin{CompactList}\small\item\em (Default) Constructor. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_u_bit_xover_a1} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} (Chrom \&chrom1, Chrom \&chrom2) -\begin{CompactList}\small\item\em Uniform crossover for binary chromosomes. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -float {\bf preference}\label{classeo_u_bit_xover_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Chrom$>$ class eo\-UBit\-Xover$<$ Chrom $>$} - -eo\-UBit\-Xover --$>$ classic Uniform crossover - - - -Definition at line 274 of file eo\-Bit\-Op.h. - -\subsection{Member Function Documentation} -\index{eoUBitXover@{eo\-UBit\-Xover}!operator()@{operator()}} -\index{operator()@{operator()}!eoUBitXover@{eo\-UBit\-Xover}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Chrom$>$ bool {\bf eo\-UBit\-Xover}$<$ Chrom $>$::operator() (Chrom \& {\em chrom1}, Chrom \& {\em chrom2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_u_bit_xover_a2} - - -Uniform crossover for binary chromosomes. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em chrom1}]The first chromosome. \item[{\em chrom2}]The first chromosome. ::runtime\_\-error if sizes don't match \end{description} -\end{Desc} - - -Implements {\bf eo\-BF$<$ Chrom \&, Chrom \&, bool $>$} {\rm (p.\,\pageref{classeo_b_f_a1})}. - -Definition at line 292 of file eo\-Bit\-Op.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Bit\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_u_f.eps b/trunk/paradiseo-eo/doc/latex/classeo_u_f.eps deleted file mode 100644 index fdace8fe2..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_u_f.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 368.098 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.35833 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUF< A1, R >) cw -(eoFunctorBase) cw -(eoPerf2Worth< Dummy >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUF< A1, R >) 0 1 box - (eoFunctorBase) 0 2 box - (eoPerf2Worth< Dummy >) 0 0 box - -% ----- relations ----- - -solid -0 0 1 out -solid -1 0 2 in -solid -1 0 0.25 out -solid -0 0 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_u_f.tex b/trunk/paradiseo-eo/doc/latex/classeo_u_f.tex deleted file mode 100644 index bf7026006..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_u_f.tex +++ /dev/null @@ -1,44 +0,0 @@ -\section{eo\-UF$<$ A1, R $>$ Class Template Reference} -\label{classeo_u_f}\index{eoUF@{eoUF}} -Basic Unary Functor. - - -{\tt \#include $<$eo\-Functor.h$>$} - -Inheritance diagram for eo\-UF$<$ A1, R $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_u_f} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-UF} ()\label{classeo_u_f_a0} - -\begin{CompactList}\small\item\em virtual dtor here so there is no need to define it in derived classes \item\end{CompactList}\item -virtual R {\bf operator()} (A1)=0\label{classeo_u_f_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Functor\-Base::unary\_\-function\_\-tag} {\bf functor\_\-category} ()\label{classeo_u_f_e0} - -\begin{CompactList}\small\item\em tag to identify a procedure in compile time function selection functor\_\-category \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class A1, class R$>$ class eo\-UF$<$ A1, R $>$} - -Basic Unary Functor. - -Derive from this class when defining any unary function. First template argument is the first\_\-argument\_\-type, second result\_\-type. Argument and result types can be any type including void for result\_\-type - - - -Definition at line 108 of file eo\-Functor.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Functor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_unary_functor_counter.eps b/trunk/paradiseo-eo/doc/latex/classeo_unary_functor_counter.eps deleted file mode 100644 index acbb2eb0b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_unary_functor_counter.eps +++ /dev/null @@ -1,203 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 231.66 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.15833 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 3 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUnaryFunctorCounter< UnaryFunctor >) cw -(eoValueParam< unsigned long >) cw -(eoParam) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUnaryFunctorCounter< UnaryFunctor >) 0 0 box - (eoValueParam< unsigned long >) 0 1 box - (eoParam) 0 2 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_unary_functor_counter.tex b/trunk/paradiseo-eo/doc/latex/classeo_unary_functor_counter.tex deleted file mode 100644 index eeece80fb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_unary_functor_counter.tex +++ /dev/null @@ -1,71 +0,0 @@ -\section{eo\-Unary\-Functor\-Counter$<$ Unary\-Functor $>$ Class Template Reference} -\label{classeo_unary_functor_counter}\index{eoUnaryFunctorCounter@{eoUnaryFunctorCounter}} -Generic counter class that counts the number of times a unary function is used. - - -{\tt \#include $<$eo\-Counter.h$>$} - -Inheritance diagram for eo\-Unary\-Functor\-Counter$<$ Unary\-Functor $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3cm]{classeo_unary_functor_counter} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Unary\-Functor\-Counter} (Unary\-Functor \&\_\-func, std::string \_\-name=\char`\"{}uf\_\-counter\char`\"{})\label{classeo_unary_functor_counter_a0} - -\item -Unary\-Functor::result\_\-type {\bf operator()} (typename Unary\-Functor::first\_\-argument\_\-type \_\-arg1) -\begin{CompactList}\small\item\em Calls the embedded function and increments the counter. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Unary\-Functor \& {\bf func}\label{classeo_unary_functor_counter_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Unary\-Functor$>$ class eo\-Unary\-Functor\-Counter$<$ Unary\-Functor $>$} - -Generic counter class that counts the number of times a unary function is used. - -Add a unary function through its ctor and use this class instead of it. - -It is derived from {\bf eo\-Value\-Param}{\rm (p.\,\pageref{classeo_value_param})} so you can add it to a monitor. - -Example: suppose you have an {\bf eo\-Eval\-Func}{\rm (p.\,\pageref{classeo_eval_func})} called myeval, to count the number of evaluations, just define: - -eo\-Unary\-Functor\-Counter$<$void, Eo\-Type$>$ eval\-Counter(myeval); - -and use eval\-Counter now instead of myeval. - - - -Definition at line 95 of file eo\-Counter.h. - -\subsection{Member Function Documentation} -\index{eoUnaryFunctorCounter@{eo\-Unary\-Functor\-Counter}!operator()@{operator()}} -\index{operator()@{operator()}!eoUnaryFunctorCounter@{eo\-Unary\-Functor\-Counter}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Unary\-Functor$>$ Unary\-Functor::result\_\-type {\bf eo\-Unary\-Functor\-Counter}$<$ Unary\-Functor $>$::operator() (typename Unary\-Functor::first\_\-argument\_\-type {\em \_\-arg1})\hspace{0.3cm}{\tt [inline]}}\label{classeo_unary_functor_counter_a1} - - -Calls the embedded function and increments the counter. - -Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like \char`\"{}return void;\char`\"{} is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet. - -We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in {\bf EO}{\rm (p.\,\pageref{class_e_o})} most functors return void, it was chosen to support void. - -But also please let me know if you have a compiler that defines \_\-MSC\_\-VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then. - -You happy GNU (and other compiler) users will not have a problem with this. - -Definition at line 118 of file eo\-Counter.h. - -References eo\-Value\-Param$<$ unsigned long $>$::value(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Counter.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_atom_exchange.eps b/trunk/paradiseo-eo/doc/latex/classeo_uniform_atom_exchange.eps deleted file mode 100644 index 3e120c398..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_atom_exchange.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 149.813 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.3375 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUniformAtomExchange< Atom >) cw -(eoAtomExchange< Atom >) cw -(eoBF< unsigned, Atom &, bool >) cw -(eoFunctorBase) cw -(binary_function< unsigned, Atom &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUniformAtomExchange< Atom >) 0.5 0 box - (eoAtomExchange< Atom >) 0.5 1 box - (eoBF< unsigned, Atom &, bool >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< unsigned, Atom &, bool >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_atom_exchange.tex b/trunk/paradiseo-eo/doc/latex/classeo_uniform_atom_exchange.tex deleted file mode 100644 index 430c1f9e5..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_atom_exchange.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{eo\-Uniform\-Atom\-Exchange$<$ Atom $>$ Class Template Reference} -\label{classeo_uniform_atom_exchange}\index{eoUniformAtomExchange@{eoUniformAtomExchange}} -Uniform crossover - well, not really, efficient for Fixed\-Length. - - -{\tt \#include $<$eo\-Variable\-Length\-Crossover.h$>$} - -Inheritance diagram for eo\-Uniform\-Atom\-Exchange$<$ Atom $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_uniform_atom_exchange} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Uniform\-Atom\-Exchange} (double \_\-rate=0.5)\label{classeo_uniform_atom_exchange_a0} - -\item -void {\bf randomize} (unsigned \_\-size1, unsigned \_\-size2)\label{classeo_uniform_atom_exchange_a1} - -\begin{CompactList}\small\item\em randomize: fill the mask: the exchange will be simulated first to see if sizes are OK, so it must be repeatable : the mask has to be a private data, cannot be computed on the fly \item\end{CompactList}\item -bool {\bf operator()} (unsigned \_\-i, Atom \&)\label{classeo_uniform_atom_exchange_a2} - -\begin{CompactList}\small\item\em the operator() simply returns the mask booleans in turn \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_uniform_atom_exchange_a3} - -\begin{CompactList}\small\item\em inherited {\bf class\-Name()}{\rm (p.\,\pageref{classeo_uniform_atom_exchange_a3})} \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -double {\bf rate}\label{classeo_uniform_atom_exchange_r0} - -\item -std::vector$<$ bool $>$ {\bf mask}\label{classeo_uniform_atom_exchange_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Atom$>$ class eo\-Uniform\-Atom\-Exchange$<$ Atom $>$} - -Uniform crossover - well, not really, efficient for Fixed\-Length. - - - -Definition at line 52 of file eo\-Variable\-Length\-Crossover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Crossover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_gene_chooser.eps b/trunk/paradiseo-eo/doc/latex/classeo_uniform_gene_chooser.eps deleted file mode 100644 index ddbb369bb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_gene_chooser.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 162.602 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.075 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUniformGeneChooser< EOT >) cw -(eoGeneDelChooser< EOT >) cw -(eoUF< EOT &, unsigned int >) cw -(eoFunctorBase) cw -(unary_function< EOT &, unsigned int >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUniformGeneChooser< EOT >) 0.5 0 box - (eoGeneDelChooser< EOT >) 0.5 1 box - (eoUF< EOT &, unsigned int >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EOT &, unsigned int >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_gene_chooser.tex b/trunk/paradiseo-eo/doc/latex/classeo_uniform_gene_chooser.tex deleted file mode 100644 index 5412414b6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_gene_chooser.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Uniform\-Gene\-Chooser$<$ EOT $>$ Class Template Reference} -\label{classeo_uniform_gene_chooser}\index{eoUniformGeneChooser@{eoUniformGeneChooser}} -Uniform choice of gene to delete. - - -{\tt \#include $<$eo\-Variable\-Length\-Mutation.h$>$} - -Inheritance diagram for eo\-Uniform\-Gene\-Chooser$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_uniform_gene_chooser} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -unsigned {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_uniform_gene_chooser_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_uniform_gene_chooser_a2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Uniform\-Gene\-Chooser$<$ EOT $>$} - -Uniform choice of gene to delete. - - - -Definition at line 94 of file eo\-Variable\-Length\-Mutation.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Mutation.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_generator.eps b/trunk/paradiseo-eo/doc/latex/classeo_uniform_generator.eps deleted file mode 100644 index 16f2f0e37..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_generator.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 484.848 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.03125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUniformGenerator< T >) cw -(eoRndGenerator< T >) cw -(eoF< T >) cw -(eoFunctorBase) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUniformGenerator< T >) 0 0 box - (eoRndGenerator< T >) 0 1 box - (eoF< T >) 0 2 box - (eoFunctorBase) 0 3 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in -solid -0 0 1 out -solid -1 0 2 in -solid -0 0 2 out -solid -1 0 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_generator.tex b/trunk/paradiseo-eo/doc/latex/classeo_uniform_generator.tex deleted file mode 100644 index 6246d90b0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_generator.tex +++ /dev/null @@ -1,60 +0,0 @@ -\section{eo\-Uniform\-Generator$<$ T $>$ Class Template Reference} -\label{classeo_uniform_generator}\index{eoUniformGenerator@{eoUniformGenerator}} -The class eo\-Uniform can be used in the STL generate function to easily generate random floats and doubles. - - -{\tt \#include $<$eo\-Rnd\-Generators.h$>$} - -Inheritance diagram for eo\-Uniform\-Generator$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_uniform_generator} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Uniform\-Generator} (T \_\-max=T(1.0), {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_uniform_generator_a0} - -\item -{\bf eo\-Uniform\-Generator} (T \_\-min, T \_\-max, {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_uniform_generator_a1} - -\item -T {\bf operator()} (void)\label{classeo_uniform_generator_a2} - -\begin{CompactList}\small\item\em Generates the number, uses a static\_\-cast to get the right behaviour for ints and unsigneds. \item\end{CompactList}\item -template$<$$>$ bool {\bf operator()} (void)\label{classeo_uniform_generator_a3} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf minim}\label{classeo_uniform_generator_r0} - -\item -T {\bf range}\label{classeo_uniform_generator_r1} - -\item -{\bf eo\-Rng} \& {\bf uniform}\label{classeo_uniform_generator_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class eo\-Uniform\-Generator$<$ T $>$} - -The class eo\-Uniform can be used in the STL generate function to easily generate random floats and doubles. - -It can also be used for ints and unsigneds by virtue of the static\_\-cast in the generator function. - -Also present is a specialization for boolean, that will ignore the minima and maxima that are possibly set and will return an unbiased flip of a coin. For a biased flip, use the eo\-Boolean - -either in [0, \_\-max) if only 1 value (\_\-max) is given (or none, as \_\-max defaults to 1.0) or in [\_\-min,\_\-max) if 2 values are given (\_\-min, \_\-max) - - - -Definition at line 66 of file eo\-Rnd\-Generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Rnd\-Generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_init.eps b/trunk/paradiseo-eo/doc/latex/classeo_uniform_init.eps deleted file mode 100644 index 87c19eda4..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_init.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 218.579 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.2875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUniformInit< T >) cw -(eoInit< T >) cw -(eoUF< T &, void >) cw -(eoFunctorBase) cw -(unary_function< T &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUniformInit< T >) 0.5 0 box - (eoInit< T >) 0.5 1 box - (eoUF< T &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< T &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_init.tex b/trunk/paradiseo-eo/doc/latex/classeo_uniform_init.tex deleted file mode 100644 index f62d58f22..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_init.tex +++ /dev/null @@ -1,63 +0,0 @@ -\section{eo\-Uniform\-Init$<$ T $>$ Class Template Reference} -\label{classeo_uniform_init}\index{eoUniformInit@{eoUniformInit}} -The class eo\-Uniform\-Init can be used in the STL apply function to easily randomize floats and doubles. - - -{\tt \#include $<$eo\-Uniform\-Init.h$>$} - -Inheritance diagram for eo\-Uniform\-Init$<$ T $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_uniform_init} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Uniform\-Init} (T \_\-max=T(1.0), {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_uniform_init_a0} - -\begin{CompactList}\small\item\em Ctor with only a max bound. \item\end{CompactList}\item -{\bf eo\-Uniform\-Init} ({\bf eo\-Real\-Bounds} \&\_\-bound, {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_uniform_init_a1} - -\begin{CompactList}\small\item\em Ctor with an eo\-Real\-Bound. \item\end{CompactList}\item -{\bf eo\-Uniform\-Init} (T \_\-min, T \_\-max, {\bf eo\-Rng} \&\_\-rng=rng)\label{classeo_uniform_init_a2} - -\begin{CompactList}\small\item\em Ctor with explicit min and max. \item\end{CompactList}\item -void {\bf operator()} (T \&\_\-t)\label{classeo_uniform_init_a3} - -\begin{CompactList}\small\item\em Generates the number, uses a static\_\-cast to get the right behaviour for ints and unsigneds. \item\end{CompactList}\item -template$<$$>$ void {\bf operator()} (bool \&\_\-b)\label{classeo_uniform_init_a4} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf minim}\label{classeo_uniform_init_r0} - -\item -T {\bf range}\label{classeo_uniform_init_r1} - -\item -{\bf eo\-Rng} \& {\bf uniform}\label{classeo_uniform_init_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class eo\-Uniform\-Init$<$ T $>$} - -The class eo\-Uniform\-Init can be used in the STL apply function to easily randomize floats and doubles. - -It can also be used for ints and unsigneds by virtue of the static\_\-cast - -Also present is a specialization for boolean, that will ignore the minima and maxima that are possibly set and will return an unbiased flip of a coin. For a biased flip, use the eo\-Boolean - -either in [0, \_\-max) if only 1 value (\_\-max) is given (or none, as \_\-max defaults to 1.0) or in [\_\-min,\_\-max) if 2 values are given (\_\-min, \_\-max) - - - -Definition at line 62 of file eo\-Uniform\-Init.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Uniform\-Init.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_uniform_mutation.eps deleted file mode 100644 index 8d9737193..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUniformMutation< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUniformMutation< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_uniform_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_uniform_mutation.tex deleted file mode 100644 index 08287f68e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_uniform_mutation.tex +++ /dev/null @@ -1,124 +0,0 @@ -\section{eo\-Uniform\-Mutation$<$ EOT $>$ Class Template Reference} -\label{classeo_uniform_mutation}\index{eoUniformMutation@{eoUniformMutation}} -eo\-Uniform\-Mutation --$>$ changes all values of the std::vector by uniform choice with range epsilon with probability p\_\-change per variable - - -{\tt \#include $<$Tutorial/eo\-Real\-Op.h$>$} - -Inheritance diagram for eo\-Uniform\-Mutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_uniform_mutation} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Uniform\-Mutation} (const double \&\_\-epsilon, const double \&\_\-p\_\-change=1.0) -\begin{CompactList}\small\item\em Constructor without bounds == unbounded variables :-) not very clean, but who's doing unbounded optimization anyway? and it's there mostly for backward compatibility. \item\end{CompactList}\item -{\bf eo\-Uniform\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, const double \&\_\-epsilon, const double \&\_\-p\_\-change=1.0) -\begin{CompactList}\small\item\em Constructor with bounds. \item\end{CompactList}\item -{\bf eo\-Uniform\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds, const std::vector$<$ double $>$ \&\_\-epsilon, const std::vector$<$ double $>$ \&\_\-p\_\-change) -\begin{CompactList}\small\item\em Constructor with bounds. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_uniform_mutation_a3} - -\begin{CompactList}\small\item\em The class name. \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo) -\begin{CompactList}\small\item\em Do it! \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -bool {\bf homogeneous}\label{classeo_uniform_mutation_r0} - -\item -{\bf eo\-Real\-Vector\-Bounds} \& {\bf bounds}\label{classeo_uniform_mutation_r1} - -\item -std::vector$<$ double $>$ {\bf epsilon}\label{classeo_uniform_mutation_r2} - -\item -std::vector$<$ double $>$ {\bf p\_\-change}\label{classeo_uniform_mutation_r3} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Uniform\-Mutation$<$ EOT $>$} - -eo\-Uniform\-Mutation --$>$ changes all values of the std::vector by uniform choice with range epsilon with probability p\_\-change per variable - - - -Definition at line 45 of file eo\-Real\-Op.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoUniformMutation@{eo\-Uniform\-Mutation}!eoUniformMutation@{eoUniformMutation}} -\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation@{eo\-Uniform\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Uniform\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Uniform\-Mutation} (const double \& {\em \_\-epsilon}, const double \& {\em \_\-p\_\-change} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_uniform_mutation_a0} - - -Constructor without bounds == unbounded variables :-) not very clean, but who's doing unbounded optimization anyway? and it's there mostly for backward compatibility. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-epsilon}]the range for uniform nutation \item[{\em \_\-p\_\-change}]the probability to change a given coordinate \end{description} -\end{Desc} - - -Definition at line 56 of file eo\-Real\-Op.h.\index{eoUniformMutation@{eo\-Uniform\-Mutation}!eoUniformMutation@{eoUniformMutation}} -\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation@{eo\-Uniform\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Uniform\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Uniform\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, const double \& {\em \_\-epsilon}, const double \& {\em \_\-p\_\-change} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classeo_uniform_mutation_a1} - - -Constructor with bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]an {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} that contains the bounds \item[{\em \_\-epsilon}]the range for uniform mutation - a double to be scaled \item[{\em \_\-p\_\-change}]the one probability to change all coordinates \end{description} -\end{Desc} - - -Definition at line 66 of file eo\-Real\-Op.h. - -References eo\-Real\-Base\-Vector\-Bounds::is\-Bounded(), and eo\-Real\-Base\-Vector\-Bounds::range().\index{eoUniformMutation@{eo\-Uniform\-Mutation}!eoUniformMutation@{eoUniformMutation}} -\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation@{eo\-Uniform\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Uniform\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Uniform\-Mutation} ({\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds}, const std::vector$<$ double $>$ \& {\em \_\-epsilon}, const std::vector$<$ double $>$ \& {\em \_\-p\_\-change})\hspace{0.3cm}{\tt [inline]}}\label{classeo_uniform_mutation_a2} - - -Constructor with bounds. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-bounds}]an {\bf eo\-Real\-Vector\-Bounds}{\rm (p.\,\pageref{classeo_real_vector_bounds})} that contains the bounds \item[{\em \_\-epsilon}]the VECTOR of ranges for uniform mutation \item[{\em \_\-p\_\-change}]the VECTOR of probabilities for each coordinates \end{description} -\end{Desc} - - -Definition at line 83 of file eo\-Real\-Op.h. - -\subsection{Member Function Documentation} -\index{eoUniformMutation@{eo\-Uniform\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoUniformMutation@{eo\-Uniform\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf eo\-Uniform\-Mutation}$<$ {\bf EOT} $>$::operator() ({\bf EOT} \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_uniform_mutation_a4} - - -Do it! - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]The indi undergoing the mutation \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ EOT \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 96 of file eo\-Real\-Op.h. - -References eo\-Rng::flip(), eo\-Real\-Base\-Vector\-Bounds::is\-Max\-Bounded(), eo\-Real\-Base\-Vector\-Bounds::is\-Min\-Bounded(), eo\-Real\-Base\-Vector\-Bounds::maximum(), eo\-Real\-Base\-Vector\-Bounds::minimum(), and eo\-Rng::uniform(). - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Real\-Op.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_updatable.eps b/trunk/paradiseo-eo/doc/latex/classeo_updatable.eps deleted file mode 100644 index a55ae535d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_updatable.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 222.222 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.25 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUpdatable) cw -(eoOneFifthMutation< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUpdatable) 0 1 box - (eoOneFifthMutation< EOT >) 0 0 box - -% ----- relations ----- - -solid -1 0 0.25 out -solid -0 0 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_updatable.tex b/trunk/paradiseo-eo/doc/latex/classeo_updatable.tex deleted file mode 100644 index c1fdf8aa7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_updatable.tex +++ /dev/null @@ -1,34 +0,0 @@ -\section{eo\-Updatable Class Reference} -\label{classeo_updatable}\index{eoUpdatable@{eoUpdatable}} -eo\-Updatable is a generic class for adding updatation to an existing class Just says it has an update() method - - -{\tt \#include $<$eo\-Updatable.h$>$} - -Inheritance diagram for eo\-Updatable::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_updatable} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual {\bf $\sim$eo\-Updatable} ()\label{classeo_updatable_a0} - -\begin{CompactList}\small\item\em Virtual destructor. \item\end{CompactList}\item -virtual void {\bf update} ()=0\label{classeo_updatable_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-Updatable is a generic class for adding updatation to an existing class Just says it has an update() method - - - -Definition at line 36 of file eo\-Updatable.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Updatable.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_updater.eps b/trunk/paradiseo-eo/doc/latex/classeo_updater.eps deleted file mode 100644 index 3b878023c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_updater.eps +++ /dev/null @@ -1,243 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 99.2063 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.04 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 5 def -/cols 6 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoUpdater) cw -(eoF< void >) cw -(eoFunctorBase) cw -(eoCountedStateSaver) cw -(eoDynUpdater) cw -(eoIncrementor< T >) cw -(eoIncrementorParam< T >) cw -(eoTimeCounter) cw -(eoTimedStateSaver) cw -(eoCountedDynUpdate) cw -(eoTimedDynUpdate) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoUpdater) 2.5 2 box - (eoF< void >) 2.5 3 box - (eoFunctorBase) 2.5 4 box - (eoCountedStateSaver) 0 1 box - (eoDynUpdater) 1 1 box - (eoIncrementor< T >) 2 1 box - (eoIncrementorParam< T >) 3 1 box - (eoTimeCounter) 4 1 box - (eoTimedStateSaver) 5 1 box - (eoCountedDynUpdate) 0.5 0 box - (eoTimedDynUpdate) 1.5 0 box - -% ----- relations ----- - -solid -0 2.5 2 out -solid -1 2.5 3 in -solid -0 2.5 3 out -solid -1 2.5 4 in -solid -1 2.5 1.25 out -solid -0 5 2 conn -solid -0 0 1.75 in -solid -0 1 1.75 in -solid -1 1 0.25 out -solid -0.5 1.5 1 conn -solid -0 2 1.75 in -solid -0 3 1.75 in -solid -0 4 1.75 in -solid -0 5 1.75 in -solid -0 0.5 0.75 in -solid -0 1.5 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_updater.tex b/trunk/paradiseo-eo/doc/latex/classeo_updater.tex deleted file mode 100644 index 581253a03..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_updater.tex +++ /dev/null @@ -1,36 +0,0 @@ -\section{eo\-Updater Class Reference} -\label{classeo_updater}\index{eoUpdater@{eoUpdater}} -eo\-Updater is a generic procudere for updating whatever you want. - - -{\tt \#include $<$eo\-Updater.h$>$} - -Inheritance diagram for eo\-Updater::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.77778cm]{classeo_updater} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -virtual void {\bf last\-Call} ()\label{classeo_updater_a0} - -\item -virtual std::string {\bf class\-Name} (void) const \label{classeo_updater_a1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-Updater is a generic procudere for updating whatever you want. - -Yet again an empty name - - - -Definition at line 39 of file eo\-Updater.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_value_param.eps b/trunk/paradiseo-eo/doc/latex/classeo_value_param.eps deleted file mode 100644 index 394ada209..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_value_param.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 352.423 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.41875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoValueParam< ValueType >) cw -(eoParam) cw -(eoPerf2Worth< EOT, EOT::Fitness >) cw -(eoNoPerf2Worth< EOT >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoValueParam< ValueType >) 0 2 box - (eoParam) 0 3 box - (eoPerf2Worth< EOT, EOT::Fitness >) 0 1 box - (eoNoPerf2Worth< EOT >) 0 0 box - -% ----- relations ----- - -solid -0 0 2 out -solid -1 0 3 in -solid -1 0 1.25 out -solid -0 0 1.75 in -solid -1 0 0.25 out -solid -0 0 0.75 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_value_param.tex b/trunk/paradiseo-eo/doc/latex/classeo_value_param.tex deleted file mode 100644 index 50c61214a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_value_param.tex +++ /dev/null @@ -1,101 +0,0 @@ -\section{eo\-Value\-Param$<$ Value\-Type $>$ Class Template Reference} -\label{classeo_value_param}\index{eoValueParam@{eoValueParam}} -eo\-Value\-Param$<$Value\-Type$>$: templatized derivation of {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})}. - - -{\tt \#include $<$eo\-Param.h$>$} - -Inheritance diagram for eo\-Value\-Param$<$ Value\-Type $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_value_param} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Value\-Param} (void)\label{classeo_value_param_a0} - -\begin{CompactList}\small\item\em Construct a Param. \item\end{CompactList}\item -{\bf eo\-Value\-Param} (Value\-Type \_\-default\-Value, std::string \_\-long\-Name, std::string \_\-description=\char`\"{}No description\char`\"{}, char \_\-short\-Hand=0, bool \_\-required=false) -\begin{CompactList}\small\item\em Construct a Param. \item\end{CompactList}\item -Value\-Type \& {\bf value} () -\begin{CompactList}\small\item\em Parameter value. \item\end{CompactList}\item -const Value\-Type \& {\bf value} () const -\begin{CompactList}\small\item\em Parameter value. \item\end{CompactList}\item -std::string {\bf get\-Value} (void) const \label{classeo_value_param_a4} - -\begin{CompactList}\small\item\em Pure virtual function to get the value out. \item\end{CompactList}\item -void {\bf set\-Value} (const std::string \&\_\-value)\label{classeo_value_param_a5} - -\begin{CompactList}\small\item\em Pure virtual function to set the value. \item\end{CompactList}\end{CompactItemize} -\subsection*{Protected Attributes} -\begin{CompactItemize} -\item -Value\-Type {\bf rep\-Value}\label{classeo_value_param_p0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Value\-Type$>$ class eo\-Value\-Param$<$ Value\-Type $>$} - -eo\-Value\-Param$<$Value\-Type$>$: templatized derivation of {\bf eo\-Param}{\rm (p.\,\pageref{classeo_param})}. - -Can be used to contain any scalar value type. It makes use of std::strstream to get and set values. This should be changed to std::stringstream when that class is available in g++. - -Note also that there is a template specialization for std::pair$<$double, double$>$ and for std::vector$<$double$>$. These stream their contents delimited with whitespace. - - - -Definition at line 136 of file eo\-Param.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoValueParam@{eo\-Value\-Param}!eoValueParam@{eoValueParam}} -\index{eoValueParam@{eoValueParam}!eoValueParam@{eo\-Value\-Param}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value\-Type$>$ {\bf eo\-Value\-Param}$<$ Value\-Type $>$::{\bf eo\-Value\-Param} (Value\-Type {\em \_\-default\-Value}, std::string {\em \_\-long\-Name}, std::string {\em \_\-description} = {\tt \char`\"{}No\ description\char`\"{}}, char {\em \_\-short\-Hand} = {\tt 0}, bool {\em \_\-required} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classeo_value_param_a1} - - -Construct a Param. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-default\-Value}]The default value \item[{\em \_\-long\-Name}]Long name of the argument \item[{\em \_\-description}]Description of the parameter. What is useful for. \item[{\em \_\-short\-Name}]Short name of the argument (Optional) \item[{\em \_\-required}]If it is a necessary parameter or not \end{description} -\end{Desc} - - -Definition at line 151 of file eo\-Param.h. - -\subsection{Member Function Documentation} -\index{eoValueParam@{eo\-Value\-Param}!value@{value}} -\index{value@{value}!eoValueParam@{eo\-Value\-Param}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value\-Type$>$ Value\-Type\& {\bf eo\-Value\-Param}$<$ Value\-Type $>$::value ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_value_param_a2} - - -Parameter value. - -\begin{Desc} -\item[Returns:]parameter value \end{Desc} - - -Definition at line 166 of file eo\-Param.h. - -Referenced by eo\-No\-Perf2Worth$<$ EOT $>$::operator()(), eo\-File\-Snapshot::operator()(), eo\-FDCStat$<$ EOT $>$::operator()(), and eo\-Parser::set\-Stop\-On\-Unknown\-Param().\index{eoValueParam@{eo\-Value\-Param}!value@{value}} -\index{value@{value}!eoValueParam@{eo\-Value\-Param}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value\-Type$>$ const Value\-Type\& {\bf eo\-Value\-Param}$<$ Value\-Type $>$::value () const\hspace{0.3cm}{\tt [inline]}}\label{classeo_value_param_a3} - - -Parameter value. - -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. - -\begin{Desc} -\item[Returns:]parameter value \end{Desc} - - -Definition at line 175 of file eo\-Param.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Param.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_variable_pareto_traits.eps b/trunk/paradiseo-eo/doc/latex/classeo_variable_pareto_traits.eps deleted file mode 100644 index c1a41a6e6..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_variable_pareto_traits.eps +++ /dev/null @@ -1,197 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 266.667 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 1.875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 2 def -/cols 1 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoVariableParetoTraits) cw -(eoParetoFitnessTraits) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoVariableParetoTraits) 0 0 box - (eoParetoFitnessTraits) 0 1 box - -% ----- relations ----- - -solid -0 0 0 out -solid -1 0 1 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_variable_pareto_traits.tex b/trunk/paradiseo-eo/doc/latex/classeo_variable_pareto_traits.tex deleted file mode 100644 index bf776c33c..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_variable_pareto_traits.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{eo\-Variable\-Pareto\-Traits Class Reference} -\label{classeo_variable_pareto_traits}\index{eoVariableParetoTraits@{eoVariableParetoTraits}} -eo\-Variable\-Pareto\-Traits : an {\bf eo\-Pareto\-Fitness\-Traits}{\rm (p.\,\pageref{classeo_pareto_fitness_traits})} whose characteristics can be set at run-time (nb objectives and min/max's) Why bother? For didactical purposes (and EASEA implementation :-) - - -{\tt \#include $<$eo\-Pareto\-Fitness.h$>$} - -Inheritance diagram for eo\-Variable\-Pareto\-Traits::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2cm]{classeo_variable_pareto_traits} -\end{center} -\end{figure} -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -void {\bf set\-Up} (unsigned \_\-n, std::vector$<$ bool $>$ \&\_\-b)\label{classeo_variable_pareto_traits_e0} - -\begin{CompactList}\small\item\em setting the static stuff \item\end{CompactList}\item -unsigned {\bf n\-Objectives} ()\label{classeo_variable_pareto_traits_e1} - -\begin{CompactList}\small\item\em the accessors \item\end{CompactList}\item -bool {\bf maximizing} (unsigned \_\-i)\label{classeo_variable_pareto_traits_e2} - -\end{CompactItemize} -\subsection*{Static Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf n\-Obj}\label{classeo_variable_pareto_traits_v0} - -\item -std::vector$<$ bool $>$ {\bf b\-Obj}\label{classeo_variable_pareto_traits_v1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -eo\-Variable\-Pareto\-Traits : an {\bf eo\-Pareto\-Fitness\-Traits}{\rm (p.\,\pageref{classeo_pareto_fitness_traits})} whose characteristics can be set at run-time (nb objectives and min/max's) Why bother? For didactical purposes (and EASEA implementation :-) - - - -Definition at line 56 of file eo\-Pareto\-Fitness.h. - -The documentation for this class was generated from the following files:\begin{CompactItemize} -\item -eo\-Pareto\-Fitness.h\item -eo\-Pareto\-Fitness.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vector.eps b/trunk/paradiseo-eo/doc/latex/classeo_vector.eps deleted file mode 100644 index f147920fb..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vector.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 217.391 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 2.3 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoVector< FitT, GeneType >) cw -(EO< FitT >) cw -(eoObject) cw -(eoPersistent) cw -(eoPrintable) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoVector< FitT, GeneType >) 0.5 0 box - (EO< FitT >) 0.5 1 box - (eoObject) 0 2 box - (eoPersistent) 1 2 box - (eoPrintable) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vector.tex b/trunk/paradiseo-eo/doc/latex/classeo_vector.tex deleted file mode 100644 index a0828da4b..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vector.tex +++ /dev/null @@ -1,75 +0,0 @@ -\section{eo\-Vector$<$ Fit\-T, Gene\-Type $>$ Class Template Reference} -\label{classeo_vector}\index{eoVector@{eoVector}} -Base class for fixed length chromosomes, just derives from {\bf EO}{\rm (p.\,\pageref{class_e_o})} and std::vector and redirects the smaller than operator to EO (fitness based comparison). - - -{\tt \#include $<$eo\-Vector.h$>$} - -Inheritance diagram for eo\-Vector$<$ Fit\-T, Gene\-Type $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{classeo_vector} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef Gene\-Type {\bf Atom\-Type}\label{classeo_vector_w0} - -\item -typedef std::vector$<$ Gene\-Type $>$ {\bf Container\-Type}\label{classeo_vector_w1} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vector} (unsigned size=0, Gene\-Type value=Gene\-Type()) -\begin{CompactList}\small\item\em default constructor \item\end{CompactList}\item -template$<$class Other\-Fitness\-Type$>$ {\bf eo\-Vector} (const {\bf eo\-Vector}$<$ Other\-Fitness\-Type, Gene\-Type $>$ \&\_\-vec)\label{classeo_vector_a1} - -\begin{CompactList}\small\item\em copy ctor abstracting from the Fit\-T \item\end{CompactList}\item -void {\bf value} (const std::vector$<$ Gene\-Type $>$ \&\_\-v)\label{classeo_vector_a2} - -\item -bool {\bf operator$<$} (const {\bf eo\-Vector}$<$ {\bf Fit\-T}, Gene\-Type $>$ \&\_\-eo) const \label{classeo_vector_a3} - -\begin{CompactList}\small\item\em to avoid conflicts between EO::operator$<$ and std::vector$<$Gene\-Type$>$::operator$<$ \item\end{CompactList}\item -virtual void {\bf print\-On} (std::ostream \&os) const \label{classeo_vector_a4} - -\begin{CompactList}\small\item\em printing... \item\end{CompactList}\item -virtual void {\bf read\-From} (std::istream \&is)\label{classeo_vector_a5} - -\begin{CompactList}\small\item\em reading... \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class Fit\-T, class Gene\-Type$>$ class eo\-Vector$<$ Fit\-T, Gene\-Type $>$} - -Base class for fixed length chromosomes, just derives from {\bf EO}{\rm (p.\,\pageref{class_e_o})} and std::vector and redirects the smaller than operator to EO (fitness based comparison). - -Gene\-Type must have the following methods: void ctor (needed for the std::vector$<$$>$), copy ctor, - - - -Definition at line 46 of file eo\-Vector.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoVector@{eo\-Vector}!eoVector@{eoVector}} -\index{eoVector@{eoVector}!eoVector@{eo\-Vector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Fit\-T, class Gene\-Type$>$ {\bf eo\-Vector}$<$ {\bf Fit\-T}, Gene\-Type $>$::{\bf eo\-Vector} (unsigned {\em size} = {\tt 0}, Gene\-Type {\em value} = {\tt GeneType()})\hspace{0.3cm}{\tt [inline]}}\label{classeo_vector_a0} - - -default constructor - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em size}]Length of vector (default is 0) \item[{\em value}]Initial value of all elements (default is default value of type Gene\-Type) \end{description} -\end{Desc} - - -Definition at line 65 of file eo\-Vector.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Vector.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_add_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_vl_add_mutation.eps deleted file mode 100644 index 5731ffdd3..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_add_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoVlAddMutation< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoVlAddMutation< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_add_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_vl_add_mutation.tex deleted file mode 100644 index 30e19934d..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_add_mutation.tex +++ /dev/null @@ -1,70 +0,0 @@ -\section{eo\-Vl\-Add\-Mutation$<$ EOT $>$ Class Template Reference} -\label{classeo_vl_add_mutation}\index{eoVlAddMutation@{eoVlAddMutation}} -Addition of a gene Is inserted at a random position - so can be applied to both order-dependent and order-independent. - - -{\tt \#include $<$eo\-Variable\-Length\-Mutation.h$>$} - -Inheritance diagram for eo\-Vl\-Add\-Mutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_vl_add_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_vl_add_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vl\-Add\-Mutation} (unsigned \_\-n\-Max, {\bf eo\-Init}$<$ Atom\-Type $>$ \&\_\-atom\-Init) -\begin{CompactList}\small\item\em default ctor \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo)\label{classeo_vl_add_mutation_a1} - -\begin{CompactList}\small\item\em operator: actually adds an Atom \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_vl_add_mutation_a2} - -\begin{CompactList}\small\item\em inherited class\-Name \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf n\-Max}\label{classeo_vl_add_mutation_r0} - -\item -{\bf eo\-Init}$<$ Atom\-Type $>$ \& {\bf atom\-Init}\label{classeo_vl_add_mutation_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Vl\-Add\-Mutation$<$ EOT $>$} - -Addition of a gene Is inserted at a random position - so can be applied to both order-dependent and order-independent. - - - -Definition at line 48 of file eo\-Variable\-Length\-Mutation.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoVlAddMutation@{eo\-Vl\-Add\-Mutation}!eoVlAddMutation@{eoVlAddMutation}} -\index{eoVlAddMutation@{eoVlAddMutation}!eoVlAddMutation@{eo\-Vl\-Add\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Vl\-Add\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Vl\-Add\-Mutation} (unsigned {\em \_\-n\-Max}, {\bf eo\-Init}$<$ Atom\-Type $>$ \& {\em \_\-atom\-Init})\hspace{0.3cm}{\tt [inline]}}\label{classeo_vl_add_mutation_a0} - - -default ctor - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em n\-Max}]max number of atoms \item[{\em \_\-atom\-Init}]an Atom initializer \end{description} -\end{Desc} - - -Definition at line 59 of file eo\-Variable\-Length\-Mutation.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Mutation.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_atom_exchange_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_vl_atom_exchange_quad_op.eps deleted file mode 100644 index 71567bd95..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_atom_exchange_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoVlAtomExchangeQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoVlAtomExchangeQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_atom_exchange_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_vl_atom_exchange_quad_op.tex deleted file mode 100644 index 88a040989..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_atom_exchange_quad_op.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{eo\-Vl\-Atom\-Exchange\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_vl_atom_exchange_quad_op}\index{eoVlAtomExchangeQuadOp@{eoVlAtomExchangeQuadOp}} -Exchange Crossover using an Atom\-Exchange. - - -{\tt \#include $<$eo\-Variable\-Length\-Crossover.h$>$} - -Inheritance diagram for eo\-Vl\-Atom\-Exchange\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_vl_atom_exchange_quad_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_vl_atom_exchange_quad_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vl\-Atom\-Exchange\-Quad\-Op} (unsigned \_\-Min, unsigned \_\-Max, {\bf eo\-Atom\-Exchange}$<$ Atom\-Type $>$ \&\_\-atom\-Exchange)\label{classeo_vl_atom_exchange_quad_op_a0} - -\begin{CompactList}\small\item\em default ctor: requires bounds on number of genes + a rate \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2)\label{classeo_vl_atom_exchange_quad_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_vl_atom_exchange_quad_op_a2} - -\begin{CompactList}\small\item\em the inherited class\-Name \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf Min}\label{classeo_vl_atom_exchange_quad_op_r0} - -\item -unsigned {\bf Max}\label{classeo_vl_atom_exchange_quad_op_r1} - -\item -{\bf eo\-Atom\-Exchange}$<$ Atom\-Type $>$ \& {\bf atom\-Exchange}\label{classeo_vl_atom_exchange_quad_op_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Vl\-Atom\-Exchange\-Quad\-Op$<$ EOT $>$} - -Exchange Crossover using an Atom\-Exchange. - - - -Definition at line 89 of file eo\-Variable\-Length\-Crossover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Crossover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_del_mutation.eps b/trunk/paradiseo-eo/doc/latex/classeo_vl_del_mutation.eps deleted file mode 100644 index 5ba870409..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_del_mutation.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 132.67 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.76875 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoVlDelMutation< EOT >) cw -(eoMonOp< EOT >) cw -(eoOp< EOT >) cw -(eoUF< EOT &, bool >) cw -(eoFunctorBase) cw -(unary_function< EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoVlDelMutation< EOT >) 0.5 0 box - (eoMonOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoUF< EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (unary_function< EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_del_mutation.tex b/trunk/paradiseo-eo/doc/latex/classeo_vl_del_mutation.tex deleted file mode 100644 index e58ae4d1e..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_del_mutation.tex +++ /dev/null @@ -1,107 +0,0 @@ -\section{eo\-Vl\-Del\-Mutation$<$ EOT $>$ Class Template Reference} -\label{classeo_vl_del_mutation}\index{eoVlDelMutation@{eoVlDelMutation}} -Deletion of a gene By default at a random position, but a \char`\"{}chooser\char`\"{} can be specified can of course be applied to both order-dependent and order-independent. - - -{\tt \#include $<$eo\-Variable\-Length\-Mutation.h$>$} - -Inheritance diagram for eo\-Vl\-Del\-Mutation$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.71476cm]{classeo_vl_del_mutation} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_vl_del_mutation_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vl\-Del\-Mutation} (unsigned \_\-n\-Min, {\bf eo\-Gene\-Del\-Chooser}$<$ {\bf EOT} $>$ \&\_\-chooser) -\begin{CompactList}\small\item\em ctor with an external gene chooser \item\end{CompactList}\item -{\bf eo\-Vl\-Del\-Mutation} (unsigned \_\-n\-Min) -\begin{CompactList}\small\item\em ctor with uniform gene chooser - the default \item\end{CompactList}\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo) -\begin{CompactList}\small\item\em Do the job (delete one gene). \item\end{CompactList}\item -virtual std::string {\bf class\-Name} () const \label{classeo_vl_del_mutation_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf n\-Min}\label{classeo_vl_del_mutation_r0} - -\item -{\bf eo\-Uniform\-Gene\-Chooser}$<$ {\bf EOT} $>$ {\bf u\-Chooser}\label{classeo_vl_del_mutation_r1} - -\item -{\bf eo\-Gene\-Del\-Chooser}$<$ {\bf EOT} $>$ \& {\bf chooser}\label{classeo_vl_del_mutation_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Vl\-Del\-Mutation$<$ EOT $>$} - -Deletion of a gene By default at a random position, but a \char`\"{}chooser\char`\"{} can be specified can of course be applied to both order-dependent and order-independent. - - - -Definition at line 110 of file eo\-Variable\-Length\-Mutation.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoVlDelMutation@{eo\-Vl\-Del\-Mutation}!eoVlDelMutation@{eoVlDelMutation}} -\index{eoVlDelMutation@{eoVlDelMutation}!eoVlDelMutation@{eo\-Vl\-Del\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Vl\-Del\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Vl\-Del\-Mutation} (unsigned {\em \_\-n\-Min}, {\bf eo\-Gene\-Del\-Chooser}$<$ {\bf EOT} $>$ \& {\em \_\-chooser})\hspace{0.3cm}{\tt [inline]}}\label{classeo_vl_del_mutation_a0} - - -ctor with an external gene chooser - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em n\-Min}]min number of atoms to leave in the individual \item[{\em \_\-gene\-Chooser}]an eo\-Gene\-CHooser to choose which one to delete \end{description} -\end{Desc} - - -Definition at line 121 of file eo\-Variable\-Length\-Mutation.h.\index{eoVlDelMutation@{eo\-Vl\-Del\-Mutation}!eoVlDelMutation@{eoVlDelMutation}} -\index{eoVlDelMutation@{eoVlDelMutation}!eoVlDelMutation@{eo\-Vl\-Del\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Vl\-Del\-Mutation}$<$ {\bf EOT} $>$::{\bf eo\-Vl\-Del\-Mutation} (unsigned {\em \_\-n\-Min})\hspace{0.3cm}{\tt [inline]}}\label{classeo_vl_del_mutation_a1} - - -ctor with uniform gene chooser - the default - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em n\-Min}]min number of atoms to leave in the individual \end{description} -\end{Desc} - - -Definition at line 128 of file eo\-Variable\-Length\-Mutation.h. - -\subsection{Member Function Documentation} -\index{eoVlDelMutation@{eo\-Vl\-Del\-Mutation}!operator()@{operator()}} -\index{operator()@{operator()}!eoVlDelMutation@{eo\-Vl\-Del\-Mutation}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf eo\-Vl\-Del\-Mutation}$<$ {\bf EOT} $>$::operator() ({\bf EOT} \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_vl_del_mutation_a2} - - -Do the job (delete one gene). - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eo}]the {\bf EO}{\rm (p.\,\pageref{class_e_o})} to mutate \end{description} -\end{Desc} - - -Implements {\bf eo\-UF$<$ EOT \&, bool $>$} {\rm (p.\,\pageref{classeo_u_f_a1})}. - -Definition at line 134 of file eo\-Variable\-Length\-Mutation.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Mutation.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_bin_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_bin_op.eps deleted file mode 100644 index 99bb766ae..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_bin_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 92.9152 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 5.38125 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoVlUniformBinOp< EOT >) cw -(eoBinOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, const EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, const EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoVlUniformBinOp< EOT >) 0.5 0 box - (eoBinOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, const EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, const EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_bin_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_bin_op.tex deleted file mode 100644 index 71e549869..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_bin_op.tex +++ /dev/null @@ -1,56 +0,0 @@ -\section{eo\-Vl\-Uniform\-Bin\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_vl_uniform_bin_op}\index{eoVlUniformBinOp@{eoVlUniformBinOp}} -Direct Uniform Exchange of genes for Variable Length, BINARY version. - - -{\tt \#include $<$eo\-Variable\-Length\-Crossover.h$>$} - -Inheritance diagram for eo\-Vl\-Uniform\-Bin\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.60163cm]{classeo_vl_uniform_bin_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_vl_uniform_bin_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vl\-Uniform\-Bin\-Op} (unsigned \_\-Min, unsigned \_\-Max, double \_\-rate=0.5)\label{classeo_vl_uniform_bin_op_a0} - -\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, const {\bf EOT} \&\_\-eo2)\label{classeo_vl_uniform_bin_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf Min}\label{classeo_vl_uniform_bin_op_r0} - -\item -unsigned {\bf Max}\label{classeo_vl_uniform_bin_op_r1} - -\item -double {\bf rate}\label{classeo_vl_uniform_bin_op_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Vl\-Uniform\-Bin\-Op$<$ EOT $>$} - -Direct Uniform Exchange of genes for Variable Length, BINARY version. - -A very primitive version, that does no verification at all!!! NEEDS to be improved - but no time now :-((( Especially, if both guys have maximal size, it will take some time to generate even 1 offspring that is not oversized!!! Also, we should first check for identical atoms, and copy them to the offspring, and only after that exchange the other ones (Radcliffe's RRR). - - - -Definition at line 280 of file eo\-Variable\-Length\-Crossover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Crossover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_quad_op.eps b/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_quad_op.eps deleted file mode 100644 index bbb223927..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_quad_op.eps +++ /dev/null @@ -1,221 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 105.82 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.725 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 3 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoVlUniformQuadOp< EOT >) cw -(eoQuadOp< EOT >) cw -(eoOp< EOT >) cw -(eoBF< EOT &, EOT &, bool >) cw -(eoFunctorBase) cw -(binary_function< EOT &, EOT &, bool >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoVlUniformQuadOp< EOT >) 0.5 0 box - (eoQuadOp< EOT >) 0.5 1 box - (eoOp< EOT >) 0 2 box - (eoBF< EOT &, EOT &, bool >) 1 2 box - (eoFunctorBase) 0.5 3 box - (binary_function< EOT &, EOT &, bool >) 1.5 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -0 1 2 conn -solid -1 0 2 in -solid -1 1 2 in -solid -0 1 2 out -solid -0.5 1.5 3 conn -solid -1 0.5 3 in -solid -1 1.5 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_quad_op.tex b/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_quad_op.tex deleted file mode 100644 index 1c654a466..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_vl_uniform_quad_op.tex +++ /dev/null @@ -1,56 +0,0 @@ -\section{eo\-Vl\-Uniform\-Quad\-Op$<$ EOT $>$ Class Template Reference} -\label{classeo_vl_uniform_quad_op}\index{eoVlUniformQuadOp@{eoVlUniformQuadOp}} -Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons. - - -{\tt \#include $<$eo\-Variable\-Length\-Crossover.h$>$} - -Inheritance diagram for eo\-Vl\-Uniform\-Quad\-Op$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=2.96296cm]{classeo_vl_uniform_quad_op} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Atom\-Type {\bf Atom\-Type}\label{classeo_vl_uniform_quad_op_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Vl\-Uniform\-Quad\-Op} (unsigned \_\-Min, unsigned \_\-Max, double \_\-rate=0.5)\label{classeo_vl_uniform_quad_op_a0} - -\item -bool {\bf operator()} ({\bf EOT} \&\_\-eo1, {\bf EOT} \&\_\-eo2)\label{classeo_vl_uniform_quad_op_a1} - -\begin{CompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -unsigned {\bf Min}\label{classeo_vl_uniform_quad_op_r0} - -\item -unsigned {\bf Max}\label{classeo_vl_uniform_quad_op_r1} - -\item -double {\bf rate}\label{classeo_vl_uniform_quad_op_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Vl\-Uniform\-Quad\-Op$<$ EOT $>$} - -Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons. - -A very primitive version, that does no verification at all!!! NEEDS to be improved - but no time now :-((( Especially, if both guys have maximal size, it will take a lot of time to generate 2 offspring that both are not oversized!!! Also, we should first check for identical atoms, and copy them to the offspring, and only after that exchange the other ones (Radcliffe's RRR). - - - -Definition at line 219 of file eo\-Variable\-Length\-Crossover.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Variable\-Length\-Crossover.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classeo_weak_elitist_replacement.eps b/trunk/paradiseo-eo/doc/latex/classeo_weak_elitist_replacement.eps deleted file mode 100644 index 09065d250..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_weak_elitist_replacement.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 107.527 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 4.65 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoWeakElitistReplacement< EOT >) cw -(eoReplacement< EOT >) cw -(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw -(eoFunctorBase) cw -(binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoWeakElitistReplacement< EOT >) 0.5 0 box - (eoReplacement< EOT >) 0.5 1 box - (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (binary_function< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/classeo_weak_elitist_replacement.tex b/trunk/paradiseo-eo/doc/latex/classeo_weak_elitist_replacement.tex deleted file mode 100644 index fd0050671..000000000 --- a/trunk/paradiseo-eo/doc/latex/classeo_weak_elitist_replacement.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{eo\-Weak\-Elitist\-Replacement$<$ EOT $>$ Class Template Reference} -\label{classeo_weak_elitist_replacement}\index{eoWeakElitistReplacement@{eoWeakElitistReplacement}} -eo\-Weak\-Elitist\-Replacement: a wrapper for other replacement procedures. - - -{\tt \#include $<$eo\-Replacement.h$>$} - -Inheritance diagram for eo\-Weak\-Elitist\-Replacement$<$ EOT $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=3.01075cm]{classeo_weak_elitist_replacement} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef EOT::Fitness {\bf Fitness}\label{classeo_weak_elitist_replacement_w0} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Weak\-Elitist\-Replacement} ({\bf eo\-Replacement}$<$ {\bf EOT} $>$ \&\_\-replace)\label{classeo_weak_elitist_replacement_a0} - -\item -void {\bf operator()} ({\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-pop, {\bf eo\-Pop}$<$ {\bf EOT} $>$ \&\_\-offspring)\label{classeo_weak_elitist_replacement_a1} - -\begin{CompactList}\small\item\em do replacement \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf eo\-Replacement}$<$ {\bf EOT} $>$ \& {\bf replace}\label{classeo_weak_elitist_replacement_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ class eo\-Weak\-Elitist\-Replacement$<$ EOT $>$} - -eo\-Weak\-Elitist\-Replacement: a wrapper for other replacement procedures. - -Copies in the new pop the best individual from the old pop, AFTER normal replacement, if the best of the new pop is worse than the best of the old pop. Removes the worse individual from the new pop. This could be changed by adding a selector there... - - - -Definition at line 102 of file eo\-Replacement.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -eo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classgp__parse__tree_1_1_mem_pool.tex b/trunk/paradiseo-eo/doc/latex/classgp__parse__tree_1_1_mem_pool.tex deleted file mode 100644 index bad828de7..000000000 --- a/trunk/paradiseo-eo/doc/latex/classgp__parse__tree_1_1_mem_pool.tex +++ /dev/null @@ -1,53 +0,0 @@ -\section{gp\_\-parse\_\-tree::Mem\-Pool Class Reference} -\label{classgp__parse__tree_1_1_mem_pool}\index{gp_parse_tree::MemPool@{gp\_\-parse\_\-tree::MemPool}} -Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. - - -{\tt \#include $<$parse\_\-tree.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf Mem\-Pool} (unsigned int sz)\label{classgp__parse__tree_1_1_mem_pool_a0} - -\item -void $\ast$ {\bf allocate} ()\label{classgp__parse__tree_1_1_mem_pool_a2} - -\item -void {\bf deallocate} (void $\ast$b)\label{classgp__parse__tree_1_1_mem_pool_a3} - -\end{CompactItemize} -\subsection*{Private Member Functions} -\begin{CompactItemize} -\item -void {\bf grow} ()\label{classgp__parse__tree_1_1_mem_pool_d0} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -Chunk $\ast$ {\bf chunks}\label{classgp__parse__tree_1_1_mem_pool_r0} - -\item -const unsigned int {\bf esize}\label{classgp__parse__tree_1_1_mem_pool_r1} - -\item -Link $\ast$ {\bf head}\label{classgp__parse__tree_1_1_mem_pool_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. - -Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided \char`\"{}as is\char`\"{} without express or implied warranty, and with no claim as to its suitability for any purpose. - -Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. - - - -Definition at line 185 of file parse\_\-tree.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -parse\_\-tree.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classnegexp__generator.tex b/trunk/paradiseo-eo/doc/latex/classnegexp__generator.tex deleted file mode 100644 index f853e5e1a..000000000 --- a/trunk/paradiseo-eo/doc/latex/classnegexp__generator.tex +++ /dev/null @@ -1,41 +0,0 @@ -\section{negexp\_\-generator$<$ T $>$ Class Template Reference} -\label{classnegexp__generator}\index{negexp_generator@{negexp\_\-generator}} -The class negexp\_\-generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - - -{\tt \#include $<$rnd\_\-generators.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf negexp\_\-generator} (T \_\-mean=1.0, {\bf eo\-Rng} \&\_\-rng=rng)\label{classnegexp__generator_a0} - -\item -T {\bf operator()} (void)\label{classnegexp__generator_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf mean}\label{classnegexp__generator_r0} - -\item -{\bf eo\-Rng} \& {\bf negexp}\label{classnegexp__generator_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class negexp\_\-generator$<$ T $>$} - -The class negexp\_\-generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -The user can supply a mean. - - - -Definition at line 156 of file rnd\_\-generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -rnd\_\-generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classnormal__generator.tex b/trunk/paradiseo-eo/doc/latex/classnormal__generator.tex deleted file mode 100644 index 10ec41ce0..000000000 --- a/trunk/paradiseo-eo/doc/latex/classnormal__generator.tex +++ /dev/null @@ -1,41 +0,0 @@ -\section{normal\_\-generator$<$ T $>$ Class Template Reference} -\label{classnormal__generator}\index{normal_generator@{normal\_\-generator}} -The class normal\_\-generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - - -{\tt \#include $<$rnd\_\-generators.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf normal\_\-generator} (T \_\-stdev=T(1.0), {\bf eo\-Rng} \&\_\-rng=rng)\label{classnormal__generator_a0} - -\item -T {\bf operator()} (void)\label{classnormal__generator_a1} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf stdev}\label{classnormal__generator_r0} - -\item -{\bf eo\-Rng} \& {\bf normal}\label{classnormal__generator_r1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class normal\_\-generator$<$ T $>$} - -The class normal\_\-generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -The user can supply a standard deviation which defaults to 1. - - - -Definition at line 139 of file rnd\_\-generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -rnd\_\-generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classrandom__generator.tex b/trunk/paradiseo-eo/doc/latex/classrandom__generator.tex deleted file mode 100644 index af8b76272..000000000 --- a/trunk/paradiseo-eo/doc/latex/classrandom__generator.tex +++ /dev/null @@ -1,48 +0,0 @@ -\section{random\_\-generator$<$ T $>$ Class Template Reference} -\label{classrandom__generator}\index{random_generator@{random\_\-generator}} -The class random\_\-generator can be used in the STL generate function to easily generate random ints either between [0, \_\-max) if only one value (\_\-max) is given to the ctor or in [\_\-min,\_\-max) if 2 values are given (\_\-min, \_\-max). - - -{\tt \#include $<$rnd\_\-generators.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf random\_\-generator} (T \_\-max, {\bf eo\-Rng} \&\_\-rng=rng)\label{classrandom__generator_a0} - -\item -{\bf random\_\-generator} (T \_\-min, T \_\-max, {\bf eo\-Rng} \&\_\-rng=rng)\label{classrandom__generator_a1} - -\item -T {\bf operator()} (void)\label{classrandom__generator_a2} - -\item -template$<$$>$ bool {\bf operator()} (void)\label{classrandom__generator_a3} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf minim}\label{classrandom__generator_r0} - -\item -T {\bf range}\label{classrandom__generator_r1} - -\item -{\bf eo\-Rng} \& {\bf random}\label{classrandom__generator_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = uint32\_\-t$>$ class random\_\-generator$<$ T $>$} - -The class random\_\-generator can be used in the STL generate function to easily generate random ints either between [0, \_\-max) if only one value (\_\-max) is given to the ctor or in [\_\-min,\_\-max) if 2 values are given (\_\-min, \_\-max). - - - -Definition at line 87 of file rnd\_\-generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -rnd\_\-generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/classuniform__generator.tex b/trunk/paradiseo-eo/doc/latex/classuniform__generator.tex deleted file mode 100644 index 8cd6eb947..000000000 --- a/trunk/paradiseo-eo/doc/latex/classuniform__generator.tex +++ /dev/null @@ -1,45 +0,0 @@ -\section{uniform\_\-generator$<$ T $>$ Class Template Reference} -\label{classuniform__generator}\index{uniform_generator@{uniform\_\-generator}} -The class uniform\_\-generator can be used in the STL generate function to easily generate random floats and doubles either in [0, \_\-max) if only 1 value (\_\-max) is given (or none, as \_\-max defaults to 1.0) or in [\_\-min,\_\-max) if 2 values are given (\_\-min, \_\-max). - - -{\tt \#include $<$rnd\_\-generators.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf uniform\_\-generator} (T \_\-max=T(1.0), {\bf eo\-Rng} \&\_\-rng=rng)\label{classuniform__generator_a0} - -\item -{\bf uniform\_\-generator} (T \_\-min, T \_\-max, {\bf eo\-Rng} \&\_\-rng=rng)\label{classuniform__generator_a1} - -\item -T {\bf operator()} (void)\label{classuniform__generator_a2} - -\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -T {\bf minim}\label{classuniform__generator_r0} - -\item -T {\bf range}\label{classuniform__generator_r1} - -\item -{\bf eo\-Rng} \& {\bf uniform}\label{classuniform__generator_r2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T = double$>$ class uniform\_\-generator$<$ T $>$} - -The class uniform\_\-generator can be used in the STL generate function to easily generate random floats and doubles either in [0, \_\-max) if only 1 value (\_\-max) is given (or none, as \_\-max defaults to 1.0) or in [\_\-min,\_\-max) if 2 values are given (\_\-min, \_\-max). - - - -Definition at line 44 of file rnd\_\-generators.h. - -The documentation for this class was generated from the following file:\begin{CompactItemize} -\item -rnd\_\-generators.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000000.tex b/trunk/paradiseo-eo/doc/latex/dir_000000.tex deleted file mode 100644 index e4277f419..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000000.tex +++ /dev/null @@ -1,230 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ Directory Reference} -\label{dir_000000}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ Directory Reference}} -\subsection*{Directories} -\begin{CompactItemize} -\item -directory{\bf do} -\item -directory{\bf es} -\item -directory{\bf ga} -\item -directory{\bf gp} -\item -directory{\bf other} -\item -directory{\bf pyeo} -\item -directory{\bf utils} -\end{CompactItemize} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf apply.h} -\item -file {\bf EO.h} -\item -file {\bf eoAlgo.h} -\item -file {\bf eoBreed.h} -\item -file {\bf eoCellularEasyEA.h} -\item -file {\bf eoCloneOps.h} -\item -file {\bf eoCombinedContinue.h} -\item -file {\bf eoCombinedInit.h} -\item -file {\bf eoContinue.h} -\item -file {\bf eoCounter.h} -\item -file {\bf eoCtrlCContinue.cpp} -\item -file {\bf eoCtrlCContinue.h} -\item -file {\bf eoDetSelect.h} -\item -file {\bf eoDetTournamentSelect.h} -\item -file {\bf eoDistribUpdater.h} -\item -file {\bf eoDistribution.h} -\item -file {\bf eoDominanceMap.h} -\item -file {\bf eoEasyEA.h} -\item -file {\bf eoEDA.h} -\item -file {\bf eoEvalContinue.h} -\item -file {\bf eoEvalFunc.h} -\item -file {\bf eoEvalFuncCounter.h} -\item -file {\bf eoEvalFuncPtr.h} -\item -file {\bf eoFactory.h} -\item -file {\bf eoFitContinue.h} -\item -file {\bf eoFitnessScalingSelect.h} -\item -file {\bf eoFlOrBinOp.h} -\item -file {\bf eoFlOrMonOp.h} -\item -file {\bf eoFlOrQuadOp.h} -\item -file {\bf eoFunctor.h} -\item -file {\bf eoFunctorStore.cpp} -\item -file {\bf eoFunctorStore.h} -\item -file {\bf eoG3Replacement.h} -\item -file {\bf eoGenContinue.h} -\item -file {\bf eoGeneralBreeder.h} -\item -file {\bf eoGenOp.h} -\item -file {\bf eoInit.h} -\item -file {\bf eoInvalidateOps.h} -\item -file {\bf eoLinearFitScaling.h} -\item -file {\bf eoMerge.h} -\item -file {\bf eoMergeReduce.h} -\item -file {\bf eoMGGReplacement.h} -\item -file {\bf eoNDSorting.h} -\item -file {\bf eoObject.h} -\item -file {\bf eoOneToOneBreeder.h} -\item -file {\bf eoOp.h} -\item -file {\bf eoOpContainer.h} -\item -file {\bf eoOpSelMason.h} -\item -file {\bf eoParetoConstraintFitness.h} -\item -file {\bf eoParetoFitness.cpp} -\item -file {\bf eoParetoFitness.h} -\item -file {\bf eoParetoRanking.h} -\item -file {\bf eoPerf2Worth.h} -\item -file {\bf eoPeriodicContinue.h} -\item -file {\bf eoPersistent.cpp} -\item -file {\bf eoPersistent.h} -\item -file {\bf eoPop.h} -\item -file {\bf eoPopAlgo.h} -\item -file {\bf eoPopEvalFunc.h} -\item -file {\bf eoPopulator.h} -\item -file {\bf eoPrintable.cpp} -\item -file {\bf eoPrintable.h} -\item -file {\bf eoPropGAGenOp.h} -\item -file {\bf eoProportionalCombinedOp.h} -\item -file {\bf eoProportionalSelect.h} -\item -file {\bf eoRandomSelect.h} -\item -file {\bf eoRanking.h} -\item -file {\bf eoRankingSelect.h} -\item -file {\bf eoReduce.h} -\item -file {\bf eoReduceMerge.h} -\item -file {\bf eoReduceMergeReduce.h} -\item -file {\bf eoReduceSplit.h} -\item -file {\bf eoReplacement.h} -\item -file {\bf eoScalarFitness.h} -\item -file {\bf eoScalarFitnessAssembled.cpp} -\item -file {\bf eoScalarFitnessAssembled.h} -\item -file {\bf eoSelect.h} -\item -file {\bf eoSelectFactory.h} -\item -file {\bf eoSelectFromWorth.h} -\item -file {\bf eoSelectMany.h} -\item -file {\bf eoSelectNumber.h} -\item -file {\bf eoSelectOne.h} -\item -file {\bf eoSelectPerc.h} -\item -file {\bf eoSequentialSelect.h} -\item -file {\bf eoSGA.h} -\item -file {\bf eoSGAGenOp.h} -\item -file {\bf eoSGATransform.h} -\item -file {\bf eoSharing.h} -\item -file {\bf eoSharingSelect.h} -\item -file {\bf eoSimpleEDA.h} -\item -file {\bf eoSteadyFitContinue.h} -\item -file {\bf eoSTLFunctor.h} -\item -file {\bf eoStochasticUniversalSelect.h} -\item -file {\bf eoStochTournamentSelect.h} -\item -file {\bf eoSurviveAndDie.h} -\item -file {\bf eoTransform.h} -\item -file {\bf eoTruncatedSelectMany.h} -\item -file {\bf eoTruncatedSelectOne.h} -\item -file {\bf eoTruncSelect.h} -\item -file {\bf eoVariableLengthCrossover.h} -\item -file {\bf eoVariableLengthMutation.h} -\item -file {\bf eoVector.h} -\item -file {\bf es.h} -\item -file {\bf ga.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000001.tex b/trunk/paradiseo-eo/doc/latex/dir_000001.tex deleted file mode 100644 index 207a8046a..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000001.tex +++ /dev/null @@ -1,49 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ Directory Reference} -\label{dir_000001}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf abstract1.cpp} -\item -file {\bf algos.cpp} -\item -file {\bf breeders.cpp} -\item -file {\bf continuators.cpp} -\item -file {\bf def_abstract_functor.h} -\item -file {\bf geneticOps.cpp} -\item -file {\bf mergers.cpp} -\item -file {\bf monitors.cpp} -\item -file {\bf src/pyeo/NEWS} -\item -file {\bf perf2worth.cpp} -\item -file {\bf pickle.h} -\item -file {\bf PyEO.cpp} -\item -file {\bf PyEO.h} -\item -file {\bf random_numbers.cpp} -\item -file {\bf src/pyeo/README} -\item -file {\bf reduce.cpp} -\item -file {\bf replacement.cpp} -\item -file {\bf selectOne.cpp} -\item -file {\bf selectors.cpp} -\item -file {\bf statistics.cpp} -\item -file {\bf valueParam.cpp} -\item -file {\bf valueParam.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000002.tex b/trunk/paradiseo-eo/doc/latex/dir_000002.tex deleted file mode 100644 index 145c7c06a..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000002.tex +++ /dev/null @@ -1,101 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/test/ Directory Reference} -\label{dir_000002}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/test/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/test/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf test/binary_value.h} -\item -file {\bf fitness_traits.cpp} -\item -file {\bf test/real_value.h} -\item -file {\bf RoyalRoad.h} -\item -file {\bf t-eo.cpp} -\item -file {\bf t-eoAtomOps.cpp} -\item -file {\bf t-eoBaseFunctions.cpp} -\item -file {\bf t-eobin.cpp} -\item -file {\bf t-eobreeder.cpp} -\item -file {\bf t-eoCheckpointing.cpp} -\item -file {\bf t-eoCMAES.cpp} -\item -file {\bf t-eoEasyEA.cpp} -\item -file {\bf t-eoESAll.cpp} -\item -file {\bf t-eoESFull.cpp} -\item -file {\bf t-eoESOps.cpp} -\item -file {\bf t-eoExternalEO.cpp} -\item -file {\bf t-eofitness.cpp} -\item -file {\bf t-eoFitnessAssembled.cpp} -\item -file {\bf t-eoFitnessAssembledEA.cpp} -\item -file {\bf t-eoFunctor.cpp} -\item -file {\bf t-eoGA.cpp} -\item -file {\bf t-eogeneration.cpp} -\item -file {\bf t-eoGenOp.cpp} -\item -file {\bf t-eoGOpSel.cpp} -\item -file {\bf t-eoinclusion.cpp} -\item -file {\bf t-eoinsertion.cpp} -\item -file {\bf t-eolottery.cpp} -\item -file {\bf t-eoNonUniform.cpp} -\item -file {\bf t-eoPareto.cpp} -\item -file {\bf t-eoParetoFitness.cpp} -\item -file {\bf t-eoPBIL.cpp} -\item -file {\bf t-eoproblem.cpp} -\item -file {\bf t-eoRandom.cpp} -\item -file {\bf t-eoReal.cpp} -\item -file {\bf t-eoReplacement.cpp} -\item -file {\bf t-eoRoulette.cpp} -\item -file {\bf t-eoSelect.cpp} -\item -file {\bf t-eoSharing.cpp} -\item -file {\bf t-eoSSGA.cpp} -\item -file {\bf t-eoStateAndParser.cpp} -\item -file {\bf t-eoSymreg.cpp} -\item -file {\bf t-eoUniform.cpp} -\item -file {\bf t-eoVector.cpp} -\item -file {\bf t-eoVirus.cpp} -\item -file {\bf t-MGE-control.cpp} -\item -file {\bf t-MGE.cpp} -\item -file {\bf t-MGE1bit.cpp} -\item -file {\bf t-selectOne.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000003.tex b/trunk/paradiseo-eo/doc/latex/dir_000003.tex deleted file mode 100644 index 841182e16..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000003.tex +++ /dev/null @@ -1,22 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ Directory Reference} -\label{dir_000003}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ Directory Reference}} -\subsection*{Directories} -\begin{CompactItemize} -\item -directory{\bf Lesson1} -\item -directory{\bf Lesson2} -\item -directory{\bf Lesson3} -\item -directory{\bf Lesson4} -\item -directory{\bf Lesson5} -\item -directory{\bf Templates} -\end{CompactItemize} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf tutorial/README} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000004.tex b/trunk/paradiseo-eo/doc/latex/dir_000004.tex deleted file mode 100644 index d33f68f4c..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000004.tex +++ /dev/null @@ -1,15 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ Directory Reference} -\label{dir_000004}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf tutorial/Lesson2/binary_value.h} -\item -file {\bf exercise2.3.cpp} -\item -file {\bf FirstBitEA.cpp} -\item -file {\bf FirstRealEA.cpp} -\item -file {\bf tutorial/Lesson2/real_value.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000005.tex b/trunk/paradiseo-eo/doc/latex/dir_000005.tex deleted file mode 100644 index c939914b3..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000005.tex +++ /dev/null @@ -1,15 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ Directory Reference} -\label{dir_000005}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf tutorial/Lesson3/binary_value.h} -\item -file {\bf exercise3.1.cpp} -\item -file {\bf tutorial/Lesson3/real_value.h} -\item -file {\bf SecondBitEA.cpp} -\item -file {\bf SecondRealEA.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000006.tex b/trunk/paradiseo-eo/doc/latex/dir_000006.tex deleted file mode 100644 index d1b827cb4..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000006.tex +++ /dev/null @@ -1,15 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ Directory Reference} -\label{dir_000006}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf tutorial/Lesson4/binary_value.h} -\item -file {\bf BitEA.cpp} -\item -file {\bf ESEA.cpp} -\item -file {\bf tutorial/Lesson4/real_value.h} -\item -file {\bf RealEA.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000007.tex b/trunk/paradiseo-eo/doc/latex/dir_000007.tex deleted file mode 100644 index 40a2e7d72..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000007.tex +++ /dev/null @@ -1,16 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ Directory Reference} -\label{dir_000007}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ Directory Reference}} -\subsection*{Directories} -\begin{CompactItemize} -\item -directory{\bf mathsym} -\item -directory{\bf MGE} -\end{CompactItemize} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf eoAged.h} -\item -file {\bf eoDrawable.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000008.tex b/trunk/paradiseo-eo/doc/latex/dir_000008.tex deleted file mode 100644 index 248602f1c..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000008.tex +++ /dev/null @@ -1,28 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ Directory Reference} -\label{dir_000008}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ Directory Reference}} -\subsection*{Directories} -\begin{CompactItemize} -\item -directory{\bf eo\_\-interface} -\item -directory{\bf eval} -\item -directory{\bf fun} -\item -directory{\bf gen} -\item -directory{\bf regression} -\item -directory{\bf sym} -\item -directory{\bf test} -\end{CompactItemize} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf contrib/mathsym/README} -\item -file {\bf shared_ptr.h} -\item -file {\bf symreg.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000009.tex b/trunk/paradiseo-eo/doc/latex/dir_000009.tex deleted file mode 100644 index 8f0eaf795..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000009.tex +++ /dev/null @@ -1,21 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ Directory Reference} -\label{dir_000009}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf BoundsCheck.cpp} -\item -file {\bf BoundsCheck.h} -\item -file {\bf Interval.h} -\item -file {\bf MultiFuncs.cpp} -\item -file {\bf MultiFunction.cpp} -\item -file {\bf MultiFunction.h} -\item -file {\bf sym_compile.cpp} -\item -file {\bf sym_compile.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000010.tex b/trunk/paradiseo-eo/doc/latex/dir_000010.tex deleted file mode 100644 index 386e12416..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000010.tex +++ /dev/null @@ -1,91 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ Directory Reference} -\label{dir_000010}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf CMAParams.cpp} -\item -file {\bf CMAParams.h} -\item -file {\bf CMAState.cpp} -\item -file {\bf CMAState.h} -\item -file {\bf eig.cpp} -\item -file {\bf eig.h} -\item -file {\bf eoCMABreed.h} -\item -file {\bf eoCMAInit.h} -\item -file {\bf eoEsChromInit.h} -\item -file {\bf eoEsFull.h} -\item -file {\bf eoEsGlobalXover.h} -\item -file {\bf eoEsMutate.h} -\item -file {\bf eoEsMutationInit.h} -\item -file {\bf eoEsSimple.h} -\item -file {\bf eoEsStandardXover.h} -\item -file {\bf eoEsStdev.h} -\item -file {\bf eoNormalMutation.h} -\item -file {\bf eoReal.h} -\item -file {\bf eoRealAtomXover.h} -\item -file {\bf eoRealInitBounded.h} -\item -file {\bf eoRealOp.h} -\item -file {\bf eoSBXcross.h} -\item -file {\bf make_algo_scalar_es.cpp} -\item -file {\bf make_algo_scalar_real.cpp} -\item -file {\bf make_checkpoint_es.cpp} -\item -file {\bf make_checkpoint_real.cpp} -\item -file {\bf make_continue_es.cpp} -\item -file {\bf make_continue_real.cpp} -\item -file {\bf make_es.h} -\item -file {\bf make_genotype_es.cpp} -\item -file {\bf make_genotype_real.cpp} -\item -file {\bf make_genotype_real.h} -\item -file {\bf es/make_op.h} -\item -file {\bf make_op_es.cpp} -\item -file {\bf make_op_es.h} -\item -file {\bf make_op_real.cpp} -\item -file {\bf make_op_real.h} -\item -file {\bf make_pop_es.cpp} -\item -file {\bf make_pop_real.cpp} -\item -file {\bf make_real.h} -\item -file {\bf make_run_es.cpp} -\item -file {\bf make_run_real.cpp} -\item -file {\bf matrices.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000011.tex b/trunk/paradiseo-eo/doc/latex/dir_000011.tex deleted file mode 100644 index 7dabd96b6..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000011.tex +++ /dev/null @@ -1,101 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ Directory Reference} -\label{dir_000011}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf compatibility.h} -\item -file {\bf eoAssembledFitnessStat.h} -\item -file {\bf eoCheckPoint.h} -\item -file {\bf eoData.cpp} -\item -file {\bf eoData.h} -\item -file {\bf eoDistance.h} -\item -file {\bf eoFDCStat.h} -\item -file {\bf eoFileMonitor.cpp} -\item -file {\bf eoFileMonitor.h} -\item -file {\bf eoFileSnapshot.h} -\item -file {\bf eoGnuplot.cpp} -\item -file {\bf eoGnuplot.h} -\item -file {\bf eoGnuplot1DMonitor.cpp} -\item -file {\bf eoGnuplot1DMonitor.h} -\item -file {\bf eoGnuplot1DSnapshot.cpp} -\item -file {\bf eoGnuplot1DSnapshot.h} -\item -file {\bf eoHowMany.h} -\item -file {\bf eoIntBounds.cpp} -\item -file {\bf eoIntBounds.h} -\item -file {\bf eoMOFitnessStat.h} -\item -file {\bf eoMonitor.h} -\item -file {\bf eoParam.h} -\item -file {\bf eoParser.cpp} -\item -file {\bf eoParser.h} -\item -file {\bf eoPopStat.h} -\item -file {\bf eoRealBounds.cpp} -\item -file {\bf eoRealBounds.h} -\item -file {\bf eoRealVectorBounds.h} -\item -file {\bf eoRndGenerators.h} -\item -file {\bf eoRNG.cpp} -\item -file {\bf eoRNG.h} -\item -file {\bf eoScalarFitnessStat.h} -\item -file {\bf eoStat.h} -\item -file {\bf eoState.cpp} -\item -file {\bf eoState.h} -\item -file {\bf eoStdoutMonitor.cpp} -\item -file {\bf eoStdoutMonitor.h} -\item -file {\bf eoTimeCounter.h} -\item -file {\bf eoTimedMonitor.h} -\item -file {\bf eoUniformInit.h} -\item -file {\bf eoUpdatable.h} -\item -file {\bf eoUpdater.cpp} -\item -file {\bf eoUpdater.h} -\item -file {\bf make_help.cpp} -\item -file {\bf pipecom.cpp} -\item -file {\bf pipecom.h} -\item -file {\bf rnd_generators.h} -\item -file {\bf selectors.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000012.tex b/trunk/paradiseo-eo/doc/latex/dir_000012.tex deleted file mode 100644 index 86e5c69be..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000012.tex +++ /dev/null @@ -1,23 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ Directory Reference} -\label{dir_000012}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf Dataset.cpp} -\item -file {\bf Dataset.h} -\item -file {\bf ErrorMeasure.cpp} -\item -file {\bf ErrorMeasure.h} -\item -file {\bf Scaling.cpp} -\item -file {\bf Scaling.h} -\item -file {\bf stats.h} -\item -file {\bf TargetInfo.cpp} -\item -file {\bf TargetInfo.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000013.tex b/trunk/paradiseo-eo/doc/latex/dir_000013.tex deleted file mode 100644 index 5ba2bcdbb..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000013.tex +++ /dev/null @@ -1,43 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ Directory Reference} -\label{dir_000013}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf eoBit.h} -\item -file {\bf eoBitOp.h} -\item -file {\bf eoBitOpFactory.h} -\item -file {\bf eoBoolFlip.h} -\item -file {\bf eoPBILAdditive.h} -\item -file {\bf eoPBILDistrib.h} -\item -file {\bf eoPBILOrg.h} -\item -file {\bf make_algo_scalar_ga.cpp} -\item -file {\bf make_checkpoint_ga.cpp} -\item -file {\bf make_continue_ga.cpp} -\item -file {\bf make_ga.h} -\item -file {\bf make_genotype_ga.cpp} -\item -file {\bf make_genotype_ga.h} -\item -file {\bf ga/make_op.h} -\item -file {\bf make_op_ga.cpp} -\item -file {\bf make_PBILdistrib.h} -\item -file {\bf make_PBILupdate.h} -\item -file {\bf make_pop_ga.cpp} -\item -file {\bf make_run_ga.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000014.tex b/trunk/paradiseo-eo/doc/latex/dir_000014.tex deleted file mode 100644 index e9e651aa7..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000014.tex +++ /dev/null @@ -1,11 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ Directory Reference} -\label{dir_000014}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf eoExternalEO.h} -\item -file {\bf eoExternalOpFunctions.h} -\item -file {\bf eoString.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000015.tex b/trunk/paradiseo-eo/doc/latex/dir_000015.tex deleted file mode 100644 index 540f914cd..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000015.tex +++ /dev/null @@ -1,11 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ Directory Reference} -\label{dir_000015}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf eoInitVirus.h} -\item -file {\bf eoVirus.h} -\item -file {\bf VirusOp.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000016.tex b/trunk/paradiseo-eo/doc/latex/dir_000016.tex deleted file mode 100644 index 29212416b..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000016.tex +++ /dev/null @@ -1,25 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ Directory Reference} -\label{dir_000016}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf eoOneMax.h} -\item -file {\bf eoOneMaxEvalFunc.h} -\item -file {\bf eoOneMaxInit.h} -\item -file {\bf eoOneMaxMutation.h} -\item -file {\bf eoOneMaxQuadCrossover.h} -\item -file {\bf make_genotype_OneMax.h} -\item -file {\bf make_OneMax.cpp} -\item -file {\bf make_op_OneMax.h} -\item -file {\bf OneMaxEA.cpp} -\item -file {\bf OneMaxLibEA.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000017.tex b/trunk/paradiseo-eo/doc/latex/dir_000017.tex deleted file mode 100644 index 6cd043aba..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000017.tex +++ /dev/null @@ -1,19 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ Directory Reference} -\label{dir_000017}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf eoParseTree.h} -\item -file {\bf eoParseTreeDepthInit.h} -\item -file {\bf eoParseTreeOp.h} -\item -file {\bf eoStParseTreeDepthInit.h} -\item -file {\bf eoStParseTreeOp.h} -\item -file {\bf node_pool.h} -\item -file {\bf parse_tree.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000018.tex b/trunk/paradiseo-eo/doc/latex/dir_000018.tex deleted file mode 100644 index 0966af74e..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000018.tex +++ /dev/null @@ -1,23 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo\_\-interface/ Directory Reference} -\label{dir_000018}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo\_\-interface/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf eoSym.h} -\item -file {\bf eoSymCrossover.cpp} -\item -file {\bf eoSymCrossover.h} -\item -file {\bf eoSymEval.h} -\item -file {\bf eoSymInit.h} -\item -file {\bf eoSymLambdaMutate.cpp} -\item -file {\bf eoSymLambdaMutate.h} -\item -file {\bf eoSymMutate.cpp} -\item -file {\bf eoSymMutate.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000019.tex b/trunk/paradiseo-eo/doc/latex/dir_000019.tex deleted file mode 100644 index 147baccbc..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000019.tex +++ /dev/null @@ -1,11 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ Directory Reference} -\label{dir_000019}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf exercise1.3.cpp} -\item -file {\bf FirstBitGA.cpp} -\item -file {\bf FirstRealGA.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000020.tex b/trunk/paradiseo-eo/doc/latex/dir_000020.tex deleted file mode 100644 index 6cb1ba3f3..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000020.tex +++ /dev/null @@ -1,11 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/ Directory Reference} -\label{dir_000020}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/ Directory Reference}} -\subsection*{Directories} -\begin{CompactItemize} -\item -directory{\bf gprop} -\item -directory{\bf gpsymreg} -\item -directory{\bf mastermind} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000021.tex b/trunk/paradiseo-eo/doc/latex/dir_000021.tex deleted file mode 100644 index b19339d59..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000021.tex +++ /dev/null @@ -1,13 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ Directory Reference} -\label{dir_000021}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf fitness.h} -\item -file {\bf main.cpp} -\item -file {\bf node.h} -\item -file {\bf parameters.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000022.tex b/trunk/paradiseo-eo/doc/latex/dir_000022.tex deleted file mode 100644 index df6cbd65c..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000022.tex +++ /dev/null @@ -1,17 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ Directory Reference} -\label{dir_000022}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf FunDef.cpp} -\item -file {\bf FunDef.h} -\item -file {\bf sym_operations.cpp} -\item -file {\bf SymOps.cpp} -\item -file {\bf SymOps.h} -\item -file {\bf util.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000023.tex b/trunk/paradiseo-eo/doc/latex/dir_000023.tex deleted file mode 100644 index afbeca2a0..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000023.tex +++ /dev/null @@ -1,19 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ Directory Reference} -\label{dir_000023}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf gprop.cpp} -\item -file {\bf gprop.h} -\item -file {\bf l2.h} -\item -file {\bf mlp.h} -\item -file {\bf mse.h} -\item -file {\bf qp.h} -\item -file {\bf vecop.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000024.tex b/trunk/paradiseo-eo/doc/latex/dir_000024.tex deleted file mode 100644 index a6785e21f..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000024.tex +++ /dev/null @@ -1,17 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ Directory Reference} -\label{dir_000024}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf LanguageTable.cpp} -\item -file {\bf LanguageTable.h} -\item -file {\bf NodeSelector.cpp} -\item -file {\bf NodeSelector.h} -\item -file {\bf TreeBuilder.cpp} -\item -file {\bf TreeBuilder.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000025.tex b/trunk/paradiseo-eo/doc/latex/dir_000025.tex deleted file mode 100644 index e333b1065..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000025.tex +++ /dev/null @@ -1,29 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ Directory Reference} -\label{dir_000025}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf make_algo_easea.h} -\item -file {\bf make_algo_pareto.h} -\item -file {\bf make_algo_scalar.h} -\item -file {\bf make_checkpoint.h} -\item -file {\bf make_checkpoint_assembled.h} -\item -file {\bf make_checkpoint_FDC.h} -\item -file {\bf make_checkpoint_pareto.h} -\item -file {\bf make_continue.h} -\item -file {\bf make_continue_pareto.h} -\item -file {\bf make_general_replacement.h} -\item -file {\bf make_pop.h} -\item -file {\bf make_run.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000026.tex b/trunk/paradiseo-eo/doc/latex/dir_000026.tex deleted file mode 100644 index 586af581f..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000026.tex +++ /dev/null @@ -1,19 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ Directory Reference} -\label{dir_000026}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf make_genotype_MyStruct.h} -\item -file {\bf make_MyStruct.cpp} -\item -file {\bf make_op_MyStruct.h} -\item -file {\bf MyStructEA.cpp} -\item -file {\bf MyStructLibEA.cpp} -\item -file {\bf MyStructSEA.cpp} -\item -file {\bf tutorial/Templates/README} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000027.tex b/trunk/paradiseo-eo/doc/latex/dir_000027.tex deleted file mode 100644 index 3670d5de9..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000027.tex +++ /dev/null @@ -1,9 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ Directory Reference} -\label{dir_000027}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf mastermind.cpp} -\item -file {\bf mastermind.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000028.tex b/trunk/paradiseo-eo/doc/latex/dir_000028.tex deleted file mode 100644 index cca9f1797..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000028.tex +++ /dev/null @@ -1,17 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ Directory Reference} -\label{dir_000028}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf README.cpp} -\item -file {\bf Sym.cpp} -\item -file {\bf Sym.h} -\item -file {\bf SymImpl.cpp} -\item -file {\bf SymImpl.h} -\item -file {\bf token.h} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/dir_000029.tex b/trunk/paradiseo-eo/doc/latex/dir_000029.tex deleted file mode 100644 index 09a5adacc..000000000 --- a/trunk/paradiseo-eo/doc/latex/dir_000029.tex +++ /dev/null @@ -1,17 +0,0 @@ -\section{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ Directory Reference} -\label{dir_000029}\index{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ Directory Reference@{/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ Directory Reference}} -\subsection*{Files} -\begin{CompactItemize} -\item -file {\bf test_compile.cpp} -\item -file {\bf test_diff.cpp} -\item -file {\bf test_lambda.cpp} -\item -file {\bf test_mf.cpp} -\item -file {\bf test_simplify.cpp} -\item -file {\bf testeo.cpp} -\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/doxygen.sty b/trunk/paradiseo-eo/doc/latex/doxygen.sty deleted file mode 100644 index 387f34339..000000000 --- a/trunk/paradiseo-eo/doc/latex/doxygen.sty +++ /dev/null @@ -1,64 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{doxygen} -\RequirePackage{calc} -\RequirePackage{array} -\pagestyle{fancyplain} -\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} -\renewcommand{\chaptermark}[1]{\markboth{#1}{}} -\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} -\lhead[\fancyplain{}{\bfseries\thepage}] - {\fancyplain{}{\bfseries\rightmark}} -\rhead[\fancyplain{}{\bfseries\leftmark}] - {\fancyplain{}{\bfseries\thepage}} -\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Thu Oct 19 05:06:33 2006 for EO by Doxygen }]{} -\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Oct 19 05:06:33 2006 for EO by Doxygen }} -\cfoot{} -\newenvironment{CompactList} -{\begin{list}{}{ - \setlength{\leftmargin}{0.5cm} - \setlength{\itemsep}{0pt} - \setlength{\parsep}{0pt} - \setlength{\topsep}{0pt} - \renewcommand{\makelabel}{}}} -{\end{list}} -\newenvironment{CompactItemize} -{ - \begin{itemize} - \setlength{\itemsep}{-3pt} - \setlength{\parsep}{0pt} - \setlength{\topsep}{0pt} - \setlength{\partopsep}{0pt} -} -{\end{itemize}} -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} -\newlength{\tmplength} -\newenvironment{TabularC}[1] -{ -\setlength{\tmplength} - {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} - \par\begin{tabular*}{\linewidth} - {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} -} -{\end{tabular*}\par} -\newcommand{\entrylabel}[1]{ - {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\\}}} -\newenvironment{Desc} -{\begin{list}{} - { - \settowidth{\labelwidth}{40pt} - \setlength{\leftmargin}{\labelwidth} - \setlength{\parsep}{0pt} - \setlength{\itemsep}{-4pt} - \renewcommand{\makelabel}{\entrylabel} - } -} -{\end{list}} -\newenvironment{Indent} - {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} - \item[]\ignorespaces} - {\unskip\end{list}} -\setlength{\parindent}{0cm} -\setlength{\parskip}{0.2cm} -\addtocounter{secnumdepth}{1} -\sloppy -\usepackage[T1]{fontenc} diff --git a/trunk/paradiseo-eo/doc/latex/group___evolution_strategies.tex b/trunk/paradiseo-eo/doc/latex/group___evolution_strategies.tex deleted file mode 100644 index ff0199f36..000000000 --- a/trunk/paradiseo-eo/doc/latex/group___evolution_strategies.tex +++ /dev/null @@ -1,21 +0,0 @@ -\section{Evolution\-Strategies} -\label{group___evolution_strategies}\index{EvolutionStrategies@{EvolutionStrategies}} -\subsection*{Classes} -\begin{CompactItemize} -\item -class {\bf eo\-Es\-Chrom\-Init$<$ EOT $>$} -\begin{CompactList}\small\item\em Random Es-chromosome initializer (therefore derived from {\bf eo\-Init}{\rm (p.\,\pageref{classeo_init})}). \item\end{CompactList}\item -class {\bf eo\-Es\-Full$<$ Fit $>$} -\begin{CompactList}\small\item\em The most complex evolutionary strategy representation. \item\end{CompactList}\item -class {\bf eo\-Es\-Mutate$<$ EOT $>$} -\begin{CompactList}\small\item\em ES-style mutation in the large. \item\end{CompactList}\item -class {\bf eo\-Es\-Mutation\-Init} -\begin{CompactList}\small\item\em Initialize Mutation operator. \item\end{CompactList}\item -class {\bf eo\-Es\-Simple$<$ Fit $>$} -\begin{CompactList}\small\item\em Simple Evolution Strategy. \item\end{CompactList}\item -class {\bf eo\-Es\-Stdev$<$ Fit $>$} -\begin{CompactList}\small\item\em Evolutionary Strategy with a standard deviation per parameter. \item\end{CompactList}\item -class {\bf eo\-Int\-Bounds} -\begin{CompactList}\small\item\em Defines bound classes for real numbers. \item\end{CompactList}\item -class {\bf eo\-Real\-Bounds} -\begin{CompactList}\small\item\em Defines bound classes for real numbers. \item\end{CompactList}\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/group___operators.tex b/trunk/paradiseo-eo/doc/latex/group___operators.tex deleted file mode 100644 index d7f8153be..000000000 --- a/trunk/paradiseo-eo/doc/latex/group___operators.tex +++ /dev/null @@ -1,3 +0,0 @@ -\section{Operators} -\label{group___operators}\index{Operators@{Operators}} -Genetic Operators are used for various purposes. diff --git a/trunk/paradiseo-eo/doc/latex/group___parse_tree.tex b/trunk/paradiseo-eo/doc/latex/group___parse_tree.tex deleted file mode 100644 index a8c9fc413..000000000 --- a/trunk/paradiseo-eo/doc/latex/group___parse_tree.tex +++ /dev/null @@ -1,50 +0,0 @@ -\section{Parse\-Tree} -\label{group___parse_tree}\index{ParseTree@{ParseTree}} -Various functions for tree-based Genetic Programming. -\subsection*{Classes} -\begin{CompactItemize} -\item -class {\bf eo\-Parse\-Tree$<$ FType, Node $>$} -\begin{CompactList}\small\item\em Implementation of parse-tree for genetic programming. \item\end{CompactList}\item -class {\bf eo\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-Parse\-Tree\-Depth\-Init : the initializer class for {\bf eo\-Parse\-Tree}{\rm (p.\,\pageref{classeo_parse_tree})} \item\end{CompactList}\item -class {\bf eo\-Subtree\-XOver$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-Subtree\-XOver --$>$ subtree xover \item\end{CompactList}\item -class {\bf eo\-Branch\-Mutation$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-Branch\-Mutation --$>$ replace a subtree with a randomly created subtree \item\end{CompactList}\item -class {\bf eo\-Point\-Mutation$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-Point\-Mutation --$>$ replace a Node with a Node of the same arity \item\end{CompactList}\item -class {\bf eo\-Expansion\-Mutation$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-Expansion\-Mutation --$>$ replace a terminal with a randomly created subtree \item\end{CompactList}\item -class {\bf eo\-Collapse\-Subtree\-Mutation$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-Collapse\-Subtree --$>$ replace a subtree with a randomly chosen terminal \item\end{CompactList}\item -class {\bf eo\-Hoist\-Mutation$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-Hoist\-Mutation --$>$ replace the individual with one of its subtree's \item\end{CompactList}\end{CompactItemize} -\subsection*{Functions} -\begin{CompactItemize} -\item -template$<$class FType, class Node$>$ void {\bf eo\-Init\-Ramped\-Half\-And\-Half} ({\bf eo\-Pop}$<$ {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ $>$ \&pop, unsigned int population\_\-size, unsigned int init\_\-max\_\-depth, std::vector$<$ Node $>$ \&initializor) -\begin{CompactList}\small\item\em A template function for ramped half and half initialization of an {\bf eo\-Parse\-Tree}{\rm (p.\,\pageref{classeo_parse_tree})} population. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Various functions for tree-based Genetic Programming. - - - -\subsection{Function Documentation} -\index{ParseTree@{Parse\-Tree}!eoInitRampedHalfAndHalf@{eoInitRampedHalfAndHalf}} -\index{eoInitRampedHalfAndHalf@{eoInitRampedHalfAndHalf}!ParseTree@{Parse\-Tree}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class FType, class Node$>$ void eo\-Init\-Ramped\-Half\-And\-Half ({\bf eo\-Pop}$<$ {\bf eo\-Parse\-Tree}$<$ FType, Node $>$ $>$ \& {\em pop}, unsigned int {\em population\_\-size}, unsigned int {\em init\_\-max\_\-depth}, std::vector$<$ Node $>$ \& {\em initializor})}\label{group___parse_tree_ga0} - - -A template function for ramped half and half initialization of an {\bf eo\-Parse\-Tree}{\rm (p.\,\pageref{classeo_parse_tree})} population. - -\begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em pop}]the population to be created \item[{\em population\_\-size}]the size of the population to be created \item[{\em init\_\-max\_\-depth}]the initial maximum tree depth \item[{\em initializor}]A std::vector containing the possible nodes \end{description} -\end{Desc} - - -Definition at line 179 of file eo\-Parse\-Tree\-Depth\-Init.h. \ No newline at end of file diff --git a/trunk/paradiseo-eo/doc/latex/group___prop_combined_operators.tex b/trunk/paradiseo-eo/doc/latex/group___prop_combined_operators.tex deleted file mode 100644 index cc50f0444..000000000 --- a/trunk/paradiseo-eo/doc/latex/group___prop_combined_operators.tex +++ /dev/null @@ -1,3 +0,0 @@ -\section{Prop\-Combined\-Operators} -\label{group___prop_combined_operators}\index{PropCombinedOperators@{PropCombinedOperators}} -Combination of same-type Genetic Operators - Proportional choice. diff --git a/trunk/paradiseo-eo/doc/latex/group___st_parse_tree.tex b/trunk/paradiseo-eo/doc/latex/group___st_parse_tree.tex deleted file mode 100644 index f4906f452..000000000 --- a/trunk/paradiseo-eo/doc/latex/group___st_parse_tree.tex +++ /dev/null @@ -1,24 +0,0 @@ -\section{St\-Parse\-Tree} -\label{group___st_parse_tree}\index{StParseTree@{StParseTree}} -Various functions for strongly typed tree-based Genetic Programming. -\subsection*{Classes} -\begin{CompactItemize} -\item -class {\bf eo\-St\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-St\-Parse\-Tree\-Depth\-Init : the initializer class for strongly typed tree-based genetic programming \item\end{CompactList}\item -class {\bf eo\-St\-Subtree\-XOver$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-St\-Subtree\-XOver --$>$ subtree xover for strongly typed tree-based genetic programming \item\end{CompactList}\item -class {\bf eo\-St\-Branch\-Mutation$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-St\-Branch\-Mutation --$>$ replace a strongly typed subtree with a randomly created strongly typed subtree \item\end{CompactList}\item -class {\bf eo\-St\-Point\-Mutation$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-St\-Point\-Mutation --$>$ replace a Node with a Node of the same arity and type \item\end{CompactList}\item -class {\bf eo\-St\-Hoist\-Mutation$<$ FType, Node $>$} -\begin{CompactList}\small\item\em eo\-St\-Hoist\-Mutation --$>$ replace the individual with one of its strongly typed subtree's \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Various functions for strongly typed tree-based Genetic Programming. - -The St\-Parse\-Tree functions use the same {\bf eo\-Parse\-Tree}{\rm (p.\,\pageref{classeo_parse_tree})} class for the individual but now each node class must have two additional functions. \begin{itemize} -\item int type(void) which returns the return type of the node \item int type(int child) which returns the required type for child 0, 1 or 2\end{itemize} -Pruning strongly typed trees is not possible at the moment. \ No newline at end of file diff --git a/trunk/paradiseo-eo/doc/latex/group__bitstring.tex b/trunk/paradiseo-eo/doc/latex/group__bitstring.tex deleted file mode 100644 index 8bc90acfe..000000000 --- a/trunk/paradiseo-eo/doc/latex/group__bitstring.tex +++ /dev/null @@ -1,35 +0,0 @@ -\section{Bitstring} -\label{group__bitstring}\index{Bitstring@{Bitstring}} -Various functions for a bitstring representation. -\subsection*{Classes} -\begin{CompactItemize} -\item -class {\bf eo\-Bit$<$ Fit\-T $>$} -\begin{CompactList}\small\item\em Implementation of bitstring chromosome. \item\end{CompactList}\item -class {\bf eo\-Bit$<$ Fit\-T $>$} -\begin{CompactList}\small\item\em Implementation of bitstring chromosome. \item\end{CompactList}\item -class {\bf eo\-Bit\-Bit\-Flip} -\begin{CompactList}\small\item\em eo\-Bit\-Flip --$>$ changes 1 bit \item\end{CompactList}\item -class {\bf eo\-Det\-Bit\-Flip$<$ Chrom $>$} -\begin{CompactList}\small\item\em eo\-Det\-Bit\-Flip --$>$ changes exactly k bits \item\end{CompactList}\item -class {\bf eo\-Bit\-Mutation$<$ Chrom $>$} -\begin{CompactList}\small\item\em eo\-Bit\-Mutation --$>$ classical mutation \item\end{CompactList}\item -class {\bf eo\-Bit\-Inversion$<$ Chrom $>$} -\begin{CompactList}\small\item\em eo\-Bit\-Inversion: inverts the bits of the chromosome between an interval \item\end{CompactList}\item -class {\bf eo\-Bit\-Next$<$ Chrom $>$} -\begin{CompactList}\small\item\em eo\-Bit\-Next --$>$ next value when bitstring considered as binary value \item\end{CompactList}\item -class {\bf eo\-Bit\-Prev$<$ Chrom $>$} -\begin{CompactList}\small\item\em eo\-Bit\-Prev --$>$ previous value when bitstring treated as binary value \item\end{CompactList}\item -class {\bf eo1Pt\-Bit\-Crossover} -\begin{CompactList}\small\item\em eo1Pt\-Bit\-Xover --$>$ classic 1-point crossover \item\end{CompactList}\item -class {\bf eo\-UBit\-Xover$<$ Chrom $>$} -\begin{CompactList}\small\item\em eo\-UBit\-Xover --$>$ classic Uniform crossover \item\end{CompactList}\item -class {\bf eo\-NPts\-Bit\-Xover$<$ Chrom $>$} -\begin{CompactList}\small\item\em eo\-NPts\-Bit\-Xover --$>$ n-point crossover \item\end{CompactList}\item -class {\bf eo\-Bit\-Gx\-Over$<$ Chrom $>$} -\begin{CompactList}\small\item\em eo\-Bit\-Gx\-Over --$>$ Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Various functions for a bitstring representation. - diff --git a/trunk/paradiseo-eo/doc/latex/group__selectors.tex b/trunk/paradiseo-eo/doc/latex/group__selectors.tex deleted file mode 100644 index 81beb80ed..000000000 --- a/trunk/paradiseo-eo/doc/latex/group__selectors.tex +++ /dev/null @@ -1,2 +0,0 @@ -\section{Selectors} -\label{group__selectors}\index{Selectors@{Selectors}} diff --git a/trunk/paradiseo-eo/doc/latex/hierarchy.tex b/trunk/paradiseo-eo/doc/latex/hierarchy.tex deleted file mode 100644 index e4d23d853..000000000 --- a/trunk/paradiseo-eo/doc/latex/hierarchy.tex +++ /dev/null @@ -1,1311 +0,0 @@ -\section{EO Class Hierarchy} -This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} -\item \contentsline{section}{eo1Pt\-Bit\-Crossover}{\pageref{classeo1_pt_bit_crossover}}{} -\item \contentsline{section}{eo\-Aged$<$ Object $>$}{\pageref{classeo_aged}}{} -\item \contentsline{section}{eo\-Arithmetic\-Crossover}{\pageref{classeo_arithmetic_crossover}}{} -\item eo\-Best\-Fitness\-Stat$<$ EOT $>$::Cmp\-Fitness\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, unsigned, void $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Reduce$<$ EOT $>$}{\pageref{classeo_reduce}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Det\-Tournament\-Truncate$<$ EOT $>$}{\pageref{classeo_det_tournament_truncate}}{} -\item \contentsline{section}{eo\-EPReduce$<$ EOT $>$}{\pageref{classeo_e_p_reduce}}{} -\item \contentsline{section}{eo\-Linear\-Truncate$<$ EOT $>$}{\pageref{classeo_linear_truncate}}{} -\item \contentsline{section}{eo\-Random\-Reduce$<$ EOT $>$}{\pageref{classeo_random_reduce}}{} -\item \contentsline{section}{eo\-Stoch\-Tournament\-Truncate$<$ EOT $>$}{\pageref{classeo_stoch_tournament_truncate}}{} -\item \contentsline{section}{eo\-Stoch\-Tournament\-Truncate\-Split$<$ EOT $>$}{\pageref{classeo_stoch_tournament_truncate_split}}{} -\item \contentsline{section}{eo\-Truncate$<$ EOT $>$}{\pageref{classeo_truncate}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ eo\-Distribution$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Distrib\-Updater$<$ EOT $>$}{\pageref{classeo_distrib_updater}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-PBILAdditive$<$ EOT $>$}{\pageref{classeo_p_b_i_l_additive}}{} -\item \contentsline{section}{eo\-PBILOrg$<$ EOT $>$}{\pageref{classeo_p_b_i_l_org}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ Py\-EO \&, Py\-EO \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Quad\-Op$<$ Py\-EO $>$}{\pageref{classeo_quad_op}}{} -\begin{CompactList} -\item Quad\-Op\-Wrapper\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Pop\-Eval\-Func$<$ EOT $>$}{\pageref{classeo_pop_eval_func}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Pop\-Loop\-Eval$<$ EOT $>$}{\pageref{classeo_pop_loop_eval}}{} -\item \contentsline{section}{eo\-Time\-Varying\-Loop\-Eval$<$ EOT $>$}{\pageref{classeo_time_varying_loop_eval}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Reduce\-Split$<$ EOT $>$}{\pageref{classeo_reduce_split}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Det\-Tournament\-Truncate\-Split$<$ EOT $>$}{\pageref{classeo_det_tournament_truncate_split}}{} -\item \contentsline{section}{eo\-Linear\-Random\-Split$<$ EOT $>$}{\pageref{classeo_linear_random_split}}{} -\item \contentsline{section}{eo\-Linear\-Truncate\-Split$<$ EOT $>$}{\pageref{classeo_linear_truncate_split}}{} -\item \contentsline{section}{eo\-Random\-Split$<$ EOT $>$}{\pageref{classeo_random_split}}{} -\item \contentsline{section}{eo\-Truncate\-Split$<$ EOT $>$}{\pageref{classeo_truncate_split}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Replacement$<$ EOT $>$}{\pageref{classeo_replacement}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Deterministic\-Sa\-DReplacement$<$ EOT $>$}{\pageref{classeo_deterministic_sa_d_replacement}}{} -\item \contentsline{section}{eo\-G3Replacement$<$ EOT $>$}{\pageref{classeo_g3_replacement}}{} -\item \contentsline{section}{eo\-Generational\-Replacement$<$ EOT $>$}{\pageref{classeo_generational_replacement}}{} -\item \contentsline{section}{eo\-Merge\-Reduce$<$ EOT $>$}{\pageref{classeo_merge_reduce}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Comma\-Replacement$<$ EOT $>$}{\pageref{classeo_comma_replacement}}{} -\item \contentsline{section}{eo\-EPReplacement$<$ EOT $>$}{\pageref{classeo_e_p_replacement}}{} -\item \contentsline{section}{eo\-Plus\-Replacement$<$ EOT $>$}{\pageref{classeo_plus_replacement}}{} -\end{CompactList} -\item \contentsline{section}{eo\-MGGReplacement$<$ EOT $>$}{\pageref{classeo_m_g_g_replacement}}{} -\item \contentsline{section}{eo\-NDPlus\-Replacement$<$ EOT, Worth\-T $>$}{\pageref{classeo_n_d_plus_replacement}}{} -\item \contentsline{section}{eo\-NDPlus\-Replacement$<$ EOT, Worth\-T $>$}{\pageref{classeo_n_d_plus_replacement}}{} -\item \contentsline{section}{eo\-Reduce\-Merge$<$ EOT $>$}{\pageref{classeo_reduce_merge}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-SSGADet\-Tournament\-Replacement$<$ EOT $>$}{\pageref{classeo_s_s_g_a_det_tournament_replacement}}{} -\item \contentsline{section}{eo\-SSGAStoch\-Tournament\-Replacement$<$ EOT $>$}{\pageref{classeo_s_s_g_a_stoch_tournament_replacement}}{} -\item \contentsline{section}{eo\-SSGAWorse\-Replacement$<$ EOT $>$}{\pageref{classeo_s_s_g_a_worse_replacement}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Reduce\-Merge\-Reduce$<$ EOT $>$}{\pageref{classeo_reduce_merge_reduce}}{} -\item \contentsline{section}{eo\-Weak\-Elitist\-Replacement$<$ EOT $>$}{\pageref{classeo_weak_elitist_replacement}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Survive\-And\-Die$<$ EOT $>$}{\pageref{classeo_survive_and_die}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Deterministic\-Survive\-And\-Die$<$ EOT $>$}{\pageref{classeo_deterministic_survive_and_die}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ Chrom \&, Chrom \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Quad\-Op$<$ Chrom $>$}{\pageref{classeo_quad_op}}{} -\begin{CompactList} -\item eo1Pt\-Bit\-Xover\item \contentsline{section}{eo\-Bit\-Gx\-Over$<$ Chrom $>$}{\pageref{classeo_bit_gx_over}}{} -\item eo\-Chrom\-Xover\item eo\-Chrom\-Xover\item \contentsline{section}{eo\-NPts\-Bit\-Xover$<$ Chrom $>$}{\pageref{classeo_n_pts_bit_xover}}{} -\item \contentsline{section}{eo\-UBit\-Xover$<$ Chrom $>$}{\pageref{classeo_u_bit_xover}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ External\-EO \&, const External\-EO \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ External\-EO $>$}{\pageref{classeo_bin_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-External\-Bin\-Op$<$ F, External, External\-EO $>$}{\pageref{classeo_external_bin_op}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ const Dummy \&, const Dummy \&, double $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Distance$<$ Dummy $>$}{\pageref{classeo_distance}}{} -\begin{CompactList} -\item eo\-Dummy\-Distance\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ EOType \&, EOType \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Quad\-Op$<$ EOType $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ Genotype\-T \&, Genotype\-T \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Quad\-Op$<$ Genotype\-T $>$}{\pageref{classeo_quad_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-One\-Max\-Quad\-Crossover$<$ Genotype\-T $>$}{\pageref{classeo_one_max_quad_crossover}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ Eo\-Type \&, Eo\-Type \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Quad\-Op$<$ Eo\-Type $>$}{\pageref{classeo_quad_op}}{} -\begin{CompactList} -\item eo\-Quad\-Subtree\-Crossover\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ unsigned, Atom \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Atom\-Exchange$<$ Atom $>$}{\pageref{classeo_atom_exchange}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Uniform\-Atom\-Exchange$<$ Atom $>$}{\pageref{classeo_uniform_atom_exchange}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ eo\-Virus$<$ Fit\-T $>$ \&, const eo\-Virus$<$ Fit\-T $>$ \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ eo\-Virus$<$ Fit\-T $>$ $>$}{\pageref{classeo_bin_op}}{} -\begin{CompactList} -\item Virus\-Transmission\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ Eo\-Type \&, const Eo\-Type \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ Eo\-Type $>$}{\pageref{classeo_bin_op}}{} -\begin{CompactList} -\item eo\-Bin\-Homologous\-Crossover\item eo\-Bin\-Subtree\-Crossover\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ EOT \&, const EOT \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_bin_op}}{} -\begin{CompactList} -\item binop\item \contentsline{section}{eo\-Bin\-Clone\-Op$<$ EOT $>$}{\pageref{classeo_bin_clone_op}}{} -\item \contentsline{section}{eo\-Es\-Standard\-Xover$<$ EOT $>$}{\pageref{classeo_es_standard_xover}}{} -\item \contentsline{section}{eo\-Fl\-Or1pt\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_fl_or1pt_bin_op}}{} -\item \contentsline{section}{eo\-Fl\-Or\-All\-Atom\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_fl_or_all_atom_bin_op}}{} -\item \contentsline{section}{eo\-Fl\-Or\-KAtom\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_fl_or_k_atom_bin_op}}{} -\item \contentsline{section}{eo\-Fl\-Or\-Uniform\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_fl_or_uniform_bin_op}}{} -\item \contentsline{section}{eo\-Invalidate\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_invalidate_bin_op}}{} -\item \contentsline{section}{eo\-Prop\-Combined\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_prop_combined_bin_op}}{} -\item \contentsline{section}{eo\-Quad2Bin\-Op$<$ EOT $>$}{\pageref{classeo_quad2_bin_op}}{} -\item \contentsline{section}{eo\-Vl\-Uniform\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_vl_uniform_bin_op}}{} -\item Xover\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ External\-EO \&, External\-EO \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Quad\-Op$<$ External\-EO $>$}{\pageref{classeo_quad_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-External\-Quad\-Op$<$ F, External, External\-EO $>$}{\pageref{classeo_external_quad_op}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ EOT \&, EOT \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_quad_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Fl\-Or1pt\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_fl_or1pt_quad_op}}{} -\item \contentsline{section}{eo\-Fl\-Or\-All\-Atom\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_fl_or_all_atom_quad_op}}{} -\item \contentsline{section}{eo\-Fl\-Or\-KAtom\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_fl_or_k_atom_quad_op}}{} -\item \contentsline{section}{eo\-Fl\-Or\-Uniform\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_fl_or_uniform_quad_op}}{} -\item eo\-Hypercube\-Crossover\item \contentsline{section}{eo\-Inner\-Exchange\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_inner_exchange_quad_op}}{} -\item \contentsline{section}{eo\-Invalidate\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_invalidate_quad_op}}{} -\item \contentsline{section}{eo\-Prop\-Combined\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_prop_combined_quad_op}}{} -\item \contentsline{section}{eo\-Quad\-Clone\-Op$<$ EOT $>$}{\pageref{classeo_quad_clone_op}}{} -\item eo\-Real\-UXover\item eo\-SBXCrossover\item \contentsline{section}{eo\-Segment\-Crossover$<$ EOT $>$}{\pageref{classeo_segment_crossover}}{} -\item \contentsline{section}{eo\-Vl\-Atom\-Exchange\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_vl_atom_exchange_quad_op}}{} -\item \contentsline{section}{eo\-Vl\-Uniform\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_vl_uniform_quad_op}}{} -\item quad\-Clone\item quadop\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ eo\-Pop$<$ Eo\-Type $>$ \&, eo\-Pop$<$ Eo\-Type $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Pop\-Eval\-Func$<$ Eo\-Type $>$}{\pageref{classeo_pop_eval_func}}{} -\begin{CompactList} -\item eo\-Sym\-Pop\-Eval\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Breed$<$ EOT $>$}{\pageref{classeo_breed}}{} -\begin{CompactList} -\item eo\-Breed\-One\item \contentsline{section}{eo\-General\-Breeder$<$ EOT $>$}{\pageref{classeo_general_breeder}}{} -\item eo\-One\-To\-One\-Breeder\item \contentsline{section}{eo\-Select\-Transform$<$ EOT $>$}{\pageref{classeo_select_transform}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Merge$<$ EOT $>$}{\pageref{classeo_merge}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Elitism$<$ EOT $>$}{\pageref{classeo_elitism}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-No\-Elitism$<$ EOT $>$}{\pageref{classeo_no_elitism}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Plus$<$ EOT $>$}{\pageref{classeo_plus}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Select$<$ EOT $>$}{\pageref{classeo_select}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Det\-Select$<$ EOT $>$}{\pageref{classeo_det_select}}{} -\item eo\-Easy\-EA::eo\-Dummy\-Select\item \contentsline{section}{eo\-Select\-Many$<$ EOT $>$}{\pageref{classeo_select_many}}{} -\item \contentsline{section}{eo\-Select\-Number$<$ EOT $>$}{\pageref{classeo_select_number}}{} -\item \contentsline{section}{eo\-Select\-Perc$<$ EOT $>$}{\pageref{classeo_select_perc}}{} -\item \contentsline{section}{eo\-Truncated\-Select\-Many$<$ EOT $>$}{\pageref{classeo_truncated_select_many}}{} -\item \contentsline{section}{eo\-Trunc\-Select$<$ EOT $>$}{\pageref{classeo_trunc_select}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ const EOT \&, const EOT \&, double $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Distance$<$ EOT $>$}{\pageref{classeo_distance}}{} -\begin{CompactList} -\item eo\-Fitness\-Distance\item \contentsline{section}{eo\-Hamming\-Distance$<$ EOT $>$}{\pageref{classeo_hamming_distance}}{} -\item \contentsline{section}{eo\-Quad\-Distance$<$ EOT $>$}{\pageref{classeo_quad_distance}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ EOType \&, const EOType \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ EOType $>$}{\pageref{classeo_bin_op}}{} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ eo\-Pop$<$ Py\-EO $>$ \&, unsigned, void $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Reduce$<$ Py\-EO $>$}{\pageref{classeo_reduce}}{} -\begin{CompactList} -\item eo\-Reduce\-Wrapper\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ const eo\-Pop$<$ Chrom $>$ \&, eo\-Pop$<$ Chrom $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Merge$<$ Chrom $>$}{\pageref{classeo_merge}}{} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ eo\-Parse\-Tree$<$ FType, Node $>$ \&, eo\-Parse\-Tree$<$ FType, Node $>$ \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Quad\-Op$<$ eo\-Parse\-Tree$<$ FType, Node $>$ $>$}{\pageref{classeo_quad_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-St\-Subtree\-XOver$<$ FType, Node $>$}{\pageref{classeo_st_subtree_x_over}}{} -\item \contentsline{section}{eo\-Subtree\-XOver$<$ FType, Node $>$}{\pageref{classeo_subtree_x_over}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ Py\-EO \&, const Py\-EO \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ Py\-EO $>$}{\pageref{classeo_bin_op}}{} -\begin{CompactList} -\item Bin\-Op\-Wrapper\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ const eo\-Pop$<$ eo\-Vector$<$ Fit\-T, double $>$ $>$ \&, eo\-Pop$<$ eo\-Vector$<$ Fit\-T, double $>$ $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Breed$<$ eo\-Vector$<$ Fit\-T, double $>$ $>$}{\pageref{classeo_breed}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-CMABreed$<$ Fit\-T $>$}{\pageref{classeo_c_m_a_breed}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ double \&, const double \&, bool $>$}{\pageref{classeo_b_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ double $>$}{\pageref{classeo_bin_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Double\-Exchange}{\pageref{classeo_double_exchange}}{} -\item \contentsline{section}{eo\-Double\-Intermediate}{\pageref{classeo_double_intermediate}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item binary\_\-function\item Binary\-Value\item eoutils::Binary\-Wrapper$<$ Binary $>$\item \contentsline{section}{eo\-Bit\-Bit\-Flip}{\pageref{classeo_bit_bit_flip}}{} -\item \contentsline{section}{boolean\_\-generator}{\pageref{classboolean__generator}}{} -\item Bounds\-Check\item eo::CMAParams\item eo::CMAState\item eo::CMAState\-Impl\item Compiler\item Const\item \contentsline{section}{Cov}{\pageref{class_cov}}{} -\item Cov\-Matrix\item Dataset\item Data\-Set\-Impl\item differentiation\_\-error\item \contentsline{section}{d\-Matrix}{\pageref{classd_matrix}}{} -\item \contentsline{section}{eo\-Drawable$<$ Object $>$}{\pageref{classeo_drawable}}{} -\item Easy\item eo\-EPReduce$<$ EOT $>$::Cmp\item Error\-Measure\item Error\-Measure::result\item Error\-Measure\-Impl\item \contentsline{section}{eo\-Es\-Mutation\-Init}{\pageref{classeo_es_mutation_init}}{} -\item fitness\_\-traits$<$ T $>$\item fitness\_\-traits$<$ maximization $>$\item fitness\_\-traits$<$ minimization $>$\item fitness\_\-traits$<$ pair$<$ Performance, Worth $>$ $>$\item Function\item functor\_\-t\item \contentsline{section}{eo\-Functor\-Base}{\pageref{classeo_functor_base}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-BF$<$ A1, A2, R $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ Chrom \&, Chrom \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ const Dummy \&, const Dummy \&, double $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ const eo\-Pop$<$ Chrom $>$ \&, eo\-Pop$<$ Chrom $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ const eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ const eo\-Pop$<$ eo\-Vector$<$ Fit\-T, double $>$ $>$ \&, eo\-Pop$<$ eo\-Vector$<$ Fit\-T, double $>$ $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ const EOT \&, const EOT \&, double $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ double \&, const double \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ eo\-Distribution$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ eo\-Parse\-Tree$<$ FType, Node $>$ \&, eo\-Parse\-Tree$<$ FType, Node $>$ \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, unsigned, void $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ eo\-Pop$<$ Eo\-Type $>$ \&, eo\-Pop$<$ Eo\-Type $>$ \&, void $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ eo\-Pop$<$ Py\-EO $>$ \&, unsigned, void $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ EOT \&, const EOT \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ EOT \&, EOT \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ EOType \&, const EOType \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ Eo\-Type \&, const Eo\-Type \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ Eo\-Type \&, Eo\-Type \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ EOType \&, EOType \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ eo\-Virus$<$ Fit\-T $>$ \&, const eo\-Virus$<$ Fit\-T $>$ \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ External\-EO \&, const External\-EO \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ External\-EO \&, External\-EO \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ Genotype\-T \&, Genotype\-T \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ Py\-EO \&, const Py\-EO \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ Py\-EO \&, Py\-EO \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-BF$<$ unsigned, Atom \&, bool $>$}{\pageref{classeo_b_f}}{} -\item \contentsline{section}{eo\-F$<$ R $>$}{\pageref{classeo_f}}{} -\item \contentsline{section}{eo\-F$<$ bool $>$}{\pageref{classeo_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Rnd\-Generator$<$ bool $>$}{\pageref{classeo_rnd_generator}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Boolean\-Generator}{\pageref{classeo_boolean_generator}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-F$<$ eo\-Monitor \& $>$}{\pageref{classeo_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Monitor}{\pageref{classeo_monitor}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-File\-Monitor}{\pageref{classeo_file_monitor}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Gnuplot1DMonitor}{\pageref{classeo_gnuplot1_d_monitor}}{} -\end{CompactList} -\item \contentsline{section}{eo\-File\-Snapshot}{\pageref{classeo_file_snapshot}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-FDCFile\-Snapshot$<$ EOT $>$}{\pageref{classeo_f_d_c_file_snapshot}}{} -\item \contentsline{section}{eo\-Gnuplot1DSnapshot}{\pageref{classeo_gnuplot1_d_snapshot}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Stdout\-Monitor}{\pageref{classeo_stdout_monitor}}{} -\item \contentsline{section}{eo\-Timed\-Monitor}{\pageref{classeo_timed_monitor}}{} -\item Monitor\-Wrapper\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-F$<$ EOT $>$}{\pageref{classeo_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init\-Generator$<$ EOT $>$}{\pageref{classeo_init_generator}}{} -\end{CompactList} -\item \contentsline{section}{eo\-F$<$ int $>$}{\pageref{classeo_f}}{} -\begin{CompactList} -\item eo2\end{CompactList} -\item \contentsline{section}{eo\-F$<$ T $>$}{\pageref{classeo_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Rnd\-Generator$<$ T $>$}{\pageref{classeo_rnd_generator}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Neg\-Exp\-Generator$<$ T $>$}{\pageref{classeo_neg_exp_generator}}{} -\item \contentsline{section}{eo\-Normal\-Generator$<$ T $>$}{\pageref{classeo_normal_generator}}{} -\item \contentsline{section}{eo\-Uniform\-Generator$<$ T $>$}{\pageref{classeo_uniform_generator}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-F$<$ void $>$}{\pageref{classeo_f}}{} -\begin{CompactList} -\item eo1\item \contentsline{section}{eo\-Updater}{\pageref{classeo_updater}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Counted\-State\-Saver}{\pageref{classeo_counted_state_saver}}{} -\item \contentsline{section}{eo\-Dyn\-Updater}{\pageref{classeo_dyn_updater}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Counted\-Dyn\-Update}{\pageref{classeo_counted_dyn_update}}{} -\item \contentsline{section}{eo\-Timed\-Dyn\-Update}{\pageref{classeo_timed_dyn_update}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Incrementor$<$ T $>$}{\pageref{classeo_incrementor}}{} -\item \contentsline{section}{eo\-Incrementor\-Param$<$ T $>$}{\pageref{classeo_incrementor_param}}{} -\item \contentsline{section}{eo\-Time\-Counter}{\pageref{classeo_time_counter}}{} -\item \contentsline{section}{eo\-Timed\-State\-Saver}{\pageref{classeo_timed_state_saver}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ A1, R $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Perf2Worth$<$ Dummy $>$}{\pageref{classeo_perf2_worth}}{} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ bool \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ bool $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bool\-Flip}{\pageref{classeo_bool_flip}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ bool \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init$<$ bool $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Boolean\-Init}{\pageref{classeo_boolean_init}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ Chrom \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ Chrom $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bit\-Inversion$<$ Chrom $>$}{\pageref{classeo_bit_inversion}}{} -\item \contentsline{section}{eo\-Bit\-Mutation$<$ Chrom $>$}{\pageref{classeo_bit_mutation}}{} -\item \contentsline{section}{eo\-Bit\-Next$<$ Chrom $>$}{\pageref{classeo_bit_next}}{} -\item \contentsline{section}{eo\-Bit\-Prev$<$ Chrom $>$}{\pageref{classeo_bit_prev}}{} -\item eo\-Chrom\-Mutation\item eo\-Chrom\-Mutation\item \contentsline{section}{eo\-Det\-Bit\-Flip$<$ Chrom $>$}{\pageref{classeo_det_bit_flip}}{} -\item eo\-One\-Bit\-Flip\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ Chrom \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init$<$ Chrom $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item eo\-Init\-Chrom\item eo\-Init\-Chrom\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Continue$<$ EOT $>$}{\pageref{classeo_continue}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Check\-Point$<$ EOT $>$}{\pageref{classeo_check_point}}{} -\item \contentsline{section}{eo\-Combined\-Continue$<$ EOT $>$}{\pageref{classeo_combined_continue}}{} -\item \contentsline{section}{eo\-Ctrl\-CContinue$<$ EOT $>$}{\pageref{classeo_ctrl_c_continue}}{} -\item \contentsline{section}{eo\-Eval\-Continue$<$ EOT $>$}{\pageref{classeo_eval_continue}}{} -\item \contentsline{section}{eo\-Fit\-Continue$<$ EOT $>$}{\pageref{classeo_fit_continue}}{} -\item \contentsline{section}{eo\-Gen\-Continue$<$ EOT $>$}{\pageref{classeo_gen_continue}}{} -\item eo\-Periodic\-Continue\item \contentsline{section}{eo\-Steady\-Fit\-Continue$<$ EOT $>$}{\pageref{classeo_steady_fit_continue}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, const EOT \& $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Select\-One$<$ EOT, Worth\-T $>$}{\pageref{classeo_select_one}}{} -\item \contentsline{section}{eo\-Select\-One$<$ EOT $>$}{\pageref{classeo_select_one}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Best\-Select$<$ EOT $>$}{\pageref{classeo_best_select}}{} -\item eo\-Cellular\-Easy\-EA::eo\-Select\-First\-One\item \contentsline{section}{eo\-Det\-Tournament\-Select$<$ EOT $>$}{\pageref{classeo_det_tournament_select}}{} -\item \contentsline{section}{eo\-Elite\-Sequential\-Select$<$ EOT $>$}{\pageref{classeo_elite_sequential_select}}{} -\item \contentsline{section}{eo\-No\-Select$<$ EOT $>$}{\pageref{classeo_no_select}}{} -\item \contentsline{section}{eo\-Proportional\-Select$<$ EOT $>$}{\pageref{classeo_proportional_select}}{} -\item \contentsline{section}{eo\-Random\-Select$<$ EOT $>$}{\pageref{classeo_random_select}}{} -\item \contentsline{section}{eo\-Select\-From\-Worth$<$ EOT, Worth\-Type $>$}{\pageref{classeo_select_from_worth}}{} -\item \contentsline{section}{eo\-Select\-From\-Worth$<$ EOT, double $>$}{\pageref{classeo_select_from_worth}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Roulette\-Worth\-Select$<$ EOT, double $>$}{\pageref{classeo_roulette_worth_select}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Fitness\-Scaling\-Select$<$ EOT $>$}{\pageref{classeo_fitness_scaling_select}}{} -\item \contentsline{section}{eo\-Ranking\-Select$<$ EOT $>$}{\pageref{classeo_ranking_select}}{} -\item \contentsline{section}{eo\-Sharing\-Select$<$ EOT $>$}{\pageref{classeo_sharing_select}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-Select\-From\-Worth$<$ EOT, Worth\-T $>$}{\pageref{classeo_select_from_worth}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Det\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$}{\pageref{classeo_det_tournament_worth_select}}{} -\item \contentsline{section}{eo\-Roulette\-Worth\-Select$<$ EOT, Worth\-T $>$}{\pageref{classeo_roulette_worth_select}}{} -\item \contentsline{section}{eo\-Stoch\-Tournament\-Worth\-Select$<$ EOT, Worth\-T $>$}{\pageref{classeo_stoch_tournament_worth_select}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Sequential\-Select$<$ EOT $>$}{\pageref{classeo_sequential_select}}{} -\item \contentsline{section}{eo\-Stochastic\-Universal\-Select$<$ EOT $>$}{\pageref{classeo_stochastic_universal_select}}{} -\item \contentsline{section}{eo\-Stoch\-Tournament\-Select$<$ EOT $>$}{\pageref{classeo_stoch_tournament_select}}{} -\item \contentsline{section}{eo\-Truncated\-Select\-One$<$ EOT $>$}{\pageref{classeo_truncated_select_one}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Perf2Worth$<$ EOT, Worth\-T $>$}{\pageref{classeo_perf2_worth}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$}{\pageref{classeo_perf2_worth_cached}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Perf2Worth$<$ EOT $>$}{\pageref{classeo_perf2_worth}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Linear\-Fit\-Scaling$<$ EOT $>$}{\pageref{classeo_linear_fit_scaling}}{} -\item \contentsline{section}{eo\-Ranking$<$ EOT $>$}{\pageref{classeo_ranking}}{} -\item \contentsline{section}{eo\-Sharing$<$ EOT $>$}{\pageref{classeo_sharing}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Perf2Worth$<$ EOT, double $>$}{\pageref{classeo_perf2_worth}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Perf2Worth\-Cached$<$ EOT, double $>$}{\pageref{classeo_perf2_worth_cached}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-NDSorting$<$ EOT $>$}{\pageref{classeo_n_d_sorting}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-NDSorting\_\-I$<$ EOT $>$}{\pageref{classeo_n_d_sorting___i}}{} -\item \contentsline{section}{eo\-NDSorting\_\-II$<$ EOT $>$}{\pageref{classeo_n_d_sorting___i_i}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Pareto\-Ranking$<$ EOT $>$}{\pageref{classeo_pareto_ranking}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-Perf2Worth$<$ EOT, EOT::Fitness $>$}{\pageref{classeo_perf2_worth}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-No\-Perf2Worth$<$ EOT $>$}{\pageref{classeo_no_perf2_worth}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Stat\-Base$<$ EOT $>$}{\pageref{classeo_stat_base}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Stat$<$ EOT, T $>$}{\pageref{classeo_stat}}{} -\item \contentsline{section}{eo\-Stat$<$ EOT, double $>$}{\pageref{classeo_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Assembled\-Fitness\-Average\-Stat$<$ EOT $>$}{\pageref{classeo_assembled_fitness_average_stat}}{} -\item \contentsline{section}{eo\-Assembled\-Fitness\-Best\-Stat$<$ EOT $>$}{\pageref{classeo_assembled_fitness_best_stat}}{} -\item eo\-Distance\-Stat\item \contentsline{section}{eo\-FDCStat$<$ EOT $>$}{\pageref{classeo_f_d_c_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Stat$<$ EOT, EOT::Fitness $>$}{\pageref{classeo_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Average\-Stat$<$ EOT $>$}{\pageref{classeo_average_stat}}{} -\item \contentsline{section}{eo\-Best\-Fitness\-Stat$<$ EOT $>$}{\pageref{classeo_best_fitness_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Stat$<$ EOT, std::pair$<$ double, double $>$ $>$}{\pageref{classeo_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Second\-Moment\-Stats$<$ EOT $>$}{\pageref{classeo_second_moment_stats}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Stat$<$ EOT, std::string $>$}{\pageref{classeo_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Pop\-Stat$<$ EOT $>$}{\pageref{classeo_pop_stat}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ Eo\-Type $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Dominance\-Map$<$ Eo\-Type $>$}{\pageref{classeo_dominance_map}}{} -\item \contentsline{section}{eo\-Stat\-Base$<$ Eo\-Type $>$}{\pageref{classeo_stat_base}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Stat$<$ Eo\-Type, double $>$}{\pageref{classeo_stat}}{} -\begin{CompactList} -\item Average\-Size\-Stat\end{CompactList} -\item \contentsline{section}{eo\-Stat$<$ Eo\-Type, unsigned $>$}{\pageref{classeo_stat}}{} -\begin{CompactList} -\item Dag\-Size\-Stat\item Sum\-Size\-Stat\end{CompactList} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ Py\-EO $>$ \&, const Py\-EO \& $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Select\-One$<$ Py\-EO $>$}{\pageref{classeo_select_one}}{} -\begin{CompactList} -\item eo\-Select\-One\-Wrapper\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ Py\-EO $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Perf2Worth$<$ Py\-EO $>$}{\pageref{classeo_perf2_worth}}{} -\item \contentsline{section}{eo\-Perf2Worth$<$ Py\-EO, double $>$}{\pageref{classeo_perf2_worth}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Perf2Worth\-Cached$<$ Py\-EO, double $>$}{\pageref{classeo_perf2_worth_cached}}{} -\begin{CompactList} -\item Cached\-Perf2Worth\-Wrapper\end{CompactList} -\item Perf2Worth\-Wrapper\end{CompactList} -\item \contentsline{section}{eo\-Stat\-Base$<$ Py\-EO $>$}{\pageref{classeo_stat_base}}{} -\begin{CompactList} -\item Stat\-Base\-Wrapper\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const std::vector$<$ const EOT $\ast$ $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat\-Base$<$ EOT $>$}{\pageref{classeo_sorted_stat_base}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, Param\-Type $>$}{\pageref{classeo_sorted_stat}}{} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, EOT::Fitness $>$}{\pageref{classeo_sorted_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Nth\-Element\-Fitness\-Stat$<$ EOT $>$}{\pageref{classeo_nth_element_fitness_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, std::string $>$}{\pageref{classeo_sorted_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Pop\-Stat$<$ EOT $>$}{\pageref{classeo_sorted_pop_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, std::vector$<$ double $>$ $>$}{\pageref{classeo_sorted_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Scalar\-Fitness\-Stat$<$ EOT, Fit\-T $>$}{\pageref{classeo_scalar_fitness_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, std::vector$<$ Fit\-T $>$ $>$}{\pageref{classeo_sorted_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Fitness\-Stat$<$ EOT, Fit\-T $>$}{\pageref{classeo_fitness_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, std::vector$<$ Part\-Fit\-T $>$ $>$}{\pageref{classeo_sorted_stat}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-MOFitness\-Stat$<$ EOT, Part\-Fit\-T $>$}{\pageref{classeo_m_o_fitness_stat}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const std::vector$<$ const Eo\-Type $\ast$ $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat\-Base$<$ Eo\-Type $>$}{\pageref{classeo_sorted_stat_base}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ Eo\-Type, string $>$}{\pageref{classeo_sorted_stat}}{} -\begin{CompactList} -\item eo\-Best\-Individual\-Stat\end{CompactList} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ const std::vector$<$ const Py\-EO $\ast$ $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat\-Base$<$ Py\-EO $>$}{\pageref{classeo_sorted_stat_base}}{} -\begin{CompactList} -\item Sorted\-Stat\-Base\-Wrapper\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Distribution$<$ EOT $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-EDA$<$ EOT $>$}{\pageref{classeo_e_d_a}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Simple\-EDA$<$ EOT $>$}{\pageref{classeo_simple_e_d_a}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Double \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ eo\-Double $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item Mutate\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Double \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Eval\-Func$<$ eo\-Double $>$}{\pageref{classeo_eval_func}}{} -\begin{CompactList} -\item Eval\end{CompactList} -\item \contentsline{section}{eo\-Init$<$ eo\-Double $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item Init\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Parse\-Tree$<$ Fitness\-Type, Node $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Eval\-Func$<$ eo\-Parse\-Tree$<$ Fitness\-Type, Node $>$ $>$}{\pageref{classeo_eval_func}}{} -\begin{CompactList} -\item Reg\-Fitness\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Parse\-Tree$<$ FType, Node $>$ \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ eo\-Parse\-Tree$<$ FType, Node $>$ $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Branch\-Mutation$<$ FType, Node $>$}{\pageref{classeo_branch_mutation}}{} -\item \contentsline{section}{eo\-Collapse\-Subtree\-Mutation$<$ FType, Node $>$}{\pageref{classeo_collapse_subtree_mutation}}{} -\item \contentsline{section}{eo\-Expansion\-Mutation$<$ FType, Node $>$}{\pageref{classeo_expansion_mutation}}{} -\item \contentsline{section}{eo\-Hoist\-Mutation$<$ FType, Node $>$}{\pageref{classeo_hoist_mutation}}{} -\item \contentsline{section}{eo\-Point\-Mutation$<$ FType, Node $>$}{\pageref{classeo_point_mutation}}{} -\item \contentsline{section}{eo\-St\-Branch\-Mutation$<$ FType, Node $>$}{\pageref{classeo_st_branch_mutation}}{} -\item \contentsline{section}{eo\-St\-Hoist\-Mutation$<$ FType, Node $>$}{\pageref{classeo_st_hoist_mutation}}{} -\item \contentsline{section}{eo\-St\-Point\-Mutation$<$ FType, Node $>$}{\pageref{classeo_st_point_mutation}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Parse\-Tree$<$ FType, Node $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Eval\-Func$<$ eo\-Parse\-Tree$<$ FType, Node $>$ $>$}{\pageref{classeo_eval_func}}{} -\begin{CompactList} -\item RMS\end{CompactList} -\item \contentsline{section}{eo\-Init$<$ eo\-Parse\-Tree$<$ FType, Node $>$ $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$}{\pageref{classeo_parse_tree_depth_init}}{} -\item \contentsline{section}{eo\-St\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$}{\pageref{classeo_st_parse_tree_depth_init}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Algo$<$ EOT $>$}{\pageref{classeo_algo}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Cellular\-Easy\-EA$<$ EOT $>$}{\pageref{classeo_cellular_easy_e_a}}{} -\item \contentsline{section}{eo\-Easy\-EA$<$ EOT $>$}{\pageref{classeo_easy_e_a}}{} -\item \contentsline{section}{eo\-SGA$<$ EOT $>$}{\pageref{classeo_s_g_a}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Pop\-Algo$<$ EOT $>$}{\pageref{classeo_pop_algo}}{} -\item \contentsline{section}{eo\-Transform$<$ EOT $>$}{\pageref{classeo_transform}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Dyn\-SGATransform$<$ EOT $>$}{\pageref{classeo_dyn_s_g_a_transform}}{} -\item eo\-Easy\-EA::eo\-Dummy\-Transform\item \contentsline{section}{eo\-SGATransform$<$ EOT $>$}{\pageref{classeo_s_g_a_transform}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Populator$<$ EOT $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Gen\-Op$<$ EOT $>$}{\pageref{classeo_gen_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Gen\-Op$<$ EOT $>$}{\pageref{classeo_bin_gen_op}}{} -\item \contentsline{section}{eo\-Es\-Global\-Xover$<$ EOT $>$}{\pageref{classeo_es_global_xover}}{} -\item \contentsline{section}{eo\-Mon\-Gen\-Op$<$ EOT $>$}{\pageref{classeo_mon_gen_op}}{} -\item \contentsline{section}{eo\-Op\-Container$<$ EOT $>$}{\pageref{classeo_op_container}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Proportional\-Op$<$ EOT $>$}{\pageref{classeo_proportional_op}}{} -\item \contentsline{section}{eo\-Sequential\-Op$<$ EOT $>$}{\pageref{classeo_sequential_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Prop\-GAGen\-Op$<$ EOT $>$}{\pageref{classeo_prop_g_a_gen_op}}{} -\item \contentsline{section}{eo\-Quad\-Gen\-Op$<$ EOT $>$}{\pageref{classeo_quad_gen_op}}{} -\item \contentsline{section}{eo\-Sel\-Bin\-Gen\-Op$<$ EOT $>$}{\pageref{classeo_sel_bin_gen_op}}{} -\item \contentsline{section}{eo\-SGAGen\-Op$<$ EOT $>$}{\pageref{classeo_s_g_a_gen_op}}{} -\item one2three\-Op\item three2three\-Op\item two2one\-Op\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Populator$<$ Py\-EO $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Gen\-Op$<$ Py\-EO $>$}{\pageref{classeo_gen_op}}{} -\begin{CompactList} -\item Gen\-Op\-Wrapper\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ EOT \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ EOT $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Det\-Uniform\-Mutation$<$ EOT $>$}{\pageref{classeo_det_uniform_mutation}}{} -\item \contentsline{section}{eo\-Es\-Mutate$<$ EOT $>$}{\pageref{classeo_es_mutate}}{} -\item \contentsline{section}{eo\-Fl\-Or\-All\-Mutation$<$ EOT $>$}{\pageref{classeo_fl_or_all_mutation}}{} -\item \contentsline{section}{eo\-Fl\-Or\-KMutation$<$ EOT $>$}{\pageref{classeo_fl_or_k_mutation}}{} -\item \contentsline{section}{eo\-Init\-Adaptor$<$ EOT $>$}{\pageref{classeo_init_adaptor}}{} -\item \contentsline{section}{eo\-Invalidate\-Mon\-Op$<$ EOT $>$}{\pageref{classeo_invalidate_mon_op}}{} -\item \contentsline{section}{eo\-Mon\-Clone\-Op$<$ EOT $>$}{\pageref{classeo_mon_clone_op}}{} -\item \contentsline{section}{eo\-Normal\-Mutation$<$ EOT $>$}{\pageref{classeo_normal_mutation}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-One\-Fifth\-Mutation$<$ EOT $>$}{\pageref{classeo_one_fifth_mutation}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Normal\-Vec\-Mutation$<$ EOT $>$}{\pageref{classeo_normal_vec_mutation}}{} -\item \contentsline{section}{eo\-Prop\-Combined\-Mon\-Op$<$ EOT $>$}{\pageref{classeo_prop_combined_mon_op}}{} -\item \contentsline{section}{eo\-Uniform\-Mutation$<$ EOT $>$}{\pageref{classeo_uniform_mutation}}{} -\item \contentsline{section}{eo\-Vl\-Add\-Mutation$<$ EOT $>$}{\pageref{classeo_vl_add_mutation}}{} -\item \contentsline{section}{eo\-Vl\-Del\-Mutation$<$ EOT $>$}{\pageref{classeo_vl_del_mutation}}{} -\item monop\item Mutate\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ EOT \&, unsigned int $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Gene\-Del\-Chooser$<$ EOT $>$}{\pageref{classeo_gene_del_chooser}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Uniform\-Gene\-Chooser$<$ EOT $>$}{\pageref{classeo_uniform_gene_chooser}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ EOT \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Eval\-Func$<$ EOT $>$}{\pageref{classeo_eval_func}}{} -\begin{CompactList} -\item eo\-Assembled\-Eval\-Func\item eo\-Easy\-EA::eo\-Dummy\-Eval\item \contentsline{section}{eo\-Eval\-Func\-Counter$<$ EOT $>$}{\pageref{classeo_eval_func_counter}}{} -\item \contentsline{section}{eo\-Eval\-Func\-Ptr$<$ EOT, Fit\-T, Function\-Arg $>$}{\pageref{structeo_eval_func_ptr}}{} -\item eo\-My\-Eval\item \contentsline{section}{eo\-One\-Max\-Eval\-Func$<$ EOT $>$}{\pageref{classeo_one_max_eval_func}}{} -\item Royal\-Road\end{CompactList} -\item \contentsline{section}{eo\-Init$<$ EOT $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Combined\-Init$<$ EOT $>$}{\pageref{classeo_combined_init}}{} -\item \contentsline{section}{eo\-Distribution$<$ EOT $>$}{\pageref{classeo_distribution}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-PBILDistrib$<$ EOT $>$}{\pageref{classeo_p_b_i_l_distrib}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Init\-Fixed\-Length$<$ EOT $>$}{\pageref{classeo_init_fixed_length}}{} -\item \contentsline{section}{eo\-Init\-Variable\-Length$<$ EOT $>$}{\pageref{classeo_init_variable_length}}{} -\item \contentsline{section}{eo\-Real\-Init\-Bounded$<$ EOT $>$}{\pageref{classeo_real_init_bounded}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Es\-Chrom\-Init$<$ EOT $>$}{\pageref{classeo_es_chrom_init}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ Eo\-Type \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ Eo\-Type $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item eo\-Sym\-Constant\-Mutate\item eo\-Sym\-Lambda\-Mutate\item eo\-Sym\-Node\-Mutate\item eo\-Sym\-Subtree\-Mutate\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ EOType \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ EOType $>$}{\pageref{classeo_mon_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ Eo\-Type \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init$<$ Eo\-Type $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sym\-Init$<$ Eo\-Type $>$}{\pageref{classeo_sym_init}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Vector$<$ Fit\-T, double $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init$<$ eo\-Vector$<$ Fit\-T, double $>$ $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-CMAInit$<$ Fit\-T $>$}{\pageref{classeo_c_m_a_init}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Virus$<$ Fit\-T $>$ \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ eo\-Virus$<$ Fit\-T $>$ $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item \contentsline{section}{Virus\-Bit\-Flip$<$ Fit\-T $>$}{\pageref{class_virus_bit_flip}}{} -\item Virus\-Mutation\item \contentsline{section}{Virus\-Shift\-Mutation$<$ Fit\-T $>$}{\pageref{class_virus_shift_mutation}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Virus$<$ Fit\-T $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init$<$ eo\-Virus$<$ Fit\-T $>$ $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init\-Virus$<$ Fit\-T $>$}{\pageref{classeo_init_virus}}{} -\item \contentsline{section}{eo\-Init\-Virus1bit$<$ Fit\-T $>$}{\pageref{classeo_init_virus1bit}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ External\-EO \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ External\-EO $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-External\-Mon\-Op$<$ F, External, External\-EO $>$}{\pageref{classeo_external_mon_op}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ External\-EO \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Eval\-Func$<$ External\-EO $>$}{\pageref{classeo_eval_func}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-External\-Eval\-Func$<$ F, External, External\-EO $>$}{\pageref{classeo_external_eval_func}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Init$<$ External\-EO $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-External\-Init$<$ F, External, External\-EO $>$}{\pageref{classeo_external_init}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ Genotype\-T \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ Genotype\-T $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-One\-Max\-Mutation$<$ Genotype\-T $>$}{\pageref{classeo_one_max_mutation}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ Genotype\-T \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init$<$ Genotype\-T $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-One\-Max\-Init$<$ Genotype\-T $>$}{\pageref{classeo_one_max_init}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ int \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init$<$ int $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item Tester\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ Py\-EO \&, bool $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ Py\-EO $>$}{\pageref{classeo_mon_op}}{} -\begin{CompactList} -\item Mon\-Op\-Wrapper\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-UF$<$ T \&, void $>$}{\pageref{classeo_u_f}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Init$<$ T $>$}{\pageref{classeo_init}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Neg\-Exp\-Init$<$ T $>$}{\pageref{classeo_neg_exp_init}}{} -\item \contentsline{section}{eo\-Normal\-Init$<$ T $>$}{\pageref{classeo_normal_init}}{} -\item \contentsline{section}{eo\-Uniform\-Init$<$ T $>$}{\pageref{classeo_uniform_init}}{} -\end{CompactList} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-Functor\-Base::binary\_\-function\_\-tag}{\pageref{structeo_functor_base_1_1binary__function__tag}}{} -\item \contentsline{section}{eo\-Functor\-Base::procedure\_\-tag}{\pageref{structeo_functor_base_1_1procedure__tag}}{} -\item \contentsline{section}{eo\-Functor\-Base::unary\_\-function\_\-tag}{\pageref{structeo_functor_base_1_1unary__function__tag}}{} -\item \contentsline{section}{eo\-Functor\-Store}{\pageref{classeo_functor_store}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-State}{\pageref{classeo_state}}{} -\end{CompactList} -\item Fun\-Def\item \contentsline{section}{eo\-Gnuplot}{\pageref{classeo_gnuplot}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Gnuplot1DMonitor}{\pageref{classeo_gnuplot1_d_monitor}}{} -\item \contentsline{section}{eo\-Gnuplot1DSnapshot}{\pageref{classeo_gnuplot1_d_snapshot}}{} -\end{CompactList} -\item Hash\-Double\item Hash\-Sym\item index\_\-error\item interval\_\-error\item Interval\-Bounds\-Check\item Interval\-Bounds\-Check\-Impl\item Inv\item Is\-Neg\item Lambda\item Language\-Impl\item Language\-Table\item mlp::layer\item qp::layer\item Linear\-Scaling\item lower\_\-triangular\_\-matrix\item maximization\item Mean\item \contentsline{section}{Mem\-Pool}{\pageref{class_mem_pool}}{} -\item \contentsline{section}{gp\_\-parse\_\-tree::Mem\-Pool}{\pageref{classgp__parse__tree_1_1_mem_pool}}{} -\item Mem\-Pool::Chunk\item gp\_\-parse\_\-tree::Mem\-Pool::Chunk\item Mem\-Pool::Link\item gp\_\-parse\_\-tree::Mem\-Pool::Link\item Min\item minimization\item Multi\-Function\item Multi\-Function\-Impl\item My\-Node\-Stats\item eo\-NDPlus\-Replacement$<$ EOT, Worth\-T $>$::Worth\-Pair\item eo\-NDSorting$<$ EOT $>$::Sorter\item eo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes\item \contentsline{section}{negexp\_\-generator$<$ T $>$}{\pageref{classnegexp__generator}}{} -\item mlp::net\item l2::net\item mse::net\item qp::net\item qp::neuron\item mlp::neuron\item No\-Bounds\-Check\item Node\item Node\_\-alloc$<$ T $>$\item gp\_\-parse\_\-tree::Node\_\-alloc$<$ T $>$\item \contentsline{section}{Node\-Selector}{\pageref{class_node_selector}}{} -\begin{CompactList} -\item \contentsline{section}{Biased\-Node\-Selector}{\pageref{class_biased_node_selector}}{} -\item \contentsline{section}{Random\-Node\-Selector}{\pageref{class_random_node_selector}}{} -\end{CompactList} -\item Node\-Selector::Node\-Selection\item \contentsline{section}{normal\_\-generator$<$ T $>$}{\pageref{classnormal__generator}}{} -\item No\-Scaling\item eo\-Nth\-Element\-Fitness\-Stat$<$ EOT $>$::Cmp\-Fitness\item \contentsline{section}{eo\-Object}{\pageref{classeo_object}}{} -\begin{CompactList} -\item \contentsline{section}{EO$<$ F $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ double $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item \contentsline{section}{Dummy}{\pageref{struct_dummy}}{} -\item \contentsline{section}{Dummy}{\pageref{struct_dummy}}{} -\item \contentsline{section}{Dummy}{\pageref{struct_dummy}}{} -\item \contentsline{section}{Dummy}{\pageref{struct_dummy}}{} -\item \contentsline{section}{Dummy}{\pageref{struct_dummy}}{} -\item \contentsline{section}{Dummy}{\pageref{struct_dummy}}{} -\item Test\-EO\end{CompactList} -\item \contentsline{section}{EO$<$ EOT::Fitness $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-NDSorting$<$ EOT $>$::Dummy\-EO}{\pageref{classeo_n_d_sorting_1_1_dummy_e_o}}{} -\end{CompactList} -\item \contentsline{section}{EO$<$ Fit $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-External\-EO$<$ Fit, External $>$}{\pageref{classeo_external_e_o}}{} -\item \contentsline{section}{eo\-Vector$<$ Fit, double $>$}{\pageref{classeo_vector}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Es\-Full$<$ Fit $>$}{\pageref{classeo_es_full}}{} -\item \contentsline{section}{eo\-Es\-Simple$<$ Fit $>$}{\pageref{classeo_es_simple}}{} -\item \contentsline{section}{eo\-Es\-Stdev$<$ Fit $>$}{\pageref{classeo_es_stdev}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{EO$<$ Fitness $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item Eo\-Sym\end{CompactList} -\item \contentsline{section}{EO$<$ fitness\_\-type $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item eo\-Double\end{CompactList} -\item \contentsline{section}{EO$<$ fitness\-T $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-String$<$ fitness\-T $>$}{\pageref{classeo_string}}{} -\end{CompactList} -\item \contentsline{section}{EO$<$ Fit\-T $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-One\-Max$<$ Fit\-T $>$}{\pageref{classeo_one_max}}{} -\item \contentsline{section}{eo\-Vector$<$ Fit\-T, Gene\-Type $>$}{\pageref{classeo_vector}}{} -\item \contentsline{section}{eo\-Vector$<$ Fit\-T, bool $>$}{\pageref{classeo_vector}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bit$<$ Fit\-T $>$}{\pageref{classeo_bit}}{} -\begin{CompactList} -\item eo\-Virus\end{CompactList} -\end{CompactList} -\item \contentsline{section}{eo\-Vector$<$ Fit\-T, double $>$}{\pageref{classeo_vector}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Real$<$ Fit\-T $>$}{\pageref{classeo_real}}{} -\end{CompactList} -\end{CompactList} -\item \contentsline{section}{EO$<$ FType $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Parse\-Tree$<$ FType, Node $>$}{\pageref{classeo_parse_tree}}{} -\end{CompactList} -\item \contentsline{section}{EO$<$ phenotype $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item Chrom\end{CompactList} -\item \contentsline{section}{EO$<$ Py\-Fitness $>$}{\pageref{class_e_o}}{} -\begin{CompactList} -\item Py\-EO\end{CompactList} -\item \contentsline{section}{eo\-Distribution$<$ EOT $>$}{\pageref{classeo_distribution}}{} -\item \contentsline{section}{eo\-Factory$<$ EOClass $>$}{\pageref{classeo_factory}}{} -\item \contentsline{section}{eo\-Factory$<$ eo\-Op\-Selector$<$ eo\-Class $>$ $>$}{\pageref{classeo_factory}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Op\-Sel\-Mason$<$ eo\-Class $>$}{\pageref{classeo_op_sel_mason}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Factory$<$ eo\-Select$<$ EOT $>$ $>$}{\pageref{classeo_factory}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Select\-Factory$<$ EOT $>$}{\pageref{classeo_select_factory}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Factory$<$ EOT $>$}{\pageref{classeo_factory}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bit\-Op\-Factory$<$ EOT $>$}{\pageref{classeo_bit_op_factory}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Parser}{\pageref{classeo_parser}}{} -\item \contentsline{section}{eo\-Pop$<$ EOT $>$}{\pageref{classeo_pop}}{} -\item \contentsline{section}{eo\-Pop$<$ Dummy $>$}{\pageref{classeo_pop}}{} -\begin{CompactList} -\item eo\-Dummy\-Pop\item eo\-Dummy\-Pop\item eo\-Dummy\-Pop\item eo\-Dummy\-Pop\end{CompactList} -\item \contentsline{section}{eo\-Pop$<$ Py\-EO $>$}{\pageref{classeo_pop}}{} -\item \contentsline{section}{eo\-Rng}{\pageref{classeo_rng}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ EOType $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ EOType $>$}{\pageref{classeo_bin_op}}{} -\item \contentsline{section}{eo\-Mon\-Op$<$ EOType $>$}{\pageref{classeo_mon_op}}{} -\item \contentsline{section}{eo\-Quad\-Op$<$ EOType $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ bool $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ bool $>$}{\pageref{classeo_mon_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ Chrom $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ Chrom $>$}{\pageref{classeo_mon_op}}{} -\item \contentsline{section}{eo\-Quad\-Op$<$ Chrom $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ double $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ double $>$}{\pageref{classeo_bin_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ eo\-Double $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ eo\-Double $>$}{\pageref{classeo_mon_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ eo\-Parse\-Tree$<$ FType, Node $>$ $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ eo\-Parse\-Tree$<$ FType, Node $>$ $>$}{\pageref{classeo_mon_op}}{} -\item \contentsline{section}{eo\-Quad\-Op$<$ eo\-Parse\-Tree$<$ FType, Node $>$ $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ EOT $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ EOT $>$}{\pageref{classeo_bin_op}}{} -\item \contentsline{section}{eo\-Gen\-Op$<$ EOT $>$}{\pageref{classeo_gen_op}}{} -\item \contentsline{section}{eo\-Mon\-Op$<$ EOT $>$}{\pageref{classeo_mon_op}}{} -\item \contentsline{section}{eo\-Quad\-Op$<$ EOT $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ Eo\-Type $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ Eo\-Type $>$}{\pageref{classeo_bin_op}}{} -\item \contentsline{section}{eo\-Mon\-Op$<$ Eo\-Type $>$}{\pageref{classeo_mon_op}}{} -\item \contentsline{section}{eo\-Quad\-Op$<$ Eo\-Type $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ eo\-Virus$<$ Fit\-T $>$ $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ eo\-Virus$<$ Fit\-T $>$ $>$}{\pageref{classeo_bin_op}}{} -\item \contentsline{section}{eo\-Mon\-Op$<$ eo\-Virus$<$ Fit\-T $>$ $>$}{\pageref{classeo_mon_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ External\-EO $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ External\-EO $>$}{\pageref{classeo_bin_op}}{} -\item \contentsline{section}{eo\-Mon\-Op$<$ External\-EO $>$}{\pageref{classeo_mon_op}}{} -\item \contentsline{section}{eo\-Quad\-Op$<$ External\-EO $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ Genotype\-T $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Mon\-Op$<$ Genotype\-T $>$}{\pageref{classeo_mon_op}}{} -\item \contentsline{section}{eo\-Quad\-Op$<$ Genotype\-T $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Op$<$ Py\-EO $>$}{\pageref{classeo_op}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Bin\-Op$<$ Py\-EO $>$}{\pageref{classeo_bin_op}}{} -\item \contentsline{section}{eo\-Gen\-Op$<$ Py\-EO $>$}{\pageref{classeo_gen_op}}{} -\item \contentsline{section}{eo\-Mon\-Op$<$ Py\-EO $>$}{\pageref{classeo_mon_op}}{} -\item \contentsline{section}{eo\-Quad\-Op$<$ Py\-EO $>$}{\pageref{classeo_quad_op}}{} -\end{CompactList} -\item Operation\item \contentsline{section}{eo\-Param}{\pageref{classeo_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ Value\-Type $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Perf2Worth$<$ EOT, EOT::Fitness $>$}{\pageref{classeo_perf2_worth}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ double $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Stat$<$ EOT, double $>$}{\pageref{classeo_stat}}{} -\item \contentsline{section}{eo\-Stat$<$ Eo\-Type, double $>$}{\pageref{classeo_stat}}{} -\item \contentsline{section}{eo\-Time\-Counter}{\pageref{classeo_time_counter}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ EOT::Fitness $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, EOT::Fitness $>$}{\pageref{classeo_sorted_stat}}{} -\item \contentsline{section}{eo\-Stat$<$ EOT, EOT::Fitness $>$}{\pageref{classeo_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ Param\-Type $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, Param\-Type $>$}{\pageref{classeo_sorted_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ std::pair$<$ double, double $>$ $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Stat$<$ EOT, std::pair$<$ double, double $>$ $>$}{\pageref{classeo_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ std::string $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, std::string $>$}{\pageref{classeo_sorted_stat}}{} -\item \contentsline{section}{eo\-Stat$<$ EOT, std::string $>$}{\pageref{classeo_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ std::vector$<$ double $>$ $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-PBILDistrib$<$ EOT $>$}{\pageref{classeo_p_b_i_l_distrib}}{} -\item \contentsline{section}{eo\-Perf2Worth$<$ Dummy $>$}{\pageref{classeo_perf2_worth}}{} -\item \contentsline{section}{eo\-Perf2Worth$<$ EOT $>$}{\pageref{classeo_perf2_worth}}{} -\item \contentsline{section}{eo\-Perf2Worth$<$ EOT, double $>$}{\pageref{classeo_perf2_worth}}{} -\item \contentsline{section}{eo\-Perf2Worth$<$ Py\-EO $>$}{\pageref{classeo_perf2_worth}}{} -\item \contentsline{section}{eo\-Perf2Worth$<$ Py\-EO, double $>$}{\pageref{classeo_perf2_worth}}{} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, std::vector$<$ double $>$ $>$}{\pageref{classeo_sorted_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ std::vector$<$ Fit\-T $>$ $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, std::vector$<$ Fit\-T $>$ $>$}{\pageref{classeo_sorted_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ std::vector$<$ Part\-Fit\-T $>$ $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ EOT, std::vector$<$ Part\-Fit\-T $>$ $>$}{\pageref{classeo_sorted_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Perf2Worth$<$ EOT, Worth\-T $>$}{\pageref{classeo_perf2_worth}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ string $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Sorted\-Stat$<$ Eo\-Type, string $>$}{\pageref{classeo_sorted_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ T $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Incrementor\-Param$<$ T $>$}{\pageref{classeo_incrementor_param}}{} -\item \contentsline{section}{eo\-Stat$<$ EOT, T $>$}{\pageref{classeo_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ unsigned $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Gen\-Continue$<$ EOT $>$}{\pageref{classeo_gen_continue}}{} -\item \contentsline{section}{eo\-Stat$<$ Eo\-Type, unsigned $>$}{\pageref{classeo_stat}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Value\-Param$<$ unsigned long $>$}{\pageref{classeo_value_param}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Binary\-Functor\-Counter$<$ Binary\-Functor $>$}{\pageref{classeo_binary_functor_counter}}{} -\item \contentsline{section}{eo\-Eval\-Func\-Counter$<$ EOT $>$}{\pageref{classeo_eval_func_counter}}{} -\item \contentsline{section}{eo\-Procedure\-Counter$<$ Procedure $>$}{\pageref{classeo_procedure_counter}}{} -\item \contentsline{section}{eo\-Unary\-Functor\-Counter$<$ Unary\-Functor $>$}{\pageref{classeo_unary_functor_counter}}{} -\end{CompactList} -\item Param\-Wrapper\item Value\-Param\end{CompactList} -\item \contentsline{section}{eo\-Parameter\-Loader}{\pageref{classeo_parameter_loader}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Parser}{\pageref{classeo_parser}}{} -\end{CompactList} -\item Parameters\item \contentsline{section}{eo\-Param\-Param\-Type}{\pageref{classeo_param_param_type}}{} -\item \contentsline{section}{eo\-Pareto\-Fitness$<$ Fitness\-Traits $>$}{\pageref{classeo_pareto_fitness}}{} -\item \contentsline{section}{eo\-Pareto\-Fitness\-Traits}{\pageref{classeo_pareto_fitness_traits}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Variable\-Pareto\-Traits}{\pageref{classeo_variable_pareto_traits}}{} -\item Minimizing\-Fitness\-Traits\item Minimizing\-Fitness\-Traits\item \contentsline{section}{Minimizing\-Traits}{\pageref{class_minimizing_traits}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Pareto\-One\-Constraint\-Fitness$<$ Fitness\-Traits $>$}{\pageref{classeo_pareto_one_constraint_fitness}}{} -\item gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$\item gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::base\_\-const\_\-iterator\item gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::base\_\-iterator\item gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::const\_\-iterator\item gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::embedded\_\-const\_\-iterator\item gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::embedded\_\-iterator\item gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::iterator\item gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::subtree\item eo\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$::lt\_\-arity\item \contentsline{section}{eo\-Perf2Worth$<$ EOT, Worth\-T $>$::compare\_\-worth}{\pageref{classeo_perf2_worth_1_1compare__worth}}{} -\item \contentsline{section}{eo\-Perf2Worth\-Cached$<$ EOT, Worth\-T $>$::compare\_\-worth}{\pageref{classeo_perf2_worth_cached_1_1compare__worth}}{} -\item phenotype\item Pipe\-Communication\item \contentsline{section}{eo\-Pop$<$ EOT $>$::Cmp}{\pageref{structeo_pop_1_1_cmp}}{} -\item eo\-Pop$<$ EOT $>$::Get\-Fitness\item \contentsline{section}{eo\-Pop$<$ EOT $>$::Ref}{\pageref{structeo_pop_1_1_ref}}{} -\item \contentsline{section}{eo\-Populator$<$ EOT $>$}{\pageref{classeo_populator}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Selective\-Populator$<$ EOT $>$}{\pageref{classeo_selective_populator}}{} -\item \contentsline{section}{eo\-Seq\-Populator$<$ EOT $>$}{\pageref{classeo_seq_populator}}{} -\end{CompactList} -\item eo\-Populator$<$ EOT $>$::Out\-Of\-Individuals\item \contentsline{section}{eo\-Populator$<$ Py\-EO $>$}{\pageref{classeo_populator}}{} -\begin{CompactList} -\item Populator\-Wrapper\end{CompactList} -\item Power\item \contentsline{section}{eo\-Printable}{\pageref{classeo_printable}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Persistent}{\pageref{classeo_persistent}}{} -\begin{CompactList} -\item \contentsline{section}{EO$<$ F $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ double $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ EOT::Fitness $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ Fit $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ Fitness $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ fitness\_\-type $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ fitness\-T $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ Fit\-T $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ FType $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ phenotype $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{EO$<$ Py\-Fitness $>$}{\pageref{class_e_o}}{} -\item \contentsline{section}{eo\-Continue$<$ EOT $>$}{\pageref{classeo_continue}}{} -\item \contentsline{section}{eo\-Distribution$<$ EOT $>$}{\pageref{classeo_distribution}}{} -\item \contentsline{section}{eo\-How\-Many}{\pageref{classeo_how_many}}{} -\item \contentsline{section}{eo\-Int\-Bounds}{\pageref{classeo_int_bounds}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-General\-Int\-Bounds}{\pageref{classeo_general_int_bounds}}{} -\item \contentsline{section}{eo\-Int\-Above\-Bound}{\pageref{classeo_int_above_bound}}{} -\item \contentsline{section}{eo\-Int\-Below\-Bound}{\pageref{classeo_int_below_bound}}{} -\item \contentsline{section}{eo\-Int\-Interval}{\pageref{classeo_int_interval}}{} -\item \contentsline{section}{eo\-Int\-No\-Bounds}{\pageref{classeo_int_no_bounds}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Parser}{\pageref{classeo_parser}}{} -\item \contentsline{section}{eo\-Pop$<$ EOT $>$}{\pageref{classeo_pop}}{} -\item \contentsline{section}{eo\-Pop$<$ Dummy $>$}{\pageref{classeo_pop}}{} -\item \contentsline{section}{eo\-Pop$<$ Py\-EO $>$}{\pageref{classeo_pop}}{} -\item \contentsline{section}{eo\-Real\-Bounds}{\pageref{classeo_real_bounds}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-General\-Real\-Bounds}{\pageref{classeo_general_real_bounds}}{} -\item \contentsline{section}{eo\-Real\-Above\-Bound}{\pageref{classeo_real_above_bound}}{} -\item \contentsline{section}{eo\-Real\-Below\-Bound}{\pageref{classeo_real_below_bound}}{} -\item \contentsline{section}{eo\-Real\-Interval}{\pageref{classeo_real_interval}}{} -\item \contentsline{section}{eo\-Real\-No\-Bounds}{\pageref{classeo_real_no_bounds}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Real\-Vector\-Bounds}{\pageref{classeo_real_vector_bounds}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Real\-Vector\-No\-Bounds}{\pageref{classeo_real_vector_no_bounds}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Rng}{\pageref{classeo_rng}}{} -\end{CompactList} -\end{CompactList} -\item eoutils::Proc\-Wrapper$<$ Proc $>$\item Prod\item Py\-EO\_\-pickle\_\-suite\item Py\-Fitness\item py\-Pop\_\-pickle\_\-suite\item \contentsline{section}{random\_\-generator$<$ T $>$}{\pageref{classrandom__generator}}{} -\item \contentsline{section}{eo\-Real\-Base\-Vector\-Bounds}{\pageref{classeo_real_base_vector_bounds}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-Real\-Vector\-Bounds}{\pageref{classeo_real_vector_bounds}}{} -\end{CompactList} -\item \contentsline{section}{eo\-Real\-Ux\-Over}{\pageref{classeo_real_ux_over}}{} -\item RNG\_\-pickle\_\-suite\item mlp::sample\item \contentsline{section}{eo\-Scalar\-Fitness$<$ Scalar\-Type, Compare $>$}{\pageref{classeo_scalar_fitness}}{} -\item \contentsline{section}{eo\-Scalar\-Fitness\-Assembled$<$ Scalar\-Type, Compare, Fitness\-Traits $>$}{\pageref{classeo_scalar_fitness_assembled}}{} -\item \contentsline{section}{eo\-Scalar\-Fitness\-Assembled\-Traits}{\pageref{classeo_scalar_fitness_assembled_traits}}{} -\item Scaling\-Base\item eo\-Seq\-Populator$<$ EOT $>$::Out\-Of\-Individuals\item mlp::set\item shared\_\-ptr$<$ T $>$\item Sort\-On\-Targets\item square\_\-matrix\item Standard\_\-alloc$<$ T $>$\item gp\_\-parse\_\-tree::Standard\_\-alloc$<$ T $>$\item Standard\_\-Node\_\-alloc$<$ T $>$\item gp\_\-parse\_\-tree::Standard\_\-Node\_\-alloc$<$ T $>$\item \contentsline{section}{eo\-State::loading\_\-error}{\pageref{structeo_state_1_1loading__error}}{} -\item \contentsline{section}{eo\-STLBF$<$ A1, A2, R $>$}{\pageref{classeo_s_t_l_b_f}}{} -\item \contentsline{section}{eo\-STLF$<$ R $>$}{\pageref{classeo_s_t_l_f}}{} -\item \contentsline{section}{eo\-STLUF$<$ A1, R $>$}{\pageref{classeo_s_t_l_u_f}}{} -\item Sum\item Sym\item detail::Sym\-Args\item detail::Sym\-Args\-Impl\item detail::Sym\-Key\item detail::Sym\-Key::Hash\item Symreg\-Node\item detail::Sym\-Value\item \contentsline{section}{T\_\-pickle\_\-suite$<$ T $>$}{\pageref{struct_t__pickle__suite}}{} -\item Target\-Info\item gp\_\-parse\_\-tree::Tree\_\-alloc$<$ T $>$\item Tree\_\-alloc$<$ T $>$\item Tree\-Builder\item \contentsline{section}{UF\_\-random\_\-generator$<$ T $>$}{\pageref{class_u_f__random__generator}}{} -\item Unary$<$ Func $>$\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ Eo\-Type \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Distribution$<$ EOT $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const std::vector$<$ const EOT $\ast$ $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, const EOT \& $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ EOT \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ Genotype\-T \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ External\-EO \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Parse\-Tree$<$ FType, Node $>$ \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Double \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ Genotype\-T \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ Eo\-Type $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const std::vector$<$ const Py\-EO $\ast$ $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ EOType \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ EOT \&, unsigned int $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ Py\-EO $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\item unary\_\-function\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Double \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ int \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Parse\-Tree$<$ Fitness\-Type, Node $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ Chrom \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const std::vector$<$ const Eo\-Type $\ast$ $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ bool \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ T \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Populator$<$ Py\-EO $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ Py\-EO \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Vector$<$ Fit\-T, double $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Populator$<$ EOT $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ External\-EO \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ Eo\-Type \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Parse\-Tree$<$ FType, Node $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Virus$<$ Fit\-T $>$ \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ bool \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ Chrom \&, bool $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ EOT \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ const eo\-Pop$<$ Py\-EO $>$ \&, const Py\-EO \& $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item unary\_\-function\begin{CompactList} -\item \contentsline{section}{eo\-UF$<$ eo\-Virus$<$ Fit\-T $>$ \&, void $>$}{\pageref{classeo_u_f}}{} -\end{CompactList} -\item eoutils::Unary\-Wrapper$<$ Unary $>$\item \contentsline{section}{uniform\_\-generator$<$ T $>$}{\pageref{classuniform__generator}}{} -\item Unique\-Node\-Stats\item \contentsline{section}{eo\-Updatable}{\pageref{classeo_updatable}}{} -\begin{CompactList} -\item \contentsline{section}{eo\-One\-Fifth\-Mutation$<$ EOT $>$}{\pageref{classeo_one_fifth_mutation}}{} -\end{CompactList} -\item User\-Def\-Struct\item Value\-Param\_\-pickle\_\-suite$<$ T $>$\item Var\item vector\begin{CompactList} -\item \contentsline{section}{eo\-Vector$<$ Fit\-T, bool $>$}{\pageref{classeo_vector}}{} -\end{CompactList} -\item vector\begin{CompactList} -\item \contentsline{section}{eo\-Pop$<$ Py\-EO $>$}{\pageref{classeo_pop}}{} -\end{CompactList} -\item vector\begin{CompactList} -\item \contentsline{section}{eo\-Vector$<$ Fit\-T, double $>$}{\pageref{classeo_vector}}{} -\end{CompactList} -\item vector\begin{CompactList} -\item \contentsline{section}{eo\-Pop$<$ Dummy $>$}{\pageref{classeo_pop}}{} -\end{CompactList} -\item vector\item vector\begin{CompactList} -\item \contentsline{section}{eo\-Vector$<$ Fit, double $>$}{\pageref{classeo_vector}}{} -\end{CompactList} -\item vector\begin{CompactList} -\item \contentsline{section}{eo\-Pop$<$ Py\-EO $>$}{\pageref{classeo_pop}}{} -\end{CompactList} -\item vector\begin{CompactList} -\item \contentsline{section}{eo\-Pop$<$ Dummy $>$}{\pageref{classeo_pop}}{} -\end{CompactList} -\item weak\_\-ptr$<$ T $>$\end{CompactList} diff --git a/trunk/paradiseo-eo/doc/latex/main.tex b/trunk/paradiseo-eo/doc/latex/main.tex deleted file mode 100644 index 9e404455d..000000000 --- a/trunk/paradiseo-eo/doc/latex/main.tex +++ /dev/null @@ -1,5 +0,0 @@ -\section{Introduction}\label{main_intro} -{\bf EO}{\rm (p.\,\pageref{class_e_o})} is a templates-based, ANSI-C++ compliant evolutionary computation library. It contains classes for almost any kind of evolutionary computation you might come up to - at least for the ones we could think of. It is component-based, so that if you don't find the class you need in it, it is very easy to subclass existing abstract or concrete classes.\section{Tutorial}\label{main_tutorial} -The best place to learn about the features and approaches of {\bf EO}{\rm (p.\,\pageref{class_e_o})} is to look at the {\tt tutorial}.\section{Installation}\label{main_install} -The installation procedure of the package is detailed in the {\tt README} file in the top-directory of the source-tree.\section{Overall Design}\label{main_design} -For an introduction to the design of {\bf EO}{\rm (p.\,\pageref{class_e_o})} you can look at the {\tt slides} from a talk at EA 2001 or the corresponding {\tt article} in {\tt {\em Lecture Notes In Computer Science\/} {\bf 2310}, {\em Selected Papers from the 5th European Conference on Artificial Evolution\/}}. \ No newline at end of file diff --git a/trunk/paradiseo-eo/doc/latex/modules.tex b/trunk/paradiseo-eo/doc/latex/modules.tex deleted file mode 100644 index 48c284cef..000000000 --- a/trunk/paradiseo-eo/doc/latex/modules.tex +++ /dev/null @@ -1,10 +0,0 @@ -\section{EO Modules} -Here is a list of all modules:\begin{CompactList} -\item \contentsline{section}{Bitstring}{\pageref{group__bitstring}}{} -\item \contentsline{section}{Operators}{\pageref{group___operators}}{} -\item \contentsline{section}{Prop\-Combined\-Operators}{\pageref{group___prop_combined_operators}}{} -\item \contentsline{section}{Parse\-Tree}{\pageref{group___parse_tree}}{} -\item \contentsline{section}{St\-Parse\-Tree}{\pageref{group___st_parse_tree}}{} -\item \contentsline{section}{Evolution\-Strategies}{\pageref{group___evolution_strategies}}{} -\item \contentsline{section}{Selectors}{\pageref{group__selectors}}{} -\end{CompactList} diff --git a/trunk/paradiseo-eo/doc/latex/namespacegp__parse__tree.tex b/trunk/paradiseo-eo/doc/latex/namespacegp__parse__tree.tex deleted file mode 100644 index d8cb129c0..000000000 --- a/trunk/paradiseo-eo/doc/latex/namespacegp__parse__tree.tex +++ /dev/null @@ -1,149 +0,0 @@ -\section{gp\_\-parse\_\-tree Namespace Reference} -\label{namespacegp__parse__tree}\index{gp_parse_tree@{gp\_\-parse\_\-tree}} -Parse\_\-tree and subtree classes (c) copyright Maarten Keijzer 1999, 2000. - - -\subsection*{Classes} -\begin{CompactItemize} -\item -class {\bf gp\_\-parse\_\-tree::Mem\-Pool} -\begin{CompactList}\small\item\em Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. \item\end{CompactList}\item -struct {\bf gp\_\-parse\_\-tree::Mem\-Pool::Link} -\item -struct {\bf gp\_\-parse\_\-tree::Mem\-Pool::Chunk} -\item -class {\bf gp\_\-parse\_\-tree::Node\_\-alloc$<$ T $>$} -\item -class {\bf gp\_\-parse\_\-tree::Standard\_\-alloc$<$ T $>$} -\item -class {\bf gp\_\-parse\_\-tree::Standard\_\-Node\_\-alloc$<$ T $>$} -\item -class {\bf gp\_\-parse\_\-tree::Tree\_\-alloc$<$ T $>$} -\item -class {\bf gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$} -\item -class {\bf gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::subtree} -\item -class {\bf gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::base\_\-iterator} -\item -class {\bf gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::iterator} -\item -class {\bf gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::embedded\_\-iterator} -\item -class {\bf gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::base\_\-const\_\-iterator} -\item -class {\bf gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::const\_\-iterator} -\item -class {\bf gp\_\-parse\_\-tree::parse\_\-tree$<$ T $>$::embedded\_\-const\_\-iterator} -\end{CompactItemize} -\subsection*{Functions} -\begin{CompactItemize} -\item -template$<$class T$>$ void {\bf do\_\-the\_\-swap} (T \&a, T \&b)\label{namespacegp__parse__tree_a0} - -\begin{CompactList}\small\item\em This ones defined because gcc does not always implement namespaces. \item\end{CompactList}\end{CompactItemize} - - -\subsection{Detailed Description} -Parse\_\-tree and subtree classes (c) copyright Maarten Keijzer 1999, 2000. - -Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided \char`\"{}as is\char`\"{} without express or implied warranty, and with no claim as to its suitability for any purpose. - -Permission to modify the code and to distribute modified code is granted, provided the above notices as well as this one are retained, and a notice that the code was modified is included with the above copyright notice. - -Usage information. - -class Node (your node in the tree) must have the following implemented: - -Arity $\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ - -int arity(void) const - -Note: the default constructor of a Node should provide a Node with arity 0! - -Evaluation $\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ - -A parse\_\-tree is evaluated through one of it's apply() members: - -1) parse\_\-tree::apply(Ret\-Val) - -is the simplest evaluation, it will call - -Ret\-Val Node::operator()(Ret\-Val, subtree$<$Node, Ret\-Val$>$::const\_\-iterator) - -(Unfortunately the first Ret\-Val argument is mandatory (although you might not need it. This is because MSVC does not support member template functions properly. If it cannot deduce the template arguments (as is the case in templatizing over return value) you are not allowed to specify them. calling tree.apply$<$double$>$() would result in a syntax error. That is why you have to call tree.apply(double()) instead.) - -2) parse\_\-tree::apply(Ret\-Val v, It values) - -will call: - -Ret\-Val Node::operator()(Ret\-Val, subtree$<$... , It values) - -where It is whatever type you desire (most of the time this will be a std::vector containing the values of your variables); - -3) parse\_\-tree::apply(Ret\-Val, It values, It2 more\-Values) - -will call: - -Ret\-Val Node::operator()(Ret\-Val, subtree$<$... , It values, It2 more\-Values) - -although I do not see the immediate use of this, however... - -4) parse\_\-tree::apply(Ret\-Val, It values, It2 args, It3 adfs) - -that calls: - -Ret\-Val Node::operator()(subtree$<$... , It values, It2 args, It3 adfs) - -can be useful for implementing adfs. - -In general it is a good idea to leave the specifics of the arguments open so that different ways of evaluation remain possible. Implement the simplest eval as: - -template $<$class it=\char`\"{}\char`\"{}$>$ Ret\-Val operator()(Ret\-Val dummy, It begin) const - -Internal Structure $\ast$$\ast$$\ast$$\ast$$\ast$$\ast$ - -A parse\_\-tree has two template arguments: the Node and the Return\-Value produced by evaluating the node. The structure of the tree is defined through a subtree class that has the same two template arguments. - -The nodes are stored in a tree like : - -node4 / $\backslash$ node3 node2 / $\backslash$ node1 node0 - -where nodes 2 and 4 have arity 2 and nodes 0,1 and 3 arity 0 (terminals) - -The nodes are subtrees, containing the structure of the tree, together with its size and depth. They contain a Node, the user defined template argument. To access these nodes from a subtree, use operator-$>$ or operator$\ast$. - -The numbers behind the nodes define a reverse-polish or postfix traversel through the tree. The parse\_\-tree defines iterators on the tree such that - -tree.begin() points at the subtree at node0 and tree.back() returns the subtree at node4, the complete tree - -Likewise operator[] is defined on the tree, such that: - -tree[0] will return the subtree at node0, while tree[2] will return the subtree at node2 - -Assigments of subtrees is protected so that the code: - -tree[2] = tree[0]; - -will not crash and result in a tree structured as: - -node4 / $\backslash$ node3 node0 - -Note that the rank numbers no longer specify their place in the tree: - -tree[0] still points at node0, but tree[1] now points to node3 and tree[2] points at the root node4 - -Embedded iterators are implemented to iterate over nodes rather than subtrees. So an easy way to copy your tree to a std::vector is: - -std::vector$<$Node$>$ vec(tree.size()); copy(tree.ebegin(), tree.eend(), vec.begin()); - -You can also copy it to an std::ostream\_\-iterator with this technique, given that your Node implements an appropriate operator$<$$<$. Reinitializing a tree with the std::vector is also simple: - -tree.clear(); copy(vec.begin(), vec.end(), back\_\-inserter(tree)); - -or from an std::istream: - -copy(std::istream\_\-iterator$<$T$>$(my\_\-stream), std::istream\_\-iterator$<$T$>$(), back\_\-inserter(tree)); - -Note that the back\_\-inserter must be used as there is no resize member in the parse\_\-tree. back\_\-inserter will use the push\_\-back member from the parse\_\-tree - diff --git a/trunk/paradiseo-eo/doc/latex/namespaces.tex b/trunk/paradiseo-eo/doc/latex/namespaces.tex deleted file mode 100644 index fbd262e0f..000000000 --- a/trunk/paradiseo-eo/doc/latex/namespaces.tex +++ /dev/null @@ -1,4 +0,0 @@ -\section{EO Namespace List} -Here is a list of all documented namespaces with brief descriptions:\begin{CompactList} -\item\contentsline{section}{{\bf gp\_\-parse\_\-tree} (Parse\_\-tree and subtree classes (c) copyright Maarten Keijzer 1999, 2000 )}{\pageref{namespacegp__parse__tree}}{} -\end{CompactList} diff --git a/trunk/paradiseo-eo/doc/latex/pages.tex b/trunk/paradiseo-eo/doc/latex/pages.tex deleted file mode 100644 index 3d91f40a0..000000000 --- a/trunk/paradiseo-eo/doc/latex/pages.tex +++ /dev/null @@ -1,9 +0,0 @@ -\section{EO Related Pages} -Here is a list of all related documentation pages:\begin{CompactList} -\item \contentsline{section}{Related webpages}{\pageref{webpages}}{} - -\item \contentsline{section}{Projects}{\pageref{related}}{} - -\item \contentsline{section}{Todo List}{\pageref{todo}}{} - -\end{CompactList} diff --git a/trunk/paradiseo-eo/doc/latex/refman.tex b/trunk/paradiseo-eo/doc/latex/refman.tex deleted file mode 100644 index 6a8b1b6a6..000000000 --- a/trunk/paradiseo-eo/doc/latex/refman.tex +++ /dev/null @@ -1,404 +0,0 @@ -\documentclass[a4paper]{book} -\usepackage{a4wide} -\usepackage{makeidx} -\usepackage{fancyhdr} -\usepackage{graphicx} -\usepackage{multicol} -\usepackage{float} -\usepackage{textcomp} -\usepackage{alltt} -\usepackage{doxygen} -\makeindex -\setcounter{tocdepth}{1} -\renewcommand{\footrulewidth}{0.4pt} -\begin{document} -\begin{titlepage} -\vspace*{7cm} -\begin{center} -{\Large EO Reference Manual\\[1ex]\large 0.9.4-cvs }\\ -\vspace*{1cm} -{\large Generated by Doxygen 1.3.9.1}\\ -\vspace*{0.5cm} -{\small Thu Oct 19 05:06:33 2006}\\ -\end{center} -\end{titlepage} -\clearemptydoublepage -\pagenumbering{roman} -\tableofcontents -\clearemptydoublepage -\pagenumbering{arabic} -\chapter{Welcome to Evolving Objects } -\label{index}\input{main} -\chapter{EO Module Index} -\input{modules} -\chapter{EO Namespace Index} -\input{namespaces} -\chapter{EO Hierarchical Index} -\input{hierarchy} -\chapter{EO Class Index} -\input{annotated} -\chapter{EO Page Index} -\input{pages} -\chapter{EO Module Documentation} -\input{group__bitstring} -\include{group___operators} -\include{group___prop_combined_operators} -\include{group___parse_tree} -\include{group___st_parse_tree} -\include{group___evolution_strategies} -\include{group__selectors} -\chapter{EO Namespace Documentation} -\input{namespacegp__parse__tree} -\chapter{EO Class Documentation} -\input{classeo1_pt_bit_crossover} -\include{classeo_aged} -\include{classeo_algo} -\include{classeo_arithmetic_crossover} -\include{classeo_assembled_fitness_average_stat} -\include{classeo_assembled_fitness_best_stat} -\include{classeo_atom_exchange} -\include{classeo_average_stat} -\include{classeo_best_fitness_stat} -\include{classeo_best_select} -\include{classeo_b_f} -\include{class_biased_node_selector} -\include{classeo_binary_functor_counter} -\include{classeo_bin_clone_op} -\include{classeo_bin_gen_op} -\include{classeo_bin_op} -\include{classeo_bit} -\include{classeo_bit_bit_flip} -\include{classeo_bit_gx_over} -\include{classeo_bit_inversion} -\include{classeo_bit_mutation} -\include{classeo_bit_next} -\include{classeo_bit_op_factory} -\include{classeo_bit_prev} -\include{classboolean__generator} -\include{classeo_boolean_generator} -\include{classeo_boolean_init} -\include{classeo_bool_flip} -\include{classeo_branch_mutation} -\include{classeo_breed} -\include{classeo_cellular_easy_e_a} -\include{classeo_check_point} -\include{classeo_c_m_a_breed} -\include{classeo_c_m_a_init} -\include{classeo_collapse_subtree_mutation} -\include{classeo_combined_continue} -\include{classeo_combined_init} -\include{classeo_comma_replacement} -\include{classeo_continue} -\include{classeo_counted_dyn_update} -\include{classeo_counted_state_saver} -\include{class_cov} -\include{classeo_ctrl_c_continue} -\include{classeo_det_bit_flip} -\include{classeo_deterministic_sa_d_replacement} -\include{classeo_deterministic_survive_and_die} -\include{classeo_det_select} -\include{classeo_det_tournament_select} -\include{classeo_det_tournament_truncate} -\include{classeo_det_tournament_truncate_split} -\include{classeo_det_tournament_worth_select} -\include{classeo_det_uniform_mutation} -\include{classeo_distance} -\include{classeo_distrib_updater} -\include{classeo_distribution} -\include{classd_matrix} -\include{classeo_dominance_map} -\include{classeo_double_exchange} -\include{classeo_double_intermediate} -\include{classeo_drawable} -\include{struct_dummy} -\include{classeo_dyn_s_g_a_transform} -\include{classeo_dyn_updater} -\include{classeo_easy_e_a} -\include{classeo_e_d_a} -\include{classeo_elite_sequential_select} -\include{classeo_elitism} -\include{class_e_o} -\include{classeo_e_p_reduce} -\include{classeo_e_p_replacement} -\include{classeo_es_chrom_init} -\include{classeo_es_full} -\include{classeo_es_global_xover} -\include{classeo_es_mutate} -\include{classeo_es_mutation_init} -\include{classeo_es_simple} -\include{classeo_es_standard_xover} -\include{classeo_es_stdev} -\include{classeo_eval_continue} -\include{classeo_eval_func} -\include{classeo_eval_func_counter} -\include{structeo_eval_func_ptr} -\include{classeo_expansion_mutation} -\include{classeo_external_bin_op} -\include{classeo_external_e_o} -\include{classeo_external_eval_func} -\include{classeo_external_init} -\include{classeo_external_mon_op} -\include{classeo_external_quad_op} -\include{classeo_f} -\include{classeo_factory} -\include{classeo_f_d_c_file_snapshot} -\include{classeo_f_d_c_stat} -\include{classeo_file_monitor} -\include{classeo_file_snapshot} -\include{classeo_fit_continue} -\include{classeo_fitness_scaling_select} -\include{classeo_fitness_stat} -\include{classeo_fl_or1pt_bin_op} -\include{classeo_fl_or1pt_quad_op} -\include{classeo_fl_or_all_atom_bin_op} -\include{classeo_fl_or_all_atom_quad_op} -\include{classeo_fl_or_all_mutation} -\include{classeo_fl_or_k_atom_bin_op} -\include{classeo_fl_or_k_atom_quad_op} -\include{classeo_fl_or_k_mutation} -\include{classeo_fl_or_uniform_bin_op} -\include{classeo_fl_or_uniform_quad_op} -\include{classeo_functor_base} -\include{structeo_functor_base_1_1binary__function__tag} -\include{structeo_functor_base_1_1procedure__tag} -\include{structeo_functor_base_1_1unary__function__tag} -\include{classeo_functor_store} -\include{classeo_g3_replacement} -\include{classeo_gen_continue} -\include{classeo_gene_del_chooser} -\include{classeo_general_breeder} -\include{classeo_general_int_bounds} -\include{classeo_general_real_bounds} -\include{classeo_generational_replacement} -\include{classeo_gen_op} -\include{classeo_gnuplot} -\include{classeo_gnuplot1_d_monitor} -\include{classeo_gnuplot1_d_snapshot} -\include{classeo_hamming_distance} -\include{classeo_hoist_mutation} -\include{classeo_how_many} -\include{classeo_incrementor} -\include{classeo_incrementor_param} -\include{classeo_init} -\include{classeo_init_adaptor} -\include{classeo_init_fixed_length} -\include{classeo_init_generator} -\include{classeo_init_variable_length} -\include{classeo_init_virus} -\include{classeo_init_virus1bit} -\include{classeo_inner_exchange_quad_op} -\include{classeo_int_above_bound} -\include{classeo_int_below_bound} -\include{classeo_int_bounds} -\include{classeo_int_interval} -\include{classeo_int_no_bounds} -\include{classeo_invalidate_bin_op} -\include{classeo_invalidate_mon_op} -\include{classeo_invalidate_quad_op} -\include{classeo_linear_fit_scaling} -\include{classeo_linear_random_split} -\include{classeo_linear_truncate} -\include{classeo_linear_truncate_split} -\include{class_mem_pool} -\include{classgp__parse__tree_1_1_mem_pool} -\include{classeo_merge} -\include{classeo_merge_reduce} -\include{classeo_m_g_g_replacement} -\include{class_minimizing_traits} -\include{classeo_m_o_fitness_stat} -\include{classeo_mon_clone_op} -\include{classeo_mon_gen_op} -\include{classeo_monitor} -\include{classeo_mon_op} -\include{classeo_n_d_plus_replacement} -\include{classeo_n_d_sorting} -\include{classeo_n_d_sorting_1_1_dummy_e_o} -\include{classeo_n_d_sorting___i} -\include{classeo_n_d_sorting___i_i} -\include{classnegexp__generator} -\include{classeo_neg_exp_generator} -\include{classeo_neg_exp_init} -\include{class_node_selector} -\include{classeo_no_elitism} -\include{classeo_no_perf2_worth} -\include{classnormal__generator} -\include{classeo_normal_generator} -\include{classeo_normal_init} -\include{classeo_normal_mutation} -\include{classeo_normal_vec_mutation} -\include{classeo_no_select} -\include{classeo_n_pts_bit_xover} -\include{classeo_nth_element_fitness_stat} -\include{classeo_object} -\include{classeo_one_fifth_mutation} -\include{classeo_one_max} -\include{classeo_one_max_eval_func} -\include{classeo_one_max_init} -\include{classeo_one_max_mutation} -\include{classeo_one_max_quad_crossover} -\include{classeo_op} -\include{classeo_op_container} -\include{classeo_op_sel_mason} -\include{classeo_param} -\include{classeo_parameter_loader} -\include{classeo_param_param_type} -\include{classeo_pareto_fitness} -\include{classeo_pareto_fitness_traits} -\include{classeo_pareto_one_constraint_fitness} -\include{classeo_pareto_ranking} -\include{classeo_parser} -\include{classeo_parse_tree} -\include{classeo_parse_tree_depth_init} -\include{classeo_p_b_i_l_additive} -\include{classeo_p_b_i_l_distrib} -\include{classeo_p_b_i_l_org} -\include{classeo_perf2_worth} -\include{classeo_perf2_worth_1_1compare__worth} -\include{classeo_perf2_worth_cached} -\include{classeo_perf2_worth_cached_1_1compare__worth} -\include{classeo_persistent} -\include{classeo_plus} -\include{classeo_plus_replacement} -\include{classeo_point_mutation} -\include{classeo_pop} -\include{structeo_pop_1_1_cmp} -\include{structeo_pop_1_1_ref} -\include{classeo_pop_algo} -\include{classeo_pop_eval_func} -\include{classeo_pop_loop_eval} -\include{classeo_pop_stat} -\include{classeo_populator} -\include{classeo_printable} -\include{classeo_procedure_counter} -\include{classeo_prop_combined_bin_op} -\include{classeo_prop_combined_mon_op} -\include{classeo_prop_combined_quad_op} -\include{classeo_prop_g_a_gen_op} -\include{classeo_proportional_op} -\include{classeo_proportional_select} -\include{classeo_quad2_bin_op} -\include{classeo_quad_clone_op} -\include{classeo_quad_distance} -\include{classeo_quad_gen_op} -\include{classeo_quad_op} -\include{classrandom__generator} -\include{class_random_node_selector} -\include{classeo_random_reduce} -\include{classeo_random_select} -\include{classeo_random_split} -\include{classeo_ranking} -\include{classeo_ranking_select} -\include{classeo_real} -\include{classeo_real_above_bound} -\include{classeo_real_base_vector_bounds} -\include{classeo_real_below_bound} -\include{classeo_real_bounds} -\include{classeo_real_init_bounded} -\include{classeo_real_interval} -\include{classeo_real_no_bounds} -\include{classeo_real_ux_over} -\include{classeo_real_vector_bounds} -\include{classeo_real_vector_no_bounds} -\include{classeo_reduce} -\include{classeo_reduce_merge} -\include{classeo_reduce_merge_reduce} -\include{classeo_reduce_split} -\include{classeo_replacement} -\include{classeo_rnd_generator} -\include{classeo_rng} -\include{classeo_roulette_worth_select} -\include{classeo_scalar_fitness} -\include{classeo_scalar_fitness_assembled} -\include{classeo_scalar_fitness_assembled_traits} -\include{classeo_scalar_fitness_stat} -\include{classeo_second_moment_stats} -\include{classeo_segment_crossover} -\include{classeo_sel_bin_gen_op} -\include{classeo_select} -\include{classeo_select_factory} -\include{classeo_select_from_worth} -\include{classeo_selective_populator} -\include{classeo_select_many} -\include{classeo_select_number} -\include{classeo_select_one} -\include{classeo_select_perc} -\include{classeo_select_transform} -\include{classeo_seq_populator} -\include{classeo_sequential_op} -\include{classeo_sequential_select} -\include{classeo_s_g_a} -\include{classeo_s_g_a_gen_op} -\include{classeo_s_g_a_transform} -\include{classeo_sharing} -\include{classeo_sharing_select} -\include{classeo_simple_e_d_a} -\include{classeo_sorted_pop_stat} -\include{classeo_sorted_stat} -\include{classeo_sorted_stat_base} -\include{classeo_s_s_g_a_det_tournament_replacement} -\include{classeo_s_s_g_a_stoch_tournament_replacement} -\include{classeo_s_s_g_a_worse_replacement} -\include{classeo_stat} -\include{classeo_stat_base} -\include{classeo_state} -\include{structeo_state_1_1loading__error} -\include{classeo_st_branch_mutation} -\include{classeo_stdout_monitor} -\include{classeo_steady_fit_continue} -\include{classeo_st_hoist_mutation} -\include{classeo_s_t_l_b_f} -\include{classeo_s_t_l_f} -\include{classeo_s_t_l_u_f} -\include{classeo_stochastic_universal_select} -\include{classeo_stoch_tournament_select} -\include{classeo_stoch_tournament_truncate} -\include{classeo_stoch_tournament_truncate_split} -\include{classeo_stoch_tournament_worth_select} -\include{classeo_st_parse_tree_depth_init} -\include{classeo_st_point_mutation} -\include{classeo_string} -\include{classeo_st_subtree_x_over} -\include{classeo_subtree_x_over} -\include{classeo_survive_and_die} -\include{classeo_sym_init} -\include{struct_t__pickle__suite} -\include{classeo_time_counter} -\include{classeo_timed_dyn_update} -\include{classeo_timed_monitor} -\include{classeo_timed_state_saver} -\include{classeo_time_varying_loop_eval} -\include{classeo_transform} -\include{classeo_truncate} -\include{classeo_truncated_select_many} -\include{classeo_truncated_select_one} -\include{classeo_truncate_split} -\include{classeo_trunc_select} -\include{classeo_u_bit_xover} -\include{classeo_u_f} -\include{class_u_f__random__generator} -\include{classeo_unary_functor_counter} -\include{classuniform__generator} -\include{classeo_uniform_atom_exchange} -\include{classeo_uniform_gene_chooser} -\include{classeo_uniform_generator} -\include{classeo_uniform_init} -\include{classeo_uniform_mutation} -\include{classeo_updatable} -\include{classeo_updater} -\include{classeo_value_param} -\include{classeo_variable_pareto_traits} -\include{classeo_vector} -\include{class_virus_bit_flip} -\include{class_virus_shift_mutation} -\include{classeo_vl_add_mutation} -\include{classeo_vl_atom_exchange_quad_op} -\include{classeo_vl_del_mutation} -\include{classeo_vl_uniform_bin_op} -\include{classeo_vl_uniform_quad_op} -\include{classeo_weak_elitist_replacement} -\chapter{EO Page Documentation} -\input{webpages} -\include{related} -\include{todo} -\printindex -\end{document} diff --git a/trunk/paradiseo-eo/doc/latex/related.tex b/trunk/paradiseo-eo/doc/latex/related.tex deleted file mode 100644 index 365da3957..000000000 --- a/trunk/paradiseo-eo/doc/latex/related.tex +++ /dev/null @@ -1,3 +0,0 @@ -\subsection*{Paradis\-EO} - -{\tt Paradis\-EO} is a project to extend {\bf EO}{\rm (p.\,\pageref{class_e_o})} to make use of dedicated parallel or distributed computing environments by {\tt S\'{e}bastien Cahon}. \ No newline at end of file diff --git a/trunk/paradiseo-eo/doc/latex/struct_dummy.eps b/trunk/paradiseo-eo/doc/latex/struct_dummy.eps deleted file mode 100644 index 70dc9946a..000000000 --- a/trunk/paradiseo-eo/doc/latex/struct_dummy.eps +++ /dev/null @@ -1,297 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 66.6667 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 7.5 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 12 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(Dummy) cw -(EO< double >) cw -(EO< double >) cw -(EO< double >) cw -(EO< double >) cw -(EO< double >) cw -(EO< double >) cw -(eoObject) cw -(eoPersistent) cw -(eoObject) cw -(eoPersistent) cw -(eoObject) cw -(eoPersistent) cw -(eoObject) cw -(eoPersistent) cw -(eoObject) cw -(eoPersistent) cw -(eoObject) cw -(eoPersistent) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (Dummy) 5 0 box - (EO< double >) 0 1 box - (EO< double >) 2 1 box - (EO< double >) 4 1 box - (EO< double >) 6 1 box - (EO< double >) 8 1 box - (EO< double >) 10 1 box - (eoPersistent) 11 2 box -11 2 mark - (eoObject) 11 3 box - (eoPersistent) 9 2 box -9 2 mark - (eoObject) 9 3 box - (eoPersistent) 7 2 box -7 2 mark - (eoObject) 7 3 box - (eoPersistent) 5 2 box -5 2 mark - (eoObject) 5 3 box - (eoPersistent) 3 2 box -3 2 mark - (eoObject) 3 3 box - (eoPersistent) 1 2 box -1 2 mark - (eoObject) 1 3 box - -% ----- relations ----- - -solid -0 5 0 out -solid -0 10 1 conn -solid -1 0 1 in -solid -0 0 1 out -solid -1 2 1 in -solid -0 2 1 out -solid -1 4 1 in -solid -0 4 1 out -solid -1 6 1 in -solid -0 6 1 out -solid -1 8 1 in -solid -0 8 1 out -solid -1 10 1 in -solid -0 10 1 out -solid -1 0 2.5 hedge -solid -1 0 3.5 hedge -solid -0 2 3.5 vedge -solid -1 2 2.5 hedge -solid -1 2 3.5 hedge -solid -2 2 3.5 vedge -solid -1 4 2.5 hedge -solid -1 4 3.5 hedge -solid -4 2 3.5 vedge -solid -1 6 2.5 hedge -solid -1 6 3.5 hedge -solid -6 2 3.5 vedge -solid -1 8 2.5 hedge -solid -1 8 3.5 hedge -solid -8 2 3.5 vedge -solid -1 10 2.5 hedge -solid -1 10 3.5 hedge -solid -10 2 3.5 vedge diff --git a/trunk/paradiseo-eo/doc/latex/struct_dummy.tex b/trunk/paradiseo-eo/doc/latex/struct_dummy.tex deleted file mode 100644 index ec95af6f5..000000000 --- a/trunk/paradiseo-eo/doc/latex/struct_dummy.tex +++ /dev/null @@ -1,147 +0,0 @@ -\section{Dummy Struct Reference} -\label{struct_dummy}\index{Dummy@{Dummy}} -test program for the general operator - millenium version! uses dummy individuals - - -Inheritance diagram for Dummy::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=1.86667cm]{struct_dummy} -\end{center} -\end{figure} -\subsection*{Public Types} -\begin{CompactItemize} -\item -typedef double {\bf Type}\label{struct_dummy_w0} - -\item -typedef double {\bf Type}\label{struct_dummy_w1} - -\item -typedef double {\bf Type}\label{struct_dummy_w2} - -\item -typedef double {\bf Type}\label{struct_dummy_w3} - -\item -typedef double {\bf Type}\label{struct_dummy_w4} - -\item -typedef double {\bf Type}\label{struct_dummy_w5} - -\end{CompactItemize} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf Dummy} (std::string \_\-s=\char`\"{}\char`\"{})\label{struct_dummy_a0} - -\item -void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\item -void {\bf print\-On} (std::ostream \&\_\-os) const -\begin{CompactList}\small\item\em Write object. \item\end{CompactList}\end{CompactItemize} -\subsection*{Public Attributes} -\begin{CompactItemize} -\item -std::string {\bf s}\label{struct_dummy_o0} - -\item -double {\bf xdist}\label{struct_dummy_o1} - -\end{CompactItemize} - - -\subsection{Detailed Description} -test program for the general operator - millenium version! uses dummy individuals - - - -Definition at line 27 of file t-eo\-Checkpointing.cpp. - -\subsection{Member Function Documentation} -\index{Dummy@{Dummy}!printOn@{printOn}} -\index{printOn@{printOn}!Dummy@{Dummy}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Dummy::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{struct_dummy_a1} - - -Write object. - -Called print\-On since it prints the object \_\-on\_\- a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Reimplemented from {\bf EO$<$ double $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}. - -Definition at line 41 of file t-eo\-Gen\-Op.cpp. - -References EO$<$ F $>$::print\-On().\index{Dummy@{Dummy}!printOn@{printOn}} -\index{printOn@{printOn}!Dummy@{Dummy}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Dummy::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{struct_dummy_a2} - - -Write object. - -Called print\-On since it prints the object \_\-on\_\- a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Reimplemented from {\bf EO$<$ double $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}. - -Definition at line 23 of file t-eo\-Replacement.cpp. - -References EO$<$ F $>$::print\-On().\index{Dummy@{Dummy}!printOn@{printOn}} -\index{printOn@{printOn}!Dummy@{Dummy}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Dummy::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{struct_dummy_a3} - - -Write object. - -Called print\-On since it prints the object \_\-on\_\- a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Reimplemented from {\bf EO$<$ double $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}. - -Definition at line 18 of file t-eo\-Select.cpp. - -References EO$<$ F $>$::print\-On().\index{Dummy@{Dummy}!printOn@{printOn}} -\index{printOn@{printOn}!Dummy@{Dummy}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Dummy::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{struct_dummy_a4} - - -Write object. - -Called print\-On since it prints the object \_\-on\_\- a stream. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-os}]A std::ostream. \end{description} -\end{Desc} - - -Reimplemented from {\bf EO$<$ double $>$} {\rm (p.\,\pageref{class_e_o_z10_2})}. - -Definition at line 24 of file t-eo\-Sharing.cpp. - -References EO$<$ F $>$::print\-On(). - -The documentation for this struct was generated from the following files:\begin{CompactItemize} -\item -t-eo\-Checkpointing.cpp\item -t-eo\-Gen\-Op.cpp\item -t-eo\-Replacement.cpp\item -t-eo\-Select.cpp\item -t-eo\-Sharing.cpp\item -t-eo\-State\-And\-Parser.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/struct_t__pickle__suite.tex b/trunk/paradiseo-eo/doc/latex/struct_t__pickle__suite.tex deleted file mode 100644 index d10597ad7..000000000 --- a/trunk/paradiseo-eo/doc/latex/struct_t__pickle__suite.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section{T\_\-pickle\_\-suite$<$ T $>$ Struct Template Reference} -\label{struct_t__pickle__suite}\index{T_pickle_suite@{T\_\-pickle\_\-suite}} -Implements pickle support for {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} derivatives. - - -{\tt \#include $<$pickle.h$>$} - -\subsection*{Static Public Member Functions} -\begin{CompactItemize} -\item -std::string {\bf print\_\-to\_\-string} (const T \&t)\label{struct_t__pickle__suite_e0} - -\item -boost::python::tuple {\bf getstate} (const T \&t)\label{struct_t__pickle__suite_e1} - -\item -void {\bf setstate} (T \&t, boost::python::tuple pickled)\label{struct_t__pickle__suite_e2} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class T$>$ struct T\_\-pickle\_\-suite$<$ T $>$} - -Implements pickle support for {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} derivatives. - - - -Definition at line 32 of file pickle.h. - -The documentation for this struct was generated from the following file:\begin{CompactItemize} -\item -pickle.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/structeo_eval_func_ptr.eps b/trunk/paradiseo-eo/doc/latex/structeo_eval_func_ptr.eps deleted file mode 100644 index 6ab3e8c42..000000000 --- a/trunk/paradiseo-eo/doc/latex/structeo_eval_func_ptr.eps +++ /dev/null @@ -1,215 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ClassName -%%Creator: Doxygen -%%CreationDate: Time -%%For: -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 500 152.672 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%EndComments - -% ----- variables ----- - -/boxwidth 0 def -/boxheight 40 def -/fontheight 24 def -/marginwidth 10 def -/distx 20 def -/disty 40 def -/boundaspect 3.275 def % aspect ratio of the BoundingBox (width/height) -/boundx 500 def -/boundy boundx boundaspect div def -/xspacing 0 def -/yspacing 0 def -/rows 4 def -/cols 2 def -/scalefactor 0 def -/boxfont /Times-Roman findfont fontheight scalefont def - -% ----- procedures ----- - -/dotted { [1 4] 0 setdash } def -/dashed { [5] 0 setdash } def -/solid { [] 0 setdash } def - -/max % result = MAX(arg1,arg2) -{ - /a exch def - /b exch def - a b gt {a} {b} ifelse -} def - -/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) -{ - 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max -} def - -/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) -{ - /str exch def - /boxwidth boxwidth str stringwidth pop max def -} def - -/box % draws a box with text `arg1' at grid pos (arg2,arg3) -{ gsave - 2 setlinewidth - newpath - exch xspacing mul xoffset add - exch yspacing mul - moveto - boxwidth 0 rlineto - 0 boxheight rlineto - boxwidth neg 0 rlineto - 0 boxheight neg rlineto - closepath - dup stringwidth pop neg boxwidth add 2 div - boxheight fontheight 2 div sub 2 div - rmoveto show stroke - grestore -} def - -/mark -{ newpath - exch xspacing mul xoffset add boxwidth add - exch yspacing mul - moveto - 0 boxheight 4 div rlineto - boxheight neg 4 div boxheight neg 4 div rlineto - closepath - eofill - stroke -} def - -/arrow -{ newpath - moveto - 3 -8 rlineto - -6 0 rlineto - 3 8 rlineto - closepath - eofill - stroke -} def - -/out % draws an output connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight add - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/in % draws an input connector for the block at (arg1,arg2) -{ - newpath - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul disty 2 div sub - /y exch def - /x exch def - x y moveto - 0 disty 2 div rlineto - stroke - 1 eq { x y disty 2 div add arrow } if -} def - -/hedge -{ - exch xspacing mul xoffset add boxwidth 2 div add - exch yspacing mul boxheight 2 div sub - /y exch def - /x exch def - newpath - x y moveto - boxwidth 2 div distx add 0 rlineto - stroke - 1 eq - { newpath x boxwidth 2 div distx add add y moveto - -8 3 rlineto - 0 -6 rlineto - 8 3 rlineto - closepath - eofill - stroke - } if -} def - -/vedge -{ - /ye exch def - /ys exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add dup - ys yspacing mul boxheight 2 div sub - moveto - ye yspacing mul boxheight 2 div sub - lineto - stroke -} def - -/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' -{ - /ys exch def - /xe exch def - /xs exch def - newpath - xs xspacing mul xoffset add boxwidth 2 div add - ys yspacing mul disty 2 div sub - moveto - xspacing xe xs sub mul 0 - rlineto - stroke -} def - -% ----- main ------ - -boxfont setfont -1 boundaspect scale -(eoEvalFuncPtr< EOT, FitT, FunctionArg >) cw -(eoEvalFunc< EOT >) cw -(eoUF< EOT &, void >) cw -(eoFunctorBase) cw -(unary_function< EOT &, void >) cw -/boxwidth boxwidth marginwidth 2 mul add def -/xspacing boxwidth distx add def -/yspacing boxheight disty add def -/scalefactor - boxwidth cols mul distx cols 1 sub mul add - boxheight rows mul disty rows 1 sub mul add boundaspect mul - max def -boundx scalefactor div boundy scalefactor div scale - -% ----- classes ----- - - (eoEvalFuncPtr< EOT, FitT, FunctionArg >) 0.5 0 box - (eoEvalFunc< EOT >) 0.5 1 box - (eoUF< EOT &, void >) 0.5 2 box - (eoFunctorBase) 0 3 box - (unary_function< EOT &, void >) 1 3 box - -% ----- relations ----- - -solid -0 0.5 0 out -solid -1 0.5 1 in -solid -0 0.5 1 out -solid -1 0.5 2 in -solid -0 0.5 2 out -solid -0 1 3 conn -solid -1 0 3 in -solid -1 1 3 in diff --git a/trunk/paradiseo-eo/doc/latex/structeo_eval_func_ptr.tex b/trunk/paradiseo-eo/doc/latex/structeo_eval_func_ptr.tex deleted file mode 100644 index edfe80373..000000000 --- a/trunk/paradiseo-eo/doc/latex/structeo_eval_func_ptr.tex +++ /dev/null @@ -1,62 +0,0 @@ -\section{eo\-Eval\-Func\-Ptr$<$ EOT, Fit\-T, Function\-Arg $>$ Struct Template Reference} -\label{structeo_eval_func_ptr}\index{eoEvalFuncPtr@{eoEvalFuncPtr}} -EOEval\-Func\-Ptr: This class takes an existing function pointer and converts it into a evaluation function class. - - -{\tt \#include $<$eo\-Eval\-Func\-Ptr.h$>$} - -Inheritance diagram for eo\-Eval\-Func\-Ptr$<$ EOT, Fit\-T, Function\-Arg $>$::\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=4cm]{structeo_eval_func_ptr} -\end{center} -\end{figure} -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf eo\-Eval\-Func\-Ptr} ({\bf Fit\-T}($\ast$\_\-eval)(Function\-Arg)) -\begin{CompactList}\small\item\em Applies the function to the chromosome and sets the fitness of the Chrom. \item\end{CompactList}\item -virtual void {\bf operator()} ({\bf EOT} \&\_\-eo)\label{structeo_eval_func_ptr_a1} - -\begin{CompactList}\small\item\em Effectively applies the evaluation function to an {\bf EO}{\rm (p.\,\pageref{class_e_o})}. \item\end{CompactList}\end{CompactItemize} -\subsection*{Private Attributes} -\begin{CompactItemize} -\item -{\bf Fit\-T}($\ast$ {\bf eval\-Func} )(Function\-Arg)\label{structeo_eval_func_ptr_r0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT, class Fit\-T = typename EOT::Fitness, class Function\-Arg = const EOT\&$>$ struct eo\-Eval\-Func\-Ptr$<$ EOT, Fit\-T, Function\-Arg $>$} - -EOEval\-Func\-Ptr: This class takes an existing function pointer and converts it into a evaluation function class. - -That way, old style C or C++ functions can be adapted to {\bf EO}{\rm (p.\,\pageref{class_e_o})} function classes. - - - -Definition at line 43 of file eo\-Eval\-Func\-Ptr.h. - -\subsection{Constructor \& Destructor Documentation} -\index{eoEvalFuncPtr@{eo\-Eval\-Func\-Ptr}!eoEvalFuncPtr@{eoEvalFuncPtr}} -\index{eoEvalFuncPtr@{eoEvalFuncPtr}!eoEvalFuncPtr@{eo\-Eval\-Func\-Ptr}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fit\-T = typename EOT::Fitness, class Function\-Arg = const EOT\&$>$ {\bf eo\-Eval\-Func\-Ptr}$<$ {\bf EOT}, {\bf Fit\-T}, Function\-Arg $>$::{\bf eo\-Eval\-Func\-Ptr} ({\bf Fit\-T}($\ast$)(Function\-Arg) {\em \_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{structeo_eval_func_ptr_a0} - - -Applies the function to the chromosome and sets the fitness of the Chrom. - -Thus, the evaluation function need not be worried about that. \begin{Desc} -\item[Parameters:] -\begin{description} -\item[{\em \_\-eval}]pointer to the evaluation function, takes a EOT as an argument and returns the fitness \end{description} -\end{Desc} -\begin{Desc} -\item[Returns:]the evaluated fitness for that object. \end{Desc} - - -Definition at line 51 of file eo\-Eval\-Func\-Ptr.h. - -The documentation for this struct was generated from the following file:\begin{CompactItemize} -\item -eo\-Eval\-Func\-Ptr.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1binary__function__tag.tex b/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1binary__function__tag.tex deleted file mode 100644 index 8de8aecf4..000000000 --- a/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1binary__function__tag.tex +++ /dev/null @@ -1,19 +0,0 @@ -\section{eo\-Functor\-Base::binary\_\-function\_\-tag Struct Reference} -\label{structeo_functor_base_1_1binary__function__tag}\index{eoFunctorBase::binary_function_tag@{eoFunctorBase::binary\_\-function\_\-tag}} -tag to identify a binary function in compile time function selection functor\_\-category - - -{\tt \#include $<$eo\-Functor.h$>$} - - - -\subsection{Detailed Description} -tag to identify a binary function in compile time function selection functor\_\-category - - - -Definition at line 57 of file eo\-Functor.h. - -The documentation for this struct was generated from the following file:\begin{CompactItemize} -\item -eo\-Functor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1procedure__tag.tex b/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1procedure__tag.tex deleted file mode 100644 index 56cabff59..000000000 --- a/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1procedure__tag.tex +++ /dev/null @@ -1,19 +0,0 @@ -\section{eo\-Functor\-Base::procedure\_\-tag Struct Reference} -\label{structeo_functor_base_1_1procedure__tag}\index{eoFunctorBase::procedure_tag@{eoFunctorBase::procedure\_\-tag}} -tag to identify a procedure in compile time function selection functor\_\-category - - -{\tt \#include $<$eo\-Functor.h$>$} - - - -\subsection{Detailed Description} -tag to identify a procedure in compile time function selection functor\_\-category - - - -Definition at line 53 of file eo\-Functor.h. - -The documentation for this struct was generated from the following file:\begin{CompactItemize} -\item -eo\-Functor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1unary__function__tag.tex b/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1unary__function__tag.tex deleted file mode 100644 index 62e0f222a..000000000 --- a/trunk/paradiseo-eo/doc/latex/structeo_functor_base_1_1unary__function__tag.tex +++ /dev/null @@ -1,19 +0,0 @@ -\section{eo\-Functor\-Base::unary\_\-function\_\-tag Struct Reference} -\label{structeo_functor_base_1_1unary__function__tag}\index{eoFunctorBase::unary_function_tag@{eoFunctorBase::unary\_\-function\_\-tag}} -tag to identify a unary function in compile time function selection functor\_\-category - - -{\tt \#include $<$eo\-Functor.h$>$} - - - -\subsection{Detailed Description} -tag to identify a unary function in compile time function selection functor\_\-category - - - -Definition at line 55 of file eo\-Functor.h. - -The documentation for this struct was generated from the following file:\begin{CompactItemize} -\item -eo\-Functor.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/structeo_pop_1_1_cmp.tex b/trunk/paradiseo-eo/doc/latex/structeo_pop_1_1_cmp.tex deleted file mode 100644 index f97bc58a5..000000000 --- a/trunk/paradiseo-eo/doc/latex/structeo_pop_1_1_cmp.tex +++ /dev/null @@ -1,27 +0,0 @@ -\section{eo\-Pop$<$ EOT $>$::Cmp Struct Reference} -\label{structeo_pop_1_1_cmp}\index{eoPop::Cmp@{eoPop::Cmp}} -helper struct for comparing on pointers - - -{\tt \#include $<$eo\-Pop.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -bool {\bf operator()} (const {\bf EOT} $\ast$a, const {\bf EOT} $\ast$b) const \label{structeo_pop_1_1_cmp_a0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ struct eo\-Pop$<$ EOT $>$::Cmp} - -helper struct for comparing on pointers - - - -Definition at line 124 of file eo\-Pop.h. - -The documentation for this struct was generated from the following file:\begin{CompactItemize} -\item -eo\-Pop.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/structeo_pop_1_1_ref.tex b/trunk/paradiseo-eo/doc/latex/structeo_pop_1_1_ref.tex deleted file mode 100644 index 0274989a8..000000000 --- a/trunk/paradiseo-eo/doc/latex/structeo_pop_1_1_ref.tex +++ /dev/null @@ -1,27 +0,0 @@ -\section{eo\-Pop$<$ EOT $>$::Ref Struct Reference} -\label{structeo_pop_1_1_ref}\index{eoPop::Ref@{eoPop::Ref}} -helper struct for getting a pointer - - -{\tt \#include $<$eo\-Pop.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -const {\bf EOT} $\ast$ {\bf operator()} (const {\bf EOT} \&eot)\label{structeo_pop_1_1_ref_a0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -\subsubsection*{template$<$class EOT$>$ struct eo\-Pop$<$ EOT $>$::Ref} - -helper struct for getting a pointer - - - -Definition at line 122 of file eo\-Pop.h. - -The documentation for this struct was generated from the following file:\begin{CompactItemize} -\item -eo\-Pop.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/structeo_state_1_1loading__error.tex b/trunk/paradiseo-eo/doc/latex/structeo_state_1_1loading__error.tex deleted file mode 100644 index 0027cb9c1..000000000 --- a/trunk/paradiseo-eo/doc/latex/structeo_state_1_1loading__error.tex +++ /dev/null @@ -1,25 +0,0 @@ -\section{eo\-State::loading\_\-error Struct Reference} -\label{structeo_state_1_1loading__error}\index{eoState::loading_error@{eoState::loading\_\-error}} -Loading error thrown when nothing seems to work. - - -{\tt \#include $<$eo\-State.h$>$} - -\subsection*{Public Member Functions} -\begin{CompactItemize} -\item -{\bf loading\_\-error} (std::string huh=\char`\"{}Error while loading\char`\"{})\label{structeo_state_1_1loading__error_a0} - -\end{CompactItemize} - - -\subsection{Detailed Description} -Loading error thrown when nothing seems to work. - - - -Definition at line 83 of file eo\-State.h. - -The documentation for this struct was generated from the following file:\begin{CompactItemize} -\item -eo\-State.h\end{CompactItemize} diff --git a/trunk/paradiseo-eo/doc/latex/todo.tex b/trunk/paradiseo-eo/doc/latex/todo.tex deleted file mode 100644 index e77021cd1..000000000 --- a/trunk/paradiseo-eo/doc/latex/todo.tex +++ /dev/null @@ -1,9 +0,0 @@ -\section{Todo List}\label{todo} -\label{todo__todo000001} - \begin{description} -\item[Class {\bf eo\-Dominance\-Map$<$ Eo\-Type $>$}{\rm (p.\,\pageref{classeo_dominance_map})} ]make it an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}? \end{description} - - -\label{todo__todo000002} - \begin{description} -\item[Member {\bf eo\-Es\-Chrom\-Init::create\_\-self\_\-adapt}{\rm (p.\,\pageref{classeo_es_chrom_init_d2})}(eo\-Es\-Stdev$<$ Fit\-T $>$ \&result) ]Should we scale sigmas to the corresponding object variable range? \end{description} diff --git a/trunk/paradiseo-eo/doc/latex/webpages.tex b/trunk/paradiseo-eo/doc/latex/webpages.tex deleted file mode 100644 index fef5ccc68..000000000 --- a/trunk/paradiseo-eo/doc/latex/webpages.tex +++ /dev/null @@ -1,3 +0,0 @@ -\section{Related webpages}\label{webpages} -\begin{itemize} -\item {\bf EO}{\rm (p.\,\pageref{class_e_o})} {\tt homepage}\item {\bf EO}{\rm (p.\,\pageref{class_e_o})} {\tt Tutorial}.\item Source\-Forge {\tt project page}\item {\tt README}\item {\tt NEWS} \end{itemize} diff --git a/trunk/paradiseo-eo/doc/mainpage.html b/trunk/paradiseo-eo/doc/mainpage.html deleted file mode 100644 index 518fafc70..000000000 --- a/trunk/paradiseo-eo/doc/mainpage.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - - - EO Evolutionary Computation Framework - - - -
-

EO Evolutionary Computation Framework

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

What is EO?

-
-

- EO is a templates-based, ANSI-C++ compliant evolutionary - computation library. It contains classes for almost any kind of - evolutionary computation you might come up to - at least for the - ones we could think of. It is component-based, so that if you - don't find the class you need in it, it is very easy to subclass - existing abstract or concrete classes. -

- -

- EO was started by the - Geneura Team at the - University of Granada, headed - by Juan Julián - Merelo. - The original - Web site is also the only place where you will find old - releases of EO (up to 0.8.7), but beware that it is not compatible - at all with the current version. -

- -

- The developement team has then been reinforced by - Maarten Keijzer, the - C++ wizzard, and Marc - Schoenauer. Later - came Jeroen - Eggermont, who, among other things, did a lot of work on GP, - Sébastien Cahon, who - developped the parallel version of EO, ParadisEO, - Olivier König, - who did a lot of useful additions and cleaning of the code - and Jochen Küpper, - working on automatic installation procedures. -

-
-

Platforms

-
-

- EO should work on Windows and any Un*x-like operating system with - a standard-conforming C++ development system. -

- -

- Recent versions of EO have been tested on the following platforms: -

-
    -
  • Linux x86 with GCC 3.x and 4.x
  • -
  • Linux x86_64 with GCC 3.x and GCC 4.x (t-MGE1bit fails)
  • -
  • MacOS X/Darwin PowerPC with GCC 3.3
  • -
  • Solaris SPARC with GCC 3.3.2
  • -
  • Solaris x86 with GCC 3.3.2 (t-MGE1bit fails)
  • -
  • CygWin (Windows XP) with GCC 3.3.1 (cygming special). -
  • Win95/NT with VC++ 5.0 and Borland Builder. Makefiles and - projects files are provided.
  • -
-

- If you have tested EO on a system not listed here, please - let - us know. -

- -

- If you are working on a system with an older C++ compiler there is - a good chance that eo-0.9.3z.1 works. It is tested on Linux with - gcc-2.9x and several systems (IRIX, Solaris) with egcs. -

-
-

Documentation

-
-

- The tutorial demonstrates that writing an evolutionary algorithm - evolving your own structures is now easy, using - ready-to-use template files. Although it has not been upgraded for - some time now and refers to version 0.9.2 of EO, it nevertheless - remains the best way to dive into EO. You can start by trying it - on-line at - LRI - or SourceForge, - before downloading it. - The tutorial is also included in - the released - sources. -

-

- The latest - tutorial - release includes - a introduction - to ParadisEO, the parallel version of EO. -

-

- The complete code is also well documented and you can look at the - generated interface - documentation. -

-
-

Presentations

-
-

- A functional and "philosophical" overview of EO was presented at - EA'01 - conference. You can download the - paper or - the - slides. -

- -

- An older (but huge) PowerPoint presentation shows the EO - philosophy, and it includes a Visual Basic macro for evolving - objects in Visual Basic for Applications. You can download - it from - here. -

- -

- You can also look a the list of - publications that used EO to solve real problems. -

-
-

Download

-
-

- The current release - is 0.9.3z.1. - It supports GCC 3.x, 4.x, and good old g++ 2.9x. This is the - version you should use now - (September 2005). Current cvs and all subsequent versions will - require GCC 3.x or later. -

- -

- You can obtain the latest version directly - via cvs or - download a daily snapshot from - LRI. -

- -

- All releases can be obtained from the SourceForge download - area. -

-
-

Mailing Lists

-
We would like EO to be an open development - effort; that is why we have created two mailing lists to discuss - future developments, solve technical problems, announce releases, - publish patches, and discuss evolutionary computation in general. - Join the EO - mailing lists
-

EO@sourceforge

-
-

The following resources are available, thanks to sourceforge

- -
-

License

-
EO is distributed under the - GNU Lesser General - Public License
-

Related Apps

-
-

- ParadisEO - provides extensions for EO on parallel architectures. -

- -

- DegaX is an - ActiveX control developed by three degree students which - embeds EO - 0.8.4. (Currently these links are dead. Please - let - us know where they should point.) -

- -

- MOEO, a - multi-objective package on top of EO. -

-
-

Links

-
- -
-
-

maartenkeijzer@users.sourceforge.net - - merelo@users.sourceforge.net - - evomarc@users.sourceforge.net -

-

- Hosted by:
SF logo -

-
-

- - Valid HTML 4.01 Transitional -
- Please send comments on this webpage to - the EO - mailing list. -

- - - - - - - - diff --git a/trunk/paradiseo-eo/doc/make_snapshot.out b/trunk/paradiseo-eo/doc/make_snapshot.out deleted file mode 100644 index bd5f1eb6c..000000000 --- a/trunk/paradiseo-eo/doc/make_snapshot.out +++ /dev/null @@ -1,1449 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/eoVirus.h:36: Warning: missing title after \defgroup bitstring -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOp.h:33: Warning: missing title after \defgroup Operators -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:33: Warning: missing title after \defgroup PropCombinedOperators -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:212: Warning: Missing //@} -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:274: Warning: end of group without matching begin. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealInitBounded.h:66: Warning: end of group without matching begin. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:503: Warning: end of group without matching begin. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBit.h:44: Warning: missing title after \defgroup bitstring -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:446: Warning: end of group without matching begin. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTree.h:40: Warning: missing title after \defgroup ParseTree -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:44: Warning: missing title after \defgroup StParseTree -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:34: Warning: missing title after \defgroup EvolutionStrategies -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:34: Warning: missing title after \defgroup EvolutionStrategies -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:35: Warning: missing title after \defgroup EvolutionStrategies -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/selectors.h:46: Warning: missing title after \defgroup selectors -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFunctor.h:52: Command @see not allowed in single-line C++ comment! Ignoring. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFunctor.h:54: Command @see not allowed in single-line C++ comment! Ignoring. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFunctor.h:56: Command @see not allowed in single-line C++ comment! Ignoring. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFunctor.h:81: Command @see not allowed in single-line C++ comment! Ignoring. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFunctor.h:118: Command @see not allowed in single-line C++ comment! Ignoring. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFunctor.h:158: Command @see not allowed in single-line C++ comment! Ignoring. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBit.h:44: Warning: group bitstring already documented. Skipping documentation. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:34: Warning: group EvolutionStrategies already documented. Skipping documentation. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:35: Warning: group EvolutionStrategies already documented. Skipping documentation. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBit.h:51: Warning: class eoBit already has a detailed description. Skipping the one found here. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBit.h:51: Warning: class eoBit already has a brief description - skipping the one found here. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:56: Warning: Compound fitness_traits< minimization > is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/MultiFunction.cpp:29: Warning: Compound Function is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/SymImpl.h:87: Warning: Compound detail::SymValue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/BoundsCheck.h:34: Warning: Compound IntervalBoundsCheck is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/valueParam.cpp:57: Warning: Compound ValueParam_pickle_suite is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoDistance.h:87: Warning: Compound eoFitnessDistance is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:52: Warning: Compound minimization is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoPareto.cpp:69: Warning: Compound Init is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/valueParam.cpp:31: Warning: Compound ParamWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoSBXcross.h:36: Warning: Compound eoSBXCrossover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:339: Warning: Compound eoBestFitnessStat::CmpFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/TargetInfo.cpp:107: Warning: Compound SortOnTargets is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/gprop.h:47: Warning: Compound phenotype is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:1033: Warning: Compound gp_parse_tree::parse_tree::iterator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:286: Warning: Compound gp_parse_tree::Standard_alloc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/Sym.h:54: Warning: Compound Sym is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:56: Warning: Compound monop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOneToOneBreeder.h:53: Warning: Compound eoOneToOneBreeder is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/symreg.cpp:81: Warning: Compound SumSizeStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/README.cpp:235: Warning: Compound MyNodeStats is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSymreg.cpp:141: Warning: Compound RMS is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymLambdaMutate.h:30: Warning: Compound eoSymLambdaMutate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:234: Warning: Compound eoNthElementFitnessStat::CmpFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/fitness.h:166: Warning: Compound RegFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:66: Warning: Compound fitness_traits< maximization > is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoPareto.cpp:98: Warning: Compound eoNDPlusReplacement::WorthPair is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/make_algo_pareto.h:51: Warning: Compound eoNDPlusReplacement::WorthPair is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/matrices.h:6: Warning: Compound lower_triangular_matrix is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/RoyalRoad.h:29: Warning: Compound RoyalRoad is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/SymImpl.cpp:22: Warning: Compound detail::SymArgsImpl is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/Scaling.h:48: Warning: Compound LinearScaling is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/mse.h:54: Warning: Compound mse::net is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/SymImpl.h:66: Warning: Compound detail::SymKey::Hash is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:77: Warning: Compound fitness_traits< pair< Performance, Worth > > is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:45: Warning: Compound eoOneBitFlip is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/l2.h:58: Warning: Compound l2::net is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/perf2worth.cpp:27: Warning: Compound Perf2WorthWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/VirusOp.h:57: Warning: Compound VirusMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymCrossover.h:55: Warning: Compound eoBinHomologousCrossover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/BoundsCheck.h:51: Warning: Compound NoBoundsCheck is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ErrorMeasure.cpp:48: Warning: Compound ErrorMeasureImpl is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:968: Warning: Compound gp_parse_tree::parse_tree::base_iterator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/FunDef.h:126: Warning: Compound differentiation_error is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:71: Warning: Compound binop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:338: Warning: Compound eoHypercubeCrossover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoRoulette.cpp:7: Warning: Compound TestEO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:1153: Warning: Compound gp_parse_tree::parse_tree::embedded_const_iterator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/monitors.cpp:28: Warning: Compound MonitorWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/BoundsCheck.cpp:27: Warning: Compound IntervalBoundsCheckImpl is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:79: Warning: Compound MemPool::Chunk is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:83: Warning: Compound CovMatrix is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:209: Warning: Compound eoEasyEA::eoDummySelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/mastermind.h:144: Warning: Compound eoChromMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/gprop.h:166: Warning: Compound eoChromMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymCrossover.h:40: Warning: Compound eoBinSubtreeCrossover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/MultiFunction.h:9: Warning: Compound MultiFunction is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:74: Warning: Compound MemPool::Link is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/reduce.cpp:29: Warning: Compound eoReduceWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:54: Warning: Compound eoParseTreeDepthInit::lt_arity is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:346: Warning: Compound gp_parse_tree::Tree_alloc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSym.h:27: Warning: Compound EoSym is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:243: Warning: Compound gp_parse_tree::MemPool::Chunk is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/def_abstract_functor.h:98: Warning: Compound eoutils::BinaryWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/VirusOp.h:125: Warning: Compound VirusTransmission is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/Scaling.h:29: Warning: Compound ScalingBase is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymEval.h:29: Warning: Compound eoSymPopEval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/statistics.cpp:21: Warning: Compound SortedStatBaseWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:443: Warning: Compound eoNDSorting_II::compare_nodes is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/SymImpl.h:58: Warning: Compound detail::SymKey is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/geneticOps.cpp:86: Warning: Compound QuadOpWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/geneticOps.cpp:54: Warning: Compound PopulatorWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/BoundsCheck.h:26: Warning: Compound BoundsCheck is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/MultiFunction.cpp:199: Warning: Compound MultiFunctionImpl is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/PyEO.cpp:76: Warning: Compound pyPop_pickle_suite is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/qp.h:51: Warning: Compound qp::neuron is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/SymImpl.h:38: Warning: Compound detail::SymArgs is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/binary_value.h:20: Warning: Compound BinaryValue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:111: Warning: Compound one2threeOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/Interval.h:32: Warning: Compound interval_error is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/FunDef.h:29: Warning: Compound FunDef is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:102: Warning: Compound quadClone is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoBaseFunctions.cpp:9: Warning: Compound eo1 is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoBaseFunctions.cpp:14: Warning: Compound eo2 is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/mlp.h:389: Warning: Compound mlp::set is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/shared_ptr.h:72: Warning: Compound weak_ptr is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ErrorMeasure.h:27: Warning: Compound ErrorMeasure is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/mastermind.h:183: Warning: Compound eoChromXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/gprop.h:181: Warning: Compound eoChromXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:494: Warning: Compound gp_parse_tree::parse_tree::subtree is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:458: Warning: Compound eoRealUXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSharing.cpp:49: Warning: Compound eoDummyPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSelect.cpp:31: Warning: Compound eoDummyPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoReplacement.cpp:32: Warning: Compound eoDummyPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoCheckpointing.cpp:34: Warning: Compound eoDummyPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/statistics.cpp:9: Warning: Compound StatBaseWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:37: Warning: Compound Var is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/pipecom.h:19: Warning: Compound PipeCommunication is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/node.h:118: Warning: Compound Node is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/shared_ptr.h:25: Warning: Compound shared_ptr is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoFitnessAssembledEA.cpp:58: Warning: Compound eoAssembledEvalFunc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/PyEO.h:31: Warning: Compound index_error is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoExternalEO.cpp:16: Warning: Compound UserDefStruct is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/eoVirus.h:50: Warning: Compound eoVirus is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/parameters.h:29: Warning: Compound Parameters is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:379: Warning: Compound eoDistanceStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:84: Warning: Compound quadop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduce.h:102: Warning: Compound eoEPReduce::Cmp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:1131: Warning: Compound gp_parse_tree::parse_tree::const_iterator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/PyEO.h:140: Warning: Compound PyEO_pickle_suite is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoPareto.cpp:24: Warning: Compound eoDouble is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoPareto.cpp:12: Warning: Compound MinimizingFitnessTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/fitness.h:44: Warning: Compound MinimizingFitnessTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:212: Warning: Compound eoEasyEA::eoDummyTransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:159: Warning: Compound Standard_Node_alloc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/MultiFunction.cpp:51: Warning: Compound Compiler is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPeriodicContinue.h:30: Warning: Compound eoPeriodicContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSharing.cpp:34: Warning: Compound eoDummyDistance is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:174: Warning: Compound eoSeqPopulator::OutOfIndividuals is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:53: Warning: Compound maximization is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:238: Warning: Compound gp_parse_tree::MemPool::Link is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/CMAState.cpp:70: Warning: Compound eo::CMAStateImpl is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/geneticOps.cpp:70: Warning: Compound MonOpWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/PyEO.h:113: Warning: Compound PyEO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/mlp.h:366: Warning: Compound mlp::sample is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:146: Warning: Compound three2threeOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:1057: Warning: Compound gp_parse_tree::parse_tree::embedded_iterator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/mlp.h:224: Warning: Compound mlp::net is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/valueParam.h:8: Warning: Compound ValueParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPop.h:208: Warning: Compound eoPop::GetFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSSGA.cpp:8: Warning: Compound eoBreedOne is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:52: Warning: Compound eoPopulator::OutOfIndividuals is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoproblem.cpp:26: Warning: Compound Easy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymMutate.h:28: Warning: Compound eoSymSubtreeMutate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/def_abstract_functor.h:36: Warning: Compound eoutils::ProcWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:122: Warning: Compound Standard_alloc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoPareto.cpp:48: Warning: Compound Eval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/node.h:54: Warning: Compound Operation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:215: Warning: Compound eoEasyEA::eoDummyEval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSymreg.cpp:14: Warning: Compound SymregNode is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/NodeSelector.h:27: Warning: Compound NodeSelector::NodeSelection is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/gprop.h:108: Warning: Compound Chrom is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymCrossover.h:28: Warning: Compound eoQuadSubtreeCrossover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:323: Warning: Compound gp_parse_tree::Standard_Node_alloc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymMutate.h:58: Warning: Compound eoSymNodeMutate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/random_numbers.cpp:55: Warning: Compound RNG_pickle_suite is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/qp.h:125: Warning: Compound qp::net is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/perf2worth.cpp:50: Warning: Compound CachedPerf2WorthWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/symreg.cpp:94: Warning: Compound DagSizeStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:15: Warning: Compound fitness_traits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/CMAState.h:24: Warning: Compound eo::CMAState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/selectOne.cpp:35: Warning: Compound eoSelectOneWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/CMAParams.h:20: Warning: Compound eo::CMAParams is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/Sym.h:153: Warning: Compound HashSym is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoFunctor.cpp:12: Warning: Compound Tester is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/PyEO.h:38: Warning: Compound PyFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/def_abstract_functor.h:65: Warning: Compound eoutils::UnaryWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:182: Warning: Compound Tree_alloc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:256: Warning: Compound gp_parse_tree::Node_alloc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/mastermind.h:128: Warning: Compound eoInitChrom is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/gprop.h:132: Warning: Compound eoInitChrom is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/Dataset.cpp:26: Warning: Compound DataSetImpl is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/LanguageTable.h:26: Warning: Compound LanguageTable is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:1079: Warning: Compound gp_parse_tree::parse_tree::base_const_iterator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:489: Warning: Compound gp_parse_tree::parse_tree is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:20: Warning: Compound Mean is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ErrorMeasure.h:39: Warning: Compound ErrorMeasure::result is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:242: Warning: Compound eoNDSorting::Sorter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/Dataset.h:26: Warning: Compound Dataset is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/geneticOps.cpp:78: Warning: Compound BinOpWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/LanguageTable.cpp:28: Warning: Compound LanguageImpl is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/FunDef.cpp:111: Warning: Compound HashDouble is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/TargetInfo.h:24: Warning: Compound TargetInfo is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:131: Warning: Compound two2oneOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/symreg.cpp:56: Warning: Compound eoBestIndividualStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/TreeBuilder.h:24: Warning: Compound TreeBuilder is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/token.h:23: Warning: Compound functor_t is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/Sym.h:31: Warning: Compound UniqueNodeStats is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/mlp.h:151: Warning: Compound mlp::layer is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSSGA.cpp:51: Warning: Compound Mutate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoPareto.cpp:29: Warning: Compound Mutate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/Scaling.h:73: Warning: Compound NoScaling is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:148: Warning: Compound eoCellularEasyEA::eoSelectFirstOne is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:243: Warning: Compound eo1PtBitXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:92: Warning: Compound Node_alloc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSSGA.cpp:29: Warning: Compound eoMyEval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/symreg.cpp:68: Warning: Compound AverageSizeStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/mlp.h:77: Warning: Compound mlp::neuron is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSSGA.cpp:40: Warning: Compound Xover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/geneticOps.cpp:33: Warning: Compound GenOpWrapper is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymMutate.h:99: Warning: Compound eoSymConstantMutate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/qp.h:94: Warning: Compound qp::layer is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/matrices.h:24: Warning: Compound square_matrix is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/SymImpl.cpp:50: Warning: no matching class member found for - const SymArgs & detail::SymArgs::operator=(const SymArgs &args) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eig.h:21: Warning: no matching file member found for -int eo::eig(int N, const lower_triangular_matrix &C, std::valarray< double > &diag, square_matrix &Q, int niter=0) -Possible candidates: - int eig(int N, const lower_triangular_matrix &C, valarray< double > &diag, square_matrix &Q, int niter) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:71: Warning: no matching class member found for - eoParser::eoParser(unsigned _argc, char **_argv, string _programDescription, string _lFileParamName, char _shortHand) -Possible candidates: - eoParser::eoParser(unsigned _argc, char **_argv, std::string _programDescription="", std::string _lFileParamName="param-file", char _shortHand= 'p') -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:106: Warning: no matching class member found for - eoParam * eoParser::getParamWithLongName(const std::string &_name) const -Possible candidates: - eoParam * eoParser::getParamWithLongName(const std::string &_name) const -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:119: Warning: no matching class member found for - void eoParser::processParam(eoParam ¶m, std::string section) -Possible candidates: - void eoParser::processParam(eoParam ¶m, std::string section="") -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:131: Warning: no matching class member found for - void eoParser::doRegisterParam(eoParam ¶m) const -Possible candidates: - void eoParser::doRegisterParam(eoParam ¶m) const -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:145: Warning: no matching class member found for - pair< bool, string > eoParser::getValue(eoParam &_param) const -Possible candidates: - std::pair< bool, std::string > eoParser::getValue(eoParam &_param) const -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:170: Warning: no matching class member found for - void eoParser::updateParameters() const -Possible candidates: - void eoParser::updateParameters() const -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:180: Warning: no matching class member found for - void eoParser::readFrom(istream &is) -Possible candidates: - void eoParser::readFrom(std::istream &is) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:250: Warning: no matching class member found for - void eoParser::printOn(ostream &os) const -Possible candidates: - void eoParser::printOn(std::ostream &os) const -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:294: Warning: no matching class member found for - void eoParser::printHelp(ostream &os) -Possible candidates: - void eoParser::printHelp(std::ostream &os) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.cpp:347: Warning: no matching class member found for - bool eoParser::userNeedsHelp(void) -Possible candidates: - bool eoParser::userNeedsHelp(void) -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/eoAged.h:105: Warning: Member age of class eoAged is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoAssembledFitnessStat.h:52: Warning: Member Fitness of class eoAssembledFitnessAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoAssembledFitnessStat.h:57: Warning: Member eoAssembledFitnessAverageStat(unsigned _whichTerm=0, std::string _description="Average Fitness") of class eoAssembledFitnessAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoAssembledFitnessStat.h:78: Warning: Member whichFitnessTerm of class eoAssembledFitnessAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoAssembledFitnessStat.h:93: Warning: Member Fitness of class eoAssembledFitnessBestStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoAssembledFitnessStat.h:97: Warning: Member eoAssembledFitnessBestStat(unsigned _whichTerm=0, std::string _description="Best Fitness") of class eoAssembledFitnessBestStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoAssembledFitnessStat.h:109: Warning: Member whichFitnessTerm of class eoAssembledFitnessBestStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:115: Warning: Member Fitness of class eoAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:118: Warning: Member eoAverageStat(std::string _description="Average Fitness") of class eoAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:125: Warning: Member eoAverageStat(double _value, std::string _desc) of class eoAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:131: Warning: Member className(void) const of class eoAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:120: Warning: Member sumFitness(double _sum, const EOT &_eot) of class eoAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:138: Warning: Member doit(const eoPop< EOT > &_pop, eoParetoFitness< T >) of class eoAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:156: Warning: Member doit(const eoPop< EOT > &_pop, T) of class eoAverageStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:323: Warning: Member Fitness of class eoBestFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:327: Warning: Member eoBestFitnessStat(std::string _description="Best ") of class eoBestFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:333: Warning: Member className(void) const of class eoBestFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:357: Warning: Member doit(const eoPop< EOT > &_pop, eoParetoFitness< T >) of class eoBestFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:371: Warning: Member doit(const eoPop< EOT > &_pop, T) of class eoBestFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/NodeSelector.h:60: Warning: Member BiasedNodeSelector(unsigned n) of class BiasedNodeSelector is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/NodeSelector.h:62: Warning: Member select_node(Sym sym) const of class BiasedNodeSelector is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/NodeSelector.h:57: Warning: Member nRounds of class BiasedNodeSelector is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCounter.h:146: Warning: Member eoBinaryFunctorCounter(BinaryFunctor &_func, std::string _name="proc_counter") of class eoBinaryFunctorCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCounter.h:179: Warning: Member func of class eoBinaryFunctorCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCloneOps.h:62: Warning: Member className() const of class eoBinCloneOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:110: Warning: Member eoBinGenOp(eoBinOp< EOT > &_op) of class eoBinGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:125: Warning: Member className() const of class eoBinGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:128: Warning: Member op of class eoBinGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOp.h:123: Warning: Member className() const of class eoBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBit.h:65: Warning: The following parameters of eoBit< FitT >::eoBit(unsigned size=0, bool value=false) are not documented: - parameter value - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:439: Warning: Member gene_size of class eoBitGxOver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:440: Warning: Member num_points of class eoBitGxOver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:136: Warning: Member rate of class eoBitMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:137: Warning: Member normalize of class eoBitMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:107: Warning: The following parameters of eoBitMutation< Chrom >::eoBitMutation(const double &_rate=0.01, bool _normalize=false) are not documented: - parameter _normalize - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:73: Warning: Member boolean_generator(float _bias=0.5, eoRng &_rng=rng) of class boolean_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:75: Warning: Member operator()(void) of class boolean_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:77: Warning: Member bias of class boolean_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:78: Warning: Member gen of class boolean_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:107: Warning: Member eoBooleanGenerator(float _bias=0.5, eoRng &_rng=rng) of class eoBooleanGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:111: Warning: Member bias of class eoBooleanGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:112: Warning: Member gen of class eoBooleanGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:113: Warning: Member eoBooleanInit(float _bias=0.5, eoRng &_rng=rng) of class eoBooleanInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:117: Warning: Member bias of class eoBooleanInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:118: Warning: Member gen of class eoBooleanInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:91: Warning: Member EoType of class eoBranchMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:129: Warning: Member max_length of class eoBranchMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:130: Warning: Member initializer of class eoBranchMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:81: Warning: Member eoCellularEasyEA(eoContinue< EOT > &_cont, eoEvalFunc< EOT > &_eval, eoSelectOne< EOT > &_sel_neigh, eoQuadOp< EOT > &_cross, eoMonOp< EOT > &_mut, eoSelectOne< EOT > &_sel_child, eoSelectOne< EOT > &_sel_repl) of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:135: Warning: Member neighbours(const eoPop< EOT > &pop, int rank)=0 of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:139: Warning: Member cont of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:140: Warning: Member eval of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:141: Warning: Member popEval of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:142: Warning: Member sel_neigh of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:143: Warning: Member cross of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:144: Warning: Member mut of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:145: Warning: Member sel_child of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCellularEasyEA.h:146: Warning: Member sel_repl of class eoCellularEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:51: Warning: Member eoCheckPoint(eoContinue< EOT > &_cont) of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:57: Warning: Member add(eoContinue< EOT > &_cont) of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:58: Warning: Member add(eoSortedStatBase< EOT > &_stat) of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:59: Warning: Member add(eoStatBase< EOT > &_stat) of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:60: Warning: Member add(eoMonitor &_mon) of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:61: Warning: Member add(eoUpdater &_upd) of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:63: Warning: Member className(void) const of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:68: Warning: Member continuators of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:69: Warning: Member sorted of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:70: Warning: Member stats of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:71: Warning: Member monitors of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoCheckPoint.h:72: Warning: Member updaters of class eoCheckPoint is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMABreed.h:44: Warning: Member eoCMABreed(eo::CMAState &state_, unsigned lambda_) of class eoCMABreed is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMABreed.h:46: Warning: Member operator()(const eoPop< EOT > &parents, eoPop< EOT > &offspring) of class eoCMABreed is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMABreed.h:41: Warning: Member EOT of class eoCMABreed is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMABreed.h:38: Warning: Member state of class eoCMABreed is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMABreed.h:39: Warning: Member lambda of class eoCMABreed is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMAInit.h:44: Warning: Member eoCMAInit(const eo::CMAState &state_) of class eoCMAInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMAInit.h:47: Warning: Member operator()(EOT &v) of class eoCMAInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMAInit.h:41: Warning: Member EOT of class eoCMAInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoCMAInit.h:39: Warning: Member state of class eoCMAInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:276: Warning: Member EoType of class eoCollapseSubtreeMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:325: Warning: Member max_length of class eoCollapseSubtreeMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:326: Warning: Member initializer of class eoCollapseSubtreeMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCombinedContinue.h:64: Warning: Member add(eoContinue< EOT > &_cont) of class eoCombinedContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCombinedContinue.h:70: Warning: Member removeLast(void) of class eoCombinedContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCombinedContinue.h:85: Warning: Member className(void) const of class eoCombinedContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCombinedContinue.h:88: Warning: Member continuators of class eoCombinedContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCombinedInit.h:84: Warning: Member initializers of class eoCombinedInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCombinedInit.h:85: Warning: Member rates of class eoCombinedInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:93: Warning: Member no_elite of class eoCommaReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:94: Warning: Member truncate of class eoCommaReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoContinue.h:40: Warning: Member className(void) const of class eoContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPersistent.h:58: Warning: argument `_is' of command @param is not found in the argument list of eoContinue< EOT >::readFrom(std::istream &__is) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPersistent.h:58: Warning: The following parameters of eoContinue< EOT >::readFrom(std::istream &__is) are not documented: - parameter __is - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPrintable.h:49: Warning: argument `_os' of command @param is not found in the argument list of eoContinue< EOT >::printOn(std::ostream &__os) const -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPrintable.h:49: Warning: The following parameters of eoContinue< EOT >::printOn(std::ostream &__os) const are not documented: - parameter __os - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:97: Warning: Member eoCountedDynUpdate(eoUpdatable &_toUpdate, unsigned _interval) of class eoCountedDynUpdate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:107: Warning: Member interval of class eoCountedDynUpdate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:108: Warning: Member counter of class eoCountedDynUpdate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:133: Warning: Member eoCountedStateSaver(unsigned _interval, const eoState &_state, std::string _prefix, bool _saveOnLastCall, std::string _extension="sav", unsigned _counter=0) of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:138: Warning: Member eoCountedStateSaver(unsigned _interval, const eoState &_state, std::string _prefix="state", std::string _extension="sav", unsigned _counter=0) of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:140: Warning: Member lastCall(void) of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:143: Warning: Member className(void) const of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:145: Warning: Member doItNow(void) of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:147: Warning: Member state of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:148: Warning: Member interval of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:149: Warning: Member counter of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:150: Warning: Member saveOnLastCall of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:152: Warning: Member prefix of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:153: Warning: Member extension of class eoCountedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:67: Warning: Member update(double a, double b) of class Cov is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:78: Warning: Member get_meana() const of class Cov is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:79: Warning: Member get_meanb() const of class Cov is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:80: Warning: Member get_cov() const of class Cov is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:59: Warning: Member n of class Cov is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:60: Warning: Member meana of class Cov is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:61: Warning: Member meanb of class Cov is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/stats.h:62: Warning: Member sumcov of class Cov is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCtrlCContinue.h:69: Warning: Member className(void) const of class eoCtrlCContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:95: Warning: Member num_bit of class eoDetBitFlip is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSurviveAndDie.h:180: Warning: Member reduceGlobal of class eoDeterministicSaDReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSurviveAndDie.h:181: Warning: Member sAdParents of class eoDeterministicSaDReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSurviveAndDie.h:182: Warning: Member sAdOffspring of class eoDeterministicSaDReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSurviveAndDie.h:184: Warning: Member plus of class eoDeterministicSaDReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSurviveAndDie.h:186: Warning: Member truncate of class eoDeterministicSaDReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoDetSelect.h:80: Warning: Member howMany of class eoDetSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoDetTournamentSelect.h:50: Warning: Member eoDetTournamentSelect(unsigned _tSize=2) of class eoDetTournamentSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoDetTournamentSelect.h:67: Warning: Member tSize of class eoDetTournamentSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduce.h:193: Warning: Member eoDetTournamentTruncate(unsigned _t_size) of class eoDetTournamentTruncate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduce.h:229: Warning: Member t_size of class eoDetTournamentTruncate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:247: Warning: Member t_size of class eoDetTournamentTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:248: Warning: Member howMany of class eoDetTournamentTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:249: Warning: Member returnEliminated of class eoDetTournamentTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:97: Warning: Member worthIterator of class eoDetTournamentWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:102: Warning: Member eoDetTournamentWorthSelect(eoPerf2Worth< EOT, WorthT > &perf2Worth, unsigned _tSize) of class eoDetTournamentWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:121: Warning: Member tSize of class eoDetTournamentWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:232: Warning: Member homogeneous of class eoDetUniformMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:233: Warning: Member bounds of class eoDetUniformMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:234: Warning: Member epsilon of class eoDetUniformMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:235: Warning: Member no of class eoDetUniformMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:147: Warning: argument `number' of command @param is not found in the argument list of eoDetUniformMutation< EOT >::eoDetUniformMutation(const double &_epsilon, const unsigned &_no=1) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:147: Warning: The following parameters of eoDetUniformMutation< EOT >::eoDetUniformMutation(const double &_epsilon, const unsigned &_no=1) are not documented: - parameter _no - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:158: Warning: argument `number' of command @param is not found in the argument list of eoDetUniformMutation< EOT >::eoDetUniformMutation(eoRealVectorBounds &_bounds, const double &_epsilon, const unsigned &_no=1) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:158: Warning: The following parameters of eoDetUniformMutation< EOT >::eoDetUniformMutation(eoRealVectorBounds &_bounds, const double &_epsilon, const unsigned &_no=1) are not documented: - parameter _no - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:175: Warning: argument `number' of command @param is not found in the argument list of eoDetUniformMutation< EOT >::eoDetUniformMutation(eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const unsigned &_no=1) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:175: Warning: The following parameters of eoDetUniformMutation< EOT >::eoDetUniformMutation(eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const unsigned &_no=1) are not documented: - parameter _no - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSharing.h:41: Warning: Member dMatrix(unsigned _s) of class dMatrix is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSharing.h:69: Warning: Member rSize of class dMatrix is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoDominanceMap.h:159: Warning: Member fitness of class eoDominanceMap is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoCheckpointing.cpp:29: Warning: Member Type of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:38: Warning: Member Type of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoReplacement.cpp:22: Warning: Member Type of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSelect.cpp:17: Warning: Member Type of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSharing.cpp:23: Warning: Member Type of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoStateAndParser.cpp:31: Warning: Member Type of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:39: Warning: Member Dummy(std::string _s="") of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoGenOp.cpp:47: Warning: Member s of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoSharing.cpp:29: Warning: Member xdist of class Dummy is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:148: Warning: Member PCrossHandle() of class eoDynSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:149: Warning: Member PMutHandle() of class eoDynSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:155: Warning: Member cross of class eoDynSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:156: Warning: Member crossoverProbaHolder of class eoDynSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:157: Warning: Member crossoverProba of class eoDynSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:158: Warning: Member mutate of class eoDynSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:159: Warning: Member mutationProbaHolder of class eoDynSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:160: Warning: Member mutationProba of class eoDynSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:121: Warning: argument `pop' of command @param is not found in the argument list of eoDynSGATransform< EOT >::operator()(eoPop< EOT > &_pop) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:121: Warning: The following parameters of eoDynSGATransform< EOT >::operator()(eoPop< EOT > &_pop) are not documented: - parameter _pop - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:53: Warning: Member eoDynUpdater(eoUpdatable &_toUpdate) of class eoDynUpdater is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:61: Warning: Member toUpdate of class eoDynUpdater is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:209: Warning: Member dummySelect of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:212: Warning: Member dummyTransform of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:215: Warning: Member dummyEval of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:217: Warning: Member continuator of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:219: Warning: Member eval of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:220: Warning: Member loopEval of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:222: Warning: Member popEval of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:224: Warning: Member selectTransform of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:225: Warning: Member breed of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:229: Warning: Member dummyMerge of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:230: Warning: Member dummyReduce of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:232: Warning: Member mergeReduce of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:233: Warning: Member replace of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:236: Warning: Member eoIslandsEasyEA of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEasyEA.h:237: Warning: Member eoDistEvalEasyEA of class eoEasyEA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSequentialSelect.h:139: Warning: Member current of class eoEliteSequentialSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSequentialSelect.h:140: Warning: Member eoPters of class eoEliteSequentialSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMerge.h:60: Warning: Member eoElitism(double _rate, bool _interpret_as_rate=true) of class eoElitism is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMerge.h:100: Warning: Member rate of class eoElitism is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMerge.h:101: Warning: Member combien of class eoElitism is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/EO.h:47: Warning: Member Fitness of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:115: Warning: Member fitness_traits of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:116: Warning: Member storage_type of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:117: Warning: Member performance_type of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:118: Warning: Member worth_type of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/EO.h:67: Warning: Member invalidate() of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/EO.h:87: Warning: Member operator>(const EO &_eo2) const of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:124: Warning: Member fitness(performance_type perf) of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:129: Warning: Member performance(performance_type perf) of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:135: Warning: Member performance(void) const of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:141: Warning: Member worth(worth_type worth) of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:147: Warning: Member worth(void) const of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:154: Warning: Member fitness(void) const of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:159: Warning: Member invalidate(void) of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:165: Warning: Member invalidate_worth(void) of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:170: Warning: Member operator<(const EO< Fitness, Traits > &other) const of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:175: Warning: Member operator>(const EO< Fitness, Traits > &other) const of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/EO.h:146: Warning: Member repFitness of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/EO.h:147: Warning: Member invalidFitness of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:181: Warning: Member valid_performance of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:182: Warning: Member valid_worth of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:183: Warning: Member rep_fitness of class EO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduce.h:86: Warning: Member Fitness of class eoEPReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduce.h:90: Warning: Member eoEPReduce(unsigned _t_size) of class eoEPReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduce.h:160: Warning: Member t_size of class eoEPReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:107: Warning: Member eoEPReplacement(int _tSize) of class eoEPReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:109: Warning: Member plus of class eoEPReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:110: Warning: Member truncate of class eoEPReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsChromInit.h:62: Warning: Member FitT of class eoEsChromInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsChromInit.h:100: Warning: argument `_sigma' of command @param is not found in the argument list of eoEsChromInit< EOT >::eoEsChromInit(eoRealVectorBounds &_bounds, std::vector< double > _vecSigma) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsChromInit.h:100: Warning: The following parameters of eoEsChromInit< EOT >::eoEsChromInit(eoRealVectorBounds &_bounds, std::vector< double > _vecSigma) are not documented: - parameter _vecSigma - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsFull.h:47: Warning: Member Type of class eoEsFull is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsFull.h:79: Warning: Member stdevs of class eoEsFull is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsFull.h:80: Warning: Member correlations of class eoEsFull is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsGlobalXover.h:47: Warning: Member FitT of class eoEsGlobalXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsGlobalXover.h:144: Warning: Member sel of class eoEsGlobalXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsGlobalXover.h:145: Warning: Member crossObj of class eoEsGlobalXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsGlobalXover.h:146: Warning: Member crossMut of class eoEsGlobalXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsGlobalXover.h:61: Warning: argument `_pop' of command @param is not found in the argument list of eoEsGlobalXover< EOT >::apply(eoPopulator< EOT > &_plop) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsGlobalXover.h:61: Warning: The following parameters of eoEsGlobalXover< EOT >::apply(eoPopulator< EOT > &_plop) are not documented: - parameter _plop - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:64: Warning: Found unknown command `\tau' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:101: Warning: Member section(void) of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:103: Warning: Member TauLclName(void) const of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:104: Warning: Member TauLclShort(void) const of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:106: Warning: Member TauGlbName(void) const of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:107: Warning: Member TauGlbShort(void) const of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:109: Warning: Member TauBetaName(void) const of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:110: Warning: Member TauBetaShort(void) const of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:114: Warning: Member parser of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:115: Warning: Member repSection of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:116: Warning: Member TauLclParam of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:117: Warning: Member TauGlbParam of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:118: Warning: Member TauBetaParam of class eoEsMutationInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsMutationInit.h:52: Warning: Found unknown command `\tau' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsSimple.h:46: Warning: Member Type of class eoEsSimple is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsSimple.h:64: Warning: Member stdev of class eoEsSimple is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStandardXover.h:49: Warning: Member FitT of class eoEsStandardXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStandardXover.h:82: Warning: Member cross_self_adapt(eoEsSimple< FitT > &_parent1, const eoEsSimple< FitT > &_parent2) of class eoEsStandardXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStandardXover.h:87: Warning: Member cross_self_adapt(eoEsStdev< FitT > &_parent1, const eoEsStdev< FitT > &_parent2) of class eoEsStandardXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStandardXover.h:97: Warning: Member cross_self_adapt(eoEsFull< FitT > &_parent1, const eoEsFull< FitT > &_parent2) of class eoEsStandardXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStandardXover.h:115: Warning: Member sel of class eoEsStandardXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStandardXover.h:116: Warning: Member crossObj of class eoEsStandardXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStandardXover.h:117: Warning: Member crossMut of class eoEsStandardXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStdev.h:43: Warning: Member Type of class eoEsStdev is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoEsStdev.h:67: Warning: Member stdevs of class eoEsStdev is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEvalContinue.h:62: Warning: Member className(void) const of class eoEvalContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEvalContinue.h:64: Warning: Member eval of class eoEvalContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEvalContinue.h:65: Warning: Member repTotalEvaluations of class eoEvalContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEvalFunc.h:44: Warning: Member EOType of class eoEvalFunc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEvalFunc.h:46: Warning: Member EOFitT of class eoEvalFunc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEvalFuncCounter.h:41: Warning: Member eoEvalFuncCounter(eoEvalFunc< EOT > &_func, std::string _name="Eval. ") of class eoEvalFuncCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEvalFuncCounter.h:53: Warning: Member func of class eoEvalFuncCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoEvalFuncPtr.h:62: Warning: Member evalFunc)(FunctionArg) of class eoEvalFuncPtr is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:208: Warning: Member EoType of class eoExpansionMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:262: Warning: Member max_length of class eoExpansionMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:263: Warning: Member initializer of class eoExpansionMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:132: Warning: Member eoExternalBinOp(bool(*_binop)(External &, const External &)) of class eoExternalBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:141: Warning: Member binop)(External &, const External &) of class eoExternalBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalEO.h:54: Warning: Member eoExternalEO(std::istream &is, const External &ext) of class eoExternalEO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:77: Warning: Member eoExternalEvalFunc(F(*_eval)(const External &)) of class eoExternalEvalFunc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:87: Warning: Member eval)(const External &) of class eoExternalEvalFunc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:50: Warning: Member eoExternalInit(External(*_init)(void)) of class eoExternalInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:61: Warning: Member init)(void) of class eoExternalInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:106: Warning: Member eoExternalMonOp(bool(*_mutate)(External &)) of class eoExternalMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:115: Warning: Member mutate)(External &) of class eoExternalMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:158: Warning: Member eoExternalQuadOp(bool(*_quadop)(External &, External &)) of class eoExternalQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoExternalOpFunctions.h:167: Warning: Member quadop)(External &, External &) of class eoExternalQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFDCStat.h:135: Warning: Member FDCstat of class eoFDCFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFDCStat.h:94: Warning: Member theFit() of class eoFDCStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFDCStat.h:98: Warning: Member dist of class eoFDCStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFDCStat.h:99: Warning: Member theBest of class eoFDCStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFDCStat.h:100: Warning: Member boolOpt of class eoFDCStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFDCStat.h:101: Warning: Member distToBest of class eoFDCStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFDCStat.h:102: Warning: Member fitnesses of class eoFDCStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:50: Warning: Member eoFileMonitor(std::string _filename, std::string _delim=" ", bool _keep=false, bool _header=false) of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:62: Warning: Member operator()(std::ostream &os) of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:64: Warning: Member printHeader(void) of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:65: Warning: Member printHeader(std::ostream &os) of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:67: Warning: Member getFileName() of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:70: Warning: Member filename of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:71: Warning: Member delim of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:72: Warning: Member keep of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:73: Warning: Member header of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileMonitor.h:74: Warning: Member firstcall of class eoFileMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:56: Warning: Member vDouble of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:57: Warning: Member vDoubleParam of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:63: Warning: Member eoFileSnapshot(std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:166: Warning: Member getDirName() of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:168: Warning: Member baseFileName() of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:181: Warning: Member dirname of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:182: Warning: Member frequency of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:183: Warning: Member filename of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:184: Warning: Member delim of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:185: Warning: Member counter of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:186: Warning: Member currentFileName of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoFileSnapshot.h:187: Warning: Member boolChanged of class eoFileSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFitContinue.h:60: Warning: Member className(void) const of class eoFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFitContinue.h:62: Warning: Member maximum of class eoFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFitnessScalingSelect.h:50: Warning: Member scaling of class eoFitnessScalingSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoMOFitnessStat.h:43: Warning: Member eoFitnessStat(std::string _description="AllFitnesses") of class eoFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:185: Warning: Member AtomType of class eoFlOr1ptBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:177: Warning: Member AtomType of class eoFlOr1ptQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:53: Warning: Member AtomType of class eoFlOrAllAtomBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:81: Warning: Member rate of class eoFlOrAllAtomBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:82: Warning: Member op of class eoFlOrAllAtomBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:50: Warning: Member AtomType of class eoFlOrAllAtomQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:73: Warning: Member rate of class eoFlOrAllAtomQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:74: Warning: Member op of class eoFlOrAllAtomQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrMonOp.h:49: Warning: Member AtomType of class eoFlOrAllMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrMonOp.h:74: Warning: Member atomMutation of class eoFlOrAllMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrMonOp.h:75: Warning: Member rate of class eoFlOrAllMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:96: Warning: Member AtomType of class eoFlOrKAtomBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:125: Warning: Member k of class eoFlOrKAtomBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:126: Warning: Member op of class eoFlOrKAtomBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:88: Warning: Member AtomType of class eoFlOrKAtomQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:117: Warning: Member k of class eoFlOrKAtomQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:118: Warning: Member op of class eoFlOrKAtomQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrMonOp.h:86: Warning: Member AtomType of class eoFlOrKMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrMonOp.h:113: Warning: Member nb of class eoFlOrKMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrMonOp.h:114: Warning: Member atomMutation of class eoFlOrKMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:140: Warning: Member AtomType of class eoFlOrUniformBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrBinOp.h:172: Warning: Member rate of class eoFlOrUniformBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:131: Warning: Member AtomType of class eoFlOrUniformQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFlOrQuadOp.h:165: Warning: Member rate of class eoFlOrUniformQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoFunctorStore.h:67: Warning: Member vec of class eoFunctorStore is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoG3Replacement.h:58: Warning: Member eoG3Replacement(eoHowMany _howManyEliminatedParents=eoHowMany(2, false)) of class eoG3Replacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoG3Replacement.h:81: Warning: Member split of class eoG3Replacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoG3Replacement.h:82: Warning: Member reduce of class eoG3Replacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoG3Replacement.h:83: Warning: Member plus of class eoG3Replacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenContinue.h:81: Warning: Member className(void) const of class eoGenContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenContinue.h:99: Warning: Member verbose of class eoGenContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenContinue.h:94: Warning: Member repTotalGenerations of class eoGenContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenContinue.h:95: Warning: Member thisGenerationPlaceHolder of class eoGenContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenContinue.h:96: Warning: Member thisGeneration of class eoGenContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPersistent.h:58: Warning: argument `_is' of command @param is not found in the argument list of eoGenContinue< EOT >::readFrom(std::istream &__is) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPersistent.h:58: Warning: The following parameters of eoGenContinue< EOT >::readFrom(std::istream &__is) are not documented: - parameter __is - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPrintable.h:49: Warning: argument `_os' of command @param is not found in the argument list of eoGenContinue< EOT >::printOn(std::ostream &__os) const -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPrintable.h:49: Warning: The following parameters of eoGenContinue< EOT >::printOn(std::ostream &__os) const are not documented: - parameter __os - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:88: Warning: Member className() const =0 of class eoGeneDelChooser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGeneralBreeder.h:100: Warning: Member select of class eoGeneralBreeder is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGeneralBreeder.h:101: Warning: Member op of class eoGeneralBreeder is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGeneralBreeder.h:102: Warning: Member howMany of class eoGeneralBreeder is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:574: Warning: Member operator=(const eoGeneralIntBounds &_b) of class eoGeneralIntBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:637: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:641: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:645: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:650: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:655: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:688: Warning: Member repBound of class eoGeneralIntBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:539: Warning: Member operator=(const eoGeneralRealBounds &_b) of class eoGeneralRealBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:602: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:606: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:610: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:615: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:648: Warning: Member repBound of class eoGeneralRealBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:68: Warning: Member className() const =0 of class eoGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot.h:44: Warning: Unsupported html tag found -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot1DMonitor.h:66: Warning: Member FirstPlot() of class eoGnuplot1DMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot1DSnapshot.h:61: Warning: Member eoGnuplot1DSnapshot(std::string _dirname, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) of class eoGnuplot1DSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot1DSnapshot.h:70: Warning: Member eoGnuplot1DSnapshot(std::string _dirname, eoRealVectorBounds &_bounds, unsigned _frequency=1, std::string _filename="gen", std::string _delim=" ", unsigned _counter=0, bool _rmFiles=true) of class eoGnuplot1DSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot1DSnapshot.h:78: Warning: Member eoGnuplot1DSnapshot(eoFileSnapshot &_fSnapshot) of class eoGnuplot1DSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot1DSnapshot.h:85: Warning: Member eoGnuplot1DSnapshot(eoFileSnapshot &_fSnapshot, eoRealVectorBounds &_bounds) of class eoGnuplot1DSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot1DSnapshot.h:98: Warning: Member handleBounds(eoRealVectorBounds &_bounds) of class eoGnuplot1DSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot1DSnapshot.h:111: Warning: Member setPointSize(unsigned _pointSize) of class eoGnuplot1DSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoGnuplot1DSnapshot.h:115: Warning: Member pointSize of class eoGnuplot1DSnapshot is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:340: Warning: Member EoType of class eoHoistMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:341: Warning: argument `none' of command @param is not found in the argument list of eoHoistMutation< FType, Node >::eoHoistMutation() -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoHowMany.h:149: Warning: Member readFrom(std::string _value) of class eoHowMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoHowMany.h:186: Warning: Member rate of class eoHowMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoHowMany.h:187: Warning: Member combien of class eoHowMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoHowMany.h:72: Warning: argument `rate' of command @param is not found in the argument list of eoHowMany::eoHowMany(double _rate=0.0, bool _interpret_as_rate=true) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoHowMany.h:72: Warning: The following parameters of eoHowMany::eoHowMany(double _rate=0.0, bool _interpret_as_rate=true) are not documented: - parameter _rate - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:61: Warning: Member className(void) const of class eoIncrementor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:63: Warning: Member counter of class eoIncrementor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:64: Warning: Member stepsize of class eoIncrementor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:93: Warning: Member className(void) const of class eoIncrementorParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:96: Warning: Member stepsize of class eoIncrementorParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:160: Warning: Member eoInitAdaptor(eoInit< EOT > &_init) of class eoInitAdaptor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:169: Warning: Member init of class eoInitAdaptor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:152: Warning: End of list marker found without any preceding list items -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:85: Warning: Member AtomType of class eoInitFixedLength is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:88: Warning: Member eoInitFixedLength(unsigned _combien, eoRndGenerator< AtomType > &_generator) of class eoInitFixedLength is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:98: Warning: Member combien of class eoInitFixedLength is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:74: Warning: Member init of class eoInitGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:110: Warning: Member AtomType of class eoInitVariableLength is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:141: Warning: Member atomInit() of class eoInitVariableLength is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:144: Warning: Member offset of class eoInitVariableLength is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:145: Warning: Member extent of class eoInitVariableLength is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInit.h:146: Warning: Member init of class eoInitVariableLength is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/eoInitVirus.h:45: Warning: Member eoInitVirus(unsigned _combien, eoRndGenerator< bool > &_generator) of class eoInitVirus is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/eoInitVirus.h:59: Warning: Member combien of class eoInitVirus is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/eoInitVirus.h:70: Warning: Member eoInitVirus1bit(unsigned _combien, eoRndGenerator< bool > &_generator) of class eoInitVirus1bit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/eoInitVirus.h:82: Warning: Member combien of class eoInitVirus1bit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:176: Warning: Member AtomType of class eoInnerExchangeQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:197: Warning: Member className() const of class eoInnerExchangeQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:202: Warning: Member rate of class eoInnerExchangeQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:203: Warning: Member op of class eoInnerExchangeQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:131: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:127: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:135: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:140: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:470: Warning: Member random(eoRng &_rng=eo::rng) const of class eoIntAboveBound is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:533: Warning: Member repMaximum of class eoIntAboveBound is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:127: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:131: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:135: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:140: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:372: Warning: Member random(eoRng &_rng=eo::rng) const of class eoIntBelowBound is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:435: Warning: Member repMinimum of class eoIntBelowBound is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:127: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:131: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:135: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:140: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:145: Warning: Member random(eoRng &_rng=eo::rng) const =0 of class eoIntBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:127: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:131: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:135: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:140: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:255: Warning: Member random(eoRng &_rng=eo::rng) const of class eoIntInterval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:336: Warning: Member repMinimum of class eoIntInterval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:337: Warning: Member repMaximum of class eoIntInterval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:338: Warning: Member repRange of class eoIntInterval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:127: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:131: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:135: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:140: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoIntBounds.h:184: Warning: Member random(eoRng &_rng=eo::rng) const of class eoIntNoBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInvalidateOps.h:83: Warning: Member eoInvalidateBinOp(eoBinOp< EOT > &_op) of class eoInvalidateBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInvalidateOps.h:97: Warning: Member op of class eoInvalidateBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInvalidateOps.h:49: Warning: Member eoInvalidateMonOp(eoMonOp< EOT > &_op) of class eoInvalidateMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInvalidateOps.h:63: Warning: Member op of class eoInvalidateMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInvalidateOps.h:117: Warning: Member eoInvalidateQuadOp(eoQuadOp< EOT > &_op) of class eoInvalidateQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoInvalidateOps.h:131: Warning: Member op of class eoInvalidateQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoLinearFitScaling.h:54: Warning: Member eoLinearFitScaling(double _p=2.0) of class eoLinearFitScaling is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoLinearFitScaling.h:87: Warning: Member pressure of class eoLinearFitScaling is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:196: Warning: Member howMany of class eoLinearRandomSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:197: Warning: Member returnEliminated of class eoLinearRandomSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:118: Warning: Member howMany of class eoLinearTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:119: Warning: Member returnEliminated of class eoLinearTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:25: Warning: Member MemPool(unsigned int sz) of class MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:38: Warning: Member allocate() of class MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:46: Warning: Member deallocate(void *b) of class MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:55: Warning: Member grow() of class MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:85: Warning: Member chunks of class MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:86: Warning: Member esize of class MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/node_pool.h:87: Warning: Member head of class MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:55: Warning: Member eoMergeReduce(eoMerge< EOT > &_merge, eoReduce< EOT > &_reduce) of class eoMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:65: Warning: Member merge of class eoMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:66: Warning: Member reduce of class eoMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMGGReplacement.h:58: Warning: Member eoMGGReplacement(eoHowMany _howManyEliminatedParents=eoHowMany(2, false), unsigned _tSize=2) of class eoMGGReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMGGReplacement.h:98: Warning: Member split of class eoMGGReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMGGReplacement.h:99: Warning: Member plus of class eoMGGReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMGGReplacement.h:100: Warning: Member tSize of class eoMGGReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoParetoFitness.cpp:40: Warning: Member maximizing(int) of class MinimizingTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoMOFitnessStat.h:88: Warning: Member objective of class eoMOFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCloneOps.h:49: Warning: Member className() const of class eoMonCloneOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:88: Warning: Member eoMonGenOp(eoMonOp< EOT > &_op) of class eoMonGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:98: Warning: Member className() const of class eoMonGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:100: Warning: Member op of class eoMonGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoMonitor.h:50: Warning: Member lastCall() of class eoMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoMonitor.h:58: Warning: Member className(void) const of class eoMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoMonitor.h:61: Warning: Member iterator of class eoMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoMonitor.h:62: Warning: Member vec of class eoMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOp.h:107: Warning: Member className() const of class eoMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/make_algo_pareto.h:48: Warning: Member eoNDPlusReplacement(eoPerf2Worth< EOT, WorthT > &_perf2worth) of class eoNDPlusReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoPareto.cpp:95: Warning: Member eoNDPlusReplacement(eoPerf2Worth< EOT, WorthT > &_perf2worth) of class eoNDPlusReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/make_algo_pareto.h:70: Warning: Member perf2worth of class eoNDPlusReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/t-eoPareto.cpp:119: Warning: Member perf2worth of class eoNDPlusReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:49: Warning: Member eoNDSorting(bool nasty_flag_=false) of class eoNDSorting is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:373: Warning: Member nasty_declone_flag_that_only_is_implemented_for_two_objectives of class eoNDSorting is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:100: Warning: Member one_objective(const eoPop< EOT > &_pop) of class eoNDSorting is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:273: Warning: Member m_objectives(const eoPop< EOT > &_pop) of class eoNDSorting is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:360: Warning: Member rank_to_worth() of class eoNDSorting is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:96: Warning: Member index of class eoNDSorting::DummyEO is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:383: Warning: Member eoNDSorting_I(double _nicheSize, bool nasty_flag_=false) of class eoNDSorting_I is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:416: Warning: Member nicheSize of class eoNDSorting_I is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:440: Warning: Member double_index_pair of class eoNDSorting_II is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoNDSorting.h:438: Warning: Member eoNDSorting_II(bool nasty_flag_=false) of class eoNDSorting_II is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:159: Warning: Member negexp_generator(T _mean=1.0, eoRng &_rng=rng) of class negexp_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:161: Warning: Member operator()(void) of class negexp_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:164: Warning: Member mean of class negexp_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:165: Warning: Member negexp of class negexp_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:140: Warning: Member eoNegExpGenerator(T _mean=1.0, eoRng &_rng=rng) of class eoNegExpGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:145: Warning: Member mean of class eoNegExpGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:146: Warning: Member negexp of class eoNegExpGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:146: Warning: Member eoNegExpInit(T _mean=1.0, eoRng &_rng=rng) of class eoNegExpInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:151: Warning: Member mean of class eoNegExpInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:152: Warning: Member negexp of class eoNegExpInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/NodeSelector.h:44: Warning: Member select_node(Sym sym) const =0 of class NodeSelector is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:142: Warning: Member normal_generator(T _stdev=T(1.0), eoRng &_rng=rng) of class normal_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:144: Warning: Member operator()(void) of class normal_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:147: Warning: Member stdev of class normal_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:148: Warning: Member normal of class normal_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:123: Warning: Member eoNormalGenerator(T _stdev=T(1.0), eoRng &_rng=rng) of class eoNormalGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:128: Warning: Member stdev of class eoNormalGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:129: Warning: Member normal of class eoNormalGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:129: Warning: Member eoNormalInit(T _stdev=T(1.0), eoRng &_rng=rng) of class eoNormalInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:134: Warning: Member stdev of class eoNormalInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:135: Warning: Member normal of class eoNormalInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:166: Warning: Member sigma of class eoNormalMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:167: Warning: Member bounds of class eoNormalMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:168: Warning: Member p_change of class eoNormalMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:102: Warning: Member sigma of class eoNormalVecMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:103: Warning: Member bounds of class eoNormalVecMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:104: Warning: Member p_change of class eoNormalVecMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoRandomSelect.h:94: Warning: Member current of class eoNoSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:376: Warning: Member num_points of class eoNPtsBitXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:217: Warning: Member Fitness of class eoNthElementFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:220: Warning: Member eoNthElementFitnessStat(unsigned _whichElement, std::string _description="nth element fitness") of class eoNthElementFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:230: Warning: Member className(void) const of class eoNthElementFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:252: Warning: Member doit(const eoPop< EOT > &_pop, eoParetoFitness< T >) of class eoNthElementFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:271: Warning: Member doit(const std::vector< const EOT * > &_pop, T) of class eoNthElementFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:275: Warning: Member whichElement of class eoNthElementFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:184: Warning: Member Fitness of class eoOneFifthMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:264: Warning: Member eval of class eoOneFifthMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:265: Warning: Member threshold of class eoOneFifthMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:266: Warning: Member updateFactor of class eoOneFifthMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:267: Warning: Member nbMut of class eoOneFifthMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:268: Warning: Member nbSuccess of class eoOneFifthMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:269: Warning: Member genIndex of class eoOneFifthMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:186: Warning: argument `eval' of command @param is not found in the argument list of eoOneFifthMutation< EOT >::eoOneFifthMutation(eoEvalFunc< EOT > &_eval, double &_sigmaInit, unsigned _windowSize=10, double _updateFactor=0.83, double _threshold=0.2) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoNormalMutation.h:186: Warning: The following parameters of eoOneFifthMutation< EOT >::eoOneFifthMutation(eoEvalFunc< EOT > &_eval, double &_sigmaInit, unsigned _windowSize=10, double _updateFactor=0.83, double _threshold=0.2) are not documented: - parameter _eval - -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/eoOneMax.h:96: Warning: Member setB(vector< bool > &_b) of class eoOneMax is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/eoOneMax.h:100: Warning: Member B() of class eoOneMax is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/eoOneMax.h:106: Warning: Member b of class eoOneMax is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/eoOneMaxEvalFunc.h:39: Warning: argument `EOT' of command @param is not found in the argument list of eoOneMaxEvalFunc< EOT >::operator()(EOT &_eo) -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/eoOneMaxEvalFunc.h:39: Warning: The following parameters of eoOneMaxEvalFunc< EOT >::operator()(EOT &_eo) are not documented: - parameter _eo - -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/eoOneMaxInit.h:57: Warning: Member vecSize of class eoOneMaxInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:70: Warning: Member className() const =0 of class eoOpContainer is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:74: Warning: Member rates of class eoOpContainer is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:75: Warning: Member ops of class eoOpContainer is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:78: Warning: Member store of class eoOpContainer is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:79: Warning: Member max_to_produce of class eoOpContainer is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpSelMason.h:42: Warning: Member vOpP of class eoOpSelMason is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpSelMason.h:43: Warning: Member MEV of class eoOpSelMason is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpSelMason.h:104: Warning: Member allocMap of class eoOpSelMason is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpSelMason.h:105: Warning: Member operatorFactory of class eoOpSelMason is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:118: Warning: Member repLongName of class eoParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:119: Warning: Member repDefault of class eoParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:120: Warning: Member repDescription of class eoParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:121: Warning: Member repShortHand of class eoParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:122: Warning: Member repRequired of class eoParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:90: Warning: Member ownedParams of class eoParameterLoader is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:59: Warning: argument `_shortName' of command @param is not found in the argument list of eoParameterLoader::createParam(ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:59: Warning: The following parameters of eoParameterLoader::createParam(ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false) are not documented: - parameter _shortHand - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:377: Warning: Member eoParamParamType(std::string _value) of class eoParamParamType is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:382: Warning: Member printOn(std::ostream &_os) const of class eoParamParamType is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:403: Warning: Member readFrom(std::istream &_is) of class eoParamParamType is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:411: Warning: Member readFrom(std::string &_value) of class eoParamParamType is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:112: Warning: Member fitness_traits of class eoParetoFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:117: Warning: Member eoParetoFitness(std::vector< double > &_v) of class eoParetoFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:182: Warning: Member operator>(const eoParetoFitness< FitnessTraits > &_other) const of class eoParetoFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:187: Warning: Member operator<=(const eoParetoFitness< FitnessTraits > &_other) const of class eoParetoFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:192: Warning: Member operator>=(const eoParetoFitness< FitnessTraits > &_other) const of class eoParetoFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:197: Warning: Member operator==(const eoParetoFitness< FitnessTraits > &_other) const of class eoParetoFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:209: Warning: Member operator!=(const eoParetoFitness< FitnessTraits > &_other) const of class eoParetoFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:124: Warning: Member maximizing(unsigned _i) of class eoParetoFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:46: Warning: Member nObjectives() of class eoParetoFitnessTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:47: Warning: Member tol() of class eoParetoFitnessTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:48: Warning: Member maximizing(int which) of class eoParetoFitnessTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:69: Warning: Member fitness_traits of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:76: Warning: Member eoParetoOneConstraintFitness(std::vector< double > &_v) of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:88: Warning: Member eoParetoOneConstraintFitness(std::vector< double > &_v, double _c) of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:102: Warning: Member feasible() const of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:103: Warning: Member violation() const of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:104: Warning: Member ConstraintValue() const of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:105: Warning: Member ConstraintValue(double _c) of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:173: Warning: Member operator>(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:178: Warning: Member operator<=(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:183: Warning: Member operator>=(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:188: Warning: Member operator==(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:200: Warning: Member operator!=(const eoParetoOneConstraintFitness< FitnessTraits > &_other) const of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:100: Warning: Member maximizing(unsigned _i) of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoConstraintFitness.h:66: Warning: Member constraintValue of class eoParetoOneConstraintFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoRanking.h:48: Warning: Member eoParetoRanking(eoDominanceMap< EOT > &_dominanceMap) of class eoParetoRanking is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoRanking.h:68: Warning: Member dominanceMap of class eoParetoRanking is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:142: Warning: Member ProgramName() of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:235: Warning: Member getStopOnUnknownParam() of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:240: Warning: Member resetPrefix() of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:242: Warning: Member getPrefix() of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:252: Warning: Member MultiMapType of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:260: Warning: Member ShortNameMapType of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:263: Warning: Member LongNameMapType of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:246: Warning: Member doRegisterParam(eoParam ¶m) const of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:248: Warning: Member getValue(eoParam &_param) const of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:250: Warning: Member updateParameters() const of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:255: Warning: Member params of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:257: Warning: Member programName of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:258: Warning: Member programDescription of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:261: Warning: Member shortNameMap of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:264: Warning: Member longNameMap of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:266: Warning: Member needHelp of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:267: Warning: Member stopOnUnknownParam of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:269: Warning: Member messages of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:271: Warning: Member prefix of class eoParser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPersistent.h:58: Warning: argument `_is' of command @param is not found in the argument list of eoParser::readFrom(std::istream &is) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPersistent.h:58: Warning: The following parameters of eoParser::readFrom(std::istream &is) are not documented: - parameter is - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPrintable.h:49: Warning: argument `_os' of command @param is not found in the argument list of eoParser::printOn(std::ostream &os) const -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPrintable.h:49: Warning: The following parameters of eoParser::printOn(std::ostream &os) const are not documented: - parameter os - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:194: Warning: argument `_shortName' of command @param is not found in the argument list of eoParser::setORcreateParam(ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParser.h:194: Warning: The following parameters of eoParser::setORcreateParam(ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section="", bool _required=false) are not documented: - parameter _shortHand - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTree.h:64: Warning: Member Subtree of class eoParseTree is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTree.h:67: Warning: Member reference of class eoParseTree is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTree.h:68: Warning: Member const_reference of class eoParseTree is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:60: Warning: Member EoType of class eoParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:120: Warning: Member generate(std::list< Node > &sequence, int the_max, int last_terminal=-1) of class eoParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:162: Warning: Member max_depth of class eoParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:163: Warning: Member initializor of class eoParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:164: Warning: Member grow of class eoParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:165: Warning: Member ramped_half_and_half of class eoParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:166: Warning: Member current_depth of class eoParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:62: Warning: Found unknown command `\parm' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeDepthInit.h:62: Warning: The following parameters of eoParseTreeDepthInit< FType, Node >::eoParseTreeDepthInit(unsigned _max_depth, const std::vector< Node > &_initializor, bool _grow=true, bool _ramped_half_and_half=false) are not documented: - parameter _max_depth - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILAdditive.h:113: Warning: Member maxBound of class eoPBILAdditive is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILAdditive.h:113: Warning: Member minBound of class eoPBILAdditive is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILAdditive.h:114: Warning: Member LR of class eoPBILAdditive is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILAdditive.h:115: Warning: Member nbBest of class eoPBILAdditive is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILAdditive.h:116: Warning: Member nbWorst of class eoPBILAdditive is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILAdditive.h:117: Warning: Member lrb of class eoPBILAdditive is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILAdditive.h:117: Warning: Member lrw of class eoPBILAdditive is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILDistrib.h:92: Warning: Member size() of class eoPBILDistrib is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILDistrib.h:97: Warning: Member genomeSize of class eoPBILDistrib is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILOrg.h:74: Warning: Member LR of class eoPBILOrg is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILOrg.h:75: Warning: Member maxBound of class eoPBILOrg is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoPBILOrg.h:75: Warning: Member minBound of class eoPBILOrg is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:100: Warning: Member resize(eoPop< EOT > &_pop, unsigned sz) of class eoPerf2Worth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:207: Warning: Member operator()(eoPop< EOT > &_pop) of class eoPerf2Worth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:87: Warning: Member compare_worth(const std::vector< WorthT > &_worths) of class eoPerf2Worth::compare_worth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:89: Warning: Member operator()(unsigned a, unsigned b) const of class eoPerf2Worth::compare_worth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:95: Warning: Member worths of class eoPerf2Worth::compare_worth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:117: Warning: Member eoPerf2WorthCached(std::string _description="Worths") of class eoPerf2WorthCached is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:216: Warning: Member resize(eoPop< EOT > &_pop, unsigned sz) of class eoPerf2WorthCached is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:223: Warning: Member fitness_cache of class eoPerf2WorthCached is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:203: Warning: Member compare_worth(const std::vector< WorthT > &_worths) of class eoPerf2WorthCached::compare_worth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:206: Warning: Member operator()(unsigned a, unsigned b) const of class eoPerf2WorthCached::compare_worth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPerf2Worth.h:212: Warning: Member worths of class eoPerf2WorthCached::compare_worth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:79: Warning: Member plus of class eoPlusReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoMergeReduce.h:80: Warning: Member truncate of class eoPlusReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:151: Warning: Member EoType of class eoPointMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:194: Warning: Member initializor of class eoPointMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPop.h:65: Warning: Member Fitness of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:222: Warning: Member fitness_traits of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPop.h:293: Warning: Member invalidate() of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:227: Warning: Member sort() of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:234: Warning: Member scale() of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:251: Warning: Member setPerf2Worth(eoPerf2Worth< EOT > &_p2w) of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:256: Warning: Member setPerf2Worth(eoPerf2Worth< EOT > *_p2w) of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:260: Warning: Member getPerf2Worth() of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:263: Warning: Member swap(eoPop< EOT > &other) of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/fitness_traits.cpp:273: Warning: Member p2w of class eoPop is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPop.h:85: Warning: argument `_popSize' of command @param is not found in the argument list of eoPop< EOT >::append(unsigned _newPopSize, eoInit< EOT > &_chromInit) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPop.h:85: Warning: The following parameters of eoPop< EOT >::append(unsigned _newPopSize, eoInit< EOT > &_chromInit) are not documented: - parameter _newPopSize - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPop.h:126: Warning: Member operator()(const EOT *a, const EOT *b) const of class eoPop::Cmp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPop.h:122: Warning: Member operator()(const EOT &eot) of class eoPop::Ref is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopEvalFunc.h:72: Warning: Member eval of class eoPopLoopEval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoPopStat.h:83: Warning: Member combien of class eoPopStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:112: Warning: Member position_type of class eoPopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:44: Warning: Member eoPopulator(const eoPop< EOT > &_src, eoPop< EOT > &_dest) of class eoPopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:127: Warning: Member dest of class eoPopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:128: Warning: Member current of class eoPopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:129: Warning: Member src of class eoPopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:133: Warning: Member get_next() of class eoPopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCounter.h:46: Warning: Member eoProcedureCounter(Procedure &_proc, std::string _name="proc_counter") of class eoProcedureCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCounter.h:76: Warning: Member proc of class eoProcedureCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:119: Warning: Member className() const of class eoPropCombinedBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:122: Warning: Member add(eoBinOp< EOT > &_op, const double _rate, bool _verbose=false) of class eoPropCombinedBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:144: Warning: Member ops of class eoPropCombinedBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:145: Warning: Member rates of class eoPropCombinedBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:68: Warning: Member className() const of class eoPropCombinedMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:71: Warning: Member add(eoMonOp< EOT > &_op, const double _rate, bool _verbose=false) of class eoPropCombinedMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:81: Warning: Member printOn(std::ostream &_os) of class eoPropCombinedMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:97: Warning: Member ops of class eoPropCombinedMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:98: Warning: Member rates of class eoPropCombinedMonOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:173: Warning: Member className() const of class eoPropCombinedQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:177: Warning: Member add(eoQuadOp< EOT > &_op, const double _rate, bool _verbose=false) of class eoPropCombinedQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:187: Warning: Member printOn(std::ostream &_os) of class eoPropCombinedQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:203: Warning: Member ops of class eoPropCombinedQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalCombinedOp.h:204: Warning: Member rates of class eoPropCombinedQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPropGAGenOp.h:73: Warning: Member className() const of class eoPropGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPropGAGenOp.h:77: Warning: Member wClone of class eoPropGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPropGAGenOp.h:78: Warning: Member cross of class eoPropGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPropGAGenOp.h:79: Warning: Member wCross of class eoPropGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPropGAGenOp.h:80: Warning: Member mut of class eoPropGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPropGAGenOp.h:81: Warning: Member wMut of class eoPropGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPropGAGenOp.h:82: Warning: Member propOp of class eoPropGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPropGAGenOp.h:83: Warning: Member monClone of class eoPropGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:154: Warning: Member className() const of class eoProportionalOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalSelect.h:81: Warning: Member FitVec of class eoProportionalSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoProportionalSelect.h:82: Warning: Member cumulative of class eoProportionalSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOp.h:165: Warning: Member quadOp of class eoQuad2BinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCloneOps.h:74: Warning: Member className() const of class eoQuadCloneOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:160: Warning: Member eoQuadGenOp(eoQuadOp< EOT > &_op) of class eoQuadGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:177: Warning: Member className() const of class eoQuadGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:180: Warning: Member op of class eoQuadGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOp.h:137: Warning: Member className() const of class eoQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:93: Warning: Member random_generator(T _max, eoRng &_rng=rng) of class random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:96: Warning: Member random_generator(T _min, T _max, eoRng &_rng=rng) of class random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:101: Warning: Member operator()(void) of class random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:112: Warning: Member operator()(void) of class random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:104: Warning: Member minim of class random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:105: Warning: Member range of class random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:106: Warning: Member random of class random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/NodeSelector.h:51: Warning: Member select_node(Sym sym) const of class RandomNodeSelector is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:156: Warning: Member howMany of class eoRandomSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:157: Warning: Member returnEliminated of class eoRandomSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoRanking.h:49: Warning: Member eoRanking(double _p=2.0, double _e=1.0) of class eoRanking is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoRanking.h:53: Warning: Member lookfor(const EOT *_eo, const eoPop< EOT > &_pop) of class eoRanking is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoRanking.h:104: Warning: Member pressure of class eoRanking is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoRanking.h:105: Warning: Member exponent of class eoRanking is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoRankingSelect.h:52: Warning: Member ranking of class eoRankingSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoReal.h:41: Warning: The following parameters of eoReal< FitT >::eoReal(unsigned size=0, double value=0.0) are not documented: - parameter value - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:113: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:109: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:117: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:122: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:498: Warning: Member repMaximum of class eoRealAboveBound is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:118: Warning: Member isMinBounded(unsigned _i) of class eoRealBaseVectorBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:121: Warning: Member isMaxBounded(unsigned _i) of class eoRealBaseVectorBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:175: Warning: Member maximum(unsigned _i) of class eoRealBaseVectorBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:176: Warning: Member range(unsigned _i) of class eoRealBaseVectorBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:109: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:113: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:117: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:122: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:403: Warning: Member repMinimum of class eoRealBelowBound is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:109: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:113: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:117: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:122: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealInitBounded.h:59: Warning: Member size() of class eoRealInitBounded is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealInitBounded.h:62: Warning: Member bounds of class eoRealInitBounded is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:109: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:113: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:117: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:122: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:307: Warning: Member repMinimum of class eoRealInterval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:308: Warning: Member repMaximum of class eoRealInterval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:309: Warning: Member repRange of class eoRealInterval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:109: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:113: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:117: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealBounds.h:122: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:344: Warning: Member operator=(const eoRealVectorBounds &) of class eoRealVectorBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:341: Warning: Member factor of class eoRealVectorBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:342: Warning: Member ownedBounds of class eoRealVectorBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:306: Warning: argument `_is' of command @param is not found in the argument list of eoRealVectorBounds::readFrom(std::string _s) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:306: Warning: The following parameters of eoRealVectorBounds::readFrom(std::string _s) are not documented: - parameter _s - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:372: Warning: Member isMinBounded(unsigned) of class eoRealVectorNoBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:373: Warning: Member isMaxBounded(unsigned) of class eoRealVectorNoBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:390: Warning: Member maximum(unsigned) of class eoRealVectorNoBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRealVectorBounds.h:394: Warning: Member range(unsigned) of class eoRealVectorNoBounds is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:58: Warning: Member eoReduceMerge(eoReduce< EOT > &_reduce, eoMerge< EOT > &_merge) of class eoReduceMerge is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:69: Warning: Member reduce of class eoReduceMerge is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:70: Warning: Member merge of class eoReduceMerge is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:44: Warning: Found unknown command `\classes' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMergeReduce.h:66: Warning: Member eoReduceMergeReduce(eoHowMany _howManyElite, bool _strongElitism, eoHowMany _howManyReducedParents, eoReduce< EOT > &_reduceParents, eoHowMany _howManyReducedOffspring, eoReduce< EOT > &_reduceOffspring, eoReduce< EOT > &_reduceFinal) of class eoReduceMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMergeReduce.h:133: Warning: Member howManyElite of class eoReduceMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMergeReduce.h:134: Warning: Member strongElitism of class eoReduceMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMergeReduce.h:135: Warning: Member howManyReducedParents of class eoReduceMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMergeReduce.h:136: Warning: Member howManyReducedOffspring of class eoReduceMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMergeReduce.h:138: Warning: Member reduceParents of class eoReduceMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMergeReduce.h:139: Warning: Member reduceOffspring of class eoReduceMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMergeReduce.h:140: Warning: Member reduceFinal of class eoReduceMergeReduce is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReplacement.h:64: Warning: Found unknown command `\classes' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:49: Warning: Member AtomType of class eoRndGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRNG.h:297: Warning: Member restart(void) of class eoRng is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRNG.h:346: Warning: Member initialize(uint32_t seed) of class eoRng is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRNG.h:351: Warning: Member next of class eoRng is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRNG.h:353: Warning: Member left of class eoRng is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRNG.h:356: Warning: Member cached of class eoRng is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRNG.h:358: Warning: Member cacheValue of class eoRng is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRNG.h:360: Warning: Member N of class eoRng is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRNG.h:362: Warning: Member M of class eoRng is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:173: Warning: Member worthIterator of class eoRouletteWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:179: Warning: Member eoRouletteWorthSelect(eoPerf2Worth< EOT, WorthT > &_perf2Worth) of class eoRouletteWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:220: Warning: Member total of class eoRouletteWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:48: Warning: Member eoScalarFitness(const eoScalarFitness &other) of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:49: Warning: Member eoScalarFitness(const ScalarType &v) of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:52: Warning: Member operator=(const eoScalarFitness &other) of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:54: Warning: Member operator=(const ScalarType &v) of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:56: Warning: Member operator ScalarType(void) const of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:63: Warning: Member operator>(const eoScalarFitness< ScalarType, Compare > &y) const of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:65: Warning: Member operator<=(const eoScalarFitness< ScalarType, Compare > &y) const of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:67: Warning: Member operator>=(const eoScalarFitness< ScalarType, Compare > &y) const of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitness.h:71: Warning: Member value of class eoScalarFitness is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:97: Warning: Member baseVector of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:98: Warning: Member size_type of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:111: Warning: Member eoScalarFitnessAssembled(size_type _n, const ScalarType &_val, const std::string &_descr="Unnamed variable") of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:121: Warning: Member eoScalarFitnessAssembled(const eoScalarFitnessAssembled &other) of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:123: Warning: Member operator=(const eoScalarFitnessAssembled &other) of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:135: Warning: Member eoScalarFitnessAssembled(const ScalarType &v) of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:137: Warning: Member operator=(const ScalarType &v) of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:199: Warning: Member operator ScalarType(void) const of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:213: Warning: Member operator<(const eoScalarFitnessAssembled &other) const of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:221: Warning: Member operator>(const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:224: Warning: Member operator<=(const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:227: Warning: Member operator>=(const eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits > &y) const of class eoScalarFitnessAssembled is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:47: Warning: Member size_type of class eoScalarFitnessAssembledTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:49: Warning: Member setDescription(size_type _idx, std::string _descr) of class eoScalarFitnessAssembledTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:58: Warning: Member getDescription(size_type _idx) of class eoScalarFitnessAssembledTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:65: Warning: Member resize(size_type _n, const std::string &_descr) of class eoScalarFitnessAssembledTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:69: Warning: Member size() of class eoScalarFitnessAssembledTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:71: Warning: Member getDescriptionVector() of class eoScalarFitnessAssembledTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoScalarFitnessAssembled.h:74: Warning: Member TermDescriptions of class eoScalarFitnessAssembledTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoScalarFitnessStat.h:47: Warning: Member eoScalarFitnessStat(std::string _description="FitnessES", eoRealVectorBounds &_bounds=eoDummyVectorNoBounds) of class eoScalarFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoScalarFitnessStat.h:60: Warning: Member range of class eoScalarFitnessStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:174: Warning: Member fitness_type of class eoSecondMomentStats is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:176: Warning: Member SquarePair of class eoSecondMomentStats is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:180: Warning: Member eoSecondMomentStats(std::string _description="Average & Stdev") of class eoSecondMomentStats is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:200: Warning: Member className(void) const of class eoSecondMomentStats is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:183: Warning: Member sumOfSquares(SquarePair _sq, const EOT &_eo) of class eoSecondMomentStats is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:326: Warning: Member bounds of class eoSegmentCrossover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:327: Warning: Member alpha of class eoSegmentCrossover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:328: Warning: Member range of class eoSegmentCrossover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:250: Warning: argument `_alphaMin' of command @param is not found in the argument list of eoSegmentCrossover< EOT >::eoSegmentCrossover(const double &_alpha=0.0) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:250: Warning: The following parameters of eoSegmentCrossover< EOT >::eoSegmentCrossover(const double &_alpha=0.0) are not documented: - parameter _alpha - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:262: Warning: argument `_alphaMin' of command @param is not found in the argument list of eoSegmentCrossover< EOT >::eoSegmentCrossover(eoRealVectorBounds &_bounds, const double &_alpha=0.0) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:262: Warning: The following parameters of eoSegmentCrossover< EOT >::eoSegmentCrossover(eoRealVectorBounds &_bounds, const double &_alpha=0.0) are not documented: - parameter _alpha - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:137: Warning: Member eoSelBinGenOp(eoBinOp< EOT > &_op, eoSelectOne< EOT > &_sel) of class eoSelBinGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:146: Warning: Member className() const of class eoSelBinGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:149: Warning: Member op of class eoSelBinGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoGenOp.h:150: Warning: Member sel of class eoSelBinGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:58: Warning: Member eoSelectFromWorth(eoPerf2Worth< EOT, WorthType > &_perf2Worth) of class eoSelectFromWorth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:78: Warning: Member check_sync(unsigned index, const EOT &_eo) of class eoSelectFromWorth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:74: Warning: Member perf2Worth of class eoSelectFromWorth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:77: Warning: Member fitness of class eoSelectFromWorth is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:192: Warning: Member eoSelectivePopulator(const eoPop< EOT > &_pop, eoPop< EOT > &_dest, eoSelectOne< EOT > &_sel) of class eoSelectivePopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:202: Warning: Member sel of class eoSelectivePopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectMany.h:55: Warning: Member eoSelectMany(eoSelectOne< EOT > &_select, eoHowMany _howMany) of class eoSelectMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectMany.h:76: Warning: Member select of class eoSelectMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectMany.h:77: Warning: Member howMany of class eoSelectMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectNumber.h:68: Warning: Member select of class eoSelectNumber is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectNumber.h:69: Warning: Member nb_to_select of class eoSelectNumber is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectPerc.h:68: Warning: Member select of class eoSelectPerc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectPerc.h:69: Warning: Member rate of class eoSelectPerc is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoBreed.h:62: Warning: Member eoSelectTransform(eoSelect< EOT > &_select, eoTransform< EOT > &_transform) of class eoSelectTransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoBreed.h:71: Warning: Member select of class eoSelectTransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoBreed.h:72: Warning: Member transform of class eoSelectTransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:159: Warning: Member eoSeqPopulator(const eoPop< EOT > &_pop, eoPop< EOT > &_dest) of class eoSeqPopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopulator.h:176: Warning: Member current of class eoSeqPopulator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:95: Warning: Member position_type of class eoSequentialOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:123: Warning: Member className() const of class eoSequentialOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:127: Warning: Member to_apply of class eoSequentialOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoOpContainer.h:128: Warning: Member production of class eoSequentialOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSequentialSelect.h:81: Warning: Member ordered of class eoSequentialSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSequentialSelect.h:82: Warning: Member current of class eoSequentialSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSequentialSelect.h:83: Warning: Member eoPters of class eoSequentialSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGA.h:67: Warning: Member eoSGA(eoSelectOne< EOT > &_select, eoQuadOp< EOT > &_cross, float _crate, eoMonOp< EOT > &_mutate, float _mrate, eoEvalFunc< EOT > &_eval, eoContinue< EOT > &_cont) of class eoSGA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGA.h:109: Warning: Member cont of class eoSGA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGA.h:112: Warning: Member mutationRate of class eoSGA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGA.h:114: Warning: Member cross of class eoSGA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGA.h:115: Warning: Member crossoverRate of class eoSGA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGA.h:116: Warning: Member select of class eoSGA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGA.h:117: Warning: Member eval of class eoSGA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGAGenOp.h:77: Warning: Member className() const of class eoSGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGAGenOp.h:81: Warning: Member cross of class eoSGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGAGenOp.h:82: Warning: Member pCross of class eoSGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGAGenOp.h:83: Warning: Member mut of class eoSGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGAGenOp.h:84: Warning: Member pMut of class eoSGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGAGenOp.h:85: Warning: Member propOp of class eoSGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGAGenOp.h:86: Warning: Member quadClone of class eoSGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGAGenOp.h:87: Warning: Member op of class eoSGAGenOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:86: Warning: Member cross of class eoSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:87: Warning: Member crossoverProba of class eoSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:88: Warning: Member mutate of class eoSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:89: Warning: Member mutationProba of class eoSGATransform is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:58: Warning: argument `pop' of command @param is not found in the argument list of eoSGATransform< EOT >::operator()(eoPop< EOT > &_pop) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSGATransform.h:58: Warning: The following parameters of eoSGATransform< EOT >::operator()(eoPop< EOT > &_pop) are not documented: - parameter _pop - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSharing.h:90: Warning: Member eoSharing(double _nicheSize, eoDistance< EOT > &_dist) of class eoSharing is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSharing.h:131: Warning: Member nicheSize of class eoSharing is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSharing.h:132: Warning: Member dist of class eoSharing is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSharingSelect.h:53: Warning: Member sharing of class eoSharingSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSharingSelect.h:46: Warning: argument `_s' of command @param is not found in the argument list of eoSharingSelect< EOT >::eoSharingSelect(double _sigma, eoDistance< EOT > &_dist) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSharingSelect.h:46: Warning: The following parameters of eoSharingSelect< EOT >::eoSharingSelect(double _sigma, eoDistance< EOT > &_dist) are not documented: - parameter _sigma - parameter _dist - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSimpleEDA.h:93: Warning: Member update of class eoSimpleEDA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSimpleEDA.h:95: Warning: Member eval of class eoSimpleEDA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSimpleEDA.h:97: Warning: Member popSize of class eoSimpleEDA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSimpleEDA.h:99: Warning: Member continuator of class eoSimpleEDA is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoPopStat.h:130: Warning: Member combien of class eoSortedPopStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:92: Warning: Member eoSortedStat(ParamType _value, std::string _desc) of class eoSortedStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:93: Warning: Member className(void) const of class eoSortedStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:79: Warning: Member lastCall(const std::vector< const EOT * > &) of class eoSortedStatBase is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:80: Warning: Member className(void) const of class eoSortedStatBase is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:95: Warning: Member eoSSGADetTournamentReplacement(unsigned _t_size) of class eoSSGADetTournamentReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:98: Warning: Member truncate of class eoSSGADetTournamentReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:99: Warning: Member plus of class eoSSGADetTournamentReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:112: Warning: Member eoSSGAStochTournamentReplacement(double _t_rate) of class eoSSGAStochTournamentReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:115: Warning: Member truncate of class eoSSGAStochTournamentReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:116: Warning: Member plus of class eoSSGAStochTournamentReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:83: Warning: Member truncate of class eoSSGAWorseReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceMerge.h:84: Warning: Member plus of class eoSSGAWorseReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:64: Warning: Member eoStat(T _value, std::string _description) of class eoStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:67: Warning: Member className(void) const of class eoStat is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:48: Warning: Member lastCall(const eoPop< EOT > &) of class eoStatBase is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStat.h:49: Warning: Member className(void) const of class eoStatBase is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:88: Warning: Member getCommentString(void) const of class eoState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:122: Warning: Member ObjectMap of class eoState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:119: Warning: Member createObjectName(eoObject *obj) of class eoState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:130: Warning: Member eoState(const eoState &) of class eoState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:131: Warning: Member operator=(const eoState &) of class eoState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:124: Warning: Member objectMap of class eoState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:126: Warning: Member creationOrder of class eoState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:127: Warning: Member ownedObjects of class eoState is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoState.h:85: Warning: Member loading_error(std::string huh="Error while loading") of class eoState::loading_error is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:134: Warning: Member EoType of class eoStBranchMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:185: Warning: Member max_length of class eoStBranchMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:186: Warning: Member initializer of class eoStBranchMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStdoutMonitor.h:42: Warning: Member eoStdoutMonitor(bool _verbose=true, std::string _delim="\t") of class eoStdoutMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStdoutMonitor.h:45: Warning: Member className(void) const of class eoStdoutMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStdoutMonitor.h:47: Warning: Member verbose of class eoStdoutMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStdoutMonitor.h:48: Warning: Member delim of class eoStdoutMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoStdoutMonitor.h:49: Warning: Member firsttime of class eoStdoutMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:38: Warning: Member Fitness of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:100: Warning: Member steadyGenerations() of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:102: Warning: Member className(void) const of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:104: Warning: Member repMinGenerations of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:105: Warning: Member repSteadyGenerations of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:106: Warning: Member steadyState of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:107: Warning: Member thisGenerationPlaceHolder of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:108: Warning: Member thisGeneration of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:109: Warning: Member lastImprovement of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSteadyFitContinue.h:110: Warning: Member bestSoFar of class eoSteadyFitContinue is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:262: Warning: Member EoType of class eoStHoistMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:310: Warning: Member max_length of class eoStHoistMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:311: Warning: Member initializer of class eoStHoistMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:104: Warning: Member eoSTLBF(eoUF< A1, R > &_f) of class eoSTLBF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:107: Warning: Member operator()(A1 a1, A2 a2) of class eoSTLBF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:113: Warning: Member f of class eoSTLBF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:45: Warning: Member result_type of class eoSTLF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:47: Warning: Member eoSTLF(eoF< R > &_f) of class eoSTLF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:50: Warning: Member operator()(void) of class eoSTLF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:56: Warning: Member f of class eoSTLF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:81: Warning: Member eoSTLUF(eoUF< A1, R > &_f) of class eoSTLUF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:84: Warning: Member operator()(A1 a) of class eoSTLUF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSTLFunctor.h:89: Warning: Member f of class eoSTLUF is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoStochasticUniversalSelect.h:105: Warning: Member IndexVec of class eoStochasticUniversalSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoStochasticUniversalSelect.h:106: Warning: Member indices of class eoStochasticUniversalSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoStochTournamentSelect.h:48: Warning: Member eoStochTournamentSelect(double _Trate=1.0) of class eoStochTournamentSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoStochTournamentSelect.h:67: Warning: Member Trate of class eoStochTournamentSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduce.h:241: Warning: Member eoStochTournamentTruncate(double _t_rate) of class eoStochTournamentTruncate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduce.h:283: Warning: Member t_rate of class eoStochTournamentTruncate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:316: Warning: Member t_rate of class eoStochTournamentTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:317: Warning: Member howMany of class eoStochTournamentTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:318: Warning: Member returnEliminated of class eoStochTournamentTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:134: Warning: Member worthIterator of class eoStochTournamentWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:139: Warning: Member eoStochTournamentWorthSelect(eoPerf2Worth< EOT, WorthT > &_perf2Worth, double _tRate) of class eoStochTournamentWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSelectFromWorth.h:160: Warning: Member tRate of class eoStochTournamentWorthSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:65: Warning: Member EoType of class eoStParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:140: Warning: Member generate(std::list< Node > &sequence, int the_max, int request_type) of class eoStParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:183: Warning: Member max_depth of class eoStParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:184: Warning: Member node of class eoStParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:186: Warning: Member return_type of class eoStParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:187: Warning: Member grow of class eoStParseTreeDepthInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:67: Warning: Found unknown command `\parm' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:67: Warning: argument `_initializor' of command @param is not found in the argument list of eoStParseTreeDepthInit< FType, Node >::eoStParseTreeDepthInit(unsigned _max_depth, const std::vector< Node > &_node, const int &_return_type, bool _grow=true) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeDepthInit.h:67: Warning: The following parameters of eoStParseTreeDepthInit< FType, Node >::eoStParseTreeDepthInit(unsigned _max_depth, const std::vector< Node > &_node, const int &_return_type, bool _grow=true) are not documented: - parameter _max_depth - parameter _node - parameter _return_type - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:199: Warning: Member EoType of class eoStPointMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:249: Warning: Member node of class eoStPointMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:201: Warning: argument `_initializor' of command @param is not found in the argument list of eoStPointMutation< FType, Node >::eoStPointMutation(std::vector< Node > &_node) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:201: Warning: The following parameters of eoStPointMutation< FType, Node >::eoStPointMutation(std::vector< Node > &_node) are not documented: - parameter _node - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoString.h:46: Warning: Member Type of class eoString is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoString.h:47: Warning: Member AtomType of class eoString is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/eoString.h:48: Warning: Member ContainerType of class eoString is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:59: Warning: Member EoType of class eoStSubtreeXOver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoStParseTreeOp.h:122: Warning: Member max_length of class eoStSubtreeXOver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:45: Warning: Member EoType of class eoSubtreeXOver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/eoParseTreeOp.h:79: Warning: Member max_length of class eoSubtreeXOver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSurviveAndDie.h:59: Warning: Member eoSurviveAndDie(double _survive, double _die, bool _interpret_as_rate=true) of class eoSurviveAndDie is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSurviveAndDie.h:62: Warning: Member howmanySurvive of class eoSurviveAndDie is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoSurviveAndDie.h:63: Warning: Member howmanyDie of class eoSurviveAndDie is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymInit.h:28: Warning: Member builder of class eoSymInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymInit.h:30: Warning: Member own_grow_prob of class eoSymInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymInit.h:31: Warning: Member own_max_depth of class eoSymInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymInit.h:34: Warning: Member grow_prob of class eoSymInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/eoSymInit.h:35: Warning: Member max_depth of class eoSymInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/pickle.h:36: Warning: Member print_to_string(const T &t) of class T_pickle_suite is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/pickle.h:45: Warning: Member getstate(const T &t) of class T_pickle_suite is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/pickle.h:52: Warning: Member setstate(T &t, boost::python::tuple pickled) of class T_pickle_suite is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoTimeCounter.h:62: Warning: Member utime of class eoTimeCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:72: Warning: Member eoTimedDynUpdate(eoUpdatable &_toUpdate, time_t _interval) of class eoTimedDynUpdate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:85: Warning: Member interval of class eoTimedDynUpdate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:86: Warning: Member last_time of class eoTimedDynUpdate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:87: Warning: Member first_time of class eoTimedDynUpdate is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoTimedMonitor.h:43: Warning: Member eoTimedMonitor(int seconds_) of class eoTimedMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoTimedMonitor.h:67: Warning: Member add(eoMonitor &mon) of class eoTimedMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoTimedMonitor.h:69: Warning: Member className(void) const of class eoTimedMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoTimedMonitor.h:71: Warning: Member last_tick of class eoTimedMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoTimedMonitor.h:72: Warning: Member seconds of class eoTimedMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoTimedMonitor.h:73: Warning: Member monitors of class eoTimedMonitor is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:109: Warning: Member eoTimedStateSaver(time_t _interval, const eoState &_state, std::string _prefix="state", std::string _extension="sav") of class eoTimedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:113: Warning: Member className(void) const of class eoTimedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:115: Warning: Member state of class eoTimedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:117: Warning: Member interval of class eoTimedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:118: Warning: Member last_time of class eoTimedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:119: Warning: Member first_time of class eoTimedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:120: Warning: Member prefix of class eoTimedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:121: Warning: Member extension of class eoTimedStateSaver is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoPopEvalFunc.h:97: Warning: Member eval of class eoTimeVaryingLoopEval is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectMany.h:69: Warning: Member eoTruncatedSelectMany(eoSelectOne< EOT > &_select, eoHowMany _howManyGenitors, eoHowMany _howManyFertile) of class eoTruncatedSelectMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectMany.h:112: Warning: Member select of class eoTruncatedSelectMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectMany.h:113: Warning: Member howManyGenitors of class eoTruncatedSelectMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectMany.h:114: Warning: Member howManyFertile of class eoTruncatedSelectMany is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectOne.h:105: Warning: Member select of class eoTruncatedSelectOne is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectOne.h:106: Warning: Member howManyFertile of class eoTruncatedSelectOne is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectOne.h:107: Warning: Member tmpPop of class eoTruncatedSelectOne is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectOne.h:108: Warning: Member actualPop of class eoTruncatedSelectOne is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectOne.h:92: Warning: argument `_source' of command @param is not found in the argument list of eoTruncatedSelectOne< EOT >::operator()(const eoPop< EOT > &_pop) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectOne.h:92: Warning: argument `_dest' of command @param is not found in the argument list of eoTruncatedSelectOne< EOT >::operator()(const eoPop< EOT > &_pop) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncatedSelectOne.h:92: Warning: The following parameters of eoTruncatedSelectOne< EOT >::operator()(const eoPop< EOT > &_pop) are not documented: - parameter _pop - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:79: Warning: Member howMany of class eoTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReduceSplit.h:80: Warning: Member returnEliminated of class eoTruncateSplit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncSelect.h:69: Warning: Member select of class eoTruncSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoTruncSelect.h:70: Warning: Member howMany of class eoTruncSelect is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:310: Warning: Member preference of class eoUBitXover is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/eoBitOp.h:288: Warning: Found unknown command `\std' -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:125: Warning: Member UF_random_generator(eoRng &_rng=rng) of class UF_random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:127: Warning: Member operator()(T _t) of class UF_random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:130: Warning: Member random of class UF_random_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCounter.h:99: Warning: Member eoUnaryFunctorCounter(UnaryFunctor &_func, std::string _name="uf_counter") of class eoUnaryFunctorCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoCounter.h:130: Warning: Member func of class eoUnaryFunctorCounter is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:50: Warning: Member uniform_generator(T _max=T(1.0), eoRng &_rng=rng) of class uniform_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:53: Warning: Member uniform_generator(T _min, T _max, eoRng &_rng=rng) of class uniform_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:58: Warning: Member operator()(void) of class uniform_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:61: Warning: Member minim of class uniform_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:62: Warning: Member range of class uniform_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/rnd_generators.h:63: Warning: Member uniform of class uniform_generator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:55: Warning: Member eoUniformAtomExchange(double _rate=0.5) of class eoUniformAtomExchange is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:78: Warning: Member rate of class eoUniformAtomExchange is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:79: Warning: Member mask of class eoUniformAtomExchange is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:102: Warning: Member className() const of class eoUniformGeneChooser is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:72: Warning: Member eoUniformGenerator(T _max=T(1.0), eoRng &_rng=rng) of class eoUniformGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:75: Warning: Member eoUniformGenerator(T _min, T _max, eoRng &_rng=rng) of class eoUniformGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:87: Warning: Member minim of class eoUniformGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:88: Warning: Member range of class eoUniformGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoRndGenerators.h:89: Warning: Member uniform of class eoUniformGenerator is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:102: Warning: Member operator()(bool &_b) of class eoUniformInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:93: Warning: Member minim of class eoUniformInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:94: Warning: Member range of class eoUniformInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUniformInit.h:95: Warning: Member uniform of class eoUniformInit is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:132: Warning: Member homogeneous of class eoUniformMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:133: Warning: Member bounds of class eoUniformMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:134: Warning: Member epsilon of class eoUniformMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/eoRealOp.h:135: Warning: Member p_change of class eoUniformMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdatable.h:43: Warning: Member update()=0 of class eoUpdatable is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:42: Warning: Member lastCall() of class eoUpdater is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoUpdater.h:43: Warning: Member className(void) const of class eoUpdater is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:195: Warning: Member repValue of class eoValueParam is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:143: Warning: argument `_shortName' of command @param is not found in the argument list of eoValueParam< ValueType >::eoValueParam(ValueType _defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/eoParam.h:143: Warning: The following parameters of eoValueParam< ValueType >::eoValueParam(ValueType _defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false) are not documented: - parameter _shortHand - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:86: Warning: Member maximizing(unsigned _i) of class eoVariableParetoTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:94: Warning: Member nObj of class eoVariableParetoTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoParetoFitness.h:95: Warning: Member bObj of class eoVariableParetoTraits is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVector.h:57: Warning: Member AtomType of class eoVector is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVector.h:58: Warning: Member ContainerType of class eoVector is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVector.h:77: Warning: Member value(const std::vector< GeneType > &_v) of class eoVector is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/VirusOp.h:45: Warning: argument `chrom' of command @param is not found in the argument list of VirusBitFlip< FitT >::operator()(eoVirus< FitT > &_chrom) -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/VirusOp.h:45: Warning: The following parameters of VirusBitFlip< FitT >::operator()(eoVirus< FitT > &_chrom) are not documented: - parameter _chrom - -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/VirusOp.h:95: Warning: argument `chrom' of command @param is not found in the argument list of VirusShiftMutation< FitT >::operator()(eoVirus< FitT > &_chrom) -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/VirusOp.h:95: Warning: The following parameters of VirusShiftMutation< FitT >::operator()(eoVirus< FitT > &_chrom) are not documented: - parameter _chrom - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:52: Warning: Member AtomType of class eoVlAddMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:78: Warning: Member nMax of class eoVlAddMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:79: Warning: Member atomInit of class eoVlAddMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:54: Warning: argument `nMax' of command @param is not found in the argument list of eoVlAddMutation< EOT >::eoVlAddMutation(unsigned _nMax, eoInit< AtomType > &_atomInit) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:54: Warning: The following parameters of eoVlAddMutation< EOT >::eoVlAddMutation(unsigned _nMax, eoInit< AtomType > &_atomInit) are not documented: - parameter _nMax - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:93: Warning: Member AtomType of class eoVlAtomExchangeQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:164: Warning: Member Min of class eoVlAtomExchangeQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:164: Warning: Member Max of class eoVlAtomExchangeQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:165: Warning: Member atomExchange of class eoVlAtomExchangeQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:114: Warning: Member AtomType of class eoVlDelMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:144: Warning: Member className() const of class eoVlDelMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:151: Warning: Member nMin of class eoVlDelMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:152: Warning: Member uChooser of class eoVlDelMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:153: Warning: Member chooser of class eoVlDelMutation is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:116: Warning: argument `nMin' of command @param is not found in the argument list of eoVlDelMutation< EOT >::eoVlDelMutation(unsigned _nMin, eoGeneDelChooser< EOT > &_chooser) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:116: Warning: argument `_geneChooser' of command @param is not found in the argument list of eoVlDelMutation< EOT >::eoVlDelMutation(unsigned _nMin, eoGeneDelChooser< EOT > &_chooser) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:116: Warning: The following parameters of eoVlDelMutation< EOT >::eoVlDelMutation(unsigned _nMin, eoGeneDelChooser< EOT > &_chooser) are not documented: - parameter _nMin - parameter _chooser - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:124: Warning: argument `nMin' of command @param is not found in the argument list of eoVlDelMutation< EOT >::eoVlDelMutation(unsigned _nMin) -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthMutation.h:124: Warning: The following parameters of eoVlDelMutation< EOT >::eoVlDelMutation(unsigned _nMin) are not documented: - parameter _nMin - -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:284: Warning: Member AtomType of class eoVlUniformBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:288: Warning: Member eoVlUniformBinOp(unsigned _Min, unsigned _Max, double _rate=0.5) of class eoVlUniformBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:342: Warning: Member Min of class eoVlUniformBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:342: Warning: Member Max of class eoVlUniformBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:343: Warning: Member rate of class eoVlUniformBinOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:223: Warning: Member AtomType of class eoVlUniformQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:227: Warning: Member eoVlUniformQuadOp(unsigned _Min, unsigned _Max, double _rate=0.5) of class eoVlUniformQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:265: Warning: Member Min of class eoVlUniformQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:265: Warning: Member Max of class eoVlUniformQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoVariableLengthCrossover.h:266: Warning: Member rate of class eoVlUniformQuadOp is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReplacement.h:105: Warning: Member Fitness of class eoWeakElitistReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReplacement.h:109: Warning: Member eoWeakElitistReplacement(eoReplacement< EOT > &_replace) of class eoWeakElitistReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/eoReplacement.h:123: Warning: Member replace of class eoWeakElitistReplacement is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:75: Warning: Unsupported html tag found -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:189: Warning: Member MemPool(unsigned int sz) of class gp_parse_tree::MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:202: Warning: Member allocate() of class gp_parse_tree::MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:210: Warning: Member deallocate(void *b) of class gp_parse_tree::MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:219: Warning: Member grow() of class gp_parse_tree::MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:249: Warning: Member chunks of class gp_parse_tree::MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:250: Warning: Member esize of class gp_parse_tree::MemPool is not documented. -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/parse_tree.h:251: Warning: Member head of class gp_parse_tree::MemPool is not documented. diff --git a/trunk/paradiseo-eo/doc/man/man3/BiasedNodeSelector.3 b/trunk/paradiseo-eo/doc/man/man3/BiasedNodeSelector.3 deleted file mode 100644 index c4be48347..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/BiasedNodeSelector.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH "BiasedNodeSelector" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -BiasedNodeSelector \- A node selector that does a specified number of rounds ignoring terminals. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBNodeSelector\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBBiasedNodeSelector\fP (unsigned n)" -.br -.ti -1c -.RI "NodeSelection \fBselect_node\fP (Sym sym) const " -.br -.in -1c -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBnRounds\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -A node selector that does a specified number of rounds ignoring terminals. -.PP -Definition at line 55 of file NodeSelector.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/Bitstring.3 b/trunk/paradiseo-eo/doc/man/man3/Bitstring.3 deleted file mode 100644 index 3278c50f0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/Bitstring.3 +++ /dev/null @@ -1,64 +0,0 @@ -.TH "Bitstring" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -Bitstring \- Various functions for a bitstring representation. - -.PP -.SS "Classes" - -.in +1c -.ti -1c -.RI "class \fBeoBit< FitT >\fP" -.br -.RI "\fIImplementation of bitstring chromosome. \fP" -.ti -1c -.RI "class \fBeoBit< FitT >\fP" -.br -.RI "\fIImplementation of bitstring chromosome. \fP" -.ti -1c -.RI "class \fBeoBitBitFlip\fP" -.br -.RI "\fIeoBitFlip --> changes 1 bit \fP" -.ti -1c -.RI "class \fBeoDetBitFlip< Chrom >\fP" -.br -.RI "\fIeoDetBitFlip --> changes exactly k bits \fP" -.ti -1c -.RI "class \fBeoBitMutation< Chrom >\fP" -.br -.RI "\fIeoBitMutation --> classical mutation \fP" -.ti -1c -.RI "class \fBeoBitInversion< Chrom >\fP" -.br -.RI "\fIeoBitInversion: inverts the bits of the chromosome between an interval \fP" -.ti -1c -.RI "class \fBeoBitNext< Chrom >\fP" -.br -.RI "\fIeoBitNext --> next value when bitstring considered as binary value \fP" -.ti -1c -.RI "class \fBeoBitPrev< Chrom >\fP" -.br -.RI "\fIeoBitPrev --> previous value when bitstring treated as binary value \fP" -.ti -1c -.RI "class \fBeo1PtBitCrossover\fP" -.br -.RI "\fIeo1PtBitXover --> classic 1-point crossover \fP" -.ti -1c -.RI "class \fBeoUBitXover< Chrom >\fP" -.br -.RI "\fIeoUBitXover --> classic Uniform crossover \fP" -.ti -1c -.RI "class \fBeoNPtsBitXover< Chrom >\fP" -.br -.RI "\fIeoNPtsBitXover --> n-point crossover \fP" -.ti -1c -.RI "class \fBeoBitGxOver< Chrom >\fP" -.br -.RI "\fIeoBitGxOver --> Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) \fP" -.in -1c -.SH "Detailed Description" -.PP -Various functions for a bitstring representation. -.PP - diff --git a/trunk/paradiseo-eo/doc/man/man3/Cov.3 b/trunk/paradiseo-eo/doc/man/man3/Cov.3 deleted file mode 100644 index 902f37f41..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/Cov.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "Cov" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -Cov \- Single covariance between two variates. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBupdate\fP (double a, double b)" -.br -.ti -1c -.RI "double \fBget_meana\fP () const " -.br -.ti -1c -.RI "double \fBget_meanb\fP () const " -.br -.ti -1c -.RI "double \fBget_cov\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBn\fP" -.br -.ti -1c -.RI "double \fBmeana\fP" -.br -.ti -1c -.RI "double \fBmeanb\fP" -.br -.ti -1c -.RI "double \fBsumcov\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Single covariance between two variates. -.PP -Definition at line 58 of file stats.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/Dummy.3 b/trunk/paradiseo-eo/doc/man/man3/Dummy.3 deleted file mode 100644 index 0f13bb7fc..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/Dummy.3 +++ /dev/null @@ -1,150 +0,0 @@ -.TH "Dummy" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -Dummy \- test program for the general operator - millenium version! uses dummy individuals - -.PP -.SH SYNOPSIS -.br -.PP -Inherits \fBEO< double >\fP, \fBEO< double >\fP, \fBEO< double >\fP, \fBEO< double >\fP, \fBEO< double >\fP, and \fBEO< double >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef double \fBType\fP" -.br -.ti -1c -.RI "typedef double \fBType\fP" -.br -.ti -1c -.RI "typedef double \fBType\fP" -.br -.ti -1c -.RI "typedef double \fBType\fP" -.br -.ti -1c -.RI "typedef double \fBType\fP" -.br -.ti -1c -.RI "typedef double \fBType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBDummy\fP (std::string _s='')" -.br -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.in -1c -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "std::string \fBs\fP" -.br -.ti -1c -.RI "double \fBxdist\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -test program for the general operator - millenium version! uses dummy individuals -.PP -Definition at line 27 of file t-eoCheckpointing.cpp. -.SH "Member Function Documentation" -.PP -.SS "void Dummy::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -Called printOn since it prints the object _on_ a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Reimplemented from \fBEO< double >\fP. -.PP -Definition at line 41 of file t-eoGenOp.cpp. -.PP -References EO< F >::printOn(). -.SS "void Dummy::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -Called printOn since it prints the object _on_ a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Reimplemented from \fBEO< double >\fP. -.PP -Definition at line 23 of file t-eoReplacement.cpp. -.PP -References EO< F >::printOn(). -.SS "void Dummy::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -Called printOn since it prints the object _on_ a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Reimplemented from \fBEO< double >\fP. -.PP -Definition at line 18 of file t-eoSelect.cpp. -.PP -References EO< F >::printOn(). -.SS "void Dummy::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -Called printOn since it prints the object _on_ a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Reimplemented from \fBEO< double >\fP. -.PP -Definition at line 24 of file t-eoSharing.cpp. -.PP -References EO< F >::printOn(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/EO.3 b/trunk/paradiseo-eo/doc/man/man3/EO.3 deleted file mode 100644 index 3ad2f05fd..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/EO.3 +++ /dev/null @@ -1,263 +0,0 @@ -.TH "EO" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -EO \- EO is a base class for evolvable objects, that is, the subjects of evolution. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoObject\fP, and \fBeoPersistent\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef F \fBFitness\fP" -.br -.ti -1c -.RI "typedef Traits \fBfitness_traits\fP" -.br -.ti -1c -.RI "typedef Traits::storage_type \fBstorage_type\fP" -.br -.ti -1c -.RI "typedef Traits::performance_type \fBperformance_type\fP" -.br -.ti -1c -.RI "typedef Traits::worth_type \fBworth_type\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBEO\fP ()" -.br -.RI "\fIDefault constructor. \fP" -.ti -1c -.RI "virtual \fB~EO\fP ()" -.br -.RI "\fIVirtual dtor. \fP" -.ti -1c -.RI "Fitness \fBfitness\fP () const " -.br -.RI "\fIReturn fitness value. \fP" -.ti -1c -.RI "void \fBinvalidate\fP ()" -.br -.ti -1c -.RI "void \fBfitness\fP (const Fitness &_fitness)" -.br -.RI "\fISet fitness. \fP" -.ti -1c -.RI "bool \fBinvalid\fP () const " -.br -.RI "\fIReturn true If fitness value is invalid, false otherwise. \fP" -.ti -1c -.RI "bool \fBoperator<\fP (const \fBEO\fP &_eo2) const " -.br -.RI "\fIReturns true if. \fP" -.ti -1c -.RI "bool \fBoperator>\fP (const \fBEO\fP &_eo2) const " -.br -.ti -1c -.RI "void \fBfitness\fP (performance_type perf)" -.br -.ti -1c -.RI "void \fBperformance\fP (performance_type perf)" -.br -.ti -1c -.RI "performance_type \fBperformance\fP (void) const " -.br -.ti -1c -.RI "void \fBworth\fP (worth_type worth)" -.br -.ti -1c -.RI "worth_type \fBworth\fP (void) const " -.br -.ti -1c -.RI "worth_type \fBfitness\fP (void) const " -.br -.ti -1c -.RI "void \fBinvalidate\fP (void)" -.br -.ti -1c -.RI "void \fBinvalidate_worth\fP (void)" -.br -.ti -1c -.RI "bool \fBoperator<\fP (const EO< Fitness, Traits > &other) const " -.br -.ti -1c -.RI "bool \fBoperator>\fP (const EO< Fitness, Traits > &other) const " -.br -.in -1c -.PP -.RI "\fB\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIReturn the class id. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object.\\ Calls base class, just in case that one had something to do. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.in -1c -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "Fitness \fBrepFitness\fP" -.br -.ti -1c -.RI "bool \fBinvalidFitness\fP" -.br -.ti -1c -.RI "bool \fBvalid_performance\fP" -.br -.ti -1c -.RI "bool \fBvalid_worth\fP" -.br -.ti -1c -.RI "storage_type \fBrep_fitness\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class EO< F >" -EO is a base class for evolvable objects, that is, the subjects of evolution. - -EOs have only got a fitness, which at the same time needs to be only an object with the operation less than (<) defined. Fitness says how good is the object; evolution or change of these objects is left to the genetic operators. A fitness less than another means a worse fitness, in whatever the context; thus, fitness is always maximized; although it can be minimized with a proper definition of the < operator. The fitness object must have, besides an void ctor, a copy ctor. -.PP -Definition at line 44 of file EO.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBEO\fP< F >::\fBEO\fP ()\fC [inline]\fP" -.PP -Default constructor. -.PP -Fitness must have a ctor which takes 0 as a value; we can not use void ctors here since default types like float have no void initializer. VC++ allows it, but gcc does not -.PP -Definition at line 54 of file EO.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBEO\fP< F >::fitness (const Fitness & _fitness)\fC [inline]\fP" -.PP -Set fitness. -.PP -At the same time, validates it. -.PP -\fBParameters:\fP -.RS 4 -\fI_fitness\fP New fitness value. -.RE -.PP - -.PP -Definition at line 72 of file EO.h. -.SS "template bool \fBEO\fP< F >::invalid () const\fC [inline]\fP" -.PP -Return true If fitness value is invalid, false otherwise. -.PP -\fBReturns:\fP -.RS 4 -true If fitness is invalid. -.RE -.PP - -.PP -Definition at line 81 of file EO.h. -.PP -Referenced by EO< PyFitness >::fitness(), eoOneMaxEvalFunc< EOT >::operator()(), eoOneFifthMutation< EOT >::operator()(), eoEvalFuncPtr< EOT, FitT, FunctionArg >::operator()(), eoEvalFuncCounter< EOT >::operator()(), and EO< PyFitness >::printOn(). -.SS "template bool \fBEO\fP< F >::operator< (const \fBEO\fP< F > & _eo2) const\fC [inline]\fP" -.PP -Returns true if. -.PP -\fBReturns:\fP -.RS 4 -true if the fitness is higher -.RE -.PP - -.PP -Definition at line 86 of file EO.h. -.PP -Referenced by eoVector< FitT, bool >::operator<(). -.SS "template virtual std::string \fBEO\fP< F >::className (void) const\fC [inline, virtual]\fP" -.PP -Return the class id. -.PP -\fBReturns:\fP -.RS 4 -the class name as a std::string -.RE -.PP - -.PP -Implements \fBeoObject\fP. -.PP -Reimplemented in \fBeoEsFull< Fit >\fP, \fBeoEsSimple< Fit >\fP, \fBeoEsStdev< Fit >\fP, \fBeoReal< FitT >\fP, \fBeoBit< FitT >\fP, \fBeoParseTree< FType, Node >\fP, \fBeoString< fitnessT >\fP, and \fBeoOneMax< FitT >\fP. -.PP -Definition at line 95 of file EO.h. -.SS "template virtual void \fBEO\fP< F >::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object.\\ Calls base class, just in case that one had something to do. -.PP -The read and print methods should be compatible and have the same format. In principle, format is 'plain': they just print a number -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP a std::istream. -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_std::exception\fP If a valid object can't be read. -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Reimplemented in \fBeoVector< FitT, GeneType >\fP, \fBeoEsFull< Fit >\fP, \fBeoEsSimple< Fit >\fP, \fBeoEsStdev< Fit >\fP, \fBeoBit< FitT >\fP, \fBeoParseTree< FType, Node >\fP, \fBeoExternalEO< Fit, External >\fP, \fBeoVector< Fit, double >\fP, \fBeoVector< FitT, double >\fP, and \fBeoVector< FitT, bool >\fP. -.PP -Definition at line 105 of file EO.h. -.PP -Referenced by eoVector< FitT, bool >::readFrom(), eoPop< Dummy >::readFrom(), eoParseTree< FType, Node >::readFrom(), eoOneMax< FitT >::readFrom(), eoExternalEO< Fit, External >::readFrom(), and eoBit< FitT >::readFrom(). -.SS "template virtual void \fBEO\fP< F >::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -Called printOn since it prints the object _on_ a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Reimplemented in \fBeoVector< FitT, GeneType >\fP, \fBeoEsFull< Fit >\fP, \fBeoEsSimple< Fit >\fP, \fBeoEsStdev< Fit >\fP, \fBeoBit< FitT >\fP, \fBeoParseTree< FType, Node >\fP, \fBeoExternalEO< Fit, External >\fP, \fBeoString< fitnessT >\fP, \fBDummy\fP, \fBDummy\fP, \fBDummy\fP, \fBDummy\fP, \fBeoVector< Fit, double >\fP, \fBeoVector< FitT, double >\fP, and \fBeoVector< FitT, bool >\fP. -.PP -Definition at line 129 of file EO.h. -.PP -Referenced by Dummy::printOn(), eoVector< FitT, bool >::printOn(), eoString< fitnessT >::printOn(), eoParseTree< FType, Node >::printOn(), eoOneMax< FitT >::printOn(), eoExternalEO< Fit, External >::printOn(), and eoBit< FitT >::printOn(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/EvolutionStrategies.3 b/trunk/paradiseo-eo/doc/man/man3/EvolutionStrategies.3 deleted file mode 100644 index b553385d4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/EvolutionStrategies.3 +++ /dev/null @@ -1,41 +0,0 @@ -.TH "EvolutionStrategies" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -EvolutionStrategies \- -.SS "Classes" - -.in +1c -.ti -1c -.RI "class \fBeoEsChromInit< EOT >\fP" -.br -.RI "\fIRandom Es-chromosome initializer (therefore derived from \fBeoInit\fP). \fP" -.ti -1c -.RI "class \fBeoEsFull< Fit >\fP" -.br -.RI "\fIThe most complex evolutionary strategy representation. \fP" -.ti -1c -.RI "class \fBeoEsMutate< EOT >\fP" -.br -.RI "\fIES-style mutation in the large. \fP" -.ti -1c -.RI "class \fBeoEsMutationInit\fP" -.br -.RI "\fIInitialize Mutation operator. \fP" -.ti -1c -.RI "class \fBeoEsSimple< Fit >\fP" -.br -.RI "\fISimple Evolution Strategy. \fP" -.ti -1c -.RI "class \fBeoEsStdev< Fit >\fP" -.br -.RI "\fIEvolutionary Strategy with a standard deviation per parameter. \fP" -.ti -1c -.RI "class \fBeoIntBounds\fP" -.br -.RI "\fIDefines bound classes for real numbers. \fP" -.ti -1c -.RI "class \fBeoRealBounds\fP" -.br -.RI "\fIDefines bound classes for real numbers. \fP" -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/MemPool.3 b/trunk/paradiseo-eo/doc/man/man3/MemPool.3 deleted file mode 100644 index 05cc5fb02..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/MemPool.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "MemPool" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -MemPool \- Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBMemPool\fP (unsigned int sz)" -.br -.ti -1c -.RI "void * \fBallocate\fP ()" -.br -.ti -1c -.RI "void \fBdeallocate\fP (void *b)" -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBgrow\fP ()" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "Chunk * \fBchunks\fP" -.br -.ti -1c -.RI "const unsigned int \fBesize\fP" -.br -.ti -1c -.RI "Link * \fBhead\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. - -Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided 'as is' without express or implied warranty, and with no claim as to its suitability for any purpose. -.PP -Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. -.PP -Definition at line 21 of file node_pool.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/MinimizingTraits.3 b/trunk/paradiseo-eo/doc/man/man3/MinimizingTraits.3 deleted file mode 100644 index 9e13c7fcf..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/MinimizingTraits.3 +++ /dev/null @@ -1,28 +0,0 @@ -.TH "MinimizingTraits" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -MinimizingTraits \- test program for Pareto Fitness - -.PP -.SH SYNOPSIS -.br -.PP -Inherits \fBeoParetoFitnessTraits\fP. -.PP -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "bool \fBmaximizing\fP (int)" -.br -.in -1c -.SH "Detailed Description" -.PP -test program for Pareto Fitness -.PP -Definition at line 36 of file t-eoParetoFitness.cpp. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/NodeSelector.3 b/trunk/paradiseo-eo/doc/man/man3/NodeSelector.3 deleted file mode 100644 index 55be97315..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/NodeSelector.3 +++ /dev/null @@ -1,30 +0,0 @@ -.TH "NodeSelector" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -NodeSelector \- Base class for selecting nodes. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBBiasedNodeSelector\fP, and \fBRandomNodeSelector\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual NodeSelection \fBselect_node\fP (Sym sym) const =0" -.br -.in -1c -.SH "Detailed Description" -.PP -Base class for selecting nodes. -.PP -Definition at line 24 of file NodeSelector.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/Operators.3 b/trunk/paradiseo-eo/doc/man/man3/Operators.3 deleted file mode 100644 index fbb561e66..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/Operators.3 +++ /dev/null @@ -1,8 +0,0 @@ -.TH "Operators" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -Operators \- Genetic Operators are used for various purposes. - -.PP - diff --git a/trunk/paradiseo-eo/doc/man/man3/ParseTree.3 b/trunk/paradiseo-eo/doc/man/man3/ParseTree.3 deleted file mode 100644 index 2148f99a4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/ParseTree.3 +++ /dev/null @@ -1,75 +0,0 @@ -.TH "ParseTree" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -ParseTree \- Various functions for tree-based Genetic Programming. - -.PP -.SS "Classes" - -.in +1c -.ti -1c -.RI "class \fBeoParseTree< FType, Node >\fP" -.br -.RI "\fIImplementation of parse-tree for genetic programming. \fP" -.ti -1c -.RI "class \fBeoParseTreeDepthInit< FType, Node >\fP" -.br -.RI "\fIeoParseTreeDepthInit : the initializer class for \fBeoParseTree\fP \fP" -.ti -1c -.RI "class \fBeoSubtreeXOver< FType, Node >\fP" -.br -.RI "\fIeoSubtreeXOver --> subtree xover \fP" -.ti -1c -.RI "class \fBeoBranchMutation< FType, Node >\fP" -.br -.RI "\fIeoBranchMutation --> replace a subtree with a randomly created subtree \fP" -.ti -1c -.RI "class \fBeoPointMutation< FType, Node >\fP" -.br -.RI "\fIeoPointMutation --> replace a Node with a Node of the same arity \fP" -.ti -1c -.RI "class \fBeoExpansionMutation< FType, Node >\fP" -.br -.RI "\fIeoExpansionMutation --> replace a terminal with a randomly created subtree \fP" -.ti -1c -.RI "class \fBeoCollapseSubtreeMutation< FType, Node >\fP" -.br -.RI "\fIeoCollapseSubtree --> replace a subtree with a randomly chosen terminal \fP" -.ti -1c -.RI "class \fBeoHoistMutation< FType, Node >\fP" -.br -.RI "\fIeoHoistMutation --> replace the individual with one of its subtree's \fP" -.in -1c -.SS "Functions" - -.in +1c -.ti -1c -.RI "template void \fBeoInitRampedHalfAndHalf\fP (\fBeoPop\fP< \fBeoParseTree\fP< FType, Node > > &pop, unsigned int population_size, unsigned int init_max_depth, std::vector< Node > &initializor)" -.br -.RI "\fIA template function for ramped half and half initialization of an \fBeoParseTree\fP population. \fP" -.in -1c -.SH "Detailed Description" -.PP -Various functions for tree-based Genetic Programming. -.PP -.SH "Function Documentation" -.PP -.SS "template void eoInitRampedHalfAndHalf (\fBeoPop\fP< \fBeoParseTree\fP< FType, Node > > & pop, unsigned int population_size, unsigned int init_max_depth, std::vector< Node > & initializor)" -.PP -A template function for ramped half and half initialization of an \fBeoParseTree\fP population. -.PP -\fBParameters:\fP -.RS 4 -\fIpop\fP the population to be created -.br -\fIpopulation_size\fP the size of the population to be created -.br -\fIinit_max_depth\fP the initial maximum tree depth -.br -\fIinitializor\fP A std::vector containing the possible nodes -.RE -.PP - -.PP -Definition at line 179 of file eoParseTreeDepthInit.h. diff --git a/trunk/paradiseo-eo/doc/man/man3/PropCombinedOperators.3 b/trunk/paradiseo-eo/doc/man/man3/PropCombinedOperators.3 deleted file mode 100644 index 9aa9dc271..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/PropCombinedOperators.3 +++ /dev/null @@ -1,8 +0,0 @@ -.TH "PropCombinedOperators" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -PropCombinedOperators \- Combination of same-type Genetic Operators - Proportional choice. - -.PP - diff --git a/trunk/paradiseo-eo/doc/man/man3/RandomNodeSelector.3 b/trunk/paradiseo-eo/doc/man/man3/RandomNodeSelector.3 deleted file mode 100644 index 1632f4975..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/RandomNodeSelector.3 +++ /dev/null @@ -1,30 +0,0 @@ -.TH "RandomNodeSelector" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -RandomNodeSelector \- Select nodes uniformly. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBNodeSelector\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "NodeSelection \fBselect_node\fP (Sym sym) const " -.br -.in -1c -.SH "Detailed Description" -.PP -Select nodes uniformly. -.PP -Definition at line 49 of file NodeSelector.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/Selectors.3 b/trunk/paradiseo-eo/doc/man/man3/Selectors.3 deleted file mode 100644 index 68a456ba4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/Selectors.3 +++ /dev/null @@ -1,5 +0,0 @@ -.TH "Selectors" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -Selectors \- diff --git a/trunk/paradiseo-eo/doc/man/man3/StParseTree.3 b/trunk/paradiseo-eo/doc/man/man3/StParseTree.3 deleted file mode 100644 index 27565aae7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/StParseTree.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "StParseTree" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -StParseTree \- Various functions for strongly typed tree-based Genetic Programming. - -.PP -.SS "Classes" - -.in +1c -.ti -1c -.RI "class \fBeoStParseTreeDepthInit< FType, Node >\fP" -.br -.RI "\fIeoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming \fP" -.ti -1c -.RI "class \fBeoStSubtreeXOver< FType, Node >\fP" -.br -.RI "\fIeoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming \fP" -.ti -1c -.RI "class \fBeoStBranchMutation< FType, Node >\fP" -.br -.RI "\fIeoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree \fP" -.ti -1c -.RI "class \fBeoStPointMutation< FType, Node >\fP" -.br -.RI "\fIeoStPointMutation --> replace a Node with a Node of the same arity and type \fP" -.ti -1c -.RI "class \fBeoStHoistMutation< FType, Node >\fP" -.br -.RI "\fIeoStHoistMutation --> replace the individual with one of its strongly typed subtree's \fP" -.in -1c -.SH "Detailed Description" -.PP -Various functions for strongly typed tree-based Genetic Programming. -.PP -The StParseTree functions use the same \fBeoParseTree\fP class for the individual but now each node class must have two additional functions. -.PD 0 - -.IP "\(bu" 2 -int type(void) which returns the return type of the node -.IP "\(bu" 2 -int type(int child) which returns the required type for child 0, 1 or 2 -.PP -Pruning strongly typed trees is not possible at the moment. diff --git a/trunk/paradiseo-eo/doc/man/man3/T_pickle_suite.3 b/trunk/paradiseo-eo/doc/man/man3/T_pickle_suite.3 deleted file mode 100644 index 2fb95aca6..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/T_pickle_suite.3 +++ /dev/null @@ -1,36 +0,0 @@ -.TH "T_pickle_suite" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -T_pickle_suite \- Implements pickle support for \fBeoPersistent\fP derivatives. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "std::string \fBprint_to_string\fP (const T &t)" -.br -.ti -1c -.RI "boost::python::tuple \fBgetstate\fP (const T &t)" -.br -.ti -1c -.RI "void \fBsetstate\fP (T &t, boost::python::tuple pickled)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template struct T_pickle_suite< T >" -Implements pickle support for \fBeoPersistent\fP derivatives. -.PP -Definition at line 32 of file pickle.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/UF_random_generator.3 b/trunk/paradiseo-eo/doc/man/man3/UF_random_generator.3 deleted file mode 100644 index 486e4f399..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/UF_random_generator.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH "UF_random_generator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -UF_random_generator \- Another class \fBrandom_generator\fP that can be used in the STL random_shuffle function (see \fBeoPop::shuffle\fP): its operator() takes an unsigned argument m and must return an unsigned uniformly distributed in [0,m}. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBUF_random_generator\fP (\fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "T \fBoperator()\fP (T _t)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoRng\fP & \fBrandom\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class UF_random_generator< T >" -Another class \fBrandom_generator\fP that can be used in the STL random_shuffle function (see \fBeoPop::shuffle\fP): its operator() takes an unsigned argument m and must return an unsigned uniformly distributed in [0,m}. -.PP -Definition at line 121 of file rnd_generators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/VirusBitFlip.3 b/trunk/paradiseo-eo/doc/man/man3/VirusBitFlip.3 deleted file mode 100644 index bea0b8cbe..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/VirusBitFlip.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "VirusBitFlip" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -VirusBitFlip \- VirusBitFlip --> changes 1 bit. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoVirus< FitT > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (eoVirus< \fBFitT\fP > &_chrom)" -.br -.RI "\fIChange one bit. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class VirusBitFlip< FitT >" -VirusBitFlip --> changes 1 bit. -.PP -Definition at line 40 of file VirusOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBVirusBitFlip\fP< \fBFitT\fP >::operator() (eoVirus< \fBFitT\fP > & _chrom)\fC [inline, virtual]\fP" -.PP -Change one bit. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom\fP The cromosome which one bit is going to be changed. -.RE -.PP - -.PP -Implements \fBeoUF< eoVirus< FitT > &, bool >\fP. -.PP -Definition at line 49 of file VirusOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/VirusShiftMutation.3 b/trunk/paradiseo-eo/doc/man/man3/VirusShiftMutation.3 deleted file mode 100644 index bcba1ebc7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/VirusShiftMutation.3 +++ /dev/null @@ -1,57 +0,0 @@ -.TH "VirusShiftMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -VirusShiftMutation \- Works for 1-bit virus; shifts the one to the right or left. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoVirus< FitT > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBVirusShiftMutation\fP ()" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (eoVirus< \fBFitT\fP > &_chrom)" -.br -.RI "\fIChange one bit. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class VirusShiftMutation< FitT >" -Works for 1-bit virus; shifts the one to the right or left. -.PP -Definition at line 86 of file VirusOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBVirusShiftMutation\fP< \fBFitT\fP >::operator() (eoVirus< \fBFitT\fP > & _chrom)\fC [inline, virtual]\fP" -.PP -Change one bit. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom\fP The cromosome which one bit is going to be changed. -.RE -.PP - -.PP -Implements \fBeoUF< eoVirus< FitT > &, bool >\fP. -.PP -Definition at line 99 of file VirusOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_.3 deleted file mode 100644 index b129eac96..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_.3 +++ /dev/null @@ -1,18 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/app/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/ Directory Reference \- -.SS "Directories" - -.in +1c -.ti -1c -.RI "directory\fBgprop\fP" -.br -.ti -1c -.RI "directory\fBgpsymreg\fP" -.br -.ti -1c -.RI "directory\fBmastermind\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_gprop_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_gprop_.3 deleted file mode 100644 index 0e50b3dad..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_gprop_.3 +++ /dev/null @@ -1,30 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gprop/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBgprop.cpp\fP" -.br -.ti -1c -.RI "file \fBgprop.h\fP" -.br -.ti -1c -.RI "file \fBl2.h\fP" -.br -.ti -1c -.RI "file \fBmlp.h\fP" -.br -.ti -1c -.RI "file \fBmse.h\fP" -.br -.ti -1c -.RI "file \fBqp.h\fP" -.br -.ti -1c -.RI "file \fBvecop.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_gpsymreg_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_gpsymreg_.3 deleted file mode 100644 index 7158c7304..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_gpsymreg_.3 +++ /dev/null @@ -1,21 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/gpsymreg/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBfitness.h\fP" -.br -.ti -1c -.RI "file \fBmain.cpp\fP" -.br -.ti -1c -.RI "file \fBnode.h\fP" -.br -.ti -1c -.RI "file \fBparameters.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_mastermind_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_mastermind_.3 deleted file mode 100644 index 6edf55aa7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_app_mastermind_.3 +++ /dev/null @@ -1,15 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/app/mastermind/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBmastermind.cpp\fP" -.br -.ti -1c -.RI "file \fBmastermind.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_.3 deleted file mode 100644 index 9f5be757c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_.3 +++ /dev/null @@ -1,25 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/ Directory Reference \- -.SS "Directories" - -.in +1c -.ti -1c -.RI "directory\fBmathsym\fP" -.br -.ti -1c -.RI "directory\fBMGE\fP" -.br -.in -1c -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBeoAged.h\fP" -.br -.ti -1c -.RI "file \fBeoDrawable.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_MGE_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_MGE_.3 deleted file mode 100644 index 8d98007bf..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_MGE_.3 +++ /dev/null @@ -1,18 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/MGE/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBeoInitVirus.h\fP" -.br -.ti -1c -.RI "file \fBeoVirus.h\fP" -.br -.ti -1c -.RI "file \fBVirusOp.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_.3 deleted file mode 100644 index a64a7d6d6..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_.3 +++ /dev/null @@ -1,43 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/ Directory Reference \- -.SS "Directories" - -.in +1c -.ti -1c -.RI "directory\fBeo_interface\fP" -.br -.ti -1c -.RI "directory\fBeval\fP" -.br -.ti -1c -.RI "directory\fBfun\fP" -.br -.ti -1c -.RI "directory\fBgen\fP" -.br -.ti -1c -.RI "directory\fBregression\fP" -.br -.ti -1c -.RI "directory\fBsym\fP" -.br -.ti -1c -.RI "directory\fBtest\fP" -.br -.in -1c -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBcontrib/mathsym/README\fP" -.br -.ti -1c -.RI "file \fBshared_ptr.h\fP" -.br -.ti -1c -.RI "file \fBsymreg.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_eo_interface_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_eo_interface_.3 deleted file mode 100644 index 078e14927..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_eo_interface_.3 +++ /dev/null @@ -1,36 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eo_interface/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBeoSym.h\fP" -.br -.ti -1c -.RI "file \fBeoSymCrossover.cpp\fP" -.br -.ti -1c -.RI "file \fBeoSymCrossover.h\fP" -.br -.ti -1c -.RI "file \fBeoSymEval.h\fP" -.br -.ti -1c -.RI "file \fBeoSymInit.h\fP" -.br -.ti -1c -.RI "file \fBeoSymLambdaMutate.cpp\fP" -.br -.ti -1c -.RI "file \fBeoSymLambdaMutate.h\fP" -.br -.ti -1c -.RI "file \fBeoSymMutate.cpp\fP" -.br -.ti -1c -.RI "file \fBeoSymMutate.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_eval_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_eval_.3 deleted file mode 100644 index ebcc5503e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_eval_.3 +++ /dev/null @@ -1,33 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/eval/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBBoundsCheck.cpp\fP" -.br -.ti -1c -.RI "file \fBBoundsCheck.h\fP" -.br -.ti -1c -.RI "file \fBInterval.h\fP" -.br -.ti -1c -.RI "file \fBMultiFuncs.cpp\fP" -.br -.ti -1c -.RI "file \fBMultiFunction.cpp\fP" -.br -.ti -1c -.RI "file \fBMultiFunction.h\fP" -.br -.ti -1c -.RI "file \fBsym_compile.cpp\fP" -.br -.ti -1c -.RI "file \fBsym_compile.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_fun_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_fun_.3 deleted file mode 100644 index e7741cb41..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_fun_.3 +++ /dev/null @@ -1,27 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/fun/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBFunDef.cpp\fP" -.br -.ti -1c -.RI "file \fBFunDef.h\fP" -.br -.ti -1c -.RI "file \fBsym_operations.cpp\fP" -.br -.ti -1c -.RI "file \fBSymOps.cpp\fP" -.br -.ti -1c -.RI "file \fBSymOps.h\fP" -.br -.ti -1c -.RI "file \fButil.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_gen_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_gen_.3 deleted file mode 100644 index bcd18f1ad..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_gen_.3 +++ /dev/null @@ -1,27 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/gen/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBLanguageTable.cpp\fP" -.br -.ti -1c -.RI "file \fBLanguageTable.h\fP" -.br -.ti -1c -.RI "file \fBNodeSelector.cpp\fP" -.br -.ti -1c -.RI "file \fBNodeSelector.h\fP" -.br -.ti -1c -.RI "file \fBTreeBuilder.cpp\fP" -.br -.ti -1c -.RI "file \fBTreeBuilder.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_regression_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_regression_.3 deleted file mode 100644 index ba17b0566..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_regression_.3 +++ /dev/null @@ -1,36 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/regression/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBDataset.cpp\fP" -.br -.ti -1c -.RI "file \fBDataset.h\fP" -.br -.ti -1c -.RI "file \fBErrorMeasure.cpp\fP" -.br -.ti -1c -.RI "file \fBErrorMeasure.h\fP" -.br -.ti -1c -.RI "file \fBScaling.cpp\fP" -.br -.ti -1c -.RI "file \fBScaling.h\fP" -.br -.ti -1c -.RI "file \fBstats.h\fP" -.br -.ti -1c -.RI "file \fBTargetInfo.cpp\fP" -.br -.ti -1c -.RI "file \fBTargetInfo.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_sym_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_sym_.3 deleted file mode 100644 index c8e4370dd..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_sym_.3 +++ /dev/null @@ -1,27 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/sym/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBREADME.cpp\fP" -.br -.ti -1c -.RI "file \fBSym.cpp\fP" -.br -.ti -1c -.RI "file \fBSym.h\fP" -.br -.ti -1c -.RI "file \fBSymImpl.cpp\fP" -.br -.ti -1c -.RI "file \fBSymImpl.h\fP" -.br -.ti -1c -.RI "file \fBtoken.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_test_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_test_.3 deleted file mode 100644 index dbcc25324..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_contrib_mathsym_test_.3 +++ /dev/null @@ -1,27 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/contrib/mathsym/test/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBtest_compile.cpp\fP" -.br -.ti -1c -.RI "file \fBtest_diff.cpp\fP" -.br -.ti -1c -.RI "file \fBtest_lambda.cpp\fP" -.br -.ti -1c -.RI "file \fBtest_mf.cpp\fP" -.br -.ti -1c -.RI "file \fBtest_simplify.cpp\fP" -.br -.ti -1c -.RI "file \fBtesteo.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_.3 deleted file mode 100644 index b02ea9a41..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_.3 +++ /dev/null @@ -1,346 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ Directory Reference \- -.SS "Directories" - -.in +1c -.ti -1c -.RI "directory\fBdo\fP" -.br -.ti -1c -.RI "directory\fBes\fP" -.br -.ti -1c -.RI "directory\fBga\fP" -.br -.ti -1c -.RI "directory\fBgp\fP" -.br -.ti -1c -.RI "directory\fBother\fP" -.br -.ti -1c -.RI "directory\fBpyeo\fP" -.br -.ti -1c -.RI "directory\fButils\fP" -.br -.in -1c -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBapply.h\fP" -.br -.ti -1c -.RI "file \fBEO.h\fP" -.br -.ti -1c -.RI "file \fBeoAlgo.h\fP" -.br -.ti -1c -.RI "file \fBeoBreed.h\fP" -.br -.ti -1c -.RI "file \fBeoCellularEasyEA.h\fP" -.br -.ti -1c -.RI "file \fBeoCloneOps.h\fP" -.br -.ti -1c -.RI "file \fBeoCombinedContinue.h\fP" -.br -.ti -1c -.RI "file \fBeoCombinedInit.h\fP" -.br -.ti -1c -.RI "file \fBeoContinue.h\fP" -.br -.ti -1c -.RI "file \fBeoCounter.h\fP" -.br -.ti -1c -.RI "file \fBeoCtrlCContinue.cpp\fP" -.br -.ti -1c -.RI "file \fBeoCtrlCContinue.h\fP" -.br -.ti -1c -.RI "file \fBeoDetSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoDetTournamentSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoDistribUpdater.h\fP" -.br -.ti -1c -.RI "file \fBeoDistribution.h\fP" -.br -.ti -1c -.RI "file \fBeoDominanceMap.h\fP" -.br -.ti -1c -.RI "file \fBeoEasyEA.h\fP" -.br -.ti -1c -.RI "file \fBeoEDA.h\fP" -.br -.ti -1c -.RI "file \fBeoEvalContinue.h\fP" -.br -.ti -1c -.RI "file \fBeoEvalFunc.h\fP" -.br -.ti -1c -.RI "file \fBeoEvalFuncCounter.h\fP" -.br -.ti -1c -.RI "file \fBeoEvalFuncPtr.h\fP" -.br -.ti -1c -.RI "file \fBeoFactory.h\fP" -.br -.ti -1c -.RI "file \fBeoFitContinue.h\fP" -.br -.ti -1c -.RI "file \fBeoFitnessScalingSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoFlOrBinOp.h\fP" -.br -.ti -1c -.RI "file \fBeoFlOrMonOp.h\fP" -.br -.ti -1c -.RI "file \fBeoFlOrQuadOp.h\fP" -.br -.ti -1c -.RI "file \fBeoFunctor.h\fP" -.br -.ti -1c -.RI "file \fBeoFunctorStore.cpp\fP" -.br -.ti -1c -.RI "file \fBeoFunctorStore.h\fP" -.br -.ti -1c -.RI "file \fBeoG3Replacement.h\fP" -.br -.ti -1c -.RI "file \fBeoGenContinue.h\fP" -.br -.ti -1c -.RI "file \fBeoGeneralBreeder.h\fP" -.br -.ti -1c -.RI "file \fBeoGenOp.h\fP" -.br -.ti -1c -.RI "file \fBeoInit.h\fP" -.br -.ti -1c -.RI "file \fBeoInvalidateOps.h\fP" -.br -.ti -1c -.RI "file \fBeoLinearFitScaling.h\fP" -.br -.ti -1c -.RI "file \fBeoMerge.h\fP" -.br -.ti -1c -.RI "file \fBeoMergeReduce.h\fP" -.br -.ti -1c -.RI "file \fBeoMGGReplacement.h\fP" -.br -.ti -1c -.RI "file \fBeoNDSorting.h\fP" -.br -.ti -1c -.RI "file \fBeoObject.h\fP" -.br -.ti -1c -.RI "file \fBeoOneToOneBreeder.h\fP" -.br -.ti -1c -.RI "file \fBeoOp.h\fP" -.br -.ti -1c -.RI "file \fBeoOpContainer.h\fP" -.br -.ti -1c -.RI "file \fBeoOpSelMason.h\fP" -.br -.ti -1c -.RI "file \fBeoParetoConstraintFitness.h\fP" -.br -.ti -1c -.RI "file \fBeoParetoFitness.cpp\fP" -.br -.ti -1c -.RI "file \fBeoParetoFitness.h\fP" -.br -.ti -1c -.RI "file \fBeoParetoRanking.h\fP" -.br -.ti -1c -.RI "file \fBeoPerf2Worth.h\fP" -.br -.ti -1c -.RI "file \fBeoPeriodicContinue.h\fP" -.br -.ti -1c -.RI "file \fBeoPersistent.cpp\fP" -.br -.ti -1c -.RI "file \fBeoPersistent.h\fP" -.br -.ti -1c -.RI "file \fBeoPop.h\fP" -.br -.ti -1c -.RI "file \fBeoPopAlgo.h\fP" -.br -.ti -1c -.RI "file \fBeoPopEvalFunc.h\fP" -.br -.ti -1c -.RI "file \fBeoPopulator.h\fP" -.br -.ti -1c -.RI "file \fBeoPrintable.cpp\fP" -.br -.ti -1c -.RI "file \fBeoPrintable.h\fP" -.br -.ti -1c -.RI "file \fBeoPropGAGenOp.h\fP" -.br -.ti -1c -.RI "file \fBeoProportionalCombinedOp.h\fP" -.br -.ti -1c -.RI "file \fBeoProportionalSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoRandomSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoRanking.h\fP" -.br -.ti -1c -.RI "file \fBeoRankingSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoReduce.h\fP" -.br -.ti -1c -.RI "file \fBeoReduceMerge.h\fP" -.br -.ti -1c -.RI "file \fBeoReduceMergeReduce.h\fP" -.br -.ti -1c -.RI "file \fBeoReduceSplit.h\fP" -.br -.ti -1c -.RI "file \fBeoReplacement.h\fP" -.br -.ti -1c -.RI "file \fBeoScalarFitness.h\fP" -.br -.ti -1c -.RI "file \fBeoScalarFitnessAssembled.cpp\fP" -.br -.ti -1c -.RI "file \fBeoScalarFitnessAssembled.h\fP" -.br -.ti -1c -.RI "file \fBeoSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoSelectFactory.h\fP" -.br -.ti -1c -.RI "file \fBeoSelectFromWorth.h\fP" -.br -.ti -1c -.RI "file \fBeoSelectMany.h\fP" -.br -.ti -1c -.RI "file \fBeoSelectNumber.h\fP" -.br -.ti -1c -.RI "file \fBeoSelectOne.h\fP" -.br -.ti -1c -.RI "file \fBeoSelectPerc.h\fP" -.br -.ti -1c -.RI "file \fBeoSequentialSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoSGA.h\fP" -.br -.ti -1c -.RI "file \fBeoSGAGenOp.h\fP" -.br -.ti -1c -.RI "file \fBeoSGATransform.h\fP" -.br -.ti -1c -.RI "file \fBeoSharing.h\fP" -.br -.ti -1c -.RI "file \fBeoSharingSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoSimpleEDA.h\fP" -.br -.ti -1c -.RI "file \fBeoSteadyFitContinue.h\fP" -.br -.ti -1c -.RI "file \fBeoSTLFunctor.h\fP" -.br -.ti -1c -.RI "file \fBeoStochasticUniversalSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoStochTournamentSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoSurviveAndDie.h\fP" -.br -.ti -1c -.RI "file \fBeoTransform.h\fP" -.br -.ti -1c -.RI "file \fBeoTruncatedSelectMany.h\fP" -.br -.ti -1c -.RI "file \fBeoTruncatedSelectOne.h\fP" -.br -.ti -1c -.RI "file \fBeoTruncSelect.h\fP" -.br -.ti -1c -.RI "file \fBeoVariableLengthCrossover.h\fP" -.br -.ti -1c -.RI "file \fBeoVariableLengthMutation.h\fP" -.br -.ti -1c -.RI "file \fBeoVector.h\fP" -.br -.ti -1c -.RI "file \fBes.h\fP" -.br -.ti -1c -.RI "file \fBga.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_do_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_do_.3 deleted file mode 100644 index dab2b4ab9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_do_.3 +++ /dev/null @@ -1,45 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/do/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBmake_algo_easea.h\fP" -.br -.ti -1c -.RI "file \fBmake_algo_pareto.h\fP" -.br -.ti -1c -.RI "file \fBmake_algo_scalar.h\fP" -.br -.ti -1c -.RI "file \fBmake_checkpoint.h\fP" -.br -.ti -1c -.RI "file \fBmake_checkpoint_assembled.h\fP" -.br -.ti -1c -.RI "file \fBmake_checkpoint_FDC.h\fP" -.br -.ti -1c -.RI "file \fBmake_checkpoint_pareto.h\fP" -.br -.ti -1c -.RI "file \fBmake_continue.h\fP" -.br -.ti -1c -.RI "file \fBmake_continue_pareto.h\fP" -.br -.ti -1c -.RI "file \fBmake_general_replacement.h\fP" -.br -.ti -1c -.RI "file \fBmake_pop.h\fP" -.br -.ti -1c -.RI "file \fBmake_run.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_es_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_es_.3 deleted file mode 100644 index c03e69b14..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_es_.3 +++ /dev/null @@ -1,138 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/es/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBCMAParams.cpp\fP" -.br -.ti -1c -.RI "file \fBCMAParams.h\fP" -.br -.ti -1c -.RI "file \fBCMAState.cpp\fP" -.br -.ti -1c -.RI "file \fBCMAState.h\fP" -.br -.ti -1c -.RI "file \fBeig.cpp\fP" -.br -.ti -1c -.RI "file \fBeig.h\fP" -.br -.ti -1c -.RI "file \fBeoCMABreed.h\fP" -.br -.ti -1c -.RI "file \fBeoCMAInit.h\fP" -.br -.ti -1c -.RI "file \fBeoEsChromInit.h\fP" -.br -.ti -1c -.RI "file \fBeoEsFull.h\fP" -.br -.ti -1c -.RI "file \fBeoEsGlobalXover.h\fP" -.br -.ti -1c -.RI "file \fBeoEsMutate.h\fP" -.br -.ti -1c -.RI "file \fBeoEsMutationInit.h\fP" -.br -.ti -1c -.RI "file \fBeoEsSimple.h\fP" -.br -.ti -1c -.RI "file \fBeoEsStandardXover.h\fP" -.br -.ti -1c -.RI "file \fBeoEsStdev.h\fP" -.br -.ti -1c -.RI "file \fBeoNormalMutation.h\fP" -.br -.ti -1c -.RI "file \fBeoReal.h\fP" -.br -.ti -1c -.RI "file \fBeoRealAtomXover.h\fP" -.br -.ti -1c -.RI "file \fBeoRealInitBounded.h\fP" -.br -.ti -1c -.RI "file \fBeoRealOp.h\fP" -.br -.ti -1c -.RI "file \fBeoSBXcross.h\fP" -.br -.ti -1c -.RI "file \fBmake_algo_scalar_es.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_algo_scalar_real.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_checkpoint_es.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_checkpoint_real.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_continue_es.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_continue_real.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_es.h\fP" -.br -.ti -1c -.RI "file \fBmake_genotype_es.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_genotype_real.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_genotype_real.h\fP" -.br -.ti -1c -.RI "file \fBes/make_op.h\fP" -.br -.ti -1c -.RI "file \fBmake_op_es.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_op_es.h\fP" -.br -.ti -1c -.RI "file \fBmake_op_real.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_op_real.h\fP" -.br -.ti -1c -.RI "file \fBmake_pop_es.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_pop_real.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_real.h\fP" -.br -.ti -1c -.RI "file \fBmake_run_es.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_run_real.cpp\fP" -.br -.ti -1c -.RI "file \fBmatrices.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_ga_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_ga_.3 deleted file mode 100644 index 405c6cae8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_ga_.3 +++ /dev/null @@ -1,66 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/ga/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBeoBit.h\fP" -.br -.ti -1c -.RI "file \fBeoBitOp.h\fP" -.br -.ti -1c -.RI "file \fBeoBitOpFactory.h\fP" -.br -.ti -1c -.RI "file \fBeoBoolFlip.h\fP" -.br -.ti -1c -.RI "file \fBeoPBILAdditive.h\fP" -.br -.ti -1c -.RI "file \fBeoPBILDistrib.h\fP" -.br -.ti -1c -.RI "file \fBeoPBILOrg.h\fP" -.br -.ti -1c -.RI "file \fBmake_algo_scalar_ga.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_checkpoint_ga.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_continue_ga.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_ga.h\fP" -.br -.ti -1c -.RI "file \fBmake_genotype_ga.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_genotype_ga.h\fP" -.br -.ti -1c -.RI "file \fBga/make_op.h\fP" -.br -.ti -1c -.RI "file \fBmake_op_ga.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_PBILdistrib.h\fP" -.br -.ti -1c -.RI "file \fBmake_PBILupdate.h\fP" -.br -.ti -1c -.RI "file \fBmake_pop_ga.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_run_ga.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_gp_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_gp_.3 deleted file mode 100644 index 4ac350809..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_gp_.3 +++ /dev/null @@ -1,30 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/gp/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBeoParseTree.h\fP" -.br -.ti -1c -.RI "file \fBeoParseTreeDepthInit.h\fP" -.br -.ti -1c -.RI "file \fBeoParseTreeOp.h\fP" -.br -.ti -1c -.RI "file \fBeoStParseTreeDepthInit.h\fP" -.br -.ti -1c -.RI "file \fBeoStParseTreeOp.h\fP" -.br -.ti -1c -.RI "file \fBnode_pool.h\fP" -.br -.ti -1c -.RI "file \fBparse_tree.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_other_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_other_.3 deleted file mode 100644 index e5bff2bae..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_other_.3 +++ /dev/null @@ -1,18 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/other/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBeoExternalEO.h\fP" -.br -.ti -1c -.RI "file \fBeoExternalOpFunctions.h\fP" -.br -.ti -1c -.RI "file \fBeoString.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_pyeo_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_pyeo_.3 deleted file mode 100644 index e660ec568..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_pyeo_.3 +++ /dev/null @@ -1,75 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/pyeo/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBabstract1.cpp\fP" -.br -.ti -1c -.RI "file \fBalgos.cpp\fP" -.br -.ti -1c -.RI "file \fBbreeders.cpp\fP" -.br -.ti -1c -.RI "file \fBcontinuators.cpp\fP" -.br -.ti -1c -.RI "file \fBdef_abstract_functor.h\fP" -.br -.ti -1c -.RI "file \fBgeneticOps.cpp\fP" -.br -.ti -1c -.RI "file \fBmergers.cpp\fP" -.br -.ti -1c -.RI "file \fBmonitors.cpp\fP" -.br -.ti -1c -.RI "file \fBsrc/pyeo/NEWS\fP" -.br -.ti -1c -.RI "file \fBperf2worth.cpp\fP" -.br -.ti -1c -.RI "file \fBpickle.h\fP" -.br -.ti -1c -.RI "file \fBPyEO.cpp\fP" -.br -.ti -1c -.RI "file \fBPyEO.h\fP" -.br -.ti -1c -.RI "file \fBrandom_numbers.cpp\fP" -.br -.ti -1c -.RI "file \fBsrc/pyeo/README\fP" -.br -.ti -1c -.RI "file \fBreduce.cpp\fP" -.br -.ti -1c -.RI "file \fBreplacement.cpp\fP" -.br -.ti -1c -.RI "file \fBselectOne.cpp\fP" -.br -.ti -1c -.RI "file \fBselectors.cpp\fP" -.br -.ti -1c -.RI "file \fBstatistics.cpp\fP" -.br -.ti -1c -.RI "file \fBvalueParam.cpp\fP" -.br -.ti -1c -.RI "file \fBvalueParam.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_utils_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_utils_.3 deleted file mode 100644 index cb0f97851..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_src_utils_.3 +++ /dev/null @@ -1,153 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/src/utils/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBcompatibility.h\fP" -.br -.ti -1c -.RI "file \fBeoAssembledFitnessStat.h\fP" -.br -.ti -1c -.RI "file \fBeoCheckPoint.h\fP" -.br -.ti -1c -.RI "file \fBeoData.cpp\fP" -.br -.ti -1c -.RI "file \fBeoData.h\fP" -.br -.ti -1c -.RI "file \fBeoDistance.h\fP" -.br -.ti -1c -.RI "file \fBeoFDCStat.h\fP" -.br -.ti -1c -.RI "file \fBeoFileMonitor.cpp\fP" -.br -.ti -1c -.RI "file \fBeoFileMonitor.h\fP" -.br -.ti -1c -.RI "file \fBeoFileSnapshot.h\fP" -.br -.ti -1c -.RI "file \fBeoGnuplot.cpp\fP" -.br -.ti -1c -.RI "file \fBeoGnuplot.h\fP" -.br -.ti -1c -.RI "file \fBeoGnuplot1DMonitor.cpp\fP" -.br -.ti -1c -.RI "file \fBeoGnuplot1DMonitor.h\fP" -.br -.ti -1c -.RI "file \fBeoGnuplot1DSnapshot.cpp\fP" -.br -.ti -1c -.RI "file \fBeoGnuplot1DSnapshot.h\fP" -.br -.ti -1c -.RI "file \fBeoHowMany.h\fP" -.br -.ti -1c -.RI "file \fBeoIntBounds.cpp\fP" -.br -.ti -1c -.RI "file \fBeoIntBounds.h\fP" -.br -.ti -1c -.RI "file \fBeoMOFitnessStat.h\fP" -.br -.ti -1c -.RI "file \fBeoMonitor.h\fP" -.br -.ti -1c -.RI "file \fBeoParam.h\fP" -.br -.ti -1c -.RI "file \fBeoParser.cpp\fP" -.br -.ti -1c -.RI "file \fBeoParser.h\fP" -.br -.ti -1c -.RI "file \fBeoPopStat.h\fP" -.br -.ti -1c -.RI "file \fBeoRealBounds.cpp\fP" -.br -.ti -1c -.RI "file \fBeoRealBounds.h\fP" -.br -.ti -1c -.RI "file \fBeoRealVectorBounds.h\fP" -.br -.ti -1c -.RI "file \fBeoRndGenerators.h\fP" -.br -.ti -1c -.RI "file \fBeoRNG.cpp\fP" -.br -.ti -1c -.RI "file \fBeoRNG.h\fP" -.br -.ti -1c -.RI "file \fBeoScalarFitnessStat.h\fP" -.br -.ti -1c -.RI "file \fBeoStat.h\fP" -.br -.ti -1c -.RI "file \fBeoState.cpp\fP" -.br -.ti -1c -.RI "file \fBeoState.h\fP" -.br -.ti -1c -.RI "file \fBeoStdoutMonitor.cpp\fP" -.br -.ti -1c -.RI "file \fBeoStdoutMonitor.h\fP" -.br -.ti -1c -.RI "file \fBeoTimeCounter.h\fP" -.br -.ti -1c -.RI "file \fBeoTimedMonitor.h\fP" -.br -.ti -1c -.RI "file \fBeoUniformInit.h\fP" -.br -.ti -1c -.RI "file \fBeoUpdatable.h\fP" -.br -.ti -1c -.RI "file \fBeoUpdater.cpp\fP" -.br -.ti -1c -.RI "file \fBeoUpdater.h\fP" -.br -.ti -1c -.RI "file \fBmake_help.cpp\fP" -.br -.ti -1c -.RI "file \fBpipecom.cpp\fP" -.br -.ti -1c -.RI "file \fBpipecom.h\fP" -.br -.ti -1c -.RI "file \fBrnd_generators.h\fP" -.br -.ti -1c -.RI "file \fBselectors.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_test_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_test_.3 deleted file mode 100644 index 5850d27a8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_test_.3 +++ /dev/null @@ -1,153 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/test/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/test/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBtest/binary_value.h\fP" -.br -.ti -1c -.RI "file \fBfitness_traits.cpp\fP" -.br -.ti -1c -.RI "file \fBtest/real_value.h\fP" -.br -.ti -1c -.RI "file \fBRoyalRoad.h\fP" -.br -.ti -1c -.RI "file \fBt-eo.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoAtomOps.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoBaseFunctions.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eobin.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eobreeder.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoCheckpointing.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoCMAES.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoEasyEA.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoESAll.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoESFull.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoESOps.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoExternalEO.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eofitness.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoFitnessAssembled.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoFitnessAssembledEA.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoFunctor.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoGA.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eogeneration.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoGenOp.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoGOpSel.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoinclusion.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoinsertion.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eolottery.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoNonUniform.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoPareto.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoParetoFitness.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoPBIL.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoproblem.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoRandom.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoReal.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoReplacement.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoRoulette.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoSelect.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoSharing.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoSSGA.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoStateAndParser.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoSymreg.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoUniform.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoVector.cpp\fP" -.br -.ti -1c -.RI "file \fBt-eoVirus.cpp\fP" -.br -.ti -1c -.RI "file \fBt-MGE-control.cpp\fP" -.br -.ti -1c -.RI "file \fBt-MGE.cpp\fP" -.br -.ti -1c -.RI "file \fBt-MGE1bit.cpp\fP" -.br -.ti -1c -.RI "file \fBt-selectOne.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_.3 deleted file mode 100644 index e72a5bad9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_.3 +++ /dev/null @@ -1,34 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/ Directory Reference \- -.SS "Directories" - -.in +1c -.ti -1c -.RI "directory\fBLesson1\fP" -.br -.ti -1c -.RI "directory\fBLesson2\fP" -.br -.ti -1c -.RI "directory\fBLesson3\fP" -.br -.ti -1c -.RI "directory\fBLesson4\fP" -.br -.ti -1c -.RI "directory\fBLesson5\fP" -.br -.ti -1c -.RI "directory\fBTemplates\fP" -.br -.in -1c -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBtutorial/README\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson1_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson1_.3 deleted file mode 100644 index 8947bf384..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson1_.3 +++ /dev/null @@ -1,18 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson1/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBexercise1.3.cpp\fP" -.br -.ti -1c -.RI "file \fBFirstBitGA.cpp\fP" -.br -.ti -1c -.RI "file \fBFirstRealGA.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson2_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson2_.3 deleted file mode 100644 index 4a319e37e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson2_.3 +++ /dev/null @@ -1,24 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson2/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBtutorial/Lesson2/binary_value.h\fP" -.br -.ti -1c -.RI "file \fBexercise2.3.cpp\fP" -.br -.ti -1c -.RI "file \fBFirstBitEA.cpp\fP" -.br -.ti -1c -.RI "file \fBFirstRealEA.cpp\fP" -.br -.ti -1c -.RI "file \fBtutorial/Lesson2/real_value.h\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson3_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson3_.3 deleted file mode 100644 index 947bf56c9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson3_.3 +++ /dev/null @@ -1,24 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson3/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBtutorial/Lesson3/binary_value.h\fP" -.br -.ti -1c -.RI "file \fBexercise3.1.cpp\fP" -.br -.ti -1c -.RI "file \fBtutorial/Lesson3/real_value.h\fP" -.br -.ti -1c -.RI "file \fBSecondBitEA.cpp\fP" -.br -.ti -1c -.RI "file \fBSecondRealEA.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson4_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson4_.3 deleted file mode 100644 index 667e2ae14..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson4_.3 +++ /dev/null @@ -1,24 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson4/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBtutorial/Lesson4/binary_value.h\fP" -.br -.ti -1c -.RI "file \fBBitEA.cpp\fP" -.br -.ti -1c -.RI "file \fBESEA.cpp\fP" -.br -.ti -1c -.RI "file \fBtutorial/Lesson4/real_value.h\fP" -.br -.ti -1c -.RI "file \fBRealEA.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson5_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson5_.3 deleted file mode 100644 index 1d5d4b426..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Lesson5_.3 +++ /dev/null @@ -1,39 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Lesson5/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBeoOneMax.h\fP" -.br -.ti -1c -.RI "file \fBeoOneMaxEvalFunc.h\fP" -.br -.ti -1c -.RI "file \fBeoOneMaxInit.h\fP" -.br -.ti -1c -.RI "file \fBeoOneMaxMutation.h\fP" -.br -.ti -1c -.RI "file \fBeoOneMaxQuadCrossover.h\fP" -.br -.ti -1c -.RI "file \fBmake_genotype_OneMax.h\fP" -.br -.ti -1c -.RI "file \fBmake_OneMax.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_op_OneMax.h\fP" -.br -.ti -1c -.RI "file \fBOneMaxEA.cpp\fP" -.br -.ti -1c -.RI "file \fBOneMaxLibEA.cpp\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Templates_.3 b/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Templates_.3 deleted file mode 100644 index eb8615f80..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/_users_dsa_marc_WWW_EO_eo.19Oct2006_tutorial_Templates_.3 +++ /dev/null @@ -1,30 +0,0 @@ -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ Directory Reference.TH "/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ Directory Reference" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -/users/dsa/marc/WWW/EO/eo.19Oct2006/tutorial/Templates/ Directory Reference \- -.SS "Files" - -.in +1c -.ti -1c -.RI "file \fBmake_genotype_MyStruct.h\fP" -.br -.ti -1c -.RI "file \fBmake_MyStruct.cpp\fP" -.br -.ti -1c -.RI "file \fBmake_op_MyStruct.h\fP" -.br -.ti -1c -.RI "file \fBMyStructEA.cpp\fP" -.br -.ti -1c -.RI "file \fBMyStructLibEA.cpp\fP" -.br -.ti -1c -.RI "file \fBMyStructSEA.cpp\fP" -.br -.ti -1c -.RI "file \fBtutorial/Templates/README\fP" -.br -.in -1c diff --git a/trunk/paradiseo-eo/doc/man/man3/boolean_generator.3 b/trunk/paradiseo-eo/doc/man/man3/boolean_generator.3 deleted file mode 100644 index 934f0194e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/boolean_generator.3 +++ /dev/null @@ -1,41 +0,0 @@ -.TH "boolean_generator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -boolean_generator \- The class boolean_generator can be used in the STL generate function to easily generate random booleans with a specified bias. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBboolean_generator\fP (float _bias=0.5, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (void)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "float \fBbias\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBgen\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -The class boolean_generator can be used in the STL generate function to easily generate random booleans with a specified bias. -.PP -Definition at line 70 of file rnd_generators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/dMatrix.3 b/trunk/paradiseo-eo/doc/man/man3/dMatrix.3 deleted file mode 100644 index a2f02f03e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/dMatrix.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "dMatrix" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -dMatrix \- A helper class for Sharing - to hold distances. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBdMatrix\fP (unsigned _s)" -.br -.ti -1c -.RI "double \fBoperator()\fP (unsigned _i, unsigned _j) const " -.br -.RI "\fIsimple accessor \fP" -.ti -1c -.RI "double & \fBoperator()\fP (unsigned _i, unsigned _j)" -.br -.RI "\fIreference - to set values \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &_os)" -.br -.RI "\fIjust in case \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBrSize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -A helper class for Sharing - to hold distances. -.PP -Definition at line 37 of file eoSharing.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eo1PtBitCrossover.3 b/trunk/paradiseo-eo/doc/man/man3/eo1PtBitCrossover.3 deleted file mode 100644 index e5fb7cc1f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eo1PtBitCrossover.3 +++ /dev/null @@ -1,22 +0,0 @@ -.PP -.TH "eo1PtBitCrossover" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eo1PtBitCrossover \- eo1PtBitXover --> classic 1-point crossover - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SH "Detailed Description" -.PP -eo1PtBitXover --> classic 1-point crossover -.PP - - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoAged.3 b/trunk/paradiseo-eo/doc/man/man3/eoAged.3 deleted file mode 100644 index 59bbe0988..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoAged.3 +++ /dev/null @@ -1,141 +0,0 @@ -.TH "eoAged" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoAged \- eoAge is a template class that adds an age to an object.\\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoAged\fP (const Object &_o)" -.br -.RI "\fIMain ctor from an already built Object. \fP" -.ti -1c -.RI "\fBeoAged\fP (const \fBeoAged\fP &_a)" -.br -.RI "\fICopy constructor. \fP" -.ti -1c -.RI "virtual \fB~eoAged\fP ()" -.br -.RI "\fIVirtual dtor. They are needed in virtual class hierarchies. \fP" -.ti -1c -.RI "unsigned long \fBAge\fP () const " -.br -.RI "\fIreturns the age of the object \fP" -.ti -1c -.RI "const \fBeoAged\fP & \fBoperator++\fP ()" -.br -.RI "\fIIncrements age. \fP" -.in -1c -.PP -.RI "\fBMethods from eoObject\fP" -.br -readFrom and printOn are directly inherited from eo1d -.PP -.in +1c -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIReturn the class id. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.in -1c -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoAged\fP ()" -.br -.RI "\fIDefault Constructor. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned long \fBage\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoAged< Object >" -eoAge is a template class that adds an age to an object.\\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. - -The Object must be an \fBeoObject\fP, thus, it must have its methods: className, printOn, readFrom. -.PP -\fBSee also:\fP -.RS 4 -\fBeoObject\fP -.RE -.PP - -.PP -Definition at line 47 of file eoAged.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoAged\fP< Object >::\fBeoAged\fP ()\fC [inline, private]\fP" -.PP -Default Constructor. -.PP -\\ It´s private so that it is not used anywhere; the right way of using this object is to create an Object and passing it to an aged by means of the copy ctor; that way it´s turned into an Aged object -.PP -Definition at line 103 of file eoAged.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoAged\fP< Object >::className () const\fC [inline, virtual]\fP" -.PP -Return the class id. -.PP -This should be redefined in each class; but it's got code as an example of implementation. Only 'leaf' classes can be non-virtual. -.PP -Definition at line 74 of file eoAged.h. -.SS "template virtual void \fBeoAged\fP< Object >::readFrom (istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A istream. -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_exception\fP If a valid object can't be read. -.RE -.PP - -.PP -Definition at line 81 of file eoAged.h. -.SS "template virtual void \fBeoAged\fP< Object >::printOn (ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object _on_ a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A ostream. -.RE -.PP - -.PP -Definition at line 91 of file eoAged.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoAlgo.3 b/trunk/paradiseo-eo/doc/man/man3/eoAlgo.3 deleted file mode 100644 index 696fc7f24..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoAlgo.3 +++ /dev/null @@ -1,29 +0,0 @@ -.TH "eoAlgo" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoAlgo \- This is a generic class for population-transforming algorithms. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoCellularEasyEA< EOT >\fP, \fBeoEasyEA< EOT >\fP, and \fBeoSGA< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoAlgo< EOT >" -This is a generic class for population-transforming algorithms. - -There is only one operator defined, which takes a population and does stuff to it. It needn't be a complete algorithm, can be also a step of an algorithm. This class just gives a common interface to linear population-transforming algorithms. -.PP -Definition at line 39 of file eoAlgo.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoArithmeticCrossover.3 b/trunk/paradiseo-eo/doc/man/man3/eoArithmeticCrossover.3 deleted file mode 100644 index fe8b75db9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoArithmeticCrossover.3 +++ /dev/null @@ -1,21 +0,0 @@ -.TH "eoArithmeticCrossover" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoArithmeticCrossover \- eoHypercubeCrossover --> uniform choice in hypercube == arithmetical with different values for each coordinate - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SH "Detailed Description" -.PP -eoHypercubeCrossover --> uniform choice in hypercube == arithmetical with different values for each coordinate -.PP - - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoAssembledFitnessAverageStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoAssembledFitnessAverageStat.3 deleted file mode 100644 index 7908c2321..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoAssembledFitnessAverageStat.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoAssembledFitnessAverageStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoAssembledFitnessAverageStat \- Average fitness values of a population, where the fitness is of type eoScalarAssembledFitness. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoStat< EOT, double >\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 "\fBeoAssembledFitnessAverageStat\fP (unsigned _whichTerm=0, std::string _description='Average Fitness')" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBwhichFitnessTerm\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoAssembledFitnessAverageStat< EOT >" -Average fitness values of a population, where the fitness is of type eoScalarAssembledFitness. - -Specify in the constructor, for which fitness term (index) the average should be evaluated. Only values of object where the failed boolean = false is set are counted. -.PP -Definition at line 46 of file eoAssembledFitnessStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoAssembledFitnessBestStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoAssembledFitnessBestStat.3 deleted file mode 100644 index 24bd1c9cd..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoAssembledFitnessBestStat.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoAssembledFitnessBestStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoAssembledFitnessBestStat \- Fitness values of best individuum in a population, where the fitness is of type eoScalarAssembledFitness. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoStat< EOT, double >\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 "\fBeoAssembledFitnessBestStat\fP (unsigned _whichTerm=0, std::string _description='Best Fitness')" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBwhichFitnessTerm\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoAssembledFitnessBestStat< EOT >" -Fitness values of best individuum in a population, where the fitness is of type eoScalarAssembledFitness. - -Specify in the constructor, for which fitness term (index) the value should be evaluated. -.PP -Definition at line 87 of file eoAssembledFitnessStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoAtomExchange.3 b/trunk/paradiseo-eo/doc/man/man3/eoAtomExchange.3 deleted file mode 100644 index 6000da00c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoAtomExchange.3 +++ /dev/null @@ -1,39 +0,0 @@ -.TH "eoAtomExchange" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoAtomExchange \- A helper class for choosing which genes to exchange. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< unsigned, Atom &, bool >\fP. -.PP -Inherited by \fBeoUniformAtomExchange< Atom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBrandomize\fP (unsigned int, unsigned int)" -.br -.RI "\fIa function to initlialize - to be called before every crossover \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const =0" -.br -.RI "\fIthe inherited \fBclassName()\fP \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoAtomExchange< Atom >" -A helper class for choosing which genes to exchange. -.PP -Definition at line 41 of file eoVariableLengthCrossover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoAverageStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoAverageStat.3 deleted file mode 100644 index 66619462e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoAverageStat.3 +++ /dev/null @@ -1,77 +0,0 @@ -.TH "eoAverageStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoAverageStat \- Average fitness of a population. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoStat< EOT, EOT::Fitness >\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 "\fBeoAverageStat\fP (std::string _description='Average Fitness')" -.br -.ti -1c -.RI "\fBeoAverageStat\fP (double _value, std::string _desc)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "Fitness \fBsumFitness\fP (double _sum, const \fBEOT\fP &_eot)" -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "template void \fBdoit\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoParetoFitness\fP< T >)" -.br -.ti -1c -.RI "template void \fBdoit\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, T)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoAverageStat< EOT >" -Average fitness of a population. - -Fitness can be: -.IP "\(bu" 2 -double -.IP "\(bu" 2 -eoMinimizingFitness or eoMaximizingFitness -.IP "\(bu" 2 -\fBeoParetoFitness\fP: The average of each objective is evaluated. -.PP -.PP -( For \fBeoScalarFitnessAssembled\fP user eoAssembledFitnessStat classes.) -.PP -Definition at line 108 of file eoStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBF.3 b/trunk/paradiseo-eo/doc/man/man3/eoBF.3 deleted file mode 100644 index efaea6439..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBF.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoBF" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBF \- Basic Binary Functor. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFunctorBase\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoBF\fP ()" -.br -.RI "\fIvirtual dtor here so there is no need to define it in derived classes \fP" -.ti -1c -.RI "virtual R \fBoperator()\fP (A1, A2)=0" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFunctorBase::binary_function_tag\fP \fBfunctor_category\fP ()" -.br -.RI "\fItag to identify a procedure in compile time function selection functor_category \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBF< A1, A2, R >" -Basic Binary Functor. - -Derive from this class when defining any binary function. First template argument is result_type, second is first_argument_type, third is second_argument_type. Argument and result types can be any type including void for result_type -.PP -Definition at line 145 of file eoFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBestFitnessStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoBestFitnessStat.3 deleted file mode 100644 index cb3566c8b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBestFitnessStat.3 +++ /dev/null @@ -1,67 +0,0 @@ -.TH "eoBestFitnessStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBestFitnessStat \- Best fitness of a population. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoStat< EOT, EOT::Fitness >\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 "\fBeoBestFitnessStat\fP (std::string _description='Best ')" -.br -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "template void \fBdoit\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoParetoFitness\fP< T >)" -.br -.ti -1c -.RI "template void \fBdoit\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, T)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBestFitnessStat< EOT >" -Best fitness of a population. - -Fitness can be: -.IP "\(bu" 2 -double -.IP "\(bu" 2 -eoMinimizingFitness or eoMaximizingFitness -.IP "\(bu" 2 -\fBeoParetoFitness\fP: -.PP -.PP -( For \fBeoScalarFitnessAssembled\fP look at eoAssembledFitnessStat ) -.PP -Definition at line 316 of file eoStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBestSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoBestSelect.3 deleted file mode 100644 index 7c01b2ad3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBestSelect.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoBestSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBestSelect \- eoBestSelect: a selection method that always return the best (mainly for testing purposes) - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fInot a big deal!!! \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBestSelect< EOT >" -eoBestSelect: a selection method that always return the best (mainly for testing purposes) -.PP -Definition at line 60 of file eoRandomSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBinCloneOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoBinCloneOp.3 deleted file mode 100644 index 659988db0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBinCloneOp.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH "eoBinCloneOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBinCloneOp \- Binary clone: two operands, only the first could be modified. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBinCloneOp\fP ()" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.ti -1c -.RI "virtual bool \fBoperator()\fP (\fBEOT\fP &, const \fBEOT\fP &)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBinCloneOp< EOT >" -Binary clone: two operands, only the first could be modified. -.PP -Definition at line 57 of file eoCloneOps.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBinGenOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoBinGenOp.3 deleted file mode 100644 index 774d41b07..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBinGenOp.3 +++ /dev/null @@ -1,50 +0,0 @@ -.TH "eoBinGenOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBinGenOp \- Wrapper for binop: here we use select method of \fBeoPopulator\fP but we could also have an embedded selector to select the second parent. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGenOp< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBinGenOp\fP (\fBeoBinOp\fP< \fBEOT\fP > &_op)" -.br -.ti -1c -.RI "unsigned \fBmax_production\fP (void)" -.br -.RI "\fIMax production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \fP" -.ti -1c -.RI "void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIdo the work: get 2 individuals from the population, modifies only one (it's a \fBeoBinOp\fP) \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoBinOp\fP< \fBEOT\fP > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBinGenOp< EOT >" -Wrapper for binop: here we use select method of \fBeoPopulator\fP but we could also have an embedded selector to select the second parent. -.PP -Definition at line 107 of file eoGenOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoBinOp.3 deleted file mode 100644 index daa0e0693..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBinOp.3 +++ /dev/null @@ -1,36 +0,0 @@ -.TH "eoBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBinOp \- Binary genetic operator: subclasses \fBeoOp\fP, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoOp< EOType >< EOType >\fP, and \fBeoBF< EOType &, const EOType &, bool >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBinOp\fP ()" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBinOp< EOType >" -Binary genetic operator: subclasses \fBeoOp\fP, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content. -.PP -Definition at line 117 of file eoOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBinaryFunctorCounter.3 b/trunk/paradiseo-eo/doc/man/man3/eoBinaryFunctorCounter.3 deleted file mode 100644 index 59fb3792d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBinaryFunctorCounter.3 +++ /dev/null @@ -1,64 +0,0 @@ -.TH "eoBinaryFunctorCounter" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBinaryFunctorCounter \- Generic counter class that counts the number of times a binary function is used. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoValueParam< unsigned long >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBinaryFunctorCounter\fP (BinaryFunctor &_func, std::string _name='proc_counter')" -.br -.ti -1c -.RI "BinaryFunctor::result_type \fBoperator()\fP (typename BinaryFunctor::first_argument_type _arg1, typename BinaryFunctor::second_argument_type _arg2)" -.br -.RI "\fICalls the embedded function and increments the counter. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "BinaryFunctor & \fBfunc\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBinaryFunctorCounter< BinaryFunctor >" -Generic counter class that counts the number of times a binary function is used. - -Add a binary function through its ctor and use this class instead of it. -.PP -It is derived from \fBeoValueParam\fP so you can add it to a monitor. -.PP -Definition at line 142 of file eoCounter.h. -.SH "Member Function Documentation" -.PP -.SS "template BinaryFunctor::result_type \fBeoBinaryFunctorCounter\fP< BinaryFunctor >::operator() (typename BinaryFunctor::first_argument_type _arg1, typename BinaryFunctor::second_argument_type _arg2)\fC [inline]\fP" -.PP -Calls the embedded function and increments the counter. -.PP -Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like 'return void;' is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet. -.PP -We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in \fBEO\fP most functors return void, it was chosen to support void. -.PP -But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then. -.PP -You happy GNU (and other compiler) users will not have a problem with this. -.PP -Definition at line 166 of file eoCounter.h. -.PP -References eoValueParam< unsigned long >::value(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBit.3 b/trunk/paradiseo-eo/doc/man/man3/eoBit.3 deleted file mode 100644 index cdcc31fb0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBit.3 +++ /dev/null @@ -1,97 +0,0 @@ -.TH "eoBit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBit \- Implementation of bitstring chromosome. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoVector< FitT, bool >\fP. -.PP -Inherited by eoVirus< FitT >. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBit\fP (unsigned size=0, bool value=false)" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIMy class name. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fITo print me on a stream. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &is)" -.br -.RI "\fITo read me from a stream. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBit< FitT >" -Implementation of bitstring chromosome. - -Based on STL's vector specialization. -.PP -Definition at line 56 of file eoBit.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoBit\fP< \fBFitT\fP >::\fBeoBit\fP (unsigned size = \fC0\fP, bool value = \fCfalse\fP)\fC [inline]\fP" -.PP -(Default) Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fIsize\fP Size of the binary std::string. -.RE -.PP - -.PP -Definition at line 69 of file eoBit.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoBit\fP< \fBFitT\fP >::printOn (std::ostream & os) const\fC [inline, virtual]\fP" -.PP -To print me on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fIos\fP The std::ostream. -.RE -.PP - -.PP -Reimplemented from \fBeoVector< FitT, bool >\fP. -.PP -Definition at line 82 of file eoBit.h. -.PP -References EO< F >::printOn(). -.SS "template virtual void \fBeoBit\fP< \fBFitT\fP >::readFrom (std::istream & is)\fC [inline, virtual]\fP" -.PP -To read me from a stream. -.PP -\fBParameters:\fP -.RS 4 -\fIis\fP The std::istream. -.RE -.PP - -.PP -Reimplemented from \fBeoVector< FitT, bool >\fP. -.PP -Definition at line 94 of file eoBit.h. -.PP -References EO< F >::readFrom(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBitBitFlip.3 b/trunk/paradiseo-eo/doc/man/man3/eoBitBitFlip.3 deleted file mode 100644 index db84a0eaf..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBitBitFlip.3 +++ /dev/null @@ -1,21 +0,0 @@ -.TH "eoBitBitFlip" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBitBitFlip \- eoBitFlip --> changes 1 bit - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SH "Detailed Description" -.PP -eoBitFlip --> changes 1 bit -.PP - - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBitGxOver.3 b/trunk/paradiseo-eo/doc/man/man3/eoBitGxOver.3 deleted file mode 100644 index b2d468651..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBitGxOver.3 +++ /dev/null @@ -1,69 +0,0 @@ -.TH "eoBitGxOver" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBitGxOver \- eoBitGxOver --> Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< Chrom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBitGxOver\fP (const unsigned _gene_size, const unsigned _num_points=2)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (Chrom &chrom1, Chrom &chrom2)" -.br -.RI "\fIGene crossover for binary chromosomes. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBgene_size\fP" -.br -.ti -1c -.RI "unsigned \fBnum_points\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBitGxOver< Chrom >" -eoBitGxOver --> Npts crossover when bistd::string considered as a std::string of binary-encoded genes (exchanges genes) Is anybody still using it apart from historians ??? :-) -.PP -Definition at line 388 of file eoBitOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoBitGxOver\fP< Chrom >::operator() (Chrom & chrom1, Chrom & chrom2)\fC [inline, virtual]\fP" -.PP -Gene crossover for binary chromosomes. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom1\fP The first chromosome. -.br -\fIchrom2\fP The first chromosome. -.RE -.PP - -.PP -Implements \fBeoBF< Chrom &, Chrom &, bool >\fP. -.PP -Definition at line 409 of file eoBitOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBitInversion.3 b/trunk/paradiseo-eo/doc/man/man3/eoBitInversion.3 deleted file mode 100644 index 3cb7a69a6..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBitInversion.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoBitInversion" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBitInversion \- eoBitInversion: inverts the bits of the chromosome between an interval - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< Chrom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (Chrom &chrom)" -.br -.RI "\fIInverts a range of bits in a binary chromosome. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBitInversion< Chrom >" -eoBitInversion: inverts the bits of the chromosome between an interval -.PP -Definition at line 146 of file eoBitOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoBitInversion\fP< Chrom >::operator() (Chrom & chrom)\fC [inline, virtual]\fP" -.PP -Inverts a range of bits in a binary chromosome. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom\fP The chromosome whos bits are going to be inverted (a range). -.RE -.PP - -.PP -Implements \fBeoUF< Chrom &, bool >\fP. -.PP -Definition at line 156 of file eoBitOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBitMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoBitMutation.3 deleted file mode 100644 index 9057157c5..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBitMutation.3 +++ /dev/null @@ -1,81 +0,0 @@ -.TH "eoBitMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBitMutation \- eoBitMutation --> classical mutation - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< Chrom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBitMutation\fP (const double &_rate=0.01, bool _normalize=false)" -.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 (Chrom &chrom)" -.br -.RI "\fIMutate a chromosome. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrate\fP" -.br -.ti -1c -.RI "bool \fBnormalize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBitMutation< Chrom >" -eoBitMutation --> classical mutation -.PP -Definition at line 104 of file eoBitOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoBitMutation\fP< Chrom >::\fBeoBitMutation\fP (const double & _rate = \fC0.01\fP, bool _normalize = \fCfalse\fP)\fC [inline]\fP" -.PP -(Default) Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_rate\fP Rate of mutation. -.RE -.PP - -.PP -Definition at line 111 of file eoBitOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoBitMutation\fP< Chrom >::operator() (Chrom & chrom)\fC [inline, virtual]\fP" -.PP -Mutate a chromosome. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom\fP The chromosome to be mutated. -.RE -.PP - -.PP -Implements \fBeoUF< Chrom &, bool >\fP. -.PP -Definition at line 121 of file eoBitOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBitNext.3 b/trunk/paradiseo-eo/doc/man/man3/eoBitNext.3 deleted file mode 100644 index b788e715d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBitNext.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoBitNext" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBitNext \- eoBitNext --> next value when bitstring considered as binary value - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< Chrom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (Chrom &chrom)" -.br -.RI "\fIChange the bit std::string x to be x+1. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBitNext< Chrom >" -eoBitNext --> next value when bitstring considered as binary value -.PP -Definition at line 174 of file eoBitOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoBitNext\fP< Chrom >::operator() (Chrom & chrom)\fC [inline, virtual]\fP" -.PP -Change the bit std::string x to be x+1. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom\fP The chromosome to be added one. -.RE -.PP - -.PP -Implements \fBeoUF< Chrom &, bool >\fP. -.PP -Definition at line 184 of file eoBitOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBitOpFactory.3 b/trunk/paradiseo-eo/doc/man/man3/eoBitOpFactory.3 deleted file mode 100644 index 1b454a8dc..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBitOpFactory.3 +++ /dev/null @@ -1,83 +0,0 @@ -.TH "eoBitOpFactory" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBitOpFactory \- \fBEO\fP Factory. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFactory< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fBeoOp\fP< \fBEOT\fP > * \fBmake\fP (std::istream &_is)" -.br -.RI "\fIAnother factory method: creates an object from an std::istream, reading from it whatever is needed to create the object. \fP" -.in -1c -.PP -.RI "\fBctors and dtors\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "\fBeoBitOpFactory\fP ()" -.br -.RI "\fIconstructor \fP" -.ti -1c -.RI "virtual \fB~eoBitOpFactory\fP ()" -.br -.RI "\fIdestructor \fP" -.in -1c -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBitOpFactory< EOT >" -\fBEO\fP Factory. - -An instance of the factory class to create operators that act on bitstring chromosomes. Only those chromosomes can instantiate the operators that are created here -.PP -\fBSee also:\fP -.RS 4 -\fBeoSelect\fP -.RE -.PP - -.PP -Definition at line 39 of file eoBitOpFactory.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual \fBeoOp\fP<\fBEOT\fP>* \fBeoBitOpFactory\fP< \fBEOT\fP >::make (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Another factory method: creates an object from an std::istream, reading from it whatever is needed to create the object. -.PP -Usually, the format for the std::istream will be\\ objectType parameter1 parameter2 ... parametern\\ If there are problems, an std::exception is raised; it should be caught at the upper level, because it might be something for that level\\ At the same time, it catches std::exceptions thrown at a lower level, which will indicate that whatever is in the stream is for this method to process -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP an stream from where a single line will be read -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_std::exception\fP if the object type is not known -.RE -.PP - -.PP -Implements \fBeoFactory< EOT >\fP. -.PP -Definition at line 63 of file eoBitOpFactory.h. -.PP -References eoFactory< EOClass >::make(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBitPrev.3 b/trunk/paradiseo-eo/doc/man/man3/eoBitPrev.3 deleted file mode 100644 index dd8515452..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBitPrev.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoBitPrev" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBitPrev \- eoBitPrev --> previous value when bitstring treated as binary value - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< Chrom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (Chrom &chrom)" -.br -.RI "\fIChange the bit std::string x to be x-1. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBitPrev< Chrom >" -eoBitPrev --> previous value when bitstring treated as binary value -.PP -Definition at line 208 of file eoBitOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoBitPrev\fP< Chrom >::operator() (Chrom & chrom)\fC [inline, virtual]\fP" -.PP -Change the bit std::string x to be x-1. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom\fP The chromosome to be substracted one. -.RE -.PP - -.PP -Implements \fBeoUF< Chrom &, bool >\fP. -.PP -Definition at line 218 of file eoBitOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBoolFlip.3 b/trunk/paradiseo-eo/doc/man/man3/eoBoolFlip.3 deleted file mode 100644 index 2597e6840..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBoolFlip.3 +++ /dev/null @@ -1,35 +0,0 @@ -.TH "eoBoolFlip" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBoolFlip \- a simple boolean mutation - to be used in generic eoOp's - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< bool >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "bool \fBoperator()\fP (bool &_b)" -.br -.RI "\fIsimply flips the boolean argument \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SH "Detailed Description" -.PP -a simple boolean mutation - to be used in generic eoOp's -.PP -Definition at line 32 of file eoBoolFlip.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBooleanGenerator.3 b/trunk/paradiseo-eo/doc/man/man3/eoBooleanGenerator.3 deleted file mode 100644 index fb775538a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBooleanGenerator.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoBooleanGenerator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBooleanGenerator \- The class eoBooleanGenerator can be used in the STL generate function to easily generate random booleans with a specified bias. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRndGenerator< bool >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBooleanGenerator\fP (float _bias=0.5, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "float \fBbias\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBgen\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -The class eoBooleanGenerator can be used in the STL generate function to easily generate random booleans with a specified bias. -.PP -Definition at line 104 of file eoRndGenerators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBooleanInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoBooleanInit.3 deleted file mode 100644 index df43a687f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBooleanInit.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoBooleanInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBooleanInit \- The class eoBooleanInit can be used in the STL apply function to easily generate random booleans with a specified bias. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< bool >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBooleanInit\fP (float _bias=0.5, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "void \fBoperator()\fP (bool &_b)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "float \fBbias\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBgen\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -The class eoBooleanInit can be used in the STL apply function to easily generate random booleans with a specified bias. -.PP -Definition at line 110 of file eoUniformInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBranchMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoBranchMutation.3 deleted file mode 100644 index 268997697..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBranchMutation.3 +++ /dev/null @@ -1,94 +0,0 @@ -.TH "eoBranchMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBranchMutation \- eoBranchMutation --> replace a subtree with a randomly created subtree - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoBranchMutation\fP (\fBeoInit\fP< \fBEoType\fP > &_init, unsigned _max_length)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIthe class name \fP" -.ti -1c -.RI "virtual \fB~eoBranchMutation\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1)" -.br -.RI "\fIMutate an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_length\fP" -.br -.ti -1c -.RI "\fBeoInit\fP< \fBEoType\fP > & \fBinitializer\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoBranchMutation< FType, Node >" -eoBranchMutation --> replace a subtree with a randomly created subtree -.PP -Definition at line 87 of file eoParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoBranchMutation\fP< FType, Node >::\fBeoBranchMutation\fP (\fBeoInit\fP< \fBEoType\fP > & _init, unsigned _max_length)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_init\fP An instantiation of eoGpDepthInitializer -.br -\fI_max_length\fP the maximum size of an individual -.RE -.PP - -.PP -Definition at line 97 of file eoParseTreeOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoBranchMutation\fP< FType, Node >::operator() (\fBEoType\fP & _eo1)\fC [inline]\fP" -.PP -Mutate an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The individual that is to be changed -.RE -.PP - -.PP -Definition at line 111 of file eoParseTreeOp.h. -.PP -References eoParseTree< FType, Node >::pruneTree(), and eoRng::random(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoBreed.3 b/trunk/paradiseo-eo/doc/man/man3/eoBreed.3 deleted file mode 100644 index 663963ca2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoBreed.3 +++ /dev/null @@ -1,36 +0,0 @@ -.TH "eoBreed" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoBreed \- Breeding: combination of selecting and transforming a population. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Inherited by eoBreedOne< EOT >, \fBeoGeneralBreeder< EOT >\fP, eoOneToOneBreeder< EOT >, and \fBeoSelectTransform< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoBreed< EOT >" -Breeding: combination of selecting and transforming a population. - -Breeding is thought of a combination of selecting and transforming a population. For efficiency reasons you might want to build your own eoBreed derived class rather than relying on a seperate select and transform function. -.PP -\fBSee also:\fP -.RS 4 -\fBeoSelect\fP, \fBeoTransform\fP, \fBeoSelectTransform\fP -.RE -.PP - -.PP -Definition at line 46 of file eoBreed.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCMABreed.3 b/trunk/paradiseo-eo/doc/man/man3/eoCMABreed.3 deleted file mode 100644 index 5597fb8a5..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCMABreed.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoCMABreed" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCMABreed \- TODO, handle bounds. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBreed< eoVector< FitT, double > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCMABreed\fP (eo::CMAState &state_, unsigned lambda_)" -.br -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &parents, \fBeoPop\fP< \fBEOT\fP > &offspring)" -.br -.in -1c -.SS "Private Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoVector\fP< \fBFitT\fP, double > \fBEOT\fP" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "eo::CMAState & \fBstate\fP" -.br -.ti -1c -.RI "unsigned \fBlambda\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCMABreed< FitT >" -TODO, handle bounds. -.PP -Definition at line 36 of file eoCMABreed.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCMAInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoCMAInit.3 deleted file mode 100644 index 0a1c6b38d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCMAInit.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoCMAInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCMAInit \- TODO, handle bounds. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< eoVector< FitT, double > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCMAInit\fP (const eo::CMAState &state_)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBEOT\fP &v)" -.br -.in -1c -.SS "Private Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoVector\fP< \fBFitT\fP, double > \fBEOT\fP" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "const eo::CMAState & \fBstate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCMAInit< FitT >" -TODO, handle bounds. -.PP -Definition at line 37 of file eoCMAInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCellularEasyEA.3 b/trunk/paradiseo-eo/doc/man/man3/eoCellularEasyEA.3 deleted file mode 100644 index bbf04228b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCellularEasyEA.3 +++ /dev/null @@ -1,75 +0,0 @@ -.TH "eoCellularEasyEA" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCellularEasyEA \- The abstract cellular easy algorithm. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoAlgo< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCellularEasyEA\fP (\fBeoContinue\fP< \fBEOT\fP > &_cont, \fBeoEvalFunc\fP< \fBEOT\fP > &_eval, \fBeoSelectOne\fP< \fBEOT\fP > &_sel_neigh, \fBeoBinOp\fP< \fBEOT\fP > &_cross, \fBeoMonOp\fP< \fBEOT\fP > &_mut, \fBeoSelectOne\fP< \fBEOT\fP > &_sel_repl)" -.br -.RI "\fITwo constructors. \fP" -.ti -1c -.RI "\fBeoCellularEasyEA\fP (\fBeoContinue\fP< \fBEOT\fP > &_cont, \fBeoEvalFunc\fP< \fBEOT\fP > &_eval, \fBeoSelectOne\fP< \fBEOT\fP > &_sel_neigh, \fBeoQuadOp\fP< \fBEOT\fP > &_cross, \fBeoMonOp\fP< \fBEOT\fP > &_mut, \fBeoSelectOne\fP< \fBEOT\fP > &_sel_child, \fBeoSelectOne\fP< \fBEOT\fP > &_sel_repl)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &pop)" -.br -.RI "\fIFor a given population. \fP" -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fBeoPop\fP< \fBEOT\fP > \fBneighbours\fP (const \fBeoPop\fP< \fBEOT\fP > &pop, int rank)=0" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoContinue\fP< \fBEOT\fP > & \fBcont\fP" -.br -.ti -1c -.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBeval\fP" -.br -.ti -1c -.RI "\fBeoPopLoopEval\fP< \fBEOT\fP > \fBpopEval\fP" -.br -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBsel_neigh\fP" -.br -.ti -1c -.RI "\fBeoBF\fP< \fBEOT\fP &, \fBEOT\fP &, bool > & \fBcross\fP" -.br -.ti -1c -.RI "\fBeoMonOp\fP< \fBEOT\fP > & \fBmut\fP" -.br -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBsel_child\fP" -.br -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBsel_repl\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCellularEasyEA< EOT >" -The abstract cellular easy algorithm. -.PP -Definition at line 38 of file eoCellularEasyEA.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCheckPoint.3 b/trunk/paradiseo-eo/doc/man/man3/eoCheckPoint.3 deleted file mode 100644 index eac1518d6..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCheckPoint.3 +++ /dev/null @@ -1,79 +0,0 @@ -.TH "eoCheckPoint" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCheckPoint \- eoCheckPoint is a container class. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoContinue< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCheckPoint\fP (\fBeoContinue\fP< \fBEOT\fP > &_cont)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "void \fBadd\fP (\fBeoContinue\fP< \fBEOT\fP > &_cont)" -.br -.ti -1c -.RI "void \fBadd\fP (\fBeoSortedStatBase\fP< \fBEOT\fP > &_stat)" -.br -.ti -1c -.RI "void \fBadd\fP (\fBeoStatBase\fP< \fBEOT\fP > &_stat)" -.br -.ti -1c -.RI "void \fBadd\fP (\fBeoMonitor\fP &_mon)" -.br -.ti -1c -.RI "void \fBadd\fP (\fBeoUpdater\fP &_upd)" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.ti -1c -.RI "std::string \fBallClassNames\fP () const " -.br -.RI "\fIreturns a string with all className() of data separated with '\\n' (for debugging) \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< \fBeoContinue\fP< \fBEOT\fP > * > \fBcontinuators\fP" -.br -.ti -1c -.RI "std::vector< \fBeoSortedStatBase\fP< \fBEOT\fP > * > \fBsorted\fP" -.br -.ti -1c -.RI "std::vector< \fBeoStatBase\fP< \fBEOT\fP > * > \fBstats\fP" -.br -.ti -1c -.RI "std::vector< \fBeoMonitor\fP * > \fBmonitors\fP" -.br -.ti -1c -.RI "std::vector< \fBeoUpdater\fP * > \fBupdaters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCheckPoint< EOT >" -eoCheckPoint is a container class. - -It contains std::vectors of (pointers to) \fBeoContinue\fP (modif. MS July 16. 2002) eoStats, \fBeoUpdater\fP and \fBeoMonitor\fP it is an \fBeoContinue\fP, so its operator() will be called every generation - and will return the contained-combined-eoContinue result but before that it will call in turn every single {statistics, updaters, monitors} that it has been given, and after that, if stopping, all lastCall methods of the above. -.PP -Definition at line 46 of file eoCheckPoint.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCollapseSubtreeMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoCollapseSubtreeMutation.3 deleted file mode 100644 index a62717de2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCollapseSubtreeMutation.3 +++ /dev/null @@ -1,94 +0,0 @@ -.TH "eoCollapseSubtreeMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCollapseSubtreeMutation \- eoCollapseSubtree --> replace a subtree with a randomly chosen terminal - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCollapseSubtreeMutation\fP (\fBeoInit\fP< \fBEoType\fP > &_init, unsigned _max_length)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "virtual \fB~eoCollapseSubtreeMutation\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1)" -.br -.RI "\fIMutate an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_length\fP" -.br -.ti -1c -.RI "\fBeoInit\fP< \fBEoType\fP > & \fBinitializer\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCollapseSubtreeMutation< FType, Node >" -eoCollapseSubtree --> replace a subtree with a randomly chosen terminal -.PP -Definition at line 272 of file eoParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoCollapseSubtreeMutation\fP< FType, Node >::\fBeoCollapseSubtreeMutation\fP (\fBeoInit\fP< \fBEoType\fP > & _init, unsigned _max_length)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_init\fP An instantiation of eoGpDepthInitializer -.br -\fI_max_length\fP the maximum size of an individual -.RE -.PP - -.PP -Definition at line 282 of file eoParseTreeOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoCollapseSubtreeMutation\fP< FType, Node >::operator() (\fBEoType\fP & _eo1)\fC [inline]\fP" -.PP -Mutate an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The individual that is to be changed -.RE -.PP - -.PP -Definition at line 295 of file eoParseTreeOp.h. -.PP -References eoParseTree< FType, Node >::pruneTree(), and eoRng::random(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCombinedContinue.3 b/trunk/paradiseo-eo/doc/man/man3/eoCombinedContinue.3 deleted file mode 100644 index cc5ff5dfb..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCombinedContinue.3 +++ /dev/null @@ -1,69 +0,0 @@ -.TH "eoCombinedContinue" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCombinedContinue \- Combined continuators - logical AND: Continues until one of the embedded continuators says halt! - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoContinue< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBFitnessType\fP" -.br -.RI "\fIDefine Fitness. \fP" -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCombinedContinue\fP (\fBeoContinue\fP< \fBEOT\fP > &_cont)" -.br -.RI "\fICtor, make sure that at least on continuator is present. \fP" -.ti -1c -.RI "\fBeoCombinedContinue\fP (\fBeoContinue\fP< \fBEOT\fP > &_cont1, \fBeoContinue\fP< \fBEOT\fP > &_cont2)" -.br -.RI "\fICtor - for historical reasons ... should disspear some day. \fP" -.ti -1c -.RI "void \fBadd\fP (\fBeoContinue\fP< \fBEOT\fP > &_cont)" -.br -.ti -1c -.RI "void \fBremoveLast\fP (void)" -.br -.ti -1c -.RI "virtual bool \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIReturns false when one of the embedded continuators say so (logical and). \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< \fBeoContinue\fP< \fBEOT\fP > * > \fBcontinuators\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCombinedContinue< EOT >" -Combined continuators - logical AND: Continues until one of the embedded continuators says halt! - -20/11/00 MS: Changed the 2-continuator construct to a std::vector > to be consistent with other Combined constructs and allow to easily handle more than 2 continuators -.PP -02/2003 Ramón Casero Cañas - added the removeLast() method -.PP -Definition at line 42 of file eoCombinedContinue.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCombinedInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoCombinedInit.3 deleted file mode 100644 index 189419e85..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCombinedInit.3 +++ /dev/null @@ -1,72 +0,0 @@ -.TH "eoCombinedInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCombinedInit \- Combined INIT: a proportional recombination of \fBeoInit\fP objects. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCombinedInit\fP (\fBeoInit\fP< \fBEOT\fP > &_init, double _rate)" -.br -.RI "\fICtor, make sure that at least one \fBeoInit\fP is present. \fP" -.ti -1c -.RI "void \fBadd\fP (\fBeoInit\fP< \fBEOT\fP > &_init, double _rate, bool _verbose=false)" -.br -.RI "\fIThe usual method to add objects to the combination note the _verbose parameter, that allows to print what's inside the combination with scaled rates. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os)" -.br -.RI "\fIoutputs the operators and percentages \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIPerforms the init: chooses among all initializers using roulette wheel on the rates. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.RI "\fIclassName: Mandatory because of eoCombinedInit. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< \fBeoInit\fP< \fBEOT\fP > * > \fBinitializers\fP" -.br -.ti -1c -.RI "std::vector< double > \fBrates\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCombinedInit< EOT >" -Combined INIT: a proportional recombination of \fBeoInit\fP objects. -.PP -Definition at line 35 of file eoCombinedInit.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoCombinedInit\fP< \fBEOT\fP >::className (void) const\fC [inline, virtual]\fP" -.PP -className: Mandatory because of eoCombinedInit. -.PP -SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 -.PP -Reimplemented from \fBeoInit< EOT >\fP. -.PP -Definition at line 81 of file eoCombinedInit.h. -.PP -Referenced by eoCombinedInit< EOT >::printOn(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCommaReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoCommaReplacement.3 deleted file mode 100644 index 45e081af3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCommaReplacement.3 +++ /dev/null @@ -1,35 +0,0 @@ -.TH "eoCommaReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCommaReplacement \- ES type of replacement strategy: ignore parents, truncate offspring. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMergeReduce< EOT >< EOT >\fP. -.PP -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoNoElitism\fP< \fBEOT\fP > \fBno_elite\fP" -.br -.ti -1c -.RI "\fBeoTruncate\fP< \fBEOT\fP > \fBtruncate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCommaReplacement< EOT >" -ES type of replacement strategy: ignore parents, truncate offspring. -.PP -Definition at line 87 of file eoMergeReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoContinue.3 b/trunk/paradiseo-eo/doc/man/man3/eoContinue.3 deleted file mode 100644 index fd9db016e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoContinue.3 +++ /dev/null @@ -1,83 +0,0 @@ -.TH "eoContinue" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoContinue \- Termination condition for the genetic algorithm Takes the population as input, returns true for continue, false for termination. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< const eoPop< EOT > &, bool >\fP, and \fBeoPersistent\fP. -.PP -Inherited by \fBeoCheckPoint< EOT >\fP, \fBeoCombinedContinue< EOT >\fP, \fBeoCtrlCContinue< EOT >\fP, \fBeoEvalContinue< EOT >\fP, \fBeoFitContinue< EOT >\fP, \fBeoGenContinue< EOT >\fP, eoPeriodicContinue< EOT >, and \fBeoSteadyFitContinue< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &__is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &__os) const " -.br -.RI "\fIWrite object. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoContinue< EOT >" -Termination condition for the genetic algorithm Takes the population as input, returns true for continue, false for termination. -.PP -Definition at line 37 of file eoContinue.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoContinue\fP< \fBEOT\fP >::readFrom (std::istream & __is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_std::exception\fP If a valid object can't be read. -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Reimplemented in \fBeoGenContinue< EOT >\fP. -.PP -Definition at line 42 of file eoContinue.h. -.SS "template void \fBeoContinue\fP< \fBEOT\fP >::printOn (std::ostream & __os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Reimplemented in \fBeoGenContinue< EOT >\fP. -.PP -Definition at line 47 of file eoContinue.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCountedDynUpdate.3 b/trunk/paradiseo-eo/doc/man/man3/eoCountedDynUpdate.3 deleted file mode 100644 index 37389ce58..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCountedDynUpdate.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoCountedDynUpdate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCountedDynUpdate \- An \fBeoUpdater\fP to update an \fBeoUpdatable\fP object every given tic. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoDynUpdater\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCountedDynUpdate\fP (\fBeoUpdatable\fP &_toUpdate, unsigned _interval)" -.br -.ti -1c -.RI "void \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "const unsigned \fBinterval\fP" -.br -.ti -1c -.RI "unsigned \fBcounter\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -An \fBeoUpdater\fP to update an \fBeoUpdatable\fP object every given tic. -.PP -Definition at line 93 of file eoUpdatable.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCountedStateSaver.3 b/trunk/paradiseo-eo/doc/man/man3/eoCountedStateSaver.3 deleted file mode 100644 index 6b0f3539b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCountedStateSaver.3 +++ /dev/null @@ -1,72 +0,0 @@ -.TH "eoCountedStateSaver" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCountedStateSaver \- an \fBeoUpdater\fP that saves a state every given generations - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUpdater\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCountedStateSaver\fP (unsigned _interval, const \fBeoState\fP &_state, std::string _prefix, bool _saveOnLastCall, std::string _extension='sav', unsigned _counter=0)" -.br -.ti -1c -.RI "\fBeoCountedStateSaver\fP (unsigned _interval, const \fBeoState\fP &_state, std::string _prefix='state', std::string _extension='sav', unsigned _counter=0)" -.br -.ti -1c -.RI "virtual void \fBlastCall\fP (void)" -.br -.ti -1c -.RI "void \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBdoItNow\fP (void)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "const \fBeoState\fP & \fBstate\fP" -.br -.ti -1c -.RI "const unsigned \fBinterval\fP" -.br -.ti -1c -.RI "unsigned \fBcounter\fP" -.br -.ti -1c -.RI "bool \fBsaveOnLastCall\fP" -.br -.ti -1c -.RI "const std::string \fBprefix\fP" -.br -.ti -1c -.RI "const std::string \fBextension\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -an \fBeoUpdater\fP that saves a state every given generations -.PP -Definition at line 127 of file eoUpdater.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoCtrlCContinue.3 b/trunk/paradiseo-eo/doc/man/man3/eoCtrlCContinue.3 deleted file mode 100644 index d741a0282..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoCtrlCContinue.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH "eoCtrlCContinue" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoCtrlCContinue \- Ctrl C handling: this \fBeoContinue\fP tells whether the user pressed Ctrl C. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoContinue< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoCtrlCContinue\fP ()" -.br -.RI "\fICtor : installs the signal handler. \fP" -.ti -1c -.RI "virtual bool \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_vEO)" -.br -.RI "\fIReturns false when Ctrl C has been typed in reached. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoCtrlCContinue< EOT >" -Ctrl C handling: this \fBeoContinue\fP tells whether the user pressed Ctrl C. -.PP -Definition at line 45 of file eoCtrlCContinue.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDetBitFlip.3 b/trunk/paradiseo-eo/doc/man/man3/eoDetBitFlip.3 deleted file mode 100644 index 5607c6ee3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDetBitFlip.3 +++ /dev/null @@ -1,78 +0,0 @@ -.TH "eoDetBitFlip" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDetBitFlip \- eoDetBitFlip --> changes exactly k bits - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< Chrom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDetBitFlip\fP (const unsigned &_num_bit=1)" -.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 (Chrom &chrom)" -.br -.RI "\fIChange num_bit bits. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBnum_bit\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDetBitFlip< Chrom >" -eoDetBitFlip --> changes exactly k bits -.PP -Definition at line 67 of file eoBitOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoDetBitFlip\fP< Chrom >::\fBeoDetBitFlip\fP (const unsigned & _num_bit = \fC1\fP)\fC [inline]\fP" -.PP -(Default) Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_num_bit\fP The number of bits to change default is one - equivalent to eoOneBitFlip then -.RE -.PP - -.PP -Definition at line 75 of file eoBitOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoDetBitFlip\fP< Chrom >::operator() (Chrom & chrom)\fC [inline, virtual]\fP" -.PP -Change num_bit bits. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom\fP The cromosome which one bit is going to be changed. -.RE -.PP - -.PP -Implements \fBeoUF< Chrom &, bool >\fP. -.PP -Definition at line 84 of file eoBitOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDetSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoDetSelect.3 deleted file mode 100644 index b805795cd..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDetSelect.3 +++ /dev/null @@ -1,59 +0,0 @@ -.TH "eoDetSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDetSelect \- eoDetSelect selects many individuals determinisctically - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelect< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDetSelect\fP (double _rate=1.0, bool _interpret_as_rate=true)" -.br -.RI "\fIinit \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_source, \fBeoPop\fP< \fBEOT\fP > &_dest)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDetSelect< EOT >" -eoDetSelect selects many individuals determinisctically -.PP -Definition at line 40 of file eoDetSelect.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoDetSelect\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _source, \fBeoPop\fP< \fBEOT\fP > & _dest)\fC [inline, virtual]\fP" -.PP -\fBParameters:\fP -.RS 4 -\fI_source\fP the source population -.br -\fI_dest\fP the resulting population (size of this population is given by the HowMany data It empties the destination and adds the selection into it) -.RE -.PP - -.PP -Implements \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Definition at line 53 of file eoDetSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentSelect.3 deleted file mode 100644 index ae6fe6ca0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentSelect.3 +++ /dev/null @@ -1,43 +0,0 @@ -.TH "eoDetTournamentSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDetTournamentSelect \- eoDetTournamentSelect: a selection method that selects ONE individual by deterministic tournament -MS- 24/10/99 - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDetTournamentSelect\fP (unsigned _tSize=2)" -.br -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBtSize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDetTournamentSelect< EOT >" -eoDetTournamentSelect: a selection method that selects ONE individual by deterministic tournament -MS- 24/10/99 -.PP -Definition at line 44 of file eoDetTournamentSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentTruncate.3 b/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentTruncate.3 deleted file mode 100644 index 7ceb23981..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentTruncate.3 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "eoDetTournamentTruncate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDetTournamentTruncate \- a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduce< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDetTournamentTruncate\fP (unsigned _t_size)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, unsigned _newsize)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBt_size\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDetTournamentTruncate< EOT >" -a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -see \fBeoSSGADetTournamentReplacement\fP) -.PP -Definition at line 188 of file eoReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentTruncateSplit.3 b/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentTruncateSplit.3 deleted file mode 100644 index f0d783bfe..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentTruncateSplit.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoDetTournamentTruncateSplit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDetTournamentTruncateSplit \- a ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduceSplit< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDetTournamentTruncateSplit\fP (unsigned _t_size, \fBeoHowMany\fP _howMany, bool _returnEliminated=false)" -.br -.RI "\fICtor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, \fBeoPop\fP< \fBEOT\fP > &_eliminated)" -.br -.RI "\fIPerforms repeated inverse_deterministic_tournament on the pop. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBt_size\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.ti -1c -.RI "bool \fBreturnEliminated\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDetTournamentTruncateSplit< EOT >" -a ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -see \fBeoSSGADetTournamentReplacement\fP) -.PP -Definition at line 205 of file eoReduceSplit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentWorthSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentWorthSelect.3 deleted file mode 100644 index 8a00e45b3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDetTournamentWorthSelect.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoDetTournamentWorthSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDetTournamentWorthSelect \- An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectFromWorth< EOT, WorthT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< WorthT >::iterator \fBworthIterator\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDetTournamentWorthSelect\fP (\fBeoPerf2Worth\fP< \fBEOT\fP, WorthT > &perf2Worth, unsigned _tSize)" -.br -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBtSize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDetTournamentWorthSelect< EOT, WorthT >" -An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... - -determinisitic tournament, yes! -.PP -Definition at line 91 of file eoSelectFromWorth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDetUniformMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoDetUniformMutation.3 deleted file mode 100644 index d04e674cd..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDetUniformMutation.3 +++ /dev/null @@ -1,135 +0,0 @@ -.TH "eoDetUniformMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDetUniformMutation \- eoDetUniformMutation --> changes exactly k values of the std::vector by uniform choice with range epsilon - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDetUniformMutation\fP (const double &_epsilon, const unsigned &_no=1)" -.br -.RI "\fI(Default) Constructor for homogeneous genotype it's there mostly for backward compatibility \fP" -.ti -1c -.RI "\fBeoDetUniformMutation\fP (\fBeoRealVectorBounds\fP &_bounds, const double &_epsilon, const unsigned &_no=1)" -.br -.RI "\fIConstructor with bounds. \fP" -.ti -1c -.RI "\fBeoDetUniformMutation\fP (\fBeoRealVectorBounds\fP &_bounds, const std::vector< double > &_epsilon, const unsigned &_no=1)" -.br -.RI "\fIConstructor with bounds and full std::vector of epsilon. \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! \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "bool \fBhomogeneous\fP" -.br -.ti -1c -.RI "\fBeoRealVectorBounds\fP & \fBbounds\fP" -.br -.ti -1c -.RI "std::vector< double > \fBepsilon\fP" -.br -.ti -1c -.RI "unsigned \fBno\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDetUniformMutation< EOT >" -eoDetUniformMutation --> changes exactly k values of the std::vector by uniform choice with range epsilon -.PP -Definition at line 144 of file eoRealOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoDetUniformMutation\fP< \fBEOT\fP >::\fBeoDetUniformMutation\fP (const double & _epsilon, const unsigned & _no = \fC1\fP)\fC [inline]\fP" -.PP -(Default) Constructor for homogeneous genotype it's there mostly for backward compatibility -.PP -\fBParameters:\fP -.RS 4 -\fI_epsilon\fP the range for uniform nutation -.br -\fInumber\fP of coordinate to modify -.RE -.PP - -.PP -Definition at line 154 of file eoRealOp.h. -.SS "template \fBeoDetUniformMutation\fP< \fBEOT\fP >::\fBeoDetUniformMutation\fP (\fBeoRealVectorBounds\fP & _bounds, const double & _epsilon, const unsigned & _no = \fC1\fP)\fC [inline]\fP" -.PP -Constructor with bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP an \fBeoRealVectorBounds\fP that contains the bounds -.br -\fI_epsilon\fP the range for uniform nutation (to be scaled if necessary) -.br -\fInumber\fP of coordinate to modify -.RE -.PP - -.PP -Definition at line 164 of file eoRealOp.h. -.PP -References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range(). -.SS "template \fBeoDetUniformMutation\fP< \fBEOT\fP >::\fBeoDetUniformMutation\fP (\fBeoRealVectorBounds\fP & _bounds, const std::vector< double > & _epsilon, const unsigned & _no = \fC1\fP)\fC [inline]\fP" -.PP -Constructor with bounds and full std::vector of epsilon. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP an \fBeoRealVectorBounds\fP that contains the bounds -.br -\fI_epsilon\fP the VECTOR of ranges for uniform mutation -.br -\fInumber\fP of coordinate to modify -.RE -.PP - -.PP -Definition at line 181 of file eoRealOp.h. -.PP -References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range(). -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoDetUniformMutation\fP< \fBEOT\fP >::operator() (\fBEOT\fP & _eo)\fC [inline, virtual]\fP" -.PP -Do it! -.PP -\fBParameters:\fP -.RS 4 -\fI_eo\fP The indi undergoing the mutation -.RE -.PP - -.PP -Implements \fBeoUF< EOT &, bool >\fP. -.PP -Definition at line 199 of file eoRealOp.h. -.PP -References eoRealBaseVectorBounds::isMaxBounded(), eoRealBaseVectorBounds::isMinBounded(), eoRealBaseVectorBounds::maximum(), eoRealBaseVectorBounds::minimum(), eoRng::random(), and eoRng::uniform(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDeterministicSaDReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoDeterministicSaDReplacement.3 deleted file mode 100644 index 847ca94da..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDeterministicSaDReplacement.3 +++ /dev/null @@ -1,62 +0,0 @@ -.TH "eoDeterministicSaDReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDeterministicSaDReplacement \- eoDeterministicSaDReplacement: replacement strategy that is just, in sequence saves best and kill worse from parents + saves best and kill worse from offspring + merge remaining (neither save nor killed) parents and offspring + reduce that merged population = returns reduced pop + best parents + best offspring - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReplacement< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDeterministicSaDReplacement\fP (\fBeoReduce\fP< \fBEOT\fP > &_reduceGlobal, double _surviveParents, double _dieParents=0, double _surviveOffspring=0, double _dieOffspring=0, bool _interpret_as_rate=true)" -.br -.RI "\fIConstructor with reduce. \fP" -.ti -1c -.RI "\fBeoDeterministicSaDReplacement\fP (double _surviveParents, double _dieParents=0, double _surviveOffspring=0, double _dieOffspring=0, bool _interpret_as_rate=true)" -.br -.RI "\fIConstructor with default truncate used as reduce. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoReduce\fP< \fBEOT\fP > & \fBreduceGlobal\fP" -.br -.ti -1c -.RI "\fBeoDeterministicSurviveAndDie\fP< \fBEOT\fP > \fBsAdParents\fP" -.br -.ti -1c -.RI "\fBeoDeterministicSurviveAndDie\fP< \fBEOT\fP > \fBsAdOffspring\fP" -.br -.ti -1c -.RI "\fBeoPlus\fP< \fBEOT\fP > \fBplus\fP" -.br -.ti -1c -.RI "\fBeoTruncate\fP< \fBEOT\fP > \fBtruncate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDeterministicSaDReplacement< EOT >" -eoDeterministicSaDReplacement: replacement strategy that is just, in sequence saves best and kill worse from parents + saves best and kill worse from offspring + merge remaining (neither save nor killed) parents and offspring + reduce that merged population = returns reduced pop + best parents + best offspring - -An obvious use is as strong elitist strategy, i.e. preserving best parents, and reducing (either offspring or parents+offspring) -.PP -Definition at line 132 of file eoSurviveAndDie.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDeterministicSurviveAndDie.3 b/trunk/paradiseo-eo/doc/man/man3/eoDeterministicSurviveAndDie.3 deleted file mode 100644 index 900e1f830..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDeterministicSurviveAndDie.3 +++ /dev/null @@ -1,41 +0,0 @@ -.TH "eoDeterministicSurviveAndDie" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDeterministicSurviveAndDie \- An instance (theonly one as of today, Dec. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSurviveAndDie< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDeterministicSurviveAndDie\fP (double _survive, double _die, bool _interpret_as_rate=true)" -.br -.RI "\fIconstructor \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoPop\fP< \fBEOT\fP > &_luckyGuys)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDeterministicSurviveAndDie< EOT >" -An instance (theonly one as of today, Dec. - -20, 2000) of an \fBeoSurviveAndDie\fP, that does everything deterministically -.PP -Used in \fBeoDeterministicSaDReplacement\fP. -.PP -Definition at line 73 of file eoSurviveAndDie.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDistance.3 b/trunk/paradiseo-eo/doc/man/man3/eoDistance.3 deleted file mode 100644 index 5fc941b76..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDistance.3 +++ /dev/null @@ -1,27 +0,0 @@ -.TH "eoDistance" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDistance \- This is a generic class for distance functors: takes 2 things ane returns a double. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< const EOT &, const EOT &, double >\fP. -.PP -Inherited by eoFitnessDistance< EOT >, \fBeoHammingDistance< EOT >\fP, and \fBeoQuadDistance< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoDistance< EOT >" -This is a generic class for distance functors: takes 2 things ane returns a double. -.PP -Definition at line 35 of file eoDistance.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDistribUpdater.3 b/trunk/paradiseo-eo/doc/man/man3/eoDistribUpdater.3 deleted file mode 100644 index 96d7276c8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDistribUpdater.3 +++ /dev/null @@ -1,37 +0,0 @@ -.TH "eoDistribUpdater" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDistribUpdater \- Base class for Distribution Evolution Algorithms within \fBEO\fP: the update rule of distribution. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoPBILAdditive< EOT >\fP, and \fBeoPBILOrg< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBeoDistribution\fP< \fBEOT\fP > &, \fBeoPop\fP< \fBEOT\fP > &)=0" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDistribUpdater< EOT >" -Base class for Distribution Evolution Algorithms within \fBEO\fP: the update rule of distribution. - -It takes one distribution and updates it according to one population -.PP -Definition at line 43 of file eoDistribUpdater.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDistribution.3 b/trunk/paradiseo-eo/doc/man/man3/eoDistribution.3 deleted file mode 100644 index b708ee68a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDistribution.3 +++ /dev/null @@ -1,39 +0,0 @@ -.TH "eoDistribution" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDistribution \- Abstract class for Distribution Evolution Algorithms within \fBEO\fP: the distribution itself. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< EOT >< EOT >\fP, \fBeoPersistent\fP, and \fBeoObject\fP. -.PP -Inherited by \fBeoPBILDistrib< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &)=0" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDistribution< EOT >" -Abstract class for Distribution Evolution Algorithms within \fBEO\fP: the distribution itself. - -It basically IS AN \fBeoInit\fP - \fBoperator()(EOT &)\fP generates new indis -.PP -The instances will probably be \fBeoValueParam\fP of some kind see \fBeoPBILDistrib.h\fP -.PP -Definition at line 45 of file eoDistribution.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDominanceMap.3 b/trunk/paradiseo-eo/doc/man/man3/eoDominanceMap.3 deleted file mode 100644 index b99edd612..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDominanceMap.3 +++ /dev/null @@ -1,93 +0,0 @@ -.TH "eoDominanceMap" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDominanceMap \- eoDominanceMap, utility class to calculate and maintain a map (std::vector >) of pareto dominance statistics. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< const eoPop< EoType > &, void >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBclear\fP ()" -.br -.RI "\fIClears the map. \fP" -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEoType\fP > &_pop)" -.br -.RI "\fIUpdate or create the dominance map. \fP" -.ti -1c -.RI "void \fBremove\fP (unsigned i)" -.br -.RI "\fIRemoves the domination info for a given individual, thus nothing dominates it and it dominates nothing. \fP" -.ti -1c -.RI "void \fBsetup\fP (const \fBeoPop\fP< \fBEoType\fP > &_pop)" -.br -.RI "\fICreate domination matrix from scratch. \fP" -.ti -1c -.RI "std::vector< double > \fBsum_dominators\fP () const " -.br -.RI "\fIFor all elements, returns the no. \fP" -.ti -1c -.RI "std::vector< double > \fBsum_dominants\fP () const " -.br -.RI "\fIFor all elements, returns the number of elements that the element dominates Thus: higher is better It returns a std::vector cuz that makes subsequent manipulation that much easier. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< typename EoType::Fitness > \fBfitness\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDominanceMap< EoType >" -eoDominanceMap, utility class to calculate and maintain a map (std::vector >) of pareto dominance statistics. - -It is set up such that -.PP -if map[i][j] == true then i dominates j -.PP -The dominance map can be used to perform pareto ranking (\fBeoParetoRanking\fP) or non dominated sorting. For the latter, the \fBremove()\fP member function might come in handy. -.PP -\fBTodo\fP -.RS 4 -make it an \fBeoStat\fP? -.RE -.PP - -.PP -Definition at line 47 of file eoDominanceMap.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoDominanceMap\fP< \fBEoType\fP >::setup (const \fBeoPop\fP< \fBEoType\fP > & _pop)\fC [inline]\fP" -.PP -Create domination matrix from scratch. -.PP -Complexity O(N^2) -.PP -Definition at line 81 of file eoDominanceMap.h. -.PP -Referenced by eoDominanceMap< EOT >::operator()(). -.SS "template std::vector \fBeoDominanceMap\fP< \fBEoType\fP >::sum_dominators () const\fC [inline]\fP" -.PP -For all elements, returns the no. -.PP -of elements that dominate the element Thus: lower is better (and 0 is the front). It returns a std::vector cuz that makes subsequent manipulation that much easier -.PP -Definition at line 118 of file eoDominanceMap.h. -.PP -Referenced by eoParetoRanking< EOT >::calculate_worths(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDoubleExchange.3 b/trunk/paradiseo-eo/doc/man/man3/eoDoubleExchange.3 deleted file mode 100644 index 3f4a01de3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDoubleExchange.3 +++ /dev/null @@ -1,39 +0,0 @@ -.TH "eoDoubleExchange" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDoubleExchange \- Discrete crossover == exchange of values. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDoubleExchange\fP ()" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. Used to display statistics. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (double &r1, const double &r2)" -.br -.RI "\fIExchanges or not the values. \fP" -.in -1c -.SH "Detailed Description" -.PP -Discrete crossover == exchange of values. -.PP -Definition at line 41 of file eoRealAtomXover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDoubleIntermediate.3 b/trunk/paradiseo-eo/doc/man/man3/eoDoubleIntermediate.3 deleted file mode 100644 index 29dd6182b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDoubleIntermediate.3 +++ /dev/null @@ -1,39 +0,0 @@ -.TH "eoDoubleIntermediate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDoubleIntermediate \- Intermediate crossover == linear combination. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDoubleIntermediate\fP ()" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. Used to display statistics. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (double &r1, const double &r2)" -.br -.RI "\fILinear combination of both parents. \fP" -.in -1c -.SH "Detailed Description" -.PP -Intermediate crossover == linear combination. -.PP -Definition at line 71 of file eoRealAtomXover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDrawable.3 b/trunk/paradiseo-eo/doc/man/man3/eoDrawable.3 deleted file mode 100644 index 75c2341f2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDrawable.3 +++ /dev/null @@ -1,66 +0,0 @@ -.TH "eoDrawable" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDrawable \- eoDrawable is a template class that adds a drawing interface to an object.\\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDrawable\fP (const Object &_o)" -.br -.RI "\fIMain ctor from an already built Object. \fP" -.ti -1c -.RI "\fBeoDrawable\fP (const \fBeoDrawable\fP &_d)" -.br -.RI "\fICopy constructor. \fP" -.ti -1c -.RI "virtual \fB~eoDrawable\fP ()" -.br -.RI "\fIVirtual dtor. They are needed in virtual class hierarchies. \fP" -.ti -1c -.RI "virtual void \fBdraw\fP (unsigned _x, unsigned _y)=0" -.br -.RI "\fIDraws the object. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDrawable< Object >" -eoDrawable is a template class that adds a drawing interface to an object.\\ Requisites for template instantiation are that the object must admit a default ctor and a copy ctor. - -The Object must be an \fBeoObject\fP, thus, it must have its methods: className, eoDrawables can be drawn on any two-dimensional surface; it can be added to any object with above characteristics. -.PP -\fBSee also:\fP -.RS 4 -\fBeoObject\fP -.RE -.PP - -.PP -Definition at line 44 of file eoDrawable.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoDrawable\fP< Object >::draw (unsigned _x, unsigned _y)\fC [pure virtual]\fP" -.PP -Draws the object. -.PP -It must be redefined in any subclass, it´s impossible to have a general drawing method -.PP -\fBParameters:\fP -.RS 4 -\fI_x,_y\fP coorinates -.RE -.PP - - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDynSGATransform.3 b/trunk/paradiseo-eo/doc/man/man3/eoDynSGATransform.3 deleted file mode 100644 index 6dbc3bbce..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDynSGATransform.3 +++ /dev/null @@ -1,89 +0,0 @@ -.TH "eoDynSGATransform" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDynSGATransform \- eoDynSGATransform: transforms a population using genetic operators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoTransform< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDynSGATransform\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_cross, double _cProba, \fBeoMonOp\fP< \fBEOT\fP > &_mutate, double _mProba)" -.br -.RI "\fIDefault constructor - receives values. \fP" -.ti -1c -.RI "\fBeoDynSGATransform\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_cross, double *_cProbaRef, \fBeoMonOp\fP< \fBEOT\fP > &_mutate, double *_mProbaRef)" -.br -.RI "\fIThis constructor receives pointers. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fITransforms a population. \fP" -.ti -1c -.RI "double & \fBPCrossHandle\fP ()" -.br -.ti -1c -.RI "double & \fBPMutHandle\fP ()" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoInvalidateQuadOp\fP< \fBEOT\fP > \fBcross\fP" -.br -.ti -1c -.RI "double \fBcrossoverProbaHolder\fP" -.br -.ti -1c -.RI "double & \fBcrossoverProba\fP" -.br -.ti -1c -.RI "\fBeoInvalidateMonOp\fP< \fBEOT\fP > \fBmutate\fP" -.br -.ti -1c -.RI "double \fBmutationProbaHolder\fP" -.br -.ti -1c -.RI "double & \fBmutationProba\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoDynSGATransform< EOT >" -eoDynSGATransform: transforms a population using genetic operators. - -It is the Dynamic version of the above \fBeoSGATransform\fP i.e. the operators probabilities can be passed as an \fBeoValueParam\fP, and hence can be modified from outside It is here mainly for tutorial reasons -.PP -Definition at line 98 of file eoSGATransform.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoDynSGATransform\fP< \fBEOT\fP >::operator() (\fBeoPop\fP< \fBEOT\fP > & _pop)\fC [inline, virtual]\fP" -.PP -Transforms a population. -.PP -\fBParameters:\fP -.RS 4 -\fIpop\fP The population to be transformed. -.RE -.PP - -.PP -Implements \fBeoUF< eoPop< EOT > &, void >\fP. -.PP -Definition at line 125 of file eoSGATransform.h. -.PP -References eoRng::flip(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoDynUpdater.3 b/trunk/paradiseo-eo/doc/man/man3/eoDynUpdater.3 deleted file mode 100644 index 5deacb20e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoDynUpdater.3 +++ /dev/null @@ -1,43 +0,0 @@ -.TH "eoDynUpdater" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoDynUpdater \- A base class to actually update an \fBeoUpdatable\fP object. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUpdater\fP. -.PP -Inherited by \fBeoCountedDynUpdate\fP, and \fBeoTimedDynUpdate\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoDynUpdater\fP (\fBeoUpdatable\fP &_toUpdate)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP ()" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoUpdatable\fP & \fBtoUpdate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -A base class to actually update an \fBeoUpdatable\fP object. -.PP -Definition at line 51 of file eoUpdatable.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEDA.3 b/trunk/paradiseo-eo/doc/man/man3/eoEDA.3 deleted file mode 100644 index eb48a038a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEDA.3 +++ /dev/null @@ -1,31 +0,0 @@ -.TH "eoEDA" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEDA \- eoEDA: Estimation of Distribution Algorithm within \fBEO\fP - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< eoDistribution< EOT > &, void >\fP. -.PP -Inherited by \fBeoSimpleEDA< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoEDA< EOT >" -eoEDA: Estimation of Distribution Algorithm within \fBEO\fP - -The abstract class for algorithms that evolve a probability distribution on the spaces of populations rather than a population -.PP -It IS NOT an \fBeoAlgo\fP, as it evolves a distribution, not a population -.PP -Definition at line 41 of file eoEDA.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEPReduce.3 b/trunk/paradiseo-eo/doc/man/man3/eoEPReduce.3 deleted file mode 100644 index 219260454..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEPReduce.3 +++ /dev/null @@ -1,54 +0,0 @@ -.TH "eoEPReduce" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEPReduce \- EP truncation method (some global stochastic tournament + sort) Softer selective pressure than pure truncate. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduce< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBFitness\fP" -.br -.ti -1c -.RI "typedef std::pair< float, typename \fBeoPop\fP< \fBEOT\fP >::iterator > \fBEPpair\fP" -.br -.RI "\fIhelper struct for comparing on std::pairs \fP" -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEPReduce\fP (unsigned _t_size)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, unsigned _newsize)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBt_size\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEPReduce< EOT >" -EP truncation method (some global stochastic tournament + sort) Softer selective pressure than pure truncate. -.PP -Definition at line 83 of file eoReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEPReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoEPReplacement.3 deleted file mode 100644 index e5aeff65f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEPReplacement.3 +++ /dev/null @@ -1,42 +0,0 @@ -.TH "eoEPReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEPReplacement \- EP type of replacement strategy: first add parents to population, then truncate using EP tournament. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMergeReduce< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEPReplacement\fP (int _tSize)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoPlus\fP< \fBEOT\fP > \fBplus\fP" -.br -.ti -1c -.RI "\fBeoEPReduce\fP< \fBEOT\fP > \fBtruncate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEPReplacement< EOT >" -EP type of replacement strategy: first add parents to population, then truncate using EP tournament. -.PP -Definition at line 102 of file eoMergeReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEasyEA.3 b/trunk/paradiseo-eo/doc/man/man3/eoEasyEA.3 deleted file mode 100644 index 14a5f5737..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEasyEA.3 +++ /dev/null @@ -1,110 +0,0 @@ -.TH "eoEasyEA" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEasyEA \- An easy-to-use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-algorithms. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoAlgo< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEasyEA\fP (\fBeoContinue\fP< \fBEOT\fP > &_continuator, \fBeoEvalFunc\fP< \fBEOT\fP > &_eval, \fBeoBreed\fP< \fBEOT\fP > &_breed, \fBeoReplacement\fP< \fBEOT\fP > &_replace)" -.br -.RI "\fICtor taking a breed and merge. \fP" -.ti -1c -.RI "\fBeoEasyEA\fP (\fBeoContinue\fP< \fBEOT\fP > &_continuator, \fBeoPopEvalFunc\fP< \fBEOT\fP > &_eval, \fBeoBreed\fP< \fBEOT\fP > &_breed, \fBeoReplacement\fP< \fBEOT\fP > &_replace)" -.br -.RI "\fINEW Ctor taking a breed and merge and an eoPopEval. \fP" -.ti -1c -.RI "\fBeoEasyEA\fP (\fBeoContinue\fP< \fBEOT\fP > &_continuator, \fBeoEvalFunc\fP< \fBEOT\fP > &_eval, \fBeoBreed\fP< \fBEOT\fP > &_breed, \fBeoMerge\fP< \fBEOT\fP > &_merge, \fBeoReduce\fP< \fBEOT\fP > &_reduce)" -.br -.RI "\fICtor \fBeoBreed\fP, \fBeoMerge\fP and \fBeoReduce\fP. \fP" -.ti -1c -.RI "\fBeoEasyEA\fP (\fBeoContinue\fP< \fBEOT\fP > &_continuator, \fBeoEvalFunc\fP< \fBEOT\fP > &_eval, \fBeoSelect\fP< \fBEOT\fP > &_select, \fBeoTransform\fP< \fBEOT\fP > &_transform, \fBeoReplacement\fP< \fBEOT\fP > &_replace)" -.br -.RI "\fICtor \fBeoSelect\fP, \fBeoTransform\fP, and \fBeoReplacement\fP. \fP" -.ti -1c -.RI "\fBeoEasyEA\fP (\fBeoContinue\fP< \fBEOT\fP > &_continuator, \fBeoEvalFunc\fP< \fBEOT\fP > &_eval, \fBeoSelect\fP< \fBEOT\fP > &_select, \fBeoTransform\fP< \fBEOT\fP > &_transform, \fBeoMerge\fP< \fBEOT\fP > &_merge, \fBeoReduce\fP< \fBEOT\fP > &_reduce)" -.br -.RI "\fICtor \fBeoSelect\fP, \fBeoTransform\fP, \fBeoMerge\fP and \fBeoReduce\fP. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIApply a few generation of evolution to the population. \fP" -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "eoEasyEA::eoDummySelect \fBdummySelect\fP" -.br -.ti -1c -.RI "eoEasyEA::eoDummyTransform \fBdummyTransform\fP" -.br -.ti -1c -.RI "eoEasyEA::eoDummyEval \fBdummyEval\fP" -.br -.ti -1c -.RI "\fBeoContinue\fP< \fBEOT\fP > & \fBcontinuator\fP" -.br -.ti -1c -.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBeval\fP" -.br -.ti -1c -.RI "\fBeoPopLoopEval\fP< \fBEOT\fP > \fBloopEval\fP" -.br -.ti -1c -.RI "\fBeoPopEvalFunc\fP< \fBEOT\fP > & \fBpopEval\fP" -.br -.ti -1c -.RI "\fBeoSelectTransform\fP< \fBEOT\fP > \fBselectTransform\fP" -.br -.ti -1c -.RI "\fBeoBreed\fP< \fBEOT\fP > & \fBbreed\fP" -.br -.ti -1c -.RI "\fBeoNoElitism\fP< \fBEOT\fP > \fBdummyMerge\fP" -.br -.ti -1c -.RI "\fBeoTruncate\fP< \fBEOT\fP > \fBdummyReduce\fP" -.br -.ti -1c -.RI "\fBeoMergeReduce\fP< \fBEOT\fP > \fBmergeReduce\fP" -.br -.ti -1c -.RI "\fBeoReplacement\fP< \fBEOT\fP > & \fBreplace\fP" -.br -.in -1c -.SS "Friends" - -.in +1c -.ti -1c -.RI "class \fBeoIslandsEasyEA\fP" -.br -.ti -1c -.RI "class \fBeoDistEvalEasyEA\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEasyEA< EOT >" -An easy-to-use evolutionary algorithm; you can use any chromosome, and any selection transformation, merging and evaluation algorithms; you can even change in runtime parameters of those sub-algorithms. - -Change (MS, July 3. 2001): Replaced the \fBeoEvalFunc\fP by an \fBeoPopEvalFunc\fP: this immediately allows many useful constructs, such as co-evolution (e.g. game players), parisian approach (the solution to the problem is the whole population) or simple distribution of evaluations on a cluster. In case an \fBeoEvalFunc\fP is passed, it is embedded on an \fBeoPopLoopEval\fP This makes things a little uglier (required an additional 'dummy' member -.PP -Note: it looks ugly only because we wanted to authorize many different constructors. Please only look at the operator() and there shall be light -.PP -Definition at line 63 of file eoEasyEA.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEliteSequentialSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoEliteSequentialSelect.3 deleted file mode 100644 index 5abd6fea4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEliteSequentialSelect.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoEliteSequentialSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEliteSequentialSelect \- All Individuals in order. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEliteSequentialSelect\fP ()" -.br -.RI "\fICtor: sets the current pter to numeric_limits::max() so init will take place first time not very elegant, maybe ... \fP" -.ti -1c -.RI "void \fBsetup\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIvirtual function to setup some population stats (for instance eoProportional can benefit greatly from this) \fP" -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBcurrent\fP" -.br -.ti -1c -.RI "std::vector< const \fBEOT\fP * > \fBeoPters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEliteSequentialSelect< EOT >" -All Individuals in order. - -The best individual first, then the others in sequence (random order). for G3 evolution engine, see Deb, Anad and Joshi, CEC 2002 -.PP -As \fBeoSequentialSelect\fP, it is an \fBeoSelectOne\fP to be used within the eoEaseyEA algo, but conceptually it should be a global \fBeoSelect\fP, as it selects a bunch of guys in one go (done in the setup function now) -.PP -Definition at line 97 of file eoSequentialSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoElitism.3 b/trunk/paradiseo-eo/doc/man/man3/eoElitism.3 deleted file mode 100644 index 2393fc557..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoElitism.3 +++ /dev/null @@ -1,50 +0,0 @@ -.TH "eoElitism" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoElitism \- Straightforward elitism class, specify the number of individuals to copy into new geneneration or the rate w.r.t. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMerge< EOT >\fP. -.PP -Inherited by \fBeoNoElitism< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoElitism\fP (double _rate, bool _interpret_as_rate=true)" -.br -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrate\fP" -.br -.ti -1c -.RI "unsigned \fBcombien\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoElitism< EOT >" -Straightforward elitism class, specify the number of individuals to copy into new geneneration or the rate w.r.t. - -pop size -.PP -Definition at line 55 of file eoMerge.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEsChromInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoEsChromInit.3 deleted file mode 100644 index e62c8b8e1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEsChromInit.3 +++ /dev/null @@ -1,190 +0,0 @@ -.TH "eoEsChromInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEsChromInit \- Random Es-chromosome initializer (therefore derived from \fBeoInit\fP). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRealInitBounded< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBFitT\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEsChromInit\fP (\fBeoRealVectorBounds\fP &_bounds, double _sigma=0.3, bool _to_scale=false)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "\fBeoEsChromInit\fP (\fBeoRealVectorBounds\fP &_bounds, std::vector< double > _vecSigma)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIsimply passes the argument to the uniform method of the bounds \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBcreate_self_adapt\fP (\fBeoReal\fP< FitT > &)" -.br -.RI "\fICreate intializer. \fP" -.ti -1c -.RI "void \fBcreate_self_adapt\fP (\fBeoEsSimple\fP< FitT > &result)" -.br -.RI "\fICreate intializer. \fP" -.ti -1c -.RI "void \fBcreate_self_adapt\fP (\fBeoEsStdev\fP< FitT > &result)" -.br -.RI "\fICreate intializer. \fP" -.ti -1c -.RI "void \fBcreate_self_adapt\fP (\fBeoEsFull\fP< FitT > &result)" -.br -.RI "\fICreate intializer. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBuniqueSigma\fP" -.br -.RI "\fIInitial value in case of a unique sigma. \fP" -.ti -1c -.RI "std::vector< double > \fBvecSigma\fP" -.br -.RI "\fIInitial values in case of a vector of sigmas. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEsChromInit< EOT >" -Random Es-chromosome initializer (therefore derived from \fBeoInit\fP). - -This class can initialize four types of real-valued genotypes thanks to tempate specialization of private method create: -.PP -.IP "\(bu" 2 -\fBeoReal\fP just an eoVector -.IP "\(bu" 2 -\fBeoEsSimple\fP + one self-adapting single sigma for all variables -.IP "\(bu" 2 -\fBeoEsStdev\fP a whole std::vector of self-adapting sigmas -.IP "\(bu" 2 -\fBeoEsFull\fP a full self-adapting correlation matrix -.PP -.PP -\fBSee also:\fP -.RS 4 -\fBeoReal\fP \fBeoEsSimple\fP \fBeoEsStdev\fP \fBeoEsFull\fP \fBeoInit\fP -.RE -.PP - -.PP -Definition at line 55 of file eoEsChromInit.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoEsChromInit\fP< \fBEOT\fP >::\fBeoEsChromInit\fP (\fBeoRealVectorBounds\fP & _bounds, double _sigma = \fC0.3\fP, bool _to_scale = \fCfalse\fP)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP bounds for uniform initialization -.br -\fI_sigma\fP initial value for the stddev -.br -\fI_to_scale\fP wether sigma should be multiplied by the range of each variable added December 2004 - MS (together with the whole comment :-) -.RE -.PP - -.PP -Definition at line 71 of file eoEsChromInit.h. -.PP -References eoRealBaseVectorBounds::range(), eoRealInitBounded< EOT >::theBounds(), eoEsChromInit< EOT >::uniqueSigma, and eoEsChromInit< EOT >::vecSigma. -.SS "template \fBeoEsChromInit\fP< \fBEOT\fP >::\fBeoEsChromInit\fP (\fBeoRealVectorBounds\fP & _bounds, std::vector< double > _vecSigma)\fC [inline]\fP" -.PP -Constructor. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Specify individual initial sigmas for each variable. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP bounds for uniform initialization -.br -\fI_sigma\fP initial value for the stddev -.RE -.PP - -.PP -Definition at line 109 of file eoEsChromInit.h. -.PP -References eoEsChromInit< EOT >::uniqueSigma, and eoEsChromInit< EOT >::vecSigma. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoEsChromInit\fP< \fBEOT\fP >::create_self_adapt (\fBeoReal\fP< FitT > &)\fC [inline, private]\fP" -.PP -Create intializer. -.PP -No adaptive mutation at all -.PP -Definition at line 128 of file eoEsChromInit.h. -.PP -Referenced by eoEsChromInit< EOT >::operator()(). -.SS "template void \fBeoEsChromInit\fP< \fBEOT\fP >::create_self_adapt (\fBeoEsSimple\fP< FitT > & result)\fC [inline, private]\fP" -.PP -Create intializer. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Adaptive mutation through a unique sigma -.PP -Definition at line 139 of file eoEsChromInit.h. -.PP -References eoEsSimple< Fit >::stdev. -.SS "template void \fBeoEsChromInit\fP< \fBEOT\fP >::create_self_adapt (\fBeoEsStdev\fP< FitT > & result)\fC [inline, private]\fP" -.PP -Create intializer. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Adaptive mutation through a std::vector of sigmas -.PP -\fBTodo\fP -.RS 4 -Should we scale sigmas to the corresponding object variable range? -.RE -.PP - -.PP -Definition at line 155 of file eoEsChromInit.h. -.PP -References eoEsStdev< Fit >::stdevs. -.SS "template void \fBeoEsChromInit\fP< \fBEOT\fP >::create_self_adapt (\fBeoEsFull\fP< FitT > & result)\fC [inline, private]\fP" -.PP -Create intializer. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Adaptive mutation through a whole correlation matrix -.PP -Definition at line 169 of file eoEsChromInit.h. -.PP -References eoEsFull< Fit >::correlations, eoEsFull< Fit >::stdevs, and eoRng::uniform(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEsFull.3 b/trunk/paradiseo-eo/doc/man/man3/eoEsFull.3 deleted file mode 100644 index 3a5229692..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEsFull.3 +++ /dev/null @@ -1,76 +0,0 @@ -.TH "eoEsFull" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEsFull \- The most complex evolutionary strategy representation. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoVector< Fit, double >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef double \fBType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.RI "\fIReturn the class id. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fIprinting... \fP" -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &is)" -.br -.RI "\fIreading... \fP" -.in -1c -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "std::vector< double > \fBstdevs\fP" -.br -.ti -1c -.RI "std::vector< double > \fBcorrelations\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEsFull< Fit >" -The most complex evolutionary strategy representation. - -Co-evolving mutation rates and correlated mutations. -.PP -Definition at line 40 of file eoEsFull.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoEsFull\fP< Fit >::className (void) const\fC [inline, virtual]\fP" -.PP -Return the class id. -.PP -\fBReturns:\fP -.RS 4 -the class name as a std::string -.RE -.PP - -.PP -Reimplemented from \fBEO< Fit >\fP. -.PP -Definition at line 51 of file eoEsFull.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEsGlobalXover.3 b/trunk/paradiseo-eo/doc/man/man3/eoEsGlobalXover.3 deleted file mode 100644 index c6191a9f1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEsGlobalXover.3 +++ /dev/null @@ -1,130 +0,0 @@ -.TH "eoEsGlobalXover" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEsGlobalXover \- Gloabl crossover operator for ES genotypes. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGenOp< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBFitT\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEsGlobalXover\fP (\fBeoBinOp\fP< double > &_crossObj, \fBeoBinOp\fP< double > &_crossMut)" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. Used to display statistics. \fP" -.ti -1c -.RI "unsigned \fBmax_production\fP (void)" -.br -.RI "\fIThe TOTAL number of offspring (here = nb of parents modified in place). \fP" -.ti -1c -.RI "void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_plop)" -.br -.RI "\fImodifies one parents in the populator using 2 new parents for each component! \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBcross_self_adapt\fP (\fBeoEsSimple\fP< FitT > &_parent, const \fBeoPop\fP< \fBeoEsSimple\fP< FitT > > &_pop)" -.br -.RI "\fIMethod for cross self-adaptation parameters. \fP" -.ti -1c -.RI "void \fBcross_self_adapt\fP (\fBeoEsStdev\fP< FitT > &_parent, const \fBeoPop\fP< \fBeoEsStdev\fP< FitT > > &_pop)" -.br -.RI "\fIMethod for cross self-adaptation parameters. \fP" -.ti -1c -.RI "void \fBcross_self_adapt\fP (\fBeoEsFull\fP< FitT > &_parent, const \fBeoPop\fP< \fBeoEsFull\fP< FitT > > &_pop)" -.br -.RI "\fIMethod for cross self-adaptation parameters. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoRandomSelect\fP< \fBEOT\fP > \fBsel\fP" -.br -.ti -1c -.RI "\fBeoBinOp\fP< double > & \fBcrossObj\fP" -.br -.ti -1c -.RI "\fBeoBinOp\fP< double > & \fBcrossMut\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEsGlobalXover< EOT >" -Gloabl crossover operator for ES genotypes. - -Uses some Atom crossovers to handle both the object variables and the mutation strategy parameters -.PP -Definition at line 44 of file eoEsGlobalXover.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoEsGlobalXover\fP< \fBEOT\fP >::apply (\fBeoPopulator\fP< \fBEOT\fP > & _plop)\fC [inline, virtual]\fP" -.PP -modifies one parents in the populator using 2 new parents for each component! -.PP -\fBParameters:\fP -.RS 4 -\fI_pop\fP a POPULATOR (not a simple population) -.RE -.PP - -.PP -Implements \fBeoGenOp< EOT >\fP. -.PP -Definition at line 67 of file eoEsGlobalXover.h. -.PP -References eoEsGlobalXover< EOT >::cross_self_adapt(), EO< F >::invalidate(), and eoPopulator< EOT >::source(). -.SS "template void \fBeoEsGlobalXover\fP< \fBEOT\fP >::cross_self_adapt (\fBeoEsSimple\fP< FitT > & _parent, const \fBeoPop\fP< \fBeoEsSimple\fP< FitT > > & _pop)\fC [inline, private]\fP" -.PP -Method for cross self-adaptation parameters. -.PP -Specialization for \fBeoEsSimple\fP. -.PP -Definition at line 94 of file eoEsGlobalXover.h. -.PP -References eoEsSimple< Fit >::stdev. -.PP -Referenced by eoEsGlobalXover< EOT >::apply(). -.SS "template void \fBeoEsGlobalXover\fP< \fBEOT\fP >::cross_self_adapt (\fBeoEsStdev\fP< FitT > & _parent, const \fBeoPop\fP< \fBeoEsStdev\fP< FitT > > & _pop)\fC [inline, private]\fP" -.PP -Method for cross self-adaptation parameters. -.PP -Specialization for \fBeoEsStdev\fP. -.PP -Definition at line 106 of file eoEsGlobalXover.h. -.PP -References eoEsStdev< Fit >::stdevs. -.SS "template void \fBeoEsGlobalXover\fP< \fBEOT\fP >::cross_self_adapt (\fBeoEsFull\fP< FitT > & _parent, const \fBeoPop\fP< \fBeoEsFull\fP< FitT > > & _pop)\fC [inline, private]\fP" -.PP -Method for cross self-adaptation parameters. -.PP -Specialization for \fBeoEsFull\fP. -.PP -Definition at line 121 of file eoEsGlobalXover.h. -.PP -References eoEsFull< Fit >::correlations, and eoEsFull< Fit >::stdevs. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEsMutate.3 b/trunk/paradiseo-eo/doc/man/man3/eoEsMutate.3 deleted file mode 100644 index 37115c8c3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEsMutate.3 +++ /dev/null @@ -1,254 +0,0 @@ -.TH "eoEsMutate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEsMutate \- ES-style mutation in the large. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBFitT\fP" -.br -.RI "\fIFitness-type. \fP" -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEsMutate\fP (\fBeoEsMutationInit\fP &_init, \fBeoRealVectorBounds\fP &_bounds)" -.br -.RI "\fIInitialization. \fP" -.ti -1c -.RI "virtual \fB~eoEsMutate\fP ()" -.br -.RI "\fIVirtual Destructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIClassname. \fP" -.ti -1c -.RI "virtual bool \fBoperator()\fP (\fBeoEsSimple\fP< \fBFitT\fP > &_eo)" -.br -.RI "\fIMutate \fBeoEsSimple\fP. \fP" -.ti -1c -.RI "virtual bool \fBoperator()\fP (\fBeoEsStdev\fP< \fBFitT\fP > &_eo)" -.br -.RI "\fIStandard mutation in ES. \fP" -.ti -1c -.RI "virtual bool \fBoperator()\fP (\fBeoEsFull\fP< \fBFitT\fP > &_eo)" -.br -.RI "\fICorrelated mutations in ES. \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBinit\fP (\fBeoEsSimple\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP &_init)" -.br -.RI "\fIInitialization of simple ES. \fP" -.ti -1c -.RI "void \fBinit\fP (\fBeoEsStdev\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP &_init)" -.br -.RI "\fIInitialization of standard ES. \fP" -.ti -1c -.RI "void \fBinit\fP (\fBeoEsFull\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP &_init)" -.br -.RI "\fIInitialization of full ES. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBTauLcl\fP" -.br -.RI "\fILocal factor for mutation of std deviations. \fP" -.ti -1c -.RI "double \fBTauGlb\fP" -.br -.RI "\fIGlobal factor for mutation of std deviations. \fP" -.ti -1c -.RI "double \fBTauBeta\fP" -.br -.RI "\fIFactor for mutation of correlation parameters. \fP" -.ti -1c -.RI "\fBeoRealVectorBounds\fP & \fBbounds\fP" -.br -.RI "\fIBounds of parameters. \fP" -.in -1c -.SS "Static Private Attributes" - -.in +1c -.ti -1c -.RI "const double \fBstdev_eps\fP = 1.0e-40" -.br -.RI "\fIMinimum stdev. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEsMutate< EOT >" -ES-style mutation in the large. - -Obviously, valid only for eoES*. It is currently valid for three types of ES chromosomes: -.IP "\(bu" 2 -\fBeoEsSimple\fP: Exactly one stdandard-deviation -.IP "\(bu" 2 -\fBeoEsStdev\fP: As many standard deviations as object variables -.IP "\(bu" 2 -\fBeoEsFull\fP: The whole guacemole: correlations, stdevs and object variables -.PP -.PP -Each of these three variant has it's own operator() in eoEsMutate and intialization is also split into three cases (that share some commonalities) -.PP -Definition at line 60 of file eoEsMutate.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoEsMutate\fP< \fBEOT\fP >::\fBeoEsMutate\fP (\fBeoEsMutationInit\fP & _init, \fBeoRealVectorBounds\fP & _bounds)\fC [inline]\fP" -.PP -Initialization. -.PP -\fBParameters:\fP -.RS 4 -\fI_init\fP Proxy class for initializating the three parameters eoEsMutate needs -.br -\fI_bounds\fP Bounds for the objective variables -.RE -.PP - -.PP -Definition at line 74 of file eoEsMutate.h. -.PP -References eoEsMutate< EOT >::bounds, and eoEsMutate< EOT >::init(). -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoEsMutate\fP< \fBEOT\fP >::className (void) const\fC [inline, virtual]\fP" -.PP -Classname. -.PP -Inherited from \fBeoObject\fP -.PP -\fBSee also:\fP -.RS 4 -\fBeoObject\fP -.RE -.PP -\fBReturns:\fP -.RS 4 -Name of class. -.RE -.PP - -.PP -Reimplemented from \fBeoMonOp< EOT >\fP. -.PP -Definition at line 90 of file eoEsMutate.h. -.SS "template virtual bool \fBeoEsMutate\fP< \fBEOT\fP >::operator() (\fBeoEsSimple\fP< \fBFitT\fP > & _eo)\fC [inline, virtual]\fP" -.PP -Mutate \fBeoEsSimple\fP. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo\fP Individual to mutate. -.RE -.PP - -.PP -Definition at line 97 of file eoEsMutate.h. -.PP -References eoEsMutate< EOT >::bounds, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsSimple< Fit >::stdev, and eoEsMutate< EOT >::TauLcl. -.SS "template virtual bool \fBeoEsMutate\fP< \fBEOT\fP >::operator() (\fBeoEsStdev\fP< \fBFitT\fP > & _eo)\fC [inline, virtual]\fP" -.PP -Standard mutation in ES. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Standard mutation of object variables and standard deviations in ESs. -.PP -If there are fewer different standard deviations available than the dimension of the objective function requires, the last standard deviation is responsible for ALL remaining object variables. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo\fP Individual to mutate. -.RE -.PP -\fBSee also:\fP -.RS 4 -Schwefel 1977: Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie, pp. 165 ff. -.RE -.PP - -.PP -Definition at line 128 of file eoEsMutate.h. -.PP -References eoEsMutate< EOT >::bounds, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsStdev< Fit >::stdevs, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl. -.SS "template virtual bool \fBeoEsMutate\fP< \fBEOT\fP >::operator() (\fBeoEsFull\fP< \fBFitT\fP > & _eo)\fC [inline, virtual]\fP" -.PP -Correlated mutations in ES. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Mutation of object variables, standard deviations, and their correlations in ESs. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo\fP Individual to mutate. -.RE -.PP -\fBSee also:\fP -.RS 4 -.IP "\(bu" 2 -H.-P. Schwefel: Internal Report of KFA Juelich, KFA-STE-IB-3/80, p. 43, 1980. -.IP "\(bu" 2 -G. Rudolph: Globale Optimierung mit parallelen Evolutionsstrategien, Diploma Thesis, University of Dortmund, 1990. -.PP -.RE -.PP - -.PP -Definition at line 159 of file eoEsMutate.h. -.PP -References eoEsMutate< EOT >::bounds, eoEsFull< Fit >::correlations, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsFull< Fit >::stdevs, eoEsMutate< EOT >::TauBeta, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl. -.SS "template void \fBeoEsMutate\fP< \fBEOT\fP >::init (\fBeoEsStdev\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP & _init)\fC [inline, private]\fP" -.PP -Initialization of standard ES. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Definition at line 228 of file eoEsMutate.h. -.PP -References eoEsMutate< EOT >::bounds, eoEsMutationInit::TauGlb(), eoEsMutate< EOT >::TauGlb, eoEsMutationInit::TauLcl(), and eoEsMutate< EOT >::TauLcl. -.SS "template void \fBeoEsMutate\fP< \fBEOT\fP >::init (\fBeoEsFull\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP & _init)\fC [inline, private]\fP" -.PP -Initialization of full ES. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Definition at line 244 of file eoEsMutate.h. -.PP -References eoEsMutate< EOT >::init(), eoEsMutationInit::TauBeta(), eoEsMutate< EOT >::TauBeta, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl. -.SH "Member Data Documentation" -.PP -.SS "template const double \fBeoEsMutate\fP< \fBEOT\fP >::\fBstdev_eps\fP = 1.0e-40\fC [static, private]\fP" -.PP -Minimum stdev. -.PP -If you let the step-size go to 0, self-adaptation stops, therefore we give a lower bound. The actual value used is somewhat arbitrary and the is no theoretical reasoning known for it (Sep 2005). -.PP -The code that we have in \fBEO\fP is a port from a C code that Thomas Bäck kindly donated to the community some years ago. It has been modified by Marc Schoenauer for inclusion in EvolC, than by Maarten Keijzer into \fBEO\fP. The exact value was adjusted based on practice. -.PP -Removing this doesn't work well, but it was never tried to figure out what the best value would be. -.PP -Definition at line 284 of file eoEsMutate.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEsMutationInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoEsMutationInit.3 deleted file mode 100644 index 78db90858..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEsMutationInit.3 +++ /dev/null @@ -1,116 +0,0 @@ -.TH "eoEsMutationInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEsMutationInit \- Initialize Mutation operator. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEsMutationInit\fP (\fBeoParser\fP &_parser, std::string _section='ES mutation parameters')" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual \fB~eoEsMutationInit\fP ()" -.br -.RI "\fIVirtual destructor. \fP" -.ti -1c -.RI "double \fBTauLcl\fP (void)" -.br -.RI "\fIlocal \fP" -.ti -1c -.RI "double \fBTauGlb\fP (void)" -.br -.RI "\fIglobal tau \fP" -.ti -1c -.RI "double \fBTauBeta\fP (void)" -.br -.RI "\fIcorrelation's tau \fP" -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBsection\fP (void)" -.br -.ti -1c -.RI "virtual std::string \fBTauLclName\fP (void) const " -.br -.ti -1c -.RI "virtual char \fBTauLclShort\fP (void) const " -.br -.ti -1c -.RI "virtual std::string \fBTauGlbName\fP (void) const " -.br -.ti -1c -.RI "virtual char \fBTauGlbShort\fP (void) const " -.br -.ti -1c -.RI "virtual std::string \fBTauBetaName\fP (void) const " -.br -.ti -1c -.RI "virtual char \fBTauBetaShort\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoParser\fP & \fBparser\fP" -.br -.ti -1c -.RI "std::string \fBrepSection\fP" -.br -.ti -1c -.RI "\fBeoValueParam\fP< double > * \fBTauLclParam\fP" -.br -.ti -1c -.RI "\fBeoValueParam\fP< double > * \fBTauGlbParam\fP" -.br -.ti -1c -.RI "\fBeoValueParam\fP< double > * \fBTauBetaParam\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Initialize Mutation operator. - -Proxy class that is used for initializing the mutation operator. It provides an interface between \fBeoEsMutate\fP and the abstract parameterLoader. It also provides the names for the parameters in this class as virtual protected member functions. -.PP -If you have more than a single ES in a project that need different names in the configuration files, you might consider overriding this class to change the names. -.PP -\fBSee also:\fP -.RS 4 -\fBeoEsMutate\fP -.RE -.PP - -.PP -Definition at line 47 of file eoEsMutationInit.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "eoEsMutationInit::eoEsMutationInit (\fBeoParser\fP & _parser, std::string _section = \fC'ES mutation parameters'\fP)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_parser\fP Parser to read parameters from. -.br -\fI_section\fP Parser section for -parameters. -.RE -.PP - -.PP -Definition at line 56 of file eoEsMutationInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEsSimple.3 b/trunk/paradiseo-eo/doc/man/man3/eoEsSimple.3 deleted file mode 100644 index 1ef67d55e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEsSimple.3 +++ /dev/null @@ -1,80 +0,0 @@ -.TH "eoEsSimple" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEsSimple \- Simple Evolution Strategy. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoVector< Fit, double >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef double \fBType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIReturn the class id. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fIprinting... \fP" -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &is)" -.br -.RI "\fIreading... \fP" -.in -1c -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "double \fBstdev\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEsSimple< Fit >" -Simple Evolution Strategy. - -One of the more simple evolution strategies, sporting just a single stdeviation for the entire chromosome. For more advanced versions see also \fBeoEsStdev\fP \fBeoEsFull\fP -.PP -\fBSee also:\fP -.RS 4 -\fBeoEsStdev\fP \fBeoEsFull\fP -.RE -.PP - -.PP -Definition at line 42 of file eoEsSimple.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoEsSimple\fP< Fit >::className (void) const\fC [inline, virtual]\fP" -.PP -Return the class id. -.PP -\fBReturns:\fP -.RS 4 -the class name as a std::string -.RE -.PP - -.PP -Reimplemented from \fBEO< Fit >\fP. -.PP -Definition at line 50 of file eoEsSimple.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEsStandardXover.3 b/trunk/paradiseo-eo/doc/man/man3/eoEsStandardXover.3 deleted file mode 100644 index e2ea45d49..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEsStandardXover.3 +++ /dev/null @@ -1,76 +0,0 @@ -.TH "eoEsStandardXover" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEsStandardXover \- Standard (i.e. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBFitT\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEsStandardXover\fP (\fBeoBinOp\fP< double > &_crossObj, \fBeoBinOp\fP< double > &_crossMut)" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. Used to display statistics. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, const \fBEOT\fP &_eo2)" -.br -.RI "\fImodifies one parents in the populator using a second parent \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "bool \fBcross_self_adapt\fP (\fBeoEsSimple\fP< FitT > &_parent1, const \fBeoEsSimple\fP< FitT > &_parent2)" -.br -.ti -1c -.RI "bool \fBcross_self_adapt\fP (\fBeoEsStdev\fP< FitT > &_parent1, const \fBeoEsStdev\fP< FitT > &_parent2)" -.br -.ti -1c -.RI "bool \fBcross_self_adapt\fP (\fBeoEsFull\fP< FitT > &_parent1, const \fBeoEsFull\fP< FitT > &_parent2)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoRandomSelect\fP< \fBEOT\fP > \fBsel\fP" -.br -.ti -1c -.RI "\fBeoBinOp\fP< double > & \fBcrossObj\fP" -.br -.ti -1c -.RI "\fBeoBinOp\fP< double > & \fBcrossMut\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEsStandardXover< EOT >" -Standard (i.e. - -\fBeoBinOp\fP) crossover operator for ES genotypes. Uses some Atom crossovers to handle both the object variables and the mutation strategy parameters It is an \fBeoBinOp\fP and has to be wrapped into an \fBeoGenOp\fP before being used like the global version -.PP -Definition at line 46 of file eoEsStandardXover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEsStdev.3 b/trunk/paradiseo-eo/doc/man/man3/eoEsStdev.3 deleted file mode 100644 index 749643395..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEsStdev.3 +++ /dev/null @@ -1,73 +0,0 @@ -.TH "eoEsStdev" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEsStdev \- Evolutionary Strategy with a standard deviation per parameter. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoVector< Fit, double >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef double \fBType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.RI "\fIReturn the class id. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fIprinting... \fP" -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &is)" -.br -.RI "\fIreading... \fP" -.in -1c -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "std::vector< double > \fBstdevs\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEsStdev< Fit >" -Evolutionary Strategy with a standard deviation per parameter. - -Evolutionary strategie style representation, supporting co-evolving standard deviations. -.PP -Definition at line 37 of file eoEsStdev.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoEsStdev\fP< Fit >::className (void) const\fC [inline, virtual]\fP" -.PP -Return the class id. -.PP -\fBReturns:\fP -.RS 4 -the class name as a std::string -.RE -.PP - -.PP -Reimplemented from \fBEO< Fit >\fP. -.PP -Definition at line 47 of file eoEsStdev.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEvalContinue.3 b/trunk/paradiseo-eo/doc/man/man3/eoEvalContinue.3 deleted file mode 100644 index 2f7143412..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEvalContinue.3 +++ /dev/null @@ -1,54 +0,0 @@ -.TH "eoEvalContinue" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEvalContinue \- Continues until a number of evaluations has been made. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoContinue< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEvalContinue\fP (\fBeoEvalFuncCounter\fP< \fBEOT\fP > &_eval, unsigned long _totalEval)" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual bool \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_vEO)" -.br -.RI "\fIReturns false when a certain number of evaluations has been done. \fP" -.ti -1c -.RI "virtual unsigned long \fBtotalEvaluations\fP ()" -.br -.RI "\fIReturns the number of generations to reach. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoEvalFuncCounter\fP< \fBEOT\fP > & \fBeval\fP" -.br -.ti -1c -.RI "unsigned long \fBrepTotalEvaluations\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEvalContinue< EOT >" -Continues until a number of evaluations has been made. -.PP -Definition at line 36 of file eoEvalContinue.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEvalFunc.3 b/trunk/paradiseo-eo/doc/man/man3/eoEvalFunc.3 deleted file mode 100644 index 6dfff8f7c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEvalFunc.3 +++ /dev/null @@ -1,41 +0,0 @@ -.TH "eoEvalFunc" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEvalFunc \- Evaluate: takes one \fBEO\fP and sets its 'fitness' property returning this fitness also. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< EOT &, void >\fP. -.PP -Inherited by eoAssembledEvalFunc< EOT >, eoEasyEA< EOT >::eoDummyEval, \fBeoEvalFuncCounter< EOT >\fP, \fBeoEvalFuncPtr< EOT, FitT, FunctionArg >\fP, eoMyEval< EOT >, \fBeoOneMaxEvalFunc< EOT >\fP, and RoyalRoad< EOT >. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBEOT\fP \fBEOType\fP" -.br -.ti -1c -.RI "typedef EOT::Fitness \fBEOFitT\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEvalFunc< EOT >" -Evaluate: takes one \fBEO\fP and sets its 'fitness' property returning this fitness also. - -That is why EOT is passed by non-const reference: it must be altered within evaluate.\\ -.PP -The requirements on the types with which this class is to be instantiated with are null, or else, they depend on the particular class it's going to be applied to; \fBEO\fP does not impose any requirement on it. If you subclass this abstract class, and use it to evaluate an \fBEO\fP, the requirements on this \fBEO\fP will depend on the evaluator. -.PP -Definition at line 41 of file eoEvalFunc.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEvalFuncCounter.3 b/trunk/paradiseo-eo/doc/man/man3/eoEvalFuncCounter.3 deleted file mode 100644 index fd5da2a30..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEvalFuncCounter.3 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "eoEvalFuncCounter" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEvalFuncCounter \- Counts the number of evaluations actually performed, thus checks first if it has to evaluate.. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoEvalFunc< EOT >< EOT >\fP, and \fBeoValueParam< unsigned long >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEvalFuncCounter\fP (\fBeoEvalFunc\fP< \fBEOT\fP > &_func, std::string _name='Eval. ')" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBfunc\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoEvalFuncCounter< EOT >" -Counts the number of evaluations actually performed, thus checks first if it has to evaluate.. - -etc. -.PP -Definition at line 37 of file eoEvalFuncCounter.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoEvalFuncPtr.3 b/trunk/paradiseo-eo/doc/man/man3/eoEvalFuncPtr.3 deleted file mode 100644 index 87546b498..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoEvalFuncPtr.3 +++ /dev/null @@ -1,67 +0,0 @@ -.TH "eoEvalFuncPtr" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoEvalFuncPtr \- EOEvalFuncPtr: This class takes an existing function pointer and converts it into a evaluation function class. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoEvalFunc< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoEvalFuncPtr\fP (\fBFitT\fP(*_eval)(FunctionArg))" -.br -.RI "\fIApplies the function to the chromosome and sets the fitness of the Chrom. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIEffectively applies the evaluation function to an \fBEO\fP. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBFitT\fP(* \fBevalFunc\fP )(FunctionArg)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template struct eoEvalFuncPtr< EOT, FitT, FunctionArg >" -EOEvalFuncPtr: This class takes an existing function pointer and converts it into a evaluation function class. - -That way, old style C or C++ functions can be adapted to \fBEO\fP function classes. -.PP -Definition at line 43 of file eoEvalFuncPtr.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoEvalFuncPtr\fP< \fBEOT\fP, \fBFitT\fP, FunctionArg >::\fBeoEvalFuncPtr\fP (\fBFitT\fP(*)(FunctionArg) _eval)\fC [inline]\fP" -.PP -Applies the function to the chromosome and sets the fitness of the Chrom. -.PP -Thus, the evaluation function need not be worried about that. -.PP -\fBParameters:\fP -.RS 4 -\fI_eval\fP pointer to the evaluation function, takes a EOT as an argument and returns the fitness -.RE -.PP -\fBReturns:\fP -.RS 4 -the evaluated fitness for that object. -.RE -.PP - -.PP -Definition at line 51 of file eoEvalFuncPtr.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoExpansionMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoExpansionMutation.3 deleted file mode 100644 index 838089c43..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoExpansionMutation.3 +++ /dev/null @@ -1,94 +0,0 @@ -.TH "eoExpansionMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoExpansionMutation \- eoExpansionMutation --> replace a terminal with a randomly created subtree - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoExpansionMutation\fP (\fBeoInit\fP< \fBEoType\fP > &_init, unsigned _max_length)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "virtual \fB~eoExpansionMutation\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1)" -.br -.RI "\fIMutate an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_length\fP" -.br -.ti -1c -.RI "\fBeoInit\fP< \fBEoType\fP > & \fBinitializer\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoExpansionMutation< FType, Node >" -eoExpansionMutation --> replace a terminal with a randomly created subtree -.PP -Definition at line 204 of file eoParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoExpansionMutation\fP< FType, Node >::\fBeoExpansionMutation\fP (\fBeoInit\fP< \fBEoType\fP > & _init, unsigned _max_length)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_init\fP An instantiation of eoGpDepthInitializer -.br -\fI_max_length\fP the maximum size of an individual -.RE -.PP - -.PP -Definition at line 215 of file eoParseTreeOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoExpansionMutation\fP< FType, Node >::operator() (\fBEoType\fP & _eo1)\fC [inline]\fP" -.PP -Mutate an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The individual that is to be changed -.RE -.PP - -.PP -Definition at line 228 of file eoParseTreeOp.h. -.PP -References eoParseTree< FType, Node >::pruneTree(), and eoRng::random(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoExternalBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoExternalBinOp.3 deleted file mode 100644 index 2f98466b2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoExternalBinOp.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoExternalBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoExternalBinOp \- Crossover of external struct, ctor expects a function of the following signature:. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< ExternalEO >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoExternalBinOp\fP (bool(*_binop)(External &, const External &))" -.br -.ti -1c -.RI "bool \fBoperator()\fP (ExternalEO &eo1, const ExternalEO &eo2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "bool(* \fBbinop\fP )(External &, const External &)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template> class eoExternalBinOp< F, External, ExternalEO >" -Crossover of external struct, ctor expects a function of the following signature:. - -bool func(External&, const External&); -.PP -Where External is the user defined struct or class The function should return true when it changed something, false otherwise -.PP -Definition at line 128 of file eoExternalOpFunctions.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoExternalEO.3 b/trunk/paradiseo-eo/doc/man/man3/eoExternalEO.3 deleted file mode 100644 index 5811cf100..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoExternalEO.3 +++ /dev/null @@ -1,66 +0,0 @@ -.TH "eoExternalEO" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoExternalEO \- Definition of an object that allows an external struct to be inserted in \fBEO\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBEO< Fit >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoExternalEO\fP (const External &ext)" -.br -.RI "\fIInit externalEo with the struct itself and set fitness to zero. \fP" -.ti -1c -.RI "\fBeoExternalEO\fP (std::istream &is, const External &ext)" -.br -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object, the external struct needs to have an operator>> defined. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoExternalEO< Fit, External >" -Definition of an object that allows an external struct to be inserted in \fBEO\fP. - -This struct or class can be of any form, the only thing this class does is attach a fitness value to it and makes it the appropriate type (derives it from \fBEO\fP). -.PP -Definition at line 39 of file eoExternalEO.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoExternalEO\fP< Fit, External >::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -Called printOn since it prints the object _on_ a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Reimplemented from \fBEO< Fit >\fP. -.PP -Definition at line 69 of file eoExternalEO.h. -.PP -References EO< F >::printOn(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoExternalEvalFunc.3 b/trunk/paradiseo-eo/doc/man/man3/eoExternalEvalFunc.3 deleted file mode 100644 index 21dc03989..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoExternalEvalFunc.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoExternalEvalFunc" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoExternalEvalFunc \- Evaluation of external struct, ctor expects a function of the following signature:. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoEvalFunc< ExternalEO >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoExternalEvalFunc\fP (F(*_eval)(const External &))" -.br -.ti -1c -.RI "void \fBoperator()\fP (ExternalEO &eo)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "F(* \fBeval\fP )(const External &)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template> class eoExternalEvalFunc< F, External, ExternalEO >" -Evaluation of external struct, ctor expects a function of the following signature:. - -Fit func(External&); -.PP -Where External is the user defined struct or class and Fit the fitness type -.PP -Definition at line 73 of file eoExternalOpFunctions.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoExternalInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoExternalInit.3 deleted file mode 100644 index 188a6ef57..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoExternalInit.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoExternalInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoExternalInit \- Initialization of external struct, ctor expects a function of the following signature:. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< ExternalEO >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoExternalInit\fP (External(*_init)(void))" -.br -.ti -1c -.RI "void \fBoperator()\fP (ExternalEO &_eo)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "External(* \fBinit\fP )(void)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template> class eoExternalInit< F, External, ExternalEO >" -Initialization of external struct, ctor expects a function of the following signature:. - -External func(); -.PP -Where External is the user defined struct or class -.PP -Definition at line 45 of file eoExternalOpFunctions.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoExternalMonOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoExternalMonOp.3 deleted file mode 100644 index 12979f2c7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoExternalMonOp.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoExternalMonOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoExternalMonOp \- Mutation of external struct, ctor expects a function of the following signature:. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< ExternalEO >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoExternalMonOp\fP (bool(*_mutate)(External &))" -.br -.ti -1c -.RI "bool \fBoperator()\fP (ExternalEO &eo)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "bool(* \fBmutate\fP )(External &)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template> class eoExternalMonOp< F, External, ExternalEO >" -Mutation of external struct, ctor expects a function of the following signature:. - -bool func(External&); -.PP -Where External is the user defined struct or class. The function should return true when it changed something, false otherwise -.PP -Definition at line 102 of file eoExternalOpFunctions.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoExternalQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoExternalQuadOp.3 deleted file mode 100644 index 46d4bc6e0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoExternalQuadOp.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoExternalQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoExternalQuadOp \- Crossover of external struct, ctor expects a function of the following signature:. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< ExternalEO >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoExternalQuadOp\fP (bool(*_quadop)(External &, External &))" -.br -.ti -1c -.RI "bool \fBoperator()\fP (ExternalEO &eo1, ExternalEO &eo2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "bool(* \fBquadop\fP )(External &, External &)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template> class eoExternalQuadOp< F, External, ExternalEO >" -Crossover of external struct, ctor expects a function of the following signature:. - -bool func(External&, External&); -.PP -Where External is the user defined struct or class The function should return true when it changed something, false otherwise -.PP -Definition at line 154 of file eoExternalOpFunctions.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoF.3 b/trunk/paradiseo-eo/doc/man/man3/eoF.3 deleted file mode 100644 index d75551df8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoF.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoF" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoF \- Basic Function. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFunctorBase\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef R \fBresult_type\fP" -.br -.RI "\fIthe return type - probably useless .... \fP" -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoF\fP ()" -.br -.RI "\fIvirtual dtor here so there is no need to define it in derived classes \fP" -.ti -1c -.RI "virtual R \fBoperator()\fP ()=0" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFunctorBase::procedure_tag\fP \fBfunctor_category\fP ()" -.br -.RI "\fItag to identify a procedure in compile time function selection functor_category \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoF< R >" -Basic Function. - -Derive from this class when defining any procedure. It defines a result_type that can be used to determine the return type Argument and result types can be any type including void for result_type -.PP -Definition at line 68 of file eoFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFDCFileSnapshot.3 b/trunk/paradiseo-eo/doc/man/man3/eoFDCFileSnapshot.3 deleted file mode 100644 index b00083966..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFDCFileSnapshot.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoFDCFileSnapshot" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFDCFileSnapshot \- Specific class for FDCStat monitoring: As I failed to have FDC stat as an \fBeoStat\fP, this is the trick to put the 2 \fBeoParam\fP > into a monitor This class does nothing else. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFileSnapshot\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFDCFileSnapshot\fP (\fBeoFDCStat\fP< \fBEOT\fP > &_FDCstat, std::string _dirname='tmpFDC', unsigned _frequency=1, std::string _filename='FDC', std::string _delim=' ')" -.br -.RI "\fICtor: in addition to the parameters of the ctor of an \fBeoFileSnapshot\fP we need here an \fBeoFDCStat\fP. \fP" -.ti -1c -.RI "virtual void \fBadd\fP (const \fBeoParam\fP &_param)" -.br -.RI "\fIjust to be sure the add method is not called further \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoFDCStat\fP< \fBEOT\fP > & \fBFDCstat\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFDCFileSnapshot< EOT >" -Specific class for FDCStat monitoring: As I failed to have FDC stat as an \fBeoStat\fP, this is the trick to put the 2 \fBeoParam\fP > into a monitor This class does nothing else. -.PP -Definition at line 111 of file eoFDCStat.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoFDCFileSnapshot\fP< \fBEOT\fP >::\fBeoFDCFileSnapshot\fP (\fBeoFDCStat\fP< \fBEOT\fP > & _FDCstat, std::string _dirname = \fC'tmpFDC'\fP, unsigned _frequency = \fC1\fP, std::string _filename = \fC'FDC'\fP, std::string _delim = \fC' '\fP)\fC [inline]\fP" -.PP -Ctor: in addition to the parameters of the ctor of an \fBeoFileSnapshot\fP we need here an \fBeoFDCStat\fP. -.PP -The 2 std::vectors (distances to optimum and fitnesses) are added to the monitor so they can be processed later to a file - and eventually by gnuplot -.PP -Definition at line 119 of file eoFDCStat.h. -.PP -References eoFileSnapshot::add(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFDCStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoFDCStat.3 deleted file mode 100644 index bfef1b8e3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFDCStat.3 +++ /dev/null @@ -1,67 +0,0 @@ -.TH "eoFDCStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFDCStat \- The FDC computation - stores the values into eoValueParam so they can be snapshot by some eoGnuplotSnapshot ... - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoStat< EOT, double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFDCStat\fP (\fBeoDistance\fP< \fBEOT\fP > &_dist, std::string _description='FDC')" -.br -.RI "\fICtor without the optimum. \fP" -.ti -1c -.RI "\fBeoFDCStat\fP (\fBeoDistance\fP< \fBEOT\fP > &_dist, \fBEOT\fP &_theBest, std::string _description='FDC')" -.br -.RI "\fICtor with the optimum. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fICompute the FDC - either from best in pop, or from absolute best if it was passed in the constructor. \fP" -.ti -1c -.RI "const \fBeoValueParam\fP< std::vector< double > > & \fBtheDist\fP ()" -.br -.RI "\fIaccessors to the private \fBeoValueParam\fP > \fP" -.ti -1c -.RI "const \fBeoValueParam\fP< std::vector< double > > & \fBtheFit\fP ()" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoDistance\fP< \fBEOT\fP > & \fBdist\fP" -.br -.ti -1c -.RI "\fBEOT\fP \fBtheBest\fP" -.br -.ti -1c -.RI "bool \fBboolOpt\fP" -.br -.ti -1c -.RI "\fBeoValueParam\fP< std::vector< double > > \fBdistToBest\fP" -.br -.ti -1c -.RI "\fBeoValueParam\fP< std::vector< double > > \fBfitnesses\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFDCStat< EOT >" -The FDC computation - stores the values into eoValueParam so they can be snapshot by some eoGnuplotSnapshot ... -.PP -Definition at line 39 of file eoFDCStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFactory.3 b/trunk/paradiseo-eo/doc/man/man3/eoFactory.3 deleted file mode 100644 index 1d88bf528..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFactory.3 +++ /dev/null @@ -1,74 +0,0 @@ -.TH "eoFactory" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFactory \- \fBEO\fP Factory. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoObject\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual EOClass * \fBmake\fP (std::istream &_is)=0" -.br -.RI "\fIAnother factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. \fP" -.in -1c -.PP -.RI "\fBctors and dtors\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "\fBeoFactory\fP ()" -.br -.RI "\fIconstructor \fP" -.ti -1c -.RI "virtual \fB~eoFactory\fP ()" -.br -.RI "\fIdestructor \fP" -.in -1c -.in -1c -.PP -.RI "\fBeoObject methods\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIReturn the class id. \fP" -.in -1c -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFactory< EOClass >" -\fBEO\fP Factory. - -A factory is used to create other objects. In particular, it can be used so that objects of that kind can´t be created in any other way. It should be instantiated with anything that needs a factory, like selectors or whatever; but the instance class should be the parent class from which all the object that are going to be created descend. This class basically defines an interface, as usual. The base factory class for each hierarchy should be redefined every time a new object is added to the hierarchy, which is not too good, but in any case, some code would have to be modified -.PP -Definition at line 42 of file eoFactory.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual EOClass* \fBeoFactory\fP< EOClass >::make (std::istream & _is)\fC [pure virtual]\fP" -.PP -Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. -.PP -Usually, the format for the std::istream will be\\ objectType parameter1 parameter2 ... parametern\\ -.PP -Implemented in \fBeoOpSelMason< eoClass >\fP, \fBeoSelectFactory< EOT >\fP, and \fBeoBitOpFactory< EOT >\fP. -.PP -Referenced by eoBitOpFactory< EOT >::make(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFileMonitor.3 b/trunk/paradiseo-eo/doc/man/man3/eoFileMonitor.3 deleted file mode 100644 index 854ec5e5f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFileMonitor.3 +++ /dev/null @@ -1,76 +0,0 @@ -.TH "eoFileMonitor" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFileMonitor \- Prints statistics to file. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonitor\fP. -.PP -Inherited by \fBeoGnuplot1DMonitor\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFileMonitor\fP (std::string _filename, std::string _delim=' ', bool _keep=false, bool _header=false)" -.br -.ti -1c -.RI "virtual \fBeoMonitor\fP & \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual \fBeoMonitor\fP & \fBoperator()\fP (std::ostream &os)" -.br -.ti -1c -.RI "void \fBprintHeader\fP (void)" -.br -.ti -1c -.RI "virtual void \fBprintHeader\fP (std::ostream &os)" -.br -.ti -1c -.RI "virtual std::string \fBgetFileName\fP ()" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::string \fBfilename\fP" -.br -.ti -1c -.RI "std::string \fBdelim\fP" -.br -.ti -1c -.RI "bool \fBkeep\fP" -.br -.ti -1c -.RI "bool \fBheader\fP" -.br -.ti -1c -.RI "bool \fBfirstcall\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Prints statistics to file. - -Modified the default behavior, so that it erases existing files. Can be modified in the ctor. -.PP -\fBVersion:\fP -.RS 4 -MS 25/11/00 -.RE -.PP - -.PP -Definition at line 44 of file eoFileMonitor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFileSnapshot.3 b/trunk/paradiseo-eo/doc/man/man3/eoFileSnapshot.3 deleted file mode 100644 index e82de6b4d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFileSnapshot.3 +++ /dev/null @@ -1,109 +0,0 @@ -.TH "eoFileSnapshot" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFileSnapshot \- Prints snapshots of fitnesses to a (new) file every N generations. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonitor\fP. -.PP -Inherited by \fBeoFDCFileSnapshot< EOT >\fP, and \fBeoGnuplot1DSnapshot\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< double > \fBvDouble\fP" -.br -.ti -1c -.RI "typedef \fBeoValueParam\fP< std::vector< double > > \fBvDoubleParam\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFileSnapshot\fP (std::string _dirname, unsigned _frequency=1, std::string _filename='gen', std::string _delim=' ', unsigned _counter=0, bool _rmFiles=true)" -.br -.ti -1c -.RI "virtual bool \fBhasChanged\fP ()" -.br -.RI "\fIaccessor: has something changed (for gnuplot subclass) \fP" -.ti -1c -.RI "unsigned \fBgetCounter\fP ()" -.br -.RI "\fIaccessor to the counter: needed by the gnuplot subclass \fP" -.ti -1c -.RI "std::string \fBgetFileName\fP ()" -.br -.RI "\fIaccessor to the current filename: needed by the gnuplot subclass \fP" -.ti -1c -.RI "void \fBsetCurrentFileName\fP ()" -.br -.RI "\fIsets the current filename depending on the counter \fP" -.ti -1c -.RI "\fBeoMonitor\fP & \fBoperator()\fP (void)" -.br -.RI "\fIThe operator(void): opens the std::ostream and calls the write method. \fP" -.ti -1c -.RI "\fBeoMonitor\fP & \fBoperator()\fP (std::ostream &_os)" -.br -.RI "\fIThe operator(): write on an std::ostream. \fP" -.ti -1c -.RI "virtual const std::string \fBgetDirName\fP ()" -.br -.ti -1c -.RI "virtual const std::string \fBbaseFileName\fP ()" -.br -.ti -1c -.RI "void \fBadd\fP (const \fBeoParam\fP &_param)" -.br -.RI "\fIadd checks whether it is a std::vector of doubles \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::string \fBdirname\fP" -.br -.ti -1c -.RI "unsigned \fBfrequency\fP" -.br -.ti -1c -.RI "std::string \fBfilename\fP" -.br -.ti -1c -.RI "std::string \fBdelim\fP" -.br -.ti -1c -.RI "unsigned int \fBcounter\fP" -.br -.ti -1c -.RI "std::string \fBcurrentFileName\fP" -.br -.ti -1c -.RI "bool \fBboolChanged\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Prints snapshots of fitnesses to a (new) file every N generations. - -Assumes that the parameters that are passed to the monitor (method add in \fBeoMonitor.h\fP) are \fBeoValueParam\fP > of same size. -.PP -A dir is created and one file per snapshot is created there - so you can later generate a movie! -.PP -TODO: The counter is handled internally, but this should be changed so that you can pass e.g. an evalcounter (minor) -.PP -I failed to templatize everything so that it can handle \fBeoParam\fP > for any type T, simply calling their getValue method ... -.PP -Definition at line 53 of file eoFileSnapshot.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFitContinue.3 b/trunk/paradiseo-eo/doc/man/man3/eoFitContinue.3 deleted file mode 100644 index bc2b82be1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFitContinue.3 +++ /dev/null @@ -1,70 +0,0 @@ -.TH "eoFitContinue" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFitContinue \- Fitness continuation:. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoContinue< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBFitnessType\fP" -.br -.RI "\fIDefine Fitness. \fP" -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFitContinue\fP (const \fBFitnessType\fP _maximum)" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual bool \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIReturns false when a fitness criterium is reached. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBFitnessType\fP \fBmaximum\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFitContinue< EOT >" -Fitness continuation:. - -Continues until the maximum fitness level is reached. -.PP -Definition at line 36 of file eoFitContinue.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual bool \fBeoFitContinue\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _pop)\fC [inline, virtual]\fP" -.PP -Returns false when a fitness criterium is reached. -.PP -Assumes pop is not sorted! -.PP -Implements \fBeoUF< const eoPop< EOT > &, bool >\fP. -.PP -Definition at line 48 of file eoFitContinue.h. -.PP -References eoPop< EOT >::nth_element_fitness(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFitnessScalingSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoFitnessScalingSelect.3 deleted file mode 100644 index c512d3a1f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFitnessScalingSelect.3 +++ /dev/null @@ -1,54 +0,0 @@ -.TH "eoFitnessScalingSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFitnessScalingSelect \- eoFitnessScalingSelect: select an individual proportional to the linearly scaled fitness that is computed by the private \fBeoLinearFitScaling\fP object - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRouletteWorthSelect< EOT, double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFitnessScalingSelect\fP (double _p=2.0)" -.br -.RI "\fICtor:. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoLinearFitScaling\fP< \fBEOT\fP > \fBscaling\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFitnessScalingSelect< EOT >" -eoFitnessScalingSelect: select an individual proportional to the linearly scaled fitness that is computed by the private \fBeoLinearFitScaling\fP object -.PP -Definition at line 40 of file eoFitnessScalingSelect.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoFitnessScalingSelect\fP< \fBEOT\fP >::\fBeoFitnessScalingSelect\fP (double _p = \fC2.0\fP)\fC [inline]\fP" -.PP -Ctor:. -.PP -\fBParameters:\fP -.RS 4 -\fI_p\fP the selective pressure, should be in [1,2] (2 is the default) -.RE -.PP - -.PP -Definition at line 46 of file eoFitnessScalingSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFitnessStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoFitnessStat.3 deleted file mode 100644 index 591283430..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFitnessStat.3 +++ /dev/null @@ -1,36 +0,0 @@ -.TH "eoFitnessStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFitnessStat \- The fitnesses of a whole population, as a vector. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSortedStat< EOT, std::vector< FitT > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFitnessStat\fP (std::string _description='AllFitnesses')" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const std::vector< const \fBEOT\fP * > &_popPters)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFitnessStat< EOT, FitT >" -The fitnesses of a whole population, as a vector. -.PP -Definition at line 36 of file eoMOFitnessStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOr1ptBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOr1ptBinOp.3 deleted file mode 100644 index e2f6bba5b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOr1ptBinOp.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoFlOr1ptBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOr1ptBinOp \- The 1pt crossover (just in case someone wants it some day!). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVlUniformBinOp\fP ()" -.br -.RI "\fIdefault ctor: no argument \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIexchanges first and second parts of the vectors of Atoms \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOr1ptBinOp< EOT >" -The 1pt crossover (just in case someone wants it some day!). -.PP -Definition at line 181 of file eoFlOrBinOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOr1ptQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOr1ptQuadOp.3 deleted file mode 100644 index 8987e43d1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOr1ptQuadOp.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoFlOr1ptQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOr1ptQuadOp \- The 1pt crossover (just in case someone wants it some day!). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVlUniformQuadOp\fP ()" -.br -.RI "\fIdefault ctor: no argument \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIexchanges first and second parts of the vectors of Atoms \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOr1ptQuadOp< EOT >" -The 1pt crossover (just in case someone wants it some day!). -.PP -Definition at line 173 of file eoFlOrQuadOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllAtomBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllAtomBinOp.3 deleted file mode 100644 index da4f654c2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllAtomBinOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoFlOrAllAtomBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOrAllAtomBinOp \- Bin Crossover using an Atom Crossover that is applied to a ALL components with given rate. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFlOrAllAtomBinOp\fP (\fBeoBinOp\fP< AtomType > &_op, float _rate=1.0)" -.br -.RI "\fIdefault ctor: requires an Atom BinOp \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, const \fBEOT\fP &_eo2)" -.br -.RI "\fIapplies Atom crossover to ALL components with given rate \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrate\fP" -.br -.ti -1c -.RI "\fBeoBinOp\fP< AtomType > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOrAllAtomBinOp< EOT >" -Bin Crossover using an Atom Crossover that is applied to a ALL components with given rate. -.PP -Definition at line 49 of file eoFlOrBinOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllAtomQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllAtomQuadOp.3 deleted file mode 100644 index d6599e3e1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllAtomQuadOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoFlOrAllAtomQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOrAllAtomQuadOp \- Quad Crossover using an Atom Crossover. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFlOrAllAtomQuadOp\fP (\fBeoQuadOp\fP< AtomType > &_op, double _rate=1)" -.br -.RI "\fIdefault ctor: requires an Atom QuadOp \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIapplies Atom crossover to ALL components with given rate \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrate\fP" -.br -.ti -1c -.RI "\fBeoQuadOp\fP< AtomType > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOrAllAtomQuadOp< EOT >" -Quad Crossover using an Atom Crossover. -.PP -Definition at line 46 of file eoFlOrQuadOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllMutation.3 deleted file mode 100644 index ec517d23e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOrAllMutation.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoFlOrAllMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOrAllMutation \- applies an atomic mutation to all the components with a given rate - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFlOrAllMutation\fP (\fBeoMonOp\fP< AtomType > &_atomMutation, double _rate=1.0)" -.br -.RI "\fIdefault ctor: requires an Atom mutation and a rate \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIapplies the atom mutation to all components with given rate \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoMonOp\fP< AtomType > & \fBatomMutation\fP" -.br -.ti -1c -.RI "double \fBrate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOrAllMutation< EOT >" -applies an atomic mutation to all the components with a given rate -.PP -Definition at line 45 of file eoFlOrMonOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOrKAtomBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOrKAtomBinOp.3 deleted file mode 100644 index e82e068f8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOrKAtomBinOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoFlOrKAtomBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOrKAtomBinOp \- Bin Crossover using an Atom Crossover that is applied to a FIXED NB of components. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFlOrAtomBinOp\fP (\fBeoBinOp\fP< AtomType > &_op, unsigned _k=1)" -.br -.RI "\fIdefault ctor: requires an Atom BinOp and an unsigned \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, const \fBEOT\fP &_eo2)" -.br -.RI "\fIapplies the Atom BinOp to some components \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBk\fP" -.br -.ti -1c -.RI "\fBeoBinOp\fP< AtomType > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOrKAtomBinOp< EOT >" -Bin Crossover using an Atom Crossover that is applied to a FIXED NB of components. -.PP -Definition at line 92 of file eoFlOrBinOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOrKAtomQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOrKAtomQuadOp.3 deleted file mode 100644 index 483cd0682..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOrKAtomQuadOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoFlOrKAtomQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOrKAtomQuadOp \- Quad Crossover using an Atom Crossover that is applied to a FIXED NB of components. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFlOrAtomQuadOp\fP (\fBeoQuadOp\fP< AtomType > &_op, unsigned _k=1)" -.br -.RI "\fIdefault ctor: requires an Atom QuadOp and an unsigned \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, const \fBEOT\fP &_eo2)" -.br -.RI "\fIapplies the Atom QuadOp to some components \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBk\fP" -.br -.ti -1c -.RI "\fBeoQuadOp\fP< AtomType > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOrKAtomQuadOp< EOT >" -Quad Crossover using an Atom Crossover that is applied to a FIXED NB of components. -.PP -Definition at line 84 of file eoFlOrQuadOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOrKMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOrKMutation.3 deleted file mode 100644 index 583529db4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOrKMutation.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoFlOrKMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOrKMutation \- Applies an atomic mutation to a fixed number of components (1 by default). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFlOrKMutation\fP (\fBeoMonOp\fP< AtomType > &_atomMutation, unsigned _nb=1)" -.br -.RI "\fIdefault ctor: requires an Atom mutation \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIapplies the atom mutation to K randomly selected components \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBnb\fP" -.br -.ti -1c -.RI "\fBeoMonOp\fP< AtomType > & \fBatomMutation\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOrKMutation< EOT >" -Applies an atomic mutation to a fixed number of components (1 by default). -.PP -Definition at line 82 of file eoFlOrMonOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOrUniformBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOrUniformBinOp.3 deleted file mode 100644 index e558acbb4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOrUniformBinOp.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoFlOrUniformBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOrUniformBinOp \- The uniform crossover - exchanges atoms uniformly ! - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFlOrUniformBinOp\fP (double _rate=0.5)" -.br -.RI "\fIdefault ctor: requires a rate - 0.5 by default \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, const \fBEOT\fP &_eo2)" -.br -.RI "\fIexcahnges atoms at given rate \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOrUniformBinOp< EOT >" -The uniform crossover - exchanges atoms uniformly ! -.PP -Definition at line 136 of file eoFlOrBinOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFlOrUniformQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoFlOrUniformQuadOp.3 deleted file mode 100644 index 7a8ce0051..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFlOrUniformQuadOp.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoFlOrUniformQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFlOrUniformQuadOp \- The uniform crossover - exchanges atoms uniformly ! - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVlUniformQuadOp\fP (double _rate=0.5)" -.br -.RI "\fIdefault ctor: requires a rate - 0.5 by default \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIexcahnges atoms at given rate \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoFlOrUniformQuadOp< EOT >" -The uniform crossover - exchanges atoms uniformly ! -.PP -Definition at line 127 of file eoFlOrQuadOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase.3 b/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase.3 deleted file mode 100644 index da71bab51..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase.3 +++ /dev/null @@ -1,42 +0,0 @@ -.TH "eoFunctorBase" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFunctorBase \- Base class for functors to get a nice hierarchy diagram. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoBF< A1, A2, R >\fP, \fBeoBF< AtomType &, AtomType &, bool >\fP, \fBeoBF< AtomType &, const AtomType &, bool >\fP, \fBeoBF< Chrom &, Chrom &, bool >\fP, \fBeoBF< const Dummy &, const Dummy &, double >\fP, \fBeoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void >\fP, \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP, \fBeoBF< const eoPop< eoVector< FitT, double > > &, eoPop< eoVector< FitT, double > > &, void >\fP, \fBeoBF< const EOT &, const EOT &, double >\fP, \fBeoBF< double &, const double &, bool >\fP, \fBeoBF< eoDistribution< EOT > &, eoPop< EOT > &, void >\fP, \fBeoBF< eoParseTree< FType, Node > &, eoParseTree< FType, Node > &, bool >\fP, \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP, \fBeoBF< eoPop< EOT > &, unsigned, void >\fP, \fBeoBF< eoPop< EoType > &, eoPop< EoType > &, void >\fP, \fBeoBF< eoPop< PyEO > &, unsigned, void >\fP, \fBeoBF< EOT &, const EOT &, bool >\fP, \fBeoBF< EOT &, EOT &, bool >\fP, \fBeoBF< EOType &, const EOType &, bool >\fP, \fBeoBF< EoType &, const EoType &, bool >\fP, \fBeoBF< EoType &, EoType &, bool >\fP, \fBeoBF< EOType &, EOType &, bool >\fP, \fBeoBF< eoVirus< FitT > &, const eoVirus< FitT > &, bool >\fP, \fBeoBF< ExternalEO &, const ExternalEO &, bool >\fP, \fBeoBF< ExternalEO &, ExternalEO &, bool >\fP, \fBeoBF< GenotypeT &, GenotypeT &, bool >\fP, \fBeoBF< PyEO &, const PyEO &, bool >\fP, \fBeoBF< PyEO &, PyEO &, bool >\fP, \fBeoBF< unsigned, Atom &, bool >\fP, \fBeoBF< unsigned, AtomType &, bool >\fP, \fBeoF< R >\fP, \fBeoF< AtomType >\fP, \fBeoF< bool >\fP, \fBeoF< eoMonitor & >\fP, \fBeoF< EOT >\fP, \fBeoF< int >\fP, \fBeoF< T >\fP, \fBeoF< void >\fP, \fBeoUF< A1, R >\fP, \fBeoUF< AtomType &, bool >\fP, \fBeoUF< AtomType &, void >\fP, \fBeoUF< bool &, bool >\fP, \fBeoUF< bool &, void >\fP, \fBeoUF< Chrom &, bool >\fP, \fBeoUF< Chrom &, void >\fP, \fBeoUF< const eoPop< EOT > &, bool >\fP, \fBeoUF< const eoPop< EOT > &, const EOT & >\fP, \fBeoUF< const eoPop< EOT > &, void >\fP, \fBeoUF< const eoPop< EoType > &, void >\fP, \fBeoUF< const eoPop< PyEO > &, const PyEO & >\fP, \fBeoUF< const eoPop< PyEO > &, void >\fP, \fBeoUF< const std::vector< const EOT * > &, void >\fP, \fBeoUF< const std::vector< const EoType * > &, void >\fP, \fBeoUF< const std::vector< const PyEO * > &, void >\fP, \fBeoUF< eoDistribution< EOT > &, void >\fP, \fBeoUF< eoDouble &, bool >\fP, \fBeoUF< eoDouble &, void >\fP, \fBeoUF< eoParseTree< FitnessType, Node > &, void >\fP, \fBeoUF< eoParseTree< FType, Node > &, bool >\fP, \fBeoUF< eoParseTree< FType, Node > &, void >\fP, \fBeoUF< eoPop< EOT > &, void >\fP, \fBeoUF< eoPopulator< EOT > &, void >\fP, \fBeoUF< eoPopulator< PyEO > &, void >\fP, \fBeoUF< EOT &, bool >\fP, \fBeoUF< EOT &, unsigned int >\fP, \fBeoUF< EOT &, void >\fP, \fBeoUF< EoType &, bool >\fP, \fBeoUF< EOType &, bool >\fP, \fBeoUF< EoType &, void >\fP, \fBeoUF< eoVector< FitT, double > &, void >\fP, \fBeoUF< eoVirus< FitT > &, bool >\fP, \fBeoUF< eoVirus< FitT > &, void >\fP, \fBeoUF< ExternalEO &, bool >\fP, \fBeoUF< ExternalEO &, void >\fP, \fBeoUF< GenotypeT &, bool >\fP, \fBeoUF< GenotypeT &, void >\fP, \fBeoUF< int &, void >\fP, \fBeoUF< PyEO &, bool >\fP, and \fBeoUF< T &, void >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoFunctorBase\fP ()" -.br -.RI "\fIvirtual dtor here so there is no need to define it in derived classes \fP" -.in -1c -.SH "Detailed Description" -.PP -Base class for functors to get a nice hierarchy diagram. - -That's actually quite an understatement as it does quite a bit more than just that. By having all functors derive from the same base class, we can do some memory management that would otherwise be very hard. -.PP -The memory management base class is called \fBeoFunctorStore\fP, and it supports a member add() to add a pointer to a functor. When the functorStore is destroyed, it will delete all those pointers. So beware: do not delete the functorStore before you are done with anything that might have been allocated. -.PP -\fBSee also:\fP -.RS 4 -\fBeoFunctorStore\fP -.RE -.PP - -.PP -Definition at line 46 of file eoFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_binary_function_tag.3 b/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_binary_function_tag.3 deleted file mode 100644 index 6bb82c339..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_binary_function_tag.3 +++ /dev/null @@ -1,21 +0,0 @@ -.TH "eoFunctorBase::binary_function_tag" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFunctorBase::binary_function_tag \- tag to identify a binary function in compile time function selection functor_category - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SH "Detailed Description" -.PP -tag to identify a binary function in compile time function selection functor_category -.PP -Definition at line 57 of file eoFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_procedure_tag.3 b/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_procedure_tag.3 deleted file mode 100644 index b3a1e2a6d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_procedure_tag.3 +++ /dev/null @@ -1,21 +0,0 @@ -.TH "eoFunctorBase::procedure_tag" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFunctorBase::procedure_tag \- tag to identify a procedure in compile time function selection functor_category - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SH "Detailed Description" -.PP -tag to identify a procedure in compile time function selection functor_category -.PP -Definition at line 53 of file eoFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_unary_function_tag.3 b/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_unary_function_tag.3 deleted file mode 100644 index 8900087cc..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFunctorBase_unary_function_tag.3 +++ /dev/null @@ -1,21 +0,0 @@ -.TH "eoFunctorBase::unary_function_tag" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFunctorBase::unary_function_tag \- tag to identify a unary function in compile time function selection functor_category - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SH "Detailed Description" -.PP -tag to identify a unary function in compile time function selection functor_category -.PP -Definition at line 55 of file eoFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoFunctorStore.3 b/trunk/paradiseo-eo/doc/man/man3/eoFunctorStore.3 deleted file mode 100644 index a0cb58f21..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoFunctorStore.3 +++ /dev/null @@ -1,60 +0,0 @@ -.TH "eoFunctorStore" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoFunctorStore \- eoFunctorStore is a class that stores functors that are allocated on the heap. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoState\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFunctorStore\fP ()" -.br -.RI "\fIDefault Ctor. \fP" -.ti -1c -.RI "virtual \fB~eoFunctorStore\fP ()" -.br -.RI "\fIclears the memory \fP" -.ti -1c -.RI "template Functor & \fBstoreFunctor\fP (Functor *r)" -.br -.RI "\fIAdd an \fBeoFunctorBase\fP to the store. \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFunctorStore\fP (const \fBeoFunctorStore\fP &)" -.br -.RI "\fIno copying allowed \fP" -.ti -1c -.RI "\fBeoFunctorStore\fP \fBoperator=\fP (const \fBeoFunctorStore\fP &)" -.br -.RI "\fIno copying allowed \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< \fBeoFunctorBase\fP * > \fBvec\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -eoFunctorStore is a class that stores functors that are allocated on the heap. - -This class can be used in factories to store allocated memory for dynamically created functors. -.PP -Definition at line 39 of file eoFunctorStore.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoG3Replacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoG3Replacement.3 deleted file mode 100644 index cf5ad9c62..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoG3Replacement.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoG3Replacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoG3Replacement \- eoG3Replacement is an \fBeoReplacement\fP: - no strong elitism (is suppposed to be within a steady-state engine) - choose N (2) parents RANDOMLY - remove them from the parent population - merge offspring and the N removed parents - select best N of this merged population - put them back into parent population - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReplacement< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoG3Replacement\fP (\fBeoHowMany\fP _howManyEliminatedParents=\fBeoHowMany\fP(2, false))" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoLinearTruncateSplit\fP< \fBEOT\fP > \fBsplit\fP" -.br -.ti -1c -.RI "\fBeoTruncateSplit\fP< \fBEOT\fP > \fBreduce\fP" -.br -.ti -1c -.RI "\fBeoPlus\fP< \fBEOT\fP > \fBplus\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoG3Replacement< EOT >" -eoG3Replacement is an \fBeoReplacement\fP: - no strong elitism (is suppposed to be within a steady-state engine) - choose N (2) parents RANDOMLY - remove them from the parent population - merge offspring and the N removed parents - select best N of this merged population - put them back into parent population -.PP -Definition at line 50 of file eoG3Replacement.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGenContinue.3 b/trunk/paradiseo-eo/doc/man/man3/eoGenContinue.3 deleted file mode 100644 index d3ec74f22..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGenContinue.3 +++ /dev/null @@ -1,117 +0,0 @@ -.TH "eoGenContinue" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGenContinue \- Generational continuator: continues until a number of generations is reached. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoContinue< EOT >< EOT >\fP, and \fBeoValueParam< unsigned >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoGenContinue\fP (unsigned long _totalGens)" -.br -.RI "\fICtor for setting a. \fP" -.ti -1c -.RI "\fBeoGenContinue\fP (unsigned long _totalGens, unsigned long &_currentGen)" -.br -.RI "\fICtor for enabling the save/load the no. of generations counted. \fP" -.ti -1c -.RI "virtual bool \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_vEO)" -.br -.RI "\fIReturns false when a certain number of generations is reached. \fP" -.ti -1c -.RI "virtual void \fBtotalGenerations\fP (unsigned long _tg)" -.br -.RI "\fISets the number of generations to reach and sets the current generation to 0 (the begin). \fP" -.ti -1c -.RI "virtual unsigned long \fBtotalGenerations\fP ()" -.br -.RI "\fIReturns the number of generations to reach. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &__is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &__os) const " -.br -.RI "\fIWrite object. \fP" -.in -1c -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "bool \fBverbose\fP" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned long \fBrepTotalGenerations\fP" -.br -.ti -1c -.RI "unsigned long \fBthisGenerationPlaceHolder\fP" -.br -.ti -1c -.RI "unsigned long & \fBthisGeneration\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoGenContinue< EOT >" -Generational continuator: continues until a number of generations is reached. -.PP -Definition at line 34 of file eoGenContinue.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoGenContinue\fP< \fBEOT\fP >::readFrom (std::istream & __is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_std::exception\fP If a valid object can't be read. -.RE -.PP - -.PP -Reimplemented from \fBeoContinue< EOT >\fP. -.PP -Definition at line 83 of file eoGenContinue.h. -.SS "template void \fBeoGenContinue\fP< \fBEOT\fP >::printOn (std::ostream & __os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Reimplemented from \fBeoContinue< EOT >\fP. -.PP -Definition at line 88 of file eoGenContinue.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGenOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoGenOp.3 deleted file mode 100644 index a9e84af03..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGenOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoGenOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGenOp \- The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the \fBeoMonOp\fP, \fBeoBinOp\fP, \fBeoQuadOp\fP classification. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoOp< EOT >\fP, and \fBeoUF< eoPopulator< EOT > &, void >\fP. -.PP -Inherited by \fBeoBinGenOp< EOT >\fP, \fBeoEsGlobalXover< EOT >\fP, \fBeoMonGenOp< EOT >\fP, \fBeoOpContainer< EOT >\fP, \fBeoPropGAGenOp< EOT >\fP, \fBeoQuadGenOp< EOT >\fP, \fBeoSelBinGenOp< EOT >\fP, \fBeoSGAGenOp< EOT >\fP, one2threeOp, three2threeOp, and two2oneOp. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoGenOp\fP ()" -.br -.RI "\fICtor that honors its superclass. \fP" -.ti -1c -.RI "virtual unsigned \fBmax_production\fP (void)=0" -.br -.RI "\fIMax production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const =0" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)=0" -.br -.RI "\fIthe function that will do the work \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoGenOp< EOT >" -The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the \fBeoMonOp\fP, \fBeoBinOp\fP, \fBeoQuadOp\fP classification. - -The argument the operator will receive is an \fBeoPopulator\fP, which is a wrapper around the original population, is an instantiation of the next population and has often a selection function embedded in it to select new individuals. -.PP -Note that the actual work is performed in the apply function. AND that the apply function is responsible for invalidating the object if necessary -.PP -Definition at line 57 of file eoGenOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGeneDelChooser.3 b/trunk/paradiseo-eo/doc/man/man3/eoGeneDelChooser.3 deleted file mode 100644 index 1c7179050..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGeneDelChooser.3 +++ /dev/null @@ -1,34 +0,0 @@ -.TH "eoGeneDelChooser" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGeneDelChooser \- A helper class for choosing which site to delete. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< EOT &, unsigned int >\fP. -.PP -Inherited by \fBeoUniformGeneChooser< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const =0" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoGeneDelChooser< EOT >" -A helper class for choosing which site to delete. -.PP -Definition at line 85 of file eoVariableLengthMutation.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGeneralBreeder.3 b/trunk/paradiseo-eo/doc/man/man3/eoGeneralBreeder.3 deleted file mode 100644 index 7c04935ab..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGeneralBreeder.3 +++ /dev/null @@ -1,112 +0,0 @@ -.TH "eoGeneralBreeder" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGeneralBreeder \- Base class for breeders using generalized operators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBreed< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoGeneralBreeder\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, \fBeoGenOp\fP< \fBEOT\fP > &_op, double _rate=1.0, bool _interpret_as_rate=true)" -.br -.RI "\fICtor:. \fP" -.ti -1c -.RI "\fBeoGeneralBreeder\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, \fBeoGenOp\fP< \fBEOT\fP > &_op, \fBeoHowMany\fP _howMany)" -.br -.RI "\fICtor:. \fP" -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe breeder: simply calls the genOp on a selective populator! \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBselect\fP" -.br -.ti -1c -.RI "\fBeoGenOp\fP< \fBEOT\fP > & \fBop\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoGeneralBreeder< EOT >" -Base class for breeders using generalized operators. -.PP -Definition at line 46 of file eoGeneralBreeder.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoGeneralBreeder\fP< \fBEOT\fP >::\fBeoGeneralBreeder\fP (\fBeoSelectOne\fP< \fBEOT\fP > & _select, \fBeoGenOp\fP< \fBEOT\fP > & _op, double _rate = \fC1.0\fP, bool _interpret_as_rate = \fCtrue\fP)\fC [inline]\fP" -.PP -Ctor:. -.PP -\fBParameters:\fP -.RS 4 -\fI_select\fP a selectoOne, to be used for all selections -.br -\fI_op\fP a general operator (will generally be an \fBeoOpContainer\fP) -.br -\fI_rate\fP pour howMany, le nbre d'enfants a generer -.br -\fI_interpret_as_rate\fP \fCexplanation\fP -.RE -.PP - -.PP -Definition at line 56 of file eoGeneralBreeder.h. -.SS "template \fBeoGeneralBreeder\fP< \fBEOT\fP >::\fBeoGeneralBreeder\fP (\fBeoSelectOne\fP< \fBEOT\fP > & _select, \fBeoGenOp\fP< \fBEOT\fP > & _op, \fBeoHowMany\fP _howMany)\fC [inline]\fP" -.PP -Ctor:. -.PP -\fBParameters:\fP -.RS 4 -\fI_select\fP a selectoOne, to be used for all selections -.br -\fI_op\fP a general operator (will generally be an \fBeoOpContainer\fP) -.br -\fI_howMany\fP an \fBeoHowMany\fP \fCexplanation\fP -.RE -.PP - -.PP -Definition at line 69 of file eoGeneralBreeder.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoGeneralBreeder\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _parents, \fBeoPop\fP< \fBEOT\fP > & _offspring)\fC [inline, virtual]\fP" -.PP -The breeder: simply calls the genOp on a selective populator! -.PP -\fBParameters:\fP -.RS 4 -\fI_parents\fP the initial population -.br -\fI_offspring\fP the resulting population (content -if any- is lost) -.RE -.PP - -.PP -Implements \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Definition at line 80 of file eoGeneralBreeder.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGeneralIntBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoGeneralIntBounds.3 deleted file mode 100644 index 921e7b8a2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGeneralIntBounds.3 +++ /dev/null @@ -1,123 +0,0 @@ -.TH "eoGeneralIntBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGeneralIntBounds \- A class that encapsulate all possible \fBeoIntBounds\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoIntBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoGeneralIntBounds\fP (std::string _s='[-infinity,+infinity]')" -.br -.RI "\fICtor: from a string, chooses the type of bound. \fP" -.ti -1c -.RI "\fBeoGeneralIntBounds\fP (const \fBeoGeneralIntBounds\fP &_b)" -.br -.RI "\fINeed a Cpy Ctor because we are allocating memory. \fP" -.ti -1c -.RI "\fBeoGeneralIntBounds\fP & \fBoperator=\fP (const \fBeoGeneralIntBounds\fP &_b)" -.br -.ti -1c -.RI "\fB~eoGeneralIntBounds\fP ()" -.br -.RI "\fINeed a Dtor because we allocate an actual bound. \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double _x) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &_x) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &_x) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual long int \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform doubles in bounds ::exception if unbounded \fP" -.ti -1c -.RI "virtual long int \fBrandom\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform ints in bounds ::exception if unbounded \fP" -.ti -1c -.RI "virtual \fBeoIntBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.ti -1c -.RI "const \fBeoIntBounds\fP & \fBtheBounds\fP () const " -.br -.RI "\fIfor efficiency, it's better to use the embedded boud directly \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIdon't forget the printOn method - again that of the embedded bound \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIno readFrom ??? Have to check that later \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoIntBounds\fP * \fBgetBoundsFromString\fP (std::string)" -.br -.RI "\fIthe constructor for eoGeneralIntBound - from a string \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoIntBounds\fP * \fBrepBound\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -A class that encapsulate all possible \fBeoIntBounds\fP. - -Mandatory in order to read through the parser -.PP -Definition at line 541 of file eoIntBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGeneralRealBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoGeneralRealBounds.3 deleted file mode 100644 index f748a752f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGeneralRealBounds.3 +++ /dev/null @@ -1,119 +0,0 @@ -.TH "eoGeneralRealBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGeneralRealBounds \- A class that encapsulate all possible \fBeoIntBounds\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRealBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoGeneralRealBounds\fP (std::string _s='[-infinity,+infinity]')" -.br -.RI "\fICtor: from a string, chooses the type of bound. \fP" -.ti -1c -.RI "\fBeoGeneralRealBounds\fP (const \fBeoGeneralRealBounds\fP &_b)" -.br -.RI "\fINeed a Cpy Ctor because we are allocating memory. \fP" -.ti -1c -.RI "\fBeoGeneralRealBounds\fP & \fBoperator=\fP (const \fBeoGeneralRealBounds\fP &_b)" -.br -.ti -1c -.RI "\fB~eoGeneralRealBounds\fP ()" -.br -.RI "\fINeed a Dtor because we allocate an actual bound. \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double _x) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &_x) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &_x) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual double \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds ::exception if unbounded \fP" -.ti -1c -.RI "virtual \fBeoRealBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.ti -1c -.RI "const \fBeoRealBounds\fP & \fBtheBounds\fP () const " -.br -.RI "\fIfor efficiency, it's better to use the embedded boud directly \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIdon't forget the printOn method - again that of the embedded bound \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIno readFrom ??? Have to check that later \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealBounds\fP * \fBgetBoundsFromString\fP (std::string)" -.br -.RI "\fIthe constructor for eoGeneralRealBound - from a string very similar to the \fBeoRealVectorBounds::readFrom\fP above but was written much later so the readFrom does not call this one as it should do \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoRealBounds\fP * \fBrepBound\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -A class that encapsulate all possible \fBeoIntBounds\fP. - -Mandatory in order to read through the parser -.PP -Definition at line 506 of file eoRealBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGenerationalReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoGenerationalReplacement.3 deleted file mode 100644 index a146cc4d9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGenerationalReplacement.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoGenerationalReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGenerationalReplacement \- generational replacement == swap populations - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReplacement< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIswap \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoGenerationalReplacement< EOT >" -generational replacement == swap populations -.PP -Definition at line 84 of file eoReplacement.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGnuplot.3 b/trunk/paradiseo-eo/doc/man/man3/eoGnuplot.3 deleted file mode 100644 index 4d1abeddf..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGnuplot.3 +++ /dev/null @@ -1,143 +0,0 @@ -.TH "eoGnuplot" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGnuplot \- Base class for calls to gnuplot. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoGnuplot1DMonitor\fP, and \fBeoGnuplot1DSnapshot\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoGnuplot\fP (std::string _title, std::string _extra=std::string(''))" -.br -.RI "\fIOpen pipe to Gnuplot. \fP" -.ti -1c -.RI "virtual \fB~eoGnuplot\fP ()" -.br -.RI "\fIDestructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIClass name. \fP" -.ti -1c -.RI "void \fBgnuplotCommand\fP (const char *_command)" -.br -.RI "\fISend command to gnuplot. \fP" -.ti -1c -.RI "void \fBgnuplotCommand\fP (std::string _command)" -.br -.RI "\fISend command to gnuplot. \fP" -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBinitGnuPlot\fP (std::string _title, std::string _extra)" -.br -.RI "\fIInitialize gnuplot. \fP" -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "bool \fBfirstTime\fP" -.br -.RI "\fIThe stats might be unknown in Ctor. \fP" -.ti -1c -.RI "PCom * \fBgpCom\fP" -.br -.RI "\fICommunication with gnuplot OK. \fP" -.in -1c -.SS "Static Protected Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBnumWindow\fP = 0" -.br -.RI "\fIInternal counter for gnuplot windows. \fP" -.in -1c -.SH "Detailed Description" -.PP -Base class for calls to gnuplot. - -This class is the abstract class that will be used by further gnuplot calls to plots what is already written by some \fBeoMonitor\fP into a file -.PP -\fBAuthor:\fP -.RS 4 -Marc Schoenauer -.RE -.PP -\fBVersion:\fP -.RS 4 -0.0 (2001) -.RE -.PP - -.PP -Definition at line 38 of file eoGnuplot.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "eoGnuplot::eoGnuplot (std::string _title, std::string _extra = \fCstd::string('')\fP)" -.PP -Open pipe to Gnuplot. -.PP -\fBParameters:\fP -.RS 4 -\fI_title\fP Title for gnuplot window. -.br -\fI_extra\fP Extra parameters to gnuplot (default ). -.RE -.PP - -.PP -Definition at line 37 of file eoGnuplot.cpp. -.PP -References initGnuPlot(). -.SS "eoGnuplot::~\fBeoGnuplot\fP ()\fC [virtual]\fP" -.PP -Destructor. -.PP -Close the gnuplot windows if pipe was correctly opened -.PP -Definition at line 45 of file eoGnuplot.cpp. -.PP -References gpCom. -.SH "Member Function Documentation" -.PP -.SS "void eoGnuplot::gnuplotCommand (std::string _command)\fC [inline]\fP" -.PP -Send command to gnuplot. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Definition at line 66 of file eoGnuplot.h. -.SS "void eoGnuplot::initGnuPlot (std::string _title, std::string _extra)\fC [protected]\fP" -.PP -Initialize gnuplot. -.PP -\fBParameters:\fP -.RS 4 -\fI_title\fP Title for gnuplot window. -.br -\fI_extra\fP Extra parameters to gnuplot. -.RE -.PP - -.PP -Definition at line 70 of file eoGnuplot.cpp. -.PP -References gpCom, and numWindow. -.PP -Referenced by eoGnuplot(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGnuplot1DMonitor.3 b/trunk/paradiseo-eo/doc/man/man3/eoGnuplot1DMonitor.3 deleted file mode 100644 index b05838cc1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGnuplot1DMonitor.3 +++ /dev/null @@ -1,62 +0,0 @@ -.TH "eoGnuplot1DMonitor" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGnuplot1DMonitor \- Plot \fBeoStat\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFileMonitor\fP, and \fBeoGnuplot\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoGnuplot1DMonitor\fP (std::string _filename, bool _top=false)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual \fB~eoGnuplot1DMonitor\fP ()" -.br -.RI "\fIDestructor. \fP" -.ti -1c -.RI "virtual \fBeoMonitor\fP & \fBoperator()\fP ()" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual void \fBFirstPlot\fP ()" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIClass name. \fP" -.in -1c -.SH "Detailed Description" -.PP -Plot \fBeoStat\fP. - -\fBAuthor:\fP -.RS 4 -Marc Schoenauer -.RE -.PP -\fBVersion:\fP -.RS 4 -0.0 (2000) -.RE -.PP -This class plots through gnuplot the \fBeoStat\fP given as argument -.PP -eoGnuplot1DMonitor plots stats through gnuplot -.PP -Assumes that the same file is appened every so and so, and replots it everytime -.PP -Definition at line 47 of file eoGnuplot1DMonitor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoGnuplot1DSnapshot.3 b/trunk/paradiseo-eo/doc/man/man3/eoGnuplot1DSnapshot.3 deleted file mode 100644 index 7954068ed..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoGnuplot1DSnapshot.3 +++ /dev/null @@ -1,74 +0,0 @@ -.TH "eoGnuplot1DSnapshot" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoGnuplot1DSnapshot \- Plot stats through gnuplot. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFileSnapshot\fP, and \fBeoGnuplot\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoGnuplot1DSnapshot\fP (std::string _dirname, unsigned _frequency=1, std::string _filename='gen', std::string _delim=' ', unsigned _counter=0, bool _rmFiles=true)" -.br -.ti -1c -.RI "\fBeoGnuplot1DSnapshot\fP (std::string _dirname, \fBeoRealVectorBounds\fP &_bounds, unsigned _frequency=1, std::string _filename='gen', std::string _delim=' ', unsigned _counter=0, bool _rmFiles=true)" -.br -.ti -1c -.RI "\fBeoGnuplot1DSnapshot\fP (\fBeoFileSnapshot\fP &_fSnapshot)" -.br -.ti -1c -.RI "\fBeoGnuplot1DSnapshot\fP (\fBeoFileSnapshot\fP &_fSnapshot, \fBeoRealVectorBounds\fP &_bounds)" -.br -.ti -1c -.RI "virtual \fBeoMonitor\fP & \fBoperator()\fP ()" -.br -.RI "\fIThe operator(void): opens the std::ostream and calls the write method. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIClass name. \fP" -.ti -1c -.RI "virtual void \fBhandleBounds\fP (\fBeoRealVectorBounds\fP &_bounds)" -.br -.ti -1c -.RI "void \fBsetPointSize\fP (unsigned _pointSize)" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBpointSize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Plot stats through gnuplot. - -\fBAuthor:\fP -.RS 4 -Marc Schoenauer 2000 -.RE -.PP -\fBVersion:\fP -.RS 4 -0.0 -.RE -.PP -This class plots through gnuplot the \fBeoStat\fP given as argument -.PP -Assumes that the same file is re-written every so and so, and plots it from scratch everytime it's called -.PP -Definition at line 51 of file eoGnuplot1DSnapshot.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoHammingDistance.3 b/trunk/paradiseo-eo/doc/man/man3/eoHammingDistance.3 deleted file mode 100644 index aba5ab24e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoHammingDistance.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoHammingDistance" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoHammingDistance \- This is a generic class for L1 distance computation: assumes the 2 things are std::vectors of something that is double-castable For bitstrings, this is the Hamming distance. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoDistance< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "double \fBoperator()\fP (const \fBEOT\fP &_v1, const \fBEOT\fP &_v2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoHammingDistance< EOT >" -This is a generic class for L1 distance computation: assumes the 2 things are std::vectors of something that is double-castable For bitstrings, this is the Hamming distance. -.PP -Definition at line 66 of file eoDistance.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoHoistMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoHoistMutation.3 deleted file mode 100644 index ec00d9802..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoHoistMutation.3 +++ /dev/null @@ -1,81 +0,0 @@ -.TH "eoHoistMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoHoistMutation \- eoHoistMutation --> replace the individual with one of its subtree's - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoHoistMutation\fP ()" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "virtual \fB~eoHoistMutation\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1)" -.br -.RI "\fIMutate an individual. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoHoistMutation< FType, Node >" -eoHoistMutation --> replace the individual with one of its subtree's -.PP -Definition at line 336 of file eoParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoHoistMutation\fP< FType, Node >::\fBeoHoistMutation\fP ()\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fInone\fP .RE -.PP - -.PP -Definition at line 345 of file eoParseTreeOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoHoistMutation\fP< FType, Node >::operator() (\fBEoType\fP & _eo1)\fC [inline]\fP" -.PP -Mutate an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The individual that is to be changed -.RE -.PP - -.PP -Definition at line 358 of file eoParseTreeOp.h. -.PP -References eoRng::random(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoHowMany.3 b/trunk/paradiseo-eo/doc/man/man3/eoHowMany.3 deleted file mode 100644 index a4f19faa5..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoHowMany.3 +++ /dev/null @@ -1,160 +0,0 @@ -.TH "eoHowMany" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoHowMany \- A helper class, to determine a number of individuals from another one Typically, is used in selection / replacement procedures, e.g. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPersistent\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoHowMany\fP (double _rate=0.0, bool _interpret_as_rate=true)" -.br -.RI "\fIOriginal Ctor from direct rate + bool. \fP" -.ti -1c -.RI "\fBeoHowMany\fP (int _combien)" -.br -.RI "\fICtor from an int - both from int and unsigned int are needed to avoid ambiguity with the Ctor from a double. \fP" -.ti -1c -.RI "\fBeoHowMany\fP (unsigned int _combien)" -.br -.RI "\fICtor from an unsigned int - both from int and unsigned int are needed to avoid ambiguity with the Ctor from a double. \fP" -.ti -1c -.RI "virtual \fB~eoHowMany\fP ()" -.br -.RI "\fIVirtual dtor. They are needed in virtual class hierarchies. \fP" -.ti -1c -.RI "unsigned int \fBoperator()\fP (unsigned int _size)" -.br -.RI "\fIDoes what it was designed for combien==0 : return rate*_size else combien>0 : return combien (regardless of _size) combien<0 : return _size-|combien|. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "void \fBreadFrom\fP (std::string _value)" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBoperator-\fP ()" -.br -.RI "\fIThe unary - operator: reverses the computation. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrate\fP" -.br -.ti -1c -.RI "int \fBcombien\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -A helper class, to determine a number of individuals from another one Typically, is used in selection / replacement procedures, e.g. - -the number of offspring from the number of parents, or the number of survivors for an \fBeoReduce\fP functor, ... -.PP -Such construct is very useful because in some cases you might not know the population size that will enter the replacement. For instance, you cannot simply have a pre-computed (double) rate of 1/popSize if you want to select or kill just 1 guy. Using an eoHowMany allows one to modify the population size without touching anything else. -.PP -There are 4 possible way to compute the return value from the argument: -.IP "\(bu" 2 -an absolute POSITIVE integer --> return it (regardless of popsize) -.IP "\(bu" 2 -a POSITIVE rate --> return rate*popSize -.IP "\(bu" 2 -an absolute NEGATIVE integer --> return popsize-rate (if positive) -.IP "\(bu" 2 -a NEGATIVE rate in [-1,0] --> store and use 1-|rate| (positive) Note that a negative rate should be have been necessary because a rate is relative, but it is there for consistency reasons - and because it is needed in \fCeoG3Replacement\fP -.PP -.PP -It has 2 private members, a double and an integer to cover all cases -.PP -Example use: in \fCeoGeneralBreeder.h\fP Example reading from parser: in \fCdo/make_algo_scalar.h line 141\fP -.PP -MS 10/04/2002: Added the possibility to have a negative number - when treated as a number: returns then (size - combien) Should not modify anything when a positive number is passed in the ctor -.PP -MS 20/06/2002: Added the negative rate and the \fBoperator-()\fP (for eoG3Repalcement) -.PP -It is an \fBeoPersistent\fP because we need to be able to use eoParamValue -.PP -Definition at line 69 of file eoHowMany.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "eoHowMany::eoHowMany (double _rate = \fC0.0\fP, bool _interpret_as_rate = \fCtrue\fP)\fC [inline]\fP" -.PP -Original Ctor from direct rate + bool. -.PP -\fBParameters:\fP -.RS 4 -\fIrate\fP the rate, OR the integer to store, depending on 2nd arg. -.br -\fI_interpret_as_rate\fP to tell whether the rate actually is a rate -.RE -.PP - -.PP -Definition at line 76 of file eoHowMany.h. -.SH "Member Function Documentation" -.PP -.SS "unsigned int eoHowMany::operator() (unsigned int _size)\fC [inline]\fP" -.PP -Does what it was designed for combien==0 : return rate*_size else combien>0 : return combien (regardless of _size) combien<0 : return _size-|combien|. -.PP -.IP "\(bu" 2 -* - * - * - -.PP - -.PP -Definition at line 114 of file eoHowMany.h. -.SS "virtual void eoHowMany::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 130 of file eoHowMany.h. -.SS "virtual void eoHowMany::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_std::exception\fP If a valid object can't be read. -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 140 of file eoHowMany.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoIncrementor.3 b/trunk/paradiseo-eo/doc/man/man3/eoIncrementor.3 deleted file mode 100644 index 5822abfe9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoIncrementor.3 +++ /dev/null @@ -1,50 +0,0 @@ -.TH "eoIncrementor" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoIncrementor \- an \fBeoUpdater\fP that simply increments a counter - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUpdater\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoIncrementor\fP (T &_counter, T _stepsize=1)" -.br -.RI "\fIDefault Ctor - requires a reference to the thing to increment. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP ()" -.br -.RI "\fISimply increments. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T & \fBcounter\fP" -.br -.ti -1c -.RI "T \fBstepsize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoIncrementor< T >" -an \fBeoUpdater\fP that simply increments a counter -.PP -Definition at line 50 of file eoUpdater.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoIncrementorParam.3 b/trunk/paradiseo-eo/doc/man/man3/eoIncrementorParam.3 deleted file mode 100644 index efc2b8c56..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoIncrementorParam.3 +++ /dev/null @@ -1,51 +0,0 @@ -.TH "eoIncrementorParam" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoIncrementorParam \- an \fBeoUpdater\fP that is an \fBeoValueParam\fP (and thus OWNS its counter) Mandatory for generation counter in make_checkpoint - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUpdater\fP, and \fBeoValueParam< T >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoIncrementorParam\fP (std::string _name, T _stepsize=1)" -.br -.RI "\fIDefault Ctor : a name and optionally an increment. \fP" -.ti -1c -.RI "\fBeoIncrementorParam\fP (std::string _name, T _countValue, T _stepsize)" -.br -.RI "\fICtor with a name and non-zero initial value and mandatory stepSize to remove ambiguity. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP ()" -.br -.RI "\fISimply increments. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBstepsize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoIncrementorParam< T >" -an \fBeoUpdater\fP that is an \fBeoValueParam\fP (and thus OWNS its counter) Mandatory for generation counter in make_checkpoint -.PP -Definition at line 71 of file eoUpdater.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoInit.3 deleted file mode 100644 index 52745b968..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInit.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInit \- Base (name) class for Initialization of chromosomes, used in a population contructor. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< EOT &, void >\fP. -.PP -Inherited by \fBeoCombinedInit< EOT >\fP, \fBeoDistribution< EOT >\fP, \fBeoInitFixedLength< EOT >\fP, \fBeoInitVariableLength< EOT >\fP, and \fBeoRealInitBounded< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.RI "\fIclassName: Mandatory because of \fBeoCombinedInit\fP. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInit< EOT >" -Base (name) class for Initialization of chromosomes, used in a population contructor. - -It is derived from \fBeoMonOp\fP, so it can be used inside the algorithm as well. -.PP -\fBSee also:\fP -.RS 4 -\fBeoPop\fP -.RE -.PP - -.PP -Definition at line 45 of file eoInit.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoInit\fP< \fBEOT\fP >::className (void) const\fC [inline, virtual]\fP" -.PP -className: Mandatory because of \fBeoCombinedInit\fP. -.PP -SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 -.PP -Reimplemented in \fBeoCombinedInit< EOT >\fP, \fBeoPBILDistrib< EOT >\fP, \fBeoParseTreeDepthInit< FType, Node >\fP, and \fBeoStParseTreeDepthInit< FType, Node >\fP. -.PP -Definition at line 52 of file eoInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInitAdaptor.3 b/trunk/paradiseo-eo/doc/man/man3/eoInitAdaptor.3 deleted file mode 100644 index c25c6f1cf..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInitAdaptor.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoInitAdaptor" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInitAdaptor \- eoInitAdaptor changes the place in the hierarchy from \fBeoInit\fP to \fBeoMonOp\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInitAdaptor\fP (\fBeoInit\fP< \fBEOT\fP > &_init)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eot)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoInit\fP< \fBEOT\fP > & \fBinit\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInitAdaptor< EOT >" -eoInitAdaptor changes the place in the hierarchy from \fBeoInit\fP to \fBeoMonOp\fP. - -This is mainly a type conversion, nothing else -.PP -\fBSee also:\fP -.RS 4 -\fBeoInit\fP, \fBeoMonOp\fP -.RE -.PP - -.PP -Definition at line 157 of file eoInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInitFixedLength.3 b/trunk/paradiseo-eo/doc/man/man3/eoInitFixedLength.3 deleted file mode 100644 index 7c0b96274..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInitFixedLength.3 +++ /dev/null @@ -1,54 +0,0 @@ -.TH "eoInitFixedLength" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInitFixedLength \- Initializer for fixed length representations with a single type. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInitFixedLength\fP (unsigned _combien, \fBeoRndGenerator\fP< AtomType > &_generator)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &chrom)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBcombien\fP" -.br -.ti -1c -.RI "\fBeoSTLF\fP< AtomType > \fBgenerator\fP" -.br -.RI "\fIgeneric wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInitFixedLength< EOT >" -Initializer for fixed length representations with a single type. -.PP -Definition at line 81 of file eoInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInitGenerator.3 b/trunk/paradiseo-eo/doc/man/man3/eoInitGenerator.3 deleted file mode 100644 index 057de4561..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInitGenerator.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoInitGenerator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInitGenerator \- turning an \fBeoInit\fP into a generator probably we should only use genrators - and suppress \fBeoInit\fP ??? MS - July 2001 - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoF< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInitGenerator\fP (\fBeoInit\fP< \fBEOT\fP > &_init)" -.br -.RI "\fICtor from a plain \fBeoInit\fP. \fP" -.ti -1c -.RI "virtual \fBEOT\fP \fBoperator()\fP ()" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoInit\fP< \fBEOT\fP > & \fBinit\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInitGenerator< EOT >" -turning an \fBeoInit\fP into a generator probably we should only use genrators - and suppress \fBeoInit\fP ??? MS - July 2001 -.PP -Definition at line 60 of file eoInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInitVariableLength.3 b/trunk/paradiseo-eo/doc/man/man3/eoInitVariableLength.3 deleted file mode 100644 index 7d50b4b29..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInitVariableLength.3 +++ /dev/null @@ -1,60 +0,0 @@ -.TH "eoInitVariableLength" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInitVariableLength \- Initializer for variable length representations with a single type. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInitVariableLength\fP (unsigned _minSize, unsigned _maxSize, \fBeoInit\fP< AtomType > &_init)" -.br -.RI "\fICtor from an \fBeoInit\fP. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &_chrom)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "\fBeoInit\fP< AtomType > & \fBatomInit\fP ()" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBoffset\fP" -.br -.ti -1c -.RI "unsigned \fBextent\fP" -.br -.ti -1c -.RI "\fBeoInit\fP< AtomType > & \fBinit\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInitVariableLength< EOT >" -Initializer for variable length representations with a single type. -.PP -Definition at line 107 of file eoInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInitVirus.3 b/trunk/paradiseo-eo/doc/man/man3/eoInitVirus.3 deleted file mode 100644 index cb7908a87..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInitVirus.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoInitVirus" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInitVirus \- Initializer for binary chromosome with MGE. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< eoVirus< FitT > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInitVirus\fP (unsigned _combien, \fBeoRndGenerator\fP< bool > &_generator)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (eoVirus< \fBFitT\fP > &chrom)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBcombien\fP" -.br -.ti -1c -.RI "\fBeoSTLF\fP< bool > \fBgenerator\fP" -.br -.RI "\fIgeneric wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInitVirus< FitT >" -Initializer for binary chromosome with MGE. -.PP -Definition at line 41 of file eoInitVirus.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInitVirus1bit.3 b/trunk/paradiseo-eo/doc/man/man3/eoInitVirus1bit.3 deleted file mode 100644 index 989b1fdbb..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInitVirus1bit.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoInitVirus1bit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInitVirus1bit \- Inits the virus with one bit to the left set to one. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< eoVirus< FitT > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInitVirus1bit\fP (unsigned _combien, \fBeoRndGenerator\fP< bool > &_generator)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (eoVirus< \fBFitT\fP > &chrom)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBcombien\fP" -.br -.ti -1c -.RI "\fBeoSTLF\fP< bool > \fBgenerator\fP" -.br -.RI "\fIgeneric wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInitVirus1bit< FitT >" -Inits the virus with one bit to the left set to one. -.PP -Definition at line 66 of file eoInitVirus.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInnerExchangeQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoInnerExchangeQuadOp.3 deleted file mode 100644 index 2ea77a600..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInnerExchangeQuadOp.3 +++ /dev/null @@ -1,59 +0,0 @@ -.TH "eoInnerExchangeQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInnerExchangeQuadOp \- Crossover using an AtomCrossover. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInnerExchangeQuadOp\fP (\fBeoQuadOp\fP< AtomType > &_op, float _rate=0.5)" -.br -.RI "\fIdefault ctor: requires bounds on number of genes + a rate \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIperforms the Atom crossover \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "float \fBrate\fP" -.br -.ti -1c -.RI "\fBeoQuadOp\fP< AtomType > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInnerExchangeQuadOp< EOT >" -Crossover using an AtomCrossover. - -Probably irrelevant in Variable Length - see \fBeoFlOrBinOp.h\fP and \fBeoFlOrQuadOp.h\fP for the similar Fixed Length operators -.PP -Definition at line 172 of file eoVariableLengthCrossover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoIntAboveBound.3 b/trunk/paradiseo-eo/doc/man/man3/eoIntAboveBound.3 deleted file mode 100644 index e3208b292..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoIntAboveBound.3 +++ /dev/null @@ -1,129 +0,0 @@ -.TH "eoIntAboveBound" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoIntAboveBound \- An eoIntBound bounded from above only. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoIntBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoIntAboveBound\fP (long int _max=0)" -.br -.RI "\fISimple bounds = minimum. \fP" -.ti -1c -.RI "virtual long int \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \fP" -.ti -1c -.RI "virtual long int \fBrandom\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double _r) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual \fBeoIntBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "long int \fBrepMaximum\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -An eoIntBound bounded from above only. -.PP -Definition at line 441 of file eoIntBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoIntAboveBound::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. but reading should not be done here, because of bound problems see eoIntVectorBounds -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 512 of file eoIntBounds.h. -.SS "virtual void eoIntAboveBound::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 521 of file eoIntBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoIntBelowBound.3 b/trunk/paradiseo-eo/doc/man/man3/eoIntBelowBound.3 deleted file mode 100644 index 8f619aa70..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoIntBelowBound.3 +++ /dev/null @@ -1,129 +0,0 @@ -.TH "eoIntBelowBound" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoIntBelowBound \- an eoIntBound bounded from below only - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoIntBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoIntBelowBound\fP (long int _min=0)" -.br -.RI "\fISimple bounds = minimum. \fP" -.ti -1c -.RI "virtual long int \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \fP" -.ti -1c -.RI "virtual long int \fBrandom\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double _r) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual \fBeoIntBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "long int \fBrepMinimum\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -an eoIntBound bounded from below only -.PP -Definition at line 344 of file eoIntBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoIntBelowBound::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. but reading should not be done here, because of bound problems see eoIntVectorBounds -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 414 of file eoIntBounds.h. -.SS "virtual void eoIntBelowBound::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 423 of file eoIntBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoIntBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoIntBounds.3 deleted file mode 100644 index 50dd1f27a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoIntBounds.3 +++ /dev/null @@ -1,114 +0,0 @@ -.TH "eoIntBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoIntBounds \- Defines bound classes for real numbers. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPersistent\fP. -.PP -Inherited by \fBeoGeneralIntBounds\fP, \fBeoIntAboveBound\fP, \fBeoIntBelowBound\fP, \fBeoIntInterval\fP, and \fBeoIntNoBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const =0" -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const =0" -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const =0" -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const =0" -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double) const =0" -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &) const =0" -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (long int &i) const " -.br -.RI "\fIfoldsInBounds for ints: call the method for double and convert back \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &) const =0" -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (long int &i) const " -.br -.RI "\fItruncate for ints: call the method for double and convert back \fP" -.ti -1c -.RI "virtual long int \fBminimum\fP () const =0" -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBmaximum\fP () const =0" -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBrange\fP () const =0" -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const =0" -.br -.RI "\fIrandom generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \fP" -.ti -1c -.RI "virtual long int \fBrandom\fP (\fBeoRng\fP &_rng=eo::rng) const =0" -.br -.ti -1c -.RI "virtual \fBeoIntBounds\fP * \fBdup\fP () const =0" -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SH "Detailed Description" -.PP -Defines bound classes for real numbers. - -Scalar type: ------------ Basic class is eoIntBounds, a pure virtual. -.PP -The following pure virtual methods are to be used in mutations: -.IP "\(bu" 2 -void foldsInBounds(long int &) that folds any value that falls out of the bounds back into the bounds, by bouncing on the limit (if any) -.IP "\(bu" 2 -bool isInBounds(long int) that simply says whether or not the argument is in the bounds -.IP "\(bu" 2 -void truncate(long int &) that set the argument to the bound value it it exceeds it -.PP -.PP -So mutation can choose -.IP "\(bu" 2 -iterate trying until they fall in bounds, -.IP "\(bu" 2 -only try once and 'restd::pair' by using the foldsInBounds method -.IP "\(bu" 2 -only try once and restd::pair using the truncate method (will create a huge bias toward the bound if the soluiton is not far from the bounds) -.PP -.PP -There is also a \fBuniform()\fP method that generates a uniform value (if possible, i.e. if bounded) in the interval. -.PP -Derived class are \fBeoIntInterval\fP that holds a minimum and maximum value, \fBeoIntNoBounds\fP the 'unbounded bounds' (-infinity, +infinity) \fBeoIntBelowBound\fP the half-bounded interval [min, +infinity) \fBeoIntAboveBound\fP the half-bounded interval (-infinity, max] -.PP -THis file also contains the declaration of *the* global object that is the unbounded bound -.PP -Definition at line 75 of file eoIntBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoIntInterval.3 b/trunk/paradiseo-eo/doc/man/man3/eoIntInterval.3 deleted file mode 100644 index 8712acca3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoIntInterval.3 +++ /dev/null @@ -1,135 +0,0 @@ -.TH "eoIntInterval" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoIntInterval \- fully bounded eoIntBound == interval - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoIntBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoIntInterval\fP (long int _min=0, long int _max=1)" -.br -.RI "\fISimple bounds = minimum and maximum (allowed). \fP" -.ti -1c -.RI "virtual long int \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \fP" -.ti -1c -.RI "virtual long int \fBrandom\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double _r) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual \fBeoIntBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "long int \fBrepMinimum\fP" -.br -.ti -1c -.RI "long int \fBrepMaximum\fP" -.br -.ti -1c -.RI "long int \fBrepRange\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -fully bounded eoIntBound == interval -.PP -Definition at line 223 of file eoIntBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoIntInterval::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. but reading should not be done here, because of bound problems see eoIntVectorBounds -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 315 of file eoIntBounds.h. -.SS "virtual void eoIntInterval::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 324 of file eoIntBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoIntNoBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoIntNoBounds.3 deleted file mode 100644 index 6bf3f8a6b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoIntNoBounds.3 +++ /dev/null @@ -1,118 +0,0 @@ -.TH "eoIntNoBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoIntNoBounds \- A default class for unbounded variables. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoIntBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual long int \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual long int \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds uses same naming convention than eo::rng ::exception if unbounded \fP" -.ti -1c -.RI "virtual long int \fBrandom\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual \fBeoIntBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SH "Detailed Description" -.PP -A default class for unbounded variables. -.PP -Definition at line 153 of file eoIntBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoIntNoBounds::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. but reading should not be done here, because of bound problems see eoIntVectorBounds -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 195 of file eoIntBounds.h. -.SS "virtual void eoIntNoBounds::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 204 of file eoIntBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInvalidateBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoInvalidateBinOp.3 deleted file mode 100644 index 60b7e99df..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInvalidateBinOp.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoInvalidateBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInvalidateBinOp \- One of the invalidator operators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInvalidateBinOp\fP (\fBeoBinOp\fP< \fBEOT\fP > &_op)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo, const \fBEOT\fP &_eo2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoBinOp\fP< \fBEOT\fP > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInvalidateBinOp< EOT >" -One of the invalidator operators. - -Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual. -.PP -This functor is used in algorithms that work with straight \fBeoMonOp\fP, \fBeoBinOp\fP or \fBeoQuadOp\fP operators, for instance \fBeoSGA\fP. Note that \fBeoGenOp\fP derived operators generally do invalidate the fitness of the objects they have changed. -.PP -Return value means 'Has_Changed' and not 'Needs_To_Be_Invalidated' as successive invalidation are not really a problem -.PP -Definition at line 80 of file eoInvalidateOps.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInvalidateMonOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoInvalidateMonOp.3 deleted file mode 100644 index da3bc7fd3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInvalidateMonOp.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoInvalidateMonOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInvalidateMonOp \- One of the invalidator operators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInvalidateMonOp\fP (\fBeoMonOp\fP< \fBEOT\fP > &_op)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoMonOp\fP< \fBEOT\fP > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInvalidateMonOp< EOT >" -One of the invalidator operators. - -Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual. -.PP -This functor is used in algorithms that work with straight \fBeoMonOp\fP, \fBeoBinOp\fP or \fBeoQuadOp\fP operators, for instance \fBeoSGA\fP. Note that \fBeoGenOp\fP derived operators generally do invalidate the fitness of the objects they have changed. -.PP -Return value means 'Has_Changed' and not 'Needs_To_Be_Invalidated' as successive invalidation are not really a problem -.PP -Definition at line 46 of file eoInvalidateOps.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoInvalidateQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoInvalidateQuadOp.3 deleted file mode 100644 index 993fb87aa..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoInvalidateQuadOp.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoInvalidateQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoInvalidateQuadOp \- One of the invalidator operators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoInvalidateQuadOp\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_op)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoQuadOp\fP< \fBEOT\fP > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoInvalidateQuadOp< EOT >" -One of the invalidator operators. - -Use this one as a 'hat' on an operator that is defined to work on a generic datatype. This functor will then check the return type of the operator and invalidate the fitness of the individual. -.PP -This functor is used in algorithms that work with straight \fBeoMonOp\fP, \fBeoBinOp\fP or \fBeoQuadOp\fP operators, for instance \fBeoSGA\fP. Note that \fBeoGenOp\fP derived operators generally do invalidate the fitness of the objects they have changed. -.PP -Return value means 'Has_Changed' and not 'Needs_To_Be_Invalidated' as successive invalidation are not really a problem -.PP -Definition at line 114 of file eoInvalidateOps.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoLinearFitScaling.3 b/trunk/paradiseo-eo/doc/man/man3/eoLinearFitScaling.3 deleted file mode 100644 index 8ffeb06bf..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoLinearFitScaling.3 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "eoLinearFitScaling" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoLinearFitScaling \- An instance of \fBeoPerf2Worth\fP COmputes the linearly scaled fitnesses with given selective pressure Pselect(Best) == pressure/sizePop Pselect(average) == 1.0/sizePop truncate negative values to 0 -. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPerf2Worth< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoLinearFitScaling\fP (double _p=2.0)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBpressure\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoLinearFitScaling< EOT >" -An instance of \fBeoPerf2Worth\fP COmputes the linearly scaled fitnesses with given selective pressure Pselect(Best) == pressure/sizePop Pselect(average) == 1.0/sizePop truncate negative values to 0 -. - -to be used within an \fBeoSelectFromWorth\fP object -.PP -Definition at line 43 of file eoLinearFitScaling.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoLinearRandomSplit.3 b/trunk/paradiseo-eo/doc/man/man3/eoLinearRandomSplit.3 deleted file mode 100644 index 28f1bea51..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoLinearRandomSplit.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoLinearRandomSplit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoLinearRandomSplit \- random truncation - linear version - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduceSplit< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoLinearRandomSplit\fP (\fBeoHowMany\fP _howMany, bool _returnEliminated=false)" -.br -.RI "\fICtor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, \fBeoPop\fP< \fBEOT\fP > &_eliminated)" -.br -.RI "\fIdo the job \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.ti -1c -.RI "bool \fBreturnEliminated\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoLinearRandomSplit< EOT >" -random truncation - linear version -.PP -Definition at line 163 of file eoReduceSplit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoLinearTruncate.3 b/trunk/paradiseo-eo/doc/man/man3/eoLinearTruncate.3 deleted file mode 100644 index 49210b5d4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoLinearTruncate.3 +++ /dev/null @@ -1,35 +0,0 @@ -.TH "eoLinearTruncate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoLinearTruncate \- a truncate class that does not sort, but repeatidely kills the worse. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduce< EOT >< EOT >\fP. -.PP -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, unsigned _newsize)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoLinearTruncate< EOT >" -a truncate class that does not sort, but repeatidely kills the worse. - -To be used in SSGA-like replacements (e.g. see \fBeoSSGAWorseReplacement\fP) -.PP -Definition at line 167 of file eoReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoLinearTruncateSplit.3 b/trunk/paradiseo-eo/doc/man/man3/eoLinearTruncateSplit.3 deleted file mode 100644 index 66fed4c74..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoLinearTruncateSplit.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoLinearTruncateSplit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoLinearTruncateSplit \- a ReduceSplit class that does not sort, but repeatidely kills the worse. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduceSplit< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoLinearTruncateSplit\fP (\fBeoHowMany\fP _howMany, bool _returnEliminated=false)" -.br -.RI "\fICtor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, \fBeoPop\fP< \fBEOT\fP > &_eliminated)" -.br -.RI "\fIdo the job \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.ti -1c -.RI "bool \fBreturnEliminated\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoLinearTruncateSplit< EOT >" -a ReduceSplit class that does not sort, but repeatidely kills the worse. - -To be used in SSGA-like replacements (e.g. see \fBeoSSGAWorseReplacement\fP) -.PP -Definition at line 87 of file eoReduceSplit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoMGGReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoMGGReplacement.3 deleted file mode 100644 index 08c812716..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoMGGReplacement.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoMGGReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoMGGReplacement \- eoMGGReplacement is an \fBeoReplacement\fP: - choose N (2) parents RANDOMLY - remove them from the parent population - select best offspring, add to parents - merge (other?) offspring and the N removed parents - select best N-1 of this merged population (detTournament only at the moment) - put them back into parent population - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReplacement< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoMGGReplacement\fP (\fBeoHowMany\fP _howManyEliminatedParents=\fBeoHowMany\fP(2, false), unsigned _tSize=2)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoLinearTruncateSplit\fP< \fBEOT\fP > \fBsplit\fP" -.br -.ti -1c -.RI "\fBeoPlus\fP< \fBEOT\fP > \fBplus\fP" -.br -.ti -1c -.RI "unsigned int \fBtSize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoMGGReplacement< EOT >" -eoMGGReplacement is an \fBeoReplacement\fP: - choose N (2) parents RANDOMLY - remove them from the parent population - select best offspring, add to parents - merge (other?) offspring and the N removed parents - select best N-1 of this merged population (detTournament only at the moment) - put them back into parent population -.PP -Definition at line 50 of file eoMGGReplacement.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoMOFitnessStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoMOFitnessStat.3 deleted file mode 100644 index 252744946..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoMOFitnessStat.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoMOFitnessStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoMOFitnessStat \- For multi-objective fitness, we need to translate a stat > into a vector, so each objective gets a seperate stat. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSortedStat< EOT, std::vector< PartFitT > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoMOFitnessStat\fP (unsigned _objective, std::string _description='MO-Fitness')" -.br -.RI "\fICtor: say what component you want. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (const std::vector< const \fBEOT\fP * > &_popPters)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned int \fBobjective\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoMOFitnessStat< EOT, PartFitT >" -For multi-objective fitness, we need to translate a stat > into a vector, so each objective gets a seperate stat. -.PP -Definition at line 64 of file eoMOFitnessStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoMerge.3 b/trunk/paradiseo-eo/doc/man/man3/eoMerge.3 deleted file mode 100644 index 129bc10a4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoMerge.3 +++ /dev/null @@ -1,29 +0,0 @@ -.TH "eoMerge" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoMerge \- eoMerge: Base class for elitist replacement algorithms. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< const eoPop< Chrom > &, eoPop< Chrom > &, void >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoMerge< Chrom >" -eoMerge: Base class for elitist replacement algorithms. - -Merges the old population (first argument), with the new generation -.PP -Its signature is exactly that of the selection base \fBeoSelect\fP, but its purpose is to merge the two populations into one (the second argument). Note that the algorithms assume that the second argument denotes the next generation. -.PP -Definition at line 48 of file eoMerge.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoMergeReduce.3 b/trunk/paradiseo-eo/doc/man/man3/eoMergeReduce.3 deleted file mode 100644 index a76fb4ebc..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoMergeReduce.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoMergeReduce" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoMergeReduce \- eoMergeReduce: abstract replacement strategy that is just an application of an embedded merge, followed by an embedded reduce - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReplacement< EOT >< EOT >\fP. -.PP -Inherited by \fBeoCommaReplacement< EOT >\fP, \fBeoEPReplacement< EOT >\fP, and \fBeoPlusReplacement< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoMergeReduce\fP (\fBeoMerge\fP< \fBEOT\fP > &_merge, \fBeoReduce\fP< \fBEOT\fP > &_reduce)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoMerge\fP< \fBEOT\fP > & \fBmerge\fP" -.br -.ti -1c -.RI "\fBeoReduce\fP< \fBEOT\fP > & \fBreduce\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoMergeReduce< EOT >" -eoMergeReduce: abstract replacement strategy that is just an application of an embedded merge, followed by an embedded reduce -.PP -Definition at line 50 of file eoMergeReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoMonCloneOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoMonCloneOp.3 deleted file mode 100644 index dd4e31cf1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoMonCloneOp.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH "eoMonCloneOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoMonCloneOp \- Mon clone: one argument. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoMonCloneOp\fP ()" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.ti -1c -.RI "virtual bool \fBoperator()\fP (\fBEOT\fP &)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoMonCloneOp< EOT >" -Mon clone: one argument. -.PP -Definition at line 44 of file eoCloneOps.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoMonGenOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoMonGenOp.3 deleted file mode 100644 index 741abb6fe..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoMonGenOp.3 +++ /dev/null @@ -1,50 +0,0 @@ -.TH "eoMonGenOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoMonGenOp \- Wrapper for \fBeoMonOp\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGenOp< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoMonGenOp\fP (\fBeoMonOp\fP< \fBEOT\fP > &_op)" -.br -.ti -1c -.RI "unsigned \fBmax_production\fP (void)" -.br -.RI "\fIMax production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \fP" -.ti -1c -.RI "void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_it)" -.br -.RI "\fIthe function that will do the work \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoMonOp\fP< \fBEOT\fP > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoMonGenOp< EOT >" -Wrapper for \fBeoMonOp\fP. -.PP -Definition at line 85 of file eoGenOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoMonOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoMonOp.3 deleted file mode 100644 index e2bea1345..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoMonOp.3 +++ /dev/null @@ -1,38 +0,0 @@ -.TH "eoMonOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoMonOp \- eoMonOp is the monary operator: genetic operator that takes only one \fBEO\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoOp< EOType >< EOType >\fP, and \fBeoUF< EOType &, bool >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoMonOp\fP ()" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoMonOp< EOType >" -eoMonOp is the monary operator: genetic operator that takes only one \fBEO\fP. - -When defining your own, make sure that you return a boolean value indicating that you have changed the content. -.PP -Definition at line 101 of file eoOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoMonitor.3 b/trunk/paradiseo-eo/doc/man/man3/eoMonitor.3 deleted file mode 100644 index fdee2bc5f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoMonitor.3 +++ /dev/null @@ -1,68 +0,0 @@ -.TH "eoMonitor" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoMonitor \- The abstract monitor class is a std::vector of parameter pointers. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoF< eoMonitor & >\fP. -.PP -Inherited by \fBeoFileMonitor\fP, \fBeoFileSnapshot\fP, \fBeoStdoutMonitor\fP, \fBeoTimedMonitor\fP, and MonitorWrapper. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBlastCall\fP ()" -.br -.ti -1c -.RI "virtual void \fBadd\fP (const \fBeoParam\fP &_param)" -.br -.RI "\fIAdds a parameter to the monitor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Protected Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< const \fBeoParam\fP * >::iterator \fBiterator\fP" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "std::vector< const \fBeoParam\fP * > \fBvec\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -The abstract monitor class is a std::vector of parameter pointers. - -Use either push_back a pointer or add a reference to a parameter. Derived classes will then implement the \fBoperator()(void)\fP which will stream or pipe the current values of the parameters to wherever you want it streamed or piped to. -.PP -Definition at line 46 of file eoMonitor.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoMonitor::add (const \fBeoParam\fP & _param)\fC [inline, virtual]\fP" -.PP -Adds a parameter to the monitor. -.PP -It is virtual so you can do some type checking in derived classes if you must. -.PP -Reimplemented in \fBeoFDCFileSnapshot< EOT >\fP, and \fBeoFileSnapshot\fP. -.PP -Definition at line 56 of file eoMonitor.h. -.PP -Referenced by eoFileSnapshot::add(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNDPlusReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoNDPlusReplacement.3 deleted file mode 100644 index b65b8da62..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNDPlusReplacement.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoNDPlusReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNDPlusReplacement \- An elitist non-dominated sorted replacement scheme. - -.PP -.SH SYNOPSIS -.br -.PP -Inherits \fBeoReplacement< EOT >< EOT >\fP, and \fBeoReplacement< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNDPlusReplacement\fP (\fBeoPerf2Worth\fP< \fBEOT\fP, WorthT > &_perf2worth)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "\fBeoNDPlusReplacement\fP (\fBeoPerf2Worth\fP< \fBEOT\fP, WorthT > &_perf2worth)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoPerf2Worth\fP< \fBEOT\fP, WorthT > & \fBperf2worth\fP" -.br -.ti -1c -.RI "\fBeoPerf2Worth\fP< \fBEOT\fP, WorthT > & \fBperf2worth\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNDPlusReplacement< EOT, WorthT >" -An elitist non-dominated sorted replacement scheme. - -Trying out an elitist non-dominated sorted replacement scheme. -.PP -Definition at line 45 of file make_algo_pareto.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNDSorting.3 b/trunk/paradiseo-eo/doc/man/man3/eoNDSorting.3 deleted file mode 100644 index 9b41bd3ea..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNDSorting.3 +++ /dev/null @@ -1,94 +0,0 @@ -.TH "eoNDSorting" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNDSorting \- Non dominated sorting, it *is a* std::vector of doubles, the integer part is the rank (to which front it belongs), the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into the bits. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPerf2WorthCached< EOT, double >\fP. -.PP -Inherited by \fBeoNDSorting_I< EOT >\fP, and \fBeoNDSorting_II< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNDSorting\fP (bool nasty_flag_=false)" -.br -.ti -1c -.RI "virtual std::vector< double > \fBniche_penalty\fP (const std::vector< unsigned > ¤t_front, const \fBeoPop\fP< \fBEOT\fP > &_pop)=0" -.br -.RI "\fIPure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. \fP" -.ti -1c -.RI "void \fBcalculate_worths\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe actual virtual function the derived classes should implement. \fP" -.in -1c -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "bool \fBnasty_declone_flag_that_only_is_implemented_for_two_objectives\fP" -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBone_objective\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.ti -1c -.RI "void \fBtwo_objectives\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIOptimization for two objectives. \fP" -.ti -1c -.RI "void \fBm_objectives\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.ti -1c -.RI "void \fBrank_to_worth\fP ()" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNDSorting< EOT >" -Non dominated sorting, it *is a* std::vector of doubles, the integer part is the rank (to which front it belongs), the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into the bits. -.PP -Definition at line 42 of file eoNDSorting.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::vector \fBeoNDSorting\fP< \fBEOT\fP >::niche_penalty (const std::vector< unsigned > & current_front, const \fBeoPop\fP< \fBEOT\fP > & _pop)\fC [pure virtual]\fP" -.PP -Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. -.PP -The size of the returned std::vector should be equal to the size of the current_front. -.PP -Implemented in \fBeoNDSorting_I< EOT >\fP, and \fBeoNDSorting_II< EOT >\fP. -.PP -Referenced by eoNDSorting< EOT >::two_objectives(). -.SS "template void \fBeoNDSorting\fP< \fBEOT\fP >::two_objectives (const \fBeoPop\fP< \fBEOT\fP > & _pop)\fC [inline, private]\fP" -.PP -Optimization for two objectives. -.PP -Makes the algorithm run in complexity O(n log n) where n is the population size -.PP -This is the same complexity as for a single objective or truncation selection or sorting. -.PP -It will perform a sort on the two objectives seperately, and from the information on the ranks of the individuals on these two objectives, the non-dominated sorting rank is determined. There are then three nlogn operations in place: one sort per objective, plus a binary search procedure to combine the information about the ranks. -.PP -After that it is a simple exercise to calculate the distance penalty -.PP -Definition at line 140 of file eoNDSorting.h. -.PP -References eoNDSorting< EOT >::niche_penalty(), and eoValueParam< std::vector< double > >::value(). -.PP -Referenced by eoNDSorting< EOT >::calculate_worths(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_DummyEO.3 b/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_DummyEO.3 deleted file mode 100644 index f72972965..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_DummyEO.3 +++ /dev/null @@ -1,30 +0,0 @@ -.TH "eoNDSorting::DummyEO" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNDSorting::DummyEO \- used in fast nondominated sorting \fBDummyEO\fP is just a storage place for fitnesses and to store the original index - -.PP -.SH SYNOPSIS -.br -.PP -Inherits \fBEO< EOT::Fitness >\fP. -.PP -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBindex\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNDSorting< EOT >::DummyEO" -used in fast nondominated sorting \fBDummyEO\fP is just a storage place for fitnesses and to store the original index -.PP -Definition at line 94 of file eoNDSorting.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_I.3 b/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_I.3 deleted file mode 100644 index 1490b2be9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_I.3 +++ /dev/null @@ -1,54 +0,0 @@ -.TH "eoNDSorting_I" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNDSorting_I \- The original Non Dominated Sorting algorithm from Srinivas and Deb. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoNDSorting< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNDSorting_I\fP (double _nicheSize, bool nasty_flag_=false)" -.br -.ti -1c -.RI "std::vector< double > \fBniche_penalty\fP (const std::vector< unsigned > ¤t_front, const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIPure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBnicheSize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNDSorting_I< EOT >" -The original Non Dominated Sorting algorithm from Srinivas and Deb. -.PP -Definition at line 380 of file eoNDSorting.h. -.SH "Member Function Documentation" -.PP -.SS "template std::vector \fBeoNDSorting_I\fP< \fBEOT\fP >::niche_penalty (const std::vector< unsigned > & current_front, const \fBeoPop\fP< \fBEOT\fP > & _pop)\fC [inline, virtual]\fP" -.PP -Pure virtual function that calculates the 'distance' for each element in the current front Implement to create your own nondominated sorting algorithm. -.PP -The size of the returned std::vector should be equal to the size of the current_front. -.PP -Implements \fBeoNDSorting< EOT >\fP. -.PP -Definition at line 385 of file eoNDSorting.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_II.3 b/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_II.3 deleted file mode 100644 index a255484d7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNDSorting_II.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoNDSorting_II" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNDSorting_II \- Fast Elitist Non-Dominant Sorting Genetic Algorithm. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoNDSorting< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef std::pair< double, unsigned > \fBdouble_index_pair\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNDSorting_II\fP (bool nasty_flag_=false)" -.br -.ti -1c -.RI "std::vector< double > \fBniche_penalty\fP (const std::vector< unsigned > &_cf, const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fI_cf points into the elements that consist of the current front \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNDSorting_II< EOT >" -Fast Elitist Non-Dominant Sorting Genetic Algorithm. - -Adapted from Deb, Agrawal, Pratab and Meyarivan: A Fast Elitist Non-Dominant Sorting Genetic Algorithm for MultiObjective Optimization: NSGA-II KanGAL Report No. 200001 -.PP -Note that this class does not do the sorting per se, but the sorting of it worth_std::vector will give the right order -.PP -The crowding distance is calculated as the sum of the distances to the nearest neighbours. As we need to return the penalty value, we have to invert that and invert it again in the base class, but such is life, sigh -.PP -Definition at line 434 of file eoNDSorting.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNPtsBitXover.3 b/trunk/paradiseo-eo/doc/man/man3/eoNPtsBitXover.3 deleted file mode 100644 index 1af960077..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNPtsBitXover.3 +++ /dev/null @@ -1,66 +0,0 @@ -.TH "eoNPtsBitXover" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNPtsBitXover \- eoNPtsBitXover --> n-point crossover - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< Chrom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNPtsBitXover\fP (const unsigned &_num_points=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 (Chrom &chrom1, Chrom &chrom2)" -.br -.RI "\fIn-point crossover for binary chromosomes. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBnum_points\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNPtsBitXover< Chrom >" -eoNPtsBitXover --> n-point crossover -.PP -Definition at line 319 of file eoBitOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoNPtsBitXover\fP< Chrom >::operator() (Chrom & chrom1, Chrom & chrom2)\fC [inline, virtual]\fP" -.PP -n-point crossover for binary chromosomes. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom1\fP The first chromosome. -.br -\fIchrom2\fP The first chromosome. -.RE -.PP - -.PP -Implements \fBeoBF< Chrom &, Chrom &, bool >\fP. -.PP -Definition at line 337 of file eoBitOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNegExpGenerator.3 b/trunk/paradiseo-eo/doc/man/man3/eoNegExpGenerator.3 deleted file mode 100644 index 9f661f663..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNegExpGenerator.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoNegExpGenerator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNegExpGenerator \- The class \fBnegexp_generator\fP can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRndGenerator< T >< T >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNegExpGenerator\fP (T _mean=1.0, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "T \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBmean\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBnegexp\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNegExpGenerator< T >" -The class \fBnegexp_generator\fP can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -The user can supply a mean. -.PP -Definition at line 137 of file eoRndGenerators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNegExpInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoNegExpInit.3 deleted file mode 100644 index 99e17ca34..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNegExpInit.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoNegExpInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNegExpInit \- The class \fBnegexp_generator\fP can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< T >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNegExpInit\fP (T _mean=1.0, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "void \fBoperator()\fP (T &_t)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBmean\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBnegexp\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNegExpInit< T >" -The class \fBnegexp_generator\fP can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -The user can supply a mean. -.PP -Definition at line 143 of file eoUniformInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNoElitism.3 b/trunk/paradiseo-eo/doc/man/man3/eoNoElitism.3 deleted file mode 100644 index 4028a927e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNoElitism.3 +++ /dev/null @@ -1,25 +0,0 @@ -.TH "eoNoElitism" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNoElitism \- No elite. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoElitism< EOT >< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoNoElitism< EOT >" -No elite. -.PP -Definition at line 107 of file eoMerge.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNoPerf2Worth.3 b/trunk/paradiseo-eo/doc/man/man3/eoNoPerf2Worth.3 deleted file mode 100644 index 39dd45443..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNoPerf2Worth.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoNoPerf2Worth" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNoPerf2Worth \- A dummy perf2worth, just in case you need it. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPerf2Worth< EOT, EOT::Fitness >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNoPerf2Worth< EOT >" -A dummy perf2worth, just in case you need it. -.PP -Definition at line 230 of file eoPerf2Worth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNoSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoNoSelect.3 deleted file mode 100644 index c85a5fd2f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNoSelect.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoNoSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNoSelect \- eoNoSelect: returns all individual in order WITHOUT USING FITNESS!!! looping back to the beginning when exhasuted - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNoSelect\fP ()" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBcurrent\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNoSelect< EOT >" -eoNoSelect: returns all individual in order WITHOUT USING FITNESS!!! looping back to the beginning when exhasuted -.PP -Definition at line 78 of file eoRandomSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNormalGenerator.3 b/trunk/paradiseo-eo/doc/man/man3/eoNormalGenerator.3 deleted file mode 100644 index 89bbae7e0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNormalGenerator.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoNormalGenerator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNormalGenerator \- The class \fBnormal_generator\fP can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRndGenerator< T >< T >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNormalGenerator\fP (T _stdev=T(1.0), \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "T \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBstdev\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBnormal\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNormalGenerator< T >" -The class \fBnormal_generator\fP can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -The user can supply a standard deviation which defaults to 1. -.PP -Definition at line 120 of file eoRndGenerators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNormalInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoNormalInit.3 deleted file mode 100644 index 055285bae..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNormalInit.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoNormalInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNormalInit \- The class \fBnormal_generator\fP can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< T >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNormalInit\fP (T _stdev=T(1.0), \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "void \fBoperator()\fP (T &_t)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBstdev\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBnormal\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNormalInit< T >" -The class \fBnormal_generator\fP can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -The user can supply a standard deviation which defaults to 1. -.PP -Definition at line 126 of file eoUniformInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNormalMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoNormalMutation.3 deleted file mode 100644 index d0c18e0f7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNormalMutation.3 +++ /dev/null @@ -1,124 +0,0 @@ -.TH "eoNormalMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNormalMutation \- Simple normal mutation of a std::vector of real values. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -Inherited by \fBeoOneFifthMutation< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNormalMutation\fP (double &_sigma, const double &_p_change=1.0)" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "\fBeoNormalMutation\fP (\fBeoRealVectorBounds\fP &_bounds, double _sigma, const double &_p_change=1.0)" -.br -.RI "\fIConstructor with bounds. \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! \fP" -.ti -1c -.RI "double & \fBSigma\fP ()" -.br -.RI "\fIAccessor to ref to sigma - for update and monitor. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double & \fBsigma\fP" -.br -.ti -1c -.RI "\fBeoRealVectorBounds\fP & \fBbounds\fP" -.br -.ti -1c -.RI "double \fBp_change\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNormalMutation< EOT >" -Simple normal mutation of a std::vector of real values. - -The stDev is fixed - but it is passed ans stored as a reference, to enable dynamic mutations (see eoOenFithMutation below). -.PP -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!!! -.PP -Definition at line 116 of file eoNormalMutation.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoNormalMutation\fP< \fBEOT\fP >::\fBeoNormalMutation\fP (double & _sigma, const double & _p_change = \fC1.0\fP)\fC [inline]\fP" -.PP -(Default) Constructor. -.PP -The bounds are initialized with the global object that says: no bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_sigma\fP the range for uniform nutation -.br -\fI_p_change\fP the probability to change a given coordinate -.RE -.PP - -.PP -Definition at line 127 of file eoNormalMutation.h. -.SS "template \fBeoNormalMutation\fP< \fBEOT\fP >::\fBeoNormalMutation\fP (\fBeoRealVectorBounds\fP & _bounds, double _sigma, const double & _p_change = \fC1.0\fP)\fC [inline]\fP" -.PP -Constructor with bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP an \fBeoRealVectorBounds\fP that contains the bounds -.br -\fI_sigma\fP the range for uniform nutation -.br -\fI_p_change\fP the probability to change a given coordinate -.RE -.PP - -.PP -Definition at line 136 of file eoNormalMutation.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoNormalMutation\fP< \fBEOT\fP >::operator() (\fBEOT\fP & _eo)\fC [inline, virtual]\fP" -.PP -Do it! -.PP -\fBParameters:\fP -.RS 4 -\fI_eo\fP The cromosome undergoing the mutation -.RE -.PP - -.PP -Implements \fBeoUF< EOT &, bool >\fP. -.PP -Reimplemented in \fBeoOneFifthMutation< EOT >\fP. -.PP -Definition at line 147 of file eoNormalMutation.h. -.PP -References eoRng::flip(), eoRealBaseVectorBounds::foldsInBounds(), and eoRng::normal(). -.PP -Referenced by eoOneFifthMutation< EOT >::operator()(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNormalVecMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoNormalVecMutation.3 deleted file mode 100644 index 7b0e87fb9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNormalVecMutation.3 +++ /dev/null @@ -1,116 +0,0 @@ -.TH "eoNormalVecMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNormalVecMutation \- Simple normal mutation of a std::vector of real values. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoNormalVecMutation\fP (double _sigma, const double &_p_change=1.0)" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "\fBeoNormalVecMutation\fP (\fBeoRealVectorBounds\fP &_bounds, double _sigma, const double &_p_change=1.0)" -.br -.RI "\fIConstructor with bounds. \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! \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< double > \fBsigma\fP" -.br -.ti -1c -.RI "\fBeoRealVectorBounds\fP & \fBbounds\fP" -.br -.ti -1c -.RI "double \fBp_change\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNormalVecMutation< EOT >" -Simple normal mutation of a std::vector of real values. - -The stDev is fixed - but it is passed ans stored as a reference, to enable dynamic mutations (see eoOenFithMutation below). -.PP -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!!! -.PP -Definition at line 48 of file eoNormalMutation.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoNormalVecMutation\fP< \fBEOT\fP >::\fBeoNormalVecMutation\fP (double _sigma, const double & _p_change = \fC1.0\fP)\fC [inline]\fP" -.PP -(Default) Constructor. -.PP -The bounds are initialized with the global object that says: no bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_sigma\fP the range for uniform nutation -.br -\fI_p_change\fP the probability to change a given coordinate -.RE -.PP - -.PP -Definition at line 58 of file eoNormalMutation.h. -.SS "template \fBeoNormalVecMutation\fP< \fBEOT\fP >::\fBeoNormalVecMutation\fP (\fBeoRealVectorBounds\fP & _bounds, double _sigma, const double & _p_change = \fC1.0\fP)\fC [inline]\fP" -.PP -Constructor with bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP an \fBeoRealVectorBounds\fP that contains the bounds -.br -\fI_sigma\fP the range for uniform nutation -.br -\fI_p_change\fP the probability to change a given coordinate -.RE -.PP -for each component, the sigma is scaled to the range of the bound, if bounded -.PP -Definition at line 69 of file eoNormalMutation.h. -.PP -References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range(). -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoNormalVecMutation\fP< \fBEOT\fP >::operator() (\fBEOT\fP & _eo)\fC [inline, virtual]\fP" -.PP -Do it! -.PP -\fBParameters:\fP -.RS 4 -\fI_eo\fP The cromosome undergoing the mutation -.RE -.PP - -.PP -Implements \fBeoUF< EOT &, bool >\fP. -.PP -Definition at line 86 of file eoNormalMutation.h. -.PP -References eoRng::flip(), eoRealBaseVectorBounds::foldsInBounds(), and eoRng::normal(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoNthElementFitnessStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoNthElementFitnessStat.3 deleted file mode 100644 index b65a75a26..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoNthElementFitnessStat.3 +++ /dev/null @@ -1,63 +0,0 @@ -.TH "eoNthElementFitnessStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoNthElementFitnessStat \- The n_th element fitness in the population (see \fBeoBestFitnessStat\fP). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSortedStat< EOT, EOT::Fitness >\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 "\fBeoNthElementFitnessStat\fP (unsigned _whichElement, std::string _description='nth element fitness')" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const std::vector< const \fBEOT\fP * > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "template void \fBdoit\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoParetoFitness\fP< T >)" -.br -.ti -1c -.RI "template void \fBdoit\fP (const std::vector< const \fBEOT\fP * > &_pop, T)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBwhichElement\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoNthElementFitnessStat< EOT >" -The n_th element fitness in the population (see \fBeoBestFitnessStat\fP). -.PP -Definition at line 211 of file eoStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoObject.3 b/trunk/paradiseo-eo/doc/man/man3/eoObject.3 deleted file mode 100644 index 5cb742903..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoObject.3 +++ /dev/null @@ -1,59 +0,0 @@ -.TH "eoObject" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoObject \- eoObject used to be the base class for the whole hierarchy, but this has changed. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBEO< F >\fP, \fBEO< double >\fP, \fBEO< EOT::Fitness >\fP, \fBEO< Fit >\fP, \fBEO< Fitness >\fP, \fBEO< fitness_type >\fP, \fBEO< fitnessT >\fP, \fBEO< FitT >\fP, \fBEO< FType >\fP, \fBEO< phenotype >\fP, \fBEO< PyFitness >\fP, \fBeoDistribution< EOT >\fP, \fBeoFactory< EOClass >\fP, \fBeoFactory< eoOpSelector< eoClass > >\fP, \fBeoFactory< eoSelect< EOT > >\fP, \fBeoFactory< EOT >\fP, \fBeoParser\fP, \fBeoPop< EOT >\fP, \fBeoPop< Dummy >\fP, \fBeoPop< PyEO >\fP, and \fBeoRng\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoObject\fP ()" -.br -.RI "\fIVirtual dtor. They are needed in virtual class hierarchies. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const =0" -.br -.RI "\fIReturn the class id. \fP" -.in -1c -.SH "Detailed Description" -.PP -eoObject used to be the base class for the whole hierarchy, but this has changed. - -eoObject is used to define a name (\fBclassName\fP#) that is used when loading or saving the state. -.PP -Previously, this object also defined a print and read interface, but it´s been moved to \fBeoPrintable\fP and \fBeoPersistent\fP. -.PP -It is recommended that you only derive from eoObject in concrete classes. Some parts of \fBEO\fP do not implement this yet, but that will change in the future. eoObject, together with \fBeoPersistent\fP and \fBeoPrintable\fP provide a simple persistence framework that is only needed when the classes have state that changes at runtime. -.PP -\fBSee also:\fP -.RS 4 -\fBeoPersistent\fP \fBeoPrintable\fP, \fBeoState\fP -.RE -.PP - -.PP -Definition at line 55 of file eoObject.h. -.SH "Member Function Documentation" -.PP -.SS "virtual std::string eoObject::className () const\fC [pure virtual]\fP" -.PP -Return the class id. -.PP -This should be redefined in each class. Only 'leaf' classes can be non-virtual. -.PP -Maarten: removed the default implementation as this proved to be too error-prone: I found several classes that had a typo in className (like classname), which would print eoObject instead of their own. Having it pure will force the implementor to provide a name. -.PP -Implemented in \fBEO< F >\fP, \fBeoFactory< EOClass >\fP, \fBeoOpSelMason< eoClass >\fP, \fBeoPop< EOT >\fP, \fBeoEsFull< Fit >\fP, \fBeoEsSimple< Fit >\fP, \fBeoEsStdev< Fit >\fP, \fBeoReal< FitT >\fP, \fBeoBit< FitT >\fP, \fBeoPBILDistrib< EOT >\fP, \fBeoParseTree< FType, Node >\fP, \fBeoString< fitnessT >\fP, \fBeoParser\fP, \fBeoRng\fP, \fBeoOneMax< FitT >\fP, \fBEO< double >\fP, \fBEO< EOT::Fitness >\fP, \fBEO< FitT >\fP, \fBEO< phenotype >\fP, \fBEO< fitnessT >\fP, \fBEO< Fit >\fP, \fBEO< FType >\fP, \fBEO< fitness_type >\fP, \fBEO< Fitness >\fP, \fBEO< PyFitness >\fP, \fBeoFactory< eoOpSelector< eoClass > >\fP, \fBeoFactory< EOT >\fP, \fBeoFactory< eoSelect< EOT > >\fP, \fBeoPop< PyEO >\fP, and \fBeoPop< Dummy >\fP. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOneFifthMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoOneFifthMutation.3 deleted file mode 100644 index 3951a10f0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOneFifthMutation.3 +++ /dev/null @@ -1,114 +0,0 @@ -.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 \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 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 \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 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. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOneMax.3 b/trunk/paradiseo-eo/doc/man/man3/eoOneMax.3 deleted file mode 100644 index ea5244ed0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOneMax.3 +++ /dev/null @@ -1,109 +0,0 @@ -.TH "eoOneMax" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoOneMax \- Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBEO< FitT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoOneMax\fP ()" -.br -.RI "\fICtor: you MUST provide a default ctor. \fP" -.ti -1c -.RI "virtual string \fBclassName\fP () const " -.br -.RI "\fIReturn the class id. \fP" -.ti -1c -.RI "void \fBprintOn\fP (ostream &_os) const " -.br -.RI "\fIprinting... \fP" -.ti -1c -.RI "void \fBreadFrom\fP (istream &_is)" -.br -.RI "\fIreading... \fP" -.ti -1c -.RI "void \fBsetB\fP (vector< bool > &_b)" -.br -.ti -1c -.RI "const vector< bool > & \fBB\fP ()" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< bool > \fBb\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoOneMax< FitT >" -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -Note that you MUST derive your structure from EO but you MAY use some other already prepared class in the hierarchy like \fBeoVector\fP for instance, if you handle a vector of something.... -.PP -If you create a structure from scratch, the only thing you need to provide are a default constructor IO routines printOn and readFrom -.PP -Note that operator<< and operator>> are defined at \fBEO\fP level using these routines -.PP -Definition at line 31 of file eoOneMax.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoOneMax\fP< \fBFitT\fP >::\fBeoOneMax\fP ()\fC [inline]\fP" -.PP -Ctor: you MUST provide a default ctor. -.PP -though such individuals will generally be processed by some \fBeoInit\fP object -.PP -Definition at line 37 of file eoOneMax.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual string \fBeoOneMax\fP< \fBFitT\fP >::className (void) const\fC [inline, virtual]\fP" -.PP -Return the class id. -.PP -\fBReturns:\fP -.RS 4 -the class name as a std::string -.RE -.PP - -.PP -Reimplemented from \fBEO< FitT >\fP. -.PP -Definition at line 49 of file eoOneMax.h. -.SS "template void \fBeoOneMax\fP< \fBFitT\fP >::printOn (ostream & _os) const\fC [inline]\fP" -.PP -printing... -.PP -HINTS in \fBEO\fP we systematically write the sizes of things before the things so readFrom is easier to code (see below) -.PP -Definition at line 52 of file eoOneMax.h. -.PP -References EO< F >::printOn(). -.SS "template void \fBeoOneMax\fP< \fBFitT\fP >::readFrom (istream & _is)\fC [inline]\fP" -.PP -reading... -.PP -of course, your readFrom must be able to read what printOn writes!!! -.PP -HINTS remember the eoOneMax object will come from the default ctor this is why having the sizes written out is useful -.PP -Definition at line 72 of file eoOneMax.h. -.PP -References EO< F >::readFrom(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOneMaxEvalFunc.3 b/trunk/paradiseo-eo/doc/man/man3/eoOneMaxEvalFunc.3 deleted file mode 100644 index 7da0ee070..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOneMaxEvalFunc.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoOneMaxEvalFunc" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoOneMaxEvalFunc \- Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoEvalFunc< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoOneMaxEvalFunc\fP ()" -.br -.RI "\fICtor - no requirement. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIActually compute the fitness. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoOneMaxEvalFunc< EOT >" -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. -.PP -Definition at line 26 of file eoOneMaxEvalFunc.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoOneMaxEvalFunc\fP< \fBEOT\fP >::operator() (\fBEOT\fP & _eo)\fC [inline, virtual]\fP" -.PP -Actually compute the fitness. -.PP -\fBParameters:\fP -.RS 4 -\fIEOT\fP & _eo the \fBEO\fP object to evaluate it should stay templatized to be usable with any fitness type -.RE -.PP - -.PP -Implements \fBeoUF< EOT &, void >\fP. -.PP -Definition at line 45 of file eoOneMaxEvalFunc.h. -.PP -References EO< F >::fitness(), and EO< F >::invalid(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOneMaxInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoOneMaxInit.3 deleted file mode 100644 index 9f65e8e94..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOneMaxInit.3 +++ /dev/null @@ -1,64 +0,0 @@ -.TH "eoOneMaxInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoOneMaxInit \- Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< GenotypeT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoOneMaxInit\fP (unsigned _vecSize)" -.br -.RI "\fICtor - no requirement. \fP" -.ti -1c -.RI "void \fBoperator()\fP (GenotypeT &_genotype)" -.br -.RI "\fIinitialize a genotype \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBvecSize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoOneMaxInit< GenotypeT >" -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -There is NO ASSUMPTION on the class GenoypeT. In particular, it does not need to derive from \fBEO\fP (e.g. to initialize atoms of an \fBeoVector\fP you will need an \fBeoInit\fP) -.PP -Definition at line 26 of file eoOneMaxInit.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoOneMaxInit\fP< GenotypeT >::operator() (GenotypeT & _genotype)\fC [inline, virtual]\fP" -.PP -initialize a genotype -.PP -\fBParameters:\fP -.RS 4 -\fI_genotype\fP generally a genotype that has been default-constructed whatever it contains will be lost -.RE -.PP - -.PP -Implements \fBeoUF< GenotypeT &, void >\fP. -.PP -Definition at line 44 of file eoOneMaxInit.h. -.PP -References eoRng::flip(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOneMaxMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoOneMaxMutation.3 deleted file mode 100644 index 98bbb5448..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOneMaxMutation.3 +++ /dev/null @@ -1,60 +0,0 @@ -.TH "eoOneMaxMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoOneMaxMutation \- Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< GenotypeT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoOneMaxMutation\fP ()" -.br -.RI "\fICtor - no requirement. \fP" -.ti -1c -.RI "string \fBclassName\fP () const " -.br -.RI "\fIThe class name. Used to display statistics. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (GenotypeT &_genotype)" -.br -.RI "\fImodifies the parent \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoOneMaxMutation< GenotypeT >" -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -THere is NO ASSUMPTION on the class GenoypeT. In particular, it does not need to derive from \fBEO\fP -.PP -Definition at line 25 of file eoOneMaxMutation.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoOneMaxMutation\fP< GenotypeT >::operator() (GenotypeT & _genotype)\fC [inline, virtual]\fP" -.PP -modifies the parent -.PP -\fBParameters:\fP -.RS 4 -\fI_genotype\fP The parent genotype (will be modified) -.RE -.PP -.PP -Requirement if (_genotype has been modified) isModified = true; else isModified = false; -.PP -Implements \fBeoUF< GenotypeT &, bool >\fP. -.PP -Definition at line 47 of file eoOneMaxMutation.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOneMaxQuadCrossover.3 b/trunk/paradiseo-eo/doc/man/man3/eoOneMaxQuadCrossover.3 deleted file mode 100644 index 12a2e8d5a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOneMaxQuadCrossover.3 +++ /dev/null @@ -1,62 +0,0 @@ -.TH "eoOneMaxQuadCrossover" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoOneMaxQuadCrossover \- Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< GenotypeT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoOneMaxQuadCrossover\fP ()" -.br -.RI "\fICtor - no requirement. \fP" -.ti -1c -.RI "string \fBclassName\fP () const " -.br -.RI "\fIThe class name. Used to display statistics. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (GenotypeT &_genotype1, GenotypeT &_genotype2)" -.br -.RI "\fIeoQuad crossover - modifies both parents \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoOneMaxQuadCrossover< GenotypeT >" -Always write a comment in this format before class definition if you want the class to be documented by Doxygen. - -THere is NO ASSUMPTION on the class GenoypeT. In particular, it does not need to derive from \fBEO\fP -.PP -Definition at line 26 of file eoOneMaxQuadCrossover.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoOneMaxQuadCrossover\fP< GenotypeT >::operator() (GenotypeT & _genotype1, GenotypeT & _genotype2)\fC [inline, virtual]\fP" -.PP -eoQuad crossover - modifies both parents -.PP -\fBParameters:\fP -.RS 4 -\fI_genotype1\fP The first parent -.br -\fI_genotype2\fP The second parent -.RE -.PP -.PP -Requirement if (at least one genotype has been modified) // no way to distinguish oneAtLeastIsModified = true; else oneAtLeastIsModified = false; -.PP -Implements \fBeoBF< GenotypeT &, GenotypeT &, bool >\fP. -.PP -Definition at line 49 of file eoOneMaxQuadCrossover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoOp.3 deleted file mode 100644 index ca16766e1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOp.3 +++ /dev/null @@ -1,54 +0,0 @@ -.TH "eoOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoOp \- Abstract data types for \fBEO\fP operators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoBinOp< EOType >\fP, \fBeoMonOp< EOType >\fP, and \fBeoQuadOp< EOType >\fP. -.PP -.SS "[NOHEADER]" - -.in +1c -.ti -1c -.RI "enum \fBOpType\fP { \fBunary\fP = 0, \fBbinary\fP = 1, \fBquadratic\fP = 2, \fBgeneral\fP = 3 }" -.br -.ti -1c -.RI "\fBeoOp\fP (OpType _type)" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "\fBeoOp\fP (const \fBeoOp\fP &_eop)" -.br -.RI "\fICopy Ctor. \fP" -.ti -1c -.RI "virtual \fB~eoOp\fP ()" -.br -.RI "\fINeeded virtual destructor. \fP" -.ti -1c -.RI "OpType \fBgetType\fP () const " -.br -.RI "\fIgetType: number of operands it takes and individuals it produces \fP" -.ti -1c -.RI "OpType \fBopType\fP" -.br -.RI "\fIOpType is the type of the operator: how many operands it takes and how many it produces. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoOp< EOType >" -Abstract data types for \fBEO\fP operators. - -Genetic operators act on chromosomes, changing them. The type to use them on is problem specific. If your genotype is a std::vector, there are operators that work specifically on std::vector, but you might also find that generic operators working on std::vector are what you need. -.PP -Definition at line 68 of file eoOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOpContainer.3 b/trunk/paradiseo-eo/doc/man/man3/eoOpContainer.3 deleted file mode 100644 index 255957301..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOpContainer.3 +++ /dev/null @@ -1,81 +0,0 @@ -.TH "eoOpContainer" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoOpContainer \- eoOpContainer is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGenOp< EOT >< EOT >\fP. -.PP -Inherited by \fBeoProportionalOp< EOT >\fP, and \fBeoSequentialOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoOpContainer\fP ()" -.br -.RI "\fICtor: nothing much to do. \fP" -.ti -1c -.RI "virtual \fB~eoOpContainer\fP (void)" -.br -.RI "\fIDtor: delete all the GenOps created when wrapping simple ops. \fP" -.ti -1c -.RI "virtual unsigned \fBmax_production\fP (void)" -.br -.RI "\fIfor memory management (doesn't have to be very precise \fP" -.ti -1c -.RI "void \fBadd\fP (\fBeoOp\fP< \fBEOT\fP > &_op, double _rate)" -.br -.RI "\fIAdd an operator to the container, also give it a rate. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const =0" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "std::vector< double > \fBrates\fP" -.br -.ti -1c -.RI "std::vector< \fBeoGenOp\fP< \fBEOT\fP > * > \fBops\fP" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoFunctorStore\fP \fBstore\fP" -.br -.ti -1c -.RI "unsigned \fBmax_to_produce\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoOpContainer< EOT >" -eoOpContainer is a base class for the sequential and proportional selectors It takes care of wrapping the other operators, and deleting stuff that it has allocated - -Warning: all operators are added together with a rate (double) However, the meaning of this rate will be different in the differnet instances of eoOpContainer: an ***absolute*** probability in the sequential version, and a ***relative*** weight in the proportional version -.PP -Definition at line 42 of file eoOpContainer.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoOpContainer\fP< \fBEOT\fP >::add (\fBeoOp\fP< \fBEOT\fP > & _op, double _rate)\fC [inline]\fP" -.PP -Add an operator to the container, also give it a rate. -.PP -(sidenote, it's much less hairy since I added the wrap_op is used) -.PP -Definition at line 63 of file eoOpContainer.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoOpSelMason.3 b/trunk/paradiseo-eo/doc/man/man3/eoOpSelMason.3 deleted file mode 100644 index 3f130eb1d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoOpSelMason.3 +++ /dev/null @@ -1,94 +0,0 @@ -.TH "eoOpSelMason" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoOpSelMason \- \fBEO\fP Mason, or builder, for operator selectors. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFactory< eoOpSelector< eoClass > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< \fBeoOp\fP< eoClass > * > \fBvOpP\fP" -.br -.ti -1c -.RI "typedef map< eoOpSelector< eoClass > *, vOpP > \fBMEV\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual eoOpSelector< eoClass > * \fBmake\fP (std::istream &_is)" -.br -.RI "\fIFactory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. \fP" -.in -1c -.PP -.RI "\fBctors and dtors\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "\fBeoOpSelMason\fP (eoOpFactory< eoClass > &_opFact)" -.br -.RI "\fIconstructor \fP" -.ti -1c -.RI "virtual \fB~eoOpSelMason\fP ()" -.br -.RI "\fIdestructor \fP" -.in -1c -.in -1c -.PP -.RI "\fBeoObject methods\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIReturn the class id. \fP" -.in -1c -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "map< eoOpSelector< eoClass > *, std::vector< \fBeoOp\fP< eoClass > * > > \fBallocMap\fP" -.br -.ti -1c -.RI "eoOpFactory< eoClass > & \fBoperatorFactory\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoOpSelMason< eoClass >" -\fBEO\fP Mason, or builder, for operator selectors. - -A builder must allocate memory to the objects it builds, and then deallocate it when it gets out of scope -.PP -Definition at line 39 of file eoOpSelMason.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual eoOpSelector* \fBeoOpSelMason\fP< eoClass >::make (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. -.PP -The format is opSelClassName\\ rate 1 operator1\\ rate 2 operator2\\ ...\\ Stores all operators built in a database (#allocMap#), so that somebody can destroy them later. The Mason is in charge or destroying the operators, since the built object can´t do it itself. The objects built must be destroyed from outside, using the #destroy# method -.PP -Implements \fBeoFactory< eoOpSelector< eoClass > >\fP. -.PP -Definition at line 65 of file eoOpSelMason.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPBILAdditive.3 b/trunk/paradiseo-eo/doc/man/man3/eoPBILAdditive.3 deleted file mode 100644 index 3f2e658d0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPBILAdditive.3 +++ /dev/null @@ -1,68 +0,0 @@ -.TH "eoPBILAdditive" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPBILAdditive \- Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoDistribUpdater< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPBILAdditive\fP (double _LRBest, unsigned _nbBest=1, double _tolerance=0.0, double _LRWorst=0.0, unsigned _nbWorst=0)" -.br -.RI "\fICtor with parameters using the default values is equivalent to using \fBeoPBILOrg\fP. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBeoDistribution\fP< \fBEOT\fP > &_distrib, \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIUpdate the distribution from the current population. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBmaxBound\fP" -.br -.ti -1c -.RI "double \fBminBound\fP" -.br -.ti -1c -.RI "double \fBLR\fP" -.br -.ti -1c -.RI "unsigned \fBnbBest\fP" -.br -.ti -1c -.RI "unsigned \fBnbWorst\fP" -.br -.ti -1c -.RI "double \fBlrb\fP" -.br -.ti -1c -.RI "double \fBlrw\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPBILAdditive< EOT >" -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). - -This class implements an extended update rule: in the original paper, the authors used -.PP -p(i)(t+1) = (1-LR)*p(i)(t) + LR*best(i) -.PP -here the same formula is applied, with some of the best individuals and for some of the worst individuals (with different learning rates) -.PP -Definition at line 46 of file eoPBILAdditive.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPBILDistrib.3 b/trunk/paradiseo-eo/doc/man/man3/eoPBILDistrib.3 deleted file mode 100644 index 666a9d425..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPBILDistrib.3 +++ /dev/null @@ -1,80 +0,0 @@ -.TH "eoPBILDistrib" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPBILDistrib \- Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoDistribution< EOT >< EOT >\fP, and \fBeoValueParam< std::vector< double > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPBILDistrib\fP (unsigned _genomeSize)" -.br -.RI "\fICtor with size of genomes, and update parameters. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIthe randomizer of indis \fP" -.ti -1c -.RI "unsigned \fBSize\fP ()" -.br -.RI "\fIAccessor to the genome size. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fIprinting... \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &is)" -.br -.RI "\fIreading... \fP" -.ti -1c -.RI "unsigned int \fBsize\fP ()" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIclassName: Mandatory because of \fBeoCombinedInit\fP. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBgenomeSize\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPBILDistrib< EOT >" -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 96). - -It encodes a univariate distribution on the space of bitstrings, i.e. one probability for each bit to be one -.PP -It is an \fBeoValueParam\fP > : the std::vector stores the probabilities that each bit is 1 -.PP -It is still pure virtual, as the update method needs to be specified -.PP -Definition at line 44 of file eoPBILDistrib.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoPBILDistrib\fP< \fBEOT\fP >::className (void) const\fC [inline, virtual]\fP" -.PP -className: Mandatory because of \fBeoCombinedInit\fP. -.PP -SHould be pure virtual, but then we should go over the whole code to write the method for all derived classes ... MS 16/7/04 -.PP -Reimplemented from \fBeoInit< EOT >\fP. -.PP -Definition at line 94 of file eoPBILDistrib.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPBILOrg.3 b/trunk/paradiseo-eo/doc/man/man3/eoPBILOrg.3 deleted file mode 100644 index 6d6ea78c9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPBILOrg.3 +++ /dev/null @@ -1,54 +0,0 @@ -.TH "eoPBILOrg" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPBILOrg \- Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 95). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoDistribUpdater< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPBILOrg\fP (double _LR, double _tolerance=0.0)" -.br -.RI "\fICtor with size of genomes, and update parameters. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBeoDistribution\fP< \fBEOT\fP > &_distrib, \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIUpdate the distribution from the current population. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBLR\fP" -.br -.ti -1c -.RI "double \fBmaxBound\fP" -.br -.ti -1c -.RI "double \fBminBound\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPBILOrg< EOT >" -Distribution Class for PBIL algorithm (Population-Based Incremental Learning, Baluja and Caruana 95). - -This class implements the update rule from the original paper: -.PP -p(i)(t+1) = (1-LR)*p(i)(t) + LR*best(i) -.PP -Definition at line 42 of file eoPBILOrg.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParam.3 b/trunk/paradiseo-eo/doc/man/man3/eoParam.3 deleted file mode 100644 index b2b7a3f99..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParam.3 +++ /dev/null @@ -1,116 +0,0 @@ -.TH "eoParam" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParam \- eoParam: Base class for monitoring and parsing parameters - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoValueParam< ValueType >\fP, \fBeoValueParam< bool >\fP, \fBeoValueParam< double >\fP, \fBeoValueParam< EOT::Fitness >\fP, \fBeoValueParam< ParamType >\fP, \fBeoValueParam< std::pair< double, double > >\fP, \fBeoValueParam< std::string >\fP, \fBeoValueParam< std::vector< double > >\fP, \fBeoValueParam< std::vector< FitT > >\fP, \fBeoValueParam< std::vector< PartFitT > >\fP, \fBeoValueParam< std::vector< WorthT > >\fP, \fBeoValueParam< string >\fP, \fBeoValueParam< T >\fP, \fBeoValueParam< unsigned >\fP, \fBeoValueParam< unsigned long >\fP, ParamWrapper, and ValueParam. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoParam\fP ()" -.br -.RI "\fIEmpty constructor - called from outside any parser. \fP" -.ti -1c -.RI "\fBeoParam\fP (std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)" -.br -.RI "\fIConstruct a Param. \fP" -.ti -1c -.RI "virtual \fB~eoParam\fP ()" -.br -.RI "\fIVirtual destructor is needed. \fP" -.ti -1c -.RI "virtual std::string \fBgetValue\fP () const =0" -.br -.RI "\fIPure virtual function to get the value out. \fP" -.ti -1c -.RI "virtual void \fBsetValue\fP (const std::string &_value)=0" -.br -.RI "\fIPure virtual function to set the value. \fP" -.ti -1c -.RI "char \fBshortName\fP () const " -.br -.RI "\fIReturns the short name. \fP" -.ti -1c -.RI "const std::string & \fBlongName\fP () const " -.br -.RI "\fIReturns the long name. \fP" -.ti -1c -.RI "const std::string & \fBdescription\fP () const " -.br -.RI "\fIReturns the description of the argument. \fP" -.ti -1c -.RI "const std::string & \fBdefValue\fP () const " -.br -.RI "\fIReturns the default value of the argument. \fP" -.ti -1c -.RI "void \fBdefValue\fP (const std::string &str)" -.br -.RI "\fISets the default value of the argument,. \fP" -.ti -1c -.RI "void \fBsetLongName\fP (std::string _longName)" -.br -.RI "\fIALlows to change the name (see the prefix in \fBeoParser.h\fP). \fP" -.ti -1c -.RI "bool \fBrequired\fP () const " -.br -.RI "\fIReturns if required or not. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::string \fBrepLongName\fP" -.br -.ti -1c -.RI "std::string \fBrepDefault\fP" -.br -.ti -1c -.RI "std::string \fBrepDescription\fP" -.br -.ti -1c -.RI "char \fBrepShortHand\fP" -.br -.ti -1c -.RI "bool \fBrepRequired\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -eoParam: Base class for monitoring and parsing parameters -.PP -Definition at line 42 of file eoParam.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "eoParam::eoParam (std::string _longName, std::string _default, std::string _description, char _shortName = \fC0\fP, bool _required = \fCfalse\fP)\fC [inline]\fP" -.PP -Construct a Param. -.PP -\fBParameters:\fP -.RS 4 -\fI_longName\fP Long name of the argument -.br -\fI_default\fP The default value -.br -\fI_description\fP Description of the parameter. What is useful for. -.br -\fI_shortName\fP Short name of the argument (Optional) -.br -\fI_required\fP If it is a necessary parameter or not -.RE -.PP - -.PP -Definition at line 60 of file eoParam.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParamParamType.3 b/trunk/paradiseo-eo/doc/man/man3/eoParamParamType.3 deleted file mode 100644 index b36b54c6c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParamParamType.3 +++ /dev/null @@ -1,39 +0,0 @@ -.TH "eoParamParamType" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParamParamType \- Another helper class for parsing parameters like Keyword(arg1, arg2, ...). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoParamParamType\fP (std::string _value)" -.br -.ti -1c -.RI "std::ostream & \fBprintOn\fP (std::ostream &_os) const " -.br -.ti -1c -.RI "std::istream & \fBreadFrom\fP (std::istream &_is)" -.br -.ti -1c -.RI "void \fBreadFrom\fP (std::string &_value)" -.br -.in -1c -.SH "Detailed Description" -.PP -Another helper class for parsing parameters like Keyword(arg1, arg2, ...). - -It is basically a std::pair > first std::string is keyword the std::vector contains all arguments (as std::strings) See make_algo.h -.PP -Definition at line 373 of file eoParam.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParameterLoader.3 b/trunk/paradiseo-eo/doc/man/man3/eoParameterLoader.3 deleted file mode 100644 index c20117b61..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParameterLoader.3 +++ /dev/null @@ -1,94 +0,0 @@ -.TH "eoParameterLoader" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParameterLoader \- Parameter saving and loading. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoParser\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoParameterLoader\fP ()" -.br -.RI "\fINeed a virtual destructor. \fP" -.ti -1c -.RI "virtual void \fBprocessParam\fP (\fBeoParam\fP ¶m, std::string section='')=0" -.br -.RI "\fIRegister a parameter and set its value if it is known. \fP" -.ti -1c -.RI "virtual bool \fBisItThere\fP (\fBeoParam\fP &_param) const =0" -.br -.RI "\fIchecks if _param has been actually entered \fP" -.ti -1c -.RI "template \fBeoValueParam\fP< ValueType > & \fBcreateParam\fP (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section='', bool _required=false)" -.br -.RI "\fIConstruct a Param and sets its value. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< \fBeoParam\fP * > \fBownedParams\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Parameter saving and loading. - -eoParameterLoader is an abstract class that can be used as a base for your own parameter loading and saving. The command line parser \fBeoParser\fP is derived from this class. -.PP -Definition at line 40 of file eoParser.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoParameterLoader::processParam (\fBeoParam\fP & param, std::string section = \fC''\fP)\fC [pure virtual]\fP" -.PP -Register a parameter and set its value if it is known. -.PP -\fBParameters:\fP -.RS 4 -\fIparam\fP the parameter to process -.br -\fIsection\fP the section where this parameter belongs -.RE -.PP - -.PP -Implemented in \fBeoParser\fP. -.SS "template \fBeoValueParam\fP& eoParameterLoader::createParam (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand = \fC0\fP, std::string _section = \fC''\fP, bool _required = \fCfalse\fP)\fC [inline]\fP" -.PP -Construct a Param and sets its value. -.PP -The loader will own the memory thus created -.PP -\fBParameters:\fP -.RS 4 -\fI_defaultValue\fP The default value -.br -\fI_longName\fP Long name of the argument -.br -\fI_description\fP Description of the parameter. What is useful for. -.br -\fI_shortName\fP Short name of the argument (Optional) -.br -\fI_section\fP Name of the section where the parameter belongs -.br -\fI_required\fP If it is a necessary parameter or not -.RE -.PP - -.PP -Definition at line 70 of file eoParser.h. -.PP -Referenced by eoParser::getORcreateParam(), and eoParser::setORcreateParam(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParetoFitness.3 b/trunk/paradiseo-eo/doc/man/man3/eoParetoFitness.3 deleted file mode 100644 index f1999d36c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParetoFitness.3 +++ /dev/null @@ -1,75 +0,0 @@ -.TH "eoParetoFitness" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParetoFitness \- eoParetoFitness class: std::vector of doubles with overloaded comparison operators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef FitnessTraits \fBfitness_traits\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoParetoFitness\fP (std::vector< double > &_v)" -.br -.ti -1c -.RI "bool \fBdominates\fP (const \fBeoParetoFitness\fP< FitnessTraits > &_other) const " -.br -.RI "\fIPartial order based on Pareto-dominance. \fP" -.ti -1c -.RI "bool \fBoperator<\fP (const \fBeoParetoFitness\fP< FitnessTraits > &_other) const " -.br -.RI "\fIcompare *not* on dominance, but on the first, then the second, etc \fP" -.ti -1c -.RI "bool \fBoperator>\fP (const \fBeoParetoFitness\fP< FitnessTraits > &_other) const " -.br -.ti -1c -.RI "bool \fBoperator<=\fP (const \fBeoParetoFitness\fP< FitnessTraits > &_other) const " -.br -.ti -1c -.RI "bool \fBoperator>=\fP (const \fBeoParetoFitness\fP< FitnessTraits > &_other) const " -.br -.ti -1c -.RI "bool \fBoperator==\fP (const \fBeoParetoFitness\fP< FitnessTraits > &_other) const " -.br -.ti -1c -.RI "bool \fBoperator!=\fP (const \fBeoParetoFitness\fP< FitnessTraits > &_other) const " -.br -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBsetUp\fP (unsigned _n, std::vector< bool > &_b)" -.br -.RI "\fIaccess to the traits characteristics (so you don't have to write a lot of typedef's around \fP" -.ti -1c -.RI "bool \fBmaximizing\fP (unsigned _i)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoParetoFitness< FitnessTraits >" -eoParetoFitness class: std::vector of doubles with overloaded comparison operators. - -Comparison is done on pareto dominance. The template argument FitnessTraits defaults to \fBeoParetoFitnessTraits\fP, which can be replaces at will by any other class that implements the static functions defined therein. -.PP -Note that the comparison defines a partial order, so that !(a < b) && !(b \fP -.PP -Inherited by \fBeoVariableParetoTraits\fP, MinimizingFitnessTraits, MinimizingFitnessTraits, and \fBMinimizingTraits\fP. -.PP -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "unsigned \fBnObjectives\fP ()" -.br -.ti -1c -.RI "double \fBtol\fP ()" -.br -.ti -1c -.RI "bool \fBmaximizing\fP (int which)" -.br -.in -1c -.SH "Detailed Description" -.PP -eoFitnessTraits: a traits class to specify the number of objectives and which one are maximizing or not See test/t-eoParetoFitness for its use. - -If you define your own, make sure you make the functions static! -.PP -Definition at line 42 of file eoParetoFitness.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParetoOneConstraintFitness.3 b/trunk/paradiseo-eo/doc/man/man3/eoParetoOneConstraintFitness.3 deleted file mode 100644 index c7a126bf7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParetoOneConstraintFitness.3 +++ /dev/null @@ -1,103 +0,0 @@ -.TH "eoParetoOneConstraintFitness" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParetoOneConstraintFitness \- eoParetoOneConstraintFitness class: std::vector of doubles + constraint value - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef FitnessTraits \fBfitness_traits\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoParetoOneConstraintFitness\fP (std::vector< double > &_v)" -.br -.ti -1c -.RI "\fBeoParetoOneConstraintFitness\fP (std::vector< double > &_v, double _c)" -.br -.ti -1c -.RI "bool \fBfeasible\fP () const " -.br -.ti -1c -.RI "double \fBviolation\fP () const " -.br -.ti -1c -.RI "double \fBConstraintValue\fP () const " -.br -.ti -1c -.RI "void \fBConstraintValue\fP (double _c)" -.br -.ti -1c -.RI "bool \fBdominates\fP (const \fBeoParetoOneConstraintFitness\fP< FitnessTraits > &_other) const " -.br -.RI "\fIPartial order based on Pareto-dominance. \fP" -.ti -1c -.RI "bool \fBoperator<\fP (const \fBeoParetoOneConstraintFitness\fP< FitnessTraits > &_other) const " -.br -.RI "\fIcompare *not* on dominance, but on the first, then the second, etc \fP" -.ti -1c -.RI "bool \fBoperator>\fP (const \fBeoParetoOneConstraintFitness\fP< FitnessTraits > &_other) const " -.br -.ti -1c -.RI "bool \fBoperator<=\fP (const \fBeoParetoOneConstraintFitness\fP< FitnessTraits > &_other) const " -.br -.ti -1c -.RI "bool \fBoperator>=\fP (const \fBeoParetoOneConstraintFitness\fP< FitnessTraits > &_other) const " -.br -.ti -1c -.RI "bool \fBoperator==\fP (const \fBeoParetoOneConstraintFitness\fP< FitnessTraits > &_other) const " -.br -.ti -1c -.RI "bool \fBoperator!=\fP (const \fBeoParetoOneConstraintFitness\fP< FitnessTraits > &_other) const " -.br -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBsetUp\fP (unsigned _n, std::vector< bool > &_b)" -.br -.RI "\fIaccess to the traits characteristics (so you don't have to write a lot of typedef's around \fP" -.ti -1c -.RI "bool \fBmaximizing\fP (unsigned _i)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBconstraintValue\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoParetoOneConstraintFitness< FitnessTraits >" -eoParetoOneConstraintFitness class: std::vector of doubles + constraint value - -Comparison (dominance) is done on pareto dominance for 2 feasible individuals, one feasible individual always wins over an infeasible on constraint violations for 2 infeasible individuals -.PP -The template argument FitnessTraits defaults to \fBeoParetoFitnessTraits\fP, which can be replaces at will by any other class that implements the static functions defined therein. -.PP -Note that the domninance defines a partial order, so that !dominates(a,b) && !domaintes(b,a) does not neccessarily imply that (a==b) The other way around does hold. -.PP -However, be careful that the comparison operators do define a total order based on considering first objective, then in case of tie, second objective, etc -.PP -NOTE: in a hurry, I did not want to make it derive from \fBeoParetoFitness\fP (used cut-and-paste instead!) : I know it might be a good idea, but I'm not sure I see why at the moment (any hint someone?) -.PP -Definition at line 61 of file eoParetoConstraintFitness.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParetoRanking.3 b/trunk/paradiseo-eo/doc/man/man3/eoParetoRanking.3 deleted file mode 100644 index 22dedf43e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParetoRanking.3 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "eoParetoRanking" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParetoRanking \- Straightforward pareto ranking. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPerf2WorthCached< EOT, double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoParetoRanking\fP (\fBeoDominanceMap\fP< \fBEOT\fP > &_dominanceMap)" -.br -.ti -1c -.RI "void \fBcalculate_worths\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe actual virtual function the derived classes should implement. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoDominanceMap\fP< \fBEOT\fP > & \fBdominanceMap\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoParetoRanking< EOT >" -Straightforward pareto ranking. - -Every individual gets a rank according to the number of elements it dominates. Note that without niching, this technique will usually not find the whole front of non-dominated solutions, but will quite likely converge on a single spot on the front. -.PP -Definition at line 40 of file eoParetoRanking.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParseTree.3 b/trunk/paradiseo-eo/doc/man/man3/eoParseTree.3 deleted file mode 100644 index 94bf0a85d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParseTree.3 +++ /dev/null @@ -1,148 +0,0 @@ -.TH "eoParseTree" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParseTree \- Implementation of parse-tree for genetic programming. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBEO< FType >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef parse_tree< Node >::subtree \fBSubtree\fP" -.br -.ti -1c -.RI "typedef Node \fBreference\fP" -.br -.ti -1c -.RI "typedef const reference \fBconst_reference\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoParseTree\fP (void)" -.br -.RI "\fIDefault Constructor. \fP" -.ti -1c -.RI "\fBeoParseTree\fP (const parse_tree< Node > &tree)" -.br -.RI "\fICopy Constructor. \fP" -.ti -1c -.RI "virtual void \fBpruneTree\fP (unsigned _size)" -.br -.RI "\fITo prune me to a certain size. \fP" -.ti -1c -.RI "\fBeoParseTree\fP (std::istream &is)" -.br -.RI "\fITo read me from a stream. \fP" -.ti -1c -.RI "std::string \fBclassName\fP (void) const " -.br -.RI "\fIMy class name. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fITo print me on a stream. \fP" -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &is)" -.br -.RI "\fITo read me from a stream. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoParseTree< FType, Node >" -Implementation of parse-tree for genetic programming. -.PP -Definition at line 54 of file eoParseTree.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoParseTree\fP< FType, Node >::\fBeoParseTree\fP (const parse_tree< Node > & tree)\fC [inline]\fP" -.PP -Copy Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fItree\fP The tree to copy -.RE -.PP - -.PP -Definition at line 79 of file eoParseTree.h. -.SS "template \fBeoParseTree\fP< FType, Node >::\fBeoParseTree\fP (std::istream & is)\fC [inline]\fP" -.PP -To read me from a stream. -.PP -\fBParameters:\fP -.RS 4 -\fIis\fP The std::istream -.RE -.PP - -.PP -Definition at line 102 of file eoParseTree.h. -.PP -References eoParseTree< FType, Node >::readFrom(). -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoParseTree\fP< FType, Node >::pruneTree (unsigned _size)\fC [inline, virtual]\fP" -.PP -To prune me to a certain size. -.PP -\fBParameters:\fP -.RS 4 -\fI_size\fP My maximum size -.RE -.PP - -.PP -Definition at line 86 of file eoParseTree.h. -.PP -Referenced by eoCollapseSubtreeMutation< FType, Node >::operator()(), eoExpansionMutation< FType, Node >::operator()(), eoBranchMutation< FType, Node >::operator()(), and eoSubtreeXOver< FType, Node >::operator()(). -.SS "template void \fBeoParseTree\fP< FType, Node >::printOn (std::ostream & os) const\fC [inline, virtual]\fP" -.PP -To print me on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fIos\fP The std::ostream -.RE -.PP - -.PP -Reimplemented from \fBEO< FType >\fP. -.PP -Definition at line 114 of file eoParseTree.h. -.PP -References EO< F >::printOn(). -.SS "template void \fBeoParseTree\fP< FType, Node >::readFrom (std::istream & is)\fC [inline, virtual]\fP" -.PP -To read me from a stream. -.PP -\fBParameters:\fP -.RS 4 -\fIis\fP The std::istream -.RE -.PP - -.PP -Reimplemented from \fBEO< FType >\fP. -.PP -Definition at line 128 of file eoParseTree.h. -.PP -References EO< F >::readFrom(). -.PP -Referenced by eoParseTree< FType, Node >::eoParseTree(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParseTreeDepthInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoParseTreeDepthInit.3 deleted file mode 100644 index 1960deb39..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParseTreeDepthInit.3 +++ /dev/null @@ -1,108 +0,0 @@ -.TH "eoParseTreeDepthInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParseTreeDepthInit \- eoParseTreeDepthInit : the initializer class for \fBeoParseTree\fP - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoParseTreeDepthInit\fP (unsigned _max_depth, const std::vector< Node > &_initializor, bool _grow=true, bool _ramped_half_and_half=false)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIMy class name. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBEoType\fP &_tree)" -.br -.RI "\fIinitialize a tree \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBgenerate\fP (std::list< Node > &sequence, int the_max, int last_terminal=-1)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_depth\fP" -.br -.ti -1c -.RI "std::vector< Node > \fBinitializor\fP" -.br -.ti -1c -.RI "bool \fBgrow\fP" -.br -.ti -1c -.RI "bool \fBramped_half_and_half\fP" -.br -.ti -1c -.RI "unsigned \fBcurrent_depth\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoParseTreeDepthInit< FType, Node >" -eoParseTreeDepthInit : the initializer class for \fBeoParseTree\fP -.PP -Definition at line 48 of file eoParseTreeDepthInit.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoParseTreeDepthInit\fP< FType, Node >::\fBeoParseTreeDepthInit\fP (unsigned _max_depth, const std::vector< Node > & _initializor, bool _grow = \fCtrue\fP, bool _ramped_half_and_half = \fCfalse\fP)\fC [inline]\fP" -.PP -Constructor. -.PP -_max_depth The maximum depth of a tree -.PP -\fBParameters:\fP -.RS 4 -\fI_initializor\fP A std::vector containing the possible nodes -.br -\fI_grow\fP False results in a full tree, True result is a randomly grown tree -.br -\fI_ramped_half_and_half\fP True results in Ramped Half and Half Initialization -.RE -.PP - -.PP -Definition at line 69 of file eoParseTreeDepthInit.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoParseTreeDepthInit\fP< FType, Node >::operator() (\fBEoType\fP & _tree)\fC [inline]\fP" -.PP -initialize a tree -.PP -\fBParameters:\fP -.RS 4 -\fI_tree\fP : the tree to be initialized -.RE -.PP - -.PP -Definition at line 96 of file eoParseTreeDepthInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoParser.3 b/trunk/paradiseo-eo/doc/man/man3/eoParser.3 deleted file mode 100644 index e6eb6a935..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoParser.3 +++ /dev/null @@ -1,267 +0,0 @@ -.TH "eoParser" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoParser \- eoParser: command line parser and configuration file reader This class is persistent, so it can be stored and reloaded to restore parameter settings. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoParameterLoader\fP, \fBeoObject\fP, and \fBeoPersistent\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoParser\fP (unsigned _argc, char **_argv, std::string _programDescription='', std::string _lFileParamName='param-file', char _shortHand= 'p')" -.br -.RI "\fIConstructor a complete constructor that reads the command line an optionally reads a configuration file. \fP" -.ti -1c -.RI "void \fBprocessParam\fP (\fBeoParam\fP ¶m, std::string section='')" -.br -.RI "\fIProcesses the parameter and puts it in the appropriate section for readability. \fP" -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "std::string \fBclassName\fP (void) const " -.br -.RI "\fIclassName for readibility \fP" -.ti -1c -.RI "bool \fBuserNeedsHelp\fP (void)" -.br -.RI "\fItrue if the user made an error or asked for help \fP" -.ti -1c -.RI "void \fBprintHelp\fP (std::ostream &os)" -.br -.RI "\fIPrints an automatic help in the specified output using the information provided by parameters. \fP" -.ti -1c -.RI "std::string \fBProgramName\fP ()" -.br -.ti -1c -.RI "virtual bool \fBisItThere\fP (\fBeoParam\fP &_param) const " -.br -.RI "\fIHas param been entered by user? \fP" -.ti -1c -.RI "\fBeoParam\fP * \fBgetParamWithLongName\fP (const std::string &_name) const " -.br -.RI "\fIget a handle on a param from its longName \fP" -.ti -1c -.RI "template \fBeoValueParam\fP< ValueType > & \fBgetORcreateParam\fP (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section='', bool _required=false)" -.br -.RI "\fIGet or create parameter. \fP" -.ti -1c -.RI "template \fBeoValueParam\fP< ValueType > & \fBsetORcreateParam\fP (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand=0, std::string _section='', bool _required=false)" -.br -.RI "\fISet parameter value or create parameter. \fP" -.ti -1c -.RI "void \fBsetStopOnUnknownParam\fP (bool _b)" -.br -.RI "\fIaccessors to the stopOnUnknownParam value \fP" -.ti -1c -.RI "bool \fBgetStopOnUnknownParam\fP ()" -.br -.ti -1c -.RI "void \fBsetPrefix\fP (const std::string &_prefix)" -.br -.RI "\fIPrefix handling. \fP" -.ti -1c -.RI "void \fBresetPrefix\fP ()" -.br -.ti -1c -.RI "std::string \fBgetPrefix\fP ()" -.br -.in -1c -.SS "Private Types" - -.in +1c -.ti -1c -.RI "typedef std::multimap< std::string, \fBeoParam\fP * > \fBMultiMapType\fP" -.br -.ti -1c -.RI "typedef std::map< char, std::string > \fBShortNameMapType\fP" -.br -.ti -1c -.RI "typedef std::map< std::string, std::string > \fBLongNameMapType\fP" -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBdoRegisterParam\fP (\fBeoParam\fP ¶m) const " -.br -.ti -1c -.RI "std::pair< bool, std::string > \fBgetValue\fP (\fBeoParam\fP &_param) const " -.br -.ti -1c -.RI "void \fBupdateParameters\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "MultiMapType \fBparams\fP" -.br -.ti -1c -.RI "std::string \fBprogramName\fP" -.br -.ti -1c -.RI "std::string \fBprogramDescription\fP" -.br -.ti -1c -.RI "ShortNameMapType \fBshortNameMap\fP" -.br -.ti -1c -.RI "LongNameMapType \fBlongNameMap\fP" -.br -.ti -1c -.RI "\fBeoValueParam\fP< bool > \fBneedHelp\fP" -.br -.ti -1c -.RI "\fBeoValueParam\fP< bool > \fBstopOnUnknownParam\fP" -.br -.ti -1c -.RI "std::vector< std::string > \fBmessages\fP" -.br -.ti -1c -.RI "std::string \fBprefix\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -eoParser: command line parser and configuration file reader This class is persistent, so it can be stored and reloaded to restore parameter settings. -.PP -Definition at line 100 of file eoParser.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "eoParser::eoParser (unsigned _argc, char ** _argv, std::string _programDescription = \fC''\fP, std::string _lFileParamName = \fC'param-file'\fP, char _shortHand = \fC'p'\fP)" -.PP -Constructor a complete constructor that reads the command line an optionally reads a configuration file. -.PP -myEo --param-file=param.rc will then load using the parameter file param.rc -.PP -\fBParameters:\fP -.RS 4 -\fI_argc\fP command line arguments count -.br -\fI_argv\fP command line parameters -.br -\fI_programDescription\fP Description of the work the program does -.br -\fI_lFileParamName\fP Name of the parameter specifying the configuration file (--param-file) -.br -\fI_shortHand\fP Single charachter shorthand for specifying the configuration file -.RE -.PP - -.SH "Member Function Documentation" -.PP -.SS "void eoParser::readFrom (std::istream & is)\fC [virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_std::exception\fP If a valid object can't be read. -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.SS "void eoParser::printOn (std::ostream & os) const\fC [virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.SS "virtual bool eoParser::isItThere (\fBeoParam\fP & _param) const\fC [inline, virtual]\fP" -.PP -Has param been entered by user? -.PP -Checks if _param has been actually entered by the user -.PP -Implements \fBeoParameterLoader\fP. -.PP -Definition at line 148 of file eoParser.h. -.PP -Referenced by setORcreateParam(). -.SS "\fBeoParam\fP* eoParser::getParamWithLongName (const std::string & _name) const" -.PP -get a handle on a param from its longName -.PP -if not found, returns 0 (null pointer :-) -.PP -Not very clean (requires hard-coding of the long name twice!) but very useful in many occasions... -.PP -Referenced by getORcreateParam(). -.SS "template \fBeoValueParam\fP& eoParser::getORcreateParam (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand = \fC0\fP, std::string _section = \fC''\fP, bool _required = \fCfalse\fP)\fC [inline]\fP" -.PP -Get or create parameter. -.PP -It seems finally that the easiest use of the above method is through the following, whose interface is similar to that of the widely-used createParam. -.PP -For some (probably very stupid) reason, I failed to put it in the .cpp. Any hint??? -.PP -Definition at line 173 of file eoParser.h. -.PP -References eoParameterLoader::createParam(), and getParamWithLongName(). -.SS "template \fBeoValueParam\fP& eoParser::setORcreateParam (ValueType _defaultValue, std::string _longName, std::string _description, char _shortHand = \fC0\fP, std::string _section = \fC''\fP, bool _required = \fCfalse\fP)\fC [inline]\fP" -.PP -Set parameter value or create parameter. -.PP -This makes sure that the specified parameter has the given value. If the parameter does not exist yet, it is created. -.PP -This requires that operator<< is defined for ValueType. -.PP -\fBParameters:\fP -.RS 4 -\fI_defaultValue\fP Default value. -.br -\fI_longName\fP Long name of the argument. -.br -\fI_description\fP Description of the parameter. -.br -\fI_shortName\fP Short name of the argument (Optional) -.br -\fI_section\fP Name of the section where the parameter belongs. -.br -\fI_required\fP Is the parameter mandatory? -.RE -.PP -\fBReturns:\fP -.RS 4 -Corresponding parameter. -.RE -.PP - -.PP -Definition at line 211 of file eoParser.h. -.PP -References eoParameterLoader::createParam(), isItThere(), and eoValueParam< ValueType >::setValue(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPerf2Worth.3 b/trunk/paradiseo-eo/doc/man/man3/eoPerf2Worth.3 deleted file mode 100644 index e0034242f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPerf2Worth.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoPerf2Worth" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPerf2Worth \- Base class to transform raw fitnesses into fitness for selection. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< const eoPop< EOT > &, void >\fP, and \fBeoValueParam< std::vector< WorthT > >\fP. -.PP -Inherited by \fBeoPerf2WorthCached< EOT, WorthT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPerf2Worth\fP (std::string _description='Worths')" -.br -.RI "\fIdefault constructor \fP" -.ti -1c -.RI "virtual void \fBsort_pop\fP (\fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fISort population according to worth, will keep the worths and fitness_cache in sync with the population. \fP" -.ti -1c -.RI "virtual void \fBresize\fP (\fBeoPop\fP< \fBEOT\fP > &_pop, unsigned sz)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPerf2Worth< EOT, WorthT >" -Base class to transform raw fitnesses into fitness for selection. - -\fBSee also:\fP -.RS 4 -\fBeoSelectFromWorth\fP -.RE -.PP - -.PP -Definition at line 43 of file eoPerf2Worth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPerf2WorthCached.3 b/trunk/paradiseo-eo/doc/man/man3/eoPerf2WorthCached.3 deleted file mode 100644 index 5a60d7629..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPerf2WorthCached.3 +++ /dev/null @@ -1,65 +0,0 @@ -.TH "eoPerf2WorthCached" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPerf2WorthCached \- Perf2Worth with fitness cache. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPerf2Worth< EOT, WorthT >< EOT, WorthT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPerf2WorthCached\fP (std::string _description='Worths')" -.br -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIImplementation of the operator(), updating a cache of fitnesses. \fP" -.ti -1c -.RI "virtual void \fBcalculate_worths\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)=0" -.br -.RI "\fIThe actual virtual function the derived classes should implement. \fP" -.ti -1c -.RI "virtual void \fBsort_pop\fP (\fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fISort population according to worth, will keep the worths and fitness_cache in sync with the population. \fP" -.ti -1c -.RI "virtual void \fBresize\fP (\fBeoPop\fP< \fBEOT\fP > &_pop, unsigned sz)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< typename EOT::Fitness > \fBfitness_cache\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPerf2WorthCached< EOT, WorthT >" -Perf2Worth with fitness cache. -.PP -Definition at line 111 of file eoPerf2Worth.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoPerf2WorthCached\fP< \fBEOT\fP, WorthT >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _pop)\fC [inline, virtual]\fP" -.PP -Implementation of the operator(), updating a cache of fitnesses. -.PP -Calls the virtual function calculate_worths when one of the fitnesses has changed. It is not virtual, but derived classes can remove the fitness caching trough the third template element -.PP -Implements \fBeoUF< const eoPop< EOT > &, void >\fP. -.PP -Definition at line 125 of file eoPerf2Worth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPerf2WorthCached_compare_worth.3 b/trunk/paradiseo-eo/doc/man/man3/eoPerf2WorthCached_compare_worth.3 deleted file mode 100644 index bc4c9f830..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPerf2WorthCached_compare_worth.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH "eoPerf2WorthCached::compare_worth" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPerf2WorthCached::compare_worth \- helper class used to sort indices into populations/worths - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBcompare_worth\fP (const std::vector< WorthT > &_worths)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (unsigned a, unsigned b) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "const std::vector< WorthT > & \fBworths\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPerf2WorthCached< EOT, WorthT >::compare_worth" -helper class used to sort indices into populations/worths -.PP -Definition at line 200 of file eoPerf2Worth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPerf2Worth_compare_worth.3 b/trunk/paradiseo-eo/doc/man/man3/eoPerf2Worth_compare_worth.3 deleted file mode 100644 index 73a13a1c4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPerf2Worth_compare_worth.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH "eoPerf2Worth::compare_worth" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPerf2Worth::compare_worth \- helper class used to sort indices into populations/worths - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBcompare_worth\fP (const std::vector< WorthT > &_worths)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (unsigned a, unsigned b) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "const std::vector< WorthT > & \fBworths\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPerf2Worth< EOT, WorthT >::compare_worth" -helper class used to sort indices into populations/worths -.PP -Definition at line 83 of file eoPerf2Worth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPersistent.3 b/trunk/paradiseo-eo/doc/man/man3/eoPersistent.3 deleted file mode 100644 index 683ca0bdb..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPersistent.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoPersistent" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPersistent \- An persistent object that knows how to write (through functions inherited from \fBeoPrintable\fP#) and read itself. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPrintable\fP. -.PP -Inherited by \fBEO< F >\fP, \fBEO< double >\fP, \fBEO< EOT::Fitness >\fP, \fBEO< Fit >\fP, \fBEO< Fitness >\fP, \fBEO< fitness_type >\fP, \fBEO< fitnessT >\fP, \fBEO< FitT >\fP, \fBEO< FType >\fP, \fBEO< phenotype >\fP, \fBEO< PyFitness >\fP, \fBeoContinue< EOT >\fP, \fBeoDistribution< EOT >\fP, \fBeoHowMany\fP, \fBeoIntBounds\fP, \fBeoParser\fP, \fBeoPop< EOT >\fP, \fBeoPop< Dummy >\fP, \fBeoPop< PyEO >\fP, \fBeoRealBounds\fP, \fBeoRealVectorBounds\fP, and \fBeoRng\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoPersistent\fP ()" -.br -.RI "\fIVirtual dtor. They are needed in virtual class hierarchies. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)=0" -.br -.RI "\fIRead object. \fP" -.in -1c -.SH "Detailed Description" -.PP -An persistent object that knows how to write (through functions inherited from \fBeoPrintable\fP#) and read itself. -.PP -Definition at line 52 of file eoPersistent.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoPersistent::readFrom (std::istream & _is)\fC [pure virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_std::exception\fP If a valid object can't be read. -.RE -.PP - -.PP -Implemented in \fBEO< F >\fP, \fBeoContinue< EOT >\fP, \fBeoGenContinue< EOT >\fP, \fBeoPop< EOT >\fP, \fBeoVector< FitT, GeneType >\fP, \fBeoEsFull< Fit >\fP, \fBeoEsSimple< Fit >\fP, \fBeoEsStdev< Fit >\fP, \fBeoBit< FitT >\fP, \fBeoPBILDistrib< EOT >\fP, \fBeoParseTree< FType, Node >\fP, \fBeoExternalEO< Fit, External >\fP, \fBeoHowMany\fP, \fBeoIntNoBounds\fP, \fBeoIntInterval\fP, \fBeoIntBelowBound\fP, \fBeoIntAboveBound\fP, \fBeoGeneralIntBounds\fP, \fBeoParser\fP, \fBeoRealNoBounds\fP, \fBeoRealInterval\fP, \fBeoRealBelowBound\fP, \fBeoRealAboveBound\fP, \fBeoGeneralRealBounds\fP, \fBeoRealVectorBounds\fP, \fBeoRng\fP, \fBEO< double >\fP, \fBEO< EOT::Fitness >\fP, \fBEO< FitT >\fP, \fBEO< phenotype >\fP, \fBEO< fitnessT >\fP, \fBEO< Fit >\fP, \fBEO< FType >\fP, \fBEO< fitness_type >\fP, \fBEO< Fitness >\fP, \fBEO< PyFitness >\fP, \fBeoPop< PyEO >\fP, \fBeoPop< Dummy >\fP, \fBeoVector< Fit, double >\fP, \fBeoVector< FitT, double >\fP, and \fBeoVector< FitT, bool >\fP. -.PP -Referenced by eoState::load(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPlus.3 b/trunk/paradiseo-eo/doc/man/man3/eoPlus.3 deleted file mode 100644 index 27e806bed..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPlus.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoPlus" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPlus \- Very elitist class, copies entire population into next gen. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMerge< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPlus< EOT >" -Very elitist class, copies entire population into next gen. -.PP -Definition at line 116 of file eoMerge.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPlusReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoPlusReplacement.3 deleted file mode 100644 index 343db2edb..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPlusReplacement.3 +++ /dev/null @@ -1,35 +0,0 @@ -.TH "eoPlusReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPlusReplacement \- ES type of replacement strategy: first add parents to population, then truncate. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMergeReduce< EOT >< EOT >\fP. -.PP -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoPlus\fP< \fBEOT\fP > \fBplus\fP" -.br -.ti -1c -.RI "\fBeoTruncate\fP< \fBEOT\fP > \fBtruncate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPlusReplacement< EOT >" -ES type of replacement strategy: first add parents to population, then truncate. -.PP -Definition at line 73 of file eoMergeReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPointMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoPointMutation.3 deleted file mode 100644 index a69241827..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPointMutation.3 +++ /dev/null @@ -1,89 +0,0 @@ -.TH "eoPointMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPointMutation \- eoPointMutation --> replace a Node with a Node of the same arity - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPointMutation\fP (std::vector< Node > &_initializor)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIthe class name \fP" -.ti -1c -.RI "virtual \fB~eoPointMutation\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1)" -.br -.RI "\fIMutate an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< Node > & \fBinitializor\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPointMutation< FType, Node >" -eoPointMutation --> replace a Node with a Node of the same arity -.PP -Definition at line 147 of file eoParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoPointMutation\fP< FType, Node >::\fBeoPointMutation\fP (std::vector< Node > & _initializor)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_initializor\fP The std::vector of Nodes given to the eoGpDepthInitializer -.RE -.PP - -.PP -Definition at line 157 of file eoParseTreeOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoPointMutation\fP< FType, Node >::operator() (\fBEoType\fP & _eo1)\fC [inline]\fP" -.PP -Mutate an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The individual that is to be changed -.RE -.PP - -.PP -Definition at line 171 of file eoParseTreeOp.h. -.PP -References eoRng::random(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPop.3 b/trunk/paradiseo-eo/doc/man/man3/eoPop.3 deleted file mode 100644 index 0a3578120..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPop.3 +++ /dev/null @@ -1,309 +0,0 @@ -.TH "eoPop" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPop \- A std::vector of \fBEO\fP object, to be used in all algorithms (selectors, operators, replacements, ...). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoObject\fP, and \fBeoPersistent\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBFitness\fP" -.br -.ti -1c -.RI "typedef EOT::fitness_traits \fBfitness_traits\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPop\fP ()" -.br -.RI "\fIDefault ctor. \fP" -.ti -1c -.RI "\fBeoPop\fP (unsigned _popSize, \fBeoInit\fP< \fBEOT\fP > &_chromInit)" -.br -.RI "\fICtor for the initialization of chromosomes. \fP" -.ti -1c -.RI "void \fBappend\fP (unsigned _newPopSize, \fBeoInit\fP< \fBEOT\fP > &_chromInit)" -.br -.RI "\fIappstd::ends random guys at end of pop. \fP" -.ti -1c -.RI "\fBeoPop\fP (std::istream &_is)" -.br -.RI "\fICtor from an std::istream; reads the population from a stream, each element should be in different lines. \fP" -.ti -1c -.RI "virtual \fB~eoPop\fP ()" -.br -.RI "\fIEmpty Dtor. \fP" -.ti -1c -.RI "void \fBsort\fP (void)" -.br -.RI "\fIsort the population. \fP" -.ti -1c -.RI "void \fBsort\fP (std::vector< const \fBEOT\fP * > &result) const " -.br -.RI "\fIcreates a std::vector pointing to the individuals in descending order \fP" -.ti -1c -.RI "void \fBshuffle\fP (void)" -.br -.RI "\fIshuffle the population. \fP" -.ti -1c -.RI "void \fBshuffle\fP (std::vector< const \fBEOT\fP * > &result) const " -.br -.RI "\fIcreates a std::vector pointing to the individuals in random order \fP" -.ti -1c -.RI "\fBeoPop\fP< \fBEOT\fP >::iterator \fBit_best_element\fP ()" -.br -.RI "\fIreturns an iterator to the best individual DOES NOT MOVE ANYBODY \fP" -.ti -1c -.RI "const \fBEOT\fP & \fBbest_element\fP () const " -.br -.RI "\fIreturns an iterator to the best individual DOES NOT MOVE ANYBODY \fP" -.ti -1c -.RI "const \fBEOT\fP & \fBworse_element\fP () const " -.br -.RI "\fIreturns a const reference to the worse individual DOES NOT MOVE ANYBODY \fP" -.ti -1c -.RI "\fBeoPop\fP< \fBEOT\fP >::iterator \fBit_worse_element\fP ()" -.br -.RI "\fIreturns an iterator to the worse individual DOES NOT MOVE ANYBODY \fP" -.ti -1c -.RI "\fBeoPop\fP< \fBEOT\fP >::iterator \fBnth_element\fP (int nth)" -.br -.RI "\fIslightly faster algorithm than sort to find all individuals that are better than the nth individual. \fP" -.ti -1c -.RI "Fitness \fBnth_element_fitness\fP (int which) const " -.br -.RI "\fIreturns the fitness of the nth element \fP" -.ti -1c -.RI "void \fBnth_element\fP (int which, std::vector< const \fBEOT\fP * > &result) const " -.br -.RI "\fIconst nth_element function, returns pointers to sorted individuals up the the nth \fP" -.ti -1c -.RI "void \fBswap\fP (\fBeoPop\fP< \fBEOT\fP > &other)" -.br -.RI "\fIdoes STL swap with other pop \fP" -.ti -1c -.RI "virtual void \fBsortedPrintOn\fP (std::ostream &_os) const " -.br -.RI "\fIPrints sorted pop but does NOT modify it! \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual void \fBinvalidate\fP ()" -.br -.ti -1c -.RI "void \fBsort\fP ()" -.br -.ti -1c -.RI "void \fBscale\fP ()" -.br -.ti -1c -.RI "void \fBsetPerf2Worth\fP (\fBeoPerf2Worth\fP< \fBEOT\fP > &_p2w)" -.br -.ti -1c -.RI "void \fBsetPerf2Worth\fP (\fBeoPerf2Worth\fP< \fBEOT\fP > *_p2w)" -.br -.ti -1c -.RI "\fBeoPerf2Worth\fP< \fBEOT\fP > * \fBgetPerf2Worth\fP ()" -.br -.ti -1c -.RI "void \fBswap\fP (\fBeoPop\fP< \fBEOT\fP > &other)" -.br -.in -1c -.PP -.RI "\fBMethods from eoObject\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIInherited from \fBeoObject\fP. \fP" -.in -1c -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoPerf2Worth\fP< \fBEOT\fP > * \fBp2w\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPop< EOT >" -A std::vector of \fBEO\fP object, to be used in all algorithms (selectors, operators, replacements, ...). - -We have no idea if a population can be some other thing that a std::vector, but if somebody thinks of it, this concrete implementation can be moved to 'generic' and an abstract Population interface be provided. -.PP -The template can be instantiated with anything that accepts a 'size' and \fBeoInit\fP derived object. in the ctor. EOT must also have a copy ctor, since temporaries are created and then passed to the \fBeoInit\fP object -.PP -Definition at line 54 of file eoPop.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoPop\fP< \fBEOT\fP >::\fBeoPop\fP ()\fC [inline]\fP" -.PP -Default ctor. -.PP -Creates empty pop -.PP -Definition at line 68 of file eoPop.h. -.SS "template \fBeoPop\fP< \fBEOT\fP >::\fBeoPop\fP (unsigned _popSize, \fBeoInit\fP< \fBEOT\fP > & _chromInit)\fC [inline]\fP" -.PP -Ctor for the initialization of chromosomes. -.PP -\fBParameters:\fP -.RS 4 -\fI_popSize\fP total population size -.br -\fI_chromInit\fP Initialization routine, produces EO's, needs to be an \fBeoInit\fP -.RE -.PP - -.PP -Definition at line 75 of file eoPop.h. -.SS "template \fBeoPop\fP< \fBEOT\fP >::\fBeoPop\fP (std::istream & _is)\fC [inline]\fP" -.PP -Ctor from an std::istream; reads the population from a stream, each element should be in different lines. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP the stream -.RE -.PP - -.PP -Definition at line 113 of file eoPop.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoPop\fP< \fBEOT\fP >::append (unsigned _newPopSize, \fBeoInit\fP< \fBEOT\fP > & _chromInit)\fC [inline]\fP" -.PP -appstd::ends random guys at end of pop. -.PP -Can be used to initialize it pop is empty -.PP -\fBParameters:\fP -.RS 4 -\fI_popSize\fP total population size -.br -\fI_chromInit\fP Initialization routine, produces EO's, needs to be an \fBeoInit\fP -.RE -.PP - -.PP -Definition at line 91 of file eoPop.h. -.PP -Referenced by eoEasyEA< EOT >::operator()(). -.SS "template void \fBeoPop\fP< \fBEOT\fP >::sort (void)\fC [inline]\fP" -.PP -sort the population. -.PP -Use this member to sort in order of descending Fitness, so the first individual is the best! -.PP -Definition at line 133 of file eoPop.h. -.PP -Referenced by eoTruncatedSelectMany< EOT >::operator()(), eoReduceMergeReduce< EOT >::operator()(), eoRanking< EOT >::operator()(), eoPBILAdditive< EOT >::operator()(), eoCheckPoint< EOT >::operator()(), eoSequentialSelect< EOT >::setup(), and eoPop< Dummy >::sortedPrintOn(). -.SS "template void \fBeoPop\fP< \fBEOT\fP >::shuffle (void)\fC [inline]\fP" -.PP -shuffle the population. -.PP -Use this member to put the population in random order -.PP -Definition at line 152 of file eoPop.h. -.PP -Referenced by eoTruncatedSelectMany< EOT >::operator()(), eoRandomSplit< EOT >::operator()(), eoRandomReduce< EOT >::operator()(), eoEliteSequentialSelect< EOT >::setup(), and eoSequentialSelect< EOT >::setup(). -.SS "template \fBeoPop\fP<\fBEOT\fP>::iterator \fBeoPop\fP< \fBEOT\fP >::nth_element (int nth)\fC [inline]\fP" -.PP -slightly faster algorithm than sort to find all individuals that are better than the nth individual. -.PP -INDIVIDUALS ARE MOVED AROUND in the pop. -.PP -Definition at line 201 of file eoPop.h. -.PP -Referenced by eoDeterministicSurviveAndDie< EOT >::operator()(), eoTruncateSplit< EOT >::operator()(), eoReduceMergeReduce< EOT >::operator()(), eoTruncate< EOT >::operator()(), eoElitism< EOT >::operator()(), and eoTruncatedSelectOne< EOT >::setup(). -.SS "template virtual void \fBeoPop\fP< \fBEOT\fP >::sortedPrintOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Prints sorted pop but does NOT modify it! -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Definition at line 247 of file eoPop.h. -.SS "template virtual void \fBeoPop\fP< \fBEOT\fP >::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object _on_ a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 262 of file eoPop.h. -.SS "template virtual void \fBeoPop\fP< \fBEOT\fP >::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -The EOT class must have a ctor from a stream; -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 274 of file eoPop.h. -.PP -Referenced by eoPop< Dummy >::eoPop(). -.SS "template virtual std::string \fBeoPop\fP< \fBEOT\fP >::className (void) const\fC [inline, virtual]\fP" -.PP -Inherited from \fBeoObject\fP. -.PP -Returns the class name. -.PP -\fBSee also:\fP -.RS 4 -\fBeoObject\fP -.RE -.PP - -.PP -Implements \fBeoObject\fP. -.PP -Definition at line 289 of file eoPop.h. -.PP -Referenced by eoCheckPoint< EOT >::allClassNames(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPopAlgo.3 b/trunk/paradiseo-eo/doc/man/man3/eoPopAlgo.3 deleted file mode 100644 index f9166ccb4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPopAlgo.3 +++ /dev/null @@ -1,25 +0,0 @@ -.TH "eoPopAlgo" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPopAlgo \- For all 'population transforming' algos ... - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< eoPop< EOT > &, void >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoPopAlgo< EOT >" -For all 'population transforming' algos ... -.PP -Definition at line 13 of file eoPopAlgo.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPopEvalFunc.3 b/trunk/paradiseo-eo/doc/man/man3/eoPopEvalFunc.3 deleted file mode 100644 index 08026ac1a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPopEvalFunc.3 +++ /dev/null @@ -1,37 +0,0 @@ -.TH "eoPopEvalFunc" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPopEvalFunc \- eoPopEvalFunc: This abstract class is for GLOBAL evaluators of a population after variation. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoPopLoopEval< EOT >\fP, and \fBeoTimeVaryingLoopEval< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoPopEvalFunc< EOT >" -eoPopEvalFunc: This abstract class is for GLOBAL evaluators of a population after variation. - -It takes 2 populations (typically the parents and the offspring) and is suppposed to evaluate them alltogether -.PP -Basic use: apply an embedded \fBeoEvalFunc\fP to the offspring -.PP -Time-varying fitness: apply the embedded \fBeoEvalFunc\fP to both offspring and parents -.PP -Advanced uses: Co-evolution or 'parisian' approach, or ... -.PP -Basic parallelization (synchronous standard evolution engine): call the slaves and wait for the results -.PP -Definition at line 49 of file eoPopEvalFunc.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPopLoopEval.3 b/trunk/paradiseo-eo/doc/man/man3/eoPopLoopEval.3 deleted file mode 100644 index bc8f4ce4c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPopLoopEval.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoPopLoopEval" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPopLoopEval \- eoPopLoopEval: an instance of \fBeoPopEvalFunc\fP that simply applies a private \fBeoEvalFunc\fP to all offspring - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPopEvalFunc< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPopLoopEval\fP (\fBeoEvalFunc\fP< \fBEOT\fP > &_eval)" -.br -.RI "\fICtor: set value of embedded \fBeoEvalFunc\fP. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIDo the job: simple loop over the offspring. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBeval\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPopLoopEval< EOT >" -eoPopLoopEval: an instance of \fBeoPopEvalFunc\fP that simply applies a private \fBeoEvalFunc\fP to all offspring -.PP -Definition at line 60 of file eoPopEvalFunc.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPopStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoPopStat.3 deleted file mode 100644 index cbc44f8d8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPopStat.3 +++ /dev/null @@ -1,72 +0,0 @@ -.TH "eoPopStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPopStat \- Thanks to MS/VC++, \fBeoParam\fP mechanism is unable to handle std::vectors of stats. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoStat< EOT, std::string >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPopStat\fP (unsigned _howMany=0, std::string _desc='')" -.br -.RI "\fIdefault Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. \fP" -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIFills the \fBvalue()\fP of the \fBeoParam\fP with the dump of the population. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBcombien\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPopStat< EOT >" -Thanks to MS/VC++, \fBeoParam\fP mechanism is unable to handle std::vectors of stats. - -This snippet is a workaround: This class will 'print' a whole population into a std::string - that you can later send to any stream This is the plain version - see eoPopString for the Sorted version -.PP -Note: this Stat should probably be used only within eoStdOutMonitor, and not inside an \fBeoFileMonitor\fP, as the \fBeoState\fP construct will work much better there. -.PP -Definition at line 51 of file eoPopStat.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoPopStat\fP< \fBEOT\fP >::\fBeoPopStat\fP (unsigned _howMany = \fC0\fP, std::string _desc = \fC''\fP)\fC [inline]\fP" -.PP -default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. -.PP -and is meaningless there. _howMany defaults to 0, that is, the whole population -.PP -Definition at line 61 of file eoPopStat.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoPopStat\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _pop)\fC [inline, virtual]\fP" -.PP -Fills the \fBvalue()\fP of the \fBeoParam\fP with the dump of the population. -.PP -Adds a -.br - before so it does not get mixed up with the rest of the stats that are written by the monitor it is probably used from. -.PP -Implements \fBeoUF< const eoPop< EOT > &, void >\fP. -.PP -Definition at line 68 of file eoPopStat.h. -.PP -References eoValueParam< std::string >::value(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPop_Cmp.3 b/trunk/paradiseo-eo/doc/man/man3/eoPop_Cmp.3 deleted file mode 100644 index c9f0506d5..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPop_Cmp.3 +++ /dev/null @@ -1,30 +0,0 @@ -.TH "eoPop::Cmp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPop::Cmp \- helper struct for comparing on pointers - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "bool \fBoperator()\fP (const \fBEOT\fP *a, const \fBEOT\fP *b) const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template struct eoPop< EOT >::Cmp" -helper struct for comparing on pointers -.PP -Definition at line 124 of file eoPop.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPop_Ref.3 b/trunk/paradiseo-eo/doc/man/man3/eoPop_Ref.3 deleted file mode 100644 index deeafe673..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPop_Ref.3 +++ /dev/null @@ -1,30 +0,0 @@ -.TH "eoPop::Ref" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPop::Ref \- helper struct for getting a pointer - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "const \fBEOT\fP * \fBoperator()\fP (const \fBEOT\fP &eot)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template struct eoPop< EOT >::Ref" -helper struct for getting a pointer -.PP -Definition at line 122 of file eoPop.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPopulator.3 b/trunk/paradiseo-eo/doc/man/man3/eoPopulator.3 deleted file mode 100644 index f40c3a1bd..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPopulator.3 +++ /dev/null @@ -1,130 +0,0 @@ -.TH "eoPopulator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPopulator \- eoPopulator is a helper class for general operators \fBeoGenOp\fP It is an \fBeoPop\fP but also behaves like an eoPop::iterator as far as operator* and operator++ are concerned - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoSelectivePopulator< EOT >\fP, and \fBeoSeqPopulator< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef unsigned \fBposition_type\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPopulator\fP (const \fBeoPop\fP< \fBEOT\fP > &_src, \fBeoPop\fP< \fBEOT\fP > &_dest)" -.br -.ti -1c -.RI "virtual \fB~eoPopulator\fP ()" -.br -.RI "\fIVirtual Constructor. \fP" -.ti -1c -.RI "\fBEOT\fP & \fBoperator *\fP (void)" -.br -.RI "\fIa populator behaves like an iterator. \fP" -.ti -1c -.RI "\fBeoPopulator\fP & \fBoperator++\fP ()" -.br -.RI "\fIonly prefix increment defined Does not add a new element when at the end, use operator* for that If not on the end, increment the pointer to the next individual \fP" -.ti -1c -.RI "void \fBinsert\fP (const \fBEOT\fP &_eo)" -.br -.RI "\fImandatory for operators that generate more offspring than parents if such a thing exists ? \fP" -.ti -1c -.RI "void \fBreserve\fP (int how_many)" -.br -.RI "\fIjust to make memory mangement more efficient \fP" -.ti -1c -.RI "const \fBeoPop\fP< \fBEOT\fP > & \fBsource\fP (void)" -.br -.RI "\fIcan be useful for operators with embedded selectors e.g. \fP" -.ti -1c -.RI "\fBeoPop\fP< \fBEOT\fP > & \fBoffspring\fP (void)" -.br -.RI "\fIGet the offspring population. \fP" -.ti -1c -.RI "position_type \fBtellp\fP ()" -.br -.RI "\fIthis is a direct access container: tell position \fP" -.ti -1c -.RI "void \fBseekp\fP (position_type pos)" -.br -.RI "\fIthis is a direct access container: go to position \fP" -.ti -1c -.RI "bool \fBexhausted\fP (void)" -.br -.RI "\fIno more individuals \fP" -.ti -1c -.RI "virtual const \fBEOT\fP & \fBselect\fP ()=0" -.br -.RI "\fIthe pure virtual selection method - will be instanciated in \fBeoSeqPopulator\fP and \fBeoSelectivePopulator\fP \fP" -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "\fBeoPop\fP< \fBEOT\fP > & \fBdest\fP" -.br -.ti -1c -.RI "\fBeoPop\fP< \fBEOT\fP >::iterator \fBcurrent\fP" -.br -.ti -1c -.RI "const \fBeoPop\fP< \fBEOT\fP > & \fBsrc\fP" -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBget_next\fP ()" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPopulator< EOT >" -eoPopulator is a helper class for general operators \fBeoGenOp\fP It is an \fBeoPop\fP but also behaves like an eoPop::iterator as far as operator* and operator++ are concerned - -See \fBeoGenOp\fP and \fBeoOpContainer\fP -.PP -Definition at line 39 of file eoPopulator.h. -.SH "Member Function Documentation" -.PP -.SS "template \fBEOT\fP& \fBeoPopulator\fP< \fBEOT\fP >::operator * (void)\fC [inline]\fP" -.PP -a populator behaves like an iterator. -.PP -Hence the operator* it returns the current individual -- eventually getting a new one through the operator++ if at the end -.PP -Definition at line 58 of file eoPopulator.h. -.SS "template const \fBeoPop\fP<\fBEOT\fP>& \fBeoPopulator\fP< \fBEOT\fP >::source (void)\fC [inline]\fP" -.PP -can be useful for operators with embedded selectors e.g. -.PP -your brain and my beauty -type -.PP -Definition at line 105 of file eoPopulator.h. -.PP -Referenced by eoSelBinGenOp< EOT >::apply(), and eoEsGlobalXover< EOT >::apply(). -.SS "template \fBeoPop\fP<\fBEOT\fP>& \fBeoPopulator\fP< \fBEOT\fP >::offspring (void)\fC [inline]\fP" -.PP -Get the offspring population. -.PP -Can be useful when you want to do some online niching kind of thing -.PP -Definition at line 110 of file eoPopulator.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPrintable.3 b/trunk/paradiseo-eo/doc/man/man3/eoPrintable.3 deleted file mode 100644 index 49026fd26..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPrintable.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoPrintable" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPrintable \- Base class for objects that can print themselves (\fBprintOn\fP#). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoPersistent\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoPrintable\fP ()" -.br -.RI "\fIVirtual dtor. They are needed in virtual class hierarchies. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const =0" -.br -.RI "\fIWrite object. \fP" -.in -1c -.SH "Detailed Description" -.PP -Base class for objects that can print themselves (\fBprintOn\fP#). - -Besides, this file defines the standard output for all the objects; if the objects define printOn there's no need to define #operator <<#.\\ This functionality was separated from \fBeoObject\fP, since it makes no sense to print some objects (for instance, a \fBeoFactory\fP# or a random number generator. -.PP -Definition at line 43 of file eoPrintable.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoPrintable::printOn (std::ostream & _os) const\fC [pure virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implemented in \fBEO< F >\fP, \fBeoContinue< EOT >\fP, \fBeoGenContinue< EOT >\fP, \fBeoPop< EOT >\fP, \fBeoVector< FitT, GeneType >\fP, \fBeoEsFull< Fit >\fP, \fBeoEsSimple< Fit >\fP, \fBeoEsStdev< Fit >\fP, \fBeoBit< FitT >\fP, \fBeoPBILDistrib< EOT >\fP, \fBeoParseTree< FType, Node >\fP, \fBeoExternalEO< Fit, External >\fP, \fBeoString< fitnessT >\fP, \fBeoHowMany\fP, \fBeoIntNoBounds\fP, \fBeoIntInterval\fP, \fBeoIntBelowBound\fP, \fBeoIntAboveBound\fP, \fBeoGeneralIntBounds\fP, \fBeoParser\fP, \fBeoRealNoBounds\fP, \fBeoRealInterval\fP, \fBeoRealBelowBound\fP, \fBeoRealAboveBound\fP, \fBeoGeneralRealBounds\fP, \fBeoRealVectorBounds\fP, \fBeoRng\fP, \fBDummy\fP, \fBDummy\fP, \fBDummy\fP, \fBDummy\fP, \fBEO< double >\fP, \fBEO< EOT::Fitness >\fP, \fBEO< FitT >\fP, \fBEO< phenotype >\fP, \fBEO< fitnessT >\fP, \fBEO< Fit >\fP, \fBEO< FType >\fP, \fBEO< fitness_type >\fP, \fBEO< Fitness >\fP, \fBEO< PyFitness >\fP, \fBeoPop< PyEO >\fP, \fBeoPop< Dummy >\fP, \fBeoVector< Fit, double >\fP, \fBeoVector< FitT, double >\fP, and \fBeoVector< FitT, bool >\fP. -.PP -Referenced by eoRealVectorBounds::printOn(), eoGeneralRealBounds::printOn(), eoGeneralIntBounds::printOn(), and eoState::save(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoProcedureCounter.3 b/trunk/paradiseo-eo/doc/man/man3/eoProcedureCounter.3 deleted file mode 100644 index 65e0b3809..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoProcedureCounter.3 +++ /dev/null @@ -1,64 +0,0 @@ -.TH "eoProcedureCounter" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoProcedureCounter \- Generic counter class that counts the number of times a procedure is used. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoValueParam< unsigned long >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoProcedureCounter\fP (Procedure &_proc, std::string _name='proc_counter')" -.br -.ti -1c -.RI "Procedure::result_type \fBoperator()\fP (void)" -.br -.RI "\fICalls the embedded function and increments the counter. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "Procedure & \fBproc\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoProcedureCounter< Procedure >" -Generic counter class that counts the number of times a procedure is used. - -Add a procedure through its ctor and use this class instead of it. -.PP -It is derived from \fBeoValueParam\fP so you can add it to a monitor. -.PP -Definition at line 41 of file eoCounter.h. -.SH "Member Function Documentation" -.PP -.SS "template Procedure::result_type \fBeoProcedureCounter\fP< Procedure >::operator() (void)\fC [inline]\fP" -.PP -Calls the embedded function and increments the counter. -.PP -Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like 'return void;' is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet. -.PP -We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in \fBEO\fP most functors return void, it was chosen to support void. -.PP -But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then. -.PP -You happy GNU (and other compiler) users will not have a problem with this.. -.PP -Definition at line 64 of file eoCounter.h. -.PP -References eoValueParam< unsigned long >::value(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedBinOp.3 deleted file mode 100644 index 13f97c6b2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedBinOp.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoPropCombinedBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPropCombinedBinOp \- COmbined Binary genetic operator: operator() has two operands, only the first one can be modified. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPropCombinedBinOp\fP (\fBeoBinOp\fP< \fBEOT\fP > &_first, const double _rate)" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.ti -1c -.RI "virtual void \fBadd\fP (\fBeoBinOp\fP< \fBEOT\fP > &_op, const double _rate, bool _verbose=false)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &_indi1, const \fBEOT\fP &_indi2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< \fBeoBinOp\fP< \fBEOT\fP > * > \fBops\fP" -.br -.ti -1c -.RI "std::vector< double > \fBrates\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPropCombinedBinOp< EOT >" -COmbined Binary genetic operator: operator() has two operands, only the first one can be modified. -.PP -Definition at line 109 of file eoProportionalCombinedOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedMonOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedMonOp.3 deleted file mode 100644 index ecebc4ebd..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedMonOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoPropCombinedMonOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPropCombinedMonOp \- \fBeoMonOp\fP is the monary operator: genetic operator that takes only one \fBEO\fP - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPropCombinedMonOp\fP (\fBeoMonOp\fP< \fBEOT\fP > &_first, const double _rate)" -.br -.RI "\fICtor from a 'true' operator. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.ti -1c -.RI "virtual void \fBadd\fP (\fBeoMonOp\fP< \fBEOT\fP > &_op, const double _rate, bool _verbose=false)" -.br -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os)" -.br -.ti -1c -.RI "virtual bool \fBoperator()\fP (\fBEOT\fP &_indi)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "std::vector< \fBeoMonOp\fP< \fBEOT\fP > * > \fBops\fP" -.br -.ti -1c -.RI "std::vector< double > \fBrates\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPropCombinedMonOp< EOT >" -\fBeoMonOp\fP is the monary operator: genetic operator that takes only one \fBEO\fP - -now accepts generic operators -.PP -Definition at line 58 of file eoProportionalCombinedOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedQuadOp.3 deleted file mode 100644 index 4675ae813..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPropCombinedQuadOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoPropCombinedQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPropCombinedQuadOp \- Combined quad genetic operator: operator() has two operands, both can be modified. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPropCombinedQuadOp\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_first, const double _rate)" -.br -.RI "\fICtor from a true operator. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.ti -1c -.RI "virtual void \fBadd\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_op, const double _rate, bool _verbose=false)" -.br -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os)" -.br -.ti -1c -.RI "virtual bool \fBoperator()\fP (\fBEOT\fP &_indi1, \fBEOT\fP &_indi2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< \fBeoQuadOp\fP< \fBEOT\fP > * > \fBops\fP" -.br -.ti -1c -.RI "std::vector< double > \fBrates\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPropCombinedQuadOp< EOT >" -Combined quad genetic operator: operator() has two operands, both can be modified. - -generic operators are now allowed: there are imbedded into the corresponding 'true' operator -.PP -Definition at line 163 of file eoProportionalCombinedOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoPropGAGenOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoPropGAGenOp.3 deleted file mode 100644 index 1da1824db..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoPropGAGenOp.3 +++ /dev/null @@ -1,69 +0,0 @@ -.TH "eoPropGAGenOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoPropGAGenOp \- *************************************************************************** eoPropGAGenOp (for Simple GA, but Proportional) choice between Crossover, mutation or cloining with respect to given relatve weights - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGenOp< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoPropGAGenOp\fP (double _wClone, \fBeoQuadOp\fP< \fBEOT\fP > &_cross, double _wCross, \fBeoMonOp\fP< \fBEOT\fP > &_mut, double _wMut)" -.br -.RI "\fICtor from * weight of clone * crossover (with weight) * mutation (with weight). \fP" -.ti -1c -.RI "virtual void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIdo the job: delegate to op \fP" -.ti -1c -.RI "virtual unsigned \fBmax_production\fP (void)" -.br -.RI "\fIinherited from \fBeoGenOp\fP \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBwClone\fP" -.br -.ti -1c -.RI "\fBeoQuadOp\fP< \fBEOT\fP > & \fBcross\fP" -.br -.ti -1c -.RI "double \fBwCross\fP" -.br -.ti -1c -.RI "\fBeoMonOp\fP< \fBEOT\fP > & \fBmut\fP" -.br -.ti -1c -.RI "double \fBwMut\fP" -.br -.ti -1c -.RI "\fBeoProportionalOp\fP< \fBEOT\fP > \fBpropOp\fP" -.br -.ti -1c -.RI "\fBeoMonCloneOp\fP< \fBEOT\fP > \fBmonClone\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoPropGAGenOp< EOT >" -*************************************************************************** eoPropGAGenOp (for Simple GA, but Proportional) choice between Crossover, mutation or cloining with respect to given relatve weights -.PP -Definition at line 42 of file eoPropGAGenOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoProportionalOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoProportionalOp.3 deleted file mode 100644 index d9e4b9e46..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoProportionalOp.3 +++ /dev/null @@ -1,36 +0,0 @@ -.TH "eoProportionalOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoProportionalOp \- The proportional versions: easy! - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoOpContainer< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIthe function that will do the work \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoProportionalOp< EOT >" -The proportional versions: easy! -.PP -Definition at line 135 of file eoOpContainer.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoProportionalSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoProportionalSelect.3 deleted file mode 100644 index d6d32a29b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoProportionalSelect.3 +++ /dev/null @@ -1,57 +0,0 @@ -.TH "eoProportionalSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoProportionalSelect \- eoProportionalSelect: select an individual proportional to her stored fitness value - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoProportionalSelect\fP (const \fBeoPop\fP< \fBEOT\fP > &pop=\fBeoPop\fP< \fBEOT\fP >())" -.br -.RI "\fISanity check. \fP" -.ti -1c -.RI "void \fBsetup\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIvirtual function to setup some population stats (for instance eoProportional can benefit greatly from this) \fP" -.ti -1c -.RI "const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIdo the selection, \fP" -.in -1c -.SS "Private Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< typename EOT::Fitness > \fBFitVec\fP" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "FitVec \fBcumulative\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoProportionalSelect< EOT >" -eoProportionalSelect: select an individual proportional to her stored fitness value - -Changed the algorithm to make use of a cumulative array of fitness scores, This changes the algorithm from O(n) per call to O(log n) per call. (MK) -.PP -Definition at line 45 of file eoProportionalSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoQuad2BinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoQuad2BinOp.3 deleted file mode 100644 index f23b2e858..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoQuad2BinOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoQuad2BinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoQuad2BinOp \- Turning an \fBeoQuadOp\fP into an \fBeoBinOp\fP: simply don't touch the second arg! - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoQuad2BinOp\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_quadOp)" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, const \fBEOT\fP &_eo2)" -.br -.RI "\fIOperator() simply calls embedded quadOp operator() with dummy second arg. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoQuadOp\fP< \fBEOT\fP > & \fBquadOp\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoQuad2BinOp< EOT >" -Turning an \fBeoQuadOp\fP into an \fBeoBinOp\fP: simply don't touch the second arg! -.PP -Definition at line 143 of file eoOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoQuad2BinOp\fP< \fBEOT\fP >::\fBeoQuad2BinOp\fP (\fBeoQuadOp\fP< \fBEOT\fP > & _quadOp)\fC [inline]\fP" -.PP -Ctor. -.PP -\fBParameters:\fP -.RS 4 -\fI_quadOp\fP the \fBeoQuadOp\fP to be transformed -.RE -.PP - -.PP -Definition at line 149 of file eoOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoQuadCloneOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoQuadCloneOp.3 deleted file mode 100644 index cbc46b497..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoQuadCloneOp.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH "eoQuadCloneOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoQuadCloneOp \- Quad clone: two operands, both could be modified - but are not! - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoQuadCloneOp\fP ()" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.ti -1c -.RI "virtual bool \fBoperator()\fP (\fBEOT\fP &, \fBEOT\fP &)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoQuadCloneOp< EOT >" -Quad clone: two operands, both could be modified - but are not! -.PP -Definition at line 69 of file eoCloneOps.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoQuadDistance.3 b/trunk/paradiseo-eo/doc/man/man3/eoQuadDistance.3 deleted file mode 100644 index db41f4421..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoQuadDistance.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoQuadDistance" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoQuadDistance \- This is a generic class for Euclidain distance (L2 norm) computation: assumes the 2 things are std::vectors of something that is double-castable. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoDistance< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "double \fBoperator()\fP (const \fBEOT\fP &_v1, const \fBEOT\fP &_v2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoQuadDistance< EOT >" -This is a generic class for Euclidain distance (L2 norm) computation: assumes the 2 things are std::vectors of something that is double-castable. -.PP -Definition at line 44 of file eoDistance.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoQuadGenOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoQuadGenOp.3 deleted file mode 100644 index 6e5e8a965..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoQuadGenOp.3 +++ /dev/null @@ -1,50 +0,0 @@ -.TH "eoQuadGenOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoQuadGenOp \- Wrapper for quadop: easy as pie. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGenOp< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoQuadGenOp\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_op)" -.br -.ti -1c -.RI "unsigned \fBmax_production\fP (void)" -.br -.RI "\fIMax production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \fP" -.ti -1c -.RI "void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIthe function that will do the work \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoQuadOp\fP< \fBEOT\fP > & \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoQuadGenOp< EOT >" -Wrapper for quadop: easy as pie. -.PP -Definition at line 157 of file eoGenOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoQuadOp.3 deleted file mode 100644 index 3bb9eb078..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoQuadOp.3 +++ /dev/null @@ -1,38 +0,0 @@ -.TH "eoQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoQuadOp \- Quad genetic operator: subclasses \fBeoOp\fP, and defines basically the operator() with two operands, both can be modified. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoOp< EOType >< EOType >\fP, and \fBeoBF< EOType &, EOType &, bool >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoQuadOp\fP ()" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoQuadOp< EOType >" -Quad genetic operator: subclasses \fBeoOp\fP, and defines basically the operator() with two operands, both can be modified. - -When defining your own, make sure that you return a boolean value indicating that you have changed the content. -.PP -Definition at line 132 of file eoOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRandomReduce.3 b/trunk/paradiseo-eo/doc/man/man3/eoRandomReduce.3 deleted file mode 100644 index 632b8f556..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRandomReduce.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoRandomReduce" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRandomReduce \- random truncation - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduce< EOT >< EOT >\fP. -.PP -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, unsigned _newsize)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoRandomReduce< EOT >" -random truncation -.PP -Definition at line 64 of file eoReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRandomSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoRandomSelect.3 deleted file mode 100644 index 4a8b5d639..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRandomSelect.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoRandomSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRandomSelect \- eoRandomSelect: a selection method that selects ONE individual randomly - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fInot a big deal!!! \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoRandomSelect< EOT >" -eoRandomSelect: a selection method that selects ONE individual randomly -.PP -Definition at line 44 of file eoRandomSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRandomSplit.3 b/trunk/paradiseo-eo/doc/man/man3/eoRandomSplit.3 deleted file mode 100644 index e9eba2d71..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRandomSplit.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoRandomSplit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRandomSplit \- random truncation - batch version - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduceSplit< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRandomSplit\fP (\fBeoHowMany\fP _howMany, bool _returnEliminated=false)" -.br -.RI "\fICtor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, \fBeoPop\fP< \fBEOT\fP > &_eliminated)" -.br -.RI "\fIdo the job \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.ti -1c -.RI "bool \fBreturnEliminated\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoRandomSplit< EOT >" -random truncation - batch version -.PP -Definition at line 124 of file eoReduceSplit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRanking.3 b/trunk/paradiseo-eo/doc/man/man3/eoRanking.3 deleted file mode 100644 index 5658e4208..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRanking.3 +++ /dev/null @@ -1,51 +0,0 @@ -.TH "eoRanking" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRanking \- An instance of eoPerfFromWorth COmputes the ranked fitness: fitnesses range in [m,M] with m=2-pressure/popSize and M=pressure/popSize. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPerf2Worth< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRanking\fP (double _p=2.0, double _e=1.0)" -.br -.ti -1c -.RI "int \fBlookfor\fP (const \fBEOT\fP *_eo, const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBpressure\fP" -.br -.ti -1c -.RI "double \fBexponent\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoRanking< EOT >" -An instance of eoPerfFromWorth COmputes the ranked fitness: fitnesses range in [m,M] with m=2-pressure/popSize and M=pressure/popSize. - -in between, the progression depstd::ends on exponent (linear if 1). -.PP -Definition at line 38 of file eoRanking.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRankingSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoRankingSelect.3 deleted file mode 100644 index aca925dca..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRankingSelect.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoRankingSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRankingSelect \- eoRankingSelect: select an individual by roulette wheel on its rank is an \fBeoRouletteWorthSelect\fP, i.e. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRouletteWorthSelect< EOT, double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRankingSelect\fP (double _p=2.0, double _e=1.0)" -.br -.RI "\fICtor:. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoRanking\fP< \fBEOT\fP > \fBranking\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoRankingSelect< EOT >" -eoRankingSelect: select an individual by roulette wheel on its rank is an \fBeoRouletteWorthSelect\fP, i.e. - -a selector using a std::vector of worthes rather than the raw fitness (see \fBeoSelectFromWorth.h\fP) uses an internal \fBeoRanking\fP object which is an \fBeoPerf2Worth\fP -.PP -Definition at line 41 of file eoRankingSelect.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoRankingSelect\fP< \fBEOT\fP >::\fBeoRankingSelect\fP (double _p = \fC2.0\fP, double _e = \fC1.0\fP)\fC [inline]\fP" -.PP -Ctor:. -.PP -\fBParameters:\fP -.RS 4 -\fI_p\fP the selective pressure, should be in [1,2] (2 is the default) -.br -\fI_e\fP exponent (1 == linear) -.RE -.PP - -.PP -Definition at line 48 of file eoRankingSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoReal.3 b/trunk/paradiseo-eo/doc/man/man3/eoReal.3 deleted file mode 100644 index e6d43981c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoReal.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoReal" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoReal \- eoReal: implementation of simple real-valued chromosome. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoVector< FitT, double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoReal\fP (unsigned size=0, double value=0.0)" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIMy class name. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoReal< FitT >" -eoReal: implementation of simple real-valued chromosome. - -based on \fBeoVector\fP class -.PP -Definition at line 37 of file eoReal.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoReal\fP< \fBFitT\fP >::\fBeoReal\fP (unsigned size = \fC0\fP, double value = \fC0.0\fP)\fC [inline]\fP" -.PP -(Default) Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fIsize\fP Size of the std::vector -.RE -.PP - -.PP -Definition at line 45 of file eoReal.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealAboveBound.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealAboveBound.3 deleted file mode 100644 index b26ed9609..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealAboveBound.3 +++ /dev/null @@ -1,126 +0,0 @@ -.TH "eoRealAboveBound" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealAboveBound \- An eoRealBound bounded from above only. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRealBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealAboveBound\fP (double _max=0)" -.br -.RI "\fISimple bounds = minimum. \fP" -.ti -1c -.RI "virtual double \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds ::exception if unbounded \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double _r) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual \fBeoRealBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrepMaximum\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -An eoRealBound bounded from above only. -.PP -Definition at line 409 of file eoRealBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoRealAboveBound::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. but reading should not be done here, because of bound problems see \fBeoRealVectorBounds\fP -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 477 of file eoRealBounds.h. -.SS "virtual void eoRealAboveBound::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 486 of file eoRealBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealBaseVectorBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealBaseVectorBounds.3 deleted file mode 100644 index d966474a1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealBaseVectorBounds.3 +++ /dev/null @@ -1,135 +0,0 @@ -.TH "eoRealBaseVectorBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealBaseVectorBounds \- Vector type for bounds (see \fBeoRealBounds.h\fP for scalar types) ------------ Class \fBeoRealVectorBounds\fP implements the std::vectorized version: it is basically a std::vector of \fBeoRealBounds\fP * and forwards all request to the elements of the std::vector. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoRealVectorBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealBaseVectorBounds\fP ()" -.br -.RI "\fIDefault Ctor. \fP" -.ti -1c -.RI "\fBeoRealBaseVectorBounds\fP (unsigned _dim, \fBeoRealBounds\fP &_bounds)" -.br -.RI "\fICtor: same bounds for everybody, given as an \fBeoRealBounds\fP. \fP" -.ti -1c -.RI "\fBeoRealBaseVectorBounds\fP (\fBeoRealBounds\fP &_xbounds, \fBeoRealBounds\fP &_ybounds)" -.br -.RI "\fICtor, particular case of dim-2. \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (unsigned _i)" -.br -.RI "\fItest: is i_th component bounded \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (void)" -.br -.RI "\fItest: bounded iff all are bounded \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (unsigned _i)" -.br -.RI "\fISelf-test: true iff i_th component has no bounds at all. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void)" -.br -.RI "\fISelf-test: true iff all components have no bound at all. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (unsigned _i)" -.br -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (unsigned _i)" -.br -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (unsigned _i, double &_r)" -.br -.RI "\fIFolds a real value back into the bounds - i_th component. \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (std::vector< double > &_v)" -.br -.RI "\fIFolds all variables of a std::vector of real values into the bounds. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (unsigned _i, double &_r)" -.br -.RI "\fITruncates a real value to the bounds - i_th component. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (std::vector< double > &_v)" -.br -.RI "\fItruncates all variables of a std::vector of real values to the bounds \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (unsigned _i, double _r)" -.br -.RI "\fItest: is i_th component within the bounds? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (std::vector< double > _v)" -.br -.RI "\fItest: are ALL components within the bounds? \fP" -.ti -1c -.RI "virtual double \fBminimum\fP (unsigned _i)" -.br -.RI "\fIAccessors: will raise an std::exception if these do not exist. \fP" -.ti -1c -.RI "virtual double \fBmaximum\fP (unsigned _i)" -.br -.ti -1c -.RI "virtual double \fBrange\fP (unsigned _i)" -.br -.ti -1c -.RI "virtual double \fBaverageRange\fP ()" -.br -.RI "\fIComputes the average range An std::exception will be raised if one of the component is unbounded. \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (unsigned _i, \fBeoRng\fP &_rng=eo::rng)" -.br -.RI "\fIGenerates a random number in i_th range An std::exception will be raised if one of the component is unbounded. \fP" -.ti -1c -.RI "void \fBuniform\fP (std::vector< double > &_v, \fBeoRng\fP &_rng=eo::rng)" -.br -.RI "\fIfills a std::vector with uniformly chosen variables in bounds An std::exception will be raised if one of the component is unbounded \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.in -1c -.SH "Detailed Description" -.PP -Vector type for bounds (see \fBeoRealBounds.h\fP for scalar types) ------------ Class \fBeoRealVectorBounds\fP implements the std::vectorized version: it is basically a std::vector of \fBeoRealBounds\fP * and forwards all request to the elements of the std::vector. - -This file also contains the global variables and eoDummyVectorNoBounds that are used as defaults in ctors (i.e. when no bounds are given, it is assumed unbounded values) -.PP -THe 2 main classes defined here are -.PP -eoRealBaseVectorBounds, base class that handles all useful functions \fBeoRealVectorBounds\fP which derives from the preceding *and* \fBeoPersistent\fP and also has a mechanism for memory handling of the pointers it has to allocate -.PP -Definition at line 58 of file eoRealVectorBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoRealBaseVectorBounds::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Reimplemented in \fBeoRealVectorBounds\fP. -.PP -Definition at line 214 of file eoRealVectorBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealBelowBound.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealBelowBound.3 deleted file mode 100644 index 323cd326c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealBelowBound.3 +++ /dev/null @@ -1,126 +0,0 @@ -.TH "eoRealBelowBound" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealBelowBound \- an eoRealBound bounded from below only - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRealBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealBelowBound\fP (double _min=0)" -.br -.RI "\fISimple bounds = minimum. \fP" -.ti -1c -.RI "virtual double \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds ::exception if unbounded \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double _r) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual \fBeoRealBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrepMinimum\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -an eoRealBound bounded from below only -.PP -Definition at line 315 of file eoRealBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoRealBelowBound::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. but reading should not be done here, because of bound problems see \fBeoRealVectorBounds\fP -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 382 of file eoRealBounds.h. -.SS "virtual void eoRealBelowBound::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 391 of file eoRealBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealBounds.3 deleted file mode 100644 index f7e15a83b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealBounds.3 +++ /dev/null @@ -1,103 +0,0 @@ -.TH "eoRealBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealBounds \- Defines bound classes for real numbers. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPersistent\fP. -.PP -Inherited by \fBeoGeneralRealBounds\fP, \fBeoRealAboveBound\fP, \fBeoRealBelowBound\fP, \fBeoRealInterval\fP, and \fBeoRealNoBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const =0" -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const =0" -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const =0" -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const =0" -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double) const =0" -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &) const =0" -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &) const =0" -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual double \fBminimum\fP () const =0" -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBmaximum\fP () const =0" -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBrange\fP () const =0" -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const =0" -.br -.RI "\fIrandom generator of uniform numbers in bounds ::exception if unbounded \fP" -.ti -1c -.RI "virtual \fBeoRealBounds\fP * \fBdup\fP () const =0" -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SH "Detailed Description" -.PP -Defines bound classes for real numbers. - -Scalar type: ------------ Basic class is eoRealBounds, a pure virtual. -.PP -The following pure virtual methods are to be used in mutations: -.IP "\(bu" 2 -void foldsInBounds(double &) that folds any value that falls out of the bounds back into the bounds, by bouncing on the limit (if any) -.IP "\(bu" 2 -bool isInBounds(double) that simply says whether or not the argument is in the bounds -.IP "\(bu" 2 -void truncate(double &) that set the argument to the bound value it it exceeds it -.PP -.PP -So mutation can choose -.IP "\(bu" 2 -iterate trying until they fall in bounds, -.IP "\(bu" 2 -only try once and 'restd::pair' by using the foldsInBounds method -.IP "\(bu" 2 -only try once and restd::pair using the truncate method (will create a huge bias toward the bound if the soluiton is not far from the bounds) -.PP -.PP -There is also a \fBuniform()\fP method that generates a uniform value (if possible, i.e. if bounded) in the interval. -.PP -Derived class are \fBeoRealInterval\fP that holds a minimum and maximum value, \fBeoRealNoBounds\fP the 'unbounded bounds' (-infinity, +infinity) \fBeoRealBelowBound\fP the half-bounded interval [min, +infinity) \fBeoRealAboveBound\fP the half-bounded interval (-infinity, max] -.PP -THis file also contains the declaration of *the* global object that is the unbounded bound -.PP -Definition at line 75 of file eoRealBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealInitBounded.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealInitBounded.3 deleted file mode 100644 index 2056b0d60..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealInitBounded.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoRealInitBounded" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealInitBounded \- Simple initialization for any EOT that derives from std::vector uniformly in some bounds. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< EOT >< EOT >\fP. -.PP -Inherited by \fBeoEsChromInit< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealInitBounded\fP (\fBeoRealVectorBounds\fP &_bounds)" -.br -.RI "\fICtor - from \fBeoRealVectorBounds\fP. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIsimply passes the argument to the uniform method of the bounds \fP" -.ti -1c -.RI "virtual \fBeoRealVectorBounds\fP & \fBtheBounds\fP ()" -.br -.RI "\fIaccessor to the bounds \fP" -.ti -1c -.RI "virtual unsigned \fBsize\fP ()" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoRealVectorBounds\fP & \fBbounds\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoRealInitBounded< EOT >" -Simple initialization for any EOT that derives from std::vector uniformly in some bounds. -.PP -Definition at line 40 of file eoRealInitBounded.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealInterval.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealInterval.3 deleted file mode 100644 index dd2bb1000..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealInterval.3 +++ /dev/null @@ -1,132 +0,0 @@ -.TH "eoRealInterval" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealInterval \- fully bounded eoRealBound == interval - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRealBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealInterval\fP (double _min=0, double _max=1)" -.br -.RI "\fISimple bounds = minimum and maximum (allowed). \fP" -.ti -1c -.RI "virtual double \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds ::exception if unbounded \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double _r) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &_r) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual \fBeoRealBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrepMinimum\fP" -.br -.ti -1c -.RI "double \fBrepMaximum\fP" -.br -.ti -1c -.RI "double \fBrepRange\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -fully bounded eoRealBound == interval -.PP -Definition at line 199 of file eoRealBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoRealInterval::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. but reading should not be done here, because of bound problems see \fBeoRealVectorBounds\fP -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 286 of file eoRealBounds.h. -.SS "virtual void eoRealInterval::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 295 of file eoRealBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealNoBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealNoBounds.3 deleted file mode 100644 index 6014503ef..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealNoBounds.3 +++ /dev/null @@ -1,115 +0,0 @@ -.TH "eoRealNoBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealNoBounds \- A default class for unbounded variables. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRealBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual bool \fBisBounded\fP (void) const " -.br -.RI "\fISelf-Test: true if ***both*** a min and a max. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void) const " -.br -.RI "\fISelf-Test: true if no min ***and*** no max hence no further need to test/truncate/fold anything. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from below??? \fP" -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (void) const " -.br -.RI "\fISelf-Test: bounded from above??? \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (double &) const " -.br -.RI "\fIPut value back into bounds - by folding back and forth. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (double &) const " -.br -.RI "\fIPut value back into bounds - by truncating to a boundary value. \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (double) const " -.br -.RI "\fITest on a value: is it in bounds? \fP" -.ti -1c -.RI "virtual double \fBminimum\fP () const " -.br -.RI "\fIget minimum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBmaximum\fP () const " -.br -.RI "\fIget maximum value ::exception if does not exist \fP" -.ti -1c -.RI "virtual double \fBrange\fP () const " -.br -.RI "\fIget range ::exception if unbounded \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (\fBeoRng\fP &_rng=eo::rng) const " -.br -.RI "\fIrandom generator of uniform numbers in bounds ::exception if unbounded \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "virtual \fBeoRealBounds\fP * \fBdup\fP () const " -.br -.RI "\fIfor memory managements - ugly \fP" -.in -1c -.SH "Detailed Description" -.PP -A default class for unbounded variables. -.PP -Definition at line 133 of file eoRealBounds.h. -.SH "Member Function Documentation" -.PP -.SS "virtual void eoRealNoBounds::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. but reading should not be done here, because of bound problems see \fBeoRealVectorBounds\fP -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 171 of file eoRealBounds.h. -.SS "virtual void eoRealNoBounds::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 180 of file eoRealBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealUxOver.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealUxOver.3 deleted file mode 100644 index 7162bffe7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealUxOver.3 +++ /dev/null @@ -1,21 +0,0 @@ -.TH "eoRealUxOver" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealUxOver \- eoRealUxOver --> Uniform crossover, also termed intermediate crossover - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SH "Detailed Description" -.PP -eoRealUxOver --> Uniform crossover, also termed intermediate crossover -.PP - - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealVectorBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealVectorBounds.3 deleted file mode 100644 index 898d74a2d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealVectorBounds.3 +++ /dev/null @@ -1,126 +0,0 @@ -.TH "eoRealVectorBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealVectorBounds \- Now a derived class, for parser reading It holds some of the bounds (and destroy them when dying). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRealBaseVectorBounds\fP, and \fBeoPersistent\fP. -.PP -Inherited by \fBeoRealVectorNoBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealVectorBounds\fP ()" -.br -.RI "\fIDefault Ctor will call base class default ctor. \fP" -.ti -1c -.RI "\fBeoRealVectorBounds\fP (unsigned _dim, \fBeoRealBounds\fP &_bounds)" -.br -.RI "\fICtor: same bounds for everybody, given as an \fBeoRealBounds\fP. \fP" -.ti -1c -.RI "\fBeoRealVectorBounds\fP (\fBeoRealBounds\fP &_xbounds, \fBeoRealBounds\fP &_ybounds)" -.br -.RI "\fICtor, particular case of dim-2. \fP" -.ti -1c -.RI "\fBeoRealVectorBounds\fP (unsigned _dim, double _min, double _max)" -.br -.RI "\fISimple bounds = minimum and maximum (allowed). \fP" -.ti -1c -.RI "\fBeoRealVectorBounds\fP (std::vector< double > _min, std::vector< double > _max)" -.br -.RI "\fICtor: different bounds for different variables, std::vectors of double. \fP" -.ti -1c -.RI "\fBeoRealVectorBounds\fP (std::string _s)" -.br -.RI "\fICtor from a std::string and don't worry, the \fBreadFrom(std::string)\fP starts by setting everything to 0! \fP" -.ti -1c -.RI "virtual \fB~eoRealVectorBounds\fP ()" -.br -.RI "\fIDtor: destroy all ownedBounds - BUG ??? \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object from a stream only calls the \fBreadFrom(std::string)\fP - for param reading. \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::string _s)" -.br -.RI "\fIRead object from a std::string. \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIoverload printOn method to save space \fP" -.ti -1c -.RI "void \fBadjust_size\fP (unsigned _dim)" -.br -.RI "\fIEventually increases the size by duplicating last bound. \fP" -.ti -1c -.RI "\fBeoRealVectorBounds\fP (const \fBeoRealVectorBounds\fP &)" -.br -.RI "\fIneed to rewrite copy ctor and assignement operator because of ownedBounds \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealVectorBounds\fP & \fBoperator=\fP (const \fBeoRealVectorBounds\fP &)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< unsigned int > \fBfactor\fP" -.br -.ti -1c -.RI "std::vector< \fBeoRealBounds\fP * > \fBownedBounds\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Now a derived class, for parser reading It holds some of the bounds (and destroy them when dying). -.PP -Definition at line 228 of file eoRealVectorBounds.h. -.SH "Member Function Documentation" -.PP -.SS "void eoRealVectorBounds::readFrom (std::istream & _is)\fC [virtual]\fP" -.PP -Read object from a stream only calls the \fBreadFrom(std::string)\fP - for param reading. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 65 of file eoRealBounds.cpp. -.PP -Referenced by eoRealVectorBounds(). -.SS "void eoRealVectorBounds::readFrom (std::string _s)\fC [virtual]\fP" -.PP -Read object from a std::string. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP - -.PP -Definition at line 73 of file eoRealBounds.cpp. -.PP -References adjust_size(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRealVectorNoBounds.3 b/trunk/paradiseo-eo/doc/man/man3/eoRealVectorNoBounds.3 deleted file mode 100644 index c7758a924..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRealVectorNoBounds.3 +++ /dev/null @@ -1,101 +0,0 @@ -.TH "eoRealVectorNoBounds" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRealVectorNoBounds \- the dummy unbounded \fBeoRealVectorBounds\fP: usefull if you don't need bounds! everything is inlined. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRealVectorBounds\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRealVectorNoBounds\fP (unsigned _dim)" -.br -.RI "\fICtor: nothing to do, but beware of dimension: call base class ctor. \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (unsigned)" -.br -.RI "\fItest: is i_th component bounded \fP" -.ti -1c -.RI "virtual bool \fBisBounded\fP (void)" -.br -.RI "\fItest: bounded iff all are bounded \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (unsigned)" -.br -.RI "\fISelf-test: true iff i_th component has no bounds at all. \fP" -.ti -1c -.RI "virtual bool \fBhasNoBoundAtAll\fP (void)" -.br -.RI "\fISelf-test: true iff all components have no bound at all. \fP" -.ti -1c -.RI "virtual bool \fBisMinBounded\fP (unsigned)" -.br -.ti -1c -.RI "virtual bool \fBisMaxBounded\fP (unsigned)" -.br -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (unsigned, double &)" -.br -.RI "\fIFolds a real value back into the bounds - i_th component. \fP" -.ti -1c -.RI "virtual void \fBfoldsInBounds\fP (std::vector< double > &)" -.br -.RI "\fIFolds all variables of a std::vector of real values into the bounds. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (unsigned, double &)" -.br -.RI "\fITruncates a real value to the bounds - i_th component. \fP" -.ti -1c -.RI "virtual void \fBtruncate\fP (std::vector< double > &)" -.br -.RI "\fItruncates all variables of a std::vector of real values to the bounds \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (unsigned, double)" -.br -.RI "\fItest: is i_th component within the bounds? \fP" -.ti -1c -.RI "virtual bool \fBisInBounds\fP (std::vector< double >)" -.br -.RI "\fItest: are ALL components within the bounds? \fP" -.ti -1c -.RI "virtual double \fBminimum\fP (unsigned)" -.br -.RI "\fIAccessors: will raise an std::exception if these do not exist. \fP" -.ti -1c -.RI "virtual double \fBmaximum\fP (unsigned)" -.br -.ti -1c -.RI "virtual double \fBrange\fP (unsigned)" -.br -.ti -1c -.RI "virtual double \fBaverageRange\fP ()" -.br -.RI "\fIComputes the average range An std::exception will be raised if one of the component is unbounded. \fP" -.ti -1c -.RI "virtual double \fBuniform\fP (unsigned, \fBeoRng\fP &_rng=eo::rng)" -.br -.RI "\fIGenerates a random number in i_th range An std::exception will be raised if one of the component is unbounded. \fP" -.ti -1c -.RI "void \fBuniform\fP (std::vector< double > &, \fBeoRng\fP &_rng=eo::rng)" -.br -.RI "\fIfills a std::vector with uniformly chosen variables in bounds An std::exception will be raised if one of the component is unbounded \fP" -.in -1c -.SH "Detailed Description" -.PP -the dummy unbounded \fBeoRealVectorBounds\fP: usefull if you don't need bounds! everything is inlined. - -Warning: we do need this class, and not only a std::vector -.PP -Definition at line 352 of file eoRealVectorBounds.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoReduce.3 b/trunk/paradiseo-eo/doc/man/man3/eoReduce.3 deleted file mode 100644 index 3150aae15..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoReduce.3 +++ /dev/null @@ -1,29 +0,0 @@ -.TH "eoReduce" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoReduce \- eoReduce: .reduce the new generation to the specified size At the moment, limited to truncation - with 2 different methods, one that sorts the whole population, and one that repeatidely kills the worst. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< eoPop< EOT > &, unsigned, void >\fP. -.PP -Inherited by \fBeoDetTournamentTruncate< EOT >\fP, \fBeoEPReduce< EOT >\fP, \fBeoLinearTruncate< EOT >\fP, \fBeoRandomReduce< EOT >\fP, \fBeoStochTournamentTruncate< EOT >\fP, \fBeoStochTournamentTruncateSplit< EOT >\fP, and \fBeoTruncate< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoReduce< EOT >" -eoReduce: .reduce the new generation to the specified size At the moment, limited to truncation - with 2 different methods, one that sorts the whole population, and one that repeatidely kills the worst. - -Ideally, we should be able to choose at run-time!!! -.PP -Definition at line 45 of file eoReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoReduceMerge.3 b/trunk/paradiseo-eo/doc/man/man3/eoReduceMerge.3 deleted file mode 100644 index 1cb7e5032..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoReduceMerge.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoReduceMerge" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoReduceMerge \- eoReduceMerge: Replacement strategies that start by reducing the parents, then merge with the offspring - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReplacement< EOT >< EOT >\fP. -.PP -Inherited by \fBeoSSGADetTournamentReplacement< EOT >\fP, \fBeoSSGAStochTournamentReplacement< EOT >\fP, and \fBeoSSGAWorseReplacement< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoReduceMerge\fP (\fBeoReduce\fP< \fBEOT\fP > &_reduce, \fBeoMerge\fP< \fBEOT\fP > &_merge)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoReduce\fP< \fBEOT\fP > & \fBreduce\fP" -.br -.ti -1c -.RI "\fBeoMerge\fP< \fBEOT\fP > & \fBmerge\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoReduceMerge< EOT >" -eoReduceMerge: Replacement strategies that start by reducing the parents, then merge with the offspring - -This is the way to do SSGA: the offspring gets inserted in the population even if it is worse than anybody else. -.PP -: eoReduceMerge, \fBeoSSGAWorseReplacement\fP, \fBeoSSGADetTournamentReplacement\fP, \fBeoSSGAStochTournamentReplacement\fP -.PP -Definition at line 53 of file eoReduceMerge.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoReduceMergeReduce.3 b/trunk/paradiseo-eo/doc/man/man3/eoReduceMergeReduce.3 deleted file mode 100644 index 9c6813d36..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoReduceMergeReduce.3 +++ /dev/null @@ -1,61 +0,0 @@ -.TH "eoReduceMergeReduce" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoReduceMergeReduce \- eoReduceMergeReduce is an \fBeoReplacement\fP: - saves possible elite parents - reduces rest of parents - reduces offspring - merges reduced populations - reduces resulting merged pop if necessary - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReplacement< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoReduceMergeReduce\fP (\fBeoHowMany\fP _howManyElite, bool _strongElitism, \fBeoHowMany\fP _howManyReducedParents, \fBeoReduce\fP< \fBEOT\fP > &_reduceParents, \fBeoHowMany\fP _howManyReducedOffspring, \fBeoReduce\fP< \fBEOT\fP > &_reduceOffspring, \fBeoReduce\fP< \fBEOT\fP > &_reduceFinal)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoHowMany\fP \fBhowManyElite\fP" -.br -.ti -1c -.RI "bool \fBstrongElitism\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowManyReducedParents\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowManyReducedOffspring\fP" -.br -.ti -1c -.RI "\fBeoReduce\fP< \fBEOT\fP > & \fBreduceParents\fP" -.br -.ti -1c -.RI "\fBeoReduce\fP< \fBEOT\fP > & \fBreduceOffspring\fP" -.br -.ti -1c -.RI "\fBeoReduce\fP< \fBEOT\fP > & \fBreduceFinal\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoReduceMergeReduce< EOT >" -eoReduceMergeReduce is an \fBeoReplacement\fP: - saves possible elite parents - reduces rest of parents - reduces offspring - merges reduced populations - reduces resulting merged pop if necessary -.PP -Definition at line 49 of file eoReduceMergeReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoReduceSplit.3 b/trunk/paradiseo-eo/doc/man/man3/eoReduceSplit.3 deleted file mode 100644 index 2618fbda8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoReduceSplit.3 +++ /dev/null @@ -1,27 +0,0 @@ -.TH "eoReduceSplit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoReduceSplit \- eoReduceSplit: reduce the pop to the specified size AND eventually returns the eliminated guys - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoDetTournamentTruncateSplit< EOT >\fP, \fBeoLinearRandomSplit< EOT >\fP, \fBeoLinearTruncateSplit< EOT >\fP, \fBeoRandomSplit< EOT >\fP, and \fBeoTruncateSplit< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoReduceSplit< EOT >" -eoReduceSplit: reduce the pop to the specified size AND eventually returns the eliminated guys -.PP -Definition at line 42 of file eoReduceSplit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoReplacement.3 deleted file mode 100644 index 3f134d0bb..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoReplacement.3 +++ /dev/null @@ -1,38 +0,0 @@ -.TH "eoReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoReplacement \- -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoDeterministicSaDReplacement< EOT >\fP, \fBeoG3Replacement< EOT >\fP, \fBeoGenerationalReplacement< EOT >\fP, \fBeoMergeReduce< EOT >\fP, \fBeoMGGReplacement< EOT >\fP, \fBeoNDPlusReplacement< EOT, WorthT >\fP, \fBeoNDPlusReplacement< EOT, WorthT >\fP, \fBeoReduceMerge< EOT >\fP, \fBeoReduceMergeReduce< EOT >\fP, and \fBeoWeakElitistReplacement< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoReplacement< EOT >" -NOTE: 2 \fBeoPop\fP as arguments the resulting population should be in the first argument (replace parents by offspring)! The second argument can contain any rubbish -.PP ---- The \fBeoMergeReduce\fP, combination of \fBeoMerge\fP and \fBeoReduce\fP, can be found in file \fBeoMergeReduce.h\fP -.PP -The \fBeoReduceMergeReduce\fP that reduces the parents and the offspring, merges the 2 reduced populations, and eventually reduces that final population, can be found in \fBeoReduceMergeReduce.h\fP -.PP -LOG --- Removed the const before first argument: though it makes too many classes with the same interface, it allows to minimize the number of actual copies by choosing the right destination I also removed the enforced 'swap' in the eoEasyAlgo and hence the generational replacement gets a class of its own that only does the swap (instead of the eoNoReplacement that did nothing, relying on the algo to swap popualtions). MS 12/12/2000 -.PP -\fBSee also:\fP -.RS 4 -\fBeoMerge\fP, \fBeoReduce\fP, \fBeoMergeReduce\fP, \fBeoReduceMerge\fP -.RE -.PP -eoReplacement, base (pure abstract) class \fBeoGenerationalReplacement\fP, as it says ... \fBeoWeakElitistReplacement\fP a wrapper to add elitism -.PP -Definition at line 77 of file eoReplacement.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRndGenerator.3 b/trunk/paradiseo-eo/doc/man/man3/eoRndGenerator.3 deleted file mode 100644 index 98718c042..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRndGenerator.3 +++ /dev/null @@ -1,38 +0,0 @@ -.TH "eoRndGenerator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRndGenerator \- By popular demand re-introducing a base class for a family of random number generators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoF< T >\fP. -.PP -Inherited by \fBeoNegExpGenerator< T >\fP, \fBeoNormalGenerator< T >\fP, and \fBeoUniformGenerator< T >\fP. -.PP -.SS "Private Types" - -.in +1c -.ti -1c -.RI "typedef T \fBAtomType\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoRndGenerator< T >" -By popular demand re-introducing a base class for a family of random number generators. - -Derived members of this class are useful to initialize fixed/variable length genotypes that have an 'atomic' type in an indepent way (thus without employing any knowledge about the problem domain). -.PP -See derived classes \fBeoUniformGenerator\fP, \fBeoBooleanGenerator\fP, \fBeoNormalGenerator\fP and \fBeoNegExpGenerator\fP -.PP -Definition at line 47 of file eoRndGenerators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRng.3 b/trunk/paradiseo-eo/doc/man/man3/eoRng.3 deleted file mode 100644 index b91f17d40..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRng.3 +++ /dev/null @@ -1,345 +0,0 @@ -.TH "eoRng" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRng \- Random Number Generator. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoObject\fP, and \fBeoPersistent\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRng\fP (uint32_t s)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "void \fBreseed\fP (uint32_t s)" -.br -.RI "\fIRe-initializes the Random Number Generator. \fP" -.ti -1c -.RI "void \fBoldReseed\fP (uint32_t s)" -.br -.RI "\fIRe-initializes the Random Number Generator. \fP" -.ti -1c -.RI "double \fBuniform\fP (double m=1.0)" -.br -.RI "\fIuniform(m = 1.0) returns a random double in the range [0, m) \fP" -.ti -1c -.RI "uint32_t \fBrandom\fP (uint32_t m)" -.br -.RI "\fI\fBrandom()\fP returns a random integer in the range [0, m) \fP" -.ti -1c -.RI "bool \fBflip\fP (float bias=0.5)" -.br -.RI "\fI\fBflip()\fP tosses a biased coin such that flip(x/100.0) will returns true x% of the time \fP" -.ti -1c -.RI "double \fBnormal\fP (void)" -.br -.RI "\fI\fBnormal()\fP zero mean gaussian deviate with standard deviation of 1 \fP" -.ti -1c -.RI "double \fBnormal\fP (double stdev)" -.br -.RI "\fInormal(stdev) zero mean gaussian deviate with user defined standard deviation \fP" -.ti -1c -.RI "double \fBnormal\fP (double mean, double stdev)" -.br -.RI "\fInormal(mean, stdev) user defined mean gaussian deviate with user defined standard deviation \fP" -.ti -1c -.RI "double \fBnegexp\fP (double mean)" -.br -.RI "\fIGenerates random numbers using a negative exponential distribution. \fP" -.ti -1c -.RI "uint32_t \fBrand\fP ()" -.br -.RI "\fI\fBrand()\fP returns a random number in the range [0, rand_max) \fP" -.ti -1c -.RI "uint32_t \fBrand_max\fP (void) const " -.br -.RI "\fI\fBrand_max()\fP the maximum returned by \fBrand()\fP \fP" -.ti -1c -.RI "template int \fBroulette_wheel\fP (const std::vector< TYPE > &vec, TYPE total=0)" -.br -.RI "\fIroulette_wheel(vec, total = 0) does a roulette wheel selection on the input std::vector vec. \fP" -.ti -1c -.RI "template const TYPE & \fBchoice\fP (const std::vector< TYPE > &vec) const " -.br -.RI "\fIRandomly select element from vector. \fP" -.ti -1c -.RI "template TYPE & \fBchoice\fP (std::vector< TYPE > &vec)" -.br -.RI "\fIRandomly select element from vector. \fP" -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &_os) const " -.br -.RI "\fIWrite object. \fP" -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &_is)" -.br -.RI "\fIRead object. \fP" -.ti -1c -.RI "std::string \fBclassName\fP (void) const " -.br -.RI "\fIReturn the class id. \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "uint32_t \fBrestart\fP (void)" -.br -.ti -1c -.RI "void \fBinitialize\fP (uint32_t seed)" -.br -.ti -1c -.RI "\fBeoRng\fP (const \fBeoRng\fP &)" -.br -.RI "\fICopy constructor. \fP" -.ti -1c -.RI "\fBeoRng\fP & \fBoperator=\fP (const \fBeoRng\fP &)" -.br -.RI "\fIAssignmant operator. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "uint32_t * \fBstate\fP" -.br -.RI "\fIArray for the state. \fP" -.ti -1c -.RI "uint32_t * \fBnext\fP" -.br -.ti -1c -.RI "int \fBleft\fP" -.br -.ti -1c -.RI "bool \fBcached\fP" -.br -.ti -1c -.RI "float \fBcacheValue\fP" -.br -.ti -1c -.RI "const int \fBN\fP" -.br -.ti -1c -.RI "const int \fBM\fP" -.br -.ti -1c -.RI "const uint32_t \fBK\fP" -.br -.RI "\fIMagic constant. \fP" -.in -1c -.SH "Detailed Description" -.PP -Random Number Generator. - -eoRng is a persistent class that uses the ``Mersenne Twister'' random number generator MT19937 for generating random numbers. The various member functions implement useful functions for evolutionary algorithms. Included are: \fBrand()\fP, \fBrandom()\fP, \fBflip()\fP and \fBnormal()\fP. -.PP -\fBEO\fP provides a global random number generator \fCrng\fP that is seeded by the current UNIX time at program start. Moreover some global convenience functions are provided that use the global random number generator: \fCrandom\fP, \fCnormal\fP. -.PP -\fBWarning:\fP -.RS 4 -If you want to repeatedly generated the same sequence of pseudo-random numbers, you should always reseed the generator at the beginning of your code. -.RE -.PP -.SH "Documentation in original file" -.PP -.PP -This is the ``Mersenne Twister'' random number generator MT19937, which generates pseudorandom integers uniformly distributed in 0..(2^32 - 1) starting from any odd seed in 0..(2^32 - 1). This version is a recode by Shawn Cokus (Cokus@math.washington.edu) on March 8, 1998 of a version by Takuji Nishimura (who had suggestions from Topher Cooper and Marc Rieffel in July-August 1997). -.PP -Effectiveness of the recoding (on Goedel2.math.washington.edu, a DEC Alpha running OSF/1) using GCC -O3 as a compiler: before recoding: 51.6 sec. to generate 300 million random numbers; after recoding: 24.0 sec. for the same (i.e., 46.5% of original time), so speed is now about 12.5 million random number generations per second on this machine. -.PP -According to the URL (and paraphrasing a bit in places), the Mersenne Twister is ``designed with consideration of the flaws of various existing generators,'' has a period of 2^19937 - 1, gives a sequence that is 623-dimensionally equidistributed, and ``has passed many std::stringent tests, including the die-hard test of G. Marsaglia and the load test of P. Hellekalek and S. Wegenkittl.'' It is efficient in memory usage (typically using 2506 to 5012 bytes of static data, depending on data type sizes, and the code is quite short as well). It generates random numbers in batches of 624 at a time, so the caching and pipelining of modern systems is exploited. It is also divide- and mod-free. -.PP -The code as Shawn received it included the following notice: \fCCopyright (C) 1997 Makoto Matsumoto and Takuji Nishimura. When you use this, send an e-mail to with an appropriate reference to your work.\fP It would be nice to Cc: and when you write. -.PP -.SH "Portability" -.PP -.PP -Note for people porting \fBEO\fP to other platforms: please make sure that the type uint32_t in the file \fBeoRng.h\fP is exactly 32 bits long. It may in principle be longer, but not shorter. If it is longer, file compatibility between \fBEO\fP on different platforms may be broken. -.PP -Definition at line 103 of file eoRNG.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "eoRng::eoRng (uint32_t s)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fIs\fP Random seed; if you want another seed, use reseed. -.RE -.PP -\fBSee also:\fP -.RS 4 -\fBreseed\fP for details on usage of the seeding value. -.RE -.PP - -.PP -Definition at line 113 of file eoRNG.h. -.PP -References K, and state. -.SS "eoRng::eoRng (const \fBeoRng\fP &)\fC [private]\fP" -.PP -Copy constructor. -.PP -Private copy ctor and assignment operator to make sure that nobody accidentally copies the random number generator. If you want similar RNG's, make two RNG's and initialize them with the same seed. -.PP -As it cannot be called, we do not provide an implementation. -.SH "Member Function Documentation" -.PP -.SS "void eoRng::reseed (uint32_t s)\fC [inline]\fP" -.PP -Re-initializes the Random Number Generator. -.PP -WARNING: Jeroen Eggermont noticed that initialize does not differentiate between odd and even numbers, therefore the argument to reseed is now doubled before being passed on. -.PP -Manually divide the seed by 2 if you want to re-run old runs -.PP -\fBVersion:\fP -.RS 4 -MS. 5 Oct. 2001 -.RE -.PP - -.PP -Definition at line 135 of file eoRNG.h. -.SS "void eoRng::oldReseed (uint32_t s)\fC [inline]\fP" -.PP -Re-initializes the Random Number Generator. -.PP -This is the traditional seeding procedure. This version is deprecated and only provided for compatibility with old code. In new projects you should use reseed. -.PP -\fBSee also:\fP -.RS 4 -\fBreseed\fP for details on usage of the seeding value. -.RE -.PP -\fBVersion:\fP -.RS 4 -old version (deprecated) -.RE -.PP - -.PP -Definition at line 150 of file eoRNG.h. -.SS "template int eoRng::roulette_wheel (const std::vector< TYPE > & vec, TYPE total = \fC0\fP)\fC [inline]\fP" -.PP -roulette_wheel(vec, total = 0) does a roulette wheel selection on the input std::vector vec. -.PP -If the total is not supplied, it is calculated. It returns an integer denoting the selected argument. -.PP -Definition at line 225 of file eoRNG.h. -.PP -References uniform(). -.PP -Referenced by eoPropCombinedQuadOp< EOT >::operator()(), eoPropCombinedBinOp< EOT >::operator()(), eoPropCombinedMonOp< EOT >::operator()(), and eoCombinedInit< EOT >::operator()(). -.SS "template const TYPE& eoRng::choice (const std::vector< TYPE > & vec) const\fC [inline]\fP" -.PP -Randomly select element from vector. -.PP -\fBReturns:\fP -.RS 4 -Uniformly chosen element from the vector. -.RE -.PP - -.PP -Definition at line 247 of file eoRNG.h. -.PP -References random(). -.SS "template TYPE& eoRng::choice (std::vector< TYPE > & vec)\fC [inline]\fP" -.PP -Randomly select element from vector. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -Provide a version returning a non-const element reference. -.PP -\fBReturns:\fP -.RS 4 -Uniformly chosen element from the vector. -.RE -.PP -\fBWarning:\fP -.RS 4 -Changing the return value does alter the vector. -.RE -.PP - -.PP -Definition at line 262 of file eoRNG.h. -.PP -References random(). -.SS "void eoRng::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" -.PP -Write object. -.PP -It's called printOn since it prints the object on a stream. -.PP -\fBParameters:\fP -.RS 4 -\fI_os\fP A std::ostream. -.RE -.PP - -.PP -Implements \fBeoPrintable\fP. -.PP -Definition at line 266 of file eoRNG.h. -.PP -References state. -.SS "void eoRng::readFrom (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Read object. -.PP -\fBParameters:\fP -.RS 4 -\fI_is\fP A std::istream. -.RE -.PP -\fBExceptions:\fP -.RS 4 -\fIruntime_std::exception\fP If a valid object can't be read. -.RE -.PP - -.PP -Implements \fBeoPersistent\fP. -.PP -Definition at line 277 of file eoRNG.h. -.PP -References state. -.SS "std::string eoRng::className (void) const\fC [inline, virtual]\fP" -.PP -Return the class id. -.PP -This should be redefined in each class. Only 'leaf' classes can be non-virtual. -.PP -Maarten: removed the default implementation as this proved to be too error-prone: I found several classes that had a typo in className (like classname), which would print \fBeoObject\fP instead of their own. Having it pure will force the implementor to provide a name. -.PP -Implements \fBeoObject\fP. -.PP -Definition at line 293 of file eoRNG.h. -.SS "\fBeoRng\fP& eoRng::operator= (const \fBeoRng\fP &)\fC [private]\fP" -.PP -Assignmant operator. -.PP -\fBSee also:\fP -.RS 4 -Copy constructor \fBeoRng(const eoRng&)\fP. -.RE -.PP - - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoRouletteWorthSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoRouletteWorthSelect.3 deleted file mode 100644 index 44ca18140..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoRouletteWorthSelect.3 +++ /dev/null @@ -1,56 +0,0 @@ -.TH "eoRouletteWorthSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoRouletteWorthSelect \- An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectFromWorth< EOT, WorthT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< WorthT >::iterator \fBworthIterator\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoRouletteWorthSelect\fP (\fBeoPerf2Worth\fP< \fBEOT\fP, WorthT > &_perf2Worth)" -.br -.ti -1c -.RI "virtual void \fBsetup\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIvirtual function to setup some population stats (for instance eoProportional can benefit greatly from this) \fP" -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBtotal\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoRouletteWorthSelect< EOT, WorthT >" -An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... - -roulette wheel selection, yes! -.PP -Definition at line 167 of file eoSelectFromWorth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSGA.3 b/trunk/paradiseo-eo/doc/man/man3/eoSGA.3 deleted file mode 100644 index f48192210..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSGA.3 +++ /dev/null @@ -1,64 +0,0 @@ -.TH "eoSGA" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSGA \- The Simple Genetic Algorithm, following Holland and Goldberg. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoAlgo< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSGA\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, \fBeoQuadOp\fP< \fBEOT\fP > &_cross, float _crate, \fBeoMonOp\fP< \fBEOT\fP > &_mutate, float _mrate, \fBeoEvalFunc\fP< \fBEOT\fP > &_eval, \fBeoContinue\fP< \fBEOT\fP > &_cont)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoContinue\fP< \fBEOT\fP > & \fBcont\fP" -.br -.ti -1c -.RI "\fBeoInvalidateMonOp\fP< \fBEOT\fP > \fBmutate\fP" -.br -.RI "\fI\fBeoInvalidateMonOp\fP invalidates the embedded operator \fP" -.ti -1c -.RI "float \fBmutationRate\fP" -.br -.ti -1c -.RI "\fBeoInvalidateQuadOp\fP< \fBEOT\fP > \fBcross\fP" -.br -.ti -1c -.RI "float \fBcrossoverRate\fP" -.br -.ti -1c -.RI "\fBeoSelectPerc\fP< \fBEOT\fP > \fBselect\fP" -.br -.ti -1c -.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBeval\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSGA< EOT >" -The Simple Genetic Algorithm, following Holland and Goldberg. - -Needs a selector (class \fBeoSelectOne\fP) a crossover (eoQuad, i.e. a 2->2 operator) and a mutation with their respective rates, of course an evaluation function (\fBeoEvalFunc\fP) and a continuator (\fBeoContinue\fP) which gives the stopping criterion. Performs full generational replacement. -.PP -Definition at line 49 of file eoSGA.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSGAGenOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoSGAGenOp.3 deleted file mode 100644 index abeac1fc3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSGAGenOp.3 +++ /dev/null @@ -1,71 +0,0 @@ -.TH "eoSGAGenOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSGAGenOp \- *************************************************************************** eoSGAGenOp (for Simple GA) mimicks the usual crossover with proba pCross + mutation with proba pMut inside an eoGeneralOp It does it exactly as class \fBeoSGATransform\fP, i.e. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGenOp< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSGAGenOp\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_cross, double _pCross, \fBeoMonOp\fP< \fBEOT\fP > &_mut, double _pMut)" -.br -.RI "\fICtor from crossover (with proba) and mutation (with proba) Builds the sequential op that first applies a proportional choice between the crossover and nothing (cloning), then the mutation. \fP" -.ti -1c -.RI "virtual void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIdo the job: delegate to op \fP" -.ti -1c -.RI "virtual unsigned \fBmax_production\fP (void)" -.br -.RI "\fIinherited from \fBeoGenOp\fP \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoQuadOp\fP< \fBEOT\fP > & \fBcross\fP" -.br -.ti -1c -.RI "double \fBpCross\fP" -.br -.ti -1c -.RI "\fBeoMonOp\fP< \fBEOT\fP > & \fBmut\fP" -.br -.ti -1c -.RI "double \fBpMut\fP" -.br -.ti -1c -.RI "\fBeoProportionalOp\fP< \fBEOT\fP > \fBpropOp\fP" -.br -.ti -1c -.RI "\fBeoQuadCloneOp\fP< \fBEOT\fP > \fBquadClone\fP" -.br -.ti -1c -.RI "\fBeoSequentialOp\fP< \fBEOT\fP > \fBop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSGAGenOp< EOT >" -*************************************************************************** eoSGAGenOp (for Simple GA) mimicks the usual crossover with proba pCross + mutation with proba pMut inside an eoGeneralOp It does it exactly as class \fBeoSGATransform\fP, i.e. - -only accepts quadratic crossover and unary mutation It was introduced for didactic reasons, but seems to be popular :-) -.PP -Definition at line 44 of file eoSGAGenOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSGATransform.3 b/trunk/paradiseo-eo/doc/man/man3/eoSGATransform.3 deleted file mode 100644 index 87fa9f775..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSGATransform.3 +++ /dev/null @@ -1,73 +0,0 @@ -.TH "eoSGATransform" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSGATransform \- eoSGATransform: transforms a population using genetic operators. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoTransform< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSGATransform\fP (\fBeoQuadOp\fP< \fBEOT\fP > &_cross, double _cProba, \fBeoMonOp\fP< \fBEOT\fP > &_mutate, double _mProba)" -.br -.RI "\fIDefault constructor. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fITransforms a population. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoInvalidateQuadOp\fP< \fBEOT\fP > \fBcross\fP" -.br -.ti -1c -.RI "double \fBcrossoverProba\fP" -.br -.ti -1c -.RI "\fBeoInvalidateMonOp\fP< \fBEOT\fP > \fBmutate\fP" -.br -.ti -1c -.RI "double \fBmutationProba\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSGATransform< EOT >" -eoSGATransform: transforms a population using genetic operators. - -It does it exactly as class \fBeoSGA\fP, i.e. only accepts quadratic crossover and unary mutation It is here mainly for tutorial reasons -.PP -Definition at line 45 of file eoSGATransform.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoSGATransform\fP< \fBEOT\fP >::operator() (\fBeoPop\fP< \fBEOT\fP > & _pop)\fC [inline, virtual]\fP" -.PP -Transforms a population. -.PP -\fBParameters:\fP -.RS 4 -\fIpop\fP The population to be transformed. -.RE -.PP - -.PP -Implements \fBeoUF< eoPop< EOT > &, void >\fP. -.PP -Definition at line 62 of file eoSGATransform.h. -.PP -References eoRng::flip(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSSGADetTournamentReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoSSGADetTournamentReplacement.3 deleted file mode 100644 index 667fd4585..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSSGADetTournamentReplacement.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoSSGADetTournamentReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSSGADetTournamentReplacement \- SSGA deterministic tournament replacement. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduceMerge< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSSGADetTournamentReplacement\fP (unsigned _t_size)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoDetTournamentTruncate\fP< \fBEOT\fP > \fBtruncate\fP" -.br -.ti -1c -.RI "\fBeoPlus\fP< \fBEOT\fP > \fBplus\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSSGADetTournamentReplacement< EOT >" -SSGA deterministic tournament replacement. - -Is an \fBeoReduceMerge\fP. -.PP -Definition at line 91 of file eoReduceMerge.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSSGAStochTournamentReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoSSGAStochTournamentReplacement.3 deleted file mode 100644 index 8f8e91f4f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSSGAStochTournamentReplacement.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoSSGAStochTournamentReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSSGAStochTournamentReplacement \- SSGA stochastic tournament replacement. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduceMerge< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSSGAStochTournamentReplacement\fP (double _t_rate)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoStochTournamentTruncate\fP< \fBEOT\fP > \fBtruncate\fP" -.br -.ti -1c -.RI "\fBeoPlus\fP< \fBEOT\fP > \fBplus\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSSGAStochTournamentReplacement< EOT >" -SSGA stochastic tournament replacement. - -Is an \fBeoReduceMerge\fP. It much cleaner to insert directly the offspring in the parent population, but it is NOT equivalent in case of more than 1 offspring as already replaced could be removed , which is not possible in the \fBeoReduceMerge\fP So what the heck ! -.PP -Definition at line 108 of file eoReduceMerge.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSSGAWorseReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoSSGAWorseReplacement.3 deleted file mode 100644 index dc8bdc4af..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSSGAWorseReplacement.3 +++ /dev/null @@ -1,37 +0,0 @@ -.TH "eoSSGAWorseReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSSGAWorseReplacement \- SSGA replace worst. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduceMerge< EOT >< EOT >\fP. -.PP -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoLinearTruncate\fP< \fBEOT\fP > \fBtruncate\fP" -.br -.ti -1c -.RI "\fBeoPlus\fP< \fBEOT\fP > \fBplus\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSSGAWorseReplacement< EOT >" -SSGA replace worst. - -Is an \fBeoReduceMerge\fP. -.PP -Definition at line 77 of file eoReduceMerge.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSTLBF.3 b/trunk/paradiseo-eo/doc/man/man3/eoSTLBF.3 deleted file mode 100644 index 39cd642c1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSTLBF.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoSTLBF" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSTLBF \- Generic set of classes that wrap an \fBeoF\fP, \fBeoUF\fP or \fBeoBF\fP so that they have the copy semantics the STL functions usually require (i.e. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSTLBF\fP (\fBeoUF\fP< A1, R > &_f)" -.br -.ti -1c -.RI "R \fBoperator()\fP (A1 a1, A2 a2)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoBF\fP< A1, A2, R > & \fBf\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSTLBF< A1, A2, R >" -Generic set of classes that wrap an \fBeoF\fP, \fBeoUF\fP or \fBeoBF\fP so that they have the copy semantics the STL functions usually require (i.e. - -they can be passed by value, rather than the \fBEO\fP standard pass by reference). -.PP -The family consists of \fBeoSTLF\fP, \fBeoSTLUF\fP, eoSTLBF that modify \fBeoF\fP, \fBeoUF\fP and \fBeoBF\fP respectively -.PP -Definition at line 101 of file eoSTLFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSTLF.3 b/trunk/paradiseo-eo/doc/man/man3/eoSTLF.3 deleted file mode 100644 index 0d525a6b7..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSTLF.3 +++ /dev/null @@ -1,51 +0,0 @@ -.TH "eoSTLF" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSTLF \- Generic set of classes that wrap an \fBeoF\fP, \fBeoUF\fP or \fBeoBF\fP so that they have the copy semantics the STL functions usually require (i.e. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef R \fBresult_type\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSTLF\fP (\fBeoF\fP< R > &_f)" -.br -.ti -1c -.RI "R \fBoperator()\fP (void)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoF\fP< R > & \fBf\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSTLF< R >" -Generic set of classes that wrap an \fBeoF\fP, \fBeoUF\fP or \fBeoBF\fP so that they have the copy semantics the STL functions usually require (i.e. - -they can be passed by value, rather than the \fBEO\fP standard pass by reference). -.PP -The family consists of eoSTLF, \fBeoSTLUF\fP, \fBeoSTLBF\fP that modify \fBeoF\fP, \fBeoUF\fP and \fBeoBF\fP respectively -.PP -Definition at line 41 of file eoSTLFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSTLUF.3 b/trunk/paradiseo-eo/doc/man/man3/eoSTLUF.3 deleted file mode 100644 index 587365c9d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSTLUF.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoSTLUF" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSTLUF \- Generic set of classes that wrap an \fBeoF\fP, \fBeoUF\fP or \fBeoBF\fP so that they have the copy semantics the STL functions usually require (i.e. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSTLUF\fP (\fBeoUF\fP< A1, R > &_f)" -.br -.ti -1c -.RI "R \fBoperator()\fP (A1 a)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoUF\fP< A1, R > & \fBf\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSTLUF< A1, R >" -Generic set of classes that wrap an \fBeoF\fP, \fBeoUF\fP or \fBeoBF\fP so that they have the copy semantics the STL functions usually require (i.e. - -they can be passed by value, rather than the \fBEO\fP standard pass by reference). -.PP -The family consists of \fBeoSTLF\fP, eoSTLUF, \fBeoSTLBF\fP that modify \fBeoF\fP, \fBeoUF\fP and \fBeoBF\fP respectively -.PP -Definition at line 78 of file eoSTLFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoScalarFitness.3 b/trunk/paradiseo-eo/doc/man/man3/eoScalarFitness.3 deleted file mode 100644 index 901791e07..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoScalarFitness.3 +++ /dev/null @@ -1,66 +0,0 @@ -.TH "eoScalarFitness" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoScalarFitness \- eoScalarFitness >: Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less) or minimizing (using greater) - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoScalarFitness\fP (const \fBeoScalarFitness\fP &other)" -.br -.ti -1c -.RI "\fBeoScalarFitness\fP (const ScalarType &v)" -.br -.ti -1c -.RI "\fBeoScalarFitness\fP & \fBoperator=\fP (const \fBeoScalarFitness\fP &other)" -.br -.ti -1c -.RI "\fBeoScalarFitness\fP & \fBoperator=\fP (const ScalarType &v)" -.br -.ti -1c -.RI "\fBoperator ScalarType\fP (void) const " -.br -.ti -1c -.RI "bool \fBoperator<\fP (const \fBeoScalarFitness\fP &other) const " -.br -.RI "\fIComparison, using less by default. \fP" -.ti -1c -.RI "bool \fBoperator>\fP (const \fBeoScalarFitness\fP< ScalarType, Compare > &y) const " -.br -.ti -1c -.RI "bool \fBoperator<=\fP (const \fBeoScalarFitness\fP< ScalarType, Compare > &y) const " -.br -.ti -1c -.RI "bool \fBoperator>=\fP (const \fBeoScalarFitness\fP< ScalarType, Compare > &y) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "ScalarType \fBvalue\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoScalarFitness< ScalarType, Compare >" -eoScalarFitness >: Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less) or minimizing (using greater) - -It overrides \fBoperator<()\fP to use the Compare template argument -.PP -Suitable constructors and assignments and casts are defined to work with this quantity as if it were a ScalarType. -.PP -Definition at line 43 of file eoScalarFitness.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessAssembled.3 b/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessAssembled.3 deleted file mode 100644 index fed14116a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessAssembled.3 +++ /dev/null @@ -1,134 +0,0 @@ -.TH "eoScalarFitnessAssembled" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoScalarFitnessAssembled \- Implements fitness as std::vector, storing all values that might occur during fitness assembly. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< ScalarType > \fBbaseVector\fP" -.br -.ti -1c -.RI "typedef baseVector::size_type \fBsize_type\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoScalarFitnessAssembled\fP (size_type _n, const ScalarType &_val, const std::string &_descr='Unnamed variable')" -.br -.ti -1c -.RI "\fBeoScalarFitnessAssembled\fP (const \fBeoScalarFitnessAssembled\fP &other)" -.br -.ti -1c -.RI "\fBeoScalarFitnessAssembled\fP & \fBoperator=\fP (const \fBeoScalarFitnessAssembled\fP &other)" -.br -.ti -1c -.RI "\fBeoScalarFitnessAssembled\fP (const ScalarType &v)" -.br -.ti -1c -.RI "\fBeoScalarFitnessAssembled\fP & \fBoperator=\fP (const ScalarType &v)" -.br -.ti -1c -.RI "void \fBpush_back\fP (const ScalarType &_val)" -.br -.RI "\fIOverload \fBpush_back()\fP. \fP" -.ti -1c -.RI "void \fBpush_back\fP (const ScalarType &_val, const std::string &_descr)" -.br -.RI "\fIOverload \fBpush_back()\fP. \fP" -.ti -1c -.RI "void \fBresize\fP (size_type _n, const ScalarType &_val=ScalarType(), const std::string &_descr='Unnamed variable')" -.br -.RI "\fIOverload \fBresize()\fP. \fP" -.ti -1c -.RI "void \fBsetDescription\fP (size_type _idx, std::string _descr)" -.br -.RI "\fISet description. \fP" -.ti -1c -.RI "std::string \fBgetDescription\fP (size_type _idx)" -.br -.RI "\fIGet description. \fP" -.ti -1c -.RI "std::vector< std::string > \fBgetDescriptionVector\fP ()" -.br -.RI "\fIGet vector with descriptions. \fP" -.ti -1c -.RI "\fBoperator ScalarType\fP (void) const " -.br -.ti -1c -.RI "void \fBprintAll\fP (std::ostream &os) const " -.br -.RI "\fIPrint term values and descriptions. \fP" -.ti -1c -.RI "bool \fBoperator<\fP (const \fBeoScalarFitnessAssembled\fP &other) const " -.br -.ti -1c -.RI "bool \fBoperator>\fP (const \fBeoScalarFitnessAssembled\fP< ScalarType, Compare, FitnessTraits > &y) const " -.br -.ti -1c -.RI "bool \fBoperator<=\fP (const \fBeoScalarFitnessAssembled\fP< ScalarType, Compare, FitnessTraits > &y) const " -.br -.ti -1c -.RI "bool \fBoperator>=\fP (const \fBeoScalarFitnessAssembled\fP< ScalarType, Compare, FitnessTraits > &y) const " -.br -.in -1c -.SS "Public Attributes" - -.in +1c -.ti -1c -.RI "bool \fBfeasible\fP" -.br -.RI "\fICan be specified anywhere in fitness evaluation as an indicator if the individual is in some feasible range. \fP" -.ti -1c -.RI "bool \fBfailed\fP" -.br -.RI "\fICan be specified anywhere in fitness evaluation as an indicator if the evaluation of the individual failed. \fP" -.ti -1c -.RI "std::string \fBmsg\fP" -.br -.RI "\fICan be specified anywhere in fitness evaluation. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoScalarFitnessAssembled< ScalarType, Compare, FitnessTraits >" -Implements fitness as std::vector, storing all values that might occur during fitness assembly. - -Properties: -.IP "\(bu" 2 -Wraps a scalar fitness values such as a double or int, with the option of maximizing (using less) or minimizing (using greater). -.IP "\(bu" 2 -Stores all kinda different values met during fitness assembly, to be defined in \fBeoEvalFunc\fP. -.IP "\(bu" 2 -It overrides operator<() to use the Compare template argument. -.IP "\(bu" 2 -Suitable constructors and assignments and casts are defined to work with this quantity as if it were a ScalarType. -.IP "\(bu" 2 -Global fitness value is stored as first element in the vector -.PP - -.PP -Definition at line 88 of file eoScalarFitnessAssembled.h. -.SH "Member Data Documentation" -.PP -.SS "template std::string \fBeoScalarFitnessAssembled\fP< ScalarType, Compare, FitnessTraits >::\fBmsg\fP" -.PP -Can be specified anywhere in fitness evaluation. -.PP -Typically used to store some sort of error messages, if evaluation of individual failed. -.PP -Definition at line 195 of file eoScalarFitnessAssembled.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessAssembledTraits.3 b/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessAssembledTraits.3 deleted file mode 100644 index 569e184a3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessAssembledTraits.3 +++ /dev/null @@ -1,60 +0,0 @@ -.TH "eoScalarFitnessAssembledTraits" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoScalarFitnessAssembledTraits \- Defines properties of \fBeoScalarFitnessAssembled\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< std::string >::size_type \fBsize_type\fP" -.br -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBsetDescription\fP (size_type _idx, std::string _descr)" -.br -.ti -1c -.RI "std::string \fBgetDescription\fP (size_type _idx)" -.br -.ti -1c -.RI "void \fBresize\fP (size_type _n, const std::string &_descr)" -.br -.ti -1c -.RI "size_type \fBsize\fP ()" -.br -.ti -1c -.RI "std::vector< std::string > \fBgetDescriptionVector\fP ()" -.br -.in -1c -.SS "Static Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< std::string > \fBTermDescriptions\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Defines properties of \fBeoScalarFitnessAssembled\fP. - -Properties that are hold in this traits class: -.IP "\(bu" 2 -std::vector to hold descriptions of the different fitness terms -.PP - -.PP -Definition at line 43 of file eoScalarFitnessAssembled.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessStat.3 deleted file mode 100644 index e323dbe20..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoScalarFitnessStat.3 +++ /dev/null @@ -1,43 +0,0 @@ -.TH "eoScalarFitnessStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoScalarFitnessStat \- The fitnesses of a whole population, as a std::vector. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSortedStat< EOT, std::vector< double > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoScalarFitnessStat\fP (std::string _description='FitnessES', eoRealVectorBounds &_bounds=eoDummyVectorNoBounds)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const std::vector< const \fBEOT\fP * > &_popPters)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoRealBounds\fP & \fBrange\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoScalarFitnessStat< EOT, FitT >" -The fitnesses of a whole population, as a std::vector. -.PP -Definition at line 37 of file eoScalarFitnessStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSecondMomentStats.3 b/trunk/paradiseo-eo/doc/man/man3/eoSecondMomentStats.3 deleted file mode 100644 index 02aeb9b7d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSecondMomentStats.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoSecondMomentStats" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSecondMomentStats \- Average fitness + Std. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoStat< EOT, std::pair< double, double > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::Fitness \fBfitness_type\fP" -.br -.ti -1c -.RI "typedef std::pair< double, double > \fBSquarePair\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSecondMomentStats\fP (std::string _description='Average & Stdev')" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "SquarePair \fBsumOfSquares\fP (SquarePair _sq, const \fBEOT\fP &_eo)" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSecondMomentStats< EOT >" -Average fitness + Std. - -dev. of a population, fitness needs to be scalar. -.PP -Definition at line 168 of file eoStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSegmentCrossover.3 b/trunk/paradiseo-eo/doc/man/man3/eoSegmentCrossover.3 deleted file mode 100644 index 5196b90eb..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSegmentCrossover.3 +++ /dev/null @@ -1,108 +0,0 @@ -.TH "eoSegmentCrossover" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSegmentCrossover \- eoSegmentCrossover --> uniform choice in segment == arithmetical with same value along all coordinates - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSegmentCrossover\fP (const double &_alpha=0.0)" -.br -.RI "\fI(Default) Constructor. \fP" -.ti -1c -.RI "\fBeoSegmentCrossover\fP (\fBeoRealVectorBounds\fP &_bounds, const double &_alpha=0.0)" -.br -.RI "\fIConstructor with bounds. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIThe class name. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIsegment crossover - modifies both parents \fP" -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "\fBeoRealVectorBounds\fP & \fBbounds\fP" -.br -.ti -1c -.RI "double \fBalpha\fP" -.br -.ti -1c -.RI "double \fBrange\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSegmentCrossover< EOT >" -eoSegmentCrossover --> uniform choice in segment == arithmetical with same value along all coordinates -.PP -Definition at line 247 of file eoRealOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoSegmentCrossover\fP< \fBEOT\fP >::\fBeoSegmentCrossover\fP (const double & _alpha = \fC0.0\fP)\fC [inline]\fP" -.PP -(Default) Constructor. -.PP -The bounds are initialized with the global object that says: no bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_alphaMin\fP the amount of exploration OUTSIDE the parents as in BLX-alpha notation (Eshelman and Schaffer) 0 == contractive application Must be positive -.RE -.PP - -.PP -Definition at line 259 of file eoRealOp.h. -.SS "template \fBeoSegmentCrossover\fP< \fBEOT\fP >::\fBeoSegmentCrossover\fP (\fBeoRealVectorBounds\fP & _bounds, const double & _alpha = \fC0.0\fP)\fC [inline]\fP" -.PP -Constructor with bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP an \fBeoRealVectorBounds\fP that contains the bounds -.br -\fI_alphaMin\fP the amount of exploration OUTSIDE the parents as in BLX-alpha notation (Eshelman and Schaffer) 0 == contractive application Must be positive -.RE -.PP - -.PP -Definition at line 270 of file eoRealOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoSegmentCrossover\fP< \fBEOT\fP >::operator() (\fBEOT\fP & _eo1, \fBEOT\fP & _eo2)\fC [inline, virtual]\fP" -.PP -segment crossover - modifies both parents -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The first parent -.br -\fI_eo2\fP The first parent -.RE -.PP - -.PP -Implements \fBeoBF< EOT &, EOT &, bool >\fP. -.PP -Definition at line 282 of file eoRealOp.h. -.PP -References eoRealBaseVectorBounds::isMaxBounded(), eoRealBaseVectorBounds::isMinBounded(), eoRealBaseVectorBounds::maximum(), eoRealBaseVectorBounds::minimum(), and eoRng::uniform(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelBinGenOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelBinGenOp.3 deleted file mode 100644 index 9815440a6..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelBinGenOp.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoSelBinGenOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelBinGenOp \- wrapper for \fBeoBinOp\fP with a selector - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGenOp< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSelBinGenOp\fP (\fBeoBinOp\fP< \fBEOT\fP > &_op, \fBeoSelectOne\fP< \fBEOT\fP > &_sel)" -.br -.ti -1c -.RI "unsigned \fBmax_production\fP (void)" -.br -.RI "\fIMax production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash. \fP" -.ti -1c -.RI "void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIthe function that will do the work \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoBinOp\fP< \fBEOT\fP > & \fBop\fP" -.br -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBsel\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelBinGenOp< EOT >" -wrapper for \fBeoBinOp\fP with a selector -.PP -Definition at line 133 of file eoGenOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelect.3 deleted file mode 100644 index 545e54ab9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelect.3 +++ /dev/null @@ -1,29 +0,0 @@ -.TH "eoSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelect \- eoSelect selects a number of individuals from the first argument and puts it in the second. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoDetSelect< EOT >\fP, eoEasyEA< EOT >::eoDummySelect, \fBeoSelectMany< EOT >\fP, \fBeoSelectNumber< EOT >\fP, \fBeoSelectPerc< EOT >\fP, \fBeoTruncatedSelectMany< EOT >\fP, and \fBeoTruncSelect< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoSelect< EOT >" -eoSelect selects a number of individuals from the first argument and puts it in the second. - -To emphasize that it should not try to enlarge the population, the second argument is an eoPopRange, a simple struct that holds a begin and end iterator to the population -.PP -Definition at line 40 of file eoSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelectFactory.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelectFactory.3 deleted file mode 100644 index aa0d8ba4e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelectFactory.3 +++ /dev/null @@ -1,81 +0,0 @@ -.TH "eoSelectFactory" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelectFactory \- \fBEO\fP Factory.An instance of the factory class to create selectors, that is, \fBeoSelect\fP objects. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFactory< eoSelect< EOT > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fBeoSelect\fP< \fBEOT\fP > * \fBmake\fP (std::istream &_is)" -.br -.RI "\fIAnother factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. \fP" -.in -1c -.PP -.RI "\fBctors and dtors\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "\fBeoSelectFactory\fP ()" -.br -.RI "\fIconstructor \fP" -.ti -1c -.RI "virtual \fB~eoSelectFactory\fP ()" -.br -.RI "\fIdestructor \fP" -.in -1c -.in -1c -.PP -.RI "\fBeoObject methods\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "void \fBprintOn\fP (std::ostream &_os) const " -.br -.ti -1c -.RI "void \fBreadFrom\fP (std::istream &_is)" -.br -.in -1c -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelectFactory< EOT >" -\fBEO\fP Factory.An instance of the factory class to create selectors, that is, \fBeoSelect\fP objects. - -\fBSee also:\fP -.RS 4 -\fBeoSelect\fP -.RE -.PP - -.PP -Definition at line 39 of file eoSelectFactory.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual \fBeoSelect\fP<\fBEOT\fP>* \fBeoSelectFactory\fP< \fBEOT\fP >::make (std::istream & _is)\fC [inline, virtual]\fP" -.PP -Another factory methods: creates an object from an std::istream, reading from it whatever is needed to create the object. -.PP -Usually, the format for the std::istream will be\\ objectType parameter1 parameter2 ... parametern\\ -.PP -Implements \fBeoFactory< eoSelect< EOT > >\fP. -.PP -Definition at line 56 of file eoSelectFactory.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelectFromWorth.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelectFromWorth.3 deleted file mode 100644 index 4d1e44d8a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelectFromWorth.3 +++ /dev/null @@ -1,61 +0,0 @@ -.TH "eoSelectFromWorth" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelectFromWorth \- selects one element from a population (is an \fBeoSelectOne\fP) but the selection is based on a std::vector of Worth that is different from the fitnesses (e.g. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSelectFromWorth\fP (\fBeoPerf2Worth\fP< \fBEOT\fP, WorthType > &_perf2Worth)" -.br -.ti -1c -.RI "virtual void \fBsetup\fP (const \fBeoPop\fP< \fBEOT\fP > &pop)" -.br -.RI "\fIvirtual function to setup some population stats (for instance eoProportional can benefit greatly from this) \fP" -.in -1c -.SS "Protected Member Functions" - -.in +1c -.ti -1c -.RI "void \fBcheck_sync\fP (unsigned index, const \fBEOT\fP &_eo)" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "\fBeoPerf2Worth\fP< \fBEOT\fP, WorthType > & \fBperf2Worth\fP" -.br -.ti -1c -.RI "std::vector< typename EOT::Fitness > \fBfitness\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelectFromWorth< EOT, WorthType >" -selects one element from a population (is an \fBeoSelectOne\fP) but the selection is based on a std::vector of Worth that is different from the fitnesses (e.g. - -\fBEO\fP fitness is what Koza terms 'raw fitness', Worth is what the selection is based upon). -.PP -see class \fBeoPerf2Worth\fP: an \fBeoStat\fP that transforms fitnesses into Worthes -.PP -Note: Worthes will not always be doubles - see some multi-objective techniques where it is a std::pair of doubles ... -.PP -It has to have a < operator it you want to call an existing selector (see selector.h) - but of course you can write the whole thing ... -.PP -Definition at line 51 of file eoSelectFromWorth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelectMany.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelectMany.3 deleted file mode 100644 index 6e8425732..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelectMany.3 +++ /dev/null @@ -1,74 +0,0 @@ -.TH "eoSelectMany" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelectMany \- eoSelectMany selects many individuals using \fBeoSelectOne\fP as it's mechanism. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelect< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSelectMany\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, double _rate, bool _interpret_as_rate=true)" -.br -.RI "\fIinit \fP" -.ti -1c -.RI "\fBeoSelectMany\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, \fBeoHowMany\fP _howMany)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_source, \fBeoPop\fP< \fBEOT\fP > &_dest)" -.br -.RI "\fIThe implementation repeatidly selects an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBselect\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelectMany< EOT >" -eoSelectMany selects many individuals using \fBeoSelectOne\fP as it's mechanism. - -Therefore eoSelectMany needs an \fBeoSelectOne\fP in its ctor -.PP -It will use an eoHowMnay to determine the number of guys to select, and push them to the back of the destination population. -.PP -Definition at line 45 of file eoSelectMany.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoSelectMany\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _source, \fBeoPop\fP< \fBEOT\fP > & _dest)\fC [inline, virtual]\fP" -.PP -The implementation repeatidly selects an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_source\fP the source population -.br -\fI_dest\fP the resulting population (size of this population is the number of times \fBeoSelectOne\fP is called. It empties the destination and adds the selection into it) -.RE -.PP - -.PP -Implements \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Definition at line 63 of file eoSelectMany.h. -.PP -References eoSelectOne< EOT, WorthT >::setup(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelectNumber.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelectNumber.3 deleted file mode 100644 index 92515da48..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelectNumber.3 +++ /dev/null @@ -1,71 +0,0 @@ -.TH "eoSelectNumber" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelectNumber \- eoSelectNumber selects many individuals using \fBeoSelectOne\fP as it's mechanism. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelect< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSelectNumber\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, unsigned _nb_to_select=1)" -.br -.RI "\fIinit \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_source, \fBeoPop\fP< \fBEOT\fP > &_dest)" -.br -.RI "\fIThe implementation repeatidly selects an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBselect\fP" -.br -.ti -1c -.RI "unsigned \fBnb_to_select\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelectNumber< EOT >" -eoSelectNumber selects many individuals using \fBeoSelectOne\fP as it's mechanism. - -Therefore eoSelectNumber needs an \fBeoSelectOne\fP in its ctor -.PP -It will select a fixed number of individuals and pushes them to the back of the destination population. -.PP -Definition at line 42 of file eoSelectNumber.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoSelectNumber\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _source, \fBeoPop\fP< \fBEOT\fP > & _dest)\fC [inline, virtual]\fP" -.PP -The implementation repeatidly selects an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_source\fP the source population -.br -\fI_dest\fP the resulting population (size of this population is the number of times \fBeoSelectOne\fP is called. It empties the destination and adds the selection into it) -.RE -.PP - -.PP -Implements \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Definition at line 55 of file eoSelectNumber.h. -.PP -References eoSelectOne< EOT, WorthT >::setup(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelectOne.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelectOne.3 deleted file mode 100644 index e07a9bc46..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelectOne.3 +++ /dev/null @@ -1,42 +0,0 @@ -.TH "eoSelectOne" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelectOne \- eoSelectOne selects only one element from a whole population. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< const eoPop< EOT > &, const EOT & >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBsetup\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIvirtual function to setup some population stats (for instance eoProportional can benefit greatly from this) \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelectOne< EOT, WorthT >" -eoSelectOne selects only one element from a whole population. - -Most selection techniques are simply repeated applications of eoSelectOne. -.PP -\fBSee also:\fP -.RS 4 -\fBeoSelectMany\fP, eoSelectRandom, eoDetTournament, eoStochTournament, eoProportional -.RE -.PP - -.PP -Definition at line 45 of file eoSelectOne.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelectPerc.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelectPerc.3 deleted file mode 100644 index 14673937b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelectPerc.3 +++ /dev/null @@ -1,71 +0,0 @@ -.TH "eoSelectPerc" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelectPerc \- eoSelectPerc selects many individuals using \fBeoSelectOne\fP as it's mechanism. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelect< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSelectPerc\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, float _rate=1.0)" -.br -.RI "\fIinit \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_source, \fBeoPop\fP< \fBEOT\fP > &_dest)" -.br -.RI "\fIThe implementation selects a percentage. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBselect\fP" -.br -.ti -1c -.RI "float \fBrate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelectPerc< EOT >" -eoSelectPerc selects many individuals using \fBeoSelectOne\fP as it's mechanism. - -Therefore eoSelectPerc needs an \fBeoSelectOne\fP in its ctor -.PP -It will select floor(rate*pop.size()) individuals and pushes them to the back of the destination population. -.PP -Definition at line 42 of file eoSelectPerc.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoSelectPerc\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _source, \fBeoPop\fP< \fBEOT\fP > & _dest)\fC [inline, virtual]\fP" -.PP -The implementation selects a percentage. -.PP -\fBParameters:\fP -.RS 4 -\fI_source\fP the source population -.br -\fI_dest\fP the resulting population (size of this population is the number of times \fBeoSelectOne\fP is called. It empties the destination and adds the selection into it) -.RE -.PP - -.PP -Implements \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Definition at line 55 of file eoSelectPerc.h. -.PP -References eoSelectOne< EOT, WorthT >::setup(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelectTransform.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelectTransform.3 deleted file mode 100644 index b013b8e12..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelectTransform.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoSelectTransform" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelectTransform \- Embedded select, followed by an embedded transform. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBreed< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSelectTransform\fP (\fBeoSelect\fP< \fBEOT\fP > &_select, \fBeoTransform\fP< \fBEOT\fP > &_transform)" -.br -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelect\fP< \fBEOT\fP > & \fBselect\fP" -.br -.ti -1c -.RI "\fBeoTransform\fP< \fBEOT\fP > & \fBtransform\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelectTransform< EOT >" -Embedded select, followed by an embedded transform. - -Special breeder that is just an application of an embedded select, followed by an embedded transform -.PP -Definition at line 57 of file eoBreed.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSelectivePopulator.3 b/trunk/paradiseo-eo/doc/man/man3/eoSelectivePopulator.3 deleted file mode 100644 index ef51d7ec1..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSelectivePopulator.3 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "eoSelectivePopulator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSelectivePopulator \- SelectivePopulator an eoPoplator that uses an \fBeoSelectOne\fP to select guys. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPopulator< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSelectivePopulator\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoPop\fP< \fBEOT\fP > &_dest, \fBeoSelectOne\fP< \fBEOT\fP > &_sel)" -.br -.ti -1c -.RI "const \fBEOT\fP & \fBselect\fP ()" -.br -.RI "\fIthe select method actually selects one guy from the src pop \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBsel\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSelectivePopulator< EOT >" -SelectivePopulator an eoPoplator that uses an \fBeoSelectOne\fP to select guys. - -Supposedly, it is passed the initial population. -.PP -Definition at line 184 of file eoPopulator.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSeqPopulator.3 b/trunk/paradiseo-eo/doc/man/man3/eoSeqPopulator.3 deleted file mode 100644 index 35f524c0b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSeqPopulator.3 +++ /dev/null @@ -1,43 +0,0 @@ -.TH "eoSeqPopulator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSeqPopulator \- SeqPopulator: an \fBeoPopulator\fP that sequentially goes through the population is supposed to be used after a batch select of a whole bunch or genitors. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPopulator< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSeqPopulator\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoPop\fP< \fBEOT\fP > &_dest)" -.br -.ti -1c -.RI "const \fBEOT\fP & \fBselect\fP (void)" -.br -.RI "\fIthe select method simply returns next individual in the src pop \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBcurrent\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSeqPopulator< EOT >" -SeqPopulator: an \fBeoPopulator\fP that sequentially goes through the population is supposed to be used after a batch select of a whole bunch or genitors. -.PP -Definition at line 152 of file eoPopulator.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSequentialOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoSequentialOp.3 deleted file mode 100644 index 40ffee48d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSequentialOp.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoSequentialOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSequentialOp \- Sequential selection: note the mark, rewind, unmark cycle here operators are repeatedly applied on the same individual(s) not all too elegant, but it sort of works... - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoOpContainer< EOT >< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef unsigned \fBposition_type\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBapply\fP (\fBeoPopulator\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIthe function that will do the work \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "std::vector< size_t > \fBto_apply\fP" -.br -.ti -1c -.RI "std::vector< size_t > \fBproduction\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSequentialOp< EOT >" -Sequential selection: note the mark, rewind, unmark cycle here operators are repeatedly applied on the same individual(s) not all too elegant, but it sort of works... -.PP -Definition at line 88 of file eoOpContainer.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSequentialSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoSequentialSelect.3 deleted file mode 100644 index 687b4154f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSequentialSelect.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoSequentialSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSequentialSelect \- All Individuals in order. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSequentialSelect\fP (bool _ordered=true)" -.br -.RI "\fICtor: sets the current pter to numeric_limits::max() so init will take place first time not very elegant, maybe ... \fP" -.ti -1c -.RI "void \fBsetup\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIvirtual function to setup some population stats (for instance eoProportional can benefit greatly from this) \fP" -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "bool \fBordered\fP" -.br -.ti -1c -.RI "unsigned \fBcurrent\fP" -.br -.ti -1c -.RI "std::vector< const \fBEOT\fP * > \fBeoPters\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSequentialSelect< EOT >" -All Individuals in order. - -Looping back to the beginning when exhausted, can be from best to worse, or in random order. -.PP -It is the \fBeoSelectOne\fP equivalent of \fBeoDetSelect\fP - though \fBeoDetSelect\fP always returns individuals from best to worst -.PP -Definition at line 52 of file eoSequentialSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSharing.3 b/trunk/paradiseo-eo/doc/man/man3/eoSharing.3 deleted file mode 100644 index a9391ca69..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSharing.3 +++ /dev/null @@ -1,46 +0,0 @@ -.TH "eoSharing" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSharing \- Sharing is a perf2worth class that implements Goldberg and Richardson's basic sharing see \fBeoSharingSelect\fP for how to use it and test/t-eoSharing.cpp for a sample use of both. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPerf2Worth< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSharing\fP (double _nicheSize, \fBeoDistance\fP< \fBEOT\fP > &_dist)" -.br -.ti -1c -.RI "void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIComputes shared fitnesses. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBnicheSize\fP" -.br -.ti -1c -.RI "\fBeoDistance\fP< \fBEOT\fP > & \fBdist\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSharing< EOT >" -Sharing is a perf2worth class that implements Goldberg and Richardson's basic sharing see \fBeoSharingSelect\fP for how to use it and test/t-eoSharing.cpp for a sample use of both. -.PP -Definition at line 79 of file eoSharing.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSharingSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoSharingSelect.3 deleted file mode 100644 index 8433a2a9b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSharingSelect.3 +++ /dev/null @@ -1,56 +0,0 @@ -.TH "eoSharingSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSharingSelect \- eoSharingSelect: select an individual by roulette wheel on its SHARED fitness. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRouletteWorthSelect< EOT, double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSharingSelect\fP (double _sigma, \fBeoDistance\fP< \fBEOT\fP > &_dist)" -.br -.RI "\fICtor:. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSharing\fP< \fBEOT\fP > \fBsharing\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSharingSelect< EOT >" -eoSharingSelect: select an individual by roulette wheel on its SHARED fitness. - -It is an \fBeoRouletteWorthSelect\fP, i.e. a selector using a std::vector of worthes rather than the raw fitness (see \fBeoSelectFromWorth.h\fP) It uses an internal \fBeoSharing\fP object which is an \fBeoPerf2Worth\fP -.PP -Definition at line 43 of file eoSharingSelect.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoSharingSelect\fP< \fBEOT\fP >::\fBeoSharingSelect\fP (double _sigma, \fBeoDistance\fP< \fBEOT\fP > & _dist)\fC [inline]\fP" -.PP -Ctor:. -.PP -\fBParameters:\fP -.RS 4 -\fI_s\fP the sigma_share -.RE -.PP - -.PP -Definition at line 49 of file eoSharingSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSimpleEDA.3 b/trunk/paradiseo-eo/doc/man/man3/eoSimpleEDA.3 deleted file mode 100644 index 472867860..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSimpleEDA.3 +++ /dev/null @@ -1,64 +0,0 @@ -.TH "eoSimpleEDA" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSimpleEDA \- eoSimpleEDA: a very simple Estimation of Distribution Algorithm - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoEDA< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSimpleEDA\fP (\fBeoDistribUpdater\fP< \fBEOT\fP > &_update, \fBeoEvalFunc\fP< \fBEOT\fP > &_eval, unsigned _popSize, \fBeoContinue\fP< \fBEOT\fP > &_continuator)" -.br -.RI "\fICtor from an \fBeoDistribUpdater\fP ... \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (\fBeoDistribution\fP< \fBEOT\fP > &_distrib)" -.br -.RI "\fIThe algorithm: generate pop from distrib, evaluate pop, update distrib. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoDistribUpdater\fP< \fBEOT\fP > & \fBupdate\fP" -.br -.ti -1c -.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBeval\fP" -.br -.ti -1c -.RI "unsigned \fBpopSize\fP" -.br -.ti -1c -.RI "\fBeoContinue\fP< \fBEOT\fP > & \fBcontinuator\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSimpleEDA< EOT >" -eoSimpleEDA: a very simple Estimation of Distribution Algorithm - -The algorithm that evolves a probability distribution on the spaces of populations with the loop generate a population from the current distribution evaluate that population update the distribution -.PP -Definition at line 46 of file eoSimpleEDA.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoSimpleEDA\fP< \fBEOT\fP >::\fBeoSimpleEDA\fP (\fBeoDistribUpdater\fP< \fBEOT\fP > & _update, \fBeoEvalFunc\fP< \fBEOT\fP > & _eval, unsigned _popSize, \fBeoContinue\fP< \fBEOT\fP > & _continuator)\fC [inline]\fP" -.PP -Ctor from an \fBeoDistribUpdater\fP ... -.PP -plus an eoEval and \fBeoContinue\fP of course -.PP -Definition at line 53 of file eoSimpleEDA.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSortedPopStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoSortedPopStat.3 deleted file mode 100644 index f6705b34e..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSortedPopStat.3 +++ /dev/null @@ -1,72 +0,0 @@ -.TH "eoSortedPopStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSortedPopStat \- Thanks to MS/VC++, \fBeoParam\fP mechanism is unable to handle std::vectors of stats. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSortedStat< EOT, std::string >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSortedPopStat\fP (unsigned _howMany=0, std::string _desc='')" -.br -.RI "\fIdefault Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. \fP" -.ti -1c -.RI "void \fBoperator()\fP (const std::vector< const \fBEOT\fP * > &_pop)" -.br -.RI "\fIFills the \fBvalue()\fP of the \fBeoParam\fP with the dump of the population. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBcombien\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSortedPopStat< EOT >" -Thanks to MS/VC++, \fBeoParam\fP mechanism is unable to handle std::vectors of stats. - -This snippet is a workaround: This class will 'print' a whole population into a std::string - that you can later send to any stream This is the Sorted version - see eoPopString for the plain version -.PP -Note: this Stat should probably be used only within eoStdOutMonitor, and not inside an \fBeoFileMonitor\fP, as the \fBeoState\fP construct will work much better there. -.PP -Definition at line 96 of file eoPopStat.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoSortedPopStat\fP< \fBEOT\fP >::\fBeoSortedPopStat\fP (unsigned _howMany = \fC0\fP, std::string _desc = \fC''\fP)\fC [inline]\fP" -.PP -default Ctor, void std::string by default, as it appears on the description line once at beginning of evolution. -.PP -and is meaningless there _howMany defaults to 0, that is, the whole population -.PP -Definition at line 107 of file eoPopStat.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoSortedPopStat\fP< \fBEOT\fP >::operator() (const std::vector< const \fBEOT\fP * > & _pop)\fC [inline, virtual]\fP" -.PP -Fills the \fBvalue()\fP of the \fBeoParam\fP with the dump of the population. -.PP -Adds a -.br - before so it does not get mixed up with the rest of the stats that are written by the monitor it is probably used from. -.PP -Implements \fBeoUF< const std::vector< const EOT * > &, void >\fP. -.PP -Definition at line 116 of file eoPopStat.h. -.PP -References eoValueParam< std::string >::value(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSortedStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoSortedStat.3 deleted file mode 100644 index 1e5956812..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSortedStat.3 +++ /dev/null @@ -1,35 +0,0 @@ -.TH "eoSortedStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSortedStat \- The actual class that will be used as base for all statistics that need to be calculated over the sorted population It's an \fBeoSortedStatBase\fP AND an \fBeoValueParam\fP so it can be used in Monitors. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSortedStatBase< EOT >< EOT >\fP, and \fBeoValueParam< ParamType >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSortedStat\fP (ParamType _value, std::string _desc)" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSortedStat< EOT, ParamType >" -The actual class that will be used as base for all statistics that need to be calculated over the sorted population It's an \fBeoSortedStatBase\fP AND an \fBeoValueParam\fP so it can be used in Monitors. -.PP -Definition at line 89 of file eoStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSortedStatBase.3 b/trunk/paradiseo-eo/doc/man/man3/eoSortedStatBase.3 deleted file mode 100644 index cde6bb089..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSortedStatBase.3 +++ /dev/null @@ -1,37 +0,0 @@ -.TH "eoSortedStatBase" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSortedStatBase \- Base class for statistics calculated over a sorted snapshot of the population. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< const std::vector< const EOT * > &, void >\fP. -.PP -Inherited by \fBeoSortedStat< EOT, ParamType >\fP, \fBeoSortedStat< EOT, EOT::Fitness >\fP, \fBeoSortedStat< EOT, std::string >\fP, \fBeoSortedStat< EOT, std::vector< double > >\fP, \fBeoSortedStat< EOT, std::vector< FitT > >\fP, and \fBeoSortedStat< EOT, std::vector< PartFitT > >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBlastCall\fP (const std::vector< const \fBEOT\fP * > &)" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSortedStatBase< EOT >" -Base class for statistics calculated over a sorted snapshot of the population. -.PP -Definition at line 76 of file eoStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStBranchMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoStBranchMutation.3 deleted file mode 100644 index 467e6f26d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStBranchMutation.3 +++ /dev/null @@ -1,94 +0,0 @@ -.TH "eoStBranchMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStBranchMutation \- eoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStBranchMutation\fP (\fBeoInit\fP< \fBEoType\fP > &_init, unsigned _max_length)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIthe class name \fP" -.ti -1c -.RI "virtual \fB~eoStBranchMutation\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1)" -.br -.RI "\fIMutate an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_length\fP" -.br -.ti -1c -.RI "\fBeoInit\fP< \fBEoType\fP > & \fBinitializer\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStBranchMutation< FType, Node >" -eoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree -.PP -Definition at line 130 of file eoStParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoStBranchMutation\fP< FType, Node >::\fBeoStBranchMutation\fP (\fBeoInit\fP< \fBEoType\fP > & _init, unsigned _max_length)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_init\fP An instantiation of eoGpDepthInitializer -.br -\fI_max_length\fP the maximum size of an individual -.RE -.PP - -.PP -Definition at line 140 of file eoStParseTreeOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoStBranchMutation\fP< FType, Node >::operator() (\fBEoType\fP & _eo1)\fC [inline]\fP" -.PP -Mutate an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The individual that is to be changed -.RE -.PP - -.PP -Definition at line 154 of file eoStParseTreeOp.h. -.PP -References eoRng::random(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStHoistMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoStHoistMutation.3 deleted file mode 100644 index d380f7346..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStHoistMutation.3 +++ /dev/null @@ -1,94 +0,0 @@ -.TH "eoStHoistMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStHoistMutation \- eoStHoistMutation --> replace the individual with one of its strongly typed subtree's - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStHoistMutation\fP (\fBeoInit\fP< \fBEoType\fP > &_init, unsigned _max_length)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIthe class name \fP" -.ti -1c -.RI "virtual \fB~eoStHoistMutation\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1)" -.br -.RI "\fIMutate an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_length\fP" -.br -.ti -1c -.RI "\fBeoInit\fP< \fBEoType\fP > & \fBinitializer\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStHoistMutation< FType, Node >" -eoStHoistMutation --> replace the individual with one of its strongly typed subtree's -.PP -Definition at line 258 of file eoStParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoStHoistMutation\fP< FType, Node >::\fBeoStHoistMutation\fP (\fBeoInit\fP< \fBEoType\fP > & _init, unsigned _max_length)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_init\fP An instantiation of eoStDepthInit -.br -\fI_max_length\fP the maximum size of an individual -.RE -.PP - -.PP -Definition at line 268 of file eoStParseTreeOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoStHoistMutation\fP< FType, Node >::operator() (\fBEoType\fP & _eo1)\fC [inline]\fP" -.PP -Mutate an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The individual that is to be changed -.RE -.PP - -.PP -Definition at line 282 of file eoStParseTreeOp.h. -.PP -References eoRng::random(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStParseTreeDepthInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoStParseTreeDepthInit.3 deleted file mode 100644 index fa64e1ea9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStParseTreeDepthInit.3 +++ /dev/null @@ -1,103 +0,0 @@ -.TH "eoStParseTreeDepthInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStParseTreeDepthInit \- eoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStParseTreeDepthInit\fP (unsigned _max_depth, const std::vector< Node > &_node, const int &_return_type, bool _grow=true)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIMy class name. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBEoType\fP &_tree)" -.br -.RI "\fIinitialize a tree \fP" -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "bool \fBgenerate\fP (std::list< Node > &sequence, int the_max, int request_type)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_depth\fP" -.br -.ti -1c -.RI "map< int, map< int, std::vector< Node > > > \fBnode\fP" -.br -.ti -1c -.RI "int \fBreturn_type\fP" -.br -.ti -1c -.RI "bool \fBgrow\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStParseTreeDepthInit< FType, Node >" -eoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming -.PP -Definition at line 61 of file eoStParseTreeDepthInit.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoStParseTreeDepthInit\fP< FType, Node >::\fBeoStParseTreeDepthInit\fP (unsigned _max_depth, const std::vector< Node > & _node, const int & _return_type, bool _grow = \fCtrue\fP)\fC [inline]\fP" -.PP -Constructor. -.PP -_max_depth The maximum depth of a tree -.PP -\fBParameters:\fP -.RS 4 -\fI_initializor\fP A std::vector containing the possible nodes -.br -\fI_grow\fP False results in a full tree, True result is a randomly grown tree -.RE -.PP - -.PP -Definition at line 73 of file eoStParseTreeDepthInit.h. -.SH "Member Function Documentation" -.PP -.SS "template void \fBeoStParseTreeDepthInit\fP< FType, Node >::operator() (\fBEoType\fP & _tree)\fC [inline]\fP" -.PP -initialize a tree -.PP -\fBParameters:\fP -.RS 4 -\fI_tree\fP : the tree to be initialized -.RE -.PP - -.PP -Definition at line 125 of file eoStParseTreeDepthInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStPointMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoStPointMutation.3 deleted file mode 100644 index aec6c102a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStPointMutation.3 +++ /dev/null @@ -1,89 +0,0 @@ -.TH "eoStPointMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStPointMutation \- eoStPointMutation --> replace a Node with a Node of the same arity and type - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStPointMutation\fP (std::vector< Node > &_node)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIthe class name \fP" -.ti -1c -.RI "virtual \fB~eoStPointMutation\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1)" -.br -.RI "\fIMutate an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "map< int, map< int, std::vector< Node > > > \fBnode\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStPointMutation< FType, Node >" -eoStPointMutation --> replace a Node with a Node of the same arity and type -.PP -Definition at line 195 of file eoStParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoStPointMutation\fP< FType, Node >::\fBeoStPointMutation\fP (std::vector< Node > & _node)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_initializor\fP The std::vector of Nodes given to the eoGpDepthInitializer -.RE -.PP - -.PP -Definition at line 205 of file eoStParseTreeOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoStPointMutation\fP< FType, Node >::operator() (\fBEoType\fP & _eo1)\fC [inline]\fP" -.PP -Mutate an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_eo1\fP The individual that is to be changed -.RE -.PP - -.PP -Definition at line 234 of file eoStParseTreeOp.h. -.PP -References eoRng::random(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStSubtreeXOver.3 b/trunk/paradiseo-eo/doc/man/man3/eoStSubtreeXOver.3 deleted file mode 100644 index f0ef6ab65..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStSubtreeXOver.3 +++ /dev/null @@ -1,73 +0,0 @@ -.TH "eoStSubtreeXOver" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStSubtreeXOver \- eoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStSubtreeXOver\fP (unsigned _max_length)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIthe ckassname \fP" -.ti -1c -.RI "virtual \fB~eoStSubtreeXOver\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1, \fBEoType\fP &_eo2)" -.br -.RI "\fIPerform crossover on two individuals param _eo1 The first parent individual param _eo2 The second parent individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_length\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStSubtreeXOver< FType, Node >" -eoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming -.PP -Definition at line 56 of file eoStParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoStSubtreeXOver\fP< FType, Node >::\fBeoStSubtreeXOver\fP (unsigned _max_length)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_max_length\fP the maximum size of an individual -.RE -.PP - -.PP -Definition at line 64 of file eoStParseTreeOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStat.3 b/trunk/paradiseo-eo/doc/man/man3/eoStat.3 deleted file mode 100644 index 30bcce04c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStat.3 +++ /dev/null @@ -1,35 +0,0 @@ -.TH "eoStat" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStat \- The actual class that will be used as base for all statistics that need to be calculated over the (unsorted) population It is an \fBeoStatBase\fP AND an \fBeoValueParam\fP so it can be used in Monitors. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoValueParam< T >\fP, and \fBeoStatBase< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStat\fP (T _value, std::string _description)" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStat< EOT, T >" -The actual class that will be used as base for all statistics that need to be calculated over the (unsorted) population It is an \fBeoStatBase\fP AND an \fBeoValueParam\fP so it can be used in Monitors. -.PP -Definition at line 58 of file eoStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStatBase.3 b/trunk/paradiseo-eo/doc/man/man3/eoStatBase.3 deleted file mode 100644 index cf9a79480..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStatBase.3 +++ /dev/null @@ -1,39 +0,0 @@ -.TH "eoStatBase" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStatBase \- Base class for all statistics that need to be calculated over the (unsorted) population (I guess it is not really necessary? MS. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< const eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoStat< EOT, T >\fP, \fBeoStat< EOT, double >\fP, \fBeoStat< EOT, EOT::Fitness >\fP, \fBeoStat< EOT, std::pair< double, double > >\fP, and \fBeoStat< EOT, std::string >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBlastCall\fP (const \fBeoPop\fP< \fBEOT\fP > &)" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStatBase< EOT >" -Base class for all statistics that need to be calculated over the (unsorted) population (I guess it is not really necessary? MS. - -Depstd::ends, there might be reasons to have a stat that is not an \fBeoValueParam\fP, but maybe I'm just kidding myself, MK) -.PP -Definition at line 45 of file eoStat.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoState.3 b/trunk/paradiseo-eo/doc/man/man3/eoState.3 deleted file mode 100644 index 886f957c3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoState.3 +++ /dev/null @@ -1,154 +0,0 @@ -.TH "eoState" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoState \- eoState can be used to register derivants of \fBeoPersistent\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFunctorStore\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBregisterObject\fP (\fBeoPersistent\fP ®istrant)" -.br -.RI "\fIObject registration function, note that it does not take ownership! \fP" -.ti -1c -.RI "template T & \fBtakeOwnership\fP (const T &persistent)" -.br -.RI "\fICopies the object (MUST be derived from \fBeoPersistent\fP) and returns a reference to the owned object. \fP" -.ti -1c -.RI "std::string \fBgetCommentString\fP (void) const " -.br -.ti -1c -.RI "void \fBload\fP (const std::string &_filename)" -.br -.RI "\fIReads the file specified. \fP" -.ti -1c -.RI "void \fBload\fP (std::istream &is)" -.br -.RI "\fIReads the file specified. \fP" -.ti -1c -.RI "void \fBsave\fP (const std::string &_filename) const " -.br -.RI "\fISaves the state in file specified. \fP" -.ti -1c -.RI "void \fBsave\fP (std::ostream &os) const " -.br -.RI "\fISaves the state in file specified. \fP" -.in -1c -.SS "Private Types" - -.in +1c -.ti -1c -.RI "typedef std::map< std::string, \fBeoPersistent\fP * > \fBObjectMap\fP" -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "std::string \fBcreateObjectName\fP (\fBeoObject\fP *obj)" -.br -.ti -1c -.RI "\fBeoState\fP (const \fBeoState\fP &)" -.br -.ti -1c -.RI "\fBeoState\fP & \fBoperator=\fP (const \fBeoState\fP &)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "ObjectMap \fBobjectMap\fP" -.br -.ti -1c -.RI "std::vector< ObjectMap::iterator > \fBcreationOrder\fP" -.br -.ti -1c -.RI "std::vector< \fBeoPersistent\fP * > \fBownedObjects\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -eoState can be used to register derivants of \fBeoPersistent\fP. - -It will then in turn implement the persistence framework through members load and save, that will call readFrom and printOn for the registrated objects. -.PP -It is derived from \fBeoFunctorStore\fP, so that it also serves as a place where all those nifty eo functors can be stored. This is useful in the case you want to use one of the make_* functions. These functions generally take as their last argument an \fBeoFunctorStore\fP (or a state) which is used to hold all dynamically generated data. Note however, that unlike with \fBeoPersistent\fP derived classes, \fBeoFunctorBase\fP derived classes are not saved or loaded. To govern the creation of functors, command-line parameters (which can be stored) are needed. -.PP -Definition at line 54 of file eoState.h. -.SH "Member Function Documentation" -.PP -.SS "template T& eoState::takeOwnership (const T & persistent)\fC [inline]\fP" -.PP -Copies the object (MUST be derived from \fBeoPersistent\fP) and returns a reference to the owned object. -.PP -Note: it does not register the object, this must be done afterwards! -.PP -Definition at line 73 of file eoState.h. -.SS "void eoState::load (const std::string & _filename)" -.PP -Reads the file specified. -.PP -\fBParameters:\fP -.RS 4 -\fI_filename\fP the name of the file to load from -.RE -.PP - -.PP -Definition at line 74 of file eoState.cpp. -.SS "void eoState::load (std::istream & is)" -.PP -Reads the file specified. -.PP -\fBParameters:\fP -.RS 4 -\fIis\fP the stream to load from -.RE -.PP - -.PP -Definition at line 87 of file eoState.cpp. -.PP -References eoPersistent::readFrom(). -.SS "void eoState::save (const std::string & _filename) const" -.PP -Saves the state in file specified. -.PP -\fBParameters:\fP -.RS 4 -\fI_filename\fP the name of the file to save into -.RE -.PP - -.PP -Definition at line 148 of file eoState.cpp. -.PP -Referenced by eoTimedStateSaver::operator()(). -.SS "void eoState::save (std::ostream & os) const" -.PP -Saves the state in file specified. -.PP -\fBParameters:\fP -.RS 4 -\fIos\fP the stream to save into -.RE -.PP - -.PP -Definition at line 161 of file eoState.cpp. -.PP -References eoPrintable::printOn(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoState_loading_error.3 b/trunk/paradiseo-eo/doc/man/man3/eoState_loading_error.3 deleted file mode 100644 index 79b3c8c66..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoState_loading_error.3 +++ /dev/null @@ -1,28 +0,0 @@ -.TH "eoState::loading_error" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoState::loading_error \- Loading error thrown when nothing seems to work. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBloading_error\fP (std::string huh='Error while loading')" -.br -.in -1c -.SH "Detailed Description" -.PP -Loading error thrown when nothing seems to work. -.PP -Definition at line 83 of file eoState.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStdoutMonitor.3 b/trunk/paradiseo-eo/doc/man/man3/eoStdoutMonitor.3 deleted file mode 100644 index dfc377566..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStdoutMonitor.3 +++ /dev/null @@ -1,50 +0,0 @@ -.TH "eoStdoutMonitor" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStdoutMonitor \- Prints statistics to stdout. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonitor\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStdoutMonitor\fP (bool _verbose=true, std::string _delim='\\t')" -.br -.ti -1c -.RI "\fBeoMonitor\fP & \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "bool \fBverbose\fP" -.br -.ti -1c -.RI "std::string \fBdelim\fP" -.br -.ti -1c -.RI "bool \fBfirsttime\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Prints statistics to stdout. -.PP -Definition at line 38 of file eoStdoutMonitor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSteadyFitContinue.3 b/trunk/paradiseo-eo/doc/man/man3/eoSteadyFitContinue.3 deleted file mode 100644 index 341aaf441..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSteadyFitContinue.3 +++ /dev/null @@ -1,102 +0,0 @@ -.TH "eoSteadyFitContinue" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSteadyFitContinue \- A continuator: does a minimum number of generations, then stops whenever a given number of generations takes place without improvement. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoContinue< EOT >< EOT >\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 "\fBeoSteadyFitContinue\fP (unsigned long _minGens, unsigned long _steadyGens)" -.br -.RI "\fICtor for setting a. \fP" -.ti -1c -.RI "\fBeoSteadyFitContinue\fP (unsigned long _minGens, unsigned long _steadyGen, unsigned long &_currentGen)" -.br -.RI "\fICtor for enabling the save/load the no. of generations counted. \fP" -.ti -1c -.RI "virtual bool \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_vEO)" -.br -.RI "\fIReturns false when a certain number of generations is reached withtout improvement. \fP" -.ti -1c -.RI "virtual void \fBtotalGenerations\fP (unsigned long _mg, unsigned long _sg)" -.br -.RI "\fISets the parameters (minimum nb of gen. \fP" -.ti -1c -.RI "virtual void \fBreset\fP ()" -.br -.RI "\fIResets the state after it's been reached. \fP" -.ti -1c -.RI "virtual unsigned long \fBminGenerations\fP ()" -.br -.RI "\fIaccessors \fP" -.ti -1c -.RI "virtual unsigned long \fBsteadyGenerations\fP ()" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned long \fBrepMinGenerations\fP" -.br -.ti -1c -.RI "unsigned long \fBrepSteadyGenerations\fP" -.br -.ti -1c -.RI "bool \fBsteadyState\fP" -.br -.ti -1c -.RI "unsigned long \fBthisGenerationPlaceHolder\fP" -.br -.ti -1c -.RI "unsigned long & \fBthisGeneration\fP" -.br -.ti -1c -.RI "unsigned int \fBlastImprovement\fP" -.br -.ti -1c -.RI "Fitness \fBbestSoFar\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSteadyFitContinue< EOT >" -A continuator: does a minimum number of generations, then stops whenever a given number of generations takes place without improvement. -.PP -Definition at line 35 of file eoSteadyFitContinue.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoSteadyFitContinue\fP< \fBEOT\fP >::totalGenerations (unsigned long _mg, unsigned long _sg)\fC [inline, virtual]\fP" -.PP -Sets the parameters (minimum nb of gen. -.PP -+ steady nb of gen.) and sets the current generation to 0 (the begin) -.PP -Definition at line 84 of file eoSteadyFitContinue.h. -.PP -References eoSteadyFitContinue< EOT >::reset(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentSelect.3 deleted file mode 100644 index 94d3a3e69..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentSelect.3 +++ /dev/null @@ -1,43 +0,0 @@ -.TH "eoStochTournamentSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStochTournamentSelect \- eoStochTournamentSelect: a selection method that selects ONE individual by binary stochastic tournament -MS- 24/10/99 - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStochTournamentSelect\fP (double _Trate=1.0)" -.br -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &pop)" -.br -.RI "\fIPerform the stochastic tournament. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBTrate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStochTournamentSelect< EOT >" -eoStochTournamentSelect: a selection method that selects ONE individual by binary stochastic tournament -MS- 24/10/99 -.PP -Definition at line 42 of file eoStochTournamentSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentTruncate.3 b/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentTruncate.3 deleted file mode 100644 index 25b428f38..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentTruncate.3 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "eoStochTournamentTruncate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStochTournamentTruncate \- a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduce< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStochTournamentTruncate\fP (double _t_rate)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, unsigned _newsize)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBt_rate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStochTournamentTruncate< EOT >" -a truncate class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -see \fBeoSSGAStochTournamentReplacement\fP) -.PP -Definition at line 236 of file eoReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentTruncateSplit.3 b/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentTruncateSplit.3 deleted file mode 100644 index f803be7e3..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentTruncateSplit.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoStochTournamentTruncateSplit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStochTournamentTruncateSplit \- a ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduce< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStochTournamentTruncateSplit\fP (double _t_rate, \fBeoHowMany\fP _howMany, bool _returnEliminated=false)" -.br -.RI "\fICtor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, \fBeoPop\fP< \fBEOT\fP > &_eliminated)" -.br -.RI "\fIPerforms repeated inverse_stochastic_tournament on the pop. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBt_rate\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.ti -1c -.RI "bool \fBreturnEliminated\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStochTournamentTruncateSplit< EOT >" -a ReduceSplit class based on a repeated deterministic (reverse!) tournament To be used in SSGA-like replacements (e.g. - -see \fBeoSSGAStochTournamentReplacement\fP) -.PP -Definition at line 256 of file eoReduceSplit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentWorthSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentWorthSelect.3 deleted file mode 100644 index b154f1553..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStochTournamentWorthSelect.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoStochTournamentWorthSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStochTournamentWorthSelect \- An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectFromWorth< EOT, WorthT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< WorthT >::iterator \fBworthIterator\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStochTournamentWorthSelect\fP (\fBeoPerf2Worth\fP< \fBEOT\fP, WorthT > &_perf2Worth, double _tRate)" -.br -.ti -1c -.RI "virtual const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBtRate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStochTournamentWorthSelect< EOT, WorthT >" -An instance of eoSelectPerf2Worth that does selection from the Worthes using a ... - -stochastic tournament, yes! -.PP -Definition at line 128 of file eoSelectFromWorth.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoStochasticUniversalSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoStochasticUniversalSelect.3 deleted file mode 100644 index 172eb73a8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoStochasticUniversalSelect.3 +++ /dev/null @@ -1,55 +0,0 @@ -.TH "eoStochasticUniversalSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoStochasticUniversalSelect \- eoStochasticUniversalSelect: select an individual proportional to her stored fitness value, but in contrast with eoStochasticUniversalSelect, get rid of most finite sampling effects by doing all selections in one go, using a single random number. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoStochasticUniversalSelect\fP (const \fBeoPop\fP< \fBEOT\fP > &pop=\fBeoPop\fP< \fBEOT\fP >())" -.br -.RI "\fISanity check. \fP" -.ti -1c -.RI "void \fBsetup\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIvirtual function to setup some population stats (for instance eoProportional can benefit greatly from this) \fP" -.ti -1c -.RI "const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIdo the selection, \fP" -.in -1c -.SS "Private Types" - -.in +1c -.ti -1c -.RI "typedef std::vector< unsigned > \fBIndexVec\fP" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "IndexVec \fBindices\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoStochasticUniversalSelect< EOT >" -eoStochasticUniversalSelect: select an individual proportional to her stored fitness value, but in contrast with eoStochasticUniversalSelect, get rid of most finite sampling effects by doing all selections in one go, using a single random number. -.PP -Definition at line 44 of file eoStochasticUniversalSelect.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoString.3 b/trunk/paradiseo-eo/doc/man/man3/eoString.3 deleted file mode 100644 index 3453d77aa..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoString.3 +++ /dev/null @@ -1,85 +0,0 @@ -.TH "eoString" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoString \- Adaptor that turns an STL std::string into an \fBEO\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBEO< fitnessT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef char \fBType\fP" -.br -.ti -1c -.RI "typedef char \fBAtomType\fP" -.br -.ti -1c -.RI "typedef std::string \fBContainerType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.PP -.RI "\fB\fP" -.br - -.in +1c -.in +1c -.ti -1c -.RI "\fBeoString\fP (const std::string &_str='')" -.br -.RI "\fIctor \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fIprinting... \fP" -.in -1c -.in -1c -.PP -.RI "\fBMethods from eoObject\fP" -.br -readFrom and printOn are directly inherited from eo1d -.PP -.in +1c -.in +1c -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIInherited from \fBeoObject\fP. \fP" -.in -1c -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoString< fitnessT >" -Adaptor that turns an STL std::string into an \fBEO\fP. -.PP -Definition at line 42 of file eoString.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual std::string \fBeoString\fP< fitnessT >::className (void) const\fC [inline, virtual]\fP" -.PP -Inherited from \fBeoObject\fP. -.PP -\fBSee also:\fP -.RS 4 -\fBeoObject\fP -.RE -.PP - -.PP -Reimplemented from \fBEO< fitnessT >\fP. -.PP -Definition at line 74 of file eoString.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSubtreeXOver.3 b/trunk/paradiseo-eo/doc/man/man3/eoSubtreeXOver.3 deleted file mode 100644 index 26050a3d8..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSubtreeXOver.3 +++ /dev/null @@ -1,73 +0,0 @@ -.TH "eoSubtreeXOver" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSubtreeXOver \- eoSubtreeXOver --> subtree xover - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< eoParseTree< FType, Node > >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef \fBeoParseTree\fP< FType, Node > \fBEoType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSubtreeXOver\fP (unsigned _max_length)" -.br -.RI "\fIConstructor. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIthe ckassname \fP" -.ti -1c -.RI "virtual \fB~eoSubtreeXOver\fP ()" -.br -.RI "\fIDtor. \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEoType\fP &_eo1, \fBEoType\fP &_eo2)" -.br -.RI "\fIPerform crossover on two individuals param _eo1 The first parent individual param _eo2 The second parent individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBmax_length\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSubtreeXOver< FType, Node >" -eoSubtreeXOver --> subtree xover -.PP -Definition at line 42 of file eoParseTreeOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoSubtreeXOver\fP< FType, Node >::\fBeoSubtreeXOver\fP (unsigned _max_length)\fC [inline]\fP" -.PP -Constructor. -.PP -\fBParameters:\fP -.RS 4 -\fI_max_length\fP the maximum size of an individual -.RE -.PP - -.PP -Definition at line 50 of file eoParseTreeOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSurviveAndDie.3 b/trunk/paradiseo-eo/doc/man/man3/eoSurviveAndDie.3 deleted file mode 100644 index 784317014..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSurviveAndDie.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoSurviveAndDie" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSurviveAndDie \- eoSurviveAndDie A pure abstract class, to store the howmany's - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoDeterministicSurviveAndDie< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSurviveAndDie\fP (double _survive, double _die, bool _interpret_as_rate=true)" -.br -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "\fBeoHowMany\fP \fBhowmanySurvive\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowmanyDie\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSurviveAndDie< EOT >" -eoSurviveAndDie A pure abstract class, to store the howmany's -.PP -Definition at line 53 of file eoSurviveAndDie.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoSymInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoSymInit.3 deleted file mode 100644 index 258957182..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoSymInit.3 +++ /dev/null @@ -1,60 +0,0 @@ -.TH "eoSymInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoSymInit \- Default initializer, Koza style. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< EoType >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoSymInit\fP (TreeBuilder &_builder)" -.br -.RI "\fIBy default build ramped half and half with max depth 6. \fP" -.ti -1c -.RI "\fBeoSymInit\fP (TreeBuilder &_builder, double &_grow_prob, unsigned &_max_depth)" -.br -.RI "\fIControl the grow_prob and max_depth externally. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBEoType\fP &tree)" -.br -.RI "\fIbuild the tree \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "TreeBuilder & \fBbuilder\fP" -.br -.ti -1c -.RI "double \fBown_grow_prob\fP" -.br -.ti -1c -.RI "unsigned \fBown_max_depth\fP" -.br -.ti -1c -.RI "double & \fBgrow_prob\fP" -.br -.ti -1c -.RI "unsigned & \fBmax_depth\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoSymInit< EoType >" -Default initializer, Koza style. -.PP -Definition at line 26 of file eoSymInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTimeCounter.3 b/trunk/paradiseo-eo/doc/man/man3/eoTimeCounter.3 deleted file mode 100644 index 9a02e02b4..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTimeCounter.3 +++ /dev/null @@ -1,38 +0,0 @@ -.TH "eoTimeCounter" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTimeCounter \- An \fBeoStat\fP that simply gives the user time since first generation It has to be tempatized by EOT because it must be an \fBeoStat\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUpdater\fP, and \fBeoValueParam< double >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBoperator()\fP ()" -.br -.RI "\fIsimply stores the time spent in process in its \fBvalue()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "clock_t \fButime\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -An \fBeoStat\fP that simply gives the user time since first generation It has to be tempatized by EOT because it must be an \fBeoStat\fP. -.PP -Definition at line 38 of file eoTimeCounter.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTimeVaryingLoopEval.3 b/trunk/paradiseo-eo/doc/man/man3/eoTimeVaryingLoopEval.3 deleted file mode 100644 index d23e62b41..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTimeVaryingLoopEval.3 +++ /dev/null @@ -1,44 +0,0 @@ -.TH "eoTimeVaryingLoopEval" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTimeVaryingLoopEval \- \fBeoPopLoopEval\fP: an instance of \fBeoPopEvalFunc\fP that simply applies a private \fBeoEvalFunc\fP to all offspring AND ALL PARENTS as the fitness is supposed here to vary - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoPopEvalFunc< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoTimeVaryingLoopEval\fP (\fBeoEvalFunc\fP< \fBEOT\fP > &_eval)" -.br -.RI "\fICtor: set value of embedded \fBeoEvalFunc\fP. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_parents, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIDo the job: simple loop over the offspring. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBeval\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoTimeVaryingLoopEval< EOT >" -\fBeoPopLoopEval\fP: an instance of \fBeoPopEvalFunc\fP that simply applies a private \fBeoEvalFunc\fP to all offspring AND ALL PARENTS as the fitness is supposed here to vary -.PP -Definition at line 84 of file eoPopEvalFunc.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTimedDynUpdate.3 b/trunk/paradiseo-eo/doc/man/man3/eoTimedDynUpdate.3 deleted file mode 100644 index 51471c88d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTimedDynUpdate.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoTimedDynUpdate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTimedDynUpdate \- An \fBeoUpdater\fP to update an \fBeoUpdatable\fP object every given time interval. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoDynUpdater\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoTimedDynUpdate\fP (\fBeoUpdatable\fP &_toUpdate, time_t _interval)" -.br -.ti -1c -.RI "void \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "const time_t \fBinterval\fP" -.br -.ti -1c -.RI "time_t \fBlast_time\fP" -.br -.ti -1c -.RI "const time_t \fBfirst_time\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -An \fBeoUpdater\fP to update an \fBeoUpdatable\fP object every given time interval. -.PP -Definition at line 67 of file eoUpdatable.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTimedMonitor.3 b/trunk/paradiseo-eo/doc/man/man3/eoTimedMonitor.3 deleted file mode 100644 index aa72f041f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTimedMonitor.3 +++ /dev/null @@ -1,53 +0,0 @@ -.TH "eoTimedMonitor" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTimedMonitor \- Holds a collection of monitors and only fires them when a time limit has been reached. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonitor\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoTimedMonitor\fP (int seconds_)" -.br -.ti -1c -.RI "\fBeoMonitor\fP & \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "void \fBadd\fP (\fBeoMonitor\fP &mon)" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "clock_t \fBlast_tick\fP" -.br -.ti -1c -.RI "int \fBseconds\fP" -.br -.ti -1c -.RI "std::vector< \fBeoMonitor\fP * > \fBmonitors\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Holds a collection of monitors and only fires them when a time limit has been reached. -.PP -Definition at line 40 of file eoTimedMonitor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTimedStateSaver.3 b/trunk/paradiseo-eo/doc/man/man3/eoTimedStateSaver.3 deleted file mode 100644 index f9561a5a2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTimedStateSaver.3 +++ /dev/null @@ -1,59 +0,0 @@ -.TH "eoTimedStateSaver" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTimedStateSaver \- an \fBeoUpdater\fP that saves a state every given time interval - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUpdater\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoTimedStateSaver\fP (time_t _interval, const \fBeoState\fP &_state, std::string _prefix='state', std::string _extension='sav')" -.br -.ti -1c -.RI "void \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "const \fBeoState\fP & \fBstate\fP" -.br -.ti -1c -.RI "const time_t \fBinterval\fP" -.br -.ti -1c -.RI "time_t \fBlast_time\fP" -.br -.ti -1c -.RI "const time_t \fBfirst_time\fP" -.br -.ti -1c -.RI "const std::string \fBprefix\fP" -.br -.ti -1c -.RI "const std::string \fBextension\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -an \fBeoUpdater\fP that saves a state every given time interval -.PP -Definition at line 104 of file eoUpdater.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTransform.3 b/trunk/paradiseo-eo/doc/man/man3/eoTransform.3 deleted file mode 100644 index 6a97896e0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTransform.3 +++ /dev/null @@ -1,27 +0,0 @@ -.TH "eoTransform" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTransform \- eoTransform transforms a population by applying genetic operators on it. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoUF< eoPop< EOT > &, void >\fP. -.PP -Inherited by \fBeoDynSGATransform< EOT >\fP, eoEasyEA< EOT >::eoDummyTransform, and \fBeoSGATransform< EOT >\fP. -.PP -.SH "Detailed Description" -.PP - -.SS "template class eoTransform< EOT >" -eoTransform transforms a population by applying genetic operators on it. -.PP -Definition at line 38 of file eoTransform.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTruncSelect.3 b/trunk/paradiseo-eo/doc/man/man3/eoTruncSelect.3 deleted file mode 100644 index 329397abf..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTruncSelect.3 +++ /dev/null @@ -1,69 +0,0 @@ -.TH "eoTruncSelect" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTruncSelect \- eoTruncSelect selects individuals after truncating the population using \fBeoSelectOne\fP as it's mechanism. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelect< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoTruncSelect\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, \fBeoHowMany\fP _howMany)" -.br -.RI "\fICtor: from an \fBeoSelect\fP (and an eoMany to tell how many are kept for selectino. \fP" -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_source, \fBeoPop\fP< \fBEOT\fP > &_dest)" -.br -.RI "\fIThe implementation repeatidly selects an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBselect\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoTruncSelect< EOT >" -eoTruncSelect selects individuals after truncating the population using \fBeoSelectOne\fP as it's mechanism. - -Therefore \fBeoSelectMany\fP needs an \fBeoSelectOne\fP in its ctor It will use an eoHowMnay to determine the number of guys to keep, -.PP -Definition at line 43 of file eoTruncSelect.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoTruncSelect\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _source, \fBeoPop\fP< \fBEOT\fP > & _dest)\fC [inline, virtual]\fP" -.PP -The implementation repeatidly selects an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_source\fP the source population -.br -\fI_dest\fP the resulting population (size of this population is the number of times \fBeoSelectOne\fP is called. It empties the destination and adds the selection into it) -.RE -.PP - -.PP -Implements \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Definition at line 56 of file eoTruncSelect.h. -.PP -References eoSelectOne< EOT, WorthT >::setup(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTruncate.3 b/trunk/paradiseo-eo/doc/man/man3/eoTruncate.3 deleted file mode 100644 index d5fb341c2..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTruncate.3 +++ /dev/null @@ -1,33 +0,0 @@ -.TH "eoTruncate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTruncate \- truncation method using sort - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduce< EOT >< EOT >\fP. -.PP -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, unsigned _newsize)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoTruncate< EOT >" -truncation method using sort -.PP -Definition at line 49 of file eoReduce.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTruncateSplit.3 b/trunk/paradiseo-eo/doc/man/man3/eoTruncateSplit.3 deleted file mode 100644 index eb0d25c2c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTruncateSplit.3 +++ /dev/null @@ -1,47 +0,0 @@ -.TH "eoTruncateSplit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTruncateSplit \- deterministic truncation method using sort - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReduceSplit< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoTruncateSplit\fP (\fBeoHowMany\fP _howMany, bool _returnEliminated=false)" -.br -.RI "\fICtor: must provide amount of reduction, and whether or not you need to return the eliminated guys. \fP" -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_newgen, \fBeoPop\fP< \fBEOT\fP > &_eliminated)" -.br -.RI "\fIdo the jonb \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoHowMany\fP \fBhowMany\fP" -.br -.ti -1c -.RI "bool \fBreturnEliminated\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoTruncateSplit< EOT >" -deterministic truncation method using sort -.PP -Definition at line 47 of file eoReduceSplit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTruncatedSelectMany.3 b/trunk/paradiseo-eo/doc/man/man3/eoTruncatedSelectMany.3 deleted file mode 100644 index edf573b1b..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTruncatedSelectMany.3 +++ /dev/null @@ -1,83 +0,0 @@ -.TH "eoTruncatedSelectMany" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTruncatedSelectMany \- eoTruncatedSelectMany selects many individuals using \fBeoSelectOne\fP as it's mechanism. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelect< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoTruncatedSelectMany\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, double _rateGenitors, double _rateFertile, bool _interpret_as_rateG=true, bool _interpret_as_rateF=true)" -.br -.RI "\fICtor. \fP" -.ti -1c -.RI "\fBeoTruncatedSelectMany\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, \fBeoHowMany\fP _howManyGenitors, \fBeoHowMany\fP _howManyFertile)" -.br -.ti -1c -.RI "virtual void \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_source, \fBeoPop\fP< \fBEOT\fP > &_dest)" -.br -.RI "\fIThe implementation repeatidly selects an individual. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBselect\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowManyGenitors\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowManyFertile\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoTruncatedSelectMany< EOT >" -eoTruncatedSelectMany selects many individuals using \fBeoSelectOne\fP as it's mechanism. - -Therefore \fBeoSelectMany\fP needs an \fBeoSelectOne\fP in its ctor -.PP -It will use an eoHowMnay to determine the number of guys to select, and push them to the back of the destination population. -.PP -And it will only perform selection from the top guys in the population. -.PP -It is NOT a special case of \fBeoSelectMany\fP because it needs to SORT the population to discard the worst guys before doing the selection -.PP -However, the same result can be obtained by embedding an \fBeoTruncatedSelectOne\fP into an \fBeoSelectMany\fP ... -.PP -Definition at line 53 of file eoTruncatedSelectMany.h. -.SH "Member Function Documentation" -.PP -.SS "template virtual void \fBeoTruncatedSelectMany\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _source, \fBeoPop\fP< \fBEOT\fP > & _dest)\fC [inline, virtual]\fP" -.PP -The implementation repeatidly selects an individual. -.PP -\fBParameters:\fP -.RS 4 -\fI_source\fP the source population -.br -\fI_dest\fP the resulting population (size of this population is the number of times \fBeoSelectOne\fP is called. It empties the destination and adds the selection into it) -.RE -.PP - -.PP -Implements \fBeoBF< const eoPop< EOT > &, eoPop< EOT > &, void >\fP. -.PP -Definition at line 77 of file eoTruncatedSelectMany.h. -.PP -References eoSelectOne< EOT, WorthT >::setup(), eoPop< EOT >::shuffle(), and eoPop< EOT >::sort(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoTruncatedSelectOne.3 b/trunk/paradiseo-eo/doc/man/man3/eoTruncatedSelectOne.3 deleted file mode 100644 index edbc19558..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoTruncatedSelectOne.3 +++ /dev/null @@ -1,83 +0,0 @@ -.TH "eoTruncatedSelectOne" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoTruncatedSelectOne \- eoTruncatedSelectOne selects one individual using \fBeoSelectOne\fP as it's mechanism. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoSelectOne< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoTruncatedSelectOne\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, double _rateFertile, bool _interpret_as_rateF=true)" -.br -.RI "\fICtor from rate and bool. \fP" -.ti -1c -.RI "\fBeoTruncatedSelectOne\fP (\fBeoSelectOne\fP< \fBEOT\fP > &_select, \fBeoHowMany\fP _howManyFertile)" -.br -.RI "\fICtor with \fBeoHowMany\fP. \fP" -.ti -1c -.RI "void \fBsetup\fP (const \fBeoPop\fP< \fBEOT\fP > &_source)" -.br -.RI "\fIsetup procedures: fills the temporary population with the fertile guys \fP" -.ti -1c -.RI "const \fBEOT\fP & \fBoperator()\fP (const \fBeoPop\fP< \fBEOT\fP > &_pop)" -.br -.RI "\fIThe implementation selects an individual from the fertile pop. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoSelectOne\fP< \fBEOT\fP > & \fBselect\fP" -.br -.ti -1c -.RI "\fBeoHowMany\fP \fBhowManyFertile\fP" -.br -.ti -1c -.RI "\fBeoPop\fP< \fBEOT\fP > \fBtmpPop\fP" -.br -.ti -1c -.RI "\fBeoPop\fP< \fBEOT\fP > & \fBactualPop\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoTruncatedSelectOne< EOT >" -eoTruncatedSelectOne selects one individual using \fBeoSelectOne\fP as it's mechanism. - -Therefore eoTruncatedSelectOne needs an \fBeoSelectOne\fP in its ctor -.PP -It will perform selection only from the top guys in the population. -.PP -Definition at line 45 of file eoTruncatedSelectOne.h. -.SH "Member Function Documentation" -.PP -.SS "template const \fBEOT\fP& \fBeoTruncatedSelectOne\fP< \fBEOT\fP >::operator() (const \fBeoPop\fP< \fBEOT\fP > & _pop)\fC [inline, virtual]\fP" -.PP -The implementation selects an individual from the fertile pop. -.PP -\fBParameters:\fP -.RS 4 -\fI_source\fP the source population -.br -\fI_dest\fP the selected guy -.RE -.PP - -.PP -Implements \fBeoUF< const eoPop< EOT > &, const EOT & >\fP. -.PP -Definition at line 98 of file eoTruncatedSelectOne.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUBitXover.3 b/trunk/paradiseo-eo/doc/man/man3/eoUBitXover.3 deleted file mode 100644 index 918e6995c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUBitXover.3 +++ /dev/null @@ -1,66 +0,0 @@ -.TH "eoUBitXover" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUBitXover \- eoUBitXover --> classic Uniform crossover - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< Chrom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoUBitXover\fP (const float &_preference=0.5)" -.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 (Chrom &chrom1, Chrom &chrom2)" -.br -.RI "\fIUniform crossover for binary chromosomes. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "float \fBpreference\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoUBitXover< Chrom >" -eoUBitXover --> classic Uniform crossover -.PP -Definition at line 274 of file eoBitOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoUBitXover\fP< Chrom >::operator() (Chrom & chrom1, Chrom & chrom2)\fC [inline, virtual]\fP" -.PP -Uniform crossover for binary chromosomes. -.PP -\fBParameters:\fP -.RS 4 -\fIchrom1\fP The first chromosome. -.br -\fIchrom2\fP The first chromosome. ::runtime_error if sizes don't match -.RE -.PP - -.PP -Implements \fBeoBF< Chrom &, Chrom &, bool >\fP. -.PP -Definition at line 292 of file eoBitOp.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUF.3 b/trunk/paradiseo-eo/doc/man/man3/eoUF.3 deleted file mode 100644 index 9614ad21c..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUF.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "eoUF" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUF \- Basic Unary Functor. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoFunctorBase\fP. -.PP -Inherited by \fBeoPerf2Worth< Dummy >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoUF\fP ()" -.br -.RI "\fIvirtual dtor here so there is no need to define it in derived classes \fP" -.ti -1c -.RI "virtual R \fBoperator()\fP (A1)=0" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoFunctorBase::unary_function_tag\fP \fBfunctor_category\fP ()" -.br -.RI "\fItag to identify a procedure in compile time function selection functor_category \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoUF< A1, R >" -Basic Unary Functor. - -Derive from this class when defining any unary function. First template argument is the first_argument_type, second result_type. Argument and result types can be any type including void for result_type -.PP -Definition at line 108 of file eoFunctor.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUnaryFunctorCounter.3 b/trunk/paradiseo-eo/doc/man/man3/eoUnaryFunctorCounter.3 deleted file mode 100644 index 8109b99f5..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUnaryFunctorCounter.3 +++ /dev/null @@ -1,70 +0,0 @@ -.TH "eoUnaryFunctorCounter" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUnaryFunctorCounter \- Generic counter class that counts the number of times a unary function is used. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoValueParam< unsigned long >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoUnaryFunctorCounter\fP (UnaryFunctor &_func, std::string _name='uf_counter')" -.br -.ti -1c -.RI "UnaryFunctor::result_type \fBoperator()\fP (typename UnaryFunctor::first_argument_type _arg1)" -.br -.RI "\fICalls the embedded function and increments the counter. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "UnaryFunctor & \fBfunc\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoUnaryFunctorCounter< UnaryFunctor >" -Generic counter class that counts the number of times a unary function is used. - -Add a unary function through its ctor and use this class instead of it. -.PP -It is derived from \fBeoValueParam\fP so you can add it to a monitor. -.PP -Example: suppose you have an \fBeoEvalFunc\fP called myeval, to count the number of evaluations, just define: -.PP -eoUnaryFunctorCounter evalCounter(myeval); -.PP -and use evalCounter now instead of myeval. -.PP -Definition at line 95 of file eoCounter.h. -.SH "Member Function Documentation" -.PP -.SS "template UnaryFunctor::result_type \fBeoUnaryFunctorCounter\fP< UnaryFunctor >::operator() (typename UnaryFunctor::first_argument_type _arg1)\fC [inline]\fP" -.PP -Calls the embedded function and increments the counter. -.PP -Note for MSVC users, if this code does not compile, you are quite likely trying to count a function that has a non-void return type. Don't look at us, look at the MSVC builders. Code like 'return void;' is perfectly legal according to the ANSI standard, but the guys at Microsoft didn't get to implementing it yet. -.PP -We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. Given that in \fBEO\fP most functors return void, it was chosen to support void. -.PP -But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite capable of compiling return void; type of code. We'll try to change the signature then. -.PP -You happy GNU (and other compiler) users will not have a problem with this. -.PP -Definition at line 118 of file eoCounter.h. -.PP -References eoValueParam< unsigned long >::value(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUniformAtomExchange.3 b/trunk/paradiseo-eo/doc/man/man3/eoUniformAtomExchange.3 deleted file mode 100644 index ab8637c10..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUniformAtomExchange.3 +++ /dev/null @@ -1,54 +0,0 @@ -.TH "eoUniformAtomExchange" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUniformAtomExchange \- Uniform crossover - well, not really, efficient for FixedLength. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoAtomExchange< Atom >< Atom >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoUniformAtomExchange\fP (double _rate=0.5)" -.br -.ti -1c -.RI "void \fBrandomize\fP (unsigned _size1, unsigned _size2)" -.br -.RI "\fIrandomize: fill the mask: the exchange will be simulated first to see if sizes are OK, so it must be repeatable : the mask has to be a private data, cannot be computed on the fly \fP" -.ti -1c -.RI "bool \fBoperator()\fP (unsigned _i, Atom &)" -.br -.RI "\fIthe operator() simply returns the mask booleans in turn \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIinherited \fBclassName()\fP \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "double \fBrate\fP" -.br -.ti -1c -.RI "std::vector< bool > \fBmask\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoUniformAtomExchange< Atom >" -Uniform crossover - well, not really, efficient for FixedLength. -.PP -Definition at line 52 of file eoVariableLengthCrossover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUniformGeneChooser.3 b/trunk/paradiseo-eo/doc/man/man3/eoUniformGeneChooser.3 deleted file mode 100644 index 780ee9cc0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUniformGeneChooser.3 +++ /dev/null @@ -1,36 +0,0 @@ -.TH "eoUniformGeneChooser" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUniformGeneChooser \- Uniform choice of gene to delete. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoGeneDelChooser< EOT >< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "unsigned \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoUniformGeneChooser< EOT >" -Uniform choice of gene to delete. -.PP -Definition at line 94 of file eoVariableLengthMutation.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUniformGenerator.3 b/trunk/paradiseo-eo/doc/man/man3/eoUniformGenerator.3 deleted file mode 100644 index 6270a2b7f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUniformGenerator.3 +++ /dev/null @@ -1,62 +0,0 @@ -.TH "eoUniformGenerator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUniformGenerator \- The class eoUniform can be used in the STL generate function to easily generate random floats and doubles. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoRndGenerator< T >< T >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoUniformGenerator\fP (T _max=T(1.0), \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "\fBeoUniformGenerator\fP (T _min, T _max, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "T \fBoperator()\fP (void)" -.br -.RI "\fIGenerates the number, uses a static_cast to get the right behaviour for ints and unsigneds. \fP" -.ti -1c -.RI "template<> bool \fBoperator()\fP (void)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBminim\fP" -.br -.ti -1c -.RI "T \fBrange\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBuniform\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoUniformGenerator< T >" -The class eoUniform can be used in the STL generate function to easily generate random floats and doubles. - -It can also be used for ints and unsigneds by virtue of the static_cast in the generator function. -.PP -Also present is a specialization for boolean, that will ignore the minima and maxima that are possibly set and will return an unbiased flip of a coin. For a biased flip, use the eoBoolean -.PP -either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max) -.PP -Definition at line 66 of file eoRndGenerators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUniformInit.3 b/trunk/paradiseo-eo/doc/man/man3/eoUniformInit.3 deleted file mode 100644 index 303fee85f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUniformInit.3 +++ /dev/null @@ -1,67 +0,0 @@ -.TH "eoUniformInit" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUniformInit \- The class eoUniformInit can be used in the STL apply function to easily randomize floats and doubles. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoInit< T >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoUniformInit\fP (T _max=T(1.0), \fBeoRng\fP &_rng=rng)" -.br -.RI "\fICtor with only a max bound. \fP" -.ti -1c -.RI "\fBeoUniformInit\fP (\fBeoRealBounds\fP &_bound, \fBeoRng\fP &_rng=rng)" -.br -.RI "\fICtor with an eoRealBound. \fP" -.ti -1c -.RI "\fBeoUniformInit\fP (T _min, T _max, \fBeoRng\fP &_rng=rng)" -.br -.RI "\fICtor with explicit min and max. \fP" -.ti -1c -.RI "void \fBoperator()\fP (T &_t)" -.br -.RI "\fIGenerates the number, uses a static_cast to get the right behaviour for ints and unsigneds. \fP" -.ti -1c -.RI "template<> void \fBoperator()\fP (bool &_b)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBminim\fP" -.br -.ti -1c -.RI "T \fBrange\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBuniform\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoUniformInit< T >" -The class eoUniformInit can be used in the STL apply function to easily randomize floats and doubles. - -It can also be used for ints and unsigneds by virtue of the static_cast -.PP -Also present is a specialization for boolean, that will ignore the minima and maxima that are possibly set and will return an unbiased flip of a coin. For a biased flip, use the eoBoolean -.PP -either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max) -.PP -Definition at line 62 of file eoUniformInit.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUniformMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoUniformMutation.3 deleted file mode 100644 index 9eff16ade..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUniformMutation.3 +++ /dev/null @@ -1,133 +0,0 @@ -.TH "eoUniformMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUniformMutation \- eoUniformMutation --> changes all values of the std::vector by uniform choice with range epsilon with probability p_change per variable - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoUniformMutation\fP (const double &_epsilon, const double &_p_change=1.0)" -.br -.RI "\fIConstructor without bounds == unbounded variables :-) not very clean, but who's doing unbounded optimization anyway? and it's there mostly for backward compatibility. \fP" -.ti -1c -.RI "\fBeoUniformMutation\fP (\fBeoRealVectorBounds\fP &_bounds, const double &_epsilon, const double &_p_change=1.0)" -.br -.RI "\fIConstructor with bounds. \fP" -.ti -1c -.RI "\fBeoUniformMutation\fP (\fBeoRealVectorBounds\fP &_bounds, const std::vector< double > &_epsilon, const std::vector< double > &_p_change)" -.br -.RI "\fIConstructor with bounds. \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! \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "bool \fBhomogeneous\fP" -.br -.ti -1c -.RI "\fBeoRealVectorBounds\fP & \fBbounds\fP" -.br -.ti -1c -.RI "std::vector< double > \fBepsilon\fP" -.br -.ti -1c -.RI "std::vector< double > \fBp_change\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoUniformMutation< EOT >" -eoUniformMutation --> changes all values of the std::vector by uniform choice with range epsilon with probability p_change per variable -.PP -Definition at line 45 of file eoRealOp.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoUniformMutation\fP< \fBEOT\fP >::\fBeoUniformMutation\fP (const double & _epsilon, const double & _p_change = \fC1.0\fP)\fC [inline]\fP" -.PP -Constructor without bounds == unbounded variables :-) not very clean, but who's doing unbounded optimization anyway? and it's there mostly for backward compatibility. -.PP -\fBParameters:\fP -.RS 4 -\fI_epsilon\fP the range for uniform nutation -.br -\fI_p_change\fP the probability to change a given coordinate -.RE -.PP - -.PP -Definition at line 56 of file eoRealOp.h. -.SS "template \fBeoUniformMutation\fP< \fBEOT\fP >::\fBeoUniformMutation\fP (\fBeoRealVectorBounds\fP & _bounds, const double & _epsilon, const double & _p_change = \fC1.0\fP)\fC [inline]\fP" -.PP -Constructor with bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP an \fBeoRealVectorBounds\fP that contains the bounds -.br -\fI_epsilon\fP the range for uniform mutation - a double to be scaled -.br -\fI_p_change\fP the one probability to change all coordinates -.RE -.PP - -.PP -Definition at line 66 of file eoRealOp.h. -.PP -References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range(). -.SS "template \fBeoUniformMutation\fP< \fBEOT\fP >::\fBeoUniformMutation\fP (\fBeoRealVectorBounds\fP & _bounds, const std::vector< double > & _epsilon, const std::vector< double > & _p_change)\fC [inline]\fP" -.PP -Constructor with bounds. -.PP -\fBParameters:\fP -.RS 4 -\fI_bounds\fP an \fBeoRealVectorBounds\fP that contains the bounds -.br -\fI_epsilon\fP the VECTOR of ranges for uniform mutation -.br -\fI_p_change\fP the VECTOR of probabilities for each coordinates -.RE -.PP - -.PP -Definition at line 83 of file eoRealOp.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoUniformMutation\fP< \fBEOT\fP >::operator() (\fBEOT\fP & _eo)\fC [inline, virtual]\fP" -.PP -Do it! -.PP -\fBParameters:\fP -.RS 4 -\fI_eo\fP The indi undergoing the mutation -.RE -.PP - -.PP -Implements \fBeoUF< EOT &, bool >\fP. -.PP -Definition at line 96 of file eoRealOp.h. -.PP -References eoRng::flip(), eoRealBaseVectorBounds::isMaxBounded(), eoRealBaseVectorBounds::isMinBounded(), eoRealBaseVectorBounds::maximum(), eoRealBaseVectorBounds::minimum(), and eoRng::uniform(). - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUpdatable.3 b/trunk/paradiseo-eo/doc/man/man3/eoUpdatable.3 deleted file mode 100644 index 46aae7cce..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUpdatable.3 +++ /dev/null @@ -1,34 +0,0 @@ -.TH "eoUpdatable" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUpdatable \- eoUpdatable is a generic class for adding updatation to an existing class Just says it has an update() method - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherited by \fBeoOneFifthMutation< EOT >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual \fB~eoUpdatable\fP ()" -.br -.RI "\fIVirtual destructor. \fP" -.ti -1c -.RI "virtual void \fBupdate\fP ()=0" -.br -.in -1c -.SH "Detailed Description" -.PP -eoUpdatable is a generic class for adding updatation to an existing class Just says it has an update() method -.PP -Definition at line 36 of file eoUpdatable.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoUpdater.3 b/trunk/paradiseo-eo/doc/man/man3/eoUpdater.3 deleted file mode 100644 index 09abe422d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoUpdater.3 +++ /dev/null @@ -1,37 +0,0 @@ -.TH "eoUpdater" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoUpdater \- eoUpdater is a generic procudere for updating whatever you want. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoF< void >\fP. -.PP -Inherited by \fBeoCountedStateSaver\fP, \fBeoDynUpdater\fP, \fBeoIncrementor< T >\fP, \fBeoIncrementorParam< T >\fP, \fBeoTimeCounter\fP, and \fBeoTimedStateSaver\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "virtual void \fBlastCall\fP ()" -.br -.ti -1c -.RI "virtual std::string \fBclassName\fP (void) const " -.br -.in -1c -.SH "Detailed Description" -.PP -eoUpdater is a generic procudere for updating whatever you want. - -Yet again an empty name -.PP -Definition at line 39 of file eoUpdater.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoValueParam.3 b/trunk/paradiseo-eo/doc/man/man3/eoValueParam.3 deleted file mode 100644 index f3bbab356..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoValueParam.3 +++ /dev/null @@ -1,118 +0,0 @@ -.TH "eoValueParam" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoValueParam \- eoValueParam: templatized derivation of \fBeoParam\fP. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoParam\fP. -.PP -Inherited by \fBeoPerf2Worth< EOT, EOT::Fitness >\fP, and \fBeoPerf2Worth< EOT, WorthType >\fP. -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoValueParam\fP (void)" -.br -.RI "\fIConstruct a Param. \fP" -.ti -1c -.RI "\fBeoValueParam\fP (ValueType _defaultValue, std::string _longName, std::string _description='No description', char _shortHand=0, bool _required=false)" -.br -.RI "\fIConstruct a Param. \fP" -.ti -1c -.RI "ValueType & \fBvalue\fP ()" -.br -.RI "\fIParameter value. \fP" -.ti -1c -.RI "const ValueType & \fBvalue\fP () const " -.br -.RI "\fIParameter value. \fP" -.ti -1c -.RI "std::string \fBgetValue\fP (void) const " -.br -.RI "\fIPure virtual function to get the value out. \fP" -.ti -1c -.RI "void \fBsetValue\fP (const std::string &_value)" -.br -.RI "\fIPure virtual function to set the value. \fP" -.in -1c -.SS "Protected Attributes" - -.in +1c -.ti -1c -.RI "ValueType \fBrepValue\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoValueParam< ValueType >" -eoValueParam: templatized derivation of \fBeoParam\fP. - -Can be used to contain any scalar value type. It makes use of std::strstream to get and set values. This should be changed to std::stringstream when that class is available in g++. -.PP -Note also that there is a template specialization for std::pair and for std::vector. These stream their contents delimited with whitespace. -.PP -Definition at line 136 of file eoParam.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoValueParam\fP< ValueType >::\fBeoValueParam\fP (ValueType _defaultValue, std::string _longName, std::string _description = \fC'No description'\fP, char _shortHand = \fC0\fP, bool _required = \fCfalse\fP)\fC [inline]\fP" -.PP -Construct a Param. -.PP -\fBParameters:\fP -.RS 4 -\fI_defaultValue\fP The default value -.br -\fI_longName\fP Long name of the argument -.br -\fI_description\fP Description of the parameter. What is useful for. -.br -\fI_shortName\fP Short name of the argument (Optional) -.br -\fI_required\fP If it is a necessary parameter or not -.RE -.PP - -.PP -Definition at line 151 of file eoParam.h. -.SH "Member Function Documentation" -.PP -.SS "template ValueType& \fBeoValueParam\fP< ValueType >::value ()\fC [inline]\fP" -.PP -Parameter value. -.PP -\fBReturns:\fP -.RS 4 -parameter value -.RE -.PP - -.PP -Definition at line 166 of file eoParam.h. -.PP -Referenced by eoNoPerf2Worth< EOT >::operator()(), eoFileSnapshot::operator()(), eoFDCStat< EOT >::operator()(), and eoParser::setStopOnUnknownParam(). -.SS "template const ValueType& \fBeoValueParam\fP< ValueType >::value () const\fC [inline]\fP" -.PP -Parameter value. -.PP -This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -.PP -\fBReturns:\fP -.RS 4 -parameter value -.RE -.PP - -.PP -Definition at line 175 of file eoParam.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoVariableParetoTraits.3 b/trunk/paradiseo-eo/doc/man/man3/eoVariableParetoTraits.3 deleted file mode 100644 index 0d7649d4d..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoVariableParetoTraits.3 +++ /dev/null @@ -1,48 +0,0 @@ -.TH "eoVariableParetoTraits" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoVariableParetoTraits \- eoVariableParetoTraits : an \fBeoParetoFitnessTraits\fP whose characteristics can be set at run-time (nb objectives and min/max's) Why bother? For didactical purposes (and EASEA implementation :-) - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoParetoFitnessTraits\fP. -.PP -.SS "Static Public Member Functions" - -.in +1c -.ti -1c -.RI "void \fBsetUp\fP (unsigned _n, std::vector< bool > &_b)" -.br -.RI "\fIsetting the static stuff \fP" -.ti -1c -.RI "unsigned \fBnObjectives\fP ()" -.br -.RI "\fIthe accessors \fP" -.ti -1c -.RI "bool \fBmaximizing\fP (unsigned _i)" -.br -.in -1c -.SS "Static Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBnObj\fP" -.br -.ti -1c -.RI "std::vector< bool > \fBbObj\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -eoVariableParetoTraits : an \fBeoParetoFitnessTraits\fP whose characteristics can be set at run-time (nb objectives and min/max's) Why bother? For didactical purposes (and EASEA implementation :-) -.PP -Definition at line 56 of file eoParetoFitness.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoVector.3 b/trunk/paradiseo-eo/doc/man/man3/eoVector.3 deleted file mode 100644 index 66a3f1bfd..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoVector.3 +++ /dev/null @@ -1,80 +0,0 @@ -.TH "eoVector" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoVector \- Base class for fixed length chromosomes, just derives from \fBEO\fP and std::vector and redirects the smaller than operator to EO (fitness based comparison). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBEO< FitT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef GeneType \fBAtomType\fP" -.br -.ti -1c -.RI "typedef std::vector< GeneType > \fBContainerType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVector\fP (unsigned size=0, GeneType value=GeneType())" -.br -.RI "\fIdefault constructor \fP" -.ti -1c -.RI "template \fBeoVector\fP (const \fBeoVector\fP< OtherFitnessType, GeneType > &_vec)" -.br -.RI "\fIcopy ctor abstracting from the FitT \fP" -.ti -1c -.RI "void \fBvalue\fP (const std::vector< GeneType > &_v)" -.br -.ti -1c -.RI "bool \fBoperator<\fP (const \fBeoVector\fP< \fBFitT\fP, GeneType > &_eo) const " -.br -.RI "\fIto avoid conflicts between EO::operator< and std::vector::operator< \fP" -.ti -1c -.RI "virtual void \fBprintOn\fP (std::ostream &os) const " -.br -.RI "\fIprinting... \fP" -.ti -1c -.RI "virtual void \fBreadFrom\fP (std::istream &is)" -.br -.RI "\fIreading... \fP" -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoVector< FitT, GeneType >" -Base class for fixed length chromosomes, just derives from \fBEO\fP and std::vector and redirects the smaller than operator to EO (fitness based comparison). - -GeneType must have the following methods: void ctor (needed for the std::vector<>), copy ctor, -.PP -Definition at line 46 of file eoVector.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoVector\fP< \fBFitT\fP, GeneType >::\fBeoVector\fP (unsigned size = \fC0\fP, GeneType value = \fCGeneType()\fP)\fC [inline]\fP" -.PP -default constructor -.PP -\fBParameters:\fP -.RS 4 -\fIsize\fP Length of vector (default is 0) -.br -\fIvalue\fP Initial value of all elements (default is default value of type GeneType) -.RE -.PP - -.PP -Definition at line 65 of file eoVector.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoVlAddMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoVlAddMutation.3 deleted file mode 100644 index 9a4527392..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoVlAddMutation.3 +++ /dev/null @@ -1,74 +0,0 @@ -.TH "eoVlAddMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoVlAddMutation \- Addition of a gene Is inserted at a random position - so can be applied to both order-dependent and order-independent. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVlAddMutation\fP (unsigned _nMax, \fBeoInit\fP< AtomType > &_atomInit)" -.br -.RI "\fIdefault ctor \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIoperator: actually adds an Atom \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIinherited className \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBnMax\fP" -.br -.ti -1c -.RI "\fBeoInit\fP< AtomType > & \fBatomInit\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoVlAddMutation< EOT >" -Addition of a gene Is inserted at a random position - so can be applied to both order-dependent and order-independent. -.PP -Definition at line 48 of file eoVariableLengthMutation.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoVlAddMutation\fP< \fBEOT\fP >::\fBeoVlAddMutation\fP (unsigned _nMax, \fBeoInit\fP< AtomType > & _atomInit)\fC [inline]\fP" -.PP -default ctor -.PP -\fBParameters:\fP -.RS 4 -\fInMax\fP max number of atoms -.br -\fI_atomInit\fP an Atom initializer -.RE -.PP - -.PP -Definition at line 59 of file eoVariableLengthMutation.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoVlAtomExchangeQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoVlAtomExchangeQuadOp.3 deleted file mode 100644 index d42fd57a6..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoVlAtomExchangeQuadOp.3 +++ /dev/null @@ -1,61 +0,0 @@ -.TH "eoVlAtomExchangeQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoVlAtomExchangeQuadOp \- Exchange Crossover using an AtomExchange. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVlAtomExchangeQuadOp\fP (unsigned _Min, unsigned _Max, \fBeoAtomExchange\fP< AtomType > &_atomExchange)" -.br -.RI "\fIdefault ctor: requires bounds on number of genes + a rate \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.RI "\fIthe inherited className \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBMin\fP" -.br -.ti -1c -.RI "unsigned \fBMax\fP" -.br -.ti -1c -.RI "\fBeoAtomExchange\fP< AtomType > & \fBatomExchange\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoVlAtomExchangeQuadOp< EOT >" -Exchange Crossover using an AtomExchange. -.PP -Definition at line 89 of file eoVariableLengthCrossover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoVlDelMutation.3 b/trunk/paradiseo-eo/doc/man/man3/eoVlDelMutation.3 deleted file mode 100644 index 190a0eccc..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoVlDelMutation.3 +++ /dev/null @@ -1,108 +0,0 @@ -.TH "eoVlDelMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoVlDelMutation \- Deletion of a gene By default at a random position, but a 'chooser' can be specified can of course be applied to both order-dependent and order-independent. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoMonOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVlDelMutation\fP (unsigned _nMin, \fBeoGeneDelChooser\fP< \fBEOT\fP > &_chooser)" -.br -.RI "\fIctor with an external gene chooser \fP" -.ti -1c -.RI "\fBeoVlDelMutation\fP (unsigned _nMin)" -.br -.RI "\fIctor with uniform gene chooser - the default \fP" -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo)" -.br -.RI "\fIDo the job (delete one gene). \fP" -.ti -1c -.RI "virtual std::string \fBclassName\fP () const " -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBnMin\fP" -.br -.ti -1c -.RI "\fBeoUniformGeneChooser\fP< \fBEOT\fP > \fBuChooser\fP" -.br -.ti -1c -.RI "\fBeoGeneDelChooser\fP< \fBEOT\fP > & \fBchooser\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoVlDelMutation< EOT >" -Deletion of a gene By default at a random position, but a 'chooser' can be specified can of course be applied to both order-dependent and order-independent. -.PP -Definition at line 110 of file eoVariableLengthMutation.h. -.SH "Constructor & Destructor Documentation" -.PP -.SS "template \fBeoVlDelMutation\fP< \fBEOT\fP >::\fBeoVlDelMutation\fP (unsigned _nMin, \fBeoGeneDelChooser\fP< \fBEOT\fP > & _chooser)\fC [inline]\fP" -.PP -ctor with an external gene chooser -.PP -\fBParameters:\fP -.RS 4 -\fInMin\fP min number of atoms to leave in the individual -.br -\fI_geneChooser\fP an eoGeneCHooser to choose which one to delete -.RE -.PP - -.PP -Definition at line 121 of file eoVariableLengthMutation.h. -.SS "template \fBeoVlDelMutation\fP< \fBEOT\fP >::\fBeoVlDelMutation\fP (unsigned _nMin)\fC [inline]\fP" -.PP -ctor with uniform gene chooser - the default -.PP -\fBParameters:\fP -.RS 4 -\fInMin\fP min number of atoms to leave in the individual -.RE -.PP - -.PP -Definition at line 128 of file eoVariableLengthMutation.h. -.SH "Member Function Documentation" -.PP -.SS "template bool \fBeoVlDelMutation\fP< \fBEOT\fP >::operator() (\fBEOT\fP & _eo)\fC [inline, virtual]\fP" -.PP -Do the job (delete one gene). -.PP -\fBParameters:\fP -.RS 4 -\fI_eo\fP the \fBEO\fP to mutate -.RE -.PP - -.PP -Implements \fBeoUF< EOT &, bool >\fP. -.PP -Definition at line 134 of file eoVariableLengthMutation.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoVlUniformBinOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoVlUniformBinOp.3 deleted file mode 100644 index 691ea5c88..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoVlUniformBinOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoVlUniformBinOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoVlUniformBinOp \- Direct Uniform Exchange of genes for Variable Length, BINARY version. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoBinOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVlUniformBinOp\fP (unsigned _Min, unsigned _Max, double _rate=0.5)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, const \fBEOT\fP &_eo2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBMin\fP" -.br -.ti -1c -.RI "unsigned \fBMax\fP" -.br -.ti -1c -.RI "double \fBrate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoVlUniformBinOp< EOT >" -Direct Uniform Exchange of genes for Variable Length, BINARY version. - -A very primitive version, that does no verification at all!!! NEEDS to be improved - but no time now :-((( Especially, if both guys have maximal size, it will take some time to generate even 1 offspring that is not oversized!!! Also, we should first check for identical atoms, and copy them to the offspring, and only after that exchange the other ones (Radcliffe's RRR). -.PP -Definition at line 280 of file eoVariableLengthCrossover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoVlUniformQuadOp.3 b/trunk/paradiseo-eo/doc/man/man3/eoVlUniformQuadOp.3 deleted file mode 100644 index b1e748273..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoVlUniformQuadOp.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "eoVlUniformQuadOp" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoVlUniformQuadOp \- Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoQuadOp< EOT >\fP. -.PP -.SS "Public Types" - -.in +1c -.ti -1c -.RI "typedef EOT::AtomType \fBAtomType\fP" -.br -.in -1c -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBeoVlUniformQuadOp\fP (unsigned _Min, unsigned _Max, double _rate=0.5)" -.br -.ti -1c -.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo1, \fBEOT\fP &_eo2)" -.br -.RI "\fIThe pure virtual function that needs to be implemented by the subclass. \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "unsigned \fBMin\fP" -.br -.ti -1c -.RI "unsigned \fBMax\fP" -.br -.ti -1c -.RI "double \fBrate\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoVlUniformQuadOp< EOT >" -Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons. - -A very primitive version, that does no verification at all!!! NEEDS to be improved - but no time now :-((( Especially, if both guys have maximal size, it will take a lot of time to generate 2 offspring that both are not oversized!!! Also, we should first check for identical atoms, and copy them to the offspring, and only after that exchange the other ones (Radcliffe's RRR). -.PP -Definition at line 219 of file eoVariableLengthCrossover.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/eoWeakElitistReplacement.3 b/trunk/paradiseo-eo/doc/man/man3/eoWeakElitistReplacement.3 deleted file mode 100644 index f0440bc12..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/eoWeakElitistReplacement.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "eoWeakElitistReplacement" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -eoWeakElitistReplacement \- eoWeakElitistReplacement: a wrapper for other replacement procedures. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -Inherits \fBeoReplacement< EOT >< EOT >\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 "\fBeoWeakElitistReplacement\fP (\fBeoReplacement\fP< \fBEOT\fP > &_replace)" -.br -.ti -1c -.RI "void \fBoperator()\fP (\fBeoPop\fP< \fBEOT\fP > &_pop, \fBeoPop\fP< \fBEOT\fP > &_offspring)" -.br -.RI "\fIdo replacement \fP" -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "\fBeoReplacement\fP< \fBEOT\fP > & \fBreplace\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class eoWeakElitistReplacement< EOT >" -eoWeakElitistReplacement: a wrapper for other replacement procedures. - -Copies in the new pop the best individual from the old pop, AFTER normal replacement, if the best of the new pop is worse than the best of the old pop. Removes the worse individual from the new pop. This could be changed by adding a selector there... -.PP -Definition at line 102 of file eoReplacement.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/gp_parse_tree.3 b/trunk/paradiseo-eo/doc/man/man3/gp_parse_tree.3 deleted file mode 100644 index f9ef57f99..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/gp_parse_tree.3 +++ /dev/null @@ -1,175 +0,0 @@ -.TH "gp_parse_tree" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -gp_parse_tree \- Parse_tree and subtree classes (c) copyright Maarten Keijzer 1999, 2000. - -.PP -.SH SYNOPSIS -.br -.PP -.SS "Classes" - -.in +1c -.ti -1c -.RI "class \fBgp_parse_tree::MemPool\fP" -.br -.RI "\fIPool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. \fP" -.ti -1c -.RI "struct \fBgp_parse_tree::MemPool::Link\fP" -.br -.ti -1c -.RI "struct \fBgp_parse_tree::MemPool::Chunk\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::Node_alloc< T >\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::Standard_alloc< T >\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::Standard_Node_alloc< T >\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::Tree_alloc< T >\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::parse_tree< T >\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::parse_tree< T >::subtree\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::parse_tree< T >::base_iterator\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::parse_tree< T >::iterator\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::parse_tree< T >::embedded_iterator\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::parse_tree< T >::base_const_iterator\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::parse_tree< T >::const_iterator\fP" -.br -.ti -1c -.RI "class \fBgp_parse_tree::parse_tree< T >::embedded_const_iterator\fP" -.br -.in -1c -.SS "Functions" - -.in +1c -.ti -1c -.RI "template void \fBdo_the_swap\fP (T &a, T &b)" -.br -.RI "\fIThis ones defined because gcc does not always implement namespaces. \fP" -.in -1c -.SH "Detailed Description" -.PP -Parse_tree and subtree classes (c) copyright Maarten Keijzer 1999, 2000. - -Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided 'as is' without express or implied warranty, and with no claim as to its suitability for any purpose. -.PP -Permission to modify the code and to distribute modified code is granted, provided the above notices as well as this one are retained, and a notice that the code was modified is included with the above copyright notice. -.PP -Usage information. -.PP -class Node (your node in the tree) must have the following implemented: -.PP -Arity ****** -.PP -int arity(void) const -.PP -Note: the default constructor of a Node should provide a Node with arity 0! -.PP -Evaluation ****** -.PP -A parse_tree is evaluated through one of it's apply() members: -.PP -1) parse_tree::apply(RetVal) -.PP -is the simplest evaluation, it will call -.PP -RetVal Node::operator()(RetVal, subtree::const_iterator) -.PP -(Unfortunately the first RetVal argument is mandatory (although you might not need it. This is because MSVC does not support member template functions properly. If it cannot deduce the template arguments (as is the case in templatizing over return value) you are not allowed to specify them. calling tree.apply() would result in a syntax error. That is why you have to call tree.apply(double()) instead.) -.PP -2) parse_tree::apply(RetVal v, It values) -.PP -will call: -.PP -RetVal Node::operator()(RetVal, subtree<... , It values) -.PP -where It is whatever type you desire (most of the time this will be a std::vector containing the values of your variables); -.PP -3) parse_tree::apply(RetVal, It values, It2 moreValues) -.PP -will call: -.PP -RetVal Node::operator()(RetVal, subtree<... , It values, It2 moreValues) -.PP -although I do not see the immediate use of this, however... -.PP -4) parse_tree::apply(RetVal, It values, It2 args, It3 adfs) -.PP -that calls: -.PP -RetVal Node::operator()(subtree<... , It values, It2 args, It3 adfs) -.PP -can be useful for implementing adfs. -.PP -In general it is a good idea to leave the specifics of the arguments open so that different ways of evaluation remain possible. Implement the simplest eval as: -.PP -template RetVal operator()(RetVal dummy, It begin) const -.PP -Internal Structure ****** -.PP -A parse_tree has two template arguments: the Node and the ReturnValue produced by evaluating the node. The structure of the tree is defined through a subtree class that has the same two template arguments. -.PP -The nodes are stored in a tree like : -.PP -node4 / \\ node3 node2 / \\ node1 node0 -.PP -where nodes 2 and 4 have arity 2 and nodes 0,1 and 3 arity 0 (terminals) -.PP -The nodes are subtrees, containing the structure of the tree, together with its size and depth. They contain a Node, the user defined template argument. To access these nodes from a subtree, use operator-> or operator*. -.PP -The numbers behind the nodes define a reverse-polish or postfix traversel through the tree. The parse_tree defines iterators on the tree such that -.PP -tree.begin() points at the subtree at node0 and tree.back() returns the subtree at node4, the complete tree -.PP -Likewise operator[] is defined on the tree, such that: -.PP -tree[0] will return the subtree at node0, while tree[2] will return the subtree at node2 -.PP -Assigments of subtrees is protected so that the code: -.PP -tree[2] = tree[0]; -.PP -will not crash and result in a tree structured as: -.PP -node4 / \\ node3 node0 -.PP -Note that the rank numbers no longer specify their place in the tree: -.PP -tree[0] still points at node0, but tree[1] now points to node3 and tree[2] points at the root node4 -.PP -Embedded iterators are implemented to iterate over nodes rather than subtrees. So an easy way to copy your tree to a std::vector is: -.PP -std::vector vec(tree.size()); copy(tree.ebegin(), tree.eend(), vec.begin()); -.PP -You can also copy it to an std::ostream_iterator with this technique, given that your Node implements an appropriate operator<<. Reinitializing a tree with the std::vector is also simple: -.PP -tree.clear(); copy(vec.begin(), vec.end(), back_inserter(tree)); -.PP -or from an std::istream: -.PP -copy(std::istream_iterator(my_stream), std::istream_iterator(), back_inserter(tree)); -.PP -Note that the back_inserter must be used as there is no resize member in the parse_tree. back_inserter will use the push_back member from the parse_tree -.PP -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/gp_parse_tree_MemPool.3 b/trunk/paradiseo-eo/doc/man/man3/gp_parse_tree_MemPool.3 deleted file mode 100644 index e7825cdaa..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/gp_parse_tree_MemPool.3 +++ /dev/null @@ -1,58 +0,0 @@ -.TH "gp_parse_tree::MemPool" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -gp_parse_tree::MemPool \- Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBMemPool\fP (unsigned int sz)" -.br -.ti -1c -.RI "void * \fBallocate\fP ()" -.br -.ti -1c -.RI "void \fBdeallocate\fP (void *b)" -.br -.in -1c -.SS "Private Member Functions" - -.in +1c -.ti -1c -.RI "void \fBgrow\fP ()" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "Chunk * \fBchunks\fP" -.br -.ti -1c -.RI "const unsigned int \fBesize\fP" -.br -.ti -1c -.RI "Link * \fBhead\fP" -.br -.in -1c -.SH "Detailed Description" -.PP -Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) (c) copyright Maarten Keijzer 1999, 2000. - -Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided 'as is' without express or implied warranty, and with no claim as to its suitability for any purpose. -.PP -Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. -.PP -Definition at line 185 of file parse_tree.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/negexp_generator.3 b/trunk/paradiseo-eo/doc/man/man3/negexp_generator.3 deleted file mode 100644 index ebca3f6f9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/negexp_generator.3 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "negexp_generator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -negexp_generator \- The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBnegexp_generator\fP (T _mean=1.0, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "T \fBoperator()\fP (void)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBmean\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBnegexp\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class negexp_generator< T >" -The class negexp_generator can be used in the STL generate function to easily generate negative exponential distributed floats and doubles. - -The user can supply a mean. -.PP -Definition at line 156 of file rnd_generators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/normal_generator.3 b/trunk/paradiseo-eo/doc/man/man3/normal_generator.3 deleted file mode 100644 index e5d81097a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/normal_generator.3 +++ /dev/null @@ -1,45 +0,0 @@ -.TH "normal_generator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -normal_generator \- The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBnormal_generator\fP (T _stdev=T(1.0), \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "T \fBoperator()\fP (void)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBstdev\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBnormal\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class normal_generator< T >" -The class normal_generator can be used in the STL generate function to easily generate gaussian distributed floats and doubles. - -The user can supply a standard deviation which defaults to 1. -.PP -Definition at line 139 of file rnd_generators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/random_generator.3 b/trunk/paradiseo-eo/doc/man/man3/random_generator.3 deleted file mode 100644 index 5eceacdc0..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/random_generator.3 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "random_generator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -random_generator \- The class random_generator can be used in the STL generate function to easily generate random ints either between [0, _max) if only one value (_max) is given to the ctor or in [_min,_max) if 2 values are given (_min, _max). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBrandom_generator\fP (T _max, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "\fBrandom_generator\fP (T _min, T _max, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "T \fBoperator()\fP (void)" -.br -.ti -1c -.RI "template<> bool \fBoperator()\fP (void)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBminim\fP" -.br -.ti -1c -.RI "T \fBrange\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBrandom\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class random_generator< T >" -The class random_generator can be used in the STL generate function to easily generate random ints either between [0, _max) if only one value (_max) is given to the ctor or in [_min,_max) if 2 values are given (_min, _max). -.PP -Definition at line 87 of file rnd_generators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/related.3 b/trunk/paradiseo-eo/doc/man/man3/related.3 deleted file mode 100644 index b822bb7db..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/related.3 +++ /dev/null @@ -1,8 +0,0 @@ -.TH "related" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -related \- .SH "ParadisEO" -.PP -.PP -\fCParadisEO\fP is a project to extend \fBEO\fP to make use of dedicated parallel or distributed computing environments by \fCSébastien Cahon\fP. diff --git a/trunk/paradiseo-eo/doc/man/man3/todo.3 b/trunk/paradiseo-eo/doc/man/man3/todo.3 deleted file mode 100644 index 52e71d23a..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/todo.3 +++ /dev/null @@ -1,15 +0,0 @@ -.TH "todo" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -todo \- Todo List - -.IP "\fBClass \fBeoDominanceMap< EoType >\fP \fP" 1c -make it an \fBeoStat\fP? -.PP -.PP - -.IP "\fBMember \fBeoEsChromInit::create_self_adapt\fP(eoEsStdev< FitT > &result) \fP" 1c -Should we scale sigmas to the corresponding object variable range? -.PP - diff --git a/trunk/paradiseo-eo/doc/man/man3/uniform_generator.3 b/trunk/paradiseo-eo/doc/man/man3/uniform_generator.3 deleted file mode 100644 index 893b688e9..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/uniform_generator.3 +++ /dev/null @@ -1,49 +0,0 @@ -.TH "uniform_generator" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -uniform_generator \- The class uniform_generator can be used in the STL generate function to easily generate random floats and doubles either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max). - -.PP -.SH SYNOPSIS -.br -.PP -\fC#include \fP -.PP -.SS "Public Member Functions" - -.in +1c -.ti -1c -.RI "\fBuniform_generator\fP (T _max=T(1.0), \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "\fBuniform_generator\fP (T _min, T _max, \fBeoRng\fP &_rng=rng)" -.br -.ti -1c -.RI "T \fBoperator()\fP (void)" -.br -.in -1c -.SS "Private Attributes" - -.in +1c -.ti -1c -.RI "T \fBminim\fP" -.br -.ti -1c -.RI "T \fBrange\fP" -.br -.ti -1c -.RI "\fBeoRng\fP & \fBuniform\fP" -.br -.in -1c -.SH "Detailed Description" -.PP - -.SS "template class uniform_generator< T >" -The class uniform_generator can be used in the STL generate function to easily generate random floats and doubles either in [0, _max) if only 1 value (_max) is given (or none, as _max defaults to 1.0) or in [_min,_max) if 2 values are given (_min, _max). -.PP -Definition at line 44 of file rnd_generators.h. - -.SH "Author" -.PP -Generated automatically by Doxygen for EO from the source code. diff --git a/trunk/paradiseo-eo/doc/man/man3/webpages.3 b/trunk/paradiseo-eo/doc/man/man3/webpages.3 deleted file mode 100644 index 8b079736f..000000000 --- a/trunk/paradiseo-eo/doc/man/man3/webpages.3 +++ /dev/null @@ -1,17 +0,0 @@ -.TH "webpages" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- -.ad l -.nh -.SH NAME -webpages \- Related webpages -.IP "\(bu" 2 -\fBEO\fP \fChomepage\fP -.IP "\(bu" 2 -\fBEO\fP \fCTutorial\fP. -.IP "\(bu" 2 -SourceForge \fCproject page\fP -.IP "\(bu" 2 -\fCREADME\fP -.IP "\(bu" 2 -\fCNEWS\fP -.PP - diff --git a/trunk/paradiseo-eo/doc/publications.html b/trunk/paradiseo-eo/doc/publications.html deleted file mode 100644 index ac200f3d1..000000000 --- a/trunk/paradiseo-eo/doc/publications.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - EO Evolutionary Computation Framework - - - -
-

List of publications using EO

-
- - - - - - - - - -
-

- M. - Keijzer, J.J. Merelo, G. Romero, G., M. Schoenauer "Evolving - objects: A general purpose evolutionary computation - library", Art. Evol., 231-242 (2002). -

-
-

- J.J. Gilijamse, J. - Küpper, S. Hoekstra, S.Y.T. van de Meerakker, G. Meijer: - "Optimizing the Stark-decelerator beamline for the trapping of - cold molecules using evolutionary strategies", arXiv, - physics/0603108 (2006) -

-
-
-

maartenkeijzer@users.sourceforge.net - - merelo@users.sourceforge.net - - evomarc@users.sourceforge.net -

-

- Hosted by:
SF logo -

-
-

- - Valid HTML 4.01 Transitional -
- Please send publications that belong on this page and general comments on - this webpage to - the EO - mailing list. -

- - - - - - - - diff --git a/trunk/paradiseo-eo/doc/sflogo-hammer1.jpg b/trunk/paradiseo-eo/doc/sflogo-hammer1.jpg deleted file mode 100644 index a7e2f00f4..000000000 Binary files a/trunk/paradiseo-eo/doc/sflogo-hammer1.jpg and /dev/null differ diff --git a/trunk/paradiseo-eo/gp/CVS/Entries b/trunk/paradiseo-eo/gp/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/gp/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/gp/CVS/Repository b/trunk/paradiseo-eo/gp/CVS/Repository deleted file mode 100644 index a04226f40..000000000 --- a/trunk/paradiseo-eo/gp/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/gp diff --git a/trunk/paradiseo-eo/gp/CVS/Root b/trunk/paradiseo-eo/gp/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/gp/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/.cvsignore b/trunk/paradiseo-eo/src/.cvsignore deleted file mode 100644 index 69fb0bd82..000000000 --- a/trunk/paradiseo-eo/src/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.lo -*.la -.deps -.libs -Makefile -Makefile.in diff --git a/trunk/paradiseo-eo/src/CVS/Entries b/trunk/paradiseo-eo/src/CVS/Entries deleted file mode 100644 index c44bfce1c..000000000 --- a/trunk/paradiseo-eo/src/CVS/Entries +++ /dev/null @@ -1,108 +0,0 @@ -/.cvsignore/1.1.1.1/Fri Jan 29 12:23:53 1999// -/EO.h/1.26/Thu Feb 27 19:26:10 2003// -/Makefile.am/1.59/Thu Mar 23 10:15:17 2006// -/apply.h/1.4/Thu Feb 27 19:26:11 2003// -/eo/1.57/Tue Feb 28 14:40:37 2006// -/eoAlgo.h/1.5/Thu Dec 23 17:26:38 2004// -/eoBreed.h/1.4/Wed Oct 5 22:08:29 2005// -/eoCellularEasyEA.h/1.1/Thu Apr 25 14:06:43 2002// -/eoCloneOps.h/1.2/Thu Feb 27 19:26:09 2003// -/eoCombinedContinue.h/1.6/Tue Jun 15 07:28:54 2004// -/eoCombinedInit.h/1.2/Sat Aug 28 14:03:34 2004// -/eoContinue.h/1.4/Fri Dec 9 17:45:56 2005// -/eoCounter.h/1.4/Wed Feb 14 10:35:25 2001// -/eoCtrlCContinue.cpp/1.4/Fri Feb 28 16:49:13 2003// -/eoCtrlCContinue.h/1.6/Tue Jun 15 07:28:54 2004// -/eoDetSelect.h/1.5/Sun Mar 2 11:29:01 2003// -/eoDetTournamentSelect.h/1.7/Thu Feb 27 19:26:01 2003// -/eoDistribUpdater.h/1.2/Sat Nov 10 09:02:17 2001// -/eoDistribution.h/1.1/Thu Nov 8 07:40:27 2001// -/eoDominanceMap.h/1.10/Thu Dec 23 15:40:44 2004// -/eoEDA.h/1.1/Mon Jun 9 06:17:26 2003// -/eoEasyEA.h/1.23/Wed Oct 5 22:08:29 2005// -/eoEvalContinue.h/1.3/Tue Jun 15 07:28:54 2004// -/eoEvalFunc.h/1.16/Mon Jul 12 09:16:41 2004// -/eoEvalFuncCounter.h/1.1/Tue Apr 24 04:56:12 2001// -/eoEvalFuncPtr.h/1.7/Sat Nov 17 07:22:31 2001// -/eoFactory.h/1.4/Thu Feb 27 19:25:59 2003// -/eoFitContinue.h/1.4/Tue Jun 15 07:28:54 2004// -/eoFitnessScalingSelect.h/1.2/Fri Feb 16 08:21:25 2001// -/eoFlOrBinOp.h/1.1/Sat Aug 2 06:42:33 2003// -/eoFlOrMonOp.h/1.2/Mon Mar 14 21:00:00 2005// -/eoFlOrQuadOp.h/1.1/Sat Aug 2 06:42:33 2003// -/eoFunctor.h/1.7/Wed Dec 1 09:22:48 2004// -/eoFunctorStore.cpp/1.5/Wed Dec 7 15:51:32 2005// -/eoFunctorStore.h/1.7/Wed Dec 7 15:40:23 2005// -/eoG3Replacement.h/1.2/Thu Feb 27 19:25:59 2003// -/eoGenContinue.h/1.10/Fri Dec 9 17:49:43 2005// -/eoGenOp.h/1.11/Tue Aug 10 17:19:46 2004// -/eoGeneralBreeder.h/1.7/Thu Feb 27 19:25:59 2003// -/eoInit.h/1.16/Wed Dec 1 09:19:47 2004// -/eoInvalidateOps.h/1.3/Thu Feb 15 04:47:18 2001// -/eoLinearFitScaling.h/1.7/Mon Mar 27 18:55:19 2006// -/eoMGGReplacement.h/1.4/Sun Mar 2 11:26:45 2003// -/eoMerge.h/1.12/Thu Feb 27 19:25:58 2003// -/eoMergeReduce.h/1.2/Fri Jan 5 05:42:08 2001// -/eoNDSorting.h/1.20/Mon Mar 27 18:55:19 2006// -/eoObject.h/1.15/Thu Feb 27 19:25:58 2003// -/eoOneToOneBreeder.h/1.3/Thu Feb 27 19:25:57 2003// -/eoOp.h/1.29/Tue Aug 10 17:19:46 2004// -/eoOpContainer.h/1.10/Mon Mar 27 18:55:19 2006// -/eoOpSelMason.h/1.5/Thu Feb 27 19:25:55 2003// -/eoParetoConstraintFitness.h/1.3/Fri Apr 18 13:32:39 2003// -/eoParetoFitness.cpp/1.2/Mon Feb 4 13:16:50 2002// -/eoParetoFitness.h/1.10/Thu Feb 27 19:25:54 2003// -/eoParetoRanking.h/1.5/Mon Mar 27 18:55:19 2006// -/eoPerf2Worth.h/1.10/Mon Mar 27 18:55:19 2006// -/eoPeriodicContinue.h/1.1/Tue Feb 28 14:39:45 2006// -/eoPersistent.cpp/1.9/Thu Feb 27 19:25:53 2003// -/eoPersistent.h/1.8/Thu Feb 27 19:25:53 2003// -/eoPop.h/1.40/Thu Dec 23 10:14:42 2004// -/eoPopAlgo.h/1.1/Wed Mar 27 17:28:04 2002// -/eoPopEvalFunc.h/1.2/Tue Sep 4 06:50:42 2001// -/eoPopulator.h/1.9/Mon Sep 5 16:47:53 2005// -/eoPrintable.cpp/1.3/Thu Feb 27 19:25:52 2003// -/eoPrintable.h/1.6/Thu Feb 27 19:25:52 2003// -/eoPropGAGenOp.h/1.1/Sat May 7 15:43:29 2005// -/eoProportionalCombinedOp.h/1.8/Tue Aug 10 17:19:46 2004// -/eoProportionalSelect.h/1.4/Wed Jun 4 09:33:27 2003// -/eoRandomSelect.h/1.12/Mon Jun 17 09:18:37 2002// -/eoRanking.h/1.9/Mon Mar 27 18:55:19 2006// -/eoRankingSelect.h/1.4/Thu Feb 27 19:25:52 2003// -/eoReduce.h/1.11/Thu Feb 27 19:25:52 2003// -/eoReduceMerge.h/1.1/Tue Dec 19 18:41:19 2000// -/eoReduceMergeReduce.h/1.3/Thu Feb 27 19:25:52 2003// -/eoReduceSplit.h/1.4/Mon Jan 2 14:09:22 2006// -/eoReplacement.h/1.5/Tue Aug 10 17:19:46 2004// -/eoSGA.h/1.11/Thu Dec 23 17:26:38 2004// -/eoSGAGenOp.h/1.3/Thu Feb 27 19:25:51 2003// -/eoSGATransform.h/1.8/Tue Aug 10 17:19:46 2004// -/eoSTLFunctor.h/1.2/Wed Mar 21 12:10:13 2001// -/eoScalarFitness.h/1.7/Sat Feb 17 10:51:31 2001// -/eoScalarFitnessAssembled.cpp/1.1/Wed Apr 2 21:08:13 2003// -/eoScalarFitnessAssembled.h/1.11/Thu Dec 23 15:29:06 2004// -/eoSelect.h/1.2/Mon Oct 9 16:13:19 2000// -/eoSelectFactory.h/1.4/Thu Feb 27 19:25:52 2003// -/eoSelectFromWorth.h/1.9/Thu Dec 23 15:29:06 2004// -/eoSelectMany.h/1.2/Mon May 7 07:13:36 2001// -/eoSelectNumber.h/1.1/Tue Dec 19 18:41:19 2000// -/eoSelectOne.h/1.4/Sat Nov 10 09:02:17 2001// -/eoSelectPerc.h/1.3/Fri Dec 1 15:46:07 2000// -/eoSequentialSelect.h/1.4/Mon Oct 3 12:54:45 2005// -/eoSharing.h/1.6/Mon Mar 27 18:55:19 2006// -/eoSharingSelect.h/1.2/Sat Aug 28 16:26:03 2004// -/eoSimpleEDA.h/1.1/Mon Jun 9 06:17:26 2003// -/eoSteadyFitContinue.h/1.5/Tue Aug 10 17:19:46 2004// -/eoStochTournamentSelect.h/1.5/Thu Feb 27 19:25:48 2003// -/eoStochasticUniversalSelect.h/1.3/Thu Dec 23 17:22:52 2004// -/eoSurviveAndDie.h/1.3/Thu Dec 23 15:29:06 2004// -/eoTransform.h/1.2/Mon Oct 9 16:13:19 2000// -/eoTruncSelect.h/1.2/Sun Jan 5 16:31:47 2003// -/eoTruncatedSelectMany.h/1.2/Thu Feb 27 19:25:48 2003// -/eoTruncatedSelectOne.h/1.2/Mon Jun 17 09:19:17 2002// -/eoVariableLengthCrossover.h/1.14/Fri Oct 7 08:27:59 2005// -/eoVariableLengthMutation.h/1.10/Wed Sep 28 21:49:26 2005// -/eoVector.h/1.17/Thu Oct 6 17:22:40 2005// -/es.h/1.8/Tue Jul 29 05:33:58 2003// -/ga.h/1.3/Sat Sep 8 05:58:13 2001// -D diff --git a/trunk/paradiseo-eo/src/CVS/Entries.Log b/trunk/paradiseo-eo/src/CVS/Entries.Log deleted file mode 100644 index f887436e7..000000000 --- a/trunk/paradiseo-eo/src/CVS/Entries.Log +++ /dev/null @@ -1,10 +0,0 @@ -A D/MGE//// -A D/do//// -A D/es//// -A D/ga//// -A D/gp//// -A D/obsolete//// -A D/other//// -A D/paradisEO//// -A D/pyeo//// -A D/utils//// diff --git a/trunk/paradiseo-eo/src/CVS/Repository b/trunk/paradiseo-eo/src/CVS/Repository deleted file mode 100644 index 01fe86b2a..000000000 --- a/trunk/paradiseo-eo/src/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src diff --git a/trunk/paradiseo-eo/src/CVS/Root b/trunk/paradiseo-eo/src/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/EO.h b/trunk/paradiseo-eo/src/EO.h deleted file mode 100644 index fae793ae7..000000000 --- a/trunk/paradiseo-eo/src/EO.h +++ /dev/null @@ -1,152 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// EO.h -// (c) GeNeura Team 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EO_H -#define EO_H - -//----------------------------------------------------------------------------- - -#include // std::runtime_error -#include // eoObject -#include // eoPersistent - -//----------------------------------------------------------------------------- -/** EO is a base class for evolvable objects, that is, the subjects of - evolution. EOs have only got a fitness, which at the same time needs to be - only an object with the operation less than (<) defined. Fitness says how - good is the object; evolution or change of these objects is left to the - genetic operators. A fitness less than another means a worse fitness, in - whatever the context; thus, fitness is always maximized; although it can - be minimized with a proper definition of the < operator. The fitness - object must have, besides an void ctor, a copy ctor. -*/ -template class EO: public eoObject, public eoPersistent -{ -public: - typedef F Fitness; - - /** Default constructor. - Fitness must have a ctor which takes 0 as a value; we can not use void - ctors here since default types like float have no void initializer. - VC++ allows it, but gcc does not - */ - EO(): repFitness(Fitness()), invalidFitness(true) {} - - /// Virtual dtor - virtual ~EO() {}; - - /// Return fitness value. - Fitness fitness() const { - if (invalid()) - throw std::runtime_error("invalid fitness"); - return repFitness; - } - - // Set fitness as invalid. - void invalidate() { invalidFitness = true; } - - /** Set fitness. At the same time, validates it. - * @param _fitness New fitness value. - */ - void fitness(const Fitness& _fitness) - { - repFitness = _fitness; - invalidFitness = false; - } - - /** Return true If fitness value is invalid, false otherwise. - * @return true If fitness is invalid. - */ - bool invalid() const { return invalidFitness; } - - /** Returns true if - @return true if the fitness is higher - */ - bool operator<(const EO& _eo2) const { return fitness() < _eo2.fitness(); } - bool operator>(const EO& _eo2) const { return !(fitness() <= _eo2.fitness()); } - - /// Methods inherited from eoObject - //@{ - - /** Return the class id. - * @return the class name as a std::string - */ - virtual std::string className() const { return "EO"; } - - /** - * Read object.\\ - * Calls base class, just in case that one had something to do. - * The read and print methods should be compatible and have the same format. - * In principle, format is "plain": they just print a number - * @param _is a std::istream. - * @throw runtime_std::exception If a valid object can't be read. - */ - virtual void readFrom(std::istream& _is) { - - // the new version of the reafFrom function. - // It can distinguish between valid and invalid fitness values. - std::string fitness_str; - int pos = _is.tellg(); - _is >> fitness_str; - - if (fitness_str == "INVALID") - { - invalidFitness = true; - } - else - { - invalidFitness = false; - _is.seekg(pos); // rewind - _is >> repFitness; - } - } - - /** - * Write object. Called printOn since it prints the object _on_ a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const { - - - // the latest version of the code. Very similar to the old code - if (invalid()) { - _os << "INVALID "; - } - else - { - _os << repFitness << ' '; - } - - } - - //@} - -private: - Fitness repFitness; // value of fitness for this chromosome - bool invalidFitness; // true if the value of fitness is invalid -}; - -//----------------------------------------------------------------------------- - -#endif diff --git a/trunk/paradiseo-eo/src/MGE/CVS/Entries b/trunk/paradiseo-eo/src/MGE/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/MGE/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/MGE/CVS/Repository b/trunk/paradiseo-eo/src/MGE/CVS/Repository deleted file mode 100644 index e53666068..000000000 --- a/trunk/paradiseo-eo/src/MGE/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/MGE diff --git a/trunk/paradiseo-eo/src/MGE/CVS/Root b/trunk/paradiseo-eo/src/MGE/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/MGE/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/Makefile.am b/trunk/paradiseo-eo/src/Makefile.am deleted file mode 100644 index 11d00f934..000000000 --- a/trunk/paradiseo-eo/src/Makefile.am +++ /dev/null @@ -1,116 +0,0 @@ -# Makefile.am for eo/src - -SUBDIRS = es ga gp do utils other - -lib_LIBRARIES = libeo.a - -libeo_a_SOURCES = eoFunctorStore.cpp \ - eoPersistent.cpp \ - eoPrintable.cpp \ - eoCtrlCContinue.cpp \ - eoParetoFitness.cpp \ - eoScalarFitnessAssembled.cpp - - -pkginclude_HEADERS = eo \ - EO.h \ - apply.h \ - eoAlgo.h \ - eoBreed.h \ - eoCellularEasyEA.h \ - eoCloneOps.h \ - eoCombinedContinue.h \ - eoCombinedInit.h \ - eoContinue.h \ - eoCounter.h \ - eoCtrlCContinue.h \ - eoDetSelect.h \ - eoDetTournamentSelect.h \ - eoDistribUpdater.h \ - eoDistribution.h \ - eoDominanceMap.h \ - eoEDA.h \ - eoEasyEA.h \ - eoEvalContinue.h \ - eoEvalFunc.h \ - eoEvalFuncCounter.h \ - eoEvalFuncPtr.h \ - eoFactory.h \ - eoFitContinue.h \ - eoFitnessScalingSelect.h \ - eoFlOrBinOp.h \ - eoFlOrMonOp.h \ - eoFlOrQuadOp.h \ - eoFunctor.h \ - eoFunctorStore.h \ - eoG3Replacement.h \ - eoGenContinue.h \ - eoGenOp.h \ - eoGeneralBreeder.h \ - eoInit.h \ - eoInvalidateOps.h \ - eoLinearFitScaling.h \ - eoMGGReplacement.h \ - eoMerge.h \ - eoMergeReduce.h \ - eoNDSorting.h \ - eoObject.h \ - eoOneToOneBreeder.h \ - eoOp.h \ - eoOpContainer.h \ - eoOpSelMason.h \ - eoParetoConstraintFitness.h \ - eoParetoFitness.h \ - eoParetoRanking.h \ - eoPerf2Worth.h \ - eoPeriodicContinue.h \ - eoPersistent.h \ - eoPop.h \ - eoPopAlgo.h \ - eoPopEvalFunc.h \ - eoPopulator.h \ - eoPrintable.h \ - eoPropGAGenOp.h \ - eoProportionalCombinedOp.h \ - eoProportionalSelect.h \ - eoRandomSelect.h \ - eoRanking.h \ - eoRankingSelect.h \ - eoReduce.h \ - eoReduceMerge.h \ - eoReduceMergeReduce.h \ - eoReduceSplit.h \ - eoReplacement.h \ - eoSGA.h \ - eoSGAGenOp.h \ - eoSGATransform.h \ - eoSTLFunctor.h \ - eoScalarFitness.h \ - eoScalarFitnessAssembled.cpp \ - eoScalarFitnessAssembled.h \ - eoSelect.h \ - eoSelectFactory.h \ - eoSelectFromWorth.h \ - eoSelectMany.h \ - eoSelectNumber.h \ - eoSelectOne.h \ - eoSelectPerc.h \ - eoSequentialSelect.h \ - eoSharing.h \ - eoSharingSelect.h \ - eoSimpleEDA.h \ - eoSteadyFitContinue.h \ - eoStochTournamentSelect.h \ - eoStochasticUniversalSelect.h \ - eoSurviveAndDie.h \ - eoTransform.h \ - eoTruncSelect.h \ - eoTruncatedSelectMany.h \ - eoTruncatedSelectOne.h \ - eoVariableLengthCrossover.h \ - eoVariableLengthMutation.h \ - eoVector.h \ - es.h \ - ga.h - -AM_CXXFLAGS = -I$(top_srcdir)/src diff --git a/trunk/paradiseo-eo/src/apply.h b/trunk/paradiseo-eo/src/apply.h deleted file mode 100644 index 54cf162ee..000000000 --- a/trunk/paradiseo-eo/src/apply.h +++ /dev/null @@ -1,44 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoApply.h -// (c) Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _apply_h -#define _apply_h - -#include -#include - -/** - Applies a unary function to a std::vector of things. -*/ -template -void apply(eoUF& _proc, std::vector& _pop) -{ - for (unsigned i = 0; i < _pop.size(); ++i) - { - _proc(_pop[i]); - } -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/.cvsignore b/trunk/paradiseo-eo/src/do/.cvsignore deleted file mode 100644 index 70845e08e..000000000 --- a/trunk/paradiseo-eo/src/do/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.in diff --git a/trunk/paradiseo-eo/src/do/CVS/Entries b/trunk/paradiseo-eo/src/do/CVS/Entries deleted file mode 100644 index 1f51be412..000000000 --- a/trunk/paradiseo-eo/src/do/CVS/Entries +++ /dev/null @@ -1,16 +0,0 @@ -/.cvsignore/1.1/Fri Sep 17 17:00:04 2004// -/Makefile.am/1.3/Wed Sep 22 18:18:30 2004// -/Readme/1.2/Tue Sep 4 06:35:58 2001// -/make_algo_easea.h/1.2/Thu Feb 27 19:25:26 2003// -/make_algo_pareto.h/1.3/Mon Apr 4 20:41:05 2005// -/make_algo_scalar.h/1.15/Tue Sep 28 17:13:34 2004// -/make_checkpoint.h/1.13/Wed Oct 5 21:34:19 2005// -/make_checkpoint_FDC.h/1.3/Thu Feb 27 19:25:25 2003// -/make_checkpoint_assembled.h/1.4/Wed Oct 5 21:34:19 2005// -/make_checkpoint_pareto.h/1.10/Mon Oct 10 13:34:21 2005// -/make_continue.h/1.8/Mon Sep 12 17:53:25 2005// -/make_continue_pareto.h/1.2/Thu Feb 27 19:25:25 2003// -/make_general_replacement.h/1.4/Sun Apr 27 06:08:11 2003// -/make_pop.h/1.8/Mon Sep 26 10:18:15 2005// -/make_run.h/1.1/Tue Apr 24 04:52:04 2001// -D diff --git a/trunk/paradiseo-eo/src/do/CVS/Repository b/trunk/paradiseo-eo/src/do/CVS/Repository deleted file mode 100644 index 4808f0a4a..000000000 --- a/trunk/paradiseo-eo/src/do/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/do diff --git a/trunk/paradiseo-eo/src/do/CVS/Root b/trunk/paradiseo-eo/src/do/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/do/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/do/Makefile.am b/trunk/paradiseo-eo/src/do/Makefile.am deleted file mode 100644 index 3ec747297..000000000 --- a/trunk/paradiseo-eo/src/do/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -pkginclude_HEADERS = make_algo_easea.h \ - make_algo_pareto.h \ - make_algo_scalar.h \ - make_checkpoint.h \ - make_checkpoint_FDC.h \ - make_checkpoint_assembled.h \ - make_checkpoint_pareto.h \ - make_continue.h \ - make_continue_pareto.h \ - make_general_replacement.h \ - make_pop.h \ - make_run.h - - -EXTRA_DIST = Readme diff --git a/trunk/paradiseo-eo/src/do/Readme b/trunk/paradiseo-eo/src/do/Readme deleted file mode 100644 index cd3e5acd5..000000000 --- a/trunk/paradiseo-eo/src/do/Readme +++ /dev/null @@ -1,36 +0,0 @@ -This directory contains templatized code that is supposed to be -instanciated and compiled in an actual library for every type of EOT - -The user can then modify and recompile only the part he/she wishes to -change (as in any library!). - -See in EO src/ga dir the corresponding .cpp files, that simply instanciate -the functions here for eoBit AND eoBit -and in EO test dir the t-eoGA.cpp file that is a sample program that uses -the whole facility. - -All make_XXX.h file define some parser-based constructions of basic -Evolutionary Algorithms components, using state-based memory management -(see in src/utils dir, or read the tutorial). - -In this src/do dir, the following ***representation indedendent*** code -is defined - -make_algo_scalar.h The selection/replacement for scalar fitnesses -make_checkpoint.h The output facilities -make_continue.h The stpping criteria -make_pop.h Init of the population (from an EOT initializer) -make_run.h Run the algorithm - -See also (NOW MOVED TO util DIR, as it was useful everywhere) -make_help.cpp Help on demand (+ status file) - -Note: ------ -two additional make_XXX.h files need to be defined for each representation - -make_genotype.h Builds an initializer for the corresponding EOType -make_op.h Builds a general Operator to be used in the algo - -MS, April 23, 2001 - July 23, 2001 diff --git a/trunk/paradiseo-eo/src/do/make_algo_easea.h b/trunk/paradiseo-eo/src/do/make_algo_easea.h deleted file mode 100644 index cbcb9960a..000000000 --- a/trunk/paradiseo-eo/src/do/make_algo_easea.h +++ /dev/null @@ -1,368 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_algo_easea.h -// (c) Marc Schoenauer and Pierre Collet, 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Pierre.Collet@polytechnique.fr - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_algo_easea_h -#define _make_algo_easea_h - -#include // for eo_is_a_rate -// everything tha's needed for the algorithms - SCALAR fitness - -// Selection -// the eoSelectOne's -#include -#include -#include -#include -#include -#include -#include -// #include included in all others - -// Breeders -#include - -// Replacement -#include "make_general_replacement.h" -#include "eoMGGReplacement.h" -#include "eoG3Replacement.h" - - -// Algorithm (only this one needed) -#include - - // also need the parser and param includes -#include -#include - - -/* - * This function builds the algorithm (i.e. selection and replacement) - * from existing continue (or checkpoint) and operators - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is an individual, needed for 2 reasons - * it disambiguates the call after instanciations - * some operator might need some private information about the indis - * - * This is why the template is the complete EOT even though only the fitness - * is actually templatized here -*/ - -template -eoAlgo & do_make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op) -{ - // the selection - eoValueParam& selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection", "Selection: Roulette, Ranking(p,e), DetTour(T), StochTour(t), Sequential(ordered/unordered) or EliteSequentialSelect", 'S', "Evolution Engine"); - - eoParamParamType & ppSelect = selectionParam.value(); // std::pair > - - eoSelectOne* select ; - if (ppSelect.first == std::string("DetTour")) - { - unsigned detSize; - - if (!ppSelect.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl; - detSize = 2; - // put back 2 in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("2")); - } - else // parameter passed by user as DetTour(T) - detSize = atoi(ppSelect.second[0].c_str()); - select = new eoDetTournamentSelect(detSize); - } - else if (ppSelect.first == std::string("StochTour")) - { - double p; - if (!ppSelect.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl; - p = 1; - // put back p in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("1")); - } - else // parameter passed by user as DetTour(T) - p = atof(ppSelect.second[0].c_str()); - - select = new eoStochTournamentSelect(p); - } - else if (ppSelect.first == std::string("Ranking")) - { - double p,e; - if (ppSelect.second.size()==2) // 2 parameters: pressure and exponent - { - p = atof(ppSelect.second[0].c_str()); - e = atof(ppSelect.second[1].c_str()); - } - else if (ppSelect.second.size()==1) // 1 parameter: pressure - { - std::cerr << "WARNING, no exponent to Ranking, using 1" << std::endl; - e = 1; - ppSelect.second.push_back(std::string("1")); - p = atof(ppSelect.second[0].c_str()); - } - else // no parameters ... or garbage - { - std::cerr << "WARNING, no parameter to Ranking, using (2,1)" << std::endl; - p=2; - e=1; - // put back in parameter for consistency (and status file) - ppSelect.second.resize(2); // just in case - ppSelect.second[0] = (std::string("2")); - ppSelect.second[1] = (std::string("1")); - } - // check for authorized values - // pressure in (0,1] - if ( (p<=1) || (p>2) ) - { - std::cerr << "WARNING, selective pressure must be in (1,2] in Ranking, using 2\n"; - p=2; - ppSelect.second[0] = (std::string("2")); - } - // exponent >0 - if (e<=0) - { - std::cerr << "WARNING, exponent must be positive in Ranking, using 1\n"; - e=1; - ppSelect.second[1] = (std::string("1")); - } - // now we're OK - eoPerf2Worth & p2w = _state.storeFunctor( new eoRanking(p,e) ); - select = new eoRouletteWorthSelect(p2w); - } - else if (ppSelect.first == std::string("Sequential")) // one after the other - { - bool b; - if (ppSelect.second.size() == 0) // no argument -> default = ordered - { - b=true; - // put back in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("ordered")); - } - else - b = !(ppSelect.second[0] == std::string("unordered")); - select = new eoSequentialSelect(b); - } - else if (ppSelect.first == std::string("EliteSequential")) // Best first, one after the other in random order afterwards - { - select = new eoEliteSequentialSelect; - } - else if (ppSelect.first == std::string("Roulette")) // no argument (yet) - { - select = new eoProportionalSelect; - } - else if (ppSelect.first == std::string("Random")) // no argument - { - select = new eoRandomSelect; - } - else - { - std::string stmp = std::string("Invalid selection: ") + ppSelect.first; - throw std::runtime_error(stmp.c_str()); - } - - _state.storeFunctor(select); - - // the number of offspring - eoValueParam& offspringRateParam = _parser.createParam(eoHowMany(1.0), "nbOffspring", "Nb of offspring (percentage or absolute)", 'O', "Evolution Engine"); - - ///////////////////////////////////////////////////// - // the replacement - ///////////////////////////////////////////////////// - - /** Replacement type - high level: predefined replacements - * ESComma : - * elite = 0 - * surviveParents=0 (no reduce) - * surviveOffspring=100% (no reduce) - * reduceFinal = Deterministic - * - * ESPlus : idem, except for - * surviveParents = 100% - * - * GGA : generational GA - idem ESComma except for - * offspringRate = 100% - * all reducers are unused - * - * SSGA(T/t) : Steady-State GA - * surviveParents = 1.0 - offspringRate - * reduceFinal = DetTour(T>1) ou StochTour(0.5 * ptReplace; - - // first, separate G3 and MGG - // maybe one day we have a common class - but is it really necessary??? - if (replacementParam.first == std::string("G3")) - { - // reduce the parents: by default, survive parents = -2 === 2 parents die - eoHowMany surviveParents = _parser.createParam(eoHowMany(-2,false), "surviveParents", "Nb of surviving parents (percentage or absolute)", '\0', "Evolution Engine / Replacement").value(); - // at the moment, this is the only argument - ptReplace = new eoG3Replacement(-surviveParents); // must receive nb of eliminated parets! - _state.storeFunctor(ptReplace); - } - else if (replacementParam.first == std::string("MGG")) - { - float t; - unsigned tSize; - // reduce the parents: by default, survive parents = -2 === 2 parents die - eoHowMany surviveParents = _parser.createParam(eoHowMany(-2,false), "surviveParents", "Nb of surviving parents (percentage or absolute)", '\0', "Evolution Engine / Replacement").value(); - // the tournament size - if (!replacementParam.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to MGG replacement, using 2" << std::endl; - tSize = 2; - // put back 2 in parameter for consistency (and status file) - replacementParam.second.push_back(std::string("2")); - } - else - { - t = atof(replacementParam.second[0].c_str()); - if (t>=2) - { // build the appropriate deafult value - tSize = unsigned(t); - } - else - { - throw std::runtime_error("Sorry, only deterministic tournament available at the moment"); - } - } - ptReplace = new eoMGGReplacement(-surviveParents, tSize); - _state.storeFunctor(ptReplace); - } - else { // until the end of what was the only loop/switch - - // the default deafult values - eoHowMany elite (0.0); - bool strongElitism (false); - eoHowMany surviveParents (0.0); - eoParamParamType reduceParentType ("Deterministic"); - eoHowMany surviveOffspring (1.0); - eoParamParamType reduceOffspringType ("Deterministic"); - eoParamParamType reduceFinalType ("Deterministic"); - - // depending on the value entered by the user, change some of the above - double t; - - // ---------- General - if (replacementParam.first == std::string("General")) - { - ; // defaults OK - } - // ---------- ESComma - else if (replacementParam.first == std::string("ESComma")) - { - ; // OK too - } - // ---------- ESPlus - else if (replacementParam.first == std::string("ESPlus")) - { - surviveParents = eoHowMany(1.0); - } - // ---------- Generational - else if (replacementParam.first == std::string("Generational")) - { - ; // OK too (we should check nb of offspring) - } - // ---------- EP - else if (replacementParam.first == std::string("EP")) - { - if (!replacementParam.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to EP replacement, using 6" << std::endl; - // put back 6 in parameter for consistency (and status file) - replacementParam.second.push_back(std::string("6")); - } - // by coincidence, the syntax for the EP reducer is the same than here: - reduceFinalType = replacementParam; - surviveParents = eoHowMany(1.0); - } - // ---------- SSGA - else if (replacementParam.first == std::string("SSGA")) - { - if (!replacementParam.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to SSGA replacement, using 2" << std::endl; - // put back 2 in parameter for consistency (and status file) - replacementParam.second.push_back(std::string("2")); - reduceParentType = eoParamParamType(std::string("DetTour(2)")); - } - else - { - t = atof(replacementParam.second[0].c_str()); - if (t>=2) - { // build the appropriate deafult value - reduceParentType = eoParamParamType(std::string("DetTour(") + replacementParam.second[0].c_str() + ")"); - } - else // check for [0.5,1] will be made in make_general_replacement - { // build the appropriate deafult value - reduceParentType = eoParamParamType(std::string("StochTour(") + replacementParam.second[0].c_str() + ")"); - } - } - // - surviveParents = eoHowMany(-1); - surviveOffspring = eoHowMany(1); - } - else // no replacement recognized - { - throw std::runtime_error("Invalid replacement type " + replacementParam.first); - } - - ptReplace = & make_general_replacement( - _parser, _state, elite, strongElitism, surviveParents, reduceParentType, surviveOffspring, reduceOffspringType, reduceFinalType); - - } // end of the ugly construct due to G3 and MGG - totaly heterogeneous at the moment - - - /////////////////////////////// - // the general breeder - /////////////////////////////// - eoGeneralBreeder *breed = - new eoGeneralBreeder(*select, _op, offspringRateParam.value()); - _state.storeFunctor(breed); - - /////////////////////////////// - // now the eoEasyEA - /////////////////////////////// - eoAlgo *algo = new eoEasyEA(_continue, _eval, *breed, *ptReplace); - _state.storeFunctor(algo); - // that's it! - return *algo; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_algo_pareto.h b/trunk/paradiseo-eo/src/do/make_algo_pareto.h deleted file mode 100644 index 6231e4fee..000000000 --- a/trunk/paradiseo-eo/src/do/make_algo_pareto.h +++ /dev/null @@ -1,203 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_algo_pareto.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_algo_pareto_h -#define _make_algo_pareto_h - -#include "utils/eoData.h" // for eo_is_a_rate -// everything tha's needed for the algorithms - SCALAR fitness - -// Selection -// the eoSelectOne's -#include "eoSelectFromWorth.h" -#include "eoNDSorting.h" - -// Breeders -#include "eoGeneralBreeder.h" - -// Replacement - at the moment limited to eoNDPlusReplacement, locally defined -#include "eoReplacement.h" - -template -class eoNDPlusReplacement : public eoReplacement -{ -public: - eoNDPlusReplacement(eoPerf2Worth& _perf2worth) : perf2worth(_perf2worth) {} - - struct WorthPair : public std::pair - { - bool operator<(const WorthPair& other) const { return other.first < this->first; } - }; - - void operator()(eoPop& _parents, eoPop& _offspring) - { - unsigned sz = _parents.size(); - _parents.reserve(_parents.size() + _offspring.size()); - copy(_offspring.begin(), _offspring.end(), back_inserter(_parents)); - - // calculate worths - perf2worth(_parents); - perf2worth.sort_pop(_parents); - perf2worth.resize(_parents, sz); - - _offspring.clear(); - } - -private : - eoPerf2Worth& perf2worth; -}; - - -// Algorithm (only this one needed) -#include "eoEasyEA.h" - - // also need the parser and param includes -#include "utils/eoParser.h" -#include "utils/eoState.h" - - -/* - * This function builds the algorithm (i.e. selection and replacement) - * from existing continue (or checkpoint) and operators - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is an individual, needed for 2 reasons - * it disambiguates the call after instanciations - * some operator might need some private information about the indis - * - * This is why the template is the complete EOT even though only the fitness - * is actually templatized here -*/ - -template -eoAlgo & do_make_algo_pareto(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op) -{ - // the selection - std::string & selStr = _parser.createParam(std::string("NSGA-II"), "selCrit", "Pareto Selection Criterion: NSGA, NSGA-II, ParetoRanking", 'S', "Evolution Engine").value(); - double nicheSize = _parser.createParam(1.0, "nicheSize", "Size of niche for NSGA-I", '\0', "Evolution Engine").value(); - eoPerf2Worth *p2w; - if ( (selStr == std::string("NSGA")) || (selStr == std::string("NSGA-I") ) ) - p2w = new eoNDSorting_I(nicheSize); - else if (selStr == std::string("NSGA-II")) - p2w = new eoNDSorting_II(); - else if (selStr == std::string("ParetoRanking")) - { - eoDominanceMap& dominance = _state.storeFunctor(new eoDominanceMap); - p2w = new eoParetoRanking(dominance); - } - - _state.storeFunctor(p2w); - - // now the selector (from p2w) - cut-and-pasted from make_algo_scalar! - // only all classes are now ...FromWorth ... - // only the ranking is not re-implemented (yet?) - eoValueParam& selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection", "Selection: Roulette, DetTour(T), StochTour(t) or Random", 'S', "Evolution Engine"); - - eoParamParamType & ppSelect = selectionParam.value(); // std::pair > - - eoSelectOne* select ; - if (ppSelect.first == std::string("DetTour")) - { - unsigned detSize; - - if (!ppSelect.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl; - detSize = 2; - // put back 2 in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("2")); - } - else // parameter passed by user as DetTour(T) - detSize = atoi(ppSelect.second[0].c_str()); - select = new eoDetTournamentWorthSelect(*p2w, detSize); - } - else if (ppSelect.first == std::string("StochTour")) - { - double p; - if (!ppSelect.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl; - p = 1; - // put back p in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("1")); - } - else // parameter passed by user as DetTour(T) - p = atof(ppSelect.second[0].c_str()); - - select = new eoStochTournamentWorthSelect(*p2w, p); - } -// else if (ppSelect.first == std::string("Sequential")) // one after the other -// { -// bool b; -// if (ppSelect.second.size() == 0) // no argument -> default = ordered -// { -// b=true; -// // put back in parameter for consistency (and status file) -// ppSelect.second.push_back(std::string("ordered")); -// } -// else -// b = !(ppSelect.second[0] == std::string("unordered")); -// select = new eoSequentialWorthSelect(b); -// } - else if (ppSelect.first == std::string("Roulette")) // no argument (yet) - { - select = new eoRouletteWorthSelect(*p2w); - } - else if (ppSelect.first == std::string("Random")) // no argument, no perf2Worth - { - select = new eoRandomSelect; - } - else - { - std::string stmp = std::string("Invalid selection: ") + ppSelect.first; - throw std::runtime_error(stmp.c_str()); - } - - _state.storeFunctor(select); - - - // the number of offspring - eoValueParam& offspringRateParam = _parser.createParam(eoHowMany(1.0), "nbOffspring", "Nb of offspring (percentage or absolute)", 'O', "Evolution Engine"); - - // the replacement - // actually limited to eoNDPlusReplacement - eoReplacement & replace = _state.storeFunctor( - new eoNDPlusReplacement(*p2w) - ); - - // the general breeder - eoGeneralBreeder *breed = - new eoGeneralBreeder(*select, _op, offspringRateParam.value()); - _state.storeFunctor(breed); - - // now the eoEasyEA - eoAlgo *algo = new eoEasyEA(_continue, _eval, *breed, replace); - _state.storeFunctor(algo); - // that's it! - return *algo; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_algo_scalar.h b/trunk/paradiseo-eo/src/do/make_algo_scalar.h deleted file mode 100644 index 7dfebe3a0..000000000 --- a/trunk/paradiseo-eo/src/do/make_algo_scalar.h +++ /dev/null @@ -1,311 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_algo_scalar.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_algo_scalar_h -#define _make_algo_scalar_h - -#include // for eo_is_a_rate -// everything tha's needed for the algorithms - SCALAR fitness - -// Selection -// the eoSelectOne's -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Breeders -#include - -// Replacement -// #include -#include -#include -#include - -// distance -#include - -// Algorithm (only this one needed) -#include - - // also need the parser and param includes -#include -#include - - -/* - * This function builds the algorithm (i.e. selection and replacement) - * from existing continue (or checkpoint) and operators - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is an individual, needed for 2 reasons - * it disambiguates the call after instanciations - * some operator might need some private information about the indis - * - * This is why the template is the complete EOT even though only the fitness - * is actually templatized here -*/ - - -template -eoAlgo & do_make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op, eoDistance * _dist = NULL) -{ - // the selection : help and comment depend on whether or not a distance is passed - std::string comment; - if (_dist == NULL) - comment = "Selection: DetTour(T), StochTour(t), Roulette, Ranking(p,e) or Sequential(ordered/unordered)"; - else - comment = "Selection: DetTour(T), StochTour(t), Roulette, Ranking(p,e), Sharing(sigma_share) or Sequential(ordered/unordered)"; - - eoValueParam& selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection", comment, 'S', "Evolution Engine"); - - eoParamParamType & ppSelect = selectionParam.value(); // std::pair > - - eoSelectOne* select ; - if (ppSelect.first == std::string("DetTour")) - { - unsigned detSize; - - if (!ppSelect.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl; - detSize = 2; - // put back 2 in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("2")); - } - else // parameter passed by user as DetTour(T) - detSize = atoi(ppSelect.second[0].c_str()); - select = new eoDetTournamentSelect(detSize); - } - else if (ppSelect.first == std::string("Sharing")) - { - double nicheSize; - - if (!ppSelect.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to Sharing, using 0.5" << std::endl; - nicheSize = 0.5; - // put back 2 in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("0.5")); - } - else // parameter passed by user as DetTour(T) - nicheSize = atof(ppSelect.second[0].c_str()); - if (_dist == NULL) // no distance - throw std::runtime_error("You didn't specify a distance when calling make_algo_scalar and using sharing"); - select = new eoSharingSelect(nicheSize, *_dist); - } - else if (ppSelect.first == std::string("StochTour")) - { - double p; - if (!ppSelect.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl; - p = 1; - // put back p in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("1")); - } - else // parameter passed by user as DetTour(T) - p = atof(ppSelect.second[0].c_str()); - - select = new eoStochTournamentSelect(p); - } - else if (ppSelect.first == std::string("Ranking")) - { - double p,e; - if (ppSelect.second.size()==2) // 2 parameters: pressure and exponent - { - p = atof(ppSelect.second[0].c_str()); - e = atof(ppSelect.second[1].c_str()); - } - else if (ppSelect.second.size()==1) // 1 parameter: pressure - { - std::cerr << "WARNING, no exponent to Ranking, using 1" << std::endl; - e = 1; - ppSelect.second.push_back(std::string("1")); - p = atof(ppSelect.second[0].c_str()); - } - else // no parameters ... or garbage - { - std::cerr << "WARNING, no parameter to Ranking, using (2,1)" << std::endl; - p=2; - e=1; - // put back in parameter for consistency (and status file) - ppSelect.second.resize(2); // just in case - ppSelect.second[0] = (std::string("2")); - ppSelect.second[1] = (std::string("1")); - } - // check for authorized values - // pressure in (0,1] - if ( (p<=1) || (p>2) ) - { - std::cerr << "WARNING, selective pressure must be in (0,1] in Ranking, using 2\n"; - p=2; - ppSelect.second[0] = (std::string("2")); - } - // exponent >0 - if (e<=0) - { - std::cerr << "WARNING, exponent must be positive in Ranking, using 1\n"; - e=1; - ppSelect.second[1] = (std::string("1")); - } - // now we're OK - eoPerf2Worth & p2w = _state.storeFunctor( new eoRanking(p,e) ); - select = new eoRouletteWorthSelect(p2w); - } - else if (ppSelect.first == std::string("Sequential")) // one after the other - { - bool b; - if (ppSelect.second.size() == 0) // no argument -> default = ordered - { - b=true; - // put back in parameter for consistency (and status file) - ppSelect.second.push_back(std::string("ordered")); - } - else - b = !(ppSelect.second[0] == std::string("unordered")); - select = new eoSequentialSelect(b); - } - else if (ppSelect.first == std::string("Roulette")) // no argument (yet) - { - select = new eoProportionalSelect; - } - else if (ppSelect.first == std::string("Random")) // no argument - { - select = new eoRandomSelect; - } - else - { - std::string stmp = std::string("Invalid selection: ") + ppSelect.first; - throw std::runtime_error(stmp.c_str()); - } - - _state.storeFunctor(select); - - // the number of offspring - eoValueParam& offspringRateParam = _parser.createParam(eoHowMany(1.0), "nbOffspring", "Nb of offspring (percentage or absolute)", 'O', "Evolution Engine"); - - // the replacement - eoValueParam& replacementParam = _parser.createParam(eoParamParamType("Comma"), "replacement", "Replacement: Comma, Plus or EPTour(T), SSGAWorst, SSGADet(T), SSGAStoch(t)", 'R', "Evolution Engine"); - - eoParamParamType & ppReplace = replacementParam.value(); // std::pair > - - eoReplacement* replace ; - if (ppReplace.first == std::string("Comma")) // Comma == generational - { - replace = new eoCommaReplacement; - } - else if (ppReplace.first == std::string("Plus")) - { - replace = new eoPlusReplacement; - } - else if (ppReplace.first == std::string("EPTour")) - { - unsigned detSize; - - if (!ppReplace.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to EPTour, using 6" << std::endl; - detSize = 6; - // put back in parameter for consistency (and status file) - ppReplace.second.push_back(std::string("6")); - } - else // parameter passed by user as EPTour(T) - detSize = atoi(ppSelect.second[0].c_str()); - - replace = new eoEPReplacement(detSize); - } - else if (ppReplace.first == std::string("SSGAWorst")) - { - replace = new eoSSGAWorseReplacement; - } - else if (ppReplace.first == std::string("SSGADet")) - { - unsigned detSize; - - if (!ppReplace.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to SSGADet, using 2" << std::endl; - detSize = 2; - // put back in parameter for consistency (and status file) - ppReplace.second.push_back(std::string("2")); - } - else // parameter passed by user as SSGADet(T) - detSize = atoi(ppSelect.second[0].c_str()); - - replace = new eoSSGADetTournamentReplacement(detSize); - } - else if (ppReplace.first == std::string("SSGAStoch")) - { - double p; - if (!ppReplace.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to SSGAStoch, using 1" << std::endl; - p = 1; - // put back in parameter for consistency (and status file) - ppReplace.second.push_back(std::string("1")); - } - else // parameter passed by user as SSGADet(T) - p = atof(ppSelect.second[0].c_str()); - - replace = new eoSSGAStochTournamentReplacement(p); - } - else - { - std::string stmp = std::string("Invalid replacement: ") + ppReplace.first; - throw std::runtime_error(stmp.c_str()); - } - - _state.storeFunctor(replace); - - // adding weak elitism - eoValueParam& weakElitismParam = _parser.createParam(false, "weakElitism", "Old best parent replaces new worst offspring *if necessary*", 'w', "Evolution Engine"); - if (weakElitismParam.value()) - { - eoReplacement *replaceTmp = replace; - replace = new eoWeakElitistReplacement(*replaceTmp); - _state.storeFunctor(replace); - } - - // the general breeder - eoGeneralBreeder *breed = - new eoGeneralBreeder(*select, _op, offspringRateParam.value()); - _state.storeFunctor(breed); - - // now the eoEasyEA - eoAlgo *algo = new eoEasyEA(_continue, _eval, *breed, *replace); - _state.storeFunctor(algo); - // that's it! - return *algo; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_checkpoint.h b/trunk/paradiseo-eo/src/do/make_checkpoint.h deleted file mode 100644 index 93488ac8b..000000000 --- a/trunk/paradiseo-eo/src/do/make_checkpoint.h +++ /dev/null @@ -1,291 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_checkpoint.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_checkpoint_h -#define _make_checkpoint_h - -#include -#include // for minimizing_fitness() -#include -#include -#include - -// at the moment, in utils/make_help.cpp -// this should become some eoUtils.cpp with corresponding eoUtils.h -bool testDirRes(std::string _dirName, bool _erase); -/////////////////// The checkpoint and other I/O ////////////// - - -template -eoCheckPoint& do_make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue) -{ - // first, create a checkpoint from the eoContinue - eoCheckPoint *checkpoint = new eoCheckPoint(_continue); - _state.storeFunctor(checkpoint); - - /////////////////// - // Counters - ////////////////// - // is nb Eval to be used as counter? - eoValueParam& useEvalParam = _parser.createParam(true, "useEval", "Use nb of eval. as counter (vs nb of gen.)", '\0', "Output"); - eoValueParam& useTimeParam = _parser.createParam(true, "useTime", "Display time (s) every generation", '\0', "Output"); - - // if we want the time, we need an eoTimeCounter - eoTimeCounter * tCounter = NULL; - - // Create anyway a generation-counter - // Recent change (03/2002): it is now an eoIncrementorParam, both - // a parameter AND updater so you can store it into the eoState - eoIncrementorParam *generationCounter = new eoIncrementorParam("Gen."); - // store it in the state - _state.storeFunctor(generationCounter); - // And add it to the checkpoint, - checkpoint->add(*generationCounter); - - // dir for DISK output - eoValueParam& dirNameParam = _parser.createParam(std::string("Res"), "resDir", "Directory to store DISK outputs", '\0', "Output - Disk"); - // shoudl we empty it if exists - eoValueParam& eraseParam = _parser.createParam(true, "eraseDir", "erase files in dirName if any", '\0', "Output - Disk"); - bool dirOK = false; // not tested yet - - ///////////////////////////////////////// - // now some statistics on the population: - ///////////////////////////////////////// - /** - * existing stats as of today, April 10. 2001 - * - * eoBestFitnessStat : best value in pop - type EOT::Fitness - * eoAverageStat : average value in pop - type EOT::Fitness - * eoSecondMomentStat: average + stdev - type std::pair - * eoSortedPopStat : whole population - type std::string (!!) - * eoScalarFitnessStat: the fitnesses - type std::vector - */ - - // Best fitness in population - //--------------------------- - eoValueParam& printBestParam = _parser.createParam(true, "printBestStat", "Print Best/avg/stdev every gen.", '\0', "Output"); - eoValueParam& plotBestParam = _parser.createParam(false, "plotBestStat", "Plot Best/avg Stat", '\0', "Output - Graphical"); - eoValueParam& fileBestParam = _parser.createParam(false, "fileBestStat", "Output bes/avg/std to file", '\0', "Output - Disk"); - - eoBestFitnessStat *bestStat = NULL; - if ( printBestParam.value() || plotBestParam.value() || fileBestParam.value() ) - // we need the bestStat for at least one of the 3 above - { - bestStat = new eoBestFitnessStat; - // store it - _state.storeFunctor(bestStat); - // add it to the checkpoint - checkpoint->add(*bestStat); - } - - // Average fitness alone - //---------------------- - eoAverageStat *averageStat = NULL; // do we need averageStat? - if ( plotBestParam.value() ) // we need it for gnuplot output - { - averageStat = new eoAverageStat; - // store it - _state.storeFunctor(averageStat); - // add it to the checkpoint - checkpoint->add(*averageStat); - } - - // Second moment stats: average and stdev - //--------------------------------------- - eoSecondMomentStats *secondStat = NULL; - if ( printBestParam.value() ) // we need it for sreen output - { - secondStat = new eoSecondMomentStats; - // store it - _state.storeFunctor(secondStat); - // add it to the checkpoint - checkpoint->add(*secondStat); - } - - - // Dump of the whole population - //----------------------------- - eoSortedPopStat *popStat = NULL; - eoValueParam& printPopParam = _parser.createParam(false, "printPop", "Print sorted pop. every gen.", '\0', "Output"); - if ( printPopParam.value() ) // we do want pop dump - { - popStat = new eoSortedPopStat; - // store it - _state.storeFunctor(popStat); - // add it to the checkpoint - checkpoint->add(*popStat); - } - - - // do we wnat some histogram of fitnesses snpashots? - eoValueParam plotHistogramParam = _parser.createParam(false, "plotHisto", "Plot histogram of fitnesses", '\0', "Output - Graphical"); - - /////////////// - // The monitors - /////////////// - // do we want an eoStdoutMonitor? - bool needStdoutMonitor = printBestParam.value() - || printPopParam.value() ; - - // The Stdout monitor will print parameters to the screen ... - if ( needStdoutMonitor ) - { - eoStdoutMonitor *monitor = new eoStdoutMonitor(false); - _state.storeFunctor(monitor); - - // when called by the checkpoint (i.e. at every generation) - checkpoint->add(*monitor); - - // the monitor will output a series of parameters: add them - monitor->add(*generationCounter); - if (useEvalParam.value()) // we want nb of evaluations - monitor->add(_eval); - if (useTimeParam.value()) // we want time - { - tCounter = new eoTimeCounter; - _state.storeFunctor(tCounter); - checkpoint->add(*tCounter); - monitor->add(*tCounter); - } - if (printBestParam.value()) - { - monitor->add(*bestStat); - monitor->add(*secondStat); - } - if ( printPopParam.value()) - monitor->add(*popStat); - } - - // first handle the dir test - if we need at least one file - if ( ( fileBestParam.value() || plotBestParam.value() || - plotHistogramParam.value() ) - && !dirOK ) // just in case we add something before - dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE - - if (fileBestParam.value()) // A file monitor for best & secondMoment - { -#ifdef _MSVC - std::string stmp = dirNameParam.value() + "\best.xg"; -#else - std::string stmp = dirNameParam.value() + "/best.xg"; -#endif - eoFileMonitor *fileMonitor = new eoFileMonitor(stmp); - // save and give to checkpoint - _state.storeFunctor(fileMonitor); - checkpoint->add(*fileMonitor); - // and feed with some statistics - fileMonitor->add(*generationCounter); - fileMonitor->add(_eval); - if (tCounter) // we want the time as well - { - // std::cout << "On met timecounter\n"; - fileMonitor->add(*tCounter); - } - fileMonitor->add(*bestStat); - fileMonitor->add(*secondStat); - } - - if (plotBestParam.value()) // an eoGnuplot1DMonitor for best & average - { - std::string stmp = dirNameParam.value() + "/gnu_best.xg"; - eoGnuplot1DMonitor *gnuMonitor = new eoGnuplot1DMonitor(stmp,minimizing_fitness()); - // save and give to checkpoint - _state.storeFunctor(gnuMonitor); - checkpoint->add(*gnuMonitor); - // and feed with some statistics - if (useEvalParam.value()) // do we want eval as X coordinate - gnuMonitor->add(_eval); - else if (tCounter) // or time? - gnuMonitor->add(*tCounter); - else // default: generation - gnuMonitor->add(*generationCounter); - gnuMonitor->add(*bestStat); - gnuMonitor->add(*averageStat); - } - - // historgram? - if (plotHistogramParam.value()) // want to see how the fitness is spread? - { - eoScalarFitnessStat *fitStat = new eoScalarFitnessStat; - _state.storeFunctor(fitStat); - checkpoint->add(*fitStat); - // a gnuplot-based monitor for snapshots: needs a dir name - eoGnuplot1DSnapshot *fitSnapshot = new eoGnuplot1DSnapshot(dirNameParam.value()); - _state.storeFunctor(fitSnapshot); - // add any stat that is a std::vector to it - fitSnapshot->add(*fitStat); - // and of course add it to the checkpoint - checkpoint->add(*fitSnapshot); - } - - ////////////////////////////////// - // State savers - ////////////////////////////// - - // feed the state to state savers - // save state every N generation - eoValueParam& saveFrequencyParam = _parser.createParam(unsigned(0), "saveFrequency", "Save every F generation (0 = only final state, absent = never)", '\0', "Persistence" ); - - if (_parser.isItThere(saveFrequencyParam)) - { - // first make sure dirName is OK - if (! dirOK ) - dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE - - unsigned freq = (saveFrequencyParam.value()>0 ? saveFrequencyParam.value() : UINT_MAX ); -#ifdef _MSVC - std::string stmp = dirNameParam.value() + "\generations"; -#else - std::string stmp = dirNameParam.value() + "/generations"; -#endif - eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp); - _state.storeFunctor(stateSaver1); - checkpoint->add(*stateSaver1); - } - - // save state every T seconds - eoValueParam& saveTimeIntervalParam = _parser.createParam(unsigned(0), "saveTimeInterval", "Save every T seconds (0 or absent = never)", '\0',"Persistence" ); - if (_parser.isItThere(saveTimeIntervalParam) && saveTimeIntervalParam.value()>0) - { - // first make sure dirName is OK - if (! dirOK ) - dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE - -#ifdef _MSVC - std::string stmp = dirNameParam.value() + "\time"; -#else - std::string stmp = dirNameParam.value() + "/time"; -#endif - eoTimedStateSaver *stateSaver2 = new eoTimedStateSaver(saveTimeIntervalParam.value(), _state, stmp); - _state.storeFunctor(stateSaver2); - checkpoint->add(*stateSaver2); - } - - // and that's it for the (control and) output - return *checkpoint; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_checkpoint_FDC.h b/trunk/paradiseo-eo/src/do/make_checkpoint_FDC.h deleted file mode 100644 index d198c9dd7..000000000 --- a/trunk/paradiseo-eo/src/do/make_checkpoint_FDC.h +++ /dev/null @@ -1,298 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_checkpoint.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_checkpoint_h -#define _make_checkpoint_h - -#include -#include // for minimizing_fitness() -#include -#include -#include - -// at the moment, in utils/make_help.cpp -// this should become some eoUtils.cpp with corresponding eoUtils.h -bool testDirRes(std::string _dirName, bool _erase); -/////////////////// The checkpoint and other I/O ////////////// - - -template -eoCheckPoint& do_make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue) -{ - // first, create a checkpoint from the eoContinue - eoCheckPoint *checkpoint = new eoCheckPoint(_continue); - _state.storeFunctor(checkpoint); - - /////////////////// - // Counters - ////////////////// - // is nb Eval to be used as counter? - eoValueParam& useEvalParam = _parser.createParam(true, "useEval", "Use nb of eval. as counter (vs nb of gen.)", '\0', "Output"); - - // Create anyway a generation-counter parameter - eoValueParam *generationCounter = new eoValueParam(0, "Gen."); - // Create an incrementor (sub-class of eoUpdater). - eoIncrementor* increment = new eoIncrementor(generationCounter->value()); - // Add it to the checkpoint, - checkpoint->add(*increment); - // and store it in the state - _state.storeFunctor(increment); - - // dir for DISK output - eoValueParam& dirNameParam = _parser.createParam(std::string("Res"), "resDir", "Directory to store DISK outputs", '\0', "Output - Disk"); - // shoudl we empty it if exists - eoValueParam& eraseParam = _parser.createParam(false, "eraseDir", "erase files in dirName if any", '\0', "Output - Disk"); - bool dirOK = false; // not tested yet - - ///////////////////////////////////////// - // now some statistics on the population: - ///////////////////////////////////////// - /** - * existing stats as of today, April 10. 2001 - * - * eoBestFitnessStat : best value in pop - type EOT::Fitness - * eoAverageStat : average value in pop - type EOT::Fitness - * eoSecondMomentStat: average + stdev - type std::pair - * eoSortedPopStat : whole population - type std::string (!!) - * eoScalarFitnessStat: the fitnesses - type std::vector - * eoDFCSTat : FDC wrt best in pop or absolute best - type double - * requires an eoDistance. See eoFDCStat.h - * also computes all elements for the FDC scatter plot - */ - - // Best fitness in population - //--------------------------- - eoValueParam& printBestParam = _parser.createParam(true, "printBestStat", "Print Best/avg/stdev every gen.", '\0', "Output"); - eoValueParam& plotBestParam = _parser.createParam(false, "plotBestStat", "Plot Best/avg Stat", '\0', "Output - Graphical"); - eoValueParam& fileBestParam = _parser.createParam(false, "fileBestStat", "Output bes/avg/std to file", '\0', "Output - Disk"); - - eoBestFitnessStat *bestStat = NULL; - if ( printBestParam.value() || plotBestParam.value() || fileBestParam.value() ) - // we need the bestStat for at least one of the 3 above - { - bestStat = new eoBestFitnessStat; - // store it - _state.storeFunctor(bestStat); - // add it to the checkpoint - checkpoint->add(*bestStat); - } - - // Average fitness alone - //---------------------- - eoAverageStat *averageStat = NULL; // do we need averageStat? - if ( plotBestParam.value() ) // we need it for gnuplot output - { - averageStat = new eoAverageStat; - // store it - _state.storeFunctor(averageStat); - // add it to the checkpoint - checkpoint->add(*averageStat); - } - - // Second moment stats: average and stdev - //--------------------------------------- - eoSecondMomentStats *secondStat = NULL; - if ( printBestParam.value() ) // we need it for sreen output - { - secondStat = new eoSecondMomentStats; - // store it - _state.storeFunctor(secondStat); - // add it to the checkpoint - checkpoint->add(*secondStat); - } - - - // Dump of the whole population - //----------------------------- - eoSortedPopStat *popStat = NULL; - eoValueParam& printPopParam = _parser.createParam(false, "printPop", "Print sorted pop. every gen.", '\0', "Output"); - if ( printPopParam.value() ) // we do want pop dump - { - popStat = new eoSortedPopStat("Dump of whole population"); - // store it - _state.storeFunctor(popStat); - // add it to the checkpoint - checkpoint->add(*popStat); - } - - - // the Fitness Distance Correlation - //--------------------------------- - eoValueParam& printFDCParam = _parser.createParam(true, "printFDC", "Print FDC coeff. every gen.", '\0', "Output"); - eoValueParam& plotFDCParam = _parser.createParam(false, "plotFDCStat", "Plot FDC scatter plot", '\0', "Output - Graphical"); - - eoFDCStat *fdcStat = NULL; - if ( printFDCParam.value() || plotFDCParam.value() ) // we need FDCStat - { - // need first an object to compute the distances - here Hamming dist. - eoQuadDistance *dist = new eoQuadDistance; - _state.storeFunctor(dist); - fdcStat = new eoFDCStat(*dist); - // storeFunctor it - _state.storeFunctor(fdcStat); - // add it to the checkpoint - checkpoint->add(*fdcStat); - } - - // do we wnat some histogram of fitnesses snpashots? - eoValueParam plotHistogramParam = _parser.createParam(false, "plotHisto", "Plot histogram of fitnesses", '\0', "Output - Graphical"); - - /////////////// - // The monitors - /////////////// - // do we want an eoStdoutMonitor? - bool needStdoutMonitor = printBestParam.value() || printFDCParam.value() - || printPopParam.value() ; - - // The Stdout monitor will print parameters to the screen ... - if ( needStdoutMonitor ) - { - eoStdoutMonitor *monitor = new eoStdoutMonitor(false); - _state.storeFunctor(monitor); - - // when called by the checkpoint (i.e. at every generation) - checkpoint->add(*monitor); - - // the monitor will output a series of parameters: add them - monitor->add(*generationCounter); - if (useEvalParam.value()) // we want nb of evaluations - monitor->add(_eval); - if (printBestParam.value()) - { - monitor->add(*bestStat); - monitor->add(*secondStat); - } - if (printFDCParam.value()) - monitor->add(*fdcStat); - if ( printPopParam.value()) - monitor->add(*popStat); - } - - // first handle the dir test - if we need at least one file - if ( ( fileBestParam.value() || plotBestParam.value() || - plotFDCParam.value() || plotHistogramParam.value() ) - && !dirOK ) // just in case we add something before - dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE - - if (fileBestParam.value()) // A file monitor for best & secondMoment - { - std::string stmp = dirNameParam.value() + "/best.xg"; - eoFileMonitor *fileMonitor = new eoFileMonitor(stmp); - // save and give to checkpoint - _state.storeFunctor(fileMonitor); - checkpoint->add(*fileMonitor); - // and feed with some statistics - fileMonitor->add(*generationCounter); - fileMonitor->add(_eval); - fileMonitor->add(*bestStat); - fileMonitor->add(*secondStat); - } - - if (plotBestParam.value()) // an eoGnuplot1DMonitor for best & average - { - std::string stmp = dirNameParam.value() + "_gnu_best.xg"; - eoGnuplot1DMonitor *gnuMonitor = new eoGnuplot1DMonitor(stmp,minimizing_fitness()); - // save and give to checkpoint - _state.storeFunctor(gnuMonitor); - checkpoint->add(*gnuMonitor); - // and feed with some statistics - if (useEvalParam.value()) - gnuMonitor->add(_eval); - else - gnuMonitor->add(*generationCounter); - gnuMonitor->add(*bestStat); - gnuMonitor->add(*averageStat); - } - - if (plotFDCParam.value()) // a specific plot monitor for FDC - { - // first into a file (it adds everything ti itself - eoFDCFileSnapshot *fdcFileSnapshot = new eoFDCFileSnapshot(*fdcStat, dirNameParam.value()); - _state.storeFunctor(fdcFileSnapshot); - // then to a Gnuplot monitor - eoGnuplot1DSnapshot *fdcGnuplot = new eoGnuplot1DSnapshot(*fdcFileSnapshot); - _state.storeFunctor(fdcGnuplot); - - // and of course add them to the checkPoint - checkpoint->add(*fdcFileSnapshot); - checkpoint->add(*fdcGnuplot); - } - - // historgram? - if (plotHistogramParam.value()) // want to see how the fitness is spread? - { - eoScalarFitnessStat *fitStat = new eoScalarFitnessStat; - _state.storeFunctor(fitStat); - checkpoint->add(*fitStat); - // a gnuplot-based monitor for snapshots: needs a dir name - eoGnuplot1DSnapshot *fitSnapshot = new eoGnuplot1DSnapshot(dirNameParam.value()); - _state.storeFunctor(fitSnapshot); - // add any stat that is a std::vector to it - fitSnapshot->add(*fitStat); - // and of course add it to the checkpoint - checkpoint->add(*fitSnapshot); - } - - ////////////////////////////////// - // State savers - ////////////////////////////// - - // feed the state to state savers - // save state every N generation - eoValueParam& saveFrequencyParam = _parser.createParam(unsigned(0), "saveFrequency", "Save every F generation (0 = only final state, absent = never)", '\0', "Persistence" ); - - if (_parser.isItThere(saveFrequencyParam)) - { - // first make sure dirName is OK - if (! dirOK ) - dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE - - unsigned freq = (saveFrequencyParam.value()>0 ? saveFrequencyParam.value() : UINT_MAX ); - std::string stmp = dirNameParam.value() + "/generations"; - eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp); - _state.storeFunctor(stateSaver1); - checkpoint->add(*stateSaver1); - } - - // save state every T seconds - eoValueParam& saveTimeIntervalParam = _parser.createParam(unsigned(0), "saveTimeInterval", "Save every T seconds (0 or absent = never)", '\0',"Persistence" ); - if (_parser.isItThere(saveTimeIntervalParam) && saveTimeIntervalParam.value()>0) - { - // first make sure dirName is OK - if (! dirOK ) - dirOK = testDirRes(dirNameParam.value(), eraseParam.value()); // TRUE - - std::string stmp = dirNameParam.value() + "/time"; - eoTimedStateSaver *stateSaver2 = new eoTimedStateSaver(saveTimeIntervalParam.value(), _state, stmp); - _state.storeFunctor(stateSaver2); - checkpoint->add(*stateSaver2); - } - - // and that's it for the (control and) output - return *checkpoint; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_checkpoint_assembled.h b/trunk/paradiseo-eo/src/do/make_checkpoint_assembled.h deleted file mode 100644 index c28cd0663..000000000 --- a/trunk/paradiseo-eo/src/do/make_checkpoint_assembled.h +++ /dev/null @@ -1,202 +0,0 @@ - /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- */ - -//----------------------------------------------------------------------------- -// make_checkpoint_assembled.h -// Marc Wintermantel & Oliver Koenig -// IMES-ST@ETHZ.CH -// March 2003 - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- - -#ifndef _make_checkpoint_assembled_h -#define _make_checkpoint_assembled_h - -#include -#include - -#include -#include -#include -#include -#include - -// at the moment, in utils/make_help.cpp -// this should become some eoUtils.cpp with corresponding eoUtils.h -bool testDirRes(std::string _dirName, bool _erase); -/////////////////// The checkpoint and other I/O ////////////// - -/** Of course, Fitness needs to be an eoScalarFitnessAssembled!!! */ -template -eoCheckPoint& do_make_checkpoint_assembled(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue) -{ - - // SOME PARSER PARAMETERS - // ---------------------- - std::string dirName = _parser.getORcreateParam(std::string("Res"), "resDir", - "Directory to store DISK outputs", - '\0', "Output").value(); - bool erase = _parser.getORcreateParam(true, "eraseDir", - "Erase files in dirName if any", - '\0', "Output").value(); - bool gnuplots = _parser.getORcreateParam(true, "plots", - "Plot stuff using GnuPlot", - '\0', "Output").value(); - bool printFile = _parser.getORcreateParam(true, "printFile", - "Print statistics file", - '\0', "Output").value(); - - eoValueParam& saveFrequencyParam - = _parser.getORcreateParam(unsigned(0), "saveFrequency", - "Save every F generation (0 = only final state, absent = never)", - '\0', "Persistence" ); - - testDirRes(dirName, erase); // TRUE - - // CREATE CHECKPOINT FROM eoContinue - // --------------------------------- - eoCheckPoint *checkpoint = new eoCheckPoint(_continue); - _state.storeFunctor(checkpoint); - - // GENERATIONS - // ----------- - eoIncrementorParam *generationCounter = new eoIncrementorParam("Gen."); - _state.storeFunctor(generationCounter); - checkpoint->add(*generationCounter); - - // TIME - // ---- - eoTimeCounter * tCounter = NULL; - tCounter = new eoTimeCounter; - _state.storeFunctor(tCounter); - checkpoint->add(*tCounter); - - // ACCESS DESCRIPTIONS OF TERMS OF FITNESS CLASS - // --------------------------------------------- - // define a temporary fitness instance - typedef typename EOT::Fitness Fit; - Fit fit; - std::vector fitness_descriptions = fit.getDescriptionVector(); - unsigned nTerms = fitness_descriptions.size(); - - // STAT VALUES OF A POPULATION - // --------------------------- - - // average vals - std::vector* > avgvals( nTerms ); - for (unsigned i=0; i < nTerms; ++i){ - std::string descr = "Avg. of " + fitness_descriptions[i]; - avgvals[i] = new eoAssembledFitnessAverageStat(i, descr); - _state.storeFunctor( avgvals[i] ); - checkpoint->add( *avgvals[i] ); - } - - // best vals - std::vector* > bestvals( nTerms ); - for (unsigned j=0; j < nTerms; ++j){ - std::string descr = fitness_descriptions[j] + " of best ind."; - bestvals[j] = new eoAssembledFitnessBestStat(j, descr); - _state.storeFunctor( bestvals[j] ); - checkpoint->add( *bestvals[j] ); - } - - // STDOUT - // ------ - eoStdoutMonitor *monitor = new eoStdoutMonitor(false); - _state.storeFunctor(monitor); - checkpoint->add(*monitor); - monitor->add(*generationCounter); - monitor->add(_eval); - monitor->add(*tCounter); - - // Add best fitness - monitor->add( *bestvals[0] ); - - // Add all average vals - for (unsigned l=0; l < nTerms; ++l) - monitor->add( *avgvals[l] ); - - // GNUPLOT - // ------- - if (gnuplots ){ - std::string stmp; - - // Histogramm of the different fitness vals - eoScalarFitnessStat *fitStat = new eoScalarFitnessStat; - _state.storeFunctor(fitStat); - checkpoint->add(*fitStat); - // a gnuplot-based monitor for snapshots: needs a dir name - eoGnuplot1DSnapshot *fitSnapshot = new eoGnuplot1DSnapshot(dirName); - _state.storeFunctor(fitSnapshot); - // add any stat that is a vector to it - fitSnapshot->add(*fitStat); - // and of course add it to the checkpoint - checkpoint->add(*fitSnapshot); - - std::vector gnumonitors(nTerms, NULL ); - for (unsigned k=0; k < nTerms; ++k){ - stmp = dirName + "/gnuplot_" + fitness_descriptions[k] + ".xg"; - gnumonitors[k] = new eoGnuplot1DMonitor(stmp,true); - _state.storeFunctor(gnumonitors[k]); - checkpoint->add(*gnumonitors[k]); - gnumonitors[k]->add(*generationCounter); - gnumonitors[k]->add(*bestvals[k]); - gnumonitors[k]->add(*avgvals[k]); - } - - } - - // WRITE STUFF TO FILE - // ------------------- - if( printFile ){ - std::string stmp2 = dirName + "/eoStatistics.sav"; - eoFileMonitor *fileMonitor = new eoFileMonitor(stmp2); - _state.storeFunctor(fileMonitor); - checkpoint->add(*fileMonitor); - fileMonitor->add(*generationCounter); - fileMonitor->add(_eval); - fileMonitor->add(*tCounter); - - for (unsigned i=0; i < nTerms; ++i){ - fileMonitor->add(*bestvals[i]); - fileMonitor->add(*avgvals[i]); - } - - } - - // STATE SAVER - // ----------- - // feed the state to state savers - - if (_parser.isItThere(saveFrequencyParam)) { - - unsigned freq = (saveFrequencyParam.value() > 0 ? saveFrequencyParam.value() : UINT_MAX ); - std::string stmp = dirName + "/generations"; - eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp); - _state.storeFunctor(stateSaver1); - checkpoint->add(*stateSaver1); - } - - // and that's it for the (control and) output - return *checkpoint; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_checkpoint_pareto.h b/trunk/paradiseo-eo/src/do/make_checkpoint_pareto.h deleted file mode 100644 index 715f395a3..000000000 --- a/trunk/paradiseo-eo/src/do/make_checkpoint_pareto.h +++ /dev/null @@ -1,247 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_checkpoint_pareto.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_checkpoint_pareto_h -#define _make_checkpoint_pareto_h - -#include -#include - -#include "EO.h" -#include "eoParetoFitness.h" -#include "eoEvalFuncCounter.h" -#include "utils/checkpointing" -#include "utils/selectors.h" - -// at the moment, in utils/make_help.cpp -// this should become some eoUtils.cpp with corresponding eoUtils.h -bool testDirRes(std::string _dirName, bool _erase); -/////////////////// The checkpoint and other I/O ////////////// - -/** Of course, Fitness needs to be an eoParetoFitness!!! - */ -template -eoCheckPoint& do_make_checkpoint_pareto(eoParser& _parser, eoState& _state, - eoEvalFuncCounter& _eval, eoContinue& _continue) -{ - // first, create a checkpoint from the eoContinue - and store in _state - eoCheckPoint & checkpoint = _state.storeFunctor(new eoCheckPoint(_continue)); - - /////// get number of obectives from Fitness - not very elegant - typedef typename EOT::Fitness Fit; - Fit fit; - unsigned nObj = fit.size(); - - /////////////////// - // Counters - ////////////////// - // is nb Eval to be used as counter? - bool useEval = _parser.getORcreateParam(true, "useEval", - "Use nb of eval. as counter (vs nb of gen.)", - '\0', "Output").value(); - - // Create anyway a generation-counter parameter WARNING: not stored anywhere!!! - eoValueParam *generationCounter = new eoValueParam(0, "Gen."); - // Create an incrementor (sub-class of eoUpdater). - eoIncrementor & increment = - _state.storeFunctor(new eoIncrementor(generationCounter->value()) ); - // Add it to the checkpoint, - checkpoint.add(increment); - - // dir for DISK output - std::string & dirName = _parser.getORcreateParam(std::string("Res"), "resDir", - "Directory to store DISK outputs", - '\0', "Output - Disk").value(); - // shoudl we empty it if exists - eoValueParam& eraseParam = _parser.getORcreateParam(true, "eraseDir", - "erase files in dirName if any", - '\0', "Output - Disk"); - bool dirOK = false; // not tested yet - - ///////////////////////////////////////// - // now some statistics on the population: - ///////////////////////////////////////// - /** - * existing stats for Pareto as of today, Jan. 31. 2002 - * - * eoSortedPopStat : whole population - type std::string (!!) - */ - - eoValueParam& fPlotParam - = _parser.getORcreateParam(eoParamParamType("1(0,1)"), "frontFileFrequency", - "File save frequency in objective spaces (std::pairs of comma-separated objectives " \ - "in 1 single parentheses std::pair)", - '\0', "Output - Disk"); - - bool boolGnuplot = _parser.getORcreateParam(false, "plotFront", - "Objective plots (requires corresponding files " \ - "- see frontFileFrequency", - '\0', "Output - Graphical").value(); - - eoParamParamType & fPlot = fPlotParam.value(); // std::pair > - unsigned frequency = atoi(fPlot.first.c_str()); - if (frequency) // something to plot - { - unsigned nbPlot = fPlot.second.size(); - if ( nbPlot % 2 ) // odd! - throw std::runtime_error("Odd number of front description in make_checkpoint_pareto"); - - // only create the necessary stats - std::vector bStat(nObj, false); // track of who's already there - std::vector* > theStats(nObj); - - // first create the stats - for (unsigned i=0; i* fStat; - if (!bStat[obj1]) { // not already there: create it - std::ostringstream os; - os << "Obj. " << obj1 << std::ends; - fStat = new eoMOFitnessStat(obj1, os.str().c_str()); - _state.storeFunctor(fStat); - bStat[obj1]=true; - theStats[obj1]=fStat; - checkpoint.add(*fStat); - } - if (!bStat[obj2]) { // not already there: create it - std::ostringstream os; - os << "Obj. " << obj2 << std::ends; - fStat = new eoMOFitnessStat(obj2, os.str().c_str()); - _state.storeFunctor(fStat); - bStat[obj2]=true; - theStats[obj2]=fStat; - checkpoint.add(*fStat); - } - - // then the fileSnapshots - std::ostringstream os; - os << "Front." << obj1 << "." << obj2 << "." << std::ends; - eoFileSnapshot& snapshot = _state.storeFunctor( - new eoFileSnapshot(dirName, frequency, os.str().c_str())); - checkpoint.add(snapshot); - - snapshot.add(*theStats[obj1]); - snapshot.add(*theStats[obj2]); - - // and create the gnuplotter from the fileSnapshot - if(boolGnuplot) - { - eoGnuplot1DSnapshot & plotSnapshot = _state.storeFunctor(new - eoGnuplot1DSnapshot(snapshot)); - plotSnapshot.setPointSize(3); - checkpoint.add(plotSnapshot); - } - } - } - // Dump of the whole population - //----------------------------- - bool printPop = _parser.getORcreateParam(false, "printPop", - "Print sorted pop. every gen.", - '\0', "Output").value(); - eoSortedPopStat * popStat; - if ( printPop ) // we do want pop dump - { - std::cout << "On cree printpop\n"; - popStat = & _state.storeFunctor(new eoSortedPopStat); - // add it to the checkpoint - checkpoint.add(*popStat); - } - - /////////////// - // The monitors - /////////////// - // do we want an eoStdoutMonitor? - bool needStdoutMonitor = printPop ; // only this one at the moment - - // The Stdout monitor will print parameters to the screen ... - if ( needStdoutMonitor ) - { - eoStdoutMonitor & monitor = _state.storeFunctor(new eoStdoutMonitor(false)); - - // when called by the checkpoint (i.e. at every generation) - checkpoint.add(monitor); - - // the monitor will output a series of parameters: add them - monitor.add(*generationCounter); - if (useEval) // we want nb of evaluations - monitor.add(_eval); - if ( printPop) - monitor.add(*popStat); - } - - - ////////////////////////////////// - // State savers - ////////////////////////////// - - // feed the state to state savers - // save state every N generation - eoValueParam& saveFrequencyParam = _parser.createParam(unsigned(0), "saveFrequency", "Save every F generation (0 = only final state, absent = never)", '\0', "Persistence" ); - - if (_parser.isItThere(saveFrequencyParam)) - { - // first make sure dirName is OK - if (! dirOK ) - dirOK = testDirRes(dirName, eraseParam.value()); // TRUE - - unsigned freq = (saveFrequencyParam.value()>0 ? saveFrequencyParam.value() : UINT_MAX ); -#ifdef _MSVC - std::string stmp = dirName + "\generations"; -#else - std::string stmp = dirName + "/generations"; -#endif - eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp); - _state.storeFunctor(stateSaver1); - checkpoint.add(*stateSaver1); - } - - // save state every T seconds - eoValueParam& saveTimeIntervalParam - = _parser.getORcreateParam(unsigned(0), "saveTimeInterval", - "Save every T seconds (0 or absent = never)", '\0',"Persistence" ); - if (_parser.isItThere(saveTimeIntervalParam) && saveTimeIntervalParam.value()>0) - { - // first make sure dirName is OK - if (! dirOK ) - dirOK = testDirRes(dirName, eraseParam.value()); // TRUE - -#ifdef _MSVC - std::string stmp = dirName + "\time"; -#else - std::string stmp = dirName + "/time"; -#endif - eoTimedStateSaver *stateSaver2 = new eoTimedStateSaver(saveTimeIntervalParam.value(), _state, stmp); - _state.storeFunctor(stateSaver2); - checkpoint.add(*stateSaver2); - } - - // and that's it for the (control and) output - return checkpoint; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_continue.h b/trunk/paradiseo-eo/src/do/make_continue.h deleted file mode 100644 index 7dbce4a2a..000000000 --- a/trunk/paradiseo-eo/src/do/make_continue.h +++ /dev/null @@ -1,160 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_continue.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_continue_h -#define _make_continue_h - -/* -Contains the templatized version of parser-based choice of stopping criterion -It can then be instantiated, and compiled on its own for a given EOType -(see e.g. in dir ga, ga.cpp) -*/ - -// Continuators - all include eoContinue.h -#include -#include -#include -#include -#include -#ifndef _MSC_VER -#include // CtrlC handling (using 2 global variables!) -#endif - - // also need the parser and param includes -#include -#include - - -/////////////////// the stopping criterion //////////////// -template -eoCombinedContinue * make_combinedContinue(eoCombinedContinue *_combined, eoContinue *_cont) -{ - if (_combined) // already exists - _combined->add(*_cont); - else - _combined = new eoCombinedContinue(*_cont); - return _combined; -} - -template -eoContinue & do_make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval) -{ - //////////// Stopping criterion /////////////////// - // the combined continue - to be filled - eoCombinedContinue *continuator = NULL; - - // for each possible criterion, check if wanted, otherwise do nothing - - // First the eoGenContinue - need a default value so you can run blind - // but we also need to be able to avoid it <--> 0 - eoValueParam& maxGenParam = _parser.getORcreateParam(unsigned(100), "maxGen", "Maximum number of generations () = none)",'G',"Stopping criterion"); - - if (maxGenParam.value()) // positive: -> define and store - { - eoGenContinue *genCont = new eoGenContinue(maxGenParam.value()); - _state.storeFunctor(genCont); - // and "add" to combined - continuator = make_combinedContinue(continuator, genCont); - } - - // the steadyGen continue - only if user imput - eoValueParam& steadyGenParam = _parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion"); - eoValueParam& minGenParam = _parser.createParam(unsigned(0), "minGen", "Minimum number of generations",'g', "Stopping criterion"); - if (_parser.isItThere(steadyGenParam)) - { - eoSteadyFitContinue *steadyCont = new eoSteadyFitContinue - (minGenParam.value(), steadyGenParam.value()); - // store - _state.storeFunctor(steadyCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, steadyCont); - } - - // Same thing with Eval - but here default value is 0 - eoValueParam& maxEvalParam - = _parser.getORcreateParam((unsigned long)0, "maxEval", - "Maximum number of evaluations (0 = none)", - 'E', "Stopping criterion"); - - if (maxEvalParam.value()) // positive: -> define and store - { - eoEvalContinue *evalCont = new eoEvalContinue(_eval, maxEvalParam.value()); - _state.storeFunctor(evalCont); - // and "add" to combined - continuator = make_combinedContinue(continuator, evalCont); - } - /* - // the steadyEval continue - only if user imput - eoValueParam& steadyGenParam = _parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion"); - eoValueParam& minGenParam = _parser.createParam(unsigned(0), "minGen", "Minimum number of generations",'g', "Stopping criterion"); - if (_parser.isItThere(steadyGenParam)) - { - eoSteadyGenContinue *steadyCont = new eoSteadyFitContinue - (minGenParam.value(), steadyGenParam.value()); - // store - _state.storeFunctor(steadyCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, steadyCont); - } - */ - // the target fitness - eoFitContinue *fitCont; - eoValueParam& targetFitnessParam = _parser.createParam(double(0.0), "targetFitness", "Stop when fitness reaches",'T', "Stopping criterion"); - if (_parser.isItThere(targetFitnessParam)) - { - fitCont = new eoFitContinue - (targetFitnessParam.value()); - // store - _state.storeFunctor(fitCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, fitCont); - } - -#ifndef _MSC_VER - // the CtrlC interception (Linux only I'm afraid) - eoCtrlCContinue *ctrlCCont; - eoValueParam& ctrlCParam = _parser.createParam(false, "CtrlC", "Terminate current generation upon Ctrl C",'C', "Stopping criterion"); - if (ctrlCParam.value()) - { - ctrlCCont = new eoCtrlCContinue; - // store - _state.storeFunctor(ctrlCCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, ctrlCCont); - } -#endif - - // now check that there is at least one! - if (!continuator) - throw std::runtime_error("You MUST provide a stopping criterion"); - // OK, it's there: store in the eoState - _state.storeFunctor(continuator); - - // and return - return *continuator; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_continue_pareto.h b/trunk/paradiseo-eo/src/do/make_continue_pareto.h deleted file mode 100644 index 364f60574..000000000 --- a/trunk/paradiseo-eo/src/do/make_continue_pareto.h +++ /dev/null @@ -1,108 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_continue_pareto.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_continue_pareto_h -#define _make_continue_pareto_h - -/* -Contains the templatized version of parser-based choice of stopping criterion -for Pareto optimization (e.g. no "... without improvement" criterion -It can then be instantiated, and compiled on its own for a given EOType -(see e.g. in dir ga, ga.cpp) -*/ - -// Continuators - all include eoContinue.h -#include -#include -#include -#include -#ifndef _MSC_VER -#include // CtrlC handling (using 2 global variables!) -#endif - - // also need the parser and param includes -#include -#include - - -/////////////////// helper function //////////////// -template -eoCombinedContinue * make_combinedContinue(eoCombinedContinue *_combined, eoContinue *_cont) -{ - if (_combined) // already exists - _combined->add(*_cont); - else - _combined = new eoCombinedContinue(*_cont); - return _combined; -} - -///////////// The make_continue function -template -eoContinue & do_make_continue_pareto(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval) -{ - //////////// Stopping criterion /////////////////// - // the combined continue - to be filled - eoCombinedContinue *continuator = NULL; - - // for each possible criterion, check if wanted, otherwise do nothing - - // First the eoGenContinue - need a default value so you can run blind - // but we also need to be able to avoid it <--> 0 - eoValueParam& maxGenParam = _parser.createParam(unsigned(100), "maxGen", "Maximum number of generations () = none)",'G',"Stopping criterion"); - - if (maxGenParam.value()) // positive: -> define and store - { - eoGenContinue *genCont = new eoGenContinue(maxGenParam.value()); - _state.storeFunctor(genCont); - // and "add" to combined - continuator = make_combinedContinue(continuator, genCont); - } - -#ifndef _MSC_VER - // the CtrlC interception (Linux only I'm afraid) - eoCtrlCContinue *ctrlCCont; - eoValueParam& ctrlCParam = _parser.createParam(true, "CtrlC", "Terminate current generation upon Ctrl C",'C', "Stopping criterion"); - if (_parser.isItThere(ctrlCParam)) - { - ctrlCCont = new eoCtrlCContinue; - // store - _state.storeFunctor(ctrlCCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, ctrlCCont); - } -#endif - - // now check that there is at least one! - if (!continuator) - throw std::runtime_error("You MUST provide a stopping criterion"); - // OK, it's there: store in the eoState - _state.storeFunctor(continuator); - - // and return - return *continuator; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_general_replacement.h b/trunk/paradiseo-eo/src/do/make_general_replacement.h deleted file mode 100644 index dfefb649b..000000000 --- a/trunk/paradiseo-eo/src/do/make_general_replacement.h +++ /dev/null @@ -1,181 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_general_replacement.h -// (c) Marc Schoenauer and Pierre Collet, 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_general_replacement_h -#define _make_general_replacement_h - -#include // for eo_is_a_rate - -// Replacement -#include - -// also need the parser and param includes -#include -#include - - -/** a helper function that decodes a parameter read by the parser into an - * eoReduce & (allocates the pointer and stores it into an eoState) - */ -template -eoReduce & decode_reduce(eoParamParamType & _ppReduce, eoState & _state) -{ - unsigned int detSize; - eoReduce * ptReduce; - - // ---------- Deterministic - if ( (_ppReduce.first == std::string("Deterministic")) || - (_ppReduce.first == std::string("Sequential")) - ) - { - ptReduce = new eoTruncate; - } - // ---------- EP - else if (_ppReduce.first == std::string("EP")) - { - if (!_ppReduce.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to EP, using 6" << std::endl; - detSize = 6; - // put back 6 in parameter for consistency (and status file) - _ppReduce.second.push_back(std::string("6")); - } - else // parameter passed by user as EP(T) - detSize = atoi(_ppReduce.second[0].c_str()); - ptReduce = new eoEPReduce(detSize); - } - // ---------- DetTour - else if (_ppReduce.first == std::string("DetTour")) - { - if (!_ppReduce.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl; - detSize = 2; - // put back 2 in parameter for consistency (and status file) - _ppReduce.second.push_back(std::string("2")); - } - else // parameter passed by user as DetTour(T) - detSize = atoi(_ppReduce.second[0].c_str()); - ptReduce = new eoDetTournamentTruncate(detSize); - } - else if (_ppReduce.first == std::string("StochTour")) - { - double p; - if (!_ppReduce.second.size()) // no parameter added - { - std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl; - p = 1; - // put back p in parameter for consistency (and status file) - _ppReduce.second.push_back(std::string("1")); - } - else // parameter passed by user as DetTour(T) - { - p = atof(_ppReduce.second[0].c_str()); - if ( (p<=0.5) || (p>1) ) - throw std::runtime_error("Stochastic tournament size should be in [0.5,1]"); - } - - ptReduce = new eoStochTournamentTruncate(p); - } - else if ( (_ppReduce.first == std::string("Uniform")) || - (_ppReduce.first == std::string("Random")) - ) - { - ptReduce = new eoRandomReduce; - } - else // no known reduction entered - { - throw std::runtime_error("Unknown reducer: " + _ppReduce.first); - } - // all done, stores and return a reference - _state.storeFunctor(ptReduce); - return (*ptReduce); -} - -/** Helper function that creates a replacement from the class - * eoReduceMergeReduce using 6 parameters - * (after the usual eoState and eoParser) - * - * eoHowMany _elite the number of elite parents (0 = no elitism) - * see below - * bool _strongElitism if elite > 0, std::string elitism or weak elitism - * strong = elite parents survive, whatever the offspring - * weak - elite patents compete AFTER replacement with best offspring - * eoHowMany _surviveParents number of parents after parents recuction - * eoParamParamType & _reduceParentType how the parents are reduced - * eoHowMany _surviveOffspring number of offspring after offspring recuction - * eoParamParamType & _reduceOffspringType how the offspring are reduced - * eoParamParamType & _reduceFinalType how the final population is reduced to initial population size - */ - -template -eoReplacement & make_general_replacement( - eoParser& _parser, eoState& _state, - eoHowMany _elite = eoHowMany(0), - bool _strongElitism = false, - eoHowMany _surviveParents = eoHowMany(0.0), - eoParamParamType & _reduceParentType = eoParamParamType("Deterministic"), - eoHowMany _surviveOffspring = eoHowMany(1.0), - eoParamParamType & _reduceOffspringType = eoParamParamType("Deterministic"), - eoParamParamType & _reduceFinalType = eoParamParamType("Deterministic") - ) -{ - ///////////////////////////////////////////////////// - // the replacement - ///////////////////////////////////////////////////// - - // Elitism - eoHowMany elite = _parser.createParam(_elite, "elite", "Nb of elite parents (percentage or absolute)", '\0', "Evolution Engine / Replacement").value(); - - bool strongElitism = _parser.createParam(_strongElitism,"eliteType", "Strong (true) or weak (false) elitism (set elite to 0 for none)", '\0', "Evolution Engine / Replacement").value(); - - // reduce the parents - eoHowMany surviveParents = _parser.createParam(_surviveParents, "surviveParents", "Nb of surviving parents (percentage or absolute)", '\0', "Evolution Engine / Replacement").value(); - - eoParamParamType & reduceParentType = _parser.createParam(_reduceParentType, "reduceParents", "Parents reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform", '\0', "Evolution Engine / Replacement").value(); - - eoReduce & reduceParent = decode_reduce(reduceParentType, _state); - - // reduce the offspring - eoHowMany surviveOffspring = _parser.createParam(_surviveOffspring, "surviveOffspring", "Nb of surviving offspring (percentage or absolute)", '\0', "Evolution Engine / Replacement").value(); - - eoParamParamType & reduceOffspringType = _parser.createParam(_reduceOffspringType, "reduceOffspring", "Offspring reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform", '\0', "Evolution Engine / Replacement").value(); - - eoReduce & reduceOffspring = decode_reduce(reduceOffspringType, _state); - - eoParamParamType & reduceFinalType = _parser.createParam(_reduceFinalType, "reduceFinal", "Final reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform", '\0', "Evolution Engine / Replacement").value(); - - eoReduce & reduceFinal = decode_reduce(reduceFinalType, _state); - - // now the replacement itself - eoReduceMergeReduce *ptReplace = new eoReduceMergeReduce(elite, strongElitism, surviveParents, reduceParent, surviveOffspring, reduceOffspring, reduceFinal); - _state.storeFunctor(ptReplace); - - // that's it! - return *ptReplace; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_pop.h b/trunk/paradiseo-eo/src/do/make_pop.h deleted file mode 100644 index 0fe927a56..000000000 --- a/trunk/paradiseo-eo/src/do/make_pop.h +++ /dev/null @@ -1,108 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_pop.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_pop_h -#define _make_pop_h - -#include // for time(0) for random seeding -#include -#include -#include -#include -#include - - -///////////////////////////////// INIT POP /////////////////////////////// -/** - * Templatized version of parser-based construct of the population - * + other initializations that are NOT representation-dependent. - * - * It must then be instantiated, and compiled on its own for a given EOType - * (see e.g. ga.h and ga.pp in dir ga) -*/ - - -template -eoPop& do_make_pop(eoParser & _parser, eoState& _state, eoInit & _init) -{ - // random seed - eoValueParam& seedParam = _parser.createParam(uint32_t(0), "seed", "Random number seed", 'S'); - if (seedParam.value() == 0) - seedParam.value() = time(0); - eoValueParam& popSize = _parser.createParam(unsigned(20), "popSize", "Population Size", 'P', "Evolution Engine"); - - // Either load or initialize - // create an empty pop and let the state handle the memory - eoPop& pop = _state.takeOwnership(eoPop()); - - eoValueParam& loadNameParam = _parser.createParam(std::string(""), "Load","A save file to restart from",'L', "Persistence" ); - eoValueParam & recomputeFitnessParam = _parser.createParam(false, "recomputeFitness", "Recompute the fitness after re-loading the pop.?", 'r', "Persistence" ); - - if (loadNameParam.value() != "") // something to load - { - // create another state for reading - eoState inState; // a state for loading - WITHOUT the parser - // register the rng and the pop in the state, so they can be loaded, - // and the present run will be the exact continuation of the saved run - // eventually with different parameters - inState.registerObject(pop); - inState.registerObject(rng); - inState.load(loadNameParam.value()); // load the pop and the rng - // the fitness is read in the file: - // do only evaluate the pop if the fitness has changed - if (recomputeFitnessParam.value()) - { - for (unsigned i=0; i popSize.value()) - { - std::cerr << "WARNING, Load file contained too many individuals. Only the best will be retained" << std::endl; - pop.resize(popSize.value()); - } - } - else // nothing loaded from a file - { - rng.reseed(seedParam.value()); - } - - if (pop.size() < popSize.value()) // missing some guys - { - // Init pop from the randomizer: need to use the append function - pop.append(popSize.value(), _init); - } - - // for future stateSave, register the algorithm into the state - _state.registerObject(_parser); - _state.registerObject(pop); - _state.registerObject(rng); - - return pop; -} - -#endif diff --git a/trunk/paradiseo-eo/src/do/make_run.h b/trunk/paradiseo-eo/src/do/make_run.h deleted file mode 100644 index 64e3fa333..000000000 --- a/trunk/paradiseo-eo/src/do/make_run.h +++ /dev/null @@ -1,45 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_run.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_run_h -#define _make_run_h - -// Algorithm (only this one needed) -#include - -/* - * A trivial function - only here to allow instanciation with a give EOType - * and separate compilation - see in ga dir, make_run_ga - * -*/ - -template -void do_run(eoAlgo& _algo, eoPop& _pop) -{ - _algo(_pop); -} - -#endif diff --git a/trunk/paradiseo-eo/src/eo b/trunk/paradiseo-eo/src/eo deleted file mode 100644 index 3f5be5994..000000000 --- a/trunk/paradiseo-eo/src/eo +++ /dev/null @@ -1,154 +0,0 @@ -//----------------------------------------------------------------------------- -// eo -// (c) GeNeura Team 1998 - 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#ifndef _eo_ -#define _eo_ - -#ifdef HAVE_CONFIG_H -#include -#endif - -// general purpose -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// eo's -#include - -#include - -#include -#include -#include - -// the variation operators -#include -#include -#include -#include -// combinations of simple eoOps (eoMonOp and eoQuadOp) -#include -// didactic (mimics SGA-like variation into an eoGenOp) -// calls crossover and mutation sequentially, -// with their respective mutation rates -#include -// its dual: crossover, mutation (and copy) - proportional choice -// w.r.t. given relative weights -#include - -// population -#include - -// Evaluation functions (all include eoEvalFunc.h) -#include -#include - -// Continuators - all include eoContinue.h -#include -#include -#include -#include -#include -#include -#ifndef _MSC_VER -#include // CtrlC handling (using 2 global variables!) -#endif -// Selection -// the eoSelectOne's -#include -#include -#include -#include -#include // also contains eoLinearFitScaling.h -#include -#include -#include -// Embedding truncation selection -#include - -// the batch selection - from an eoSelectOne -#include -#include -#include -#include - -// other batch selections -// DetSelect can also be obtained as eoSequentialSelect, an eoSelectOne -// (using setup and an index) -#include - -// Breeders -#include // applies one eoGenOp, stop on offspring count -// #include // parent + SINGLE offspring compete (e.g. DE) - not ready yet... - -// Replacement -// #include -#include -#include -#include - -// a simple transformer -#include - -// Perf2Worth stuff - includes eoSelectFromWorth.h -#include -#include - -// Algorithms -#include -#include -// #include removed for a while - until eoGenOp is done - -// Utils -#include -#include // includes eoRealBounds.h -#include // no eoIntVectorBounds - -// aliens -#include -#include - - -//----------------------------------------------------------------------------- -// to be continued ... -//----------------------------------------------------------------------------- - -//----------------------------------------------------------------------------- - -#endif - -// Local Variables: -// mode: C++ -// End: diff --git a/trunk/paradiseo-eo/src/eoAlgo.h b/trunk/paradiseo-eo/src/eoAlgo.h deleted file mode 100644 index 9e168cda2..000000000 --- a/trunk/paradiseo-eo/src/eoAlgo.h +++ /dev/null @@ -1,43 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoAlgo.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOALGO_H -#define _EOALGO_H - -#include // for population -#include - -/** - This is a generic class for population-transforming algorithms. There - is only one operator defined, which takes a population and does stuff to - it. It needn't be a complete algorithm, can be also a step of an - algorithm. This class just gives a common interface to linear - population-transforming algorithms. -*/ -template< class EOT > -class eoAlgo : public eoUF&, void> -{}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoBreed.h b/trunk/paradiseo-eo/src/eoBreed.h deleted file mode 100644 index c62cb213d..000000000 --- a/trunk/paradiseo-eo/src/eoBreed.h +++ /dev/null @@ -1,75 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoBreed.h - (c) Maarten Keijzer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoBreed_h -#define _eoBreed_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** Breeding: combination of selecting and transforming a population - -Breeding is thought of a combination of selecting and transforming a -population. For efficiency reasons you might want to build your own -eoBreed derived class rather than relying on a seperate select and -transform function. - -@see eoSelect, eoTransform, eoSelectTransform -*/ -template -class eoBreed : public eoBF&, eoPop&, void> -{}; - - - -/** Embedded select, followed by an embedded transform - -Special breeder that is just an application of an embedded select, -followed by an embedded transform -*/ -template -class eoSelectTransform : public eoBreed -{ - public: - eoSelectTransform(eoSelect& _select, eoTransform& _transform) : - select(_select), transform(_transform) - {} - - void operator()(const eoPop& _parents, eoPop& _offspring) - { - select(_parents, _offspring); - transform(_offspring); - } - - private : - eoSelect& select; - eoTransform& transform; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoCellularEasyEA.h b/trunk/paradiseo-eo/src/eoCellularEasyEA.h deleted file mode 100644 index 5369feb22..000000000 --- a/trunk/paradiseo-eo/src/eoCellularEasyEA.h +++ /dev/null @@ -1,161 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -// "eoCellularEasyEA.h" - -// (c) OPAC Team, LIFL, 2002 - -/* This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: cahon@lifl.fr -*/ - -#ifndef eoCellularEasyEA_h -#define eoCellularEasyEA_h - -#include -#include -#include -#include -#include -#include - -/** - The abstract cellular easy algorithm. - */ - -template class eoCellularEasyEA : public eoAlgo { - -public : - - /** - Two constructors - */ - - eoCellularEasyEA (eoContinue & _cont, // Stop. criterion - eoEvalFunc & _eval, // Evaluation function - eoSelectOne & _sel_neigh, // To choose a partner - eoBinOp & _cross, // Cross-over operator - eoMonOp & _mut, // Mutation operator - eoSelectOne & _sel_repl /* Which to keep between the new - child and the old individual ? */ - ) : - cont (_cont), - eval (_eval), - popEval (_eval), - sel_neigh (_sel_neigh), - cross (_cross), - mut (_mut), - sel_child (eoSelectFirstOne ()), - sel_repl (_sel_repl) { - - } - - eoCellularEasyEA (eoContinue & _cont, - eoEvalFunc & _eval, - eoSelectOne & _sel_neigh, - eoQuadOp & _cross, - eoMonOp & _mut, - eoSelectOne & _sel_child, /* To choose one from - the both children */ - eoSelectOne & _sel_repl - ) : - cont (_cont), - eval (_eval), - popEval (_eval), - sel_neigh (_sel_neigh), - cross (_cross), - mut (_mut), - sel_child (_sel_child), - sel_repl (_sel_repl) { - - } - - /** - For a given population. - */ - - void operator () (eoPop & pop) { - - do { - - for (unsigned i = 0 ; i < pop.size () ; i ++) { - - // Who are neighbouring to the current individual ? - eoPop neigh = neighbours (pop, i) ; - - // To select a partner - EOT part, old_sol = pop [i] ; - part = sel_neigh (neigh) ; - - // To perform cross-over - cross (pop [i], part) ; - - // To perform mutation - mut (pop [i]) ; - mut (part) ; - - pop [i].invalidate () ; - part.invalidate () ; - eval (pop [i]) ; - eval (part) ; - - // To choose one of the two children ... - eoPop pop_loc ; - pop_loc.push_back (pop [i]) ; - pop_loc.push_back (part) ; - - pop [i] = sel_child (pop_loc) ; - - // To choose only one between the new made child and the old individual - pop_loc.clear () ; - pop_loc.push_back (pop [i]) ; - - pop_loc.push_back (old_sol) ; - - pop [i] = sel_repl (pop_loc) ; - } - - } while (cont (pop)) ; - } - -protected : - - virtual eoPop neighbours (const eoPop & pop, int rank) = 0 ; - -private : - - eoContinue & cont ; - eoEvalFunc & eval ; - eoPopLoopEval popEval ; - eoSelectOne & sel_neigh ; - eoBF & cross ; - eoMonOp & mut ; - eoSelectOne & sel_child ; - eoSelectOne & sel_repl ; - - class eoSelectFirstOne : public eoSelectOne { - - public : - - const EOT & operator () (const eoPop & pop) { - - return pop [0] ; - } - - } ; - -} ; - -#endif diff --git a/trunk/paradiseo-eo/src/eoCloneOps.h b/trunk/paradiseo-eo/src/eoCloneOps.h deleted file mode 100644 index de4ad74a9..000000000 --- a/trunk/paradiseo-eo/src/eoCloneOps.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- -//----------------------------------------------------------------------------- -// eoCloneOps.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - CVS Info: $Date: 2003/02/27 19:26:09 $ $Header: /cvsroot/eodev/eo/src/eoCloneOps.h,v 1.2 2003/02/27 19:26:09 okoenig Exp $ $Author: okoenig $ - */ -//----------------------------------------------------------------------------- - -#ifndef _eoCloneOps_H -#define _eoCloneOps_H - -#include - -/** - * The different null-variation operators (i.e. they do nothing) - * - * eoQuadCloneOp at least is useful to emulate the standard - * crossover(pCross) + mutation(pMut) - * within the eoGenOp framework - * eoMonCloneOp will probably be useful as the copy operator - * eoBinCloneOp will certainly never been used - but let's be complete :-) - */ - -/** -Mon clone: one argument -*/ -template -class eoMonCloneOp: public eoMonOp -{ -public: - /// Ctor - eoMonCloneOp() : eoMonOp() {} - virtual std::string className() const {return "eoMonCloneOp";} - virtual bool operator()(EOT&){return false;} -}; - - -/** Binary clone: two operands, only the first could be modified - */ -template -class eoBinCloneOp: public eoBinOp -{ -public: - /// Ctor - eoBinCloneOp() : eoBinOp() {} - virtual std::string className() const {return "eoBinCloneOp";} - virtual bool operator()(EOT&, const EOT&){return false;} -}; - -/** Quad clone: two operands, both could be modified - but are not! -*/ -template -class eoQuadCloneOp: public eoQuadOp -{ -public: - /// Ctor - eoQuadCloneOp():eoQuadOp() {} - virtual std::string className() const {return "eoQuadCloneOp";} -virtual bool operator()(EOT& , EOT& ) {return false;} -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoCombinedContinue.h b/trunk/paradiseo-eo/src/eoCombinedContinue.h deleted file mode 100644 index ec644521d..000000000 --- a/trunk/paradiseo-eo/src/eoCombinedContinue.h +++ /dev/null @@ -1,92 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoCombinedContinue.h -// (c) Maarten Keijzer, GeNeura Team, 1999, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoCombinedContinue_h -#define _eoCombinedContinue_h - -#include - -/** - Combined continuators - logical AND: - Continues until one of the embedded continuators says halt! - -20/11/00 MS: Changed the 2-continuator construct to a std::vector > - to be consistent with other Combined constructs - and allow to easily handle more than 2 continuators - -02/2003 Ramón Casero Cañas - added the removeLast() method -*/ - -template< class EOT> -class eoCombinedContinue: public eoContinue { -public: - - /// Define Fitness - typedef typename EOT::Fitness FitnessType; - - /// Ctor, make sure that at least on continuator is present - eoCombinedContinue( eoContinue& _cont) - : eoContinue () - { - continuators.push_back(&_cont); - } - - /// Ctor - for historical reasons ... should disspear some day - eoCombinedContinue( eoContinue& _cont1, eoContinue& _cont2) - : eoContinue () - { - continuators.push_back(&_cont1); - continuators.push_back(&_cont2); - } - - void add(eoContinue & _cont) - { - continuators.push_back(&_cont); - } - - ///////////// RAMON'S CODE /////////////// - void removeLast(void) - { - continuators.pop_back(); - } - ///////////// RAMON'S CODE (end) /////////////// - - - /** Returns false when one of the embedded continuators say so (logical and) - */ - virtual bool operator() ( const eoPop& _pop ) - { - for (unsigned i = 0; i < continuators.size(); ++i) - if ( !(*continuators[i])(_pop) ) return false; - return true; - } - - virtual std::string className(void) const { return "eoCombinedContinue"; } - -private: - std::vector*> continuators; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoCombinedInit.h b/trunk/paradiseo-eo/src/eoCombinedInit.h deleted file mode 100644 index 3d2441322..000000000 --- a/trunk/paradiseo-eo/src/eoCombinedInit.h +++ /dev/null @@ -1,89 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoCombinedInit.h -// (c) Maarten Keijzer, GeNeura Team, Marc Schoenauer 2004 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoCombinedInit_h -#define _eoCombinedInit_h - -#include - -/** - Combined INIT: a proportional recombination of eoInit objects -*/ - -template< class EOT> -class eoCombinedInit: public eoInit { -public: - - /** Ctor, make sure that at least one eoInit is present */ - eoCombinedInit( eoInit& _init, double _rate) - : eoInit () - { - initializers.push_back(&_init); - rates.push_back(_rate); - } - - /** The usual method to add objects to the combination - * note the _verbose parameter, that allows to print what's - * inside the combination with scaled rates - */ - void add(eoInit & _init, double _rate, bool _verbose=false) - { - initializers.push_back(&_init); - rates.push_back(_rate); - // compute the relative rates in percent - to warn the user! - if (_verbose) - printOn(std::cout); - } - - /** outputs the operators and percentages */ - virtual void printOn(std::ostream & _os) - { - double total = 0; - unsigned i; - for (i=0; iclassName() << " with rate " << 100*rates[i]/total << " %\n"; - } - - /** Performs the init: chooses among all initializers - * using roulette wheel on the rates - */ - virtual void operator() ( EOT & _eo ) - { - unsigned what = rng.roulette_wheel(rates); // choose one op - (*initializers[what])(_eo); // apply it - return; - } - - virtual std::string className(void) const { return "eoCombinedInit"; } - -private: -std::vector*> initializers; -std::vector rates; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoContinue.h b/trunk/paradiseo-eo/src/eoContinue.h deleted file mode 100644 index d3b45f366..000000000 --- a/trunk/paradiseo-eo/src/eoContinue.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoContinue.h -// (c) Maarten Keijzer, Geneura Team, 1999, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoContinue_h -#define _eoContinue_h - -#include -#include -#include - -/** Termination condition for the genetic algorithm - * Takes the population as input, returns true for continue, - * false for termination - */ -template< class EOT> -class eoContinue : public eoUF&, bool>, public eoPersistent -{ -public: - virtual std::string className(void) const { return "eoContinue"; } - - void readFrom (std :: istream & __is) { - - /* It should be implemented by subclasses ! */ - } - - void printOn (std :: ostream & __os) const { - - /* It should be implemented by subclasses ! */ - } -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoCounter.h b/trunk/paradiseo-eo/src/eoCounter.h deleted file mode 100644 index 05e08b21a..000000000 --- a/trunk/paradiseo-eo/src/eoCounter.h +++ /dev/null @@ -1,219 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoCounter.h -// (c) Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoCounter_h -#define _eoCounter_h - -#include -#include -#include - -/** - Generic counter class that counts the number of times - a procedure is used. Add a procedure through its ctor and - use this class instead of it. - - It is derived from eoValueParam so you can add it to a monitor. -*/ -template -class eoProcedureCounter : public Procedure, public eoValueParam -{ - public: - - eoProcedureCounter(Procedure& _proc, std::string _name = "proc_counter") - : eoValueParam(0, _name), proc(_proc) {} - - /** Calls the embedded function and increments the counter - - Note for MSVC users, if this code does not compile, you are quite - likely trying to count a function that has a non-void return type. - Don't look at us, look at the MSVC builders. Code like "return void;" - is perfectly legal according to the ANSI standard, but the guys at - Microsoft didn't get to implementing it yet. - - We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. - Given that in EO most functors return void, it was chosen to support void. - - But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite - capable of compiling return void; type of code. We'll try to change the signature then. - - You happy GNU (and other compiler) users will not have a problem with this.. - */ - typename Procedure::result_type operator()(void) - { - value()++; -#ifdef _MSC_VER - proc(); -#else - return proc(); -#endif - } - - private : - - Procedure& proc; -}; - -/** - Generic counter class that counts the number of times - a unary function is used. Add a unary function through its ctor and - use this class instead of it. - - It is derived from eoValueParam so you can add it to a monitor. - - Example: suppose you have an eoEvalFunc called myeval, to count the - number of evaluations, just define: - - eoUnaryFunctorCounter evalCounter(myeval); - - and use evalCounter now instead of myeval. -*/ - -template -class eoUnaryFunctorCounter : public UnaryFunctor, public eoValueParam -{ - public: - eoUnaryFunctorCounter(UnaryFunctor& _func, std::string _name = "uf_counter") - : eoValueParam(0, _name), func(_func) {} - - /** Calls the embedded function and increments the counter - - Note for MSVC users, if this code does not compile, you are quite - likely trying to count a function that has a non-void return type. - Don't look at us, look at the MSVC builders. Code like "return void;" - is perfectly legal according to the ANSI standard, but the guys at - Microsoft didn't get to implementing it yet. - - We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. - Given that in EO most functors return void, it was chosen to support void. - - But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite - capable of compiling return void; type of code. We'll try to change the signature then. - - You happy GNU (and other compiler) users will not have a problem with this. - */ - typename UnaryFunctor::result_type operator() - (typename UnaryFunctor::first_argument_type _arg1) - { - value()++; -#ifdef _MSC_VER - func(_arg1); -#else - return func(_arg1); -#endif - } - - private : - - UnaryFunctor& func; -}; - -/** - Generic counter class that counts the number of times - a binary function is used. Add a binary function through its ctor and - use this class instead of it. - - It is derived from eoValueParam so you can add it to a monitor. - -*/ -template -class eoBinaryFunctorCounter : public BinaryFunctor, public eoValueParam -{ - public: - eoBinaryFunctorCounter(BinaryFunctor& _func, std::string _name = "proc_counter") - : eoValueParam(0, _name), func(_func) {} - - /** Calls the embedded function and increments the counter - - Note for MSVC users, if this code does not compile, you are quite - likely trying to count a function that has a non-void return type. - Don't look at us, look at the MSVC builders. Code like "return void;" - is perfectly legal according to the ANSI standard, but the guys at - Microsoft didn't get to implementing it yet. - - We had two choices: assuming (and compiling ) code that returns void or code that returns non-void. - Given that in EO most functors return void, it was chosen to support void. - - - But also please let me know if you have a compiler that defines _MSC_VER (lot's of windows compilers do), but is quite - capable of compiling return void; type of code. We'll try to change the signature then. - - You happy GNU (and other compiler) users will not have a problem with this. - */ - typename BinaryFunctor::result_type operator() - (typename BinaryFunctor::first_argument_type _arg1, - typename BinaryFunctor::second_argument_type _arg2) - { - value()++; -#ifdef _MSC_VER - func(_arg1, _arg2); -#else - return func(_arg1, _arg2); -#endif - } - - private : - - BinaryFunctor& func; -}; - -/** make_counter: overloaded function to make a counter out of a function - - how it works... - - by using the xxx_function_tag structure defined in eoFunctionBase, you - can easily create a counter from a general class (say eoEval), by - simply stating: - - eoEval& myCounted = make_counter(functor_category(myEval), myEval, store) - - @see eoFunctorBase, functor_category, eoFunctorStore - -*/ -template -eoProcedureCounter& make_counter(eoFunctorBase::procedure_tag, Procedure& _proc, eoFunctorStore& store, std::string _name = "proc_counter") -{ - eoProcedureCounter* result = new eoProcedureCounter(_proc, _name); - store.storeFunctor(result); - return *result; -} - -template -eoUnaryFunctorCounter& make_counter(eoFunctorBase::unary_function_tag, UnaryFunctor& _proc, eoFunctorStore& store, std::string _name = "uf_counter") -{ - eoUnaryFunctorCounter* result = new eoUnaryFunctorCounter(_proc, _name); - store.storeFunctor(result); - return *result; -} - -template -eoBinaryFunctorCounter& make_counter(eoFunctorBase::binary_function_tag, BinaryFunctor& _proc, eoFunctorStore& store, std::string _name = "uf_counter") -{ - eoBinaryFunctorCounter* result = new eoBinaryFunctorCounter(_proc, _name); - store.storeFunctor(result); - return *result; -} - -#endif diff --git a/trunk/paradiseo-eo/src/eoCtrlCContinue.cpp b/trunk/paradiseo-eo/src/eoCtrlCContinue.cpp deleted file mode 100644 index deec41765..000000000 --- a/trunk/paradiseo-eo/src/eoCtrlCContinue.cpp +++ /dev/null @@ -1,50 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoCtrlCContinue.cpp -// (c) EEAAX 1996 - GeNeura Team, 1998 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include -#include - -// --- Global variables - but don't know what else to do - MS --- -bool arret_demande = false; -bool existCtrlCContinue = false; - -// -// The signal handler - installed in the eoCtrlCContinue Ctor -// -void signal_handler( int sig ) -// --------------------------- -{ - // --- On veut la paix, jusqu'a la fin --- - signal( SIGINT, SIG_IGN ); - signal( SIGQUIT, SIG_IGN ); - std::cerr << "Ctrl C entered ... closing down" << std::endl ; - arret_demande = true; -} - diff --git a/trunk/paradiseo-eo/src/eoCtrlCContinue.h b/trunk/paradiseo-eo/src/eoCtrlCContinue.h deleted file mode 100644 index f524fc97d..000000000 --- a/trunk/paradiseo-eo/src/eoCtrlCContinue.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoCtrlCContinue.h -// (c) EEAAX 1996 - GeNeura Team, 1998 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- -// the same thing can probably be done in MS environement, but I hoave no way -// to test it so at the moment it is commented out when in MSVC -#ifndef _MSC_VER - -#ifndef eoCtrlCContinue_h -#define eoCtrlCContinue_h - -#include -#include - -extern bool arret_demande, existCtrlCContinue; - -extern void signal_handler( int sig ); - - -/** - Ctrl C handling: this eoContinue tells whether the user pressed Ctrl C -*/ -template< class EOT> -class eoCtrlCContinue: public eoContinue -{ -public: - - /// Ctor : installs the signal handler - eoCtrlCContinue() - { - // First checks that no other eoCtrlCContinue does exist - if (existCtrlCContinue) - throw std::runtime_error("A signal handler for Ctrl C is already defined!\n"); - signal( SIGINT, signal_handler ); - signal( SIGQUIT, signal_handler ); - existCtrlCContinue = true; - } - - /** Returns false when Ctrl C has been typed in - * reached */ - virtual bool operator() ( const eoPop& _vEO ) - { - if (arret_demande) - return false; - return true; - } - - virtual std::string className(void) const { return "eoCtrlCContinue"; } -}; - - -#endif - -#endif - // of MSVC comment-out diff --git a/trunk/paradiseo-eo/src/eoDetSelect.h b/trunk/paradiseo-eo/src/eoDetSelect.h deleted file mode 100644 index 312053cbb..000000000 --- a/trunk/paradiseo-eo/src/eoDetSelect.h +++ /dev/null @@ -1,83 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoDetSelect.h - (c) Marc Schoenauer, Maarten Keijzer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoDetSelect_h -#define _eoDetSelect_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -//----------------------------------------------------------------------------- - -/** eoDetSelect selects many individuals determinisctically -*/ -template -class eoDetSelect : public eoSelect -{ - public: - /// init - eoDetSelect(double _rate = 1.0, bool _interpret_as_rate = true) - : howMany(_rate, _interpret_as_rate) {} - - /** - @param _source the source population - @param _dest the resulting population (size of this population is - given by the HowMany data - It empties the destination and adds the selection into it) - */ - virtual void operator()(const eoPop& _source, eoPop& _dest) - { - unsigned int pSize = _source.size(); - size_t target = howMany(pSize); - - _dest.resize(target); - - unsigned remain = target % pSize; - unsigned entireCopy = target / pSize; - typename eoPop::iterator it = _dest.begin(); - - if (target >= pSize) - { - for (unsigned i=0; i // -#include // accumulate - -#include -#include -#include - -//----------------------------------------------------------------------------- -/** eoDetTournamentSelect: a selection method that selects ONE individual by - deterministic tournament - -MS- 24/10/99 */ -//----------------------------------------------------------------------------- - -template class eoDetTournamentSelect: public eoSelectOne -{ - public: - /* (Default) Constructor - - @param _tSize tournament size - */ - eoDetTournamentSelect(unsigned _tSize = 2 ):eoSelectOne(), tSize(_tSize) { - // consistency check - if (tSize < 2) { - std::cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n"; - tSize = 2; - } - } - - /* Perform deterministic tournament calling the appropriate fn - see selectors.h - */ - virtual const EOT& operator()(const eoPop& _pop) - { - return deterministic_tournament(_pop, tSize); - } - - private: - unsigned tSize; -}; - -//----------------------------------------------------------------------------- - -#endif - diff --git a/trunk/paradiseo-eo/src/eoDistribUpdater.h b/trunk/paradiseo-eo/src/eoDistribUpdater.h deleted file mode 100644 index 1749994fe..000000000 --- a/trunk/paradiseo-eo/src/eoDistribUpdater.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoDistribUpdater.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoDistribUpdater_H -#define _eoDistribUpdater_H - -#include - -#include -#include - -/** - * Base class for Distribution Evolution Algorithms within EO: - * the update rule of distribution - * - * It takes one distribution and updates it according to one population - * -*/ - -template -class eoDistribUpdater : - public eoBF &, eoPop &, void> -{ -public: - virtual void operator()(eoDistribution &, eoPop &)=0; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoDistribution.h b/trunk/paradiseo-eo/src/eoDistribution.h deleted file mode 100644 index 9facd9160..000000000 --- a/trunk/paradiseo-eo/src/eoDistribution.h +++ /dev/null @@ -1,52 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoDistribution.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoDistribution_H -#define _eoDistribution_H - -#include - -#include -#include - -/** - * Abstract class for Distribution Evolution Algorithms within EO: - * the distribution itself - * - * It basically IS AN eoInit - operator()(EOT &) generates new indis - * - * The instances will probably be eoValueParam of some kind - * see eoPBILDistrib.h -*/ - -template -class eoDistribution : public eoInit, - public eoPersistent, public eoObject -{ -public: - virtual void operator()(EOT &) = 0; // DO NOT FORGET TO INVALIDATE the EOT -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoDominanceMap.h b/trunk/paradiseo-eo/src/eoDominanceMap.h deleted file mode 100644 index ead931963..000000000 --- a/trunk/paradiseo-eo/src/eoDominanceMap.h +++ /dev/null @@ -1,162 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoDominanceMap.h - (c) Maarten Keijzer, Marc Schoenauer, 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoDominanceMap_h -#define eoDominanceMap_h - -#include -#include - -/** - eoDominanceMap, utility class to calculate and maintain a map (std::vector >) of pareto dominance statistics. - - It is set up such that - - if map[i][j] == true - then i dominates j - - The dominance map can be used to perform pareto ranking (eoParetoRanking) or non dominated sorting. - For the latter, the remove() member function might come in handy. - - \todo make it an eoStat? -*/ -template -class eoDominanceMap : public eoUF&, void>, public std::vector > -{ -public: - - /** Clears the map */ - void clear() { - std::vector >::clear(); - fitness.clear(); - } - - /** - Update or create the dominance map - */ - void operator()(const eoPop& _pop) - { - setup(_pop); - return; - } - - /** - Removes the domination info for a given individual, thus nothing dominates it and it dominates nothing. - */ - void remove(unsigned i) - { - for (unsigned j = 0; j < size(); ++j) - { - operator[](i)[j] = false; // clear row - operator[](j)[i] = false; // clear col - } - } - - /** - Create domination matrix from scratch. Complexity O(N^2) - */ - void setup(const eoPop& _pop) - { - fitness.resize(_pop.size()); - resize(_pop.size()); - - for (unsigned i = 0; i < _pop.size(); ++i) - { - fitness[i] = _pop[i].fitness(); - operator[](i).resize(_pop.size(), false); - - for (unsigned j = 0; j < i; ++j) - { - if (_pop[i].fitness().dominates(_pop[j].fitness())) - { - operator[](i)[j] = true; - operator[](j)[i] = false; - } - else if (_pop[j].fitness().dominates(_pop[i].fitness())) - { - operator[](i)[j] = false; - operator[](j)[i] = true; - } - else - { - operator[](i)[j] = false; - operator[](j)[i] = false; - } - } - } - } - - /** - For all elements, returns the no. of elements that dominate the element - Thus: lower is better (and 0 is the front). - It returns a std::vector cuz that - makes subsequent manipulation that much easier - */ - std::vector sum_dominators() const - { - std::vector result(size(), 0.0); - - for (unsigned i = 0; i < size(); ++i) - { - for (unsigned j = 0; j < size(); ++j) - { - if (operator[](i)[j]) // i dominates j - result[j]++; - } - } - - return result; - } - - /** - For all elements, returns the number of elements that the element dominates - Thus: higher is better - It returns a std::vector cuz that - makes subsequent manipulation that much easier - */ - std::vector sum_dominants() const - { - std::vector result(size(), 0.0); - - for (unsigned i = 0; i < size(); ++i) - { - for (unsigned j = 0; j < size(); ++j) - { - if (operator[](i)[j]) // i dominates j - result[i]++; - } - } - - return result; - } - - private : - - - std::vector fitness; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoEDA.h b/trunk/paradiseo-eo/src/eoEDA.h deleted file mode 100644 index 490af15e6..000000000 --- a/trunk/paradiseo-eo/src/eoEDA.h +++ /dev/null @@ -1,46 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEDA.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoEDA_h -#define _eoEDA_h - -//----------------------------------------------------------------------------- - -#include - -/** eoEDA: Estimation of Distribution Algorithm within EO - * - * The abstract class for algorithms that evolve a probability distribution - * on the spaces of populations rather than a population - * - * It IS NOT an eoAlgo, as it evolves a distribution, not a population -*/ - -template class eoEDA: public eoUF&, void> -{ -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoEasyEA.h b/trunk/paradiseo-eo/src/eoEasyEA.h deleted file mode 100644 index 9dd28148b..000000000 --- a/trunk/paradiseo-eo/src/eoEasyEA.h +++ /dev/null @@ -1,243 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEasyEA.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoEasyEA_h -#define _eoEasyEA_h - -//----------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - - -template class eoIslandsEasyEA ; - -template class eoDistEvalEasyEA ; - -/** An easy-to-use evolutionary algorithm; you can use any chromosome, - and any selection transformation, merging and evaluation - algorithms; you can even change in runtime parameters of those - sub-algorithms - -Change (MS, July 3. 2001): - Replaced the eoEvalFunc by an eoPopEvalFunc: this immediately - allows many useful constructs, such as co-evolution (e.g. game players), - parisian approach (the solution to the problem is the whole population) - or simple distribution of evaluations on a cluster. - In case an eoEvalFunc is passed, it is embedded on an eoPopLoopEval - This makes things a little uglier (required an additional "dummy" member - -Note: it looks ugly only because we wanted to authorize many different - constructors. Please only look at the operator() and there shall be light -*/ -template class eoEasyEA: public eoAlgo { -public: - - /** Ctor taking a breed and merge */ - eoEasyEA( - eoContinue& _continuator, - eoEvalFunc& _eval, - eoBreed& _breed, - eoReplacement& _replace - ) : continuator(_continuator), - eval (_eval), - loopEval(_eval), - popEval(loopEval), - selectTransform(dummySelect, dummyTransform), - breed(_breed), - mergeReduce(dummyMerge, dummyReduce), - replace(_replace) - {} - - /* - eoEasyEA(eoContinue & _continuator, - eoPopEvalFunc & _pop_eval, - eoBreed & _breed, - eoReplacement & _replace - ) : - continuator (_continuator), - eval (dummyEval), - loopEval(dummyEval), - popEval (_pop_eval), - selectTransform (dummySelect, dummyTransform), - breed (_breed), - mergeReduce (dummyMerge, dummyReduce), - replace (_replace) { - - } - */ - - /** NEW Ctor taking a breed and merge and an eoPopEval */ - eoEasyEA( - eoContinue& _continuator, - eoPopEvalFunc& _eval, - eoBreed& _breed, - eoReplacement& _replace - ) : continuator(_continuator), - eval (dummyEval), - loopEval(dummyEval), - popEval(_eval), - selectTransform(dummySelect, dummyTransform), - breed(_breed), - mergeReduce(dummyMerge, dummyReduce), - replace(_replace) - {} - - /// Ctor eoBreed, eoMerge and eoReduce. - eoEasyEA( - eoContinue& _continuator, - eoEvalFunc& _eval, - eoBreed& _breed, - eoMerge& _merge, - eoReduce& _reduce - ) : continuator(_continuator), - eval (_eval), - loopEval(_eval), - popEval(loopEval), - selectTransform(dummySelect, dummyTransform), - breed(_breed), - mergeReduce(_merge, _reduce), - replace(mergeReduce) - {} - - /// Ctor eoSelect, eoTransform, and eoReplacement - eoEasyEA( - eoContinue& _continuator, - eoEvalFunc& _eval, - eoSelect& _select, - eoTransform& _transform, - eoReplacement& _replace - ) : continuator(_continuator), - eval (_eval), - loopEval(_eval), - popEval(loopEval), - selectTransform(_select, _transform), - breed(selectTransform), - mergeReduce(dummyMerge, dummyReduce), - replace(_replace) - {} - - /// Ctor eoSelect, eoTransform, eoMerge and eoReduce. - eoEasyEA( - eoContinue& _continuator, - eoEvalFunc& _eval, - eoSelect& _select, - eoTransform& _transform, - eoMerge& _merge, - eoReduce& _reduce - ) : continuator(_continuator), - eval (_eval), - loopEval(_eval), - popEval(loopEval), - selectTransform(_select, _transform), - breed(selectTransform), - mergeReduce(_merge, _reduce), - replace(mergeReduce) - {} - - - - - /// Apply a few generation of evolution to the population. - virtual void operator()(eoPop& _pop) - { - eoPop offspring, empty_pop; - popEval(empty_pop, _pop); // A first eval of pop. - do - { - try - { - unsigned pSize = _pop.size(); - offspring.clear(); // new offspring - - breed(_pop, offspring); - - popEval(_pop, offspring); // eval of parents + offspring if necessary - - replace(_pop, offspring); // after replace, the new pop. is in _pop - - if (pSize > _pop.size()) - throw std::runtime_error("Population shrinking!"); - else if (pSize < _pop.size()) - throw std::runtime_error("Population growing!"); - - } - catch (std::exception& e) - { - std::string s = e.what(); - s.append( " in eoEasyEA"); - throw std::runtime_error( s ); - } - } while ( continuator( _pop ) ); - } - -protected : - - // If selectTransform needs not be used, dummySelect and dummyTransform are used - // to instantiate it. - class eoDummySelect : public eoSelect - { public : void operator()(const eoPop&, eoPop&) {} } dummySelect; - - class eoDummyTransform : public eoTransform - { public : void operator()(eoPop&) {} } dummyTransform; - - class eoDummyEval : public eoEvalFunc - {public: void operator()(EOT &) {} } dummyEval; - - eoContinue& continuator; - - eoEvalFunc & eval ; - eoPopLoopEval loopEval; - - eoPopEvalFunc& popEval; - - eoSelectTransform selectTransform; - eoBreed& breed; - - // If mergeReduce needs not be used, dummyMerge and dummyReduce are used - // to instantiate it. - eoNoElitism dummyMerge; - eoTruncate dummyReduce; - - eoMergeReduce mergeReduce; - eoReplacement& replace; - - // Friend classes - friend class eoIslandsEasyEA ; - friend class eoDistEvalEasyEA ; -}; - -//----------------------------------------------------------------------------- - -#endif - diff --git a/trunk/paradiseo-eo/src/eoEvalContinue.h b/trunk/paradiseo-eo/src/eoEvalContinue.h deleted file mode 100644 index b13ef90be..000000000 --- a/trunk/paradiseo-eo/src/eoEvalContinue.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEvalContinue.h -// (c) GeNeura Team, 1999, Marc Schoenauer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoEvalContinue_h -#define _eoEvalContinue_h - -#include -#include - -/** - * Continues until a number of evaluations has been made -*/ -template< class EOT> -class eoEvalContinue: public eoContinue -{ -public: - /// Ctor - eoEvalContinue( eoEvalFuncCounter & _eval, unsigned long _totalEval) - : eval(_eval), repTotalEvaluations( _totalEval ) { - std::cout << "Ctor de eoEvalFuncCounter avec total = " << repTotalEvaluations << std::endl; -}; - - /** Returns false when a certain number of evaluations has been done - */ - virtual bool operator() ( const eoPop& _vEO ) { - if (eval.value() >= repTotalEvaluations) - { - std::cout << "STOP in eoEvalContinue: Reached maximum number of evaluations [" << repTotalEvaluations << "]\n"; - return false; - } - return true; - } - - /** Returns the number of generations to reach*/ - virtual unsigned long totalEvaluations( ) - { - return repTotalEvaluations; - }; - - virtual std::string className(void) const { return "eoEvalContinue"; } -private: - eoEvalFuncCounter & eval; - unsigned long repTotalEvaluations; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoEvalFunc.h b/trunk/paradiseo-eo/src/eoEvalFunc.h deleted file mode 100644 index 3dfaeba07..000000000 --- a/trunk/paradiseo-eo/src/eoEvalFunc.h +++ /dev/null @@ -1,49 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEvalFunc.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoEvalFunc_H -#define eoEvalFunc_H - -#include - -/** Evaluate: takes one EO and sets its "fitness" property - * returning this fitness also. That is why EOT is passed by - * non-const reference: it must be altered within evaluate.\\ - - The requirements on the types with which this class is to be - instantiated with are null, or else, they depend on the particular - class it's going to be applied to; EO does not impose any requirement - on it. If you subclass this abstract class, and use it to evaluate an - EO, the requirements on this EO will depend on the evaluator. - */ - -template class eoEvalFunc : public eoUF -{ - public : - typedef EOT EOType; - - typedef typename EOT::Fitness EOFitT; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoEvalFuncCounter.h b/trunk/paradiseo-eo/src/eoEvalFuncCounter.h deleted file mode 100644 index fb28de59f..000000000 --- a/trunk/paradiseo-eo/src/eoEvalFuncCounter.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEvalFuncCounter.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoEvalFuncCounter_H -#define eoEvalFuncCounter_H - -#include -#include - -/** -Counts the number of evaluations actually performed, thus checks first -if it has to evaluate.. etc. -*/ -template class eoEvalFuncCounter : public eoEvalFunc, public eoValueParam -{ - public : - eoEvalFuncCounter(eoEvalFunc& _func, std::string _name = "Eval. ") - : eoValueParam(0, _name), func(_func) {} - - virtual void operator()(EOT& _eo) - { - if (_eo.invalid()) - { - value()++; - func(_eo); - } - } - - private : - eoEvalFunc& func; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoEvalFuncPtr.h b/trunk/paradiseo-eo/src/eoEvalFuncPtr.h deleted file mode 100644 index fd98e4e34..000000000 --- a/trunk/paradiseo-eo/src/eoEvalFuncPtr.h +++ /dev/null @@ -1,66 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - ------------------------------------------------------------------------------ - eoEvalFuncPtr.h - Converts a classical C fitness evaluation function into a fitness - evaluation object - - (c) GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOEVALFUNCPTR_H -#define EOEVALFUNCPTR_H - -#include - -/** EOEvalFuncPtr: This class - * takes an existing function pointer and converts it into a evaluation - * function class. That way, old style C or C++ functions can be adapted to EO - * function classes. - */ -#ifdef _MSC_VER -template< class EOT, class FitT = EOT::Fitness, class FunctionArg = const EOT& > -#else -template< class EOT, class FitT = typename EOT::Fitness, class FunctionArg = const EOT& > -#endif -struct eoEvalFuncPtr: public eoEvalFunc { - - /** Applies the function to the chromosome and sets the fitness of the - Chrom. Thus, the evaluation function need not be worried about that. - @param _eval pointer to the evaluation function, takes a EOT as an - argument and returns the fitness - @return the evaluated fitness for that object. - */ - eoEvalFuncPtr( FitT (* _eval)( FunctionArg ) ) - : eoEvalFunc(), evalFunc( _eval ) {}; - - /// Effectively applies the evaluation function to an EO - virtual void operator() ( EOT & _eo ) - { - if (_eo.invalid()) - _eo.fitness((*evalFunc)( _eo )); - }; - - private: - FitT (* evalFunc )( FunctionArg ); -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoFactory.h b/trunk/paradiseo-eo/src/eoFactory.h deleted file mode 100644 index 13864f030..000000000 --- a/trunk/paradiseo-eo/src/eoFactory.h +++ /dev/null @@ -1,72 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFactory.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOFACTORY_H -#define _EOFACTORY_H - -//----------------------------------------------------------------------------- -#include - -//----------------------------------------------------------------------------- - -/** EO Factory. A factory is used to create other objects. In particular, -it can be used so that objects of that kind can´t be created in any other -way. It should be instantiated with anything that needs a factory, like selectors -or whatever; but the instance class should be the parent class from which all the -object that are going to be created descend. This class basically defines an interface, -as usual. The base factory class for each hierarchy should be redefined every time a new -object is added to the hierarchy, which is not too good, but in any case, some code would -have to be modified*/ -template -class eoFactory: public eoObject { - -public: - - /// @name ctors and dtors - //{@ - /// constructor - eoFactory( ) {} - - /// destructor - virtual ~eoFactory() {} - //@} - - /** Another factory methods: creates an object from an std::istream, reading from - it whatever is needed to create the object. Usually, the format for the std::istream will be\\ - objectType parameter1 parameter2 ... parametern\\ - */ - virtual EOClass* make(std::istream& _is) = 0; - - ///@name eoObject methods - //@{ - /** Return the class id */ - virtual std::string className() const { return "eoFactory"; } - - /** Read and print are left without implementation */ - //@} - -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoFitContinue.h b/trunk/paradiseo-eo/src/eoFitContinue.h deleted file mode 100644 index 4d594c3dd..000000000 --- a/trunk/paradiseo-eo/src/eoFitContinue.h +++ /dev/null @@ -1,66 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFitContinue.h -// (c) Maarten Keijzer, GeNeura Team, 1999, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoFitContinue_h -#define _eoFitContinue_h - -#include - -/** -Fitness continuation: - - Continues until the maximum fitness level is reached. -*/ -template< class EOT> -class eoFitContinue: public eoContinue { -public: - - /// Define Fitness - typedef typename EOT::Fitness FitnessType; - - /// Ctor - eoFitContinue( const FitnessType _maximum) - : eoContinue (), maximum( _maximum ) {}; - - /** Returns false when a fitness criterium is - * reached. Assumes pop is not sorted! */ - virtual bool operator() ( const eoPop& _pop ) - { - FitnessType bestCurrentFitness = _pop.nth_element_fitness(0); - if (bestCurrentFitness >= maximum) - { - std::cout << "STOP in eoFitContinue: Best fitness has reached " << - bestCurrentFitness << "\n"; - return false; - } - return true; - } - - virtual std::string className(void) const { return "eoFitContinue"; } -private: - FitnessType maximum; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoFitnessScalingSelect.h b/trunk/paradiseo-eo/src/eoFitnessScalingSelect.h deleted file mode 100644 index 0b3ec273a..000000000 --- a/trunk/paradiseo-eo/src/eoFitnessScalingSelect.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFitnessScalingSelect.h -// (c) GeNeura Team, 1998, Maarten Keijzer 2000, Marc Schoenauer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoFitnessScalingSelect_h -#define eoFitnessScalingSelect_h - -//----------------------------------------------------------------------------- - -#include -#include - -/** eoFitnessScalingSelect: select an individual proportional to the - * linearly scaled fitness that is computed by the private - * eoLinearFitScaling object -*/ -template -class eoFitnessScalingSelect: public eoRouletteWorthSelect -{ -public: - /** Ctor: - * @param _p the selective pressure, should be in [1,2] (2 is the default) - */ - eoFitnessScalingSelect(double _p = 2.0): - eoRouletteWorthSelect(scaling), scaling(_p) {} - -private : - eoLinearFitScaling scaling; // derived from eoPerf2Worth -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoFlOrBinOp.h b/trunk/paradiseo-eo/src/eoFlOrBinOp.h deleted file mode 100644 index 124ca4fd4..000000000 --- a/trunk/paradiseo-eo/src/eoFlOrBinOp.h +++ /dev/null @@ -1,219 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFlOrBinOp.h -// (c) Marc Schoenauer - Maarten Keijzer 2000-2003 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - mkeijzer@cs.vu.nl - */ -//----------------------------------------------------------------------------- - -#ifndef _eoFlOrBinOp_h -#define _eoFlOrBinOp_h - -#include -#include - -/** Generic eoBinOps on fixed length genotypes. - * Contains exchange crossovers (1pt and uniform) - * and crossovers that applies an Atom crossover - * to all components with given rate, or - * to a fixed prescribed nb of components - * - * Example: the standard bitstring 1-point and uniform crossovers - * could be implemented as resp. eoFlOr1ptBinOp and eoFlOrUniformBinOp -*/ - -////////////////////////////////////////////////////////////////////// -// eoFlOrAllAtomBinOp -////////////////////////////////////////////////////////////////////// -/** Bin Crossover using an Atom Crossover - * that is applied to a ALL components with given rate - */ -template -class eoFlOrAllAtomBinOp : public eoBinOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires an Atom BinOp */ - eoFlOrAllAtomBinOp( eoBinOp& _op, float _rate = 1.0): - op(_op), rate( _rate ) {} - - /** applies Atom crossover to ALL components with given rate */ - bool operator()(EOT & _eo1, const EOT & _eo2) - { - if (_eo1.size() != _eo2.size()) - { - string s = "Operand size don't match in " + className(); - throw runtime_error(s); - } - bool changed = false; - for ( unsigned i = 0; i < _eo1.size(); i++ ) { - if ( rng.flip( rate ) ) { - bool changedHere = op( _eo1[i], _eo2[i] ); - changed |= changedHere; - } - } - return changed; - } - - /** inherited className()*/ - virtual string className() const { return "eoFlOrAllAtomBinOp"; } - -private: - double rate; - eoBinOp & op; -}; - -////////////////////////////////////////////////////////////////////// -// eoFlOrKAtomBinOp -////////////////////////////////////////////////////////////////////// -/** Bin Crossover using an Atom Crossover - * that is applied to a FIXED NB of components - */ -template -class eoFlOrKAtomBinOp : public eoBinOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires an Atom BinOp and an unsigned */ - eoFlOrAtomBinOp( eoBinOp& _op, unsigned _k = 1): - op(_op), k( _k ) {} - - /** applies the Atom BinOp to some components */ - bool operator()(EOT & _eo1, const EOT & _eo2) - { - if (_eo1.size() != _eo2.size()) - { - string s = "Operand size don't match in " + className(); - throw runtime_error(s); - } - - bool changed = false; - for ( unsigned i = 0; i < k; i++ ) // TODO: check that we don't do twice the same - { - unsigned where = eo::rng.random(_eo1.size()); - bool changedHere = op( _eo1[where], _eo2[where] ); - changed |= changedHere; - } - return changed; - } - - /** inherited className()*/ - virtual string className() const { return "eoFlOrKAtomBinOp"; } - -private: - unsigned k; - eoBinOp & op; -}; - - -////////////////////////////////////////////////////////////////////// -// eoFlOrUniformBinOp -////////////////////////////////////////////////////////////////////// - -/** The uniform crossover - exchanges atoms uniformly ! */ -template -class eoFlOrUniformBinOp : public eoBinOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires a rate - 0.5 by default */ - eoFlOrUniformBinOp(double _rate=0.5) : eoBinOp(_size), - rate(_rate) {} - - /** excahnges atoms at given rate */ - bool operator()(EOT & _eo1, const EOT & _eo2) - { - unsigned i; - Atom tmp; - if (_eo1.size() != _eo2.size()) - { - string s = "Operand size don't match in " + className(); - throw runtime_error(s); - } - bool hasChanged = false; - for (unsigned i=0; i<_eo1.size(); i++) - { - if ( (_eo1[i]!=_eo2[i]) && (eo::rng.filp(rate)) ) - { - _eo1[i] = _eo2[i]; - hasChanged = true; - } - } - return hasChanged; - } - - /** inherited className()*/ - virtual string className() const { return "eoFlOrUniformBinOp"; } - -private: - double rate; -}; - -////////////////////////////////////////////////////////////////////// -// eoFlOr1ptBinOp -////////////////////////////////////////////////////////////////////// - -/** The 1pt crossover (just in case someone wants it some day!) */ -template -class eoFlOr1ptBinOp : public eoBinOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: no argument */ - eoVlUniformBinOp() {} - - /** exchanges first and second parts of the vectors of Atoms */ - bool operator()(EOT & _eo1, EOT & _eo2) - { - unsigned i; - Atom tmp; - if (_eo1.size() != _eo2.size()) - { - string s = "Operand size don't match in " + className(); - throw runtime_error(s); - } - bool hasChanged = false; - unsigned where = eo::rng.random(_eo1.size()-1); - for (unsigned i=where+1; i<_eo1.size(); i++) - { - if ( (_eo1[i]!=_eo2[i]) ) - { - _eo1[i] = _eo2[i]; - hasChanged = true; - } - } - return hasChanged; - } - - /** inherited className()*/ - virtual string className() const { return "eoFlOr1ptBinOp"; } - -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoFlOrMonOp.h b/trunk/paradiseo-eo/src/eoFlOrMonOp.h deleted file mode 100644 index 4b56cb515..000000000 --- a/trunk/paradiseo-eo/src/eoFlOrMonOp.h +++ /dev/null @@ -1,118 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFlOrMonOp.h -// (c) Marc Schoenauer - Maarten Keijzer 2000-2003 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@cs.vu.nl - */ -//----------------------------------------------------------------------------- - -#ifndef _eoFlOrMonOp_h -#define _eoFlOrMonOp_h - -#include -#include -#include - -/** Base classes for generic mutations on fixed length chromosomes. - * COntains 2 classes that both use an atomic mutation - * eoFlOrAllMutation applies the atom mutation to all components with given rate - * eoFlOrKMutation applies the atom mutation to a fixed nb of components - * - * Remark: the standard bit-flip mutation is an eoFlOrAllMutation - * with atom mutation == bitflipping - */ - -/** applies an atomic mutation to all the components with a given rate - */ -template -class eoFlOrAllMutation : public eoMonOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires an Atom mutation and a rate */ - eoFlOrAllMutation(eoMonOp & _atomMutation, double _rate=1.0) : - atomMutation(_atomMutation), rate(_rate) {} - - /** applies the atom mutation to all components with given rate */ - bool operator()(EOT & _eo) - { - bool modified=false; - for (unsigned i=0; i<_eo.size(); i++) - if (eo::rng.flip(rate)) - if (atomMutation(_eo[i])) - modified = true; - - return modified; - } - - /** inherited className() */ - virtual std::string className() const - { - return "eoFlOrAllMutation(" + atomMutation.className() + ")"; - } - -private: - eoMonOp & atomMutation; // the atom mutation - double rate; // the mutation rate PER ATOM -}; - -/** Applies an atomic mutation to a fixed - number of components (1 by default) - */ -template -class eoFlOrKMutation : public eoMonOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires an Atom mutation */ - eoFlOrKMutation(eoMonOp & _atomMutation, unsigned _nb=1) : - nb(_nb), atomMutation(_atomMutation) {} - - - /** applies the atom mutation to K randomly selected components */ - bool operator()(EOT & _eo) - { - bool modified=false; - for (unsigned k=0; k & atomMutation; // the atom mutation -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoFlOrQuadOp.h b/trunk/paradiseo-eo/src/eoFlOrQuadOp.h deleted file mode 100644 index 1ad873c48..000000000 --- a/trunk/paradiseo-eo/src/eoFlOrQuadOp.h +++ /dev/null @@ -1,213 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFlOrQuadOp.h -// (c) Marc Schoenauer - Maarten Keijzer 2000-2003 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@cs.vu.nl - */ -//----------------------------------------------------------------------------- - -#ifndef _eoFlOrQuadOp_h -#define _eoFlOrQuadOp_h - -#include -#include - -/** Generic eoQuadOps on fixed length genotypes. - * Contains exchange crossovers (1pt and uniform) - * and crossovers that applies an Atom crossover - * to all components with given rate, or - * to a fixed prescribed nb of components -*/ - -////////////////////////////////////////////////////////////////////// -// eoFlOrAllAtomQuadOp -////////////////////////////////////////////////////////////////////// - -/** Quad Crossover using an Atom Crossover - */ -template -class eoFlOrAllAtomQuadOp : public eoQuadOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires an Atom QuadOp */ - eoFlOrAllAtomQuadOp( eoQuadOp& _op, double _rate = 1): - op(_op), rate( _rate ) {} - - /** applies Atom crossover to ALL components with given rate */ - bool operator()(EOT & _eo1, EOT & _eo2) - { - bool changed = false; - for ( unsigned i = 0; i < _eo1.size(); i++ ) { - if ( rng.flip( rate ) ) { - bool changedHere = op( _eo1[i], _eo2[i] ); - changed |= changedHere; - } - } - return changed; - } - - /** inherited className()*/ - virtual string className() const { return "eoFlOrAllAtomQuadOp"; } - -private: - double rate; - eoQuadOp & op; -}; - -////////////////////////////////////////////////////////////////////// -// eoFlOrKAtomQuadOp -////////////////////////////////////////////////////////////////////// -/** Quad Crossover using an Atom Crossover - * that is applied to a FIXED NB of components - */ -template -class eoFlOrKAtomQuadOp : public eoQuadOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires an Atom QuadOp and an unsigned */ - eoFlOrAtomQuadOp( eoQuadOp& _op, unsigned _k = 1): - op(_op), k( _k ) {} - - /** applies the Atom QuadOp to some components */ - bool operator()(EOT & _eo1, const EOT & _eo2) - { - if (_eo1.size() != _eo2.size()) - { - string s = "Operand size don't match in " + className(); - throw runtime_error(s); - } - - bool changed = false; - for ( unsigned i = 0; i < k; i++ ) // TODO: check that we don't do twice the same - { - unsigned where = eo::rng.random(_eo1.size()); - bool changedHere = op( _eo1[where], _eo2[where] ); - changed |= changedHere; - } - return changed; - } - - /** inherited className()*/ - virtual string className() const { return "eoFlOrKAtomQuadOp"; } - -private: - unsigned k; - eoQuadOp & op; -}; - - -////////////////////////////////////////////////////////////////////// -// eoFlOrUniformQuadOp -////////////////////////////////////////////////////////////////////// -/** The uniform crossover - exchanges atoms uniformly ! */ -template -class eoFlOrUniformQuadOp : public eoQuadOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires a rate - 0.5 by default */ - eoVlUniformQuadOp(double _rate=0.5) : eoQuadOp(_size), - rate(_rate) {} - - /** excahnges atoms at given rate */ - bool operator()(EOT & _eo1, EOT & _eo2) - { - unsigned i; - Atom tmp; - if (_eo1.size() != _eo2.size()) - { - string s = "Operand size don't match in " + className(); - throw runtime_error(s); - } - bool hasChanged = false; - for (unsigned i=0; i<_eo1.size(); i++) - { - if ( (_eo1[i]!=_eo2[i]) && (eo::rng.filp(rate)) ) - { - tmp = _eo1[i]; - _eo1[i] = _eo2[i]; - _eo2[i] = tmp; - hasChanged = true; - } - } - return hasChanged; - } - - /** inherited className()*/ - virtual string className() const { return "eoFlOrUniformQuadOp"; } - -private: - double rate; -}; - -////////////////////////////////////////////////////////////////////// -// eoFlOr1ptQuadOp -////////////////////////////////////////////////////////////////////// -/** The 1pt crossover (just in case someone wants it some day!) */ -template -class eoFlOr1ptQuadOp : public eoQuadOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: no argument */ - eoVlUniformQuadOp() {} - - /** exchanges first and second parts of the vectors of Atoms */ - bool operator()(EOT & _eo1, EOT & _eo2) - { - unsigned i; - Atom tmp; - if (_eo1.size() != _eo2.size()) - { - string s = "Operand size don't match in " + className(); - throw runtime_error(s); - } - bool hasChanged = false; - unsigned where = eo::rng.random(_eo1.size()-1); - for (unsigned i=where+1; i<_eo1.size(); i++) - { - if ( (_eo1[i]!=_eo2[i]) ) - { - tmp = _eo1[i]; - _eo1[i] = _eo2[i]; - _eo2[i] = tmp; - hasChanged = true; - } - } - return hasChanged; - } - - /** inherited className()*/ - virtual string className() const { return "eoFlOr1ptQuadOp"; } - -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoFunctor.h b/trunk/paradiseo-eo/src/eoFunctor.h deleted file mode 100644 index 426cd3ce3..000000000 --- a/trunk/paradiseo-eo/src/eoFunctor.h +++ /dev/null @@ -1,177 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFunctor.h -// (c) Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - mak@dhi.dk - CVS Info: $Date: 2004/12/01 09:22:48 $ $Header: /cvsroot/eodev/eo/src/eoFunctor.h,v 1.7 2004/12/01 09:22:48 evomarc Exp $ $Author: evomarc $ - */ -//----------------------------------------------------------------------------- - -#ifndef _eoFunctor_h -#define _eoFunctor_h - -#include - -/** Base class for functors to get a nice hierarchy diagram - - That's actually quite an understatement as it does quite a bit more than - just that. By having all functors derive from the same base class, we can - do some memory management that would otherwise be very hard. - - The memory management base class is called eoFunctorStore, and it supports - a member add() to add a pointer to a functor. When the functorStore is - destroyed, it will delete all those pointers. So beware: do not delete - the functorStore before you are done with anything that might have been allocated. - - @see eoFunctorStore - -*/ -class eoFunctorBase -{ -public : - /// virtual dtor here so there is no need to define it in derived classes - virtual ~eoFunctorBase() {} - - /// tag to identify a procedure in compile time function selection @see functor_category - struct procedure_tag {}; - /// tag to identify a unary function in compile time function selection @see functor_category - struct unary_function_tag {}; - /// tag to identify a binary function in compile time function selection @see functor_category - struct binary_function_tag {}; -}; - -/** - Basic Function. Derive from this class when defining - any procedure. It defines a result_type that can be used - to determine the return type - Argument and result types can be any type including void for - result_type -**/ -template -class eoF : public eoFunctorBase -{ -public : - - /// virtual dtor here so there is no need to define it in derived classes - virtual ~eoF() {} - - /// the return type - probably useless .... - typedef R result_type; - - /// The pure virtual function that needs to be implemented by the subclass - virtual R operator()() = 0; - - /// tag to identify a procedure in compile time function selection @see functor_category - static eoFunctorBase::procedure_tag functor_category() - { - return eoFunctorBase::procedure_tag(); - } -}; - -/** - Overloaded function that can help in the compile time detection - of the type of functor we are dealing with - - @see eoCounter, make_counter -*/ -template -eoFunctorBase::procedure_tag functor_category(const eoF&) -{ - return eoFunctorBase::procedure_tag(); -} - -/** - Basic Unary Functor. Derive from this class when defining - any unary function. First template argument is the first_argument_type, - second result_type. - Argument and result types can be any type including void for - result_type -**/ -template -class eoUF : public eoFunctorBase, public std::unary_function -{ -public : - - /// virtual dtor here so there is no need to define it in derived classes - virtual ~eoUF() {} - - /// The pure virtual function that needs to be implemented by the subclass - virtual R operator()(A1) = 0; - - /// tag to identify a procedure in compile time function selection @see functor_category - static eoFunctorBase::unary_function_tag functor_category() - { - return eoFunctorBase::unary_function_tag(); - } -}; - -/** - Overloaded function that can help in the compile time detection - of the type of functor we are dealing with - @see eoCounter, make_counter -*/ -template -eoFunctorBase::unary_function_tag functor_category(const eoUF&) -{ - return eoFunctorBase::unary_function_tag(); -} - - -/** - Basic Binary Functor. Derive from this class when defining - any binary function. First template argument is result_type, second - is first_argument_type, third is second_argument_type. - Argument and result types can be any type including void for - result_type -**/ -template -class eoBF : public eoFunctorBase, public std::binary_function -{ -public : - /// virtual dtor here so there is no need to define it in derived classes - virtual ~eoBF() {} - - //typedef R result_type; - //typedef A1 first_argument_type; - //typedef A2 second_argument_type; - - /// The pure virtual function that needs to be implemented by the subclass - virtual R operator()(A1, A2) = 0; - - /// tag to identify a procedure in compile time function selection @see functor_category - static eoFunctorBase::binary_function_tag functor_category() - { - return eoFunctorBase::binary_function_tag(); - } -}; - -/** - Overloaded function that can help in the compile time detection - of the type of functor we are dealing with - @see eoCounter, make_counter -*/ -template -eoFunctorBase::binary_function_tag functor_category(const eoBF&) -{ - return eoFunctorBase::binary_function_tag(); -} - - -#endif diff --git a/trunk/paradiseo-eo/src/eoFunctorStore.cpp b/trunk/paradiseo-eo/src/eoFunctorStore.cpp deleted file mode 100644 index cb8d1a574..000000000 --- a/trunk/paradiseo-eo/src/eoFunctorStore.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include -#include - - -/// clears the memory -eoFunctorStore::~eoFunctorStore() -{ - for(size_t i = 0; i < vec.size(); ++i) { - delete vec[i]; - } -} diff --git a/trunk/paradiseo-eo/src/eoFunctorStore.h b/trunk/paradiseo-eo/src/eoFunctorStore.h deleted file mode 100644 index 02855b47b..000000000 --- a/trunk/paradiseo-eo/src/eoFunctorStore.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFunctorStore.h -// (c) Maarten Keijzer 2000, GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- - -#ifndef _eoFunctorStore_h -#define _eoFunctorStore_h - -#include - -class eoFunctorBase; - -/** - eoFunctorStore is a class that stores functors that are allocated on the - heap. This class can be used in factories to store allocated memory for - dynamically created functors. -*/ -class eoFunctorStore -{ -public: - - /// Default Ctor - eoFunctorStore() {} - - // virtual destructor so we don't need to define it in derived classes - virtual ~eoFunctorStore(); - - /// Add an eoFunctorBase to the store - template - Functor& storeFunctor(Functor* r) - { - // If the compiler complains about the following line, - // check if you really are giving it a pointer to an - // eoFunctorBase derived object - vec.push_back(r); - return *r; - } - -private : - - /// no copying allowed - eoFunctorStore(const eoFunctorStore&); - - /// no copying allowed - eoFunctorStore operator=(const eoFunctorStore&); - std::vector vec; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoG3Replacement.h b/trunk/paradiseo-eo/src/eoG3Replacement.h deleted file mode 100644 index 7e7950f78..000000000 --- a/trunk/paradiseo-eo/src/eoG3Replacement.h +++ /dev/null @@ -1,86 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoG3Replacement.h - (c) Maarten Keijzer, Marc Schoenauer, 2002 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoG3Replacement_h -#define _eoG3Replacement_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** -eoG3Replacement is an eoReplacement: -- no strong elitism (is suppposed to be within a steady-state engine) -- choose N (2) parents RANDOMLY - remove them from the parent population -- merge offspring and the N removed parents -- select best N of this merged population -- put them back into parent population - -*/ - -template -class eoG3Replacement : public eoReplacement -{ -public: - eoG3Replacement(eoHowMany _howManyEliminatedParents = eoHowMany(2, false)) : - // split truncates the parents and returns eliminated parents - split(_howManyEliminatedParents, true), - // reduce truncates the offpsring and does not return eliminated guys - reduce(-_howManyEliminatedParents, false) - {} - - void operator()(eoPop & _parents, eoPop & _offspring) - { - eoPop temp; - split(_parents, temp); - unsigned toKeep = temp.size(); // how many to keep from merged populations - // merge temp into offspring - plus(temp, _offspring); // add temp to _offspring (a little inconsistent!) - - // reduce merged - reduce(_offspring, temp); // temp dummy arg. will not be modified - // minimla check: - if (_offspring.size() != toKeep) - { - std::cerr << "Les tailles " << _offspring.size() << " " << toKeep << std::endl; - throw std::runtime_error("eoG3Replacement: wrong number of remaining offspring"); - } - // and put back into _parents - plus(_offspring, _parents); - } - -private: - eoLinearTruncateSplit split; // few parents to truncate -> linear - eoTruncateSplit reduce; // supposedly many offspring to truncate - eoPlus plus; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoGenContinue.h b/trunk/paradiseo-eo/src/eoGenContinue.h deleted file mode 100644 index 7d24e2438..000000000 --- a/trunk/paradiseo-eo/src/eoGenContinue.h +++ /dev/null @@ -1,103 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGenContinue.h -// (c) GeNeura Team, 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoGenContinue_h -#define _eoGenContinue_h - -#include -#include -/** - Generational continuator: continues until a number of generations is reached -*/ -template< class EOT> -class eoGenContinue: public eoContinue, public eoValueParam -{ -public: - - /// Ctor for setting a - eoGenContinue( unsigned long _totalGens) - : eoValueParam(0, "Generations", "Generations"), - repTotalGenerations( _totalGens ), - thisGenerationPlaceHolder(0), - thisGeneration(thisGenerationPlaceHolder), verbose(true) {}; - - /// Ctor for enabling the save/load the no. of generations counted - eoGenContinue( unsigned long _totalGens, unsigned long& _currentGen) - : eoValueParam(0, "Generations", "Generations"), - repTotalGenerations( _totalGens ), - thisGenerationPlaceHolder(0), - thisGeneration(_currentGen), verbose(true){}; - - /** Returns false when a certain number of generations is - * reached */ - virtual bool operator() ( const eoPop& _vEO ) { - thisGeneration++; - value() = thisGeneration; - // std::cout << " [" << thisGeneration << "] "; - if (thisGeneration >= repTotalGenerations) - { - if (verbose) - std::cout << "STOP in eoGenContinue: Reached maximum number of generations [" << thisGeneration << "/" << repTotalGenerations << "]\n"; - return false; - } - return true; - } - - /** Sets the number of generations to reach - and sets the current generation to 0 (the begin)*/ - virtual void totalGenerations( unsigned long _tg ) { - repTotalGenerations = _tg; - thisGeneration = 0; - }; - - /** Returns the number of generations to reach*/ - virtual unsigned long totalGenerations( ) - { - return repTotalGenerations; - }; - - - virtual std::string className(void) const { return "eoGenContinue"; } - - void readFrom (std :: istream & __is) { - - __is >> thisGeneration; /* Loading the number of generations counted */ - } - - void printOn (std :: ostream & __os) const { - - __os << thisGeneration << std :: endl; /* Saving the number of generations counted */ - } - -private: - unsigned long repTotalGenerations; - unsigned long thisGenerationPlaceHolder; - unsigned long& thisGeneration; - -public: - bool verbose; // allows to turn off annoying message to cout -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoGenOp.h b/trunk/paradiseo-eo/src/eoGenOp.h deleted file mode 100644 index f2bea9c58..000000000 --- a/trunk/paradiseo-eo/src/eoGenOp.h +++ /dev/null @@ -1,224 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGenOp.h -// (c) Maarten Keijzer and Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mak@dhi.dk - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoGenOp_H -#define _eoGenOp_H - -#include -#include -#include -#include - -/** @name General variation operators - -a class that allows to use i->j operators for any i and j -thanks to the friend class eoPopulator - -@author Maarten Keijzer -@version 0.0 -*/ - -//@{ - -/** The base class for General Operators -Subclass this operator is you want to define an operator that falls -outside of the eoMonOp, eoBinOp, eoQuadOp classification. The argument -the operator will receive is an eoPopulator, which is a wrapper around -the original population, is an instantiation of the next population and -has often a selection function embedded in it to select new individuals. - -Note that the actual work is performed in the apply function. -AND that the apply function is responsible for invalidating -the object if necessary - */ -template -class eoGenOp : public eoOp, public eoUF &, void> -{ - public : - /// Ctor that honors its superclass - eoGenOp(): eoOp( eoOp::general ) {} - - /** Max production is used to reserve space for all elements that are used by the operator, - not setting it properly can result in a crash - */ - virtual unsigned max_production(void) = 0; - - virtual std::string className() const = 0; - void operator()(eoPopulator& _pop) - { - _pop.reserve(max_production()); - apply(_pop); - } - - - protected : - /** the function that will do the work - */ - virtual void apply(eoPopulator& _pop) = 0; -}; - - -/** Wrapper for eoMonOp */ -template -class eoMonGenOp : public eoGenOp -{ - public: - eoMonGenOp(eoMonOp& _op) : op(_op) {} - - unsigned max_production(void) { return 1; } - - void apply(eoPopulator& _it) - { - if (op(*_it)) - (*_it).invalidate(); // look how simple - - } - virtual std::string className() const {return op.className();} - private : - eoMonOp& op; -}; - -/** Wrapper for binop: here we use select method of eoPopulator - * but we could also have an embedded selector to select the second parent - */ -template -class eoBinGenOp : public eoGenOp -{ - public: - eoBinGenOp(eoBinOp& _op) : op(_op) {} - - unsigned max_production(void) { return 1; } - - /** do the work: get 2 individuals from the population, modifies - only one (it's a eoBinOp) - */ - void apply(eoPopulator& _pop) - { - EOT& a = *_pop; - const EOT& b = _pop.select(); - - if (op(a, b)) - a.invalidate(); - } - virtual std::string className() const {return op.className();} - - private : - eoBinOp& op; -}; - -/** wrapper for eoBinOp with a selector */ -template -class eoSelBinGenOp : public eoGenOp -{ - public: - eoSelBinGenOp(eoBinOp& _op, eoSelectOne& _sel) : - op(_op), sel(_sel) {} - - unsigned max_production(void) { return 1; } - - void apply(eoPopulator& _pop) - { // _pop.source() gets the original population, an eoVecOp can make use of this as well - if (op(*_pop, sel(_pop.source()))) - (*_pop).invalidate(); - } - virtual std::string className() const {return op.className();} - - private : - eoBinOp& op; - eoSelectOne& sel; -}; - - -/** Wrapper for quadop: easy as pie - */ -template -class eoQuadGenOp : public eoGenOp -{ - public: - eoQuadGenOp(eoQuadOp& _op) : op(_op) {} - - unsigned max_production(void) { return 2; } - - void apply(eoPopulator& _pop) - { - EOT& a = *_pop; - EOT& b = *++_pop; - - - if(op(a, b)) - { - a.invalidate(); - b.invalidate(); - } - - } - virtual std::string className() const {return op.className();} - - private : - eoQuadOp& op; -}; - - /** - Factory function for automagically creating references to an - eoGenOp object. Useful when you are too lazy to figure out - which wrapper belongs to which operator. The memory allocated - in the wrapper will be stored in a eoFunctorStore (eoState derives from this). - Therefore the memory will only be freed when the eoFunctorStore is deleted. - Make very sure that you are not using these wrappers after this happens. - - You can use this function 'wrap_op' in the following way. Suppose you've - created an eoQuadOp called my_quad, and you want to feed it to an eoTransform - derived class that expects an eoGenOp. If you have an eoState lying around - (which is generally a good idea) you can say: - - eoDerivedTransform trans(eoGenOp::wrap_op(my_quad, state), ...); - - And as long as your state is not destroyed (by going out of scope for example, - your 'trans' functor will be usefull. - - As a final note, you can also enter an eoGenOp as the argument. It will - not allocate memory then. This to make it even easier to use the wrap_op function. - For an example of how this is used, check the eoOpContainer class. - - @see eoOpContainer - */ - template - eoGenOp& wrap_op(eoOp& _op, eoFunctorStore& _store) - { - switch(_op.getType()) - { - case eoOp::unary : return _store.storeFunctor(new eoMonGenOp(static_cast&>(_op))); - case eoOp::binary : return _store.storeFunctor(new eoBinGenOp(static_cast&>(_op))); - case eoOp::quadratic : return _store.storeFunctor(new eoQuadGenOp(static_cast&>(_op))); - case eoOp::general : return static_cast&>(_op); - } - - assert(false); - return static_cast&>(_op); - } - -#endif - -//@} diff --git a/trunk/paradiseo-eo/src/eoGeneralBreeder.h b/trunk/paradiseo-eo/src/eoGeneralBreeder.h deleted file mode 100644 index db46ab90a..000000000 --- a/trunk/paradiseo-eo/src/eoGeneralBreeder.h +++ /dev/null @@ -1,106 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGeneralBreeder.h -// (c) Maarten Keijzer and Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mkeijzer@dhi.dk - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef eoGeneralBreeder_h -#define eoGeneralBreeder_h - -//----------------------------------------------------------------------------- - -/***************************************************************************** - * eoGeneralBreeder: transforms a population using the generalOp construct. - *****************************************************************************/ - -#include -#include -#include -#include -#include -#include - -/** - Base class for breeders using generalized operators. -*/ -template -class eoGeneralBreeder: public eoBreed -{ - public: - /** Ctor: - * - * @param _select a selectoOne, to be used for all selections - * @param _op a general operator (will generally be an eoOpContainer) - * @param _rate pour howMany, le nbre d'enfants a generer - * @param _interpret_as_rate explanation - */ - eoGeneralBreeder( - eoSelectOne& _select, - eoGenOp& _op, - double _rate=1.0, - bool _interpret_as_rate = true) : - select( _select ), op(_op), howMany(_rate, _interpret_as_rate) {} - - /** Ctor: - * - * @param _select a selectoOne, to be used for all selections - * @param _op a general operator (will generally be an eoOpContainer) - * @param _howMany an eoHowMany explanation - */ - eoGeneralBreeder( - eoSelectOne& _select, - eoGenOp& _op, - eoHowMany _howMany ) : - select( _select ), op(_op), howMany(_howMany) {} - - /** The breeder: simply calls the genOp on a selective populator! - * - * @param _parents the initial population - * @param _offspring the resulting population (content -if any- is lost) - */ - void operator()(const eoPop& _parents, eoPop& _offspring) - { - unsigned target = howMany(_parents.size()); - - _offspring.clear(); - eoSelectivePopulator it(_parents, _offspring, select); - - while (_offspring.size() < target) - { - op(it); - ++it; - } - - _offspring.resize(target); // you might have generated a few more - } - - /// The class name. - virtual std::string className() const { return "eoGeneralBreeder"; } - - private: - eoSelectOne& select; - eoGenOp& op; - eoHowMany howMany; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoInit.h b/trunk/paradiseo-eo/src/eoInit.h deleted file mode 100644 index 0df3de354..000000000 --- a/trunk/paradiseo-eo/src/eoInit.h +++ /dev/null @@ -1,172 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoInit.h -// (c) Maarten Keijzer 2000, GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoInit_H -#define _eoInit_H - -#include - -#include -#include -#include - -/** - Base (name) class for Initialization of chromosomes, used in a population - contructor. It is derived from eoMonOp, so it can be used - inside the algorithm as well. - - @see eoPop -*/ - -template -class eoInit : public eoUF -{ -public: - - /** className: Mandatory because of eoCombinedInit. - SHould be pure virtual, but then we should go over the whole - * code to write the method for all derived classes ... MS 16/7/04 */ - virtual std::string className(void) const { return "eoInit"; } -}; - -/** turning an eoInit into a generator - * probably we should only use genrators - and suppress eoInit ??? - * MS - July 2001 - */ -template -class eoInitGenerator : public eoF -{ -public: - - /** Ctor from a plain eoInit */ - eoInitGenerator(eoInit & _init):init(_init) {} - - virtual EOT operator()() - { - EOT p; - init(p); - return (p); - } -private: - eoInit & init; -}; - -/** - Initializer for fixed length representations with a single type -*/ -template -class eoInitFixedLength: public eoInit -{ - public: - - typedef typename EOT::AtomType AtomType; - - eoInitFixedLength(unsigned _combien, eoRndGenerator& _generator) - : combien(_combien), generator(_generator) {} - - virtual void operator()(EOT& chrom) - { - chrom.resize(combien); - std::generate(chrom.begin(), chrom.end(), generator); - chrom.invalidate(); - } - - private : - unsigned combien; - /// generic wrapper for eoFunctor (s), to make them have the function-pointer style copy semantics - eoSTLF generator; -}; - -/** - Initializer for variable length representations with a single type -*/ -template -class eoInitVariableLength: public eoInit -{ -public: -typedef typename EOT::AtomType AtomType; - -// /** Ctor from a generator */ -// eoInitVariableLength(unsigned _minSize, unsigned _maxSize, eoF & _generator = Gen()) -// : offset(_minSize), extent(_maxSize - _minSize), -// repGenerator( eoInitGenerator(*(new eoInit)) ), -// generator(_generator) -// { -// if (_minSize >= _maxSize) -// throw std::logic_error("eoInitVariableLength: minSize larger or equal to maxSize"); -// } - - /** Ctor from an eoInit */ - eoInitVariableLength(unsigned _minSize, unsigned _maxSize, eoInit & _init) - : offset(_minSize), extent(_maxSize - _minSize), init(_init) - { - if (_minSize >= _maxSize) - throw std::logic_error("eoInitVariableLength: minSize larger or equal to maxSize"); - } - - - virtual void operator()(EOT& _chrom) - { - _chrom.resize(offset + rng.random(extent)); - typename std::vector::iterator it; - for (it=_chrom.begin(); it<_chrom.end(); it++) - init(*it); - _chrom.invalidate(); - } - - // accessor to the atom initializer (needed by operator constructs sometimes) - eoInit & atomInit() {return init;} - -private : - unsigned offset; - unsigned extent; - eoInit & init; -}; - -/** - eoInitAdaptor changes the place in the hierarchy - from eoInit to eoMonOp. This is mainly a type conversion, - nothing else - . - @see eoInit, eoMonOp -*/ -template -class eoInitAdaptor : public eoMonOp -{ - public : - eoInitAdaptor(eoInit& _init) : init(_init) {} - - bool operator()(EOT& _eot) - { - init(_eot); - return true; - } - private : - - eoInit& init; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoInvalidateOps.h b/trunk/paradiseo-eo/src/eoInvalidateOps.h deleted file mode 100644 index 4643c7270..000000000 --- a/trunk/paradiseo-eo/src/eoInvalidateOps.h +++ /dev/null @@ -1,134 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoInvalidateOps.h -// (c) Maarten Keijzer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoInvalidateOps_h -#define _eoInvalidateOps_h - -#include - -/** -One of the invalidator operators. Use this one as a 'hat' on an operator -that is defined to work on a generic datatype. This functor will then check -the return type of the operator and invalidate the fitness of the individual. - -This functor is used in algorithms that work with straight eoMonOp, eoBinOp -or eoQuadOp operators, for instance eoSGA. Note that eoGenOp derived operators -generally do invalidate the fitness of the objects they have changed. - -Return value means "Has_Changed" and not "Needs_To_Be_Invalidated" -as successive invalidation are not really a problem -*/ - -template -class eoInvalidateMonOp : public eoMonOp -{ - public: - eoInvalidateMonOp(eoMonOp& _op) : op(_op) {} - - bool operator()(EOT& _eo) - { - if (op(_eo)) - { - _eo.invalidate(); - return true; - } - - return false; - } - - private: - eoMonOp& op; -}; - -/** -One of the invalidator operators. Use this one as a 'hat' on an operator -that is defined to work on a generic datatype. This functor will then check -the return type of the operator and invalidate the fitness of the individual. - -This functor is used in algorithms that work with straight eoMonOp, eoBinOp -or eoQuadOp operators, for instance eoSGA. Note that eoGenOp derived operators -generally do invalidate the fitness of the objects they have changed. - -Return value means "Has_Changed" and not "Needs_To_Be_Invalidated" -as successive invalidation are not really a problem -*/ - -template -class eoInvalidateBinOp : public eoBinOp -{ - public: - eoInvalidateBinOp(eoBinOp& _op) : op(_op) {} - - bool operator()(EOT& _eo, const EOT& _eo2) - { - if (op(_eo, _eo2)) - { - _eo.invalidate(); - return true; - } - - return false; - } - - private: - eoBinOp& op; -}; - -/** -One of the invalidator operators. Use this one as a 'hat' on an operator -that is defined to work on a generic datatype. This functor will then check -the return type of the operator and invalidate the fitness of the individual. - -This functor is used in algorithms that work with straight eoMonOp, eoBinOp -or eoQuadOp operators, for instance eoSGA. Note that eoGenOp derived operators -generally do invalidate the fitness of the objects they have changed. - -Return value means "Has_Changed" and not "Needs_To_Be_Invalidated" -as successive invalidation are not really a problem -*/ - -template -class eoInvalidateQuadOp : public eoQuadOp -{ - public: - eoInvalidateQuadOp(eoQuadOp& _op) : op(_op) {} - - bool operator()(EOT& _eo1, EOT& _eo2) - { - if (op(_eo1, _eo2)) - { - _eo1.invalidate(); - _eo2.invalidate(); - return true; - } - return false; - } - - private: - eoQuadOp& op; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoLinearFitScaling.h b/trunk/paradiseo-eo/src/eoLinearFitScaling.h deleted file mode 100644 index e5f4c8192..000000000 --- a/trunk/paradiseo-eo/src/eoLinearFitScaling.h +++ /dev/null @@ -1,92 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoLinearFitScaling.h - (c) GeNeura Team, 1998, Maarten Keijzer, Marc Schoenauer, 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoLinearFitScaling_h -#define eoLinearFitScaling_h - -#include -#include - -/** An instance of eoPerf2Worth - * COmputes the linearly scaled fitnesses - * with given selective pressure - * Pselect(Best) == pressure/sizePop - * Pselect(average) == 1.0/sizePop - * truncate negative values to 0 - - * - * to be used within an eoSelectFromWorth object - */ -template -class eoLinearFitScaling : public eoPerf2Worth // false: do not cache fitness -{ -public: - - using eoPerf2Worth::value; - - /* Ctor: - @param _p selective pressure (in (1,2]) - @param _e exponent (1 == linear) - */ - eoLinearFitScaling(double _p=2.0) - : pressure(_p) {} - - /* COmputes the ranked fitness: fitnesses range in [m,M] - with m=2-pressure/popSize and M=pressure/popSize. - in between, the progression depends on exponent (linear if 1). - */ - virtual void operator()(const eoPop& _pop) { - unsigned pSize =_pop.size(); - // value() refers to the vector of worthes (we're in an eoParamvalue) - value().resize(pSize); - - // best and worse fitnesses - double bestFitness = static_cast (_pop.best_element().fitness()); - // double worstFitness = static_cast (_pop.worse_element().fitness()); - - // average fitness - double sum=0.0; - unsigned i; - for (i=0; i(_pop[i].fitness()); - double averageFitness = sum/pSize; - - // the coefficients for linear scaling - double denom = pSize*(bestFitness - averageFitness); - double alpha = (pressure-1)/denom; - double beta = (bestFitness - pressure*averageFitness)/denom; - - for (i=0; i -#include -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** -eoMGGReplacement is an eoReplacement: -- choose N (2) parents RANDOMLY - remove them from the parent population -- select best offspring, add to parents -- merge (other?) offspring and the N removed parents -- select best N-1 of this merged population (detTournament only at the moment) -- put them back into parent population - -*/ - -template -class eoMGGReplacement : public eoReplacement -{ -public: - eoMGGReplacement(eoHowMany _howManyEliminatedParents = eoHowMany(2, false), - unsigned _tSize=2) : - // split truncates the parents and returns eliminated parents - split(_howManyEliminatedParents, true), - tSize(_tSize) - { - if (tSize < 2) - { - std::cout << "Warning, Size for eoDetTournamentTruncateSplit adjusted to 2\n"; - tSize = 2; - } - } - - void operator()(eoPop & _parents, eoPop & _offspring) - { - eoPop temp; - split(_parents, temp); - unsigned toKeep = temp.size(); // how many to keep from merged populations - // minimal check - if (toKeep < 2) - throw std::runtime_error("Not enough parents killed in eoMGGReplacement"); - - // select best offspring - typename eoPop::iterator it = _offspring.it_best_element(); - // add to parents - _parents.push_back(*it); - // remove from offspring - _offspring.erase(it); - - // merge temp into offspring - plus(temp, _offspring); - - // repeatedly add selected offspring to parents - for (unsigned i=0; i split; // few parents to truncate -> linear - eoPlus plus; - unsigned int tSize; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoMerge.h b/trunk/paradiseo-eo/src/eoMerge.h deleted file mode 100644 index defd1fc56..000000000 --- a/trunk/paradiseo-eo/src/eoMerge.h +++ /dev/null @@ -1,134 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoMerge.h -// Base class for elitist-merging classes -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoMerge_h -#define eoMerge_h - -//----------------------------------------------------------------------------- - -#include - -// EO includes -#include // eoPop -#include // eoMerge - -/** - * eoMerge: Base class for elitist replacement algorithms. - * Merges the old population (first argument), with the new generation - * - * Its signature is exactly - * that of the selection base eoSelect, but its purpose is to merge the - * two populations into one (the second argument). - * Note that the algorithms assume that the second argument denotes the - * next generation. -*/ - -template class eoMerge: public eoBF&, eoPop&, void> -{}; - -/** -Straightforward elitism class, specify the number of individuals to copy -into new geneneration or the rate w.r.t. pop size -*/ -template class eoElitism : public eoMerge -{ -public : - eoElitism(double _rate, bool _interpret_as_rate = true): - rate(0), combien(0) - { - if (_interpret_as_rate) - { - if ( (_rate<0) || (_rate>1) ) - throw std::logic_error("eoElitism: rate shoud be in [0,1]"); - rate = _rate; - } - else - { - if (_rate<0) - throw std::logic_error("Negative number of offspring in eoElitism!"); - combien = (unsigned int)_rate; - if (combien != _rate) - std::cout << "Warning: Number of guys to merge in eoElitism was rounded"; - } - } - - void operator()(const eoPop& _pop, eoPop& _offspring) - { - if ((combien == 0) && (rate == 0.0)) - return; - unsigned combienLocal; - if (combien == 0) // rate is specified - combienLocal = (unsigned int) (rate * _pop.size()); - else - combienLocal = combien; - - if (combienLocal > _pop.size()) - throw std::logic_error("Elite larger than population"); - - std::vector result; - _pop.nth_element(combienLocal, result); - - for (size_t i = 0; i < result.size(); ++i) - { - _offspring.push_back(*result[i]); - } - } - -private : - double rate; - unsigned combien; -}; - -/** -No elite -*/ -template class eoNoElitism : public eoElitism -{ - public : - eoNoElitism() : eoElitism(0) {} -}; - -/** -Very elitist class, copies entire population into next gen -*/ -template class eoPlus : public eoMerge -{ - public : - void operator()(const eoPop& _pop, eoPop& _offspring) - { - _offspring.reserve(_offspring.size() + _pop.size()); - - for (size_t i = 0; i < _pop.size(); ++i) - { - _offspring.push_back(_pop[i]); - } - } - - private : -}; - -//----------------------------------------------------------------------------- - -#endif diff --git a/trunk/paradiseo-eo/src/eoMergeReduce.h b/trunk/paradiseo-eo/src/eoMergeReduce.h deleted file mode 100644 index f0c6a1b5a..000000000 --- a/trunk/paradiseo-eo/src/eoMergeReduce.h +++ /dev/null @@ -1,115 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoMergeReduce.h - (c) Maarten Keijzer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoMergeReduce_h -#define _eoMergeReduce_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include -//----------------------------------------------------------------------------- -/** -Replacement strategies that combine en eoMerge and an eoReduce. - -@classes: eoMergeReduce, the base (pure abstract) class - eoPlusReplacement the ES plus strategy - eoCommaReplacement the ES comma strategy -*/ - -/** -eoMergeReduce: abstract replacement strategy that is just an application of -an embedded merge, followed by an embedded reduce -*/ -template -class eoMergeReduce : public eoReplacement -{ - public: - eoMergeReduce(eoMerge& _merge, eoReduce& _reduce) : - merge(_merge), reduce(_reduce) - {} - - void operator()(eoPop& _parents, eoPop& _offspring) - { - merge(_parents, _offspring); // parents untouched, result in offspring - reduce(_offspring, _parents.size()); - _parents.swap(_offspring); - } - - private : - eoMerge& merge; - eoReduce& reduce; -}; - -/** -ES type of replacement strategy: first add parents to population, then truncate -*/ -template -class eoPlusReplacement : public eoMergeReduce -{ - public : - eoPlusReplacement() : eoMergeReduce(plus, truncate) {} - - private : - eoPlus plus; - eoTruncate truncate; -}; - -/** -ES type of replacement strategy: ignore parents, truncate offspring -*/ -template -class eoCommaReplacement : public eoMergeReduce -{ - public : - eoCommaReplacement() : eoMergeReduce(no_elite, truncate) {} - - private : - eoNoElitism no_elite; - eoTruncate truncate; -}; - -/** -EP type of replacement strategy: first add parents to population, - then truncate using EP tournament -*/ -template -class eoEPReplacement : public eoMergeReduce -{ -public : - eoEPReplacement(int _tSize) : eoMergeReduce(plus, truncate), truncate(_tSize) - // {truncate.setSize(_tSize);} - {} -private : - eoPlus plus; - eoEPReduce truncate; -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/eoNDSorting.h b/trunk/paradiseo-eo/src/eoNDSorting.h deleted file mode 100644 index bbeab38b2..000000000 --- a/trunk/paradiseo-eo/src/eoNDSorting.h +++ /dev/null @@ -1,496 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoNDSorting.h - (c) Maarten Keijzer, Marc Schoenauer, 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoNDSorting_h -#define eoNDSorting_h - -#include -#include -#include -#include -#include - -/** - Non dominated sorting, it *is a* std::vector of doubles, the integer part is the rank (to which front it belongs), - the fractional part the niching penalty or distance penalty or whatever penalty you want to squeeze into - the bits. -*/ -template -class eoNDSorting : public eoPerf2WorthCached -{ - public : - - using eoPerf2WorthCached::value; - eoNDSorting(bool nasty_flag_ = false) - : nasty_declone_flag_that_only_is_implemented_for_two_objectives(nasty_flag_) - {} - - - eoNDSorting() - : nasty_declone_flag_that_only_is_implemented_for_two_objectives(false) - {} - - /** Pure virtual function that calculates the 'distance' for each element in the current front - Implement to create your own nondominated sorting algorithm. The size of the returned std::vector - should be equal to the size of the current_front. - */ - virtual std::vector niche_penalty(const std::vector& current_front, const eoPop& _pop) = 0; - - void calculate_worths(const eoPop& _pop) - { - // resize the worths beforehand - value().resize(_pop.size()); - - typedef typename EOT::Fitness::fitness_traits traits; - - switch (traits::nObjectives()) - { - case 1: - { - one_objective(_pop); - return; - } - case 2: - { - two_objectives(_pop); - return; - } - default : - { - m_objectives(_pop); - } - } - } - -private : - - /** used in fast nondominated sorting - DummyEO is just a storage place for fitnesses and - to store the original index - */ - class DummyEO : public EO - { - public: unsigned index; - }; - - void one_objective(const eoPop& _pop) - { - unsigned i; - std::vector tmp_pop; - tmp_pop.resize(_pop.size()); - - // copy pop to dummy population (only need the fitnesses) - for (i = 0; i < _pop.size(); ++i) - { - tmp_pop[i].fitness(_pop[i].fitness()); - tmp_pop[i].index = i; - } - - std::sort(tmp_pop.begin(), tmp_pop.end(), std::greater()); - - for (i = 0; i < _pop.size(); ++i) - { - value()[tmp_pop[i].index] = _pop.size() - i; // set rank - } - - // no point in calculcating niche penalty, as every distinct fitness value has a distinct rank - } - - /** - * Optimization for two objectives. Makes the algorithm run in - * complexity O(n log n) where n is the population size - * - * This is the same complexity as for a single objective - * or truncation selection or sorting. - * - * It will perform a sort on the two objectives seperately, - * and from the information on the ranks of the individuals on - * these two objectives, the non-dominated sorting rank is determined. - * There are then three nlogn operations in place: one sort per objective, - * plus a binary search procedure to combine the information about the - * ranks. - * - * After that it is a simple exercise to calculate the distance - * penalty - */ - - void two_objectives(const eoPop& _pop) - { - unsigned i; - typedef typename EOT::Fitness::fitness_traits traits; - assert(traits::nObjectives() == 2); - - std::vector sort1(_pop.size()); // index into population sorted on first objective - - for (i = 0; i < _pop.size(); ++i) - { - sort1[i] = i; - } - - std::sort(sort1.begin(), sort1.end(), Sorter(_pop)); - - // Ok, now the meat of the algorithm - - unsigned last_front = 0; - - double max1 = -1e+20; - for (i = 0; i < _pop.size(); ++i) - { - max1 = std::max(max1, _pop[i].fitness()[1]); - } - - max1 = max1 + 1.0; // add a bit to it so that it is a real upperbound - - unsigned prev_front = 0; - std::vector d; - d.resize(_pop.size(), max1); // initialize with the value max1 everywhere - - std::vector > fronts(_pop.size()); // to store indices into the front - - for (i = 0; i < _pop.size(); ++i) - { - unsigned index = sort1[i]; - - // check for clones and delete them - if (0 && i > 0) - { - unsigned prev = sort1[i-1]; - if ( _pop[index].fitness() == _pop[prev].fitness()) - { // it's a clone, give it the worst rank! - - if (nasty_declone_flag_that_only_is_implemented_for_two_objectives) - //declone - fronts.back().push_back(index); - else // assign it the rank of the previous - fronts[prev_front].push_back(index); - continue; - } - } - - double value2 = _pop[index].fitness()[1]; - - if (traits::maximizing(1)) - value2 = max1 - value2; - - // perform binary search using std::upper_bound, a log n operation for each member - std::vector::iterator it = - std::upper_bound(d.begin(), d.begin() + last_front, value2); - - unsigned front = unsigned(it - d.begin()); - if (front == last_front) ++last_front; - - assert(it != d.end()); - - *it = value2; //update d - fronts[front].push_back(index); // add it to the front - - prev_front = front; - } - - // ok, and finally the niche penalty - - for (i = 0; i < fronts.size(); ++i) - { - if (fronts[i].size() == 0) continue; - - // Now we have the indices to the current front in current_front, do the niching - std::vector niche_count = niche_penalty(fronts[i], _pop); - - // Check whether the derived class was nice - if (niche_count.size() != fronts[i].size()) - { - throw std::logic_error("eoNDSorting: niche and front should have the same size"); - } - - double max_niche = *std::max_element(niche_count.begin(), niche_count.end()); - - for (unsigned j = 0; j < fronts[i].size(); ++j) - { - value()[fronts[i][j]] = i + niche_count[j] / (max_niche + 1.); // divide by max_niche + 1 to ensure that this front does not overlap with the next - } - - } - - // invert ranks to obtain a 'bigger is better' score - rank_to_worth(); - } - - class Sorter - { - public: - Sorter(const eoPop& _pop) : pop(_pop) {} - - bool operator()(unsigned i, unsigned j) const - { - typedef typename EOT::Fitness::fitness_traits traits; - - double diff = pop[i].fitness()[0] - pop[j].fitness()[0]; - - if (fabs(diff) < traits::tol()) - { - diff = pop[i].fitness()[1] - pop[j].fitness()[1]; - - if (fabs(diff) < traits::tol()) - return false; - - if (traits::maximizing(1)) - return diff > 0.; - return diff < 0.; - } - - if (traits::maximizing(0)) - return diff > 0.; - return diff < 0.; - } - - const eoPop& pop; - }; - - void m_objectives(const eoPop& _pop) - { - unsigned i; - - typedef typename EOT::Fitness::fitness_traits traits; - - std::vector > S(_pop.size()); // which individuals does guy i dominate - std::vector n(_pop.size(), 0); // how many individuals dominate guy i - - unsigned j; - for (i = 0; i < _pop.size(); ++i) - { - for (j = 0; j < _pop.size(); ++j) - { - if (_pop[i].fitness().dominates(_pop[j].fitness())) - { // i dominates j - S[i].push_back(j); // add j to i's domination std::list - - //n[j]++; // as i dominates j - } - else if (_pop[j].fitness().dominates(_pop[i].fitness())) - { // j dominates i, increment count for i, add i to the domination std::list of j - n[i]++; - - //S[j].push_back(i); - } - } - } - - std::vector current_front; - current_front.reserve(_pop.size()); - - // get the first front out - for (i = 0; i < _pop.size(); ++i) - { - if (n[i] == 0) - { - current_front.push_back(i); - } - } - - std::vector next_front; - next_front.reserve(_pop.size()); - - unsigned front_index = 0; // which front are we processing - while (!current_front.empty()) - { - // Now we have the indices to the current front in current_front, do the niching - std::vector niche_count = niche_penalty(current_front, _pop); - - // Check whether the derived class was nice - if (niche_count.size() != current_front.size()) - { - throw std::logic_error("eoNDSorting: niche and front should have the same size"); - } - - double max_niche = *std::max_element(niche_count.begin(), niche_count.end()); - - for (i = 0; i < current_front.size(); ++i) - { - value()[current_front[i]] = front_index + niche_count[i] / (max_niche + 1.); // divide by max_niche + 1 to ensure that this front does not overlap with the next - } - - // Calculate which individuals are in the next front; - - for (i = 0; i < current_front.size(); ++i) - { - for (j = 0; j < S[current_front[i]].size(); ++j) - { - unsigned dominated_individual = S[current_front[i]][j]; - n[dominated_individual]--; // As we remove individual i -- being part of the current front -- it no longer dominates j - - if (n[dominated_individual] == 0) // it should be in the current front - { - next_front.push_back(dominated_individual); - } - } - } - - front_index++; // go to the next front - swap(current_front, next_front); // make the next front current - next_front.clear(); // clear it for the next iteration - } - - rank_to_worth(); - } - - void rank_to_worth() - { - // now all that's left to do is to transform lower rank into higher worth - double max_fitness = *std::max_element(value().begin(), value().end()); - - // but make sure it's an integer upper bound, so that all ranks inside the highest integer are the front - max_fitness = ceil(max_fitness); - - for (unsigned i = 0; i < value().size(); ++i) - { - value()[i] = max_fitness - value()[i]; - } - - } - public : bool nasty_declone_flag_that_only_is_implemented_for_two_objectives; -}; - -/** - The original Non Dominated Sorting algorithm from Srinivas and Deb -*/ -template -class eoNDSorting_I : public eoNDSorting -{ -public : - eoNDSorting_I(double _nicheSize, bool nasty_flag_ = false) : eoNDSorting(nasty_flag_), nicheSize(_nicheSize) {} - - std::vector niche_penalty(const std::vector& current_front, const eoPop& _pop) - { - std::vector niche_count(current_front.size(), 0.); - - for (unsigned i = 0; i < current_front.size(); ++i) - { // calculate whether the other points lie within the nice - for (unsigned j = 0; j < current_front.size(); ++j) - { - if (i == j) - continue; - - double dist = 0.0; - - for (unsigned k = 0; k < _pop[current_front[j]].fitness().size(); ++k) - { - double d = _pop[current_front[i]].fitness()[k] - _pop[current_front[j]].fitness()[k]; - dist += d*d; - } - - if (dist < nicheSize) - { - niche_count[i] += 1.0 - pow(dist / nicheSize,2.); - } - } - } - - return niche_count; - } - - private : - - double nicheSize; -}; - -/** @brief Fast Elitist Non-Dominant Sorting Genetic Algorithm - - Adapted from Deb, Agrawal, Pratab and Meyarivan: A Fast Elitist - Non-Dominant Sorting Genetic Algorithm for MultiObjective - Optimization: NSGA-II KanGAL Report No. 200001 - - Note that this class does not do the sorting per se, but the sorting - of it worth_std::vector will give the right order - - The crowding distance is calculated as the sum of the distances to - the nearest neighbours. As we need to return the penalty value, we - have to invert that and invert it again in the base class, but such - is life, sigh -*/ -template -class eoNDSorting_II : public eoNDSorting -{ - public: - - eoNDSorting_II(bool nasty_flag_ = false) : eoNDSorting(nasty_flag_) {} - - typedef std::pair double_index_pair; - - class compare_nodes - { - public : - bool operator()(const double_index_pair& a, const double_index_pair& b) const - { - return a.first < b.first; - } - }; - - /// _cf points into the elements that consist of the current front - std::vector niche_penalty(const std::vector& _cf, const eoPop& _pop) - { - typedef typename EOT::Fitness::fitness_traits traits; - unsigned i; - std::vector niche_count(_cf.size(), 0.); - - - unsigned nObjectives = traits::nObjectives(); //_pop[_cf[0]].fitness().size(); - - for (unsigned o = 0; o < nObjectives; ++o) - { - - std::vector > performance(_cf.size()); - for (i =0; i < _cf.size(); ++i) - { - performance[i].first = _pop[_cf[i]].fitness()[o]; - performance[i].second = i; - } - - std::sort(performance.begin(), performance.end(), compare_nodes()); // a lambda operator would've been nice here - - std::vector nc(niche_count.size(), 0.0); - - for (i = 1; i < _cf.size()-1; ++i) - { // and yet another level of indirection - nc[performance[i].second] = performance[i+1].first - performance[i-1].first; - } - - double max_dist = *std::max_element(nc.begin(), nc.end()); - - // set boundary at max_dist + 1 (so it will get chosen over all the others - nc[performance[0].second] = max_dist + 1; - nc[performance.back().second] = max_dist + 1; - - for (i = 0; i < nc.size(); ++i) - { - niche_count[i] = (max_dist + 1 - nc[i]); - } - } - - return niche_count; - } -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoObject.h b/trunk/paradiseo-eo/src/eoObject.h deleted file mode 100644 index 7f6039053..000000000 --- a/trunk/paradiseo-eo/src/eoObject.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoObject.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOOBJECT_H -#define EOOBJECT_H - -//----------------------------------------------------------------------------- - -#include // For limits definition -#include // std::istream, std::ostream -#include // std::string - -#include - -//----------------------------------------------------------------------------- -// eoObject -//----------------------------------------------------------------------------- -/** -eoObject used to be the base class for the whole hierarchy, but this has -changed. eoObject is used to define a name (#className#) -that is used when loading or saving the state. - -Previously, this object also defined a print and read -interface, but it´s been moved to eoPrintable and eoPersistent. - -It is recommended that you only derive from eoObject in concrete classes. -Some parts of EO do not implement this yet, but that will change in the future. -eoObject, together with eoPersistent and eoPrintable provide a simple persistence -framework that is only needed when the classes have state that changes at runtime. - - @see eoPersistent eoPrintable, eoState - - */ -class eoObject -{ - public: - /// Virtual dtor. They are needed in virtual class hierarchies. - virtual ~eoObject() {} - - /** Return the class id. This should be redefined in each class. - Only "leaf" classes can be non-virtual. - - Maarten: removed the default implementation as this proved to - be too error-prone: I found several classes that had a typo in - className (like classname), which would print eoObject instead of - their own. Having it pure will force the implementor to provide a - name. - */ - virtual std::string className() const = 0; - -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoOneToOneBreeder.h b/trunk/paradiseo-eo/src/eoOneToOneBreeder.h deleted file mode 100644 index cd18edd19..000000000 --- a/trunk/paradiseo-eo/src/eoOneToOneBreeder.h +++ /dev/null @@ -1,123 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoOneToOneBreeder.h -// (c) Maarten Keijzer and Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mkeijzer@dhi.dk - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef eoOneToOneBreeder_h -#define eoOneToOneBreeder_h - -//----------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/***************************************************************************** - * eoOneToOneBreeder: transforms a population using - * - an operator that MODIFIES only one parent from the populator - * (though it can use any number aside) and thus generates ONE offspring) - * - a local replacement between the parent and its offspring - * - * Typically, Differential Evolution (Storn and Price 94) and Deb et al's - * G3 can be built on this - **************************************************************************** - */ -template -class eoOneToOneBreeder: public eoBreed -{ - public: - /** Ctor: - * @param _op a general operator (must MODIFY only ONE parent) - * @param _eval an eoEvalFunc to evaluate the offspring - * @param _select a selectoOne, to be used for all selections [sequential] - * @param _pReplace probability that the best of parent/offspring wins [1] - * @param _howMany eoHowMany offpsring to generate [100%] - */ - eoOneToOneBreeder( - eoGenOp& _op, - eoEvalFunc & _eval, - double _pReplace = 1.0, - eoHowMany _howMany = eoHowMany(1.0) ) : - op(_op), eval(_eval), select( false ), - pReplace(_pReplace), howMany(_howMany) {} - - - /** The breeder: iteratively calls the genOp ONCE on a selective populator - * after having recorded the parent - * Then does the replacement - * - * @param _parents the initial population - * @param _offspring the resulting population (content -if any- is lost) - */ - void operator()(const eoPop& _parents, eoPop& _offspring) - { - unsigned target = howMany(_parents.size()); - - _offspring.clear(); - eoSelectivePopulator popit(_parents, _offspring, select); - - for (unsigned iParent=0; iParent leOffspring) // old parent better than offspring - if (rng.uniform() < pReplace) // if probability - leOffspring = theParent; // replace - // finally, go to next guy to handle - ++popit; - } - } - - /// The class name. - virtual std::string className() const { return "eoOneToOneBreeder"; } - - private: - eoGenOp& op; - eoEvalFunc & eval; - eoSequentialSelect select; - double pReplace; - eoHowMany howMany; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoOp.h b/trunk/paradiseo-eo/src/eoOp.h deleted file mode 100644 index 279d0fa58..000000000 --- a/trunk/paradiseo-eo/src/eoOp.h +++ /dev/null @@ -1,170 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- -//----------------------------------------------------------------------------- -// eoOp.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - CVS Info: $Date: 2004/08/10 17:19:46 $ $Header: /cvsroot/eodev/eo/src/eoOp.h,v 1.29 2004/08/10 17:19:46 jmerelo Exp $ $Author: jmerelo $ - */ -//----------------------------------------------------------------------------- - -#ifndef _eoOp_H -#define _eoOp_H - -#include -#include -#include -#include -/** -\defgroup Operators -Genetic Operators are used for various purposes -*/ - -/** @name Genetic operators - -What is a genetic algorithm without genetic operators? -There is a genetic operator hierarchy, with eoOp as father and -eoMonOp (monary or unary operator), eoBinOp and eoQuadOp (binary operators) -and eoGenOp (any number of inputs and outputs, see eoGenOp.h) -as subclasses. -Nobody should subclass eoOp, you should subclass eoGenOp, eoBinOp, eoQuadOp -or eoMonOp, those are the ones actually used here. - -#eoOp#s are only printable objects, so if you want to build them -from a file, it has to be done in another class, namely factories. -Each hierarchy of #eoOp#s should have its own factory, which know -how to build them from a description in a file. - -@author GeNeura Team, Marten Keijzer and Marc Schoenauer -@version 0.9 -@see eoGenOp.h eoOpFactory -*/ - -//@{ - -/** Abstract data types for EO operators. - Genetic operators act on chromosomes, changing them. - The type to use them on is problem specific. If your genotype - is a std::vector, there are operators that work specifically - on std::vector, but you might also find that generic operators - working on std::vector are what you need. - -*/ -template -class eoOp -{ -public: - //@{ - enum OpType { unary = 0, binary = 1, quadratic = 2, general = 3}; - /// - - /// Ctor - eoOp(OpType _type) - :opType( _type ) {}; - - /// Copy Ctor - eoOp( const eoOp& _eop ) - :opType( _eop.opType ) {}; - - /// Needed virtual destructor - virtual ~eoOp(){}; - - /// getType: number of operands it takes and individuals it produces - OpType getType() const {return opType;}; - -private: - - /// OpType is the type of the operator: how many operands it takes and how many it produces - OpType opType; -}; - -/** -eoMonOp is the monary operator: genetic operator that takes only one EO. -When defining your own, make sure that you return a boolean value -indicating that you have changed the content. -*/ -template -class eoMonOp: public eoOp, public eoUF -{ -public: - /// Ctor - eoMonOp() - : eoOp( eoOp::unary ) {}; - virtual std::string className() const {return "eoMonOp";}; -}; - - -/** Binary genetic operator: subclasses eoOp, and defines basically the - * operator() with two operands, only the first one can be modified -When defining your own, make sure that you return a boolean value -indicating that you have changed the content. - */ -template -class eoBinOp: public eoOp, public eoBF -{ -public: - /// Ctor - eoBinOp() - :eoOp( eoOp::binary ) {}; - virtual std::string className() const {return "eoBinOp";}; -}; - -/** Quad genetic operator: subclasses eoOp, and defines basically the - operator() with two operands, both can be modified. -When defining your own, make sure that you return a boolean value -indicating that you have changed the content. -*/ -template -class eoQuadOp: public eoOp, public eoBF { -public: - /// Ctor - eoQuadOp() - :eoOp( eoOp::quadratic ) {}; - virtual std::string className() const {return "eoQuadOp";}; -}; - -/** Turning an eoQuadOp into an eoBinOp: simply don't touch the second arg! - */ -template -class eoQuad2BinOp: public eoBinOp -{ -public: - /** Ctor - * @param _quadOp the eoQuadOp to be transformed - */ - eoQuad2BinOp(eoQuadOp & _quadOp) : quadOp(_quadOp) {} - - /** Operator() simply calls embedded quadOp operator() with dummy second arg - */ - bool operator()(EOT & _eo1, const EOT & _eo2) - { - EOT eoTmp = _eo2; // a copy that can be modified - // if the embedded eoQuadOp is not symmetrical, - // the result might be biased - hence the flip ... - if (eo::rng.flip(0.5)) - return quadOp(_eo1, eoTmp); // both are modified - that's all - else - return quadOp(eoTmp, _eo1); // both are modified - that's all - } - -private: - eoQuadOp & quadOp; -}; - -#endif - -//@} diff --git a/trunk/paradiseo-eo/src/eoOpContainer.h b/trunk/paradiseo-eo/src/eoOpContainer.h deleted file mode 100644 index 6a31ced9e..000000000 --- a/trunk/paradiseo-eo/src/eoOpContainer.h +++ /dev/null @@ -1,159 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoOpContainer.h -// (c) Maarten Keijzer and Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mkeijzer@dhi.dk - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoOpContainer_H -#define _eoOpContainer_H - -#include - -/** eoOpContainer is a base class for the sequential and proportional selectors - * It takes care of wrapping the other operators, - * and deleting stuff that it has allocated - * - * Warning: all operators are added together with a rate (double) - * However, the meaning of this rate will be different in - * the differnet instances of eoOpContainer: - * an ***absolute*** probability in the sequential version, and - * a ***relative*** weight in the proportional version - */ -template -class eoOpContainer : public eoGenOp -{ - public : - /** Ctor: nothing much to do */ - eoOpContainer() : max_to_produce(0) {} - - /** Dtor: delete all the GenOps created when wrapping simple ops - */ - virtual ~eoOpContainer(void) {} - - /** for memory management (doesn't have to be very precise */ - virtual unsigned max_production(void) - { - return max_to_produce; - } - - /** - Add an operator to the container, also give it a rate - - (sidenote, it's much less hairy since I added the wrap_op is used) - */ - void add(eoOp& _op, double _rate) - { - ops.push_back(&wrap_op(_op, store)); - rates.push_back(_rate); - max_to_produce = std::max(max_to_produce,ops.back()->max_production()); - } - - virtual std::string className() const = 0; - - protected : - - std::vector rates; - std::vector*> ops; - - private : - eoFunctorStore store; - unsigned max_to_produce; -}; - -/** Sequential selection: - * note the mark, rewind, unmark cycle - * here operators are repeatedly applied on the same individual(s) - * not all too elegant, but it sort of works... - */ -template -class eoSequentialOp : public eoOpContainer -{ -public: - - using eoOpContainer::ops; - using eoOpContainer::rates; - - typedef unsigned position_type; - - - void apply(eoPopulator& _pop) { - position_type pos = _pop.tellp(); - for (size_t i = 0; i < rates.size(); ++i) { - _pop.seekp(pos); - do { - if (eo::rng.flip(rates[i])) { - // try - // { - // apply it to all the guys in the todo std::list - (*ops[i])(_pop); - // } - // check for out of individuals and do nothing with that... - // catch(eoPopulator::OutOfIndividuals&) - // { - // std::cout << "Warning: not enough individuals to handle\n"; - // return ; - // } - } - - if (!_pop.exhausted()) - ++_pop; - } - while (!_pop.exhausted()); - } - } - virtual std::string className() const {return "SequentialOp";} - -private: - - std::vector to_apply; - std::vector production; -}; - - - -/** The proportional versions: easy! */ -template -class eoProportionalOp : public eoOpContainer -{ -public: - - using eoOpContainer< EOT >::ops; - using eoOpContainer< EOT >::rates; - - void apply(eoPopulator& _pop) - { - unsigned i = eo::rng.roulette_wheel(rates); - - try - { - (*ops[i])(_pop); - ++_pop; - } - catch( typename eoPopulator::OutOfIndividuals&) - {} - } - virtual std::string className() const {return "ProportionalOp";} -}; - - -#endif - diff --git a/trunk/paradiseo-eo/src/eoOpSelMason.h b/trunk/paradiseo-eo/src/eoOpSelMason.h deleted file mode 100644 index 6c1d80924..000000000 --- a/trunk/paradiseo-eo/src/eoOpSelMason.h +++ /dev/null @@ -1,109 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoOpSelMason.h -// (c) GeNeura Team, 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOOPSELMASON_H -#define _EOOPSELMASON_H - -//----------------------------------------------------------------------------- -#include -#include // for eoFactory and eoOpFactory - -#include - -//----------------------------------------------------------------------------- - -/** EO Mason, or builder, for operator selectors. A builder must allocate memory -to the objects it builds, and then deallocate it when it gets out of scope*/ -template -class eoOpSelMason: public eoFactory > { - -public: - typedef std::vector* > vOpP; - typedef map*, vOpP > MEV; - - /// @name ctors and dtors - //{@ - /// constructor - eoOpSelMason( eoOpFactory& _opFact): operatorFactory( _opFact ) {}; - - /// destructor - virtual ~eoOpSelMason() {}; - //@} - - /** Factory methods: creates an object from an std::istream, reading from - it whatever is needed to create the object. The format is - opSelClassName\\ - rate 1 operator1\\ - rate 2 operator2\\ - ...\\ - Stores all operators built in a database (#allocMap#), so that somebody - can destroy them later. The Mason is in charge or destroying the operators, - since the built object can´t do it itself. The objects built must be destroyed - from outside, using the #destroy# method - */ - virtual eoOpSelector* make(std::istream& _is) { - - std::string opSelName; - _is >> opSelName; - eoOpSelector* opSelectorP; - // Build the operator selector - if ( opSelName == "eoProportionalOpSel" ) { - opSelectorP = new eoProportionalOpSel(); - } - - // Temp std::vector for storing pointers - vOpP tmpPVec; - // read operator rate and name - while ( _is ) { - float rate; - _is >> rate; - if ( _is ) { - eoOp* op = operatorFactory.make( _is ); // This reads the rest of the line - // Add the operators to the selector, don´t pay attention to the IDs - opSelectorP->addOp( *op, rate ); - // Keep it in the store, to destroy later - tmpPVec.push_back( op ); - } // if - } // while - - // Put it in the map - allocMap.insert( MEV::value_type( opSelectorP, tmpPVec ) ); - - return opSelectorP; - }; - - ///@name eoObject methods - //@{ - /** Return the class id */ - virtual std::string className() const { return "eoOpSelMason"; } - - //@} - -private: - map*,std::vector* > > allocMap; - eoOpFactory& operatorFactory; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoParetoConstraintFitness.h b/trunk/paradiseo-eo/src/eoParetoConstraintFitness.h deleted file mode 100644 index c33417ad4..000000000 --- a/trunk/paradiseo-eo/src/eoParetoConstraintFitness.h +++ /dev/null @@ -1,229 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoParetoConstraintFitness.h -// (c) Maarten Keijzer and Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mkeijzer@cs.vu.nl - Marc.Schoenauer@inria.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoParetoConstraintFitness_h -#define _eoParetoConstraintFitness_h - -#include -#include -#include -#include - -#include - -/** - eoParetoOneConstraintFitness class: - std::vector of doubles + constraint value - - Comparison (dominance) is done - on pareto dominance for 2 feasible individuals, - one feasible individual always wins over an infeasible - on constraint violations for 2 infeasible individuals - - The template argument FitnessTraits defaults to - eoParetoFitnessTraits, which can be replaces at will by any other - class that implements the static functions defined therein. - - Note that the domninance defines a partial order, so that - !dominates(a,b) && !domaintes(b,a) does not neccessarily imply that (a==b) - The other way around does hold. - - However, be careful that the comparison operators do define a total order - based on considering first objective, then in case of tie, second objective, etc - - NOTE: in a hurry, I did not want to make it derive from eoParetoFitness - (used cut-and-paste instead!) : I know it might be a good idea, but I'm - not sure I see why at the moment (any hint someone?) -*/ -template -class eoParetoOneConstraintFitness : public std::vector -{ -private: - // this class implements only 1 inequality constraint - // (must ponder a bit for generality without huge overload) - double constraintValue; // inequality cstr - must be negative - -public : - typedef FitnessTraits fitness_traits; - - eoParetoOneConstraintFitness(void) : std::vector(FitnessTraits::nObjectives(),0.0) {} - - // Ctr from a std::vector (size nObjectives+1) - eoParetoOneConstraintFitness(std::vector & _v) : - std::vector(_v) - { -#ifndef NDEBUG - if (_v.size() != fitness_traits::nObjectives()+1) - throw std::runtime_error("Size error in Ctor of eoParetoOneConstraintFitness from std::vector"); -#endif - constraintValue = _v[fitness_traits::nObjectives()]; - resize(fitness_traits::nObjectives()); - } - - // Ctr from a std::vector and a value - eoParetoOneConstraintFitness(std::vector & _v, double _c) : - std::vector(_v), constraintValue(_c) - { -#ifndef NDEBUG - if (_v.size() != fitness_traits::nObjectives()) - throw std::runtime_error("Size error in Ctor of eoParetoOneConstraintFitness from std::vector and value"); -#endif - } - - - /** access to the traits characteristics (so you don't have to write - * a lot of typedef's around - */ - static void setUp(unsigned _n, std::vector & _b) {FitnessTraits::setUp(_n, _b);} - static bool maximizing(unsigned _i) { return FitnessTraits::maximizing(_i);} - - bool feasible() const { return constraintValue<=0;} - double violation() const { return (feasible()?0.0:constraintValue);} - double ConstraintValue() const {return constraintValue;} - void ConstraintValue(double _c) {constraintValue=_c;} - - /// Partial order based on Pareto-dominance - //bool operator<(const eoParetoFitness& _other) const - bool dominates(const eoParetoOneConstraintFitness& _other) const - { - bool dom = false; - - double tol = FitnessTraits::tol(); - const std::vector& performance = *this; - const std::vector& otherperformance = _other; - - if (feasible() && _other.feasible()) - // here both are feasible: do the "standard" domination - for (unsigned i = 0; i < FitnessTraits::nObjectives(); ++i) - { - bool maxim = FitnessTraits::maximizing(i); - double aval = maxim? performance[i] : -performance[i]; - double bval = maxim? otherperformance[i] : -otherperformance[i]; - - if (fabs(aval - bval) > tol) - { - if (aval < bval) - { - return false; // cannot dominate - } - // else aval < bval - dom = true; // for the moment: goto next objective - } - //else they're equal in this objective, goto next - } - else - { // one at least is not feasible - if (feasible()) - return true; // feasible wins - else if (_other.feasible()) - return false; // feasible wins - return (violation()<_other.violation()); // smallest violation wins - } - - return dom; - } - - /// compare *not* on dominance, but on the first, then the second, etc - bool operator<(const eoParetoOneConstraintFitness& _other) const - { - double tol = FitnessTraits::tol(); - const std::vector& performance = *this; - const std::vector& otherperformance = _other; - for (unsigned i = 0; i < FitnessTraits::nObjectives(); ++i) - { - bool maxim = FitnessTraits::maximizing(i); - double aval = maxim? performance[i] : -performance[i]; - double bval = maxim? otherperformance[i] : -otherperformance[i]; - - if (fabs(aval-bval) > tol) - { - if (aval < bval) - return true; - - return false; - } - } - - return false; - } - - bool operator>(const eoParetoOneConstraintFitness& _other) const - { - return _other < *this; - } - - bool operator<=(const eoParetoOneConstraintFitness& _other) const - { - return operator==(_other) || operator<(_other); - } - - bool operator>=(const eoParetoOneConstraintFitness& _other) const - { - return _other <= *this; - } - - bool operator==(const eoParetoOneConstraintFitness& _other) const - { // check if they're all within tolerance - for (unsigned i = 0; i < size(); ++i) - { - if (fabs(operator[](i) - _other[i]) > FitnessTraits::tol()) - { - return false; - } - } - return true; - } - - bool operator!=(const eoParetoOneConstraintFitness& _other) const - { return ! operator==(_other); } - -}; - -template -std::ostream& operator<<(std::ostream& os, const eoParetoOneConstraintFitness& fitness) -{ - for (unsigned i = 0; i < fitness.size(); ++i) - { - os << fitness[i] << ' '; - } - os << fitness.ConstraintValue() << " " ; - return os; -} - -template -std::istream& operator>>(std::istream& is, eoParetoOneConstraintFitness& fitness) -{ - fitness = eoParetoOneConstraintFitness(); - for (unsigned i = 0; i < fitness.size(); ++i) - { - is >> fitness[i]; - } - double r; - is >> r; - fitness.ConstraintValue(r); - return is; -} - -#endif diff --git a/trunk/paradiseo-eo/src/eoParetoFitness.cpp b/trunk/paradiseo-eo/src/eoParetoFitness.cpp deleted file mode 100644 index 6de72db7c..000000000 --- a/trunk/paradiseo-eo/src/eoParetoFitness.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPareto.cpp -// (c) EEAAX,1996-GeNeura Team,1998-Maarten Keijzer,2000-Marc Schoenauer 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include "eoParetoFitness.h" - - -// need to allocate the static variables of class eoVariableParetoTraits -unsigned eoVariableParetoTraits::nObj; -std::vector eoVariableParetoTraits::bObj; - - diff --git a/trunk/paradiseo-eo/src/eoParetoFitness.h b/trunk/paradiseo-eo/src/eoParetoFitness.h deleted file mode 100644 index 4634c9f4a..000000000 --- a/trunk/paradiseo-eo/src/eoParetoFitness.h +++ /dev/null @@ -1,234 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoParetoFitness.h -// (c) Maarten Keijzer and Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mak@dhi.dk - Marc.Schoenauer@inria.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoParetoFitness_h -#define _eoParetoFitness_h - -#include -#include -#include -#include - - -/** - * eoFitnessTraits: a traits class to specify - * the number of objectives and which one are maximizing or not - * See test/t-eoParetoFitness for its use. - * - * If you define your own, make sure you make the functions static! -*/ -class eoParetoFitnessTraits -{ - public : - - static unsigned nObjectives() { return 2; } - static double tol() { return 1e-6; } - static bool maximizing(int which) { return true; } // by default: all are maximizing -}; - -/** - * eoVariableParetoTraits : an eoParetoFitnessTraits whose characteristics - * can be set at run-time (nb objectives and min/max's) - * Why bother? For didactical purposes (and EASEA implementation :-) - */ -class eoVariableParetoTraits : public eoParetoFitnessTraits -{ -public : - /** setting the static stuff */ - static void setUp(unsigned _n, std::vector & _b) - { - // possible problems - if ( nObj && (nObj != _n) ) // was already set to a different value - { - std::cout << "WARNING\n"; - std::cout << "WARNING : you are changing the number of objectives\n"; - std::cout << "WARNING : Make sure all existing objects are destroyed\n"; - std::cout << "WARNING\n"; - } - nObj=_n; - bObj=_b; - if (nObj != bObj.size()) - throw std::runtime_error("Number of objectives and min/max size don't match in VariableParetoTraits::setup"); - } - - /** the accessors */ - static unsigned nObjectives() - { -#ifndef NDEBUG - if (!nObj) - throw std::runtime_error("Number of objectives not assigned in VariableParetoTraits"); -#endif - return nObj; - } - static bool maximizing(unsigned _i) - { -#ifndef NDEBUG - if (_i >= bObj.size()) - throw std::runtime_error("Wrong index in VariableParetoTraits"); -#endif - return bObj[_i]; - } -private: - static unsigned nObj; - static std::vector bObj; -}; - -/** - eoParetoFitness class: std::vector of doubles with overloaded comparison operators. Comparison is done - on pareto dominance. The template argument FitnessTraits defaults to eoParetoFitnessTraits, which - can be replaces at will by any other class that implements the static functions defined therein. - - Note that the comparison defines a partial order, so that - !(a < b) && !(b -class eoParetoFitness : public std::vector -{ -public : - - typedef FitnessTraits fitness_traits; - - eoParetoFitness(void) : std::vector(FitnessTraits::nObjectives(),0.0) {} - - // Ctr from a std::vector - eoParetoFitness(std::vector & _v) : std::vector(_v) {} - - - /** access to the traits characteristics (so you don't have to write - * a lot of typedef's around - */ - static void setUp(unsigned _n, std::vector & _b) {FitnessTraits::setUp(_n, _b);} - static bool maximizing(unsigned _i) { return FitnessTraits::maximizing(_i);} - - /// Partial order based on Pareto-dominance - //bool operator<(const eoParetoFitness& _other) const - bool dominates(const eoParetoFitness& _other) const - { - bool dom = false; - - double tol = FitnessTraits::tol(); - const std::vector& performance = *this; - const std::vector& otherperformance = _other; - - for (unsigned i = 0; i < FitnessTraits::nObjectives(); ++i) - { - bool maxim = FitnessTraits::maximizing(i); - double aval = maxim? performance[i] : -performance[i]; - double bval = maxim? otherperformance[i] : -otherperformance[i]; - - if (fabs(aval - bval) > tol) - { - if (aval < bval) - { - return false; // cannot dominate - } - // else aval < bval - dom = true; // for the moment: goto next objective - } - //else they're equal in this objective, goto next - } - - return dom; - } - - /// compare *not* on dominance, but on the first, then the second, etc - bool operator<(const eoParetoFitness& _other) const - { - double tol = FitnessTraits::tol(); - const std::vector& performance = *this; - const std::vector& otherperformance = _other; - for (unsigned i = 0; i < FitnessTraits::nObjectives(); ++i) - { - bool maxim = FitnessTraits::maximizing(i); - double aval = maxim? performance[i] : -performance[i]; - double bval = maxim? otherperformance[i] : -otherperformance[i]; - - if (fabs(aval-bval) > tol) - { - if (aval < bval) - return true; - - return false; - } - } - - return false; - } - - bool operator>(const eoParetoFitness& _other) const - { - return _other < *this; - } - - bool operator<=(const eoParetoFitness& _other) const - { - return operator==(_other) || operator<(_other); - } - - bool operator>=(const eoParetoFitness& _other) const - { - return _other <= *this; - } - - bool operator==(const eoParetoFitness& _other) const - { // check if they're all within tolerance - for (unsigned i = 0; i < size(); ++i) - { - if (fabs(operator[](i) - _other[i]) > FitnessTraits::tol()) - { - return false; - } - } - return true; - } - - bool operator!=(const eoParetoFitness& _other) const - { return ! operator==(_other); } - -}; - -template -std::ostream& operator<<(std::ostream& os, const eoParetoFitness& fitness) -{ - for (unsigned i = 0; i < fitness.size(); ++i) - { - os << fitness[i] << ' '; - } - return os; -} - -template -std::istream& operator>>(std::istream& is, eoParetoFitness& fitness) -{ - fitness = eoParetoFitness(); - for (unsigned i = 0; i < fitness.size(); ++i) - { - is >> fitness[i]; - } - return is; -} - -#endif diff --git a/trunk/paradiseo-eo/src/eoParetoRanking.h b/trunk/paradiseo-eo/src/eoParetoRanking.h deleted file mode 100644 index cd54ff002..000000000 --- a/trunk/paradiseo-eo/src/eoParetoRanking.h +++ /dev/null @@ -1,71 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoParetoRanking.h - (c) Maarten Keijzer, Marc Schoenauer, 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoParetoRanking_h -#define eoParetoRanking_h - -#include -#include - -/** - Straightforward pareto ranking. Every individual gets a rank according to the number - of elements it dominates. Note that without niching, this technique will usually not - find the whole front of non-dominated solutions, but will quite likely converge - on a single spot on the front. -*/ -template -class eoParetoRanking : public eoPerf2WorthCached -{ -public: - - using eoPerf2WorthCached::value; - - eoParetoRanking(eoDominanceMap& _dominanceMap) - : eoPerf2WorthCached(), dominanceMap(_dominanceMap) - {} - - void calculate_worths(const eoPop& _pop) - { - dominanceMap(_pop); - value() = dominanceMap.sum_dominators(); // get rank: 0 means part of current front - - // calculate maximum - double maxim = *std::max_element(value().begin(), value().end()); - - // higher is better, so invert the value - for (unsigned i = 0; i < value().size(); ++i) - { - value()[i] = maxim - value()[i]; - } - - } - - private : - - eoDominanceMap& dominanceMap; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoPerf2Worth.h b/trunk/paradiseo-eo/src/eoPerf2Worth.h deleted file mode 100644 index 35d2f28e3..000000000 --- a/trunk/paradiseo-eo/src/eoPerf2Worth.h +++ /dev/null @@ -1,247 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoPerf2Worth.h - (c) Maarten Keijzer, Marc Schoenauer, 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoPerf2Worth_h -#define eoPerf2Worth_h - -#include -#include -#include - -#include -#include -#include - -/** @brief Base class to transform raw fitnesses into fitness for selection - -@see eoSelectFromWorth -*/ -template -class eoPerf2Worth : public eoUF&, void>, public eoValueParam > -{ -public: - - using eoValueParam >::value; - - /** @brief default constructor */ - eoPerf2Worth(std::string _description = "Worths") - : eoValueParam >(std::vector(0), _description) - {} - - /** Sort population according to worth, will keep the worths and - fitness_cache in sync with the population. */ - virtual void sort_pop(eoPop& _pop) - { // start with a std::vector of indices - std::vector indices(_pop.size()); - - unsigned i; - for (i = 0; i < _pop.size();++i) - { // could use generate, but who cares - indices[i] = i; - } - - std::sort(indices.begin(), indices.end(), compare_worth(value())); - - eoPop tmp_pop; - tmp_pop.resize(_pop.size()); - std::vector tmp_worths(value().size()); - - for (i = 0; i < _pop.size(); ++i) - { - tmp_pop[i] = _pop[indices[i]]; - tmp_worths[i] = value()[indices[i]]; - } - - std::swap(_pop, tmp_pop); - std::swap(value(), tmp_worths); - } - - /** helper class used to sort indices into populations/worths */ - class compare_worth - { - public: - - compare_worth(const std::vector& _worths) : worths(_worths) {} - - bool operator()(unsigned a, unsigned b) const { - return worths[b] < worths[a]; // sort in descending (!) order - } - - private: - - const std::vector& worths; - }; - - - - virtual void resize(eoPop& _pop, unsigned sz) { - _pop.resize(sz); - value().resize(sz); - }; - -}; - -/** -Perf2Worth with fitness cache -*/ -template -class eoPerf2WorthCached : public eoPerf2Worth -{ -public: - - using eoPerf2Worth::value; - - eoPerf2WorthCached(std::string _description = "Worths") : eoPerf2Worth(_description) {} - - - /** - Implementation of the operator(), updating a cache of fitnesses. Calls the virtual function - calculate_worths when one of the fitnesses has changed. It is not virtual, but derived classes - can remove the fitness caching trough the third template element - */ - void operator()(const eoPop& _pop) - { - unsigned i; - if (fitness_cache.size() == _pop.size()) - { - bool in_sync = true; - for (i = 0; i < _pop.size(); ++i) - { - if (fitness_cache[i] != _pop[i].fitness()) - { - in_sync = false; - fitness_cache[i] = _pop[i].fitness(); - } - } - - if (in_sync) - { // worths are up to date - return; - } - } - else // just cache the fitness - { - fitness_cache.resize(_pop.size()); - for (i = 0; i < _pop.size(); ++i) - { - fitness_cache[i] = _pop[i].fitness(); - } - } - - // call derived implementation of perf2worth mapping - calculate_worths(_pop); - } - - /** The actual virtual function the derived classes should implement*/ - virtual void calculate_worths(const eoPop& _pop) = 0; - - /** - Sort population according to worth, will keep the worths and fitness_cache in sync with the population. - */ - virtual void sort_pop(eoPop& _pop) - { // start with a std::vector of indices - std::vector indices(_pop.size()); - - unsigned i; - for (i = 0; i < _pop.size();++i) - { // could use generate, but who cares - indices[i] = i; - } - - std::sort(indices.begin(), indices.end(), compare_worth(value())); - - eoPop tmp_pop; - tmp_pop.resize(_pop.size()); - std::vector tmp_worths(value().size()); - -#ifdef _MSC_VER - std::vector tmp_cache(_pop.size()); -#else - std::vector tmp_cache(_pop.size()); -#endif - for (i = 0; i < _pop.size(); ++i) - { - tmp_pop[i] = _pop[indices[i]]; - tmp_worths[i] = value()[indices[i]]; - - tmp_cache[i] = fitness_cache[indices[i]]; - } - - std::swap(_pop, tmp_pop); - std::swap(value(), tmp_worths); - std::swap(fitness_cache, tmp_cache); - } - - /** helper class used to sort indices into populations/worths - */ - class compare_worth - { - public : - compare_worth(const std::vector& _worths) : worths(_worths) {} - - bool operator()(unsigned a, unsigned b) const - { - return worths[b] < worths[a]; // sort in descending (!) order - } - - private : - - const std::vector& worths; - }; - - virtual void resize(eoPop& _pop, unsigned sz) - { - _pop.resize(sz); - value().resize(sz); - fitness_cache.resize(sz); - } - - private : - std::vector fitness_cache; -}; - - - -/** A dummy perf2worth, just in case you need it */ -template -class eoNoPerf2Worth : public eoPerf2Worth -{ -public: - - using eoValueParam< EOT >::value; - - // default behaviour, just copy fitnesses - void operator()(const eoPop& _pop) { - unsigned i; - value().resize(_pop.size()); - for (i = 0; i < _pop.size(); ++i) - value()[i]=_pop[i]; - } -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/eoPeriodicContinue.h b/trunk/paradiseo-eo/src/eoPeriodicContinue.h deleted file mode 100644 index 7b47af6ea..000000000 --- a/trunk/paradiseo-eo/src/eoPeriodicContinue.h +++ /dev/null @@ -1,63 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -// "eoFreqContinue.h" - -// (c) OPAC Team, LIFL, Feb. 2006 - -/* This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: cahon@lifl.fr -*/ - -#ifndef __eoPeriodicContinue_h -#define __eoPeriodicContinue_h - -#include -#include - -template class eoPeriodicContinue: public eoContinue { - -public: - - /** Constructor. The period is given in parameter. */ - eoPeriodicContinue (unsigned __period, unsigned __init_counter = 0); - - /** It returns 'true' only if the current number of generations modulo - the period doen't equal to zero. */ - bool operator () (const eoPop & pop); - -private: - - unsigned period; - - unsigned counter; - -}; - -template -eoPeriodicContinue :: eoPeriodicContinue (unsigned __period, unsigned __init_counter - ) : period (__period), - counter (__init_counter) { - -} - -template -bool eoPeriodicContinue :: operator () (const eoPop & __pop) { - - return ((++ counter) % period) != 0 ; -} - -#endif - diff --git a/trunk/paradiseo-eo/src/eoPersistent.cpp b/trunk/paradiseo-eo/src/eoPersistent.cpp deleted file mode 100644 index 1c0c52ea7..000000000 --- a/trunk/paradiseo-eo/src/eoPersistent.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include - -//Implementation of these objects - -//----------------------------------------------------------------------------- - -std::istream & operator >> ( std::istream& _is, eoPersistent& _o ) { - _o.readFrom(_is); - return _is; -}; diff --git a/trunk/paradiseo-eo/src/eoPersistent.h b/trunk/paradiseo-eo/src/eoPersistent.h deleted file mode 100644 index 2d4c3eb1a..000000000 --- a/trunk/paradiseo-eo/src/eoPersistent.h +++ /dev/null @@ -1,72 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - - -//----------------------------------------------------------------------------- - -// eoPersistent.h -// (c) GeNeura Team, 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOPERSISTENT_H -#define EOPERSISTENT_H - -/// @name variables Some definitions of variables used throughout the program -//@{ -/// max length to store stuff read -const unsigned MAXLINELENGTH=1024; -//@} - -//----------------------------------------------------------------------------- - -#include // std::istream, std::ostream -#include // para std::string - -//----------------------------------------------------------------------------- -#include "eoPrintable.h" - -//----------------------------------------------------------------------------- -// eoPersistent -//----------------------------------------------------------------------------- -/** -An persistent object that knows how to write (through functions inherited from -#eoPrintable#) and read itself - */ -class eoPersistent: public eoPrintable -{ - public: - /// Virtual dtor. They are needed in virtual class hierarchies. - virtual ~eoPersistent() {} - - /** - * Read object. - * @param _is A std::istream. - * @throw runtime_std::exception If a valid object can't be read. - */ - virtual void readFrom(std::istream& _is) = 0; - -}; - -//----------------------------------------------------------------------------- -///Standard input for all objects in the EO hierarchy -std::istream & operator >> ( std::istream& _is, eoPersistent& _o ); - -#endif - diff --git a/trunk/paradiseo-eo/src/eoPop.h b/trunk/paradiseo-eo/src/eoPop.h deleted file mode 100644 index e9b2db95d..000000000 --- a/trunk/paradiseo-eo/src/eoPop.h +++ /dev/null @@ -1,304 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPop.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOPOP_H -#define _EOPOP_H - -#include -#include -#include // needed for GCC 3.2 -#include - -// EO includes -#include // for eoInit -#include -#include -#include // for shuffle method - -/** A std::vector of EO object, to be used in all algorithms - * (selectors, operators, replacements, ...). - * - * We have no idea if a population can be - * some other thing that a std::vector, but if somebody thinks of it, this concrete - * implementation can be moved to "generic" and an abstract Population - * interface be provided. - * - * The template can be instantiated with anything that accepts a "size" - * and eoInit derived object. in the ctor. - * EOT must also have a copy ctor, since temporaries are created and then - * passed to the eoInit object - */ - -template -class eoPop: public std::vector, public eoObject, public eoPersistent -{ - - public: - - using std::vector::size; - using std::vector::resize; - using std::vector::operator[]; - using std::vector::begin; - using std::vector::end; - - typedef typename EOT::Fitness Fitness; - /** Default ctor. Creates empty pop - */ - eoPop() : std::vector(), eoObject(), eoPersistent() {}; - - /** Ctor for the initialization of chromosomes - - @param _popSize total population size - @param _chromInit Initialization routine, produces EO's, needs to be an eoInit - */ - eoPop( unsigned _popSize, eoInit& _chromInit ) - :std::vector() - { - resize(_popSize); - for ( unsigned i = 0; i < _popSize; i++ ) - { - _chromInit(operator[](i)); - } - }; - - /** appstd::ends random guys at end of pop. - Can be used to initialize it pop is empty - - @param _popSize total population size - @param _chromInit Initialization routine, produces EO's, needs to be an eoInit - */ - void append( unsigned _newPopSize, eoInit& _chromInit ) - { - unsigned oldSize = size(); - if (_newPopSize < oldSize) - { - throw std::runtime_error("New size smaller than old size in pop.append"); - return; - } - if (_newPopSize == oldSize) - return; - resize(_newPopSize); // adjust the size - for ( unsigned i = oldSize; i < _newPopSize; i++ ) - { - _chromInit(operator[](i)); - } - }; - - - /** Ctor from an std::istream; reads the population from a stream, - each element should be in different lines - @param _is the stream - */ - eoPop( std::istream& _is ) :std::vector() { - readFrom( _is ); - } - - /** Empty Dtor */ - virtual ~eoPop() {}; - - - /// helper struct for getting a pointer - struct Ref { const EOT* operator()(const EOT& eot) { return &eot;}}; - /// helper struct for comparing on pointers - struct Cmp { - bool operator()(const EOT* a, const EOT* b) const - { return b->operator<(*a); } - }; - - /** - sort the population. Use this member to sort in order - of descending Fitness, so the first individual is the best! - */ - void sort(void) - { - std::sort(begin(), end(), std::greater()); - } - - /** creates a std::vector pointing to the individuals in descending order */ - void sort(std::vector& result) const - { - result.resize(size()); - - std::transform(begin(), end(), result.begin(), Ref()); - - std::sort(result.begin(), result.end(), Cmp()); - } - - /** - shuffle the population. Use this member to put the population - in random order - */ - void shuffle(void) - { - UF_random_generator gen; - std::random_shuffle(begin(), end(), gen); - } - - /** creates a std::vector pointing to the individuals in random order */ - void shuffle(std::vector& result) const - { - result.resize(size()); - - std::transform(begin(), end(), result.begin(), Ref()); - - UF_random_generator gen; - std::random_shuffle(result.begin(), result.end(), gen); - } - - /** returns an iterator to the best individual DOES NOT MOVE ANYBODY */ - typename eoPop::iterator it_best_element() - { - typename eoPop::iterator it = std::max_element(begin(), end()); - return it; - } - - /** returns an iterator to the best individual DOES NOT MOVE ANYBODY */ - const EOT & best_element() const - { - typename eoPop::const_iterator it = std::max_element(begin(), end()); - return (*it); - } - - /** returns a const reference to the worse individual DOES NOT MOVE ANYBODY */ - const EOT & worse_element() const - { - typename eoPop::const_iterator it = std::min_element(begin(), end()); - return (*it); - } - - /** returns an iterator to the worse individual DOES NOT MOVE ANYBODY */ - typename eoPop::iterator it_worse_element() - { - typename eoPop::iterator it = std::min_element(begin(), end()); - return it; - } - - /** - slightly faster algorithm than sort to find all individuals that are better - than the nth individual. INDIVIDUALS ARE MOVED AROUND in the pop. - */ - typename eoPop::iterator nth_element(int nth) - { - typename eoPop::iterator it = begin() + nth; - std::nth_element(begin(), it, end(), std::greater()); - return it; - } - - struct GetFitness { Fitness operator()(const EOT& _eo) const { return _eo.fitness(); } }; - - /** returns the fitness of the nth element */ - Fitness nth_element_fitness(int which) const - { // probably not the fastest way to do this, but what the heck - - std::vector fitness(size()); - std::transform(begin(), end(), fitness.begin(), GetFitness()); - - typename std::vector::iterator it = fitness.begin() + which; - std::nth_element(fitness.begin(), it, fitness.end(), std::greater()); - return *it; - } - - /** const nth_element function, returns pointers to sorted individuals - * up the the nth - */ - void nth_element(int which, std::vector& result) const - { - - result.resize(size()); - std::transform(begin(), end(), result.begin(), Ref()); - - typename std::vector::iterator it = result.begin() + which; - - std::nth_element(result.begin(), it, result.end(), Cmp()); - } - - /** does STL swap with other pop */ - void swap(eoPop& other) - { - std::swap(static_cast& >(*this), static_cast& >(other)); - } - - /** - * Prints sorted pop but does NOT modify it! - * - * @param _os A std::ostream. - */ - virtual void sortedPrintOn(std::ostream& _os) const - { - std::vector result; - sort(result); - _os << size() << '\n'; - for (unsigned i = 0; i < size(); ++i) - { - _os << *result[i] << std::endl; - } - } - - /** - * Write object. It's called printOn since it prints the object _on_ a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << size() << '\n'; - std::copy( begin(), end(), std::ostream_iterator( _os, "\n") ); - } - - /** @name Methods from eoObject */ - //@{ - /** - * Read object. The EOT class must have a ctor from a stream; - * @param _is A std::istream. - */ - virtual void readFrom(std::istream& _is) - { - size_t sz; - _is >> sz; - - resize(sz); - - for (size_t i = 0; i < sz; ++i) { - operator[](i).readFrom( _is ); - } - } - - /** Inherited from eoObject. Returns the class name. - @see eoObject - */ - virtual std::string className() const {return "eoPop";}; - //@} - - virtual void invalidate() - { - for (unsigned i=0; ioperator[](i).invalidate(); - } - - - protected: - -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoPopAlgo.h b/trunk/paradiseo-eo/src/eoPopAlgo.h deleted file mode 100644 index 3cf40d21e..000000000 --- a/trunk/paradiseo-eo/src/eoPopAlgo.h +++ /dev/null @@ -1,17 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -#ifndef eoPopAlgo_h -#define eoPopAlgo_h - -#include -#include - -/** - For all "population transforming" algos ... - */ - -template class eoPopAlgo : public eoUF &, void> { - -} ; - -#endif diff --git a/trunk/paradiseo-eo/src/eoPopEvalFunc.h b/trunk/paradiseo-eo/src/eoPopEvalFunc.h deleted file mode 100644 index e03279225..000000000 --- a/trunk/paradiseo-eo/src/eoPopEvalFunc.h +++ /dev/null @@ -1,101 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - ------------------------------------------------------------------------------ - eoPopEvalFunc.h - Abstract class for global evaluation of the population - - (c) GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoPopEvalFunc_H -#define eoPopEvalFunc_H - -#include -#include - -/** eoPopEvalFunc: This abstract class is for GLOBAL evaluators - * of a population after variation. - * It takes 2 populations (typically the parents and the offspring) - * and is suppposed to evaluate them alltogether - * - * Basic use: apply an embedded eoEvalFunc to the offspring - * - * Time-varying fitness: apply the embedded eoEvalFunc to both - * offspring and parents - * - * Advanced uses: Co-evolution or "parisian" approach, or ... - * - * Basic parallelization (synchronous standard evolution engine): - * call the slaves and wait for the results - */ -template -class eoPopEvalFunc : public eoBF & , eoPop &, void> -{}; - -///////////////////////////////////////////////////////////// -// eoPopLoopEval -///////////////////////////////////////////////////////////// - -/** eoPopLoopEval: an instance of eoPopEvalFunc that simply applies - * a private eoEvalFunc to all offspring - */ -template -class eoPopLoopEval : public eoPopEvalFunc { -public: - /** Ctor: set value of embedded eoEvalFunc */ - eoPopLoopEval(eoEvalFunc & _eval) : eval(_eval) {} - - /** Do the job: simple loop over the offspring */ - void operator()(eoPop & _parents, eoPop & _offspring) - { - apply(eval, _offspring); - } - -private: - eoEvalFunc & eval; -}; - -///////////////////////////////////////////////////////////// -// eoTimeVaryingLoopEval -///////////////////////////////////////////////////////////// - -/** eoPopLoopEval: an instance of eoPopEvalFunc that simply applies - * a private eoEvalFunc to all offspring AND ALL PARENTS - * as the fitness is supposed here to vary - */ -template -class eoTimeVaryingLoopEval : public eoPopEvalFunc { -public: - /** Ctor: set value of embedded eoEvalFunc */ - eoTimeVaryingLoopEval(eoEvalFunc & _eval) : eval(_eval) {} - - /** Do the job: simple loop over the offspring */ - void operator()(eoPop & _parents, eoPop & _offspring) - { - apply(eval, _parents); - apply(eval, _offspring); - } - -private: - eoEvalFunc & eval; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoPopulator.h b/trunk/paradiseo-eo/src/eoPopulator.h deleted file mode 100644 index 34b4f2360..000000000 --- a/trunk/paradiseo-eo/src/eoPopulator.h +++ /dev/null @@ -1,208 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPopulator.h -// (c) Maarten Keijzer and Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mkeijzer@dhi.dk - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoPopulator_H -#define _eoPopulator_H - -#include -#include - -/** eoPopulator is a helper class for general operators eoGenOp - It is an eoPop but also behaves like an eoPop::iterator - as far as operator* and operator++ are concerned - - See eoGenOp and eoOpContainer -*/ -template -class eoPopulator -{ -public : - - eoPopulator(const eoPop& _src, eoPop& _dest) : dest(_dest), current(dest.end()), src(_src) - { - dest.reserve(src.size()); // we don't know this, but wth. - current = dest.end(); - } - - /** @brief Virtual Constructor */ - virtual ~eoPopulator() {}; - - struct OutOfIndividuals {}; - - /** a populator behaves like an iterator. Hence the operator* - * it returns the current individual -- eventually getting - * a new one through the operator++ if at the end - */ - EOT& operator*(void) - { - if (current == dest.end()) - get_next(); // get a new individual - - return *current; - } - - /** only prefix increment defined - Does not add a new element when at the end, use operator* for that - If not on the end, increment the pointer to the next individual - */ - eoPopulator& operator++() - { - if (current == dest.end()) - { // keep the pointer there - return *this; - } - // else - ++current; - return *this; - } - - /** mandatory for operators that generate more offspring than parents - * if such a thing exists ? - */ - void insert(const EOT& _eo) - { /* not really efficient, but its nice to have */ - current = dest.insert(current, _eo); - } - - /** just to make memory mangement more efficient - */ - void reserve(int how_many) - { - size_t sz = current - dest.begin(); - if (dest.capacity() < dest.size() + how_many) - { - dest.reserve(dest.size() + how_many); - } - - current = dest.begin() + sz; - } - - /** can be useful for operators with embedded selectors - * e.g. your brain and my beauty -type - */ - const eoPop& source(void) { return src; } - - /** Get the offspring population. - Can be useful when you want to do some online niching kind of thing - */ - eoPop& offspring(void) { return dest; } - - typedef unsigned position_type; - - /** this is a direct access container: tell position */ - position_type tellp() { return current - dest.begin(); } - /** this is a direct access container: go to position */ - void seekp(position_type pos) { current = dest.begin() + pos; } - /** no more individuals */ - bool exhausted(void) { return current == dest.end(); } - - /** the pure virtual selection method - will be instanciated in - * eoSeqPopulator and eoSelectivePopulator - */ - virtual const EOT& select() = 0; - -protected: - eoPop& dest; - typename eoPop::iterator current; - const eoPop& src; - -private: - - void get_next() { - if(current == dest.end()) - { // get new individual from derived class select() - dest.push_back(select()); - current = dest.end(); - --current; - return; - } - // else - ++current; - return; - } - -}; - - -/** SeqPopulator: an eoPopulator that sequentially goes through the - population is supposed to be used after a batch select of a whole - bunch or genitors -*/ -template -class eoSeqPopulator : public eoPopulator -{ -public: - - using eoPopulator< EOT >::src; - - eoSeqPopulator(const eoPop& _pop, eoPop& _dest) : - eoPopulator(_pop, _dest), current(0) {} - - /** the select method simply returns next individual in the src pop */ - const EOT& select(void) { - if(current >= eoPopulator< EOT >::src.size()) { - throw OutOfIndividuals(); - } - - const EOT& res = src[current++]; - return res; - } - - -private: - - struct OutOfIndividuals {}; - - unsigned current; -}; - - -/** SelectivePopulator an eoPoplator that uses an eoSelectOne to select guys. -Supposedly, it is passed the initial population. - */ -template -class eoSelectivePopulator : public eoPopulator -{ -public : - - using eoPopulator< EOT >::src; - - eoSelectivePopulator(const eoPop& _pop, eoPop& _dest, eoSelectOne& _sel) - : eoPopulator(_pop, _dest), sel(_sel) - { sel.setup(_pop); }; - - /** the select method actually selects one guy from the src pop */ - const EOT& select() { - return sel(src); - } - - -private: - - eoSelectOne& sel; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoPrintable.cpp b/trunk/paradiseo-eo/src/eoPrintable.cpp deleted file mode 100644 index c90e6424b..000000000 --- a/trunk/paradiseo-eo/src/eoPrintable.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -//----------------------------------------------------------------------------- -// eoPrintable.cpp -//----------------------------------------------------------------------------- - -#include - -//----------------------------------------------------------------------------- -//Implementation of these objects -//----------------------------------------------------------------------------- - -std::ostream & operator << ( std::ostream& _os, const eoPrintable& _o ) { - _o.printOn(_os); - return _os; -}; - -//----------------------------------------------------------------------------- - diff --git a/trunk/paradiseo-eo/src/eoPrintable.h b/trunk/paradiseo-eo/src/eoPrintable.h deleted file mode 100644 index 256383dc6..000000000 --- a/trunk/paradiseo-eo/src/eoPrintable.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPrintable.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOPRINTABLE_H -#define EOPRINTABLE_H - -//----------------------------------------------------------------------------- - -#include // std::istream, std::ostream -#include // para std::string - -//----------------------------------------------------------------------------- -// eoPrintable -//----------------------------------------------------------------------------- -/** -Base class for objects that can print themselves -(#printOn#). Besides, this file defines the standard output for all the objects; -if the objects define printOn there's no need to define #operator <<#.\\ -This functionality was separated from eoObject, since it makes no sense to print -some objects (for instance, a #eoFactory# or a random number generator. - */ -class eoPrintable -{ - public: - /// Virtual dtor. They are needed in virtual class hierarchies. - virtual ~eoPrintable() {} - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const = 0; -}; - -//----------------------------------------------------------------------------- -///Standard output for all objects in the EO hierarchy -std::ostream & operator << ( std::ostream& _os, const eoPrintable& _o ); - -#endif - diff --git a/trunk/paradiseo-eo/src/eoPropGAGenOp.h b/trunk/paradiseo-eo/src/eoPropGAGenOp.h deleted file mode 100644 index e4305e29c..000000000 --- a/trunk/paradiseo-eo/src/eoPropGAGenOp.h +++ /dev/null @@ -1,87 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPropGAGenOp.h -// (c) Marc.Schoenauer 2005 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoPropGAGenOp_h -#define _eoPropGAGenOp_h - -#include "eoGenOp.h" -#include "eoInvalidateOps.h" -/////////////////////////////////////////////////////////////////////////////// -// class eoSGAGenOp -/////////////////////////////////////////////////////////////////////////////// - -/** *************************************************************************** - * eoPropGAGenOp (for Simple GA, but Proportional) - * choice between Crossover, mutation or cloining - * with respect to given relatve weights - *****************************************************************************/ -template -class eoPropGAGenOp : public eoGenOp -{ - public: - - /** Ctor from - * * weight of clone - * * crossover (with weight) - * * mutation (with weight) - */ - eoPropGAGenOp(double _wClone, eoQuadOp& _cross, double _wCross, - eoMonOp& _mut, double _wMut) - : wClone(_wClone), - cross(_cross), - wCross(_wCross), - mut(_mut), - wMut(_wMut) - { - propOp.add(cross, wCross); // the crossover - with weight wCross - propOp.add(mut, wMut); // mutation with weight wMut - propOp.add(monClone, wClone); - } - - /** do the job: delegate to op */ - virtual void apply(eoPopulator& _pop) - { - propOp.apply(_pop); - } - - /** inherited from eoGenOp */ - virtual unsigned max_production(void) {return 2;} - - virtual std::string className() const {return "eoPropGAGenOp";} - - - private: - double wClone; - eoQuadOp ✗ // eoInvalidateXXX take the boolean output - double wCross; - eoMonOp & mut; // of the XXX op and invalidate the EOT - double wMut; - eoProportionalOp propOp; - eoMonCloneOp monClone; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoProportionalCombinedOp.h b/trunk/paradiseo-eo/src/eoProportionalCombinedOp.h deleted file mode 100644 index 8a30d368d..000000000 --- a/trunk/paradiseo-eo/src/eoProportionalCombinedOp.h +++ /dev/null @@ -1,210 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- -//----------------------------------------------------------------------------- -// eoCombinedOp.h -// (c) GeNeura Team, 1998, Marc Schoenauer, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoCombinedOp_H -#define _eoCombinedOp_H - -#include -#include -#include -#include -#include -/** -\defgroup PropCombinedOperators -Combination of same-type Genetic Operators - Proportional choice -*/ - -/** @name PropCombined Genetic operators - -This files contains the classes eoPropCombinedXXXOp (XXX in {Mon, Bin, Quad}) -that allow to use more than a single operator of a specific class -into an algorithm, chosing by a roulette wheel based on user-defined rates - -@author Marc Schoenauer -@version 0.1 -*/ - - -////////////////////////////////////////////////////// -//// combined MonOp -////////////////////////////////////////////////////// - -/** eoMonOp is the monary operator: genetic operator that takes only one EO - - * now accepts generic operators -*/ - -template -class eoPropCombinedMonOp: public eoMonOp -{ -public: - /// Ctor from a "true" operator - eoPropCombinedMonOp(eoMonOp & _first, const double _rate) - { - ops.push_back(&_first); - rates.push_back(_rate); - } - - virtual std::string className() const { return "eoPropCombinedMonOp"; } - - virtual void add(eoMonOp & _op, const double _rate, bool _verbose=false) - { - ops.push_back(&_op); - rates.push_back(_rate); - // compute the relative rates in percent - to warn the user! - if (_verbose) - printOn(std::cout); - } - - // outputs the operators and percentages - virtual void printOn(std::ostream & _os) - { - double total = 0; - unsigned i; - for (i=0; iclassName() << " with rate " << 100*rates[i]/total << " %\n"; - } - - virtual bool operator()(EOT & _indi) - { - unsigned what = rng.roulette_wheel(rates); // choose one op - return (*ops[what])(_indi); // apply it - } -protected: -std::vector*> ops; -std::vector rates; -}; - -////////////////////////////////////////////////////// -//// combined BinOp -////////////////////////////////////////////////////// - -/** COmbined Binary genetic operator: - * operator() has two operands, only the first one can be modified - */ -template -class eoPropCombinedBinOp: public eoBinOp -{ -public: - /// Ctor - eoPropCombinedBinOp(eoBinOp & _first, const double _rate) - { - ops.push_back(&_first); - rates.push_back(_rate); - } - -virtual std::string className() const { return "eoPropCombinedBinOp"; } - -virtual void add(eoBinOp & _op, const double _rate, bool _verbose=false) - { - ops.push_back(&_op); - rates.push_back(_rate); - // compute the relative rates in percent - to warn the user! - if (_verbose) - { - double total = 0; - unsigned i; - for (i=0; iclassName() << " with rate " << 100*rates[i]/total << " %\n"; - } - } - - virtual void operator()(EOT & _indi1, const EOT & _indi2) - { - unsigned what = rng.roulette_wheel(rates); // choose one op index - return (*ops[what])(_indi1, _indi2); // apply it - } -private: -std::vector*> ops; -std::vector rates; -}; - - -////////////////////////////////////////////////////// -//// combined QuadOp -////////////////////////////////////////////////////// - -/** Quad genetic operator: subclasses eoOp, and defines basically the - operator() with two operands, both can be modified. -*/ -/** Combined quad genetic operator: - * operator() has two operands, both can be modified - - * generic operators are now allowed: there are imbedded into - * the corresponding "true" operator - */ -template -class eoPropCombinedQuadOp: public eoQuadOp -{ -public: - /// Ctor from a true operator - eoPropCombinedQuadOp(eoQuadOp & _first, const double _rate) - { - ops.push_back(&_first); - rates.push_back(_rate); - } - -virtual std::string className() const { return "eoPropCombinedQuadOp"; } - - // addition of a true operator -virtual void add(eoQuadOp & _op, const double _rate, bool _verbose=false) - { - ops.push_back(&_op); - rates.push_back(_rate); - // compute the relative rates in percent - to warn the user! - if (_verbose) - printOn(std::cout); - } - - // outputs the operators and percentages - virtual void printOn(std::ostream & _os) - { - double total = 0; - unsigned i; - for (i=0; iclassName() << " with rate " << 100*rates[i]/total << " %\n"; - } - - virtual bool operator()(EOT & _indi1, EOT & _indi2) - { - unsigned what = rng.roulette_wheel(rates); // choose one op index - return (*ops[what])(_indi1, _indi2); // apply it - } -private: -std::vector*> ops; -std::vector rates; -}; - - -// for General Ops, it's another story - see eoOpCOntainer -#endif - diff --git a/trunk/paradiseo-eo/src/eoProportionalSelect.h b/trunk/paradiseo-eo/src/eoProportionalSelect.h deleted file mode 100755 index 8c01b7503..000000000 --- a/trunk/paradiseo-eo/src/eoProportionalSelect.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoProportionalSelect.h -// (c) GeNeura Team, 1998 - EEAAX 1999, Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoProportionalSelect_h -#define eoProportionalSelect_h - -//----------------------------------------------------------------------------- - -#include -#include -#include -#include -//----------------------------------------------------------------------------- -/** eoProportionalSelect: select an individual proportional to her stored fitness - value - - Changed the algorithm to make use of a cumulative array of fitness scores, - This changes the algorithm from O(n) per call to O(log n) per call. (MK) -*/ -//----------------------------------------------------------------------------- - -template class eoProportionalSelect: public eoSelectOne -{ -public: - /// Sanity check - eoProportionalSelect(const eoPop& pop = eoPop()) - { - if (minimizing_fitness()) - throw std::logic_error("eoProportionalSelect: minimizing fitness"); - } - - void setup(const eoPop& _pop) - { - if (_pop.size() == 0) return; - - cumulative.resize(_pop.size()); - cumulative[0] = _pop[0].fitness(); - - for (unsigned i = 1; i < _pop.size(); ++i) - { - cumulative[i] = _pop[i].fitness() + cumulative[i-1]; - } - } - - /** do the selection, - */ - const EOT& operator()(const eoPop& _pop) - { - if (cumulative.size() == 0) setup(_pop); - - double fortune = rng.uniform() * cumulative.back(); - typename FitVec::iterator result = std::upper_bound(cumulative.begin(), cumulative.end(), fortune); - return _pop[result - cumulative.begin()]; - } - -private : - - typedef std::vector FitVec; - FitVec cumulative; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoRandomSelect.h b/trunk/paradiseo-eo/src/eoRandomSelect.h deleted file mode 100644 index 6569207b7..000000000 --- a/trunk/paradiseo-eo/src/eoRandomSelect.h +++ /dev/null @@ -1,98 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoRandomSelect.h -// (c) GeNeura Team, 1998 - EEAAX 1999, Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoRandomSelect_h -#define eoRandomSelect_h - -//----------------------------------------------------------------------------- -/** This file contains straightforward selectors: - * eoRandomSelect returns an individual uniformly selected - * eoBestSelect always return the best individual - * eoSequentialSelect returns all individuals in turn - */ - -#include -#include - -//----------------------------------------------------------------------------- -/** eoRandomSelect: a selection method that selects ONE individual randomly */ -//----------------------------------------------------------------------------- - -template class eoRandomSelect: public eoSelectOne -{ - public: - - /// not a big deal!!! - virtual const EOT& operator()(const eoPop& _pop) - { - return _pop[eo::rng.random(_pop.size())] ; - } -}; - -//----------------------------------------------------------------------------- -/** eoBestSelect: a selection method that always return the best - * (mainly for testing purposes) */ -//----------------------------------------------------------------------------- - -template class eoBestSelect: public eoSelectOne -{ - public: - - /// not a big deal!!! - virtual const EOT& operator()(const eoPop& _pop) - { - return _pop.best_element() ; - } -}; - -//----------------------------------------------------------------------------- -/** eoNoSelect: returns all individual in order WITHOUT USING FITNESS!!! - * looping back to the beginning when exhasuted - * - */ -//----------------------------------------------------------------------------- - -template class eoNoSelect: public eoSelectOne -{ - public: - /** Ctor - */ - eoNoSelect(): current(0) {} - - virtual const EOT& operator()(const eoPop& _pop) - { - if (current >= _pop.size()) - current=0; - - current++; - return _pop[current-1] ; - } -private: - unsigned current; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoRanking.h b/trunk/paradiseo-eo/src/eoRanking.h deleted file mode 100644 index def90dd81..000000000 --- a/trunk/paradiseo-eo/src/eoRanking.h +++ /dev/null @@ -1,110 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoRanking.h - (c) Maarten Keijzer, Marc Schoenauer, 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoRanking_h -#define eoRanking_h - -#include - -/** An instance of eoPerfFromWorth - * COmputes the ranked fitness: fitnesses range in [m,M] - * with m=2-pressure/popSize and M=pressure/popSize. - * in between, the progression depstd::ends on exponent (linear if 1). - */ -template -class eoRanking : public eoPerf2Worth // false: do not cache fitness -{ -public: - - using eoPerf2Worth::value; - - /* Ctor: - @param _p selective pressure (in (1,2] - @param _e exponent (1 == linear) - */ - eoRanking(double _p=2.0, double _e=1.0): - pressure(_p), exponent(_e) {} - - /* helper function: finds index in _pop of _eo, an EOT * */ - int lookfor(const EOT *_eo, const eoPop& _pop) - { - typename eoPop::const_iterator it; - for (it=_pop.begin(); it<_pop.end(); it++) - { - if (_eo == &(*it)) - return it-_pop.begin(); - } - throw std::runtime_error("Not found in eoLinearRanking"); - } - - /* COmputes the ranked fitness: fitnesses range in [m,M] - with m=2-pressure/popSize and M=pressure/popSize. - in between, the progression depstd::ends on exponent (linear if 1). - */ - virtual void operator()(const eoPop& _pop) - { - std::vector rank; - _pop.sort(rank); - unsigned pSize =_pop.size(); - unsigned int pSizeMinusOne = pSize-1; - - if (pSize <= 1) - throw std::runtime_error("Cannot do ranking with population of size <= 1"); - - // value() refers to the std::vector of worthes (we're in an eoParamvalue) - value().resize(pSize); - - double beta = (2-pressure)/pSize; - if (exponent == 1.0) // no need for exponetial then - { - double alpha = (2*pressure-2)/(pSize*pSizeMinusOne); - for (unsigned i=0; i 1/[P(P-1)/2] - } - } - else // exponent != 1 - { - double gamma = (2*pressure-2)/pSize; - for (unsigned i=0; i -#include - -/** eoRankingSelect: select an individual by roulette wheel on its rank - * is an eoRouletteWorthSelect, i.e. a selector using a std::vector of worthes - * rather than the raw fitness (see eoSelectFromWorth.h) - * uses an internal eoRanking object which is an eoPerf2Worth -*/ - -template -class eoRankingSelect: public eoRouletteWorthSelect -{ -public: - /** Ctor: - * @param _p the selective pressure, should be in [1,2] (2 is the default) - * @param _e exponent (1 == linear) - */ - eoRankingSelect(double _p = 2.0, double _e=1.0): - eoRouletteWorthSelect(ranking), ranking(_p, _e) {} - -private : - eoRanking ranking; // derived from eoPerf2Worth -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoReduce.h b/trunk/paradiseo-eo/src/eoReduce.h deleted file mode 100644 index 53d8e427f..000000000 --- a/trunk/paradiseo-eo/src/eoReduce.h +++ /dev/null @@ -1,288 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoReduce.h -// Base class for population-merging classes -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoReduce_h -#define eoReduce_h - -//----------------------------------------------------------------------------- - -#include - -// EO includes -#include // eoPop -#include // eoReduce -#include - -/** - * eoReduce: .reduce the new generation to the specified size - At the moment, limited to truncation - with 2 different methods, - one that sorts the whole population, and one that repeatidely kills - the worst. Ideally, we should be able to choose at run-time!!! -*/ - -template class eoReduce: public eoBF&, unsigned, void> -{}; - -/** truncation method using sort */ -template class eoTruncate : public eoReduce -{ - void operator()(eoPop& _newgen, unsigned _newsize) - { - if (_newgen.size() == _newsize) - return; - if (_newgen.size() < _newsize) - throw std::logic_error("eoTruncate: Cannot truncate to a larger size!\n"); - - _newgen.nth_element(_newsize); - _newgen.resize(_newsize); - } -}; - -/** random truncation */ -template class eoRandomReduce : public eoReduce -{ - void operator()(eoPop& _newgen, unsigned _newsize) - { - if (_newgen.size() == _newsize) - return; - if (_newgen.size() < _newsize) - throw std::logic_error("eoRandomReduce: Cannot truncate to a larger size!\n"); - - // shuffle the population, then trucate - _newgen.shuffle(); - _newgen.resize(_newsize); - } -}; - -/** -EP truncation method (some global stochastic tournament + sort) -Softer selective pressure than pure truncate -*/ -template class eoEPReduce : public eoReduce -{ -public: -typedef typename EOT::Fitness Fitness; - - eoEPReduce(unsigned _t_size ): - t_size(_t_size) - { - if (t_size < 2) - { - std::cout << "Warning: EP tournament size should be >= 2. Adjusted" << std::endl; - t_size = 2; - } - } - - /// helper struct for comparing on std::pairs - // compares the scores - // uses the fitness if scores are equals ???? - typedef std::pair::iterator> EPpair; - struct Cmp { - bool operator()(const EPpair a, const EPpair b) const - { - if (b.first == a.first) - return (*b.second < *a.second); - return b.first < a.first; - } - }; - - - void operator()(eoPop& _newgen, unsigned _newsize) - { - unsigned int presentSize = _newgen.size(); - - if (presentSize == _newsize) - return; - if (presentSize < _newsize) - throw std::logic_error("eoTruncate: Cannot truncate to a larger size!\n"); - std::vector scores(presentSize); - for (unsigned i=0; i competitor.fitness()) - scores[i].first += 1; - else if (fit == competitor.fitness()) - scores[i].first += 0.5; - } - } - - // now we have the scores - typename std::vector::iterator it = scores.begin() + _newsize; - std::nth_element(scores.begin(), it, scores.end(), Cmp()); - // sort(scores.begin(), scores.end(), Cmp()); - unsigned j; -// std::cout << "Les scores apres tri\n"; -// for (j=0; j tmPop; - for (j=0; j<_newsize; j++) - { - tmPop.push_back(*scores[j].second); - } - _newgen.swap(tmPop); - // erase does not work, but I'm sure there is a way in STL to mark - // and later delete all inside a std::vector ?????? - // this would avoid all copies here - -// it = scores.begin() + _newsize; -// while (it < scores.end()) -// _newgen.erase(it->second); - } -private: - unsigned t_size; -}; - -/** a truncate class that does not sort, but repeatidely kills the worse. -To be used in SSGA-like replacements (e.g. see eoSSGAWorseReplacement) -*/ -template -class eoLinearTruncate : public eoReduce -{ - void operator()(eoPop& _newgen, unsigned _newsize) - { - unsigned oldSize = _newgen.size(); - if (oldSize == _newsize) - return; - if (oldSize < _newsize) - throw std::logic_error("eoLinearTruncate: Cannot truncate to a larger size!\n"); - for (unsigned i=0; i::iterator it = _newgen.it_worse_element(); - _newgen.erase(it); - } - } -}; - -/** a truncate class based on a repeated deterministic (reverse!) tournament -To be used in SSGA-like replacements (e.g. see eoSSGADetTournamentReplacement) -*/ -template -class eoDetTournamentTruncate : public eoReduce -{ -public: - eoDetTournamentTruncate(unsigned _t_size): - t_size(_t_size) - { - if (t_size < 2) - { - std::cout << "Warning, Size for eoDetTournamentTruncate adjusted to 2\n"; - t_size = 2; - } - } - - void operator()(eoPop& _newgen, unsigned _newsize) - { - unsigned oldSize = _newgen.size(); - if (_newsize == 0) - { - _newgen.resize(0); - return; - } - if (oldSize == _newsize) - return; - if (oldSize < _newsize) - throw std::logic_error("eoDetTournamentTruncate: Cannot truncate to a larger size!\n"); - - // Now OK to erase some losers - for (unsigned i=0; i(_newgen, t_size); - //OLDCODE _newgen.erase(&eo); - - // Jeroen Eggermont stdc++v3 patch - // in the new code from stdc++v3 an iterator from a container is no longer an pointer to T - // Because eo already contained a fuction using eoPop::iterator's we will use the following - - _newgen.erase( inverse_deterministic_tournament(_newgen.begin(), _newgen.end(), t_size) ); - - } - } -private: - unsigned t_size; -}; - -/** a truncate class based on a repeated deterministic (reverse!) tournament -To be used in SSGA-like replacements (e.g. see eoSSGAStochTournamentReplacement) -*/ -template -class eoStochTournamentTruncate : public eoReduce -{ -public: - eoStochTournamentTruncate(double _t_rate): - t_rate(_t_rate) - { - if (t_rate <= 0.5) - { - std::cout << "Warning, Rate for eoStochTournamentTruncate adjusted to 0.51\n"; - t_rate = 0.51; - } - if (t_rate > 1) - { - std::cout << "Warning, Rate for eoStochTournamentTruncate adjusted to 1\n"; - t_rate = 1; - } - } - - void operator()(eoPop& _newgen, unsigned _newsize) - { - unsigned oldSize = _newgen.size(); - if (_newsize == 0) - { - _newgen.resize(0); - return; - } - if (oldSize == _newsize) - return; - if (oldSize < _newsize) - throw std::logic_error("eoStochTournamentTruncate: Cannot truncate to a larger size!\n"); - // Now OK to erase some losers - for (unsigned i=0; i(_newgen, t_rate); - //OLDCODE _newgen.erase(&eo); - - // Jeroen Eggermont stdc++v3 patch - // in the new code from stdc++v3 an iterator from a container is no longer an pointer to T - // Because eo already contained a fuction using eoPop::iterator's we will use the following - - _newgen.erase( inverse_stochastic_tournament(_newgen.begin(), _newgen.end(), t_rate) ); - - - } - } - -private: - double t_rate; -}; - -//----------------------------------------------------------------------------- - -#endif diff --git a/trunk/paradiseo-eo/src/eoReduceMerge.h b/trunk/paradiseo-eo/src/eoReduceMerge.h deleted file mode 100644 index 52088cd00..000000000 --- a/trunk/paradiseo-eo/src/eoReduceMerge.h +++ /dev/null @@ -1,119 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoReduceMerge.h - (c) Maarten Keijzer, Marc Schoenauer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoReduceMerge_h -#define _eoReduceMerge_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -#include -//----------------------------------------------------------------------------- - - -/** -eoReduceMerge: Replacement strategies that start by reducing the parents, - then merge with the offspring - -This is the way to do SSGA: the offspring gets inserted in the population -even if it is worse than anybody else. - -@classes: eoReduceMerge, eoSSGAWorseReplacement, - eoSSGADetTournamentReplacement, eoSSGAStochTournamentReplacement -*/ - -template -class eoReduceMerge : public eoReplacement -{ - public: - eoReduceMerge(eoReduce& _reduce, eoMerge& _merge) : - reduce(_reduce), merge(_merge) - {} - - void operator()(eoPop& _parents, eoPop& _offspring) - { - if (_parents.size() < _offspring.size()) - throw std::logic_error("eoReduceMerge: More offspring than parents!\n"); - reduce(_parents, _parents.size() - _offspring.size()); - merge(_offspring, _parents); - } - - private : - eoReduce& reduce; - eoMerge& merge; -}; - -/** -SSGA replace worst. Is an eoReduceMerge. -*/ -template -class eoSSGAWorseReplacement : public eoReduceMerge -{ - public : - eoSSGAWorseReplacement() : eoReduceMerge(truncate, plus) {} - - private : - eoLinearTruncate truncate; - eoPlus plus; -}; - -/** -SSGA deterministic tournament replacement. Is an eoReduceMerge. -*/ -template -class eoSSGADetTournamentReplacement : public eoReduceMerge -{ - public : - eoSSGADetTournamentReplacement(unsigned _t_size) : - eoReduceMerge(truncate, plus), truncate(_t_size) {} - - private : - eoDetTournamentTruncate truncate; - eoPlus plus; -}; - -/** SSGA stochastic tournament replacement. Is an eoReduceMerge. -It much cleaner to insert directly the offspring in the parent population, -but it is NOT equivalent in case of more than 1 offspring as already -replaced could be removed , which is not possible in the eoReduceMerge -So what the heck ! */ -template -class eoSSGAStochTournamentReplacement : public eoReduceMerge -{ - public : - eoSSGAStochTournamentReplacement(double _t_rate) : - eoReduceMerge(truncate, plus), truncate(_t_rate) {} - - private : - eoStochTournamentTruncate truncate; - eoPlus plus; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoReduceMergeReduce.h b/trunk/paradiseo-eo/src/eoReduceMergeReduce.h deleted file mode 100644 index 05854ea76..000000000 --- a/trunk/paradiseo-eo/src/eoReduceMergeReduce.h +++ /dev/null @@ -1,143 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoReduceMergeReduce.h - (c) Maarten Keijzer, Marc Schoenauer, 2002 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoReduceMergeReduce_h -#define _eoReduceMergeReduce_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** -eoReduceMergeReduce is an eoReplacement: -- saves possible elite parents -- reduces rest of parents -- reduces offspring -- merges reduced populations -- reduces resulting merged pop if necessary - -*/ - -template -class eoReduceMergeReduce : public eoReplacement -{ -public: - eoReduceMergeReduce(eoHowMany _howManyElite, - bool _strongElitism, - eoHowMany _howManyReducedParents, - eoReduce & _reduceParents, - eoHowMany _howManyReducedOffspring, - eoReduce & _reduceOffspring, - eoReduce & _reduceFinal) : - howManyElite(_howManyElite), - strongElitism(_strongElitism), - howManyReducedParents(_howManyReducedParents), - howManyReducedOffspring (_howManyReducedOffspring), - reduceParents(_reduceParents), - reduceOffspring(_reduceOffspring), - reduceFinal(_reduceFinal) - {} - - void operator()(eoPop & _parents, eoPop & _offspring) - { - eoPop temp; - unsigned int finalPopSize = _parents.size(); - unsigned int offSize = _offspring.size(); - - unsigned int elite = howManyElite(finalPopSize); - if (elite) // some parents MUST be saved somewhere - { - temp.resize(elite); - _parents.nth_element(elite); - std::copy(_parents.begin(), _parents.begin()+elite, temp.begin()); - _parents.erase(_parents.begin(), _parents.begin()+elite); - } - - // the reduce steps. First the parents - unsigned reducedParentSize = howManyReducedParents(_parents.size()); - if (!reducedParentSize) - _parents.clear(); - else if (reducedParentSize != _parents.size()) - reduceParents(_parents, reducedParentSize); - - // then the offspring - unsigned reducedOffspringSize = howManyReducedOffspring(offSize); - if (!reducedOffspringSize) - throw std::runtime_error("No offspring left after reduction!"); - if (reducedOffspringSize != offSize) // need reduction - reduceOffspring(_offspring, reducedOffspringSize); - - // now merge reduced populations - _parents.resize(reducedParentSize + _offspring.size()); - std::copy(_offspring.begin(), _offspring.end(), - _parents.begin()+reducedParentSize); - - // reduce the resulting population - // size depstd::ends on elitism - if (elite && strongElitism) - { - if (_parents.size() != finalPopSize-elite) - reduceFinal(_parents, finalPopSize-elite); - // and put back the elite - unsigned oldPSize = _parents.size(); - _parents.resize(_parents.size()+elite); - std::copy(temp.begin(), temp.end(), _parents.begin()+oldPSize); - } - else - { // only reduce final pop to right size - if (_parents.size() != finalPopSize) - reduceFinal(_parents, finalPopSize); - if (elite) // then treat weak elitism - { - unsigned toSave = 0; - _parents.sort(); - EOT & eoLimit = _parents[elite-1]; - unsigned index=0; - while ( (temp[index++] > eoLimit) && (index < temp.size()) ) - toSave++; - if (toSave) - for (unsigned i=0; i weak estd::listism - eoHowMany howManyReducedParents; // if 0, no parent in final replacement - eoHowMany howManyReducedOffspring; // if 0, std::runtime_error - // the reducers - eoReduce & reduceParents; - eoReduce & reduceOffspring; - eoReduce & reduceFinal; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoReduceSplit.h b/trunk/paradiseo-eo/src/eoReduceSplit.h deleted file mode 100644 index 62a6f142f..000000000 --- a/trunk/paradiseo-eo/src/eoReduceSplit.h +++ /dev/null @@ -1,323 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoReduceSplit.h -// Base class for population-reducing classes - retaining the poor losers -// (c) GeNeura Team, 1998, Marc Schoenauer, 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - */ -//----------------------------------------------------------------------------- - -#ifndef eoReduceSplit_h -#define eoReduceSplit_h - -//----------------------------------------------------------------------------- - -#include - -// EO includes -#include // eoPop -#include // eoReduce -#include - -/** - * eoReduceSplit: reduce the pop to the specified size - * AND eventually returns the eliminated guys -*/ -template class eoReduceSplit: public eoBF&, eoPop &, void > -{}; - -/** deterministic truncation method using sort */ -template -class eoTruncateSplit : public eoReduceSplit -{ -public: - /** Ctor: must provide amount of reduction, - and whether or not you need to return the eliminated guys - */ - eoTruncateSplit(eoHowMany _howMany, bool _returnEliminated = false): - howMany(_howMany), returnEliminated(_returnEliminated) {} - - /** do the jonb */ - void operator()(eoPop& _newgen, eoPop & _eliminated) - { - unsigned popSize = _newgen.size(); - unsigned eliminated = howMany(popSize); - if (!eliminated) // nothing to do - return ; - unsigned newsize = popSize - eliminated; - if (newsize < 0) - throw std::logic_error("eoTruncateSplit: Cannot truncate to a larger size!\n"); - - _newgen.nth_element(newsize); - - // save poor losers if necessary - if (returnEliminated) - for (unsigned i=0; i -class eoLinearTruncateSplit : public eoReduceSplit -{ -public: - /** Ctor: must provide amount of reduction, - and whether or not you need to return the eliminated guys - */ - eoLinearTruncateSplit(eoHowMany _howMany, bool _returnEliminated = false): - howMany(_howMany), returnEliminated(_returnEliminated) {} - - /** do the job */ - void operator()(eoPop& _newgen, eoPop & _eliminated) - { - unsigned popSize = _newgen.size(); - unsigned eliminated = howMany(popSize); - if (!eliminated) // nothing to do - return ; - unsigned newsize = popSize - eliminated; - if (newsize < 0) - throw std::logic_error("eoLinearTruncateSplit: Cannot truncate to a larger size!\n"); - - _eliminated.reserve(_eliminated.size()+eliminated); //in case not empty? - for (unsigned i=0; i::iterator it = _newgen.it_worse_element(); - if (returnEliminated) - _eliminated.push_back(*it); - _newgen.erase(it); - } - } - -private: - eoHowMany howMany; - bool returnEliminated; -}; - -/** random truncation - batch version */ -template -class eoRandomSplit : public eoReduceSplit -{ -public: - /** Ctor: must provide amount of reduction, - and whether or not you need to return the eliminated guys - */ - eoRandomSplit(eoHowMany _howMany, bool _returnEliminated = false): - howMany(_howMany), returnEliminated(_returnEliminated) {} - - /** do the job */ - void operator()(eoPop& _newgen, eoPop & _eliminated) - { - unsigned popSize = _newgen.size(); - unsigned eliminated = howMany(popSize); - if (!eliminated) // nothing to do - return ; - unsigned newsize = popSize - eliminated; - if (newsize < 0) - throw std::logic_error("eoRandomSplit: Cannot truncate to a larger size!\n"); - - _newgen.shuffle(); - - // save poor losers if necessary - if (returnEliminated) - for (unsigned i=0; i -class eoLinearRandomSplit : public eoReduceSplit -{ -public: - /** Ctor: must provide amount of reduction, - and whether or not you need to return the eliminated guys - */ - eoLinearRandomSplit(eoHowMany _howMany, bool _returnEliminated = false): - howMany(_howMany), returnEliminated(_returnEliminated) {} - - /** do the job */ - void operator()(eoPop& _newgen, eoPop & _eliminated) - { - unsigned popSize = _newgen.size(); - unsigned eliminated = howMany(popSize); - if (!eliminated) // nothing to do - return ; - unsigned newsize = popSize - eliminated; - if (newsize < 0) - throw std::logic_error("eoLinearRandomSplit: Cannot truncate to a larger size!\n"); - - _eliminated.reserve(_eliminated.size()+eliminated); //in case not empty? - for (unsigned i=0; i::iterator it = _newgen.begin()+loser; - if (returnEliminated) - _eliminated.push_back(*it); - _newgen.erase(it); - } - return ; - } - -private: - eoHowMany howMany; - bool returnEliminated; -}; - - -/** a ReduceSplit class based on a repeated deterministic (reverse!) tournament -To be used in SSGA-like replacements (e.g. see eoSSGADetTournamentReplacement) -*/ -template -class eoDetTournamentTruncateSplit : public eoReduceSplit -{ -public: - /** Ctor: must provide amount of reduction, - and whether or not you need to return the eliminated guys - */ - eoDetTournamentTruncateSplit(unsigned _t_size, eoHowMany _howMany, - bool _returnEliminated = false): - t_size(_t_size), howMany(_howMany), - returnEliminated(_returnEliminated) - { - if (t_size < 2) - { - std::cout << "Warning, Size for eoDetTournamentTruncateSplit adjusted to 2\n"; - t_size = 2; - } - } - - /** Performs repeated inverse_deterministic_tournament on the pop */ - void operator()(eoPop& _newgen, eoPop & _eliminated) - // BUG??? void operator()(eoPop& _newgen, unsigned _newsize) - { - unsigned popSize = _newgen.size(); - unsigned eliminated = howMany(popSize); - if (!eliminated) // nothing to do - return ; - unsigned newsize = popSize - eliminated; - if (newsize < 0) - throw std::logic_error("eoDetTournamentTruncateSplit: Cannot truncate to a larger size!\n"); - - - _eliminated.reserve(_eliminated.size()+eliminated); //in case not empty? - for (unsigned i=0; i::iterator it = inverse_deterministic_tournament(_newgen.begin(), _newgen.end(), t_size); - if (returnEliminated) - _eliminated.push_back(*it); - _newgen.erase(it); - } - } - -private: - unsigned t_size; - eoHowMany howMany; - bool returnEliminated; -}; - -/** a ReduceSplit class based on a repeated deterministic (reverse!) tournament -To be used in SSGA-like replacements (e.g. see eoSSGAStochTournamentReplacement) -*/ -template -class eoStochTournamentTruncateSplit : public eoReduce -{ -public: - /** Ctor: must provide amount of reduction, - and whether or not you need to return the eliminated guys - */ - eoStochTournamentTruncateSplit(double _t_rate, eoHowMany _howMany, - bool _returnEliminated = false): - t_rate(_t_rate), howMany(_howMany), - returnEliminated(_returnEliminated) - { - if (t_rate <= 0.5) - { - std::cout << "Warning, Rate for eoStochTournamentTruncateSplit adjusted to 0.51\n"; - t_rate = 0.51; - } - if (t_rate > 1) - { - std::cout << "Warning, Rate for eoStochTournamentTruncateSplit adjusted to 1\n"; - t_rate = 1; - } - } - - /** Performs repeated inverse_stochastic_tournament on the pop */ - void operator()(eoPop& _newgen, eoPop & _eliminated) - //BUG??? void operator()(eoPop& _newgen, unsigned _newsize) - { - /* old version - if (!_eliminated.size()) // nothing to do - return; - unsigned oldSize = _newgen.size(); - unsigned newSize = oldSize - _eliminated.size(); - unsigned eliminated = howMany(popSize); - if (newSize < 0) - throw std::logic_error("eoStochTournamentTruncateSplit: Cannot truncate to a larger size!\n"); - -end of old version */ - - unsigned popSize = _newgen.size(); - unsigned eliminated = howMany(popSize); - if (!eliminated) // nothing to do - return ; - unsigned newsize = popSize - eliminated; - if (newsize < 0) - throw std::logic_error("eoDetTournamentTruncateSplit: Cannot truncate to a larger size!\n"); - - - - _eliminated.reserve(_eliminated.size()+eliminated); //in case not empty? - for (unsigned i=0; i<_eliminated.size(); i++) - { - typename eoPop::iterator it = inverse_stochastic_tournament(_newgen.begin(), _newgen.end(), t_rate); - if (returnEliminated) - _eliminated.push_back(*it); - _newgen.erase(it); - } - } - - -private: - double t_rate; - eoHowMany howMany; - bool returnEliminated; -}; - -//----------------------------------------------------------------------------- - -#endif diff --git a/trunk/paradiseo-eo/src/eoReplacement.h b/trunk/paradiseo-eo/src/eoReplacement.h deleted file mode 100644 index 364553729..000000000 --- a/trunk/paradiseo-eo/src/eoReplacement.h +++ /dev/null @@ -1,128 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoReplacement.h - (c) Maarten Keijzer, Marc Schoenauer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoReplacement_h -#define _eoReplacement_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** -eoReplacement: the base class for all replacement functors. - -NOTE: 2 eoPop as arguments -the resulting population should be in the first argument (replace -parents by offspring)! The second argument can contain any rubbish - ---- -The eoMergeReduce, combination of eoMerge and eoReduce, can be found -in file eoMergeReduce.h - -The eoReduceMergeReduce that reduces the parents and the offspring, -merges the 2 reduced populations, and eventually reduces that final -population, can be found in eoReduceMergeReduce.h - -LOG ---- -Removed the const before first argument: though it makes too many classes -with the same interface, it allows to minimize the number of actual copies -by choosing the right destination -I also removed the enforced "swap" in the eoEasyAlgo and hence the generational -replacement gets a class of its own that only does the swap (instead of the -eoNoReplacement that did nothing, relying on the algo to swap popualtions). -MS 12/12/2000 - - @see eoMerge, eoReduce, eoMergeReduce, eoReduceMerge - -@classes eoReplacement, base (pure abstract) class - eoGenerationalReplacement, as it says ... - eoWeakElitistReplacement a wrapper to add elitism - -*/ - - -//@{ - -/// -template -class eoReplacement : public eoBF&, eoPop&, void> -{}; - -/** -generational replacement == swap populations -*/ -template -class eoGenerationalReplacement : public eoReplacement -{ - public : - /// swap - void operator()(eoPop& _parents, eoPop& _offspring) - { - _parents.swap(_offspring); - } -}; - -/** -eoWeakElitistReplacement: a wrapper for other replacement procedures. -Copies in the new pop the best individual from the old pop, -AFTER normal replacement, if the best of the new pop is worse than the best -of the old pop. Removes the worse individual from the new pop. -This could be changed by adding a selector there... -*/ -template -class eoWeakElitistReplacement : public eoReplacement -{ -public : - typedef typename EOT::Fitness Fitness; - - // Ctor, takes an eoReplacement - eoWeakElitistReplacement(eoReplacement & _replace) : - replace(_replace) {} - - /// do replacement - void operator()(eoPop& _pop, eoPop& _offspring) - { - const EOT & oldChamp = _pop.best_element(); - replace(_pop, _offspring); // "normal" replacement, parents are the new - if (_pop.best_element() < oldChamp) // need to do something - { - typename eoPop::iterator itPoorGuy = _pop.it_worse_element(); - (*itPoorGuy) = oldChamp; - } - } -private: - eoReplacement & replace; -}; - -//@} - -#endif diff --git a/trunk/paradiseo-eo/src/eoSGA.h b/trunk/paradiseo-eo/src/eoSGA.h deleted file mode 100644 index d160a3653..000000000 --- a/trunk/paradiseo-eo/src/eoSGA.h +++ /dev/null @@ -1,120 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSGA.h -// (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSGA_h -#define _eoSGA_h - -#include -#include -#include -#include -#include -#include -#include -#include - -/** The Simple Genetic Algorithm, following Holland and Goldberg - * - * Needs a selector (class eoSelectOne) a crossover (eoQuad, i.e. a - * 2->2 operator) and a mutation with their respective rates, of - * course an evaluation function (eoEvalFunc) and a continuator - * (eoContinue) which gives the stopping criterion. Performs full - * generational replacement. - */ - -template -class eoSGA : public eoAlgo -{ -public : - - // added this second ctor as I didn't like the ordering of the parameters - // in the one above. Any objection :-) MS - eoSGA( - eoSelectOne& _select, - eoQuadOp& _cross, float _crate, - eoMonOp& _mutate, float _mrate, - eoEvalFunc& _eval, - eoContinue& _cont) - : cont(_cont), - mutate(_mutate), - mutationRate(_mrate), - cross(_cross), - crossoverRate(_crate), - select(_select), - eval(_eval) {} - - void operator()(eoPop& _pop) - { - eoPop offspring; - - do - { - select(_pop, offspring); - - unsigned i; - - for (i=0; i<_pop.size()/2; i++) - { - if ( rng.flip(crossoverRate) ) - { - // this crossover generates 2 offspring from two parents - if (cross(offspring[2*i], offspring[2*i+1])) - { - offspring[2*i].invalidate(); - offspring[2*i+1].invalidate(); - } - } - } - - for (i=0; i < _pop.size(); i++) - { - if (rng.flip(mutationRate) ) - { - if (mutate(offspring[i])) - offspring[i].invalidate(); - } - } - - _pop.swap(offspring); - apply(eval, _pop); - - } while (cont(_pop)); - } - -private : - - eoContinue& cont; - /// eoInvalidateMonOp invalidates the embedded operator - eoInvalidateMonOp mutate; - float mutationRate; - // eoInvalidateQuadOp invalidates the embedded operator - eoInvalidateQuadOp cross; - float crossoverRate; - eoSelectPerc select; - eoEvalFunc& eval; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoSGAGenOp.h b/trunk/paradiseo-eo/src/eoSGAGenOp.h deleted file mode 100644 index a6533f072..000000000 --- a/trunk/paradiseo-eo/src/eoSGAGenOp.h +++ /dev/null @@ -1,91 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSGAGenOp.h -// (c) Marc.Schoenauer 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSGAGenOp_h -#define _eoSGAGenOp_h - -#include "eoGenOp.h" -#include "eoInvalidateOps.h" -/////////////////////////////////////////////////////////////////////////////// -// class eoSGAGenOp -/////////////////////////////////////////////////////////////////////////////// - -/** *************************************************************************** - * eoSGAGenOp (for Simple GA) mimicks the usual crossover with proba pCross + - * mutation with proba pMut inside an eoGeneralOp - * It does it exactly as class eoSGATransform, i.e. only accepts - * quadratic crossover and unary mutation - * It was introduced for didactic reasons, but seems to be popular :-) - *****************************************************************************/ -template -class eoSGAGenOp : public eoGenOp -{ - public: - - /** Ctor from crossover (with proba) and mutation (with proba) - * Builds the sequential op that first applies a proportional choice - * between the crossover and nothing (cloning), then the mutation - */ - eoSGAGenOp(eoQuadOp& _cross, double _pCross, - eoMonOp& _mut, double _pMut) - : cross(_cross), - pCross(_pCross), - mut(_mut), - pMut(_pMut) - { - // the crossover - with probability pCross - propOp.add(cross, pCross); // crossover, with proba pcross - propOp.add(quadClone, 1-pCross); // nothing, with proba 1-pcross - - // now the sequential - op.add(propOp, 1.0); // always do combined crossover - op.add(mut, pMut); // then mutation, with proba pmut - } - - /** do the job: delegate to op */ - virtual void apply(eoPopulator& _pop) - { - op.apply(_pop); - } - - /** inherited from eoGenOp */ - virtual unsigned max_production(void) {return 2;} - - virtual std::string className() const {return "eoSGAGenOp";} - - - private: - eoQuadOp ✗ // eoInvalidateXXX take the boolean output - double pCross; - eoMonOp & mut; // of the XXX op and invalidate the EOT - double pMut; - eoProportionalOp propOp; - eoQuadCloneOp quadClone; - eoSequentialOp op; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoSGATransform.h b/trunk/paradiseo-eo/src/eoSGATransform.h deleted file mode 100644 index e1e9c82f5..000000000 --- a/trunk/paradiseo-eo/src/eoSGATransform.h +++ /dev/null @@ -1,164 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSGA.h -// (c) Marc.Schoenauer 2000 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSGATransform_h -#define _eoSGATransform_h - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// class eoSGATransform -/////////////////////////////////////////////////////////////////////////////// -#include // std::vector -#include -#include - -/** eoSGATransform: transforms a population using genetic operators. - * It does it exactly as class eoSGA, i.e. only accepts - * quadratic crossover and unary mutation - * It is here mainly for tutorial reasons -*/ -template class eoSGATransform : public eoTransform -{ - public: - - /// Default constructor. - eoSGATransform(eoQuadOp& _cross, double _cProba, - eoMonOp& _mutate, double _mProba) - : cross(_cross), - crossoverProba(_cProba), - mutate(_mutate), - mutationProba(_mProba) {} - - - /** - * Transforms a population. - * @param pop The population to be transformed. - */ - void operator()(eoPop& _pop) - { - unsigned i; - - for (i=0; i<_pop.size()/2; i++) - { - if ( rng.flip(crossoverProba) ) - { - // this crossover generates 2 offspring from two parents - cross(_pop[2*i], _pop[2*i+1]); - } - } - - for (i=0; i < _pop.size(); i++) - { - if (rng.flip(mutationProba) ) - { - mutate(_pop[i]); - } - - } - }; - - private: - eoInvalidateQuadOp cross; - double crossoverProba; - eoInvalidateMonOp mutate; - double mutationProba; -}; - -/** eoDynSGATransform: transforms a population using genetic operators. - * It is the Dynamic version of the above eoSGATransform - * i.e. the operators probabilities can be passed as an eoValueParam, - * and hence can be modified from outside - * It is here mainly for tutorial reasons - *****************************************************************************/ -template class eoDynSGATransform : public eoTransform -{ - public: - - /// Default constructor - receives values - eoDynSGATransform(eoQuadOp& _cross, double _cProba, - eoMonOp& _mutate, double _mProba) - : cross(_cross), - crossoverProbaHolder(_cProba), crossoverProba(crossoverProbaHolder), - mutate(_mutate), - mutationProbaHolder(_mProba), mutationProba(mutationProbaHolder) {} - - /// This constructor receives pointers - // these will usually be some eoValueParam.value() - // hence the ...Holder data will bever be used in this case - eoDynSGATransform(eoQuadOp& _cross, double* _cProbaRef, - eoMonOp& _mutate, double* _mProbaRef) - : cross(_cross), - crossoverProbaHolder(0), crossoverProba(*_cProbaRef), - mutate(_mutate), - mutationProbaHolder(0), mutationProba(*_mProbaRef) {} - - - /** - * Transforms a population. - * @param pop The population to be transformed. - */ - void operator()(eoPop& _pop) - { - unsigned i; - - for (i=0; i<_pop.size()/2; i++) - { - if ( rng.flip(crossoverProba) ) - { - // this crossover generates 2 offspring from two parents - cross(_pop[2*i], _pop[2*i+1]); - } - } - - for (i=0; i < _pop.size(); i++) - { - if (rng.flip(mutationProba) ) - { - mutate(_pop[i]); - } - - } - }; - // accessors - mainly for EASEA - double & PCrossHandle() { return crossoverProba;} - double & PMutHandle() { return mutationProba;} - -private: - // difference with eoSGATransform: the operator probabilities - // they can be passed by reference or by value. - // hence we need here to use a reference, and to eventually store a value - eoInvalidateQuadOp cross; - double crossoverProbaHolder; // the value, used only if ctor gets a value - double& crossoverProba; // the reference, to be used in operator() - eoInvalidateMonOp mutate; - double mutationProbaHolder; // the value, used only if ctor gets a value - double& mutationProba; // the reference, to be used in operator() -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoSTLFunctor.h b/trunk/paradiseo-eo/src/eoSTLFunctor.h deleted file mode 100644 index 74c206036..000000000 --- a/trunk/paradiseo-eo/src/eoSTLFunctor.h +++ /dev/null @@ -1,118 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSTLFunctor.h -// (c) Maarten Keijzer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSTLFunctor_H -#define _eoSTLFunctor_H - -#include "eoFunctor.h" - -/** - Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the - copy semantics the STL functions usually require (i.e. they can be passed - by value, rather than the EO standard pass by reference). - - The family consists of eoSTLF, eoSTLUF, eoSTLBF that modify eoF, eoUF and eoBF - respectively -*/ -template -class eoSTLF -{ - public: - - typedef R result_type; - - eoSTLF(eoF& _f) : f(_f) {} - - R operator()(void) - { - return f(); - } - - private : - - eoF& f; -}; - -#ifdef _MSVC -/// specialization of void for MSVC users, unfortunately only works for eoF, -/// as MSVC does not support partial specialization either -template <> -void eoSTLF::operator()(void) -{ - f(); -} -#endif - -/** - Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the - copy semantics the STL functions usually require (i.e. they can be passed - by value, rather than the EO standard pass by reference). - - The family consists of eoSTLF, eoSTLUF, eoSTLBF that modify eoF, eoUF and eoBF - respectively -*/ -template -class eoSTLUF : public std::unary_function -{ - public: - eoSTLUF(eoUF& _f) : f(_f) {} - - R operator()(A1 a) - { - return f(a); - } - - private: - eoUF& f; -}; - -/** - Generic set of classes that wrap an eoF, eoUF or eoBF so that they have the - copy semantics the STL functions usually require (i.e. they can be passed - by value, rather than the EO standard pass by reference). - - The family consists of eoSTLF, eoSTLUF, eoSTLBF that modify eoF, eoUF and eoBF - respectively -*/ -template -class eoSTLBF : public std::binary_function -{ - public: - eoSTLBF(eoUF& _f) : f(_f) {} - - R operator()(A1 a1, A2 a2) - { - return f(a1, a2); - } - - private: - - eoBF& f; -}; - -// TODO: put automated wrappers here... - -#endif diff --git a/trunk/paradiseo-eo/src/eoScalarFitness.h b/trunk/paradiseo-eo/src/eoScalarFitness.h deleted file mode 100644 index 8402e1e99..000000000 --- a/trunk/paradiseo-eo/src/eoScalarFitness.h +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoScalarFitness.h - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - - -#ifndef eoScalarFitness_h -#define eoScalarFitness_h - -#include -#include - -/** - * eoScalarFitness >: - * Wraps a scalar fitness values such as a double or int, with the option of - * maximizing (using less) or minimizing (using greater) - - * It overrides operator<() to use the Compare template argument - * - * Suitable constructors and assignments and casts are defined to work - * with this quantity as if it were a ScalarType. -*/ -template -class eoScalarFitness -{ - public : - - eoScalarFitness() : value() {} - eoScalarFitness(const eoScalarFitness& other) : value(other.value) {} - eoScalarFitness(const ScalarType& v) : value(v) {} - - eoScalarFitness& operator=(const eoScalarFitness& other) - { value = other.value; return *this; } - eoScalarFitness& operator=(const ScalarType& v) - { value = v; return *this; } - - operator ScalarType(void) const { return value; } - - /// Comparison, using less by default - bool operator<(const eoScalarFitness& other) const - { return Compare()(value, other.value); } - - // implementation of the other operators - bool operator>( const eoScalarFitness& y ) const { return y < *this; } - // implementation of the other operators - bool operator<=( const eoScalarFitness& y ) const { return !(*this > y); } - // implementation of the other operators - bool operator>=(const eoScalarFitness& y ) const { return !(*this < y); } - - - private : - ScalarType value; -}; - -/** -Typedefs for fitness comparison, Maximizing Fitness compares with less, -and minimizing fitness compares with greater. This because we want ordinary -fitness values (doubles) to be equivalent with Maximizing Fitness, and -comparing with less is the default behaviour. -*/ -typedef eoScalarFitness > eoMaximizingFitness; -typedef eoScalarFitness > eoMinimizingFitness; - -template -std::ostream& operator<<(std::ostream& os, const eoScalarFitness& f) -{ - os << (F) f; - return os; -} - -template -std::istream& operator>>(std::istream& is, eoScalarFitness& f) -{ - F value; - is >> value; - f = value; - return is; -} - -#endif diff --git a/trunk/paradiseo-eo/src/eoScalarFitnessAssembled.cpp b/trunk/paradiseo-eo/src/eoScalarFitnessAssembled.cpp deleted file mode 100644 index a30289abc..000000000 --- a/trunk/paradiseo-eo/src/eoScalarFitnessAssembled.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoScalarFitnessAssembled.cpp -// Marc Wintermantel & Oliver Koenig -// IMES-ST@ETHZ.CH -// March 2003 - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include "eoScalarFitnessAssembled.h" - - -// need to allocate the static variables of class eoScalarFitnessAssembledTraits -std::vector eoScalarFitnessAssembledTraits::TermDescriptions; - - - diff --git a/trunk/paradiseo-eo/src/eoScalarFitnessAssembled.h b/trunk/paradiseo-eo/src/eoScalarFitnessAssembled.h deleted file mode 100644 index 8eacf0b24..000000000 --- a/trunk/paradiseo-eo/src/eoScalarFitnessAssembled.h +++ /dev/null @@ -1,270 +0,0 @@ - /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- */ - -//----------------------------------------------------------------------------- -// eoScalarFitnessAssembled.h -// Marc Wintermantel & Oliver Koenig -// IMES-ST@ETHZ.CH -// March 2003 - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- - -#ifndef eoScalarFitnessAssembled_h -#define eoScalarFitnessAssembled_h - -#include -#include -#include -#include -#include - -//! Defines properties of eoScalarFitnessAssembled. -/*! Properties that are hold in this traits class: - - std::vector to hold descriptions of the different fitness terms -*/ -class eoScalarFitnessAssembledTraits{ - -public: - - typedef std::vector::size_type size_type; - - static void setDescription( size_type _idx, std::string _descr ) { - if ( _idx < TermDescriptions.size() ) - TermDescriptions[_idx] = _descr; - else{ - TermDescriptions.resize(_idx, "Unnamed variable" ); - TermDescriptions[_idx] = _descr; - } - } - - static std::string getDescription( size_type _idx) { - if ( _idx < TermDescriptions.size() ) - return TermDescriptions[_idx ]; - else - return "Unnamed Variable"; - } - - static void resize( size_type _n, const std::string& _descr) { - TermDescriptions.resize(_n, _descr); - } - - static size_type size() { return TermDescriptions.size(); } - - static std::vector getDescriptionVector() { return TermDescriptions; } - -private: - static std::vector TermDescriptions; -}; - -//! Implements fitness as std::vector, storing all values that might occur during fitness assembly -/*! Properties: - - Wraps a scalar fitness values such as a double or int, with the option of - maximizing (using less) or minimizing (using greater). - - Stores all kinda different values met during fitness assembly, to be defined in eoEvalFunc. - - It overrides operator<() to use the Compare template argument. - - Suitable constructors and assignments and casts are defined to work - with this quantity as if it were a ScalarType. - - Global fitness value is stored as first element in the vector -*/ -template -class eoScalarFitnessAssembled : public std::vector { - -public: - - using std::vector< ScalarType >::empty; - using std::vector< ScalarType >::front; - using std::vector< ScalarType >::size; - - - typedef typename std::vector baseVector; - typedef typename baseVector::size_type size_type; - - // Basic constructors and assignments - eoScalarFitnessAssembled() - : baseVector( FitnessTraits::size() ), - feasible(true), failed(false), msg("") - {} - - eoScalarFitnessAssembled( size_type _n, - const ScalarType& _val, - const std::string& _descr="Unnamed variable" ) - : baseVector(_n, _val), - feasible(true), failed(false), msg("") - { - if ( _n > FitnessTraits::size() ) - FitnessTraits::resize(_n, _descr); - } - - eoScalarFitnessAssembled( const eoScalarFitnessAssembled& other) - : baseVector( other ), - feasible(other.feasible), - failed(other.failed), - msg(other.msg) - {} - - eoScalarFitnessAssembled& operator=( const eoScalarFitnessAssembled& other) { - baseVector::operator=( other ); - feasible = other.feasible; - failed = other.failed; - msg = other.msg; - return *this; - } - - // Constructors and assignments to work with scalar type - eoScalarFitnessAssembled( const ScalarType& v ) - : baseVector( 1, v ), - feasible(true), failed(false), msg("") - {} - - eoScalarFitnessAssembled& operator=( const ScalarType& v ) { - - if( empty() ) - push_back( v ); - else - front() = v; - return *this; - } - - //! Overload push_back() - void push_back(const ScalarType& _val ){ - baseVector::push_back( _val ); - if ( size() > FitnessTraits::size() ) - FitnessTraits::setDescription( size()-1, "Unnamed variable"); - } - - //! Overload push_back() - void push_back(const ScalarType& _val, const std::string& _descr ){ - baseVector::push_back( _val ); - FitnessTraits::setDescription( size()-1, _descr ); - } - - //! Overload resize() - void resize( size_type _n, const ScalarType& _val = ScalarType(), const std::string& _descr = "Unnamed variable" ){ - baseVector::resize(_n, _val); - FitnessTraits::resize(_n, _descr); - } - - //! Set description - void setDescription( size_type _idx, std::string _descr ) { - FitnessTraits::setDescription( _idx, _descr ); - } - - //! Get description - std::string getDescription( size_type _idx ){ return FitnessTraits::getDescription( _idx ); } - - //! Get vector with descriptions - std::vector getDescriptionVector() { return FitnessTraits::getDescriptionVector(); } - - //! Feasibility boolean - /** - * Can be specified anywhere in fitness evaluation - * as an indicator if the individual is in some feasible range. - */ - bool feasible; - - //! Failed boolean - /** - * Can be specified anywhere in fitness evaluation - * as an indicator if the evaluation of the individual failed - */ - bool failed; - - //! Message - /** - * Can be specified anywhere in fitness evaluation. - * Typically used to store some sort of error messages, if evaluation of individual failed. - */ - std::string msg; - - - // Scalar type access - operator ScalarType(void) const { - if ( empty() ) - return 0.0; - else - return front(); - } - - //! Print term values and descriptions - void printAll(std::ostream& os) const { - for (size_type i=0; i < size(); ++i ) - os << FitnessTraits::getDescription(i) << " = " << operator[](i) << " "; - } - - // Comparison, using less by default - bool operator<(const eoScalarFitnessAssembled& other) const{ - if ( empty() || other.empty() ) - return false; - else - return Compare()( front() , other.front() ); - } - - // implementation of the other operators - bool operator>( const eoScalarFitnessAssembled& y ) const { return y < *this; } - - // implementation of the other operators - bool operator<=( const eoScalarFitnessAssembled& y ) const { return !(*this > y); } - - // implementation of the other operators - bool operator>=(const eoScalarFitnessAssembled& y ) const { return !(*this < y); } - -}; - -/** -Typedefs for fitness comparison, Maximizing Fitness compares with less, -and minimizing fitness compares with greater. This because we want ordinary -fitness values (doubles) to be equivalent with Maximizing Fitness, and -comparing with less is the default behaviour. -*/ -typedef eoScalarFitnessAssembled, eoScalarFitnessAssembledTraits > eoAssembledMaximizingFitness; -typedef eoScalarFitnessAssembled, eoScalarFitnessAssembledTraits > eoAssembledMinimizingFitness; - -template -std::ostream& operator<<(std::ostream& os, const eoScalarFitnessAssembled& f) -{ - for (unsigned i=0; i < f.size(); ++i) - os << f[i] << " "; - - os << f.feasible << " "; - os << f.failed << " "; - - return os; -} - -template -std::istream& operator>>(std::istream& is, eoScalarFitnessAssembled& f) -{ - for (unsigned i=0; i < f.size(); ++i){ - F value; - is >> value; - f[i] = value; - } - - is >> f.feasible; - is >> f.failed; - - return is; -} - -#endif - - - diff --git a/trunk/paradiseo-eo/src/eoSelect.h b/trunk/paradiseo-eo/src/eoSelect.h deleted file mode 100644 index 90bfd7dc9..000000000 --- a/trunk/paradiseo-eo/src/eoSelect.h +++ /dev/null @@ -1,43 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSelect.h - (c) Maarten Keijzer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSelect_h -#define _eoSelect_h - - -//----------------------------------------------------------------------------- -#include -//----------------------------------------------------------------------------- - -/** -eoSelect selects a number of individuals from the first argument and -puts it in the second. To emphasize that it should not try to enlarge -the population, the second argument is an eoPopRange, a simple struct -that holds a begin and end iterator to the population -*/ -template -class eoSelect : public eoBF&, eoPop&, void> -{}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoSelectFactory.h b/trunk/paradiseo-eo/src/eoSelectFactory.h deleted file mode 100644 index d94a0fa0f..000000000 --- a/trunk/paradiseo-eo/src/eoSelectFactory.h +++ /dev/null @@ -1,89 +0,0 @@ -// eoSelectFactory.h -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// EOFactory.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOSELECTFACTORY_H -#define _EOSELECTFACTORY_H - -#include -#include -#include - -//----------------------------------------------------------------------------- - -/** EO Factory.An instance of the factory class to create selectors, that is, -eoSelect objects -@see eoSelect*/ -template< class EOT> -class eoSelectFactory: public eoFactory > { - -public: - - /// @name ctors and dtors - //{@ - /// constructor - eoSelectFactory( ) {} - - /// destructor - virtual ~eoSelectFactory() {} - //@} - - /** Another factory methods: creates an object from an std::istream, reading from - it whatever is needed to create the object. Usually, the format for the std::istream will be\\ - objectType parameter1 parameter2 ... parametern\\ - */ - virtual eoSelect* make(std::istream& _is) { - eoSelect * selectPtr; - std::string objectTypeStr; - _is >> objectTypeStr; - // All selectors have a rate, the proportion of the original population - float rate; - _is >> rate; - if ( objectTypeStr == "eoTournament") { - // another parameter is necessary - unsigned tSize; - _is >> tSize; - selectPtr = new eoTournament( rate, tSize ); - } else { - if ( objectTypeStr == "eoRandomSelect" ) { - selectPtr = new eoRandomSelect( rate ); - } else { - throw std::runtime_error( "Incorrect selector type" ); - } - } - return selectPtr; - } - - ///@name eoObject methods - //@{ - void printOn( std::ostream& _os ) const {}; - void readFrom( std::istream& _is ){}; - - /** className is inherited */ - //@} - -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoSelectFromWorth.h b/trunk/paradiseo-eo/src/eoSelectFromWorth.h deleted file mode 100644 index 4577b822a..000000000 --- a/trunk/paradiseo-eo/src/eoSelectFromWorth.h +++ /dev/null @@ -1,224 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSelectFromWorth.h - (c) Maarten Keijzer, Marc Schoenauer, 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSelectFromWorth_h -#define _eoSelectFromWorth_h - -#include -//----------------------------------------------------------------------------- -#include -#include -#include -//----------------------------------------------------------------------------- - -/** selects one element from a population (is an eoSelectOne) -but the selection is based on a std::vector of Worth that is different -from the fitnesses (e.g. EO fitness is what Koza terms "raw fitness", -Worth is what the selection is based upon). - -see class eoPerf2Worth: an eoStat that transforms fitnesses into Worthes - -Note: Worthes will not always be doubles - see some multi-objective -techniques where it is a std::pair of doubles ... - -It has to have a < operator it you want to call an existing -selector (see selector.h) - but of course you can write the whole -thing ... -*/ -template -class eoSelectFromWorth : public eoSelectOne -{ -public: - - /* Default ctor from an eoPerf2Worth object */ - eoSelectFromWorth(eoPerf2Worth& _perf2Worth) - : perf2Worth(_perf2Worth) - {} - - /* setup the worthes */ - virtual void setup(const eoPop& pop) { - perf2Worth(pop); -#ifndef NDEBUG - fitness.resize(pop.size()); - for (unsigned i = 0; i < pop.size(); ++i) { - fitness[i] = pop[i].fitness(); - } -#endif - } - - -protected: - - eoPerf2Worth& perf2Worth; - -#ifndef NDEBUG - std::vector fitness; - void check_sync(unsigned index, const EOT& _eo) { - if (fitness[index] != _eo.fitness()) { - throw std::runtime_error("eoSelectFromWorth: fitnesses are not in sync"); - } - } -#endif -}; - - -/** An instance of eoSelectPerf2Worth that does selection from the Worthes - * using a ... determinisitic tournament, yes! - */ -template -class eoDetTournamentWorthSelect : public eoSelectFromWorth -{ -public: - - using eoSelectFromWorth::perf2Worth; - - typedef typename std::vector::iterator worthIterator; - - /* Default ctor from an eoPerf2Worth object + tournament size */ - eoDetTournamentWorthSelect(eoPerf2Worth& perf2Worth, - unsigned _tSize) - : eoSelectFromWorth(perf2Worth), tSize(_tSize) {} - - /* Perform deterministic tournament on worthes by calling the - appropriate fn see selectors.h */ - virtual const EOT& operator()(const eoPop& pop) { - worthIterator it = deterministic_tournament(perf2Worth.value().begin(), - perf2Worth.value().end(), - tSize); - unsigned index = it - perf2Worth.value().begin(); -#ifndef NDEBUG - // check whether the stuff is still in sync - check_sync(index, pop[index]); -#endif - return pop[index]; - } - - -private: - - unsigned tSize; -}; - -/** An instance of eoSelectPerf2Worth that does selection from the Worthes - * using a ... stochastic tournament, yes! - */ -template -class eoStochTournamentWorthSelect : public eoSelectFromWorth -{ -public: - - using eoSelectFromWorth::perf2Worth; - - typedef typename std::vector::iterator worthIterator; - - /* Default ctor from an eoPerf2Worth object + tournament rate */ - eoStochTournamentWorthSelect(eoPerf2Worth &_perf2Worth, double _tRate) - : eoSelectFromWorth(_perf2Worth), tRate(_tRate) - {} - - /* Perform stochastic tournament on worthes - by calling the appropriate fn in selectors.h - */ - virtual const EOT& operator()(const eoPop& _pop) { - worthIterator it = stochastic_tournament(perf2Worth.value().begin(), - perf2Worth.value().end(), - tRate); - - unsigned index = it - perf2Worth.value().begin(); - -#ifndef NDEBUG - // check whether the stuff is still in sync - check_sync(index, _pop[index]); -#endif - - return _pop[index]; - } - -private: - double tRate; -}; - -/** An instance of eoSelectPerf2Worth that does selection from the Worthes - * using a ... roulette wheel selection, yes! - */ -template -class eoRouletteWorthSelect : public eoSelectFromWorth -{ -public: - - using eoSelectFromWorth::perf2Worth; - - typedef typename std::vector::iterator worthIterator; - - - /* Default ctor from an eoPerf2Worth object */ - eoRouletteWorthSelect(eoPerf2Worth &_perf2Worth) - : eoSelectFromWorth(_perf2Worth) - {} - - /* We have to override the default behavior to compute the total - * only once! - */ - virtual void setup(const eoPop& _pop) - { - eoSelectFromWorth::setup(_pop); - total = 0.0; - for (worthIterator it = perf2Worth.value().begin(); - it& _pop) { - // cout << "On affiche les worths\n"; - // for (unsigned i=0; - // i -#include -#include -#include -//----------------------------------------------------------------------------- - -/** eoSelectMany selects many individuals using eoSelectOne as it's - mechanism. Therefore eoSelectMany needs an eoSelectOne in its ctor - - It will use an eoHowMnay to determine the number of guys to select, - and push them to the back of the destination population. -*/ -template -class eoSelectMany : public eoSelect -{ - public: - /// init - eoSelectMany(eoSelectOne& _select, - double _rate, bool _interpret_as_rate = true) - : select(_select), howMany(_rate, _interpret_as_rate) {} - - // Ctor with eoHowMany - eoSelectMany(eoSelectOne& _select, eoHowMany _howMany) - : select(_select), howMany(_howMany) {} - - /** - The implementation repeatidly selects an individual - - @param _source the source population - @param _dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it) - */ - virtual void operator()(const eoPop& _source, eoPop& _dest) - { - unsigned target = howMany(_source.size()); - - _dest.resize(target); - - select.setup(_source); - - for (size_t i = 0; i < _dest.size(); ++i) - _dest[i] = select(_source); - } - -private : - eoSelectOne& select; - eoHowMany howMany; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoSelectNumber.h b/trunk/paradiseo-eo/src/eoSelectNumber.h deleted file mode 100644 index 2b5d2a8cd..000000000 --- a/trunk/paradiseo-eo/src/eoSelectNumber.h +++ /dev/null @@ -1,72 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSelectNumber.h - (c) Maarten Keijzer, Marc Schoenauer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSelectNumber_h -#define _eoSelectNumber_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -//----------------------------------------------------------------------------- - -/** eoSelectNumber selects many individuals using eoSelectOne as it's - mechanism. Therefore eoSelectNumber needs an eoSelectOne in its ctor - - It will select a fixed number of individuals and pushes them to - the back of the destination population. -*/ -template -class eoSelectNumber : public eoSelect -{ - public: - /// init - eoSelectNumber(eoSelectOne& _select, unsigned _nb_to_select = 1) - : select(_select), nb_to_select(_nb_to_select) {} - - /** - The implementation repeatidly selects an individual - - @param _source the source population - @param _dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it) - */ - virtual void operator()(const eoPop& _source, eoPop& _dest) - { - size_t target = static_cast(nb_to_select); - - _dest.resize(target); - - select.setup(_source); - - for (size_t i = 0; i < _dest.size(); ++i) - _dest[i] = select(_source); - } - -private : - eoSelectOne& select; - unsigned nb_to_select; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoSelectOne.h b/trunk/paradiseo-eo/src/eoSelectOne.h deleted file mode 100644 index 34b0782f3..000000000 --- a/trunk/paradiseo-eo/src/eoSelectOne.h +++ /dev/null @@ -1,54 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSelectOne.h - (c) Maarten Keijzer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSelectOne_h -#define _eoSelectOne_h - - -//----------------------------------------------------------------------------- -#include -#include -//----------------------------------------------------------------------------- - -/** eoSelectOne selects only one element from a whole population. - Most selection techniques are simply repeated applications - of eoSelectOne. - - @see eoSelectMany, eoSelectRandom, eoDetTournament, eoStochTournament, eoProportional -*/ -#ifdef _MSC_VER -template -#else -template -#endif -class eoSelectOne : public eoUF&, const EOT&> -{ - public : - /// virtual function to setup some population stats (for instance eoProportional can benefit greatly from this) - virtual void setup(const eoPop& _pop) - {} -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoSelectPerc.h b/trunk/paradiseo-eo/src/eoSelectPerc.h deleted file mode 100644 index c0991d72b..000000000 --- a/trunk/paradiseo-eo/src/eoSelectPerc.h +++ /dev/null @@ -1,72 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSelectPerc.h - (c) Maarten Keijzer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSelectPerc_h -#define _eoSelectPerc_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -//----------------------------------------------------------------------------- - -/** eoSelectPerc selects many individuals using eoSelectOne as it's - mechanism. Therefore eoSelectPerc needs an eoSelectOne in its ctor - - It will select floor(rate*pop.size()) individuals and pushes them to - the back of the destination population. -*/ -template -class eoSelectPerc : public eoSelect -{ - public: - /// init - eoSelectPerc(eoSelectOne& _select, float _rate = 1.0) - : select(_select), rate(_rate) {} - - /** - The implementation selects a percentage - - @param _source the source population - @param _dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it) - */ - virtual void operator()(const eoPop& _source, eoPop& _dest) - { - size_t target = static_cast(floor(rate * _source.size())); - - _dest.resize(target); - - select.setup(_source); - - for (size_t i = 0; i < _dest.size(); ++i) - _dest[i] = select(_source); - } - -private : - eoSelectOne& select; - float rate; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoSequentialSelect.h b/trunk/paradiseo-eo/src/eoSequentialSelect.h deleted file mode 100644 index 9cbfbc401..000000000 --- a/trunk/paradiseo-eo/src/eoSequentialSelect.h +++ /dev/null @@ -1,144 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSequential.h -// (c) GeNeura Team, 1998 - Maarten Keijzer 2000, Marc Schoenauer, 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoSequential_h -#define eoSequential_h - -#include - -#include "utils/eoData.h" -#include "utils/eoRNG.h" -#include "eoSelectOne.h" - -/** Contains the following classes: - * - eoSequentialSelect, returns all individuals one by one, - * either sorted or shuffled - * - eoEliteSequentialSelect, returns all indivisuals one by one - * starting with best, continuing shuffled (see G3 engine) - */ - - -/** All Individuals in order - -Looping back to the beginning when exhausted, can be from best to -worse, or in random order. - -It is the eoSelectOne equivalent of eoDetSelect - though eoDetSelect -always returns individuals from best to worst -*/ -template class eoSequentialSelect: public eoSelectOne -{ - public: - /** Ctor: sets the current pter to numeric_limits::max() so init will take place first time - not very elegant, maybe ... - */ - eoSequentialSelect(bool _ordered = true) - : ordered(_ordered), current(std::numeric_limits::max()) {} - - void setup(const eoPop& _pop) - { - eoPters.resize(_pop.size()); - if (ordered) // probably we could have a marker to avoid re-sorting - _pop.sort(eoPters); - else - _pop.shuffle(eoPters); - current=0; - } - - virtual const EOT& operator()(const eoPop& _pop) - { - if (current >= _pop.size()) - setup(_pop); - - unsigned eoN = current; - current++; - return *eoPters[eoN] ; - } -private: - bool ordered; - unsigned current; - std::vector eoPters; -}; - - - -/** All Individuals in order - -The best individual first, then the others in sequence (random order). -for G3 evolution engine, see Deb, Anad and Joshi, CEC 2002 - -As eoSequentialSelect, it is an eoSelectOne to be used within the -eoEaseyEA algo, but conceptually it should be a global eoSelect, as it -selects a bunch of guys in one go (done in the setup function now) -*/ -template class eoEliteSequentialSelect: public eoSelectOne -{ - public: - - /** Ctor: sets the current pter to numeric_limits::max() so init will take place first time - not very elegant, maybe ... - */ - eoEliteSequentialSelect(): current(std::numeric_limits::max()) {} - - void setup(const eoPop& _pop) - { - eoPters.resize(_pop.size()); - _pop.shuffle(eoPters); - // now get the best - unsigned int ibest = 0; - const EOT * best = eoPters[0]; - if (_pop.size() == 1) - throw std::runtime_error("Trying eoEliteSequentialSelect with only one individual!"); - for (unsigned i=1; i<_pop.size(); i++) - if (*eoPters[i]>*best) - { - ibest = i; - best = eoPters[ibest]; - } - // and put it upfront - const EOT *ptmp = eoPters[0]; - eoPters[0]=best; - eoPters[ibest] = ptmp; - // exit after setting current - current=0; - } - - virtual const EOT& operator()(const eoPop& _pop) - { - if (current >= _pop.size()) - setup(_pop); - - unsigned eoN = current; - current++; - return *eoPters[eoN] ; - } -private: - unsigned current; - std::vector eoPters; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/eoSharing.h b/trunk/paradiseo-eo/src/eoSharing.h deleted file mode 100644 index bdc0bbd00..000000000 --- a/trunk/paradiseo-eo/src/eoSharing.h +++ /dev/null @@ -1,137 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSharing.h - (c) Maarten Keijzer, Marc Schoenauer, 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoSharing_h -#define eoSharing_h - -#include -#include - -/** Sharing is a perf2worth class that implements - * Goldberg and Richardson's basic sharing -*/ - -/** A helper class for Sharing - to hold distances */ - class dMatrix : public std::vector - { - public: - // Ctor : sets size - dMatrix(unsigned _s) : std::vector(_s*_s), rSize(_s) {} - - /** simple accessor */ - double operator()(unsigned _i, unsigned _j) const - { - return this->operator[](_i*rSize + _j); - } - - /** reference - to set values */ - double & operator()(unsigned _i, unsigned _j) - { - return this->operator[](_i*rSize + _j); - } - - /** just in case */ - void printOn(std::ostream & _os) - { - unsigned index=0; - for (unsigned i=0; ioperator[](index++) << " " ; - _os << std::endl; - } - _os << std::endl; - } - - private: - unsigned rSize; // row size (== number of columns!) - }; - - -/** Sharing is a perf2worth class that implements - * Goldberg and Richardson's basic sharing - * see eoSharingSelect for how to use it - * and test/t-eoSharing.cpp for a sample use of both -*/ -template -class eoSharing : public eoPerf2Worth -{ -public: - - using eoPerf2Worth::value; - - - /* Ctor requires a distance - cannot have a default distance! */ - eoSharing(double _nicheSize, eoDistance & _dist) : eoPerf2Worth("Sharing"), - nicheSize(_nicheSize), - dist(_dist) - {} - - /** Computes shared fitnesses - */ - void operator()(const eoPop& _pop) - { - unsigned i, j, - pSize=_pop.size(); - if (pSize <= 1) - throw std::runtime_error("Apptempt to do sharing with population of size 1"); - value().resize(pSize); - std::vector sim(pSize); // to hold the similarities - dMatrix distMatrix(pSize*(pSize-1)/2); // to hold the distances - - // compute the similarities (wrong name for distMatrix, I know) - distMatrix(0,0)=1; - for (i=1; inicheSize ? 0 : 1-(d/nicheSize) ); - } - } - - for (i=0; i & dist; // specific distance -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/eoSharingSelect.h b/trunk/paradiseo-eo/src/eoSharingSelect.h deleted file mode 100644 index 40825c971..000000000 --- a/trunk/paradiseo-eo/src/eoSharingSelect.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSharingSelect.h -// (c) GeNeura Team, 1998, Maarten Keijzer 2000, Marc Schoenauer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoSharingSelect_h -#define eoSharingSelect_h - -//----------------------------------------------------------------------------- - -#include -#include - -/** eoSharingSelect: select an individual by roulette wheel - * on its SHARED fitness. It is an eoRouletteWorthSelect, - * i.e. a selector using a std::vector of worthes - * rather than the raw fitness (see eoSelectFromWorth.h) - * It uses an internal eoSharing object which is - * an eoPerf2Worth -*/ - -template -class eoSharingSelect: public eoRouletteWorthSelect -{ -public: - /** Ctor: - * @param _s the sigma_share - */ - eoSharingSelect(double _sigma, eoDistance & _dist): - eoRouletteWorthSelect(sharing), sharing(_sigma, _dist) {} - -private : - eoSharing sharing; // derived from eoPerf2Worth -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoSimpleEDA.h b/trunk/paradiseo-eo/src/eoSimpleEDA.h deleted file mode 100644 index 1da9040ec..000000000 --- a/trunk/paradiseo-eo/src/eoSimpleEDA.h +++ /dev/null @@ -1,105 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSimpleEDA.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSimpleEDA_h -#define _eoSimpleEDA_h - -//----------------------------------------------------------------------------- - -#include -#include -#include -#include -#include - -/** eoSimpleEDA: a very simple Estimation of Distribution Algorithm - * - * The algorithm that evolves a probability distribution - * on the spaces of populations with the loop - * generate a population from the current distribution - * evaluate that population - * update the distribution -*/ - -template class eoSimpleEDA: public eoEDA -{ - public: - - /** Ctor from an eoDistribUpdater - * ... plus an eoEval and eoContinue of course - */ - eoSimpleEDA(eoDistribUpdater& _update, - eoEvalFunc& _eval, - unsigned _popSize, - eoContinue& _continuator - ) : - update(_update), - eval(_eval), - popSize(_popSize), - continuator(_continuator) - {} - - /** The algorithm: - * generate pop from distrib, - * evaluate pop, - * update distrib - */ - virtual void operator()(eoDistribution& _distrib) - { - eoPop pop(popSize, _distrib); - do - { - try - { - apply(_distrib, pop); // re-init. of _pop from distrib - - apply(eval, pop); // eval of current population - - update(_distrib, pop); // updates distrib from _pop - - } - catch (std::exception& e) - { - std::string s = e.what(); - s.append( " in eoSimpleEDA"); - throw std::runtime_error( s ); - } - } while ( continuator( pop ) ); - } - - private: - eoDistribUpdater & update; - - eoEvalFunc& eval; - - unsigned popSize; - - eoContinue& continuator; -}; - -//----------------------------------------------------------------------------- - -#endif - diff --git a/trunk/paradiseo-eo/src/eoSteadyFitContinue.h b/trunk/paradiseo-eo/src/eoSteadyFitContinue.h deleted file mode 100755 index c9d8ca7ed..000000000 --- a/trunk/paradiseo-eo/src/eoSteadyFitContinue.h +++ /dev/null @@ -1,114 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSteadyFitContinue.h -// (c) GeNeura Team, 1999, Marc Schoenauer, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSteadyFitContinue_h -#define _eoSteadyFitContinue_h - -#include - -/** - A continuator: does a minimum number of generations, then - stops whenever a given number of generations takes place without improvement -*/ -template< class EOT> -class eoSteadyFitContinue: public eoContinue -{ -public: - typedef typename EOT::Fitness Fitness; - - /// Ctor for setting a - eoSteadyFitContinue( unsigned long _minGens, unsigned long _steadyGens) - : repMinGenerations( _minGens ), repSteadyGenerations( _steadyGens), - steadyState(false), thisGenerationPlaceHolder(0), - thisGeneration(thisGenerationPlaceHolder){}; - - /// Ctor for enabling the save/load the no. of generations counted - eoSteadyFitContinue( unsigned long _minGens, unsigned long _steadyGen, - unsigned long& _currentGen) - : repMinGenerations( _minGens ), repSteadyGenerations( _steadyGen), - steadyState(_currentGen>_minGens), thisGenerationPlaceHolder(0), - thisGeneration(_currentGen){}; - - /** Returns false when a certain number of generations is - * reached withtout improvement */ - virtual bool operator() ( const eoPop& _vEO ) { - thisGeneration++; - // std::cout << " [" << thisGeneration << "] "; - Fitness bestCurrentFitness = _vEO.nth_element_fitness(0); - - if (steadyState) { // already after MinGenenerations - if (bestCurrentFitness > bestSoFar) { - bestSoFar = bestCurrentFitness; - lastImprovement = thisGeneration; - } else { - if (thisGeneration - lastImprovement > repSteadyGenerations) { - std::cout << "STOP in eoSteadyFitContinue: Done " << repSteadyGenerations - << " generations without improvement\n"; - return false; - } - } - } else { // not yet in steady state - if (thisGeneration > repMinGenerations) { // go to steady state - steadyState = true; - bestSoFar = bestCurrentFitness; - lastImprovement = thisGeneration; - std::cout << "eoSteadyFitContinue: Done the minimum number of generations\n"; - } - } - return true; - } - - /** Sets the parameters (minimum nb of gen. + steady nb of gen.) - and sets the current generation to 0 (the begin)*/ - virtual void totalGenerations( unsigned long _mg, unsigned long _sg ) { - repMinGenerations = _mg; - repSteadyGenerations = _sg; - reset(); - }; - - /// Resets the state after it's been reached - virtual void reset () { - steadyState=false; - thisGeneration = 0; - } - - /** accessors*/ - virtual unsigned long minGenerations( ) - { return repMinGenerations; }; - virtual unsigned long steadyGenerations( ) - { return repSteadyGenerations; }; - - virtual std::string className(void) const { return "eoSteadyFitContinue"; } -private: - unsigned long repMinGenerations; - unsigned long repSteadyGenerations; - bool steadyState; - unsigned long thisGenerationPlaceHolder; - unsigned long& thisGeneration; - unsigned int lastImprovement; - Fitness bestSoFar; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/eoStochTournamentSelect.h b/trunk/paradiseo-eo/src/eoStochTournamentSelect.h deleted file mode 100755 index 69f0376ee..000000000 --- a/trunk/paradiseo-eo/src/eoStochTournamentSelect.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoStochTournamentSelect.h -// (c) GeNeura Team, 1998 - EEAAX 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef eoStochTournamentSelect_h -#define eoStochTournamentSelect_h - -//----------------------------------------------------------------------------- - -#include -#include // accumulate -#include // eoSelectOne -#include // stochastic_tournament - -//----------------------------------------------------------------------------- -/** eoStochTournamentSelect: a selection method that selects ONE individual by - binary stochastic tournament - -MS- 24/10/99 */ -//----------------------------------------------------------------------------- - -template class eoStochTournamentSelect: public eoSelectOne -{ - public: - - /// - eoStochTournamentSelect(double _Trate = 1.0 ) : eoSelectOne(), Trate(_Trate) - { - // consistency checks - if (Trate < 0.5) { - std::cerr << "Warning, Tournament rate should be > 0.5\nAdjusted to 0.55\n"; - Trate = 0.55; - } - if (Trate > 1) { - std::cerr << "Warning, Tournament rate should be < 1\nAdjusted to 1\n"; - Trate = 1; - } - } - - /** Perform the stochastic tournament */ - virtual const EOT& operator()(const eoPop& pop) - { - return stochastic_tournament(pop, Trate); - } - -private: - double Trate; -}; - -//----------------------------------------------------------------------------- - -#endif - diff --git a/trunk/paradiseo-eo/src/eoStochasticUniversalSelect.h b/trunk/paradiseo-eo/src/eoStochasticUniversalSelect.h deleted file mode 100755 index 09864057f..000000000 --- a/trunk/paradiseo-eo/src/eoStochasticUniversalSelect.h +++ /dev/null @@ -1,109 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoStochasticUniversalSelect.h -// (c) Maarten Keijzer 2003 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@cs.vu.nl - */ -//----------------------------------------------------------------------------- - -#ifndef eoStochasticUniversalSelect_h -#define eoStochasticUniversalSelect_h - -//----------------------------------------------------------------------------- - -#include -#include -#include -#include - -//----------------------------------------------------------------------------- -/** eoStochasticUniversalSelect: select an individual proportional to her stored fitness - value, but in contrast with eoStochasticUniversalSelect, get rid of most finite sampling effects - by doing all selections in one go, using a single random number. -*/ -//----------------------------------------------------------------------------- - -template class eoStochasticUniversalSelect: public eoSelectOne -{ -public: - /// Sanity check - eoStochasticUniversalSelect(const eoPop& pop = eoPop()) - { - if (minimizing_fitness()) - throw std::logic_error("eoStochasticUniversalSelect: minimizing fitness"); - } - - void setup(const eoPop& _pop) - { - if (_pop.size() == 0) return; - - std::vector cumulative(_pop.size()); - - cumulative[0] = _pop[0].fitness(); - for (unsigned i = 1; i < _pop.size(); ++i) - { - cumulative[i] = _pop[i].fitness() + cumulative[i-1]; - } - - indices.reserve(_pop.size()); - indices.resize(0); - - double fortune = rng.uniform() * cumulative.back(); - double step = cumulative.back() / double(_pop.size()); - - unsigned i = std::upper_bound(cumulative.begin(), cumulative.end(), fortune) - cumulative.begin(); - - while (indices.size() < _pop.size()) { - - while (cumulative[i] < fortune) {i++;} // linear search is good enough as we average one step each time - - indices.push_back(i); - fortune += step; - if (fortune >= cumulative.back()) { // start at the beginning - fortune -= cumulative.back(); - i = 0; - } - } - // shuffle - for (int i = indices.size() - 1; i > 0; --i) { - int j = rng.random(i+1); - std::swap(indices[i], indices[j]); - } - } - - /** do the selection, - */ - const EOT& operator()(const eoPop& _pop) - { - if (indices.empty()) setup(_pop); - - unsigned index = indices.back(); - indices.pop_back(); - return _pop[index]; - } - -private : - - typedef std::vector IndexVec; - IndexVec indices; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoSurviveAndDie.h b/trunk/paradiseo-eo/src/eoSurviveAndDie.h deleted file mode 100644 index f99d646c4..000000000 --- a/trunk/paradiseo-eo/src/eoSurviveAndDie.h +++ /dev/null @@ -1,191 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSurviveAndDie.h - (c) Maarten Keijzer, Marc Schoenauer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSurviveAndDie_h -#define _eoSurviveAndDie_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** -eoSurviveAndDie: takes a population (first argument), -kills the ones that are to die, -puts the ones that are to survive into the second argument -removes them from the first pop argument - -@classes: eoSurviveAndDie, eoDeterministicSurviveAndDie, - eoDeterministicSaDReplacement -*/ - -/** eoSurviveAndDie -A pure abstract class, to store the howmany's -*/ -template -class eoSurviveAndDie : public eoBF &, eoPop &, void> -{ -public: - eoSurviveAndDie(double _survive, double _die, bool _interpret_as_rate = true): - howmanySurvive(_survive, _interpret_as_rate), - howmanyDie(_die, _interpret_as_rate) - {} - -protected: - eoHowMany howmanySurvive; - eoHowMany howmanyDie; - -}; - -/** An instance (theonly one as of today, Dec. 20, 2000) of an - eoSurviveAndDie, that does everything deterministically - - Used in eoDeterministicSaDReplacement. -*/ -template -class eoDeterministicSurviveAndDie : public eoSurviveAndDie -{ -public: - - using eoSurviveAndDie< EOT >::howmanyDie; - using eoSurviveAndDie< EOT >::howmanySurvive; - - /** constructor */ - eoDeterministicSurviveAndDie(double _survive, double _die, bool _interpret_as_rate = true) - : eoSurviveAndDie< EOT >(_survive, _die, _interpret_as_rate) - {} - - - void operator()(eoPop & _pop, eoPop & _luckyGuys) - { - unsigned pSize = _pop.size(); - unsigned nbSurvive = howmanySurvive(pSize); - // first, save the best into _luckyGuys - if (nbSurvive) - { - _pop.nth_element(nbSurvive); - // copy best - _luckyGuys.resize(nbSurvive); - std::copy(_pop.begin(), _pop.begin()+nbSurvive, _luckyGuys.begin()); - // erase them from pop - _pop.erase(_pop.begin(), _pop.begin()+nbSurvive); - } - unsigned nbRemaining = _pop.size(); - - // carefull, we can have a rate of 1 if we want to kill all remaining - unsigned nbDie = std::min(howmanyDie(pSize), pSize-nbSurvive); - if (nbDie > nbRemaining) - throw std::logic_error("eoDeterministicSurviveAndDie: Too many to kill!\n"); - - if (!nbDie) - { - return; - } - // else - // kill the worse nbDie - _pop.nth_element(nbRemaining-nbDie); - _pop.resize(nbRemaining-nbDie); - } - -}; - -/** -eoDeterministicSaDReplacement: replacement strategy that is just, in sequence - saves best and kill worse from parents -+ saves best and kill worse from offspring -+ merge remaining (neither save nor killed) parents and offspring -+ reduce that merged population -= returns reduced pop + best parents + best offspring - -An obvious use is as strong elitist strategy, - i.e. preserving best parents, and reducing - (either offspring or parents+offspring) -*/ -template -class eoDeterministicSaDReplacement : public eoReplacement -{ -public: - /** Constructor with reduce */ - eoDeterministicSaDReplacement(eoReduce& _reduceGlobal, - double _surviveParents, double _dieParents=0, - double _surviveOffspring=0, double _dieOffspring=0, - bool _interpret_as_rate = true ) : - reduceGlobal(_reduceGlobal), - sAdParents(_surviveParents, _dieParents, _interpret_as_rate), - sAdOffspring(_surviveOffspring, _dieOffspring, _interpret_as_rate) - {} - - /** Constructor with default truncate used as reduce */ - eoDeterministicSaDReplacement( - double _surviveParents, double _dieParents=0, - double _surviveOffspring=0, double _dieOffspring=0, - bool _interpret_as_rate = true ) : - reduceGlobal(truncate), - sAdParents(_surviveParents, _dieParents, _interpret_as_rate), - sAdOffspring(_surviveOffspring, _dieOffspring, _interpret_as_rate) - {} - - void operator()(eoPop& _parents, eoPop& _offspring) - { - unsigned pSize = _parents.size(); // target number of individuals - - eoPop luckyParents; // to hold the absolute survivors - sAdParents(_parents, luckyParents); - - eoPop luckyOffspring; // to hold the absolute survivors - sAdOffspring(_offspring, luckyOffspring); - - unsigned survivorSize = luckyOffspring.size() + luckyParents.size(); - if (survivorSize > pSize) - throw std::logic_error("eoGeneralReplacement: More survivors than parents!\n"); - - plus(_parents, _offspring); // all that remain in _offspring - - reduceGlobal(_offspring, pSize - survivorSize); - plus(luckyParents, _offspring); - plus(luckyOffspring, _offspring); - - _parents.swap(_offspring); - - } - -private : - eoReduce& reduceGlobal; - eoDeterministicSurviveAndDie sAdParents; - eoDeterministicSurviveAndDie sAdOffspring; - // plus helper (could be replaced by operator+= ???) - eoPlus plus; - // the default reduce: deterministic truncation - eoTruncate truncate; -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/eoTransform.h b/trunk/paradiseo-eo/src/eoTransform.h deleted file mode 100644 index 40bc81383..000000000 --- a/trunk/paradiseo-eo/src/eoTransform.h +++ /dev/null @@ -1,41 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoTransform.h - (c) Maarten Keijzer, GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoTransform_h -#define _eoTransform_h - - -//----------------------------------------------------------------------------- -#include -//----------------------------------------------------------------------------- - -/** -eoTransform transforms a population by applying genetic operators on -it. -*/ -template -class eoTransform : public eoUF&, void> -{}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoTruncSelect.h b/trunk/paradiseo-eo/src/eoTruncSelect.h deleted file mode 100644 index 0c64e1622..000000000 --- a/trunk/paradiseo-eo/src/eoTruncSelect.h +++ /dev/null @@ -1,73 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoTruncSelect.h - (c) Maarten Keijzer, Marc Schoenauer, GeNeura Team, 2002 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoTruncSelect_h -#define _eoTruncSelect_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -//----------------------------------------------------------------------------- - -/** eoTruncSelect selects individuals after truncating the population - * using eoSelectOne as it's mechanism. - * Therefore eoSelectMany needs an eoSelectOne in its ctor - * It will use an eoHowMnay to determine the number of guys to keep, -*/ -template -class eoTruncSelect : public eoSelect -{ - public: - /** Ctor: from an eoSelect (and an eoMany to tell how many are kept for selectino */ - eoTruncSelect(eoSelectOne& _select, eoHowMany _howMany) - : select(_select), howMany(_howMany) {} - - /** - The implementation repeatidly selects an individual - - @param _source the source population - @param _dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it) - */ - virtual void operator()(const eoPop& _source, eoPop& _dest) - { - unsigned target = howMany(_source.size()); - - _dest.resize(target); - - select.setup(_source); - - for (size_t i = 0; i < _dest.size(); ++i) - _dest[i] = select(_source); - } - -private : - eoSelectOne& select; - eoHowMany howMany; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoTruncatedSelectMany.h b/trunk/paradiseo-eo/src/eoTruncatedSelectMany.h deleted file mode 100644 index 9cad8dbc4..000000000 --- a/trunk/paradiseo-eo/src/eoTruncatedSelectMany.h +++ /dev/null @@ -1,117 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoTruncatedSelectMany.h - (c) Maarten Keijzer, Marc Schoenauer, GeNeura Team, 2002 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoTruncatedSelectMany_h -#define _eoTruncatedSelectMany_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** eoTruncatedSelectMany selects many individuals using eoSelectOne as it's - mechanism. Therefore eoSelectMany needs an eoSelectOne in its ctor - - It will use an eoHowMnay to determine the number of guys to select, - and push them to the back of the destination population. - - And it will only perform selection from the top guys in the population. - - It is NOT a special case of eoSelectMany because it needs to SORT - the population to discard the worst guys before doing the selection - - However, the same result can be obtained by embedding an - eoTruncatedSelectOne into an eoSelectMany ... -*/ -template -class eoTruncatedSelectMany : public eoSelect -{ - public: - /// Ctor - eoTruncatedSelectMany(eoSelectOne& _select, - double _rateGenitors, double _rateFertile, - bool _interpret_as_rateG = true, - bool _interpret_as_rateF = true) - : select(_select), - howManyGenitors(_rateGenitors, _interpret_as_rateG), - howManyFertile(_rateFertile, _interpret_as_rateF) {} - - // Ctor with eoHowManys - eoTruncatedSelectMany(eoSelectOne& _select, - eoHowMany _howManyGenitors, eoHowMany _howManyFertile) - : select(_select), howManyGenitors(_howManyGenitors), - howManyFertile(_howManyFertile) {} - - /** - The implementation repeatidly selects an individual - - @param _source the source population - @param _dest the resulting population (size of this population is the number of times eoSelectOne is called. It empties the destination and adds the selection into it) - */ - virtual void operator()(const eoPop& _source, eoPop& _dest) - { - unsigned target = howManyGenitors(_source.size()); - - _dest.resize(target); - - unsigned nbFertile = howManyFertile(_source.size()); - - //revert to standard selection (see eoSelectMany) if no truncation - if (nbFertile == _source.size()) - { - select.setup(_source); - - for (size_t i = 0; i < _dest.size(); ++i) - _dest[i] = select(_source); - } - else - { - // at the moment, brute force (rush rush, no good) - // what we would need otherwise is a std::vector class - // and selectors that act on such a thing - eoPop tmpPop = _source; // hum hum, could be a pain in the ass - - tmpPop.sort(); // maybe we could only do partial sort? - tmpPop.resize(nbFertile); // only the best guys here now - tmpPop.shuffle(); // as some selectors are order-sensitive - - select.setup(tmpPop); - - for (size_t i = 0; i < _dest.size(); ++i) - _dest[i] = select(tmpPop); - } - } - -private : - eoSelectOne& select; // selector for one guy - eoHowMany howManyGenitors; // number of guys to select - eoHowMany howManyFertile; // number of fertile guys -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoTruncatedSelectOne.h b/trunk/paradiseo-eo/src/eoTruncatedSelectOne.h deleted file mode 100644 index b65739c41..000000000 --- a/trunk/paradiseo-eo/src/eoTruncatedSelectOne.h +++ /dev/null @@ -1,111 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoTruncatedSelectOne.h - (c) Maarten Keijzer, Marc Schoenauer, GeNeura Team, 2002 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoTruncatedSelectOne_h -#define _eoTruncatedSelectOne_h - - -//----------------------------------------------------------------------------- -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** eoTruncatedSelectOne selects one individual using eoSelectOne as it's - mechanism. Therefore eoTruncatedSelectOne needs an eoSelectOne in its ctor - - It will perform selection only from the top guys in the population. - -*/ -template -class eoTruncatedSelectOne : public eoSelectOne -{ -public: - /** Ctor from rate and bool */ - eoTruncatedSelectOne(eoSelectOne& _select, - double _rateFertile, - bool _interpret_as_rateF = true) - : select(_select), - howManyFertile(_rateFertile, _interpret_as_rateF), - tmpPop(), actualPop(tmpPop) - {} - - /** Ctor with eoHowMany */ - eoTruncatedSelectOne(eoSelectOne& _select, - eoHowMany _howManyFertile) - : select(_select), howManyFertile(_howManyFertile), - tmpPop(), actualPop(tmpPop) - {} - - - /** setup procedures: fills the temporary population with the fertile guys */ - void setup(const eoPop& _source) - { - unsigned fertile = howManyFertile(_source.size()); - if (fertile == _source.size()) // noting to do, all are fertile - { - actualPop = _source; - } - else - { - // copy only best ferile to actualPop - tmpPop.resize(fertile); - std::vector result; - _source.nth_element(fertile, result); - for (unsigned i=0; i& _pop) - { - return select(actualPop); - } - - -private : - eoSelectOne& select; // selector for one guy - eoHowMany howManyFertile; // number of fertile guys - eoPop tmpPop; // intermediate population - fertile guys - eoPop & actualPop; // to avoid copies when 100% fertility -}; - -#endif diff --git a/trunk/paradiseo-eo/src/eoVariableLengthCrossover.h b/trunk/paradiseo-eo/src/eoVariableLengthCrossover.h deleted file mode 100644 index 1e0772da8..000000000 --- a/trunk/paradiseo-eo/src/eoVariableLengthCrossover.h +++ /dev/null @@ -1,348 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoVariableLengthCrossover.h -// (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@cs.vu.nl - */ -//----------------------------------------------------------------------------- - -#ifndef _eoVariableLengthCrossover_h -#define _eoVariableLengthCrossover_h - -#include -#include - -/** - Base classes for generic crossovers on variable length chromosomes. - -Basically, they exchange genes - we need some matching information to apply -atom crossover -*/ - -/** A helper class for choosing which genes to exchange */ -template -class eoAtomExchange : public eoBF -{ -public: - /** a function to initlialize - to be called before every crossover */ - virtual void randomize(unsigned int, unsigned int){} - /** the inherited className() */ - virtual std::string className() const=0; -}; - -/** Uniform crossover - well, not really, efficient for FixedLength */ -template -class eoUniformAtomExchange: public eoAtomExchange -{ -public: - eoUniformAtomExchange(double _rate=0.5):rate(_rate){} - - /** randomize: fill the mask: the exchange will be simulated first - * to see if sizes are OK, so it must be repeatable : - * the mask has to be a private data, cannot be computed on the fly - */ - void randomize(unsigned _size1, unsigned _size2) - { - mask.resize(_size1 + _size2); - for (unsigned i=0; i<_size1+_size2; i++) - mask[i]=eo::rng.flip(rate); - } - - /** the operator() simply returns the mask booleans in turn */ - bool operator()(unsigned _i, Atom & ) - { - return mask[_i]; - } - - /** inherited className() */ - virtual std::string className() const {return "eoUniformAtomExchange";} - -private: - double rate; - std::vector mask; -}; - -///////////////////////////////////////////////////////////////////// -////// Now the operators themsleves -///////////////////////////////////////////////////////////////////// - -/** Exchange Crossover using an AtomExchange - */ -template -class eoVlAtomExchangeQuadOp : public eoQuadOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires bounds on number of genes + a rate */ - eoVlAtomExchangeQuadOp(unsigned _Min, unsigned _Max, - eoAtomExchange& _atomExchange): - Min(_Min), Max(_Max), atomExchange(_atomExchange) {} - - bool operator()(EOT & _eo1, EOT & _eo2) - { - EOT tmp1, tmp2; // empty individuals - unsigned index=0; - // main loop: until sizes are OK, do only simulated exchange - unsigned i, i1, i2; - do { - // "initialize the AtomExchange - atomExchange.randomize(_eo1.size(), _eo2.size()); - // simulate crossover - i1=i2=0; - for (i=0; i<_eo1.size(); i++) - { - if (atomExchange(i, _eo1[i])) - i1++; - else - i2++; - } - for (i=0; i<_eo2.size(); i++) - { - if (atomExchange(i, _eo2[i])) - i2++; - else - i1++; - } - index++; - } while ( ( (i1Max) || (i2>Max) ) - && (index<10000) ); - if (index >= 10000) - { - std::cout << "Warning: impossible to generate individual of the right size in 10000 trials\n"; - return false; - } - // here we know we have the right sizes: do the actual exchange - for (i=0; i<_eo1.size(); i++) - { - if (atomExchange(i, _eo1[i])) - tmp1.push_back(_eo1[i]); - else - tmp2.push_back(_eo1[i]); - } - for (i=0; i<_eo2.size(); i++) - { - if (atomExchange(i, _eo2[i])) - tmp2.push_back(_eo2[i]); - else - tmp1.push_back(_eo2[i]); - } - // and put everything back in place - _eo1.swap(tmp1); - _eo2.swap(tmp2); - return true; // should we test that? Yes, but no time now - } - - /** the inherited className */ - virtual std::string className() const - { - std::ostringstream os; - os << "eoVlAtomExchangeQuadOp(" << atomExchange.className() << ")"; - return os.str(); - } - -private: - unsigned Min, Max; - eoAtomExchange & atomExchange; -}; - -/** Crossover using an AtomCrossover. Probably irrelevant in Variable Length - - see eoFlOrBinOp.h and eoFlOrQuadOp.h for the similar Fixed Length operators - */ -template -class eoInnerExchangeQuadOp : public eoQuadOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor: requires bounds on number of genes + a rate */ - eoInnerExchangeQuadOp( eoQuadOp& _op, float _rate = 0.5): - op(_op), rate( _rate ) {} - - /** performs the Atom crossover */ - bool operator()(EOT & _eo1, EOT & _eo2) - { - unsigned size1 = _eo1.size(), size2 = _eo2.size(), minsize = ( size1 > size2)?size2:size1; - bool changed = false; - for ( unsigned i = 0; i < minsize; i ++ ) { - if ( rng.flip( rate ) ) { - bool changedHere = op( _eo1[i], _eo2[i] ); - changed |= changedHere; - } - } - return changed; // should we test that? Yes, but no time now - } - - virtual std::string className() const - { - return "eoInnerExchangeQuadOp(" + op.className() + ")"; - } - -private: - float rate; - eoQuadOp & op; -}; - - - - -/** Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons - -A very primitive version, that does no verification at all!!! -NEEDS to be improved - but no time now :-((( -Especially, if both guys have maximal size, it will take a lot of time -to generate 2 offspring that both are not oversized!!! -Also, we should first check for identical atoms, and copy them to the -offspring, and only after that exchange the other ones (Radcliffe's RRR). - */ -template -class eoVlUniformQuadOp : public eoQuadOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - // default ctor: requires bounds on number of genes + a rate - eoVlUniformQuadOp(unsigned _Min, unsigned _Max, double _rate=0.5) : - Min(_Min), Max(_Max), rate(_rate) {} - - bool operator()(EOT & _eo1, EOT & _eo2) - { - unsigned i; - EOT tmp1, tmp2; - unsigned index=0; - do { - for (i=0; i<_eo1.size(); i++) - { - if (eo::rng.flip(rate)) - tmp1.push_back(_eo1[i]); - else - tmp2.push_back(_eo1[i]); - // here we should look for _eo1[i] inside _eo2 and erase it if found! - } - for (i=0; i<_eo2.size(); i++) - { - if (eo::rng.flip(rate)) - tmp1.push_back(_eo2[i]); - else - tmp2.push_back(_eo2[i]); - } - index++; - } while ( ( (tmp1.size()Max) || (tmp2.size()>Max) ) - && (index<10000) ); - if (index >= 10000) - { - std::cout << "Warning: impossible to generate individual of the right size in 10000 trials\n"; - return false; - } - - _eo1.swap(tmp1); - _eo2.swap(tmp2); - return true; // should we test that? - } -private: - unsigned Min, Max; - double rate; -}; - - -/** Direct Uniform Exchange of genes for Variable Length, BINARY version - -A very primitive version, that does no verification at all!!! -NEEDS to be improved - but no time now :-((( -Especially, if both guys have maximal size, it will take some time -to generate even 1 offspring that is not oversized!!! -Also, we should first check for identical atoms, and copy them to the -offspring, and only after that exchange the other ones (Radcliffe's RRR). - */ -template -class eoVlUniformBinOp : public eoBinOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - // default ctor: requires bounds on number of genes + a rate - eoVlUniformBinOp(unsigned _Min, unsigned _Max, double _rate=0.5) : - Min(_Min), Max(_Max), rate(_rate) {} - - bool operator()(EOT & _eo1, const EOT & _eo2) - { - unsigned i; - EOT tmp1; - bool tmpIsOne=true, tmpIsTwo=true; - unsigned index=0; - do { - for (i=0; i<_eo1.size(); i++) - { - if (eo::rng.flip(rate)) - { - tmp1.push_back(_eo1[i]); - tmpIsTwo = false; - } - else - tmpIsOne=false; - // we should look for _eo1[i] inside _eo2 and erase it there if found! - } - for (i=0; i<_eo2.size(); i++) - { - if (! eo::rng.flip(rate)) - { - tmp1.push_back(_eo2[i]); - tmpIsOne = false; - } - else - tmpIsTwo = false; - } - index++; - } while ( ( (tmp1.size()Max) ) - && (index<10000) ); - // this while condition is not optimal, as it may take some time - if (index >= 10000) - { - std::cout << "Warning: impossible to generate individual of the right size in 10000 trials\n"; - return false; - } - - _eo1.swap(tmp1); - if (tmpIsTwo) - { - // _eo1.fitness(_eo2.fitness()); NO FITNESS EXISTS HERE! - return false; - } - if (tmpIsOne) // already has the right fitness - { // WRONG: NO FITNESS EXISTS HERE! - return false; - } - return true; // there were some modifications... - } - -private: - unsigned Min, Max; - double rate; -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/eoVariableLengthMutation.h b/trunk/paradiseo-eo/src/eoVariableLengthMutation.h deleted file mode 100644 index 585fc3767..000000000 --- a/trunk/paradiseo-eo/src/eoVariableLengthMutation.h +++ /dev/null @@ -1,158 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoVariableLengthMutation.h -// (c) Marc Schoenauer 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@cs.vu.nl - */ -//----------------------------------------------------------------------------- - -#ifndef _eoVariableLengthMutation_h -#define _eoVariableLengthMutation_h - -#include -#include -#include - -/** - Base classes for generic mutations on variable length chromosomes. - Contains addition and deletion of a gene - - The generic mutations that apply a gene-level mutation to some genes - dont't modify the length, and so are NOT specific to variable-length - Hence they are in file eoFlOr MonOp.h file (FixedLengthOrdered mutations) -*/ - - -/** Addition of a gene - Is inserted at a random position - so can be applied to both - order-dependent and order-independent - */ -template -class eoVlAddMutation : public eoMonOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** default ctor - - * @param nMax max number of atoms - * @param _atomInit an Atom initializer - */ - eoVlAddMutation(unsigned _nMax, eoInit & _atomInit) : - nMax(_nMax), atomInit(_atomInit) {} - - /** operator: actually adds an Atom */ - bool operator()(EOT & _eo) - { - if (_eo.size() >= nMax) - return false; // unmodifed - AtomType atom; - atomInit(atom); - unsigned pos = rng.random(_eo.size()+1); - _eo.insert(_eo.begin()+pos, atom); - return true; - } - - /** inherited className */ - virtual std::string className() const { return "eoVlAddMutation"; } - -private: - unsigned nMax; - eoInit & atomInit; -}; - - -/** A helper class for choosing which site to delete */ -template -class eoGeneDelChooser : public eoUF -{ -public: - virtual std::string className() const =0; - -}; - -/** Uniform choice of gene to delete */ -template -class eoUniformGeneChooser: public eoGeneDelChooser -{ -public: - eoUniformGeneChooser(){} - unsigned operator()(EOT & _eo) - { - return eo::rng.random(_eo.size()); - } - virtual std::string className() const { return "eoUniformGeneChooser"; } -}; - -/** Deletion of a gene - By default at a random position, but a "chooser" can be specified - can of course be applied to both order-dependent and order-independent - */ -template -class eoVlDelMutation : public eoMonOp -{ -public : - - typedef typename EOT::AtomType AtomType; - - /** ctor with an external gene chooser - - * @param nMin min number of atoms to leave in the individual - * @param _geneChooser an eoGeneCHooser to choose which one to delete - */ - eoVlDelMutation(unsigned _nMin, eoGeneDelChooser & _chooser) : - nMin(_nMin), uChooser(), chooser(_chooser) {} - - /** ctor with uniform gene chooser - the default - - * @param nMin min number of atoms to leave in the individual - */ - eoVlDelMutation(unsigned _nMin) : - nMin(_nMin), uChooser(), chooser(uChooser) {} - - /** Do the job (delete one gene) - * @param _eo the EO to mutate - */ - bool operator()(EOT & _eo) - { - if (_eo.size() <= nMin) - return false; // unmodifed - unsigned pos = chooser(_eo); - _eo.erase(_eo.begin()+pos); - return true; - } - - virtual std::string className() const - { - std::ostringstream os; - os << "eoVlDelMutation("< uChooser; - eoGeneDelChooser & chooser; -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/eoVector.h b/trunk/paradiseo-eo/src/eoVector.h deleted file mode 100644 index e06ac1685..000000000 --- a/trunk/paradiseo-eo/src/eoVector.h +++ /dev/null @@ -1,138 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoVector.h -// (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - - CVS Info: $Date: 2005/10/06 17:22:40 $ $Header: /cvsroot/eodev/eo/src/eoVector.h,v 1.17 2005/10/06 17:22:40 kuepper Exp $ $Author: kuepper $ - - */ -//----------------------------------------------------------------------------- - -#ifndef _eoVector_h -#define _eoVector_h - -#include -#include -#include - -/** - - Base class for fixed length chromosomes, just derives from EO and std::vector and - redirects the smaller than operator to EO (fitness based comparison). GeneType - must have the following methods: void ctor (needed for the std::vector<>), copy ctor, - - -*/ -template -class eoVector : public EO, public std::vector -{ -public: - - using EO::invalidate; - using std::vector::operator[]; - using std::vector::begin; - using std::vector::end; - using std::vector::resize; - using std::vector::size; - - typedef GeneType AtomType; - typedef std::vector ContainerType; - - /** default constructor - - @param size Length of vector (default is 0) - @param value Initial value of all elements (default is default value of type GeneType) - */ - eoVector(unsigned size = 0, GeneType value = GeneType()) - : EO(), std::vector(size, value) - {} - - /// copy ctor abstracting from the FitT - template - eoVector(const eoVector& _vec) : std::vector(_vec) - {} - - // we can't have a Ctor from a std::vector, it would create ambiguity - // with the copy Ctor - void value(const std::vector& _v) - { - if (_v.size() != size()) // safety check - { - if (size()) // NOT an initial empty std::vector - std::cout << "Warning: Changing size in eoVector assignation"<::operator< - bool operator<(const eoVector& _eo) const - { - return EO::operator<(_eo); - } - - /// printing... - virtual void printOn(std::ostream& os) const - { - EO::printOn(os); - os << ' '; - - os << size() << ' '; - - std::copy(begin(), end(), std::ostream_iterator(os, " ")); - } - - /// reading... - virtual void readFrom(std::istream& is) - { - EO::readFrom(is); - - unsigned sz; - is >> sz; - - resize(sz); - unsigned i; - - for (i = 0; i < sz; ++i) - { - AtomType atom; - is >> atom; - operator[](i) = atom; - } - } -}; - -/// to avoid conflicts between EO::operator< and std::vector::operator< -template -bool operator<(const eoVector& _eo1, const eoVector& _eo2) -{ - return _eo1.operator<(_eo2); -} -template -bool operator>(const eoVector& _eo1, const eoVector& _eo2) -{ - return _eo1.operator>(_eo2); -} - -#endif diff --git a/trunk/paradiseo-eo/src/es.h b/trunk/paradiseo-eo/src/es.h deleted file mode 100644 index 17545f3e0..000000000 --- a/trunk/paradiseo-eo/src/es.h +++ /dev/null @@ -1,63 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// es.h -// (c) GeNeura Team 1998 - Maarten Keijzer 2000 - Marc Schoenauer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#ifndef _es_h -#define _es_h - -// contains the include specific to real representations, i.e. in src/es dir -//----------------------------------------------------------------------------- - -// the genotypes - from plain std::vector to full correlated mutation -#include -#include -#include -#include - -// the initialization -#include - -// general operators -#include -#include -#include // for generic operators - -// SBX crossover (following Deb) -#include - -// ES specific operators -#include // Global ES Xover -#include // 2-parents ES Xover - -// the ES-mutations -#include -#include - -#endif diff --git a/trunk/paradiseo-eo/src/es/.cvsignore b/trunk/paradiseo-eo/src/es/.cvsignore deleted file mode 100644 index 69fb0bd82..000000000 --- a/trunk/paradiseo-eo/src/es/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.lo -*.la -.deps -.libs -Makefile -Makefile.in diff --git a/trunk/paradiseo-eo/src/es/CMAParams.cpp b/trunk/paradiseo-eo/src/es/CMAParams.cpp deleted file mode 100644 index 1ded097db..000000000 --- a/trunk/paradiseo-eo/src/es/CMAParams.cpp +++ /dev/null @@ -1,234 +0,0 @@ - -/* - * C++ification of Nikolaus Hansen's original C-source code for the - * CMA-ES - * - * C++-ificiation performed by Maarten Keijzer (C) 2005. Licensed under - * the LGPL. Original copyright of Nikolaus Hansen can be found below - * - * - * - */ - -/* --------------------------------------------------------- */ -/* --------------------------------------------------------- */ -/* --- File: cmaes.c -------- Author: Nikolaus Hansen --- */ -/* --------------------------------------------------------- */ -/* - * CMA-ES for non-linear function minimization. - * - * Copyright (C) 1996, 2003 Nikolaus Hansen. - * e-mail: hansen@bionik.tu-berlin.de - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later - * version (see http://www.gnu.org/copyleft/lesser.html). - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * */ -/* --- Changes : --- - * 03/03/21: argument const double *rgFunVal of - * cmaes_ReestimateDistribution() was treated incorrectly. - * 03/03/29: restart via cmaes_resume_distribution() implemented. - * 03/03/30: Always max std dev / largest axis is printed first. - * 03/08/30: Damping is adjusted for large mueff. - * 03/10/30: Damping is adjusted for large mueff always. - * 04/04/22: Cumulation time and damping for step size adjusted. - * No iniphase but conditional update of pc. - * Version 2.23. - * */ - -#include -#include - -#include - -using namespace std; - -namespace eo { - -CMAParams::CMAParams(eoParser& parser, unsigned dimensionality) { - - string section = "CMA parameters"; - - n = parser.createParam(dimensionality, "dimensionality", "Dimensionality (N) of the problem", 'N', section, dimensionality == 0).value(); - - maxgen = parser.createParam( - 1000, - "max-gen", - "Maximum number of generations that the system will run (needed for damping)", - 'M', - section).value(); - - - if (n == 0) { - return; - } - - defaults(n, maxgen); - - /* handle lambda */ - lambda = parser.createParam( - lambda, - "lambda", - "Number of offspring", - 'l', - section).value(); - - if (lambda < 2) { - lambda = 4+(int)(3*log((double) n)); - cerr << "Too small lambda specified, setting it to " << lambda << endl; - } - - /* handle mu */ - mu = parser.createParam( - mu, - "mu", - "Population size", - 'm', - section).value(); - - if (mu >= lambda) { - mu = lambda/2; - cerr << "Mu set larger/equal to lambda, setting it to " << mu << endl; - } - - /* handle selection weights */ - - int weight_type = parser.createParam( - 0, - "weighting", - "Weighting scheme (for 'selection'): 0 = logarithmic, 1 = equal, 2 = linear", - 'w', - section).value(); - - switch (weight_type) { - case 1: - { - for (unsigned i = 0; i < weights.size(); ++i) { - weights[i] = mu - i; - } - } - case 2: - { - weights = 1.; - } - default : - { - for (unsigned i = 0; i < weights.size(); ++i) { - weights[i] = log(mu+1.)-log(i+1.); - } - } - - } - - /* Normalize weights and set mu_eff */ - double sumw = weights.sum(); - mueff = sumw * sumw / (weights * weights).sum(); - weights /= sumw; - - - /* most of the rest depends on mu_eff, so needs to be set again */ - - /* set the others using Nikolaus logic. If you want to tweak, you can parameterize over these defaults */ - mucov = mueff; - ccumsig = (mueff + 2.) / (n + mueff + 3.); - ccumcov = 4. / (n + 4); - - double t1 = 2. / ((n+1.4142)*(n+1.4142)); - double t2 = (2.*mucov-1.) / ((n+2.)*(n+2.)+mucov); - t2 = (t2 > 1) ? 1 : t2; - t2 = (1./mucov) * t1 + (1.-1./mucov) * t2; - - ccov = t2; - - damp = 1 + std::max(0.3,(1.-(double)n/(double)maxgen)) - * (1+2*std::max(0.,sqrt((mueff-1.)/(n+1.))-1)) /* limit sigma increase */ - / ccumsig; - - vector mins(1,0.0); - mins = parser.createParam( - mins, - "min-stdev", - "Array of minimum stdevs, last one will apply for all remaining axes", - 0, - section).value(); - - if (mins.size() > n) mins.resize(n); - - if (mins.size()) { - minStdevs = mins.back(); - for (unsigned i = 0; i < mins.size(); ++i) { - minStdevs[i] = mins[i]; - } - } - - vector inits(1,0.3); - inits = parser.createParam( - inits, - "init-stdev", - "Array of initial stdevs, last one will apply for all remaining axes", - 0, - section).value(); - - if (inits.size() > n) inits.resize(n); - - if (inits.size()) { - initialStdevs = inits.back(); - for (unsigned i = 0; i < inits.size(); ++i) { - initialStdevs[i] = inits[i]; - } - } - -} - -void CMAParams::defaults(unsigned n_, unsigned maxgen_) { - n = n_; - maxgen = maxgen_; - - lambda = 4+(int)(3*log((double) n)); - mu = lambda / 2; - - weights.resize(mu); - - for (unsigned i = 0; i < weights.size(); ++i) { - weights[i] = log(mu+1.)-log(i+1.); - } - - /* Normalize weights and set mu_eff */ - double sumw = weights.sum(); - mueff = sumw * sumw / (weights * weights).sum(); - weights /= sumw; - - mucov = mueff; - ccumsig *= (mueff + 2.) / (n + mueff + 3.); - ccumcov = 4. / (n + 4); - - double t1 = 2. / ((n+1.4142)*(n+1.4142)); - double t2 = (2.*mucov-1.) / ((n+2.)*(n+2.)+mucov); - t2 = (t2 > 1) ? 1 : t2; - t2 = (1./mucov) * t1 + (1.-1./mucov) * t2; - - ccov = t2; - - damp = 1 + std::max(0.3,(1.-(double)n/maxgen)) - * (1+2*std::max(0.,sqrt((mueff-1.)/(n+1.))-1)) /* limit sigma increase */ - / ccumsig; - - minStdevs.resize(n); - minStdevs = 0.0; - - initialStdevs.resize(n); - initialStdevs = 0.3; - - -} - - -}// namespace eo diff --git a/trunk/paradiseo-eo/src/es/CMAParams.h b/trunk/paradiseo-eo/src/es/CMAParams.h deleted file mode 100644 index f59d6c929..000000000 --- a/trunk/paradiseo-eo/src/es/CMAParams.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * C++ification of Nikolaus Hansen's original C-source code for the - * CMA-ES. - * - * Copyright (C) 1996, 2003, Nikolaus Hansen - * (C) 2005, Maarten Keijzer - * - * License: LGPL - * - */ - -#ifndef CMAPARAMS_H__ -#define CMAPARAMS_H__ - -#include - -class eoParser; -namespace eo { - -class CMAParams { - - public: - - CMAParams() { /* Call this and all values need to be set by hand */ } - CMAParams(eoParser& parser, unsigned dimensionality = 0); // 0 dimensionality -> user needs to set it - - void defaults(unsigned n_, unsigned maxgen_); /* apply all defaults using n and maxgen */ - - unsigned n; - unsigned maxgen; - - unsigned lambda; /* -> mu */ - unsigned mu; /* -> weights, lambda */ - - std::valarray weights; /* <- mu, -> mueff -> mucov -> ccov */ - double mueff; /* <- weights */ - - double mucov; - - double damp; /* <- ccumsig, maxeval, lambda */ - double ccumsig; /* -> damp, <- N */ - double ccumcov; - double ccov; /* <- mucov, N */ - - std::valarray minStdevs; /* Minimum standard deviations per coordinate (default = 0.0) */ - std::valarray initialStdevs; /* Initial standard deviations per coordinate (default = 0.3) */ -}; - -} // namespace eo - -#endif - diff --git a/trunk/paradiseo-eo/src/es/CMAState.cpp b/trunk/paradiseo-eo/src/es/CMAState.cpp deleted file mode 100644 index f44fdf5d7..000000000 --- a/trunk/paradiseo-eo/src/es/CMAState.cpp +++ /dev/null @@ -1,365 +0,0 @@ -/* - * C++ification of Nikolaus Hansen's original C-source code for the - * CMA-ES - * - * C++-ificiation performed by Maarten Keijzer (C) 2005. Licensed under - * the LGPL. Original copyright of Nikolaus Hansen can be found below - * - * - * Some changes have been made to the original flow and logic of the - * algorithm: - * - * - Numerical issues are now treated 'before' going into the eigenvector decomposition - * (this was done out of convenience) - * - dMaxSignifiKond (smallest x such that x == x + 1.0) replaced by - * numeric_limits::epsilon() (smallest x such that 1.0 != 1.0 + x) - * - * - */ - -/* --------------------------------------------------------- */ -/* --------------------------------------------------------- */ -/* --- File: cmaes.c -------- Author: Nikolaus Hansen --- */ -/* --------------------------------------------------------- */ -/* - * CMA-ES for non-linear function minimization. - * - * Copyright (C) 1996, 2003 Nikolaus Hansen. - * e-mail: hansen@bionik.tu-berlin.de - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later - * version (see http://www.gnu.org/copyleft/lesser.html). - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * */ -/* --- Changes : --- - * 03/03/21: argument const double *rgFunVal of - * cmaes_ReestimateDistribution() was treated incorrectly. - * 03/03/29: restart via cmaes_resume_distribution() implemented. - * 03/03/30: Always max std dev / largest axis is printed first. - * 03/08/30: Damping is adjusted for large mueff. - * 03/10/30: Damping is adjusted for large mueff always. - * 04/04/22: Cumulation time and damping for step size adjusted. - * No iniphase but conditional update of pc. - * Version 2.23. - * */ - -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -using namespace std; - -namespace eo { - -struct CMAStateImpl { - - CMAParams p; - - lower_triangular_matrix C; // Covariance matrix - square_matrix B; // Eigen vectors (in columns) - valarray d; // eigen values (diagonal matrix) - valarray pc; // Evolution path - valarray ps; // Evolution path for stepsize; - - vector mean; // current mean to sample around - double sigma; // global step size - - unsigned gen; - vector fitnessHistory; - - - CMAStateImpl(const CMAParams& params_, const vector& m, double sigma_) : - p(params_), - C(p.n), B(p.n), d(p.n), pc(p.n), ps(p.n), mean(m), sigma(sigma_), - gen(0), fitnessHistory(3) - { - double trace = (p.initialStdevs * p.initialStdevs).sum(); - /* Initialize covariance structure */ - for (unsigned i = 0; i < p.n; ++i) - { - B[i][i] = 1.; - d[i] = p.initialStdevs[i] * sqrt(p.n / trace); - C[i][i] = d[i] * d[i]; - pc[i] = 0.; - ps[i] = 0.; - } - - } - - void sample(vector& v) { - unsigned n = p.n; - v.resize(n); - - vector tmp(n); - for (unsigned i = 0; i < n; ++i) - tmp[i] = d[i] * rng.normal(); - - /* add mutation (sigma * B * (D*z)) */ - for (unsigned i = 0; i < n; ++i) { - double sum = 0; - for (unsigned j = 0; j < n; ++j) { - sum += B[i][j] * tmp[j]; - } - v[i] = mean[i] + sigma * sum; - } - } - - void reestimate(const vector* >& pop, double muBest, double muWorst) { - - assert(pop.size() == p.mu); - - unsigned n = p.n; - - fitnessHistory[gen % fitnessHistory.size()] = muBest; // needed for divergence check - - vector oldmean = mean; - valarray BDz(n); - - /* calculate xmean and rgBDz~N(0,C) */ - for (unsigned i = 0; i < n; ++i) { - mean[i] = 0.; - for (unsigned j = 0; j < pop.size(); ++j) { - mean[i] += p.weights[j] * (*pop[j])[i]; - } - BDz[i] = sqrt(p.mueff)*(mean[i] - oldmean[i])/sigma; - } - - vector tmp(n); - /* calculate z := D^(-1) * B^(-1) * rgBDz into rgdTmp */ - for (unsigned i = 0; i < n; ++i) { - double sum = 0.0; - for (unsigned j = 0; j < n; ++j) { - sum += B[j][i] * BDz[j]; - } - tmp[i] = sum / d[i]; - } - - /* cumulation for sigma (ps) using B*z */ - for (unsigned i = 0; i < n; ++i) { - double sum = 0.0; - for (unsigned j = 0; j < n; ++j) - sum += B[i][j] * tmp[j]; - - ps[i] = (1. - p.ccumsig) * ps[i] + sqrt(p.ccumsig * (2. - p.ccumsig)) * sum; - } - - /* calculate norm(ps)^2 */ - double psxps = (ps * ps).sum(); - - - double chiN = sqrt((double) p.n) * (1. - 1./(4.*p.n) + 1./(21.*p.n*p.n)); - /* cumulation for covariance matrix (pc) using B*D*z~N(0,C) */ - double hsig = sqrt(psxps) / sqrt(1. - pow(1.-p.ccumsig, 2.*gen)) / chiN < 1.5 + 1./(p.n-0.5); - - pc = (1. - p.ccumcov) * pc + hsig * sqrt(p.ccumcov * (2. - p.ccumcov)) * BDz; - - /* stop initial phase (MK, this was not reachable in the org code, deleted) */ - - /* remove momentum in ps, if ps is large and fitness is getting worse */ - - if (gen >= fitnessHistory.size()) { - - // find direction from muBest and muWorst (muBest == muWorst handled seperately - double direction = muBest < muWorst? -1.0 : 1.0; - - unsigned now = gen % fitnessHistory.size(); - unsigned prev = (gen-1) % fitnessHistory.size(); - unsigned prevprev = (gen-2) % fitnessHistory.size(); - - bool fitnessWorsens = (muBest == muWorst) || // <- increase norm also when population has converged (this deviates from Hansen's scheme) - ( (direction * fitnessHistory[now] < direction * fitnessHistory[prev]) - && - (direction * fitnessHistory[now] < direction * fitnessHistory[prevprev])); - - if(psxps/p.n > 1.5 + 10.*sqrt(2./p.n) && fitnessWorsens) { - double tfac = sqrt((1 + std::max(0., log(psxps/p.n))) * p.n / psxps); - ps *= tfac; - psxps *= tfac*tfac; - } - } - - /* update of C */ - /* Adapt_C(t); not used anymore */ - if (p.ccov != 0.) { - //flgEigensysIsUptodate = 0; - - /* update covariance matrix */ - for (unsigned i = 0; i < n; ++i) { - vector::iterator c_row = C[i]; - for (unsigned j = 0; j <= i; ++j) { - c_row[j] = - (1 - p.ccov) * c_row[j] - + - p.ccov * (1./p.mucov) * pc[i] * pc[j] - + - (1-hsig) * p.ccumcov * (2. - p.ccumcov) * c_row[j]; - - /*C[i][j] = (1 - p.ccov) * C[i][j] - + sp.ccov * (1./sp.mucov) - * (rgpc[i] * rgpc[j] - + (1-hsig)*sp.ccumcov*(2.-sp.ccumcov) * C[i][j]); */ - for (unsigned k = 0; k < p.mu; ++k) { /* additional rank mu update */ - c_row[j] += p.ccov * (1-1./p.mucov) * p.weights[k] - * ( (*pop[k])[i] - oldmean[i]) - * ( (*pop[k])[j] - oldmean[j]) - / sigma / sigma; - - // * (rgrgx[index[k]][i] - rgxold[i]) - // * (rgrgx[index[k]][j] - rgxold[j]) - // / sigma / sigma; - } - } - } - } - - /* update of sigma */ - sigma *= exp(((sqrt(psxps)/chiN)-1.)/p.damp); - /* calculate eigensystem, must be done by caller */ - //cmaes_UpdateEigensystem(0); - - - /* treat minimal standard deviations and numeric problems - * Note that in contrast with the original code, some numerical issues are treated *before* we - * go into the eigenvalue calculation */ - - treatNumericalIssues(muBest, muWorst); - - gen++; // increase generation - } - - void treatNumericalIssues(double best, double worst) { - - /* treat stdevs */ - for (unsigned i = 0; i < p.n; ++i) { - if (sigma * sqrt(C[i][i]) < p.minStdevs[i]) { - // increase stdev - sigma *= exp(0.05+1./p.damp); - break; - } - } - - /* treat convergence */ - if (best == worst) { - sigma *= exp(0.2 + 1./p.damp); - } - - /* Jede Hauptachse i testen, ob x == x + 0.1 * sigma * rgD[i] * B[i] */ - /* Test if all the means are not numerically out of whack with our coordinate system*/ - for (unsigned axis = 0; axis < p.n; ++axis) { - double fac = 0.1 * sigma * d[axis]; - unsigned coord; - for (coord = 0; coord < p.n; ++coord) { - if (mean[coord] != mean[coord] + fac * B[coord][axis]) { - break; - } - } - - if (coord == p.n) { // means are way too big (little) for numerical accuraccy. Start rocking the craddle a bit more - sigma *= exp(0.2+1./p.damp); - } - - } - - /* Testen ob eine Komponente des Objektparameters festhaengt */ - /* Correct issues with scale between objective values and covariances */ - bool theresAnIssue = false; - - for (unsigned i = 0; i < p.n; ++i) { - if (mean[i] == mean[i] + 0.2 * sigma * sqrt(C[i][i])) { - C[i][i] *= (1. + p.ccov); - theresAnIssue = true; - } - } - - if (theresAnIssue) { - sigma *= exp(0.05 + 1./p.damp); - } - } - - - bool updateEigenSystem(unsigned max_tries, unsigned max_iters) { - - if (max_iters==0) max_iters = 30 * p.n; - - static double lastGoodMinimumEigenValue = 1.0; - - /* Try to get a valid calculation */ - for (unsigned tries = 0; tries < max_tries; ++tries) { - - unsigned iters = eig( p.n, C, d, B, max_iters); - if (iters < max_iters) - { // all is well - - /* find largest/smallest eigenvalues */ - double minEV = d.min(); - double maxEV = d.max(); - - /* (MK Original comment was) :Limit Condition of C to dMaxSignifKond+1 - * replaced dMaxSignifKond with 1./numeric_limits::epsilon() - * */ - if (maxEV * numeric_limits::epsilon() > minEV) { - double tmp = maxEV * numeric_limits::epsilon() - minEV; - minEV += tmp; - for (unsigned i=0;i& initial_point, const double initial_sigma) - : pimpl(new CMAStateImpl(params, initial_point, initial_sigma)) {} - -CMAState::~CMAState() { delete pimpl; } -CMAState::CMAState(const CMAState& that) : pimpl(new CMAStateImpl(*that.pimpl )) {} -CMAState& CMAState::operator=(const CMAState& that) { *pimpl = *that.pimpl; return *this; } - -void CMAState::sample(vector& v) const { pimpl->sample(v); } - -void CMAState::reestimate(const vector* >& population, double muBest, double muWorst) { pimpl->reestimate(population, muBest, muWorst); } -bool CMAState::updateEigenSystem(unsigned max_tries, unsigned max_iters) { return pimpl->updateEigenSystem(max_tries, max_iters); } - - -} // namespace eo - diff --git a/trunk/paradiseo-eo/src/es/CMAState.h b/trunk/paradiseo-eo/src/es/CMAState.h deleted file mode 100644 index 505a31b71..000000000 --- a/trunk/paradiseo-eo/src/es/CMAState.h +++ /dev/null @@ -1,79 +0,0 @@ - -/* - * C++ification of Nikolaus Hansen's original C-source code for the - * CMA-ES. - * - * Copyright (C) 1996, 2003, Nikolaus Hansen - * (C) 2005, Maarten Keijzer - * - * License: LGPL (see source file) - * - */ - -#ifndef CMASTATE_H_ -#define CMASTATE_H_ - -#include -#include - -namespace eo { - - -class CMAStateImpl; -class CMAParams; -class CMAState { - - CMAStateImpl* pimpl; /* pointer to implementation, hidden in source file */ - - public: - - CMAState(const CMAParams&, const std::vector& initial_point, const double initial_sigma = 1.0); - ~CMAState(); - CMAState(const CMAState&); - CMAState& operator=(const CMAState&); - - /** - * sample a vector from the distribution - * - * If the sample is not to your liking (i.e., not within bounds) - * you can do one of two things: - * - * a) Call sample again - * b) multiply the entire vector with a number between -1 and 1 - * - * Do not modify the sample in any other way as this will invalidate the - * internal consistency of the system. - * - * A final approach is to copy the sample and modify the copy externally (in the evaluation function) - * and possibly add a penalty depending on the size of the modification. - * - */ - void sample(std::vector& v) const; - - /** - * Reestimate covariance matrix and other internal parameters - * Does NOT update the eigen system (call that seperately) - * - * Needs a population of mu individuals, sorted on fitness, plus - * - * muBest: the best fitness in the population - * muWorst: the worst fitness in the population - */ - - void reestimate(const std::vector* >& sorted_population, double muBest, double muWorst); - - /** - * call this function after reestimate in order to update the eigen system - * It is a seperate call to allow the user to periodically skip this expensive step - * - * max_iters = 0 implies 30 * N iterations - * - * If after max_tries still no numerically sound eigen system is constructed, - * the function returns false - */ - bool updateEigenSystem(unsigned max_tries = 1, unsigned max_iters = 0); -}; - -} // namespace eo - -#endif diff --git a/trunk/paradiseo-eo/src/es/CVS/Entries b/trunk/paradiseo-eo/src/es/CVS/Entries deleted file mode 100644 index 0bc339c14..000000000 --- a/trunk/paradiseo-eo/src/es/CVS/Entries +++ /dev/null @@ -1,46 +0,0 @@ -/.cvsignore/1.1/Mon Apr 3 09:32:06 2000// -/CMAParams.cpp/1.3/Mon Mar 6 20:47:28 2006// -/CMAParams.h/1.3/Mon Mar 6 20:47:28 2006// -/CMAState.cpp/1.1/Fri Oct 14 15:33:32 2005// -/CMAState.h/1.1/Fri Oct 14 15:33:32 2005// -/Makefile.am/1.25/Fri Oct 14 15:33:32 2005// -/eig.cpp/1.1/Fri Oct 14 15:33:32 2005// -/eig.h/1.1/Fri Oct 14 15:33:32 2005// -/eoCMABreed.h/1.2/Fri Oct 14 16:14:37 2005// -/eoCMAInit.h/1.1/Fri Oct 14 15:33:32 2005// -/eoEsChromInit.h/1.15/Mon Mar 27 18:55:19 2006// -/eoEsFull.h/1.11/Mon Mar 27 18:55:19 2006// -/eoEsGlobalXover.h/1.3/Tue Sep 27 21:54:05 2005// -/eoEsMutate.h/1.12/Wed Sep 28 14:32:12 2005// -/eoEsMutationInit.h/1.8/Wed Sep 28 21:56:51 2005// -/eoEsSimple.h/1.7/Mon Oct 10 21:13:27 2005// -/eoEsStandardXover.h/1.3/Thu Feb 27 19:25:05 2003// -/eoEsStdev.h/1.12/Mon Mar 27 18:55:20 2006// -/eoNormalMutation.h/1.10/Thu Dec 23 15:29:06 2004// -/eoReal.h/1.6/Thu Feb 27 19:25:04 2003// -/eoRealAtomXover.h/1.3/Thu Feb 27 19:25:03 2003// -/eoRealInitBounded.h/1.4/Thu Feb 27 19:25:03 2003// -/eoRealOp.h/1.19/Wed Dec 7 15:40:23 2005// -/eoSBXcross.h/1.3/Wed Jun 23 23:19:17 2004// -/make_algo_scalar_es.cpp/1.5/Fri Oct 14 15:33:32 2005// -/make_algo_scalar_real.cpp/1.5/Tue May 25 08:03:29 2004// -/make_checkpoint_es.cpp/1.3/Sat Nov 10 06:59:02 2001// -/make_checkpoint_real.cpp/1.4/Sat Nov 10 06:59:02 2001// -/make_continue_es.cpp/1.2/Sat Nov 10 06:59:02 2001// -/make_continue_real.cpp/1.3/Sat Nov 10 06:59:02 2001// -/make_es.h/1.4/Tue May 25 08:03:29 2004// -/make_genotype_es.cpp/1.5/Mon Oct 10 21:59:57 2005// -/make_genotype_real.cpp/1.7/Mon Sep 12 17:53:25 2005// -/make_genotype_real.h/1.13/Wed Dec 7 15:40:23 2005// -/make_op.h/1.5/Mon Sep 12 17:53:25 2005// -/make_op_es.cpp/1.3/Sat Nov 10 06:59:02 2001// -/make_op_es.h/1.9/Mon Oct 10 21:59:57 2005// -/make_op_real.cpp/1.4/Sat Nov 10 06:59:02 2001// -/make_op_real.h/1.8/Mon Sep 12 17:53:25 2005// -/make_pop_es.cpp/1.2/Sat Nov 10 06:59:02 2001// -/make_pop_real.cpp/1.3/Sat Nov 10 06:59:02 2001// -/make_real.h/1.5/Tue May 25 08:03:29 2004// -/make_run_es.cpp/1.2/Sat Nov 10 06:59:02 2001// -/make_run_real.cpp/1.3/Sat Nov 10 06:59:02 2001// -/matrices.h/1.1/Fri Oct 14 15:33:32 2005// -D diff --git a/trunk/paradiseo-eo/src/es/CVS/Repository b/trunk/paradiseo-eo/src/es/CVS/Repository deleted file mode 100644 index d3cc3d20f..000000000 --- a/trunk/paradiseo-eo/src/es/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/es diff --git a/trunk/paradiseo-eo/src/es/CVS/Root b/trunk/paradiseo-eo/src/es/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/es/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/es/Makefile.am b/trunk/paradiseo-eo/src/es/Makefile.am deleted file mode 100644 index 6a4b827da..000000000 --- a/trunk/paradiseo-eo/src/es/Makefile.am +++ /dev/null @@ -1,54 +0,0 @@ -## Makefile.am for eo/src/es - -lib_LIBRARIES = libes.a libcma.a - -libes_a_SOURCES = make_algo_scalar_es.cpp \ - make_algo_scalar_real.cpp \ - make_checkpoint_es.cpp \ - make_checkpoint_real.cpp \ - make_continue_es.cpp \ - make_continue_real.cpp \ - make_genotype_es.cpp \ - make_genotype_real.cpp \ - make_op_es.cpp \ - make_op_real.cpp \ - make_pop_es.cpp \ - make_pop_real.cpp \ - make_run_es.cpp \ - make_run_real.cpp - -esincludedir = $(pkgincludedir)/es - -esinclude_HEADERS = eoEsChromInit.h \ - eoEsFull.h \ - eoEsGlobalXover.h \ - eoEsMutate.h \ - eoEsMutationInit.h \ - eoEsSimple.h \ - eoEsStandardXover.h \ - eoEsStdev.h \ - eoNormalMutation.h \ - eoRealAtomXover.h \ - eoReal.h \ - eoRealInitBounded.h \ - eoRealOp.h \ - eoSBXcross.h \ - make_es.h \ - make_genotype_real.h \ - make_op_es.h \ - make_op.h \ - make_op_real.h \ - make_real.h - -libcma_a_SOURCES = eig.cpp \ - CMAState.cpp \ - CMAParams.cpp - -cmaincludedir = $(pkgincludedir)/es - -cmainclude_HEADERS = eig.h \ - CMAState.h \ - matrices.h \ - CMAParams.h - -AM_CXXFLAGS = -I$(top_srcdir)/src diff --git a/trunk/paradiseo-eo/src/es/eig.cpp b/trunk/paradiseo-eo/src/es/eig.cpp deleted file mode 100644 index 29998bcbb..000000000 --- a/trunk/paradiseo-eo/src/es/eig.cpp +++ /dev/null @@ -1,259 +0,0 @@ - -/* - * C++ification of Nikolaus Hansen's original C-source code for the - * CMA-ES. These are the eigenvector calculations - * - * C++-ificiation performed by Maarten Keijzer (C) 2005. Licensed under - * the LGPL. Original copyright of Nikolaus Hansen can be found below - * - * This algorithm is held almost completely intact. Some other datatypes are used, - * but hardly any code has changed - * - */ - -/* --------------------------------------------------------- */ -/* --------------------------------------------------------- */ -/* --- File: cmaes.c -------- Author: Nikolaus Hansen --- */ -/* --------------------------------------------------------- */ -/* - * CMA-ES for non-linear function minimization. - * - * Copyright (C) 1996, 2003 Nikolaus Hansen. - * e-mail: hansen@bionik.tu-berlin.de - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later - * version (see http://www.gnu.org/copyleft/lesser.html). - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * */ -/* --- Changes : --- - * 03/03/21: argument const double *rgFunVal of - * cmaes_ReestimateDistribution() was treated incorrectly. - * 03/03/29: restart via cmaes_resume_distribution() implemented. - * 03/03/30: Always max std dev / largest axis is printed first. - * 03/08/30: Damping is adjusted for large mueff. - * 03/10/30: Damping is adjusted for large mueff always. - * 04/04/22: Cumulation time and damping for step size adjusted. - * No iniphase but conditional update of pc. - * Version 2.23. - * */ -#include "eig.h" - -using namespace std; - -/* ========================================================= */ -/* - Householder Transformation einer symmetrischen Matrix - auf tridiagonale Form. - -> n : Dimension - -> ma : symmetrische nxn-Matrix - <- ma : Transformationsmatrix (ist orthogonal): - Tridiag.-Matrix == <-ma * ->ma * (<-ma)^t - <- diag : Diagonale der resultierenden Tridiagonalmatrix - <- neben[0..n-1] : Nebendiagonale (==1..n-1) der res. Tridiagonalmatrix - - */ -static void -Householder( int N, square_matrix& ma, valarray& diag, double* neben) -{ - double epsilon; - int i, j, k; - double h, sum, tmp, tmp2; - - for (i = N-1; i > 0; --i) - { - h = 0.0; - if (i == 1) - neben[i] = ma[i][i-1]; - else - { - for (k = i-1, epsilon = 0.0; k >= 0; --k) - epsilon += fabs(ma[i][k]); - - if (epsilon == 0.0) - neben[i] = ma[i][i-1]; - else - { - for(k = i-1, sum = 0.0; k >= 0; --k) - { /* i-te Zeile von i-1 bis links normieren */ - ma[i][k] /= epsilon; - sum += ma[i][k]*ma[i][k]; - } - tmp = (ma[i][i-1] > 0) ? -sqrt(sum) : sqrt(sum); - neben[i] = epsilon*tmp; - h = sum - ma[i][i-1]*tmp; - ma[i][i-1] -= tmp; - for (j = 0, sum = 0.0; j < i; ++j) - { - ma[j][i] = ma[i][j]/h; - tmp = 0.0; - for (k = j; k >= 0; --k) - tmp += ma[j][k]*ma[i][k]; - for (k = j+1; k < i; ++k) - tmp += ma[k][j]*ma[i][k]; - neben[j] = tmp/h; - sum += neben[j] * ma[i][j]; - } /* for j */ - sum /= 2.*h; - for (j = 0; j < i; ++j) - { - neben[j] -= ma[i][j]*sum; - tmp = ma[i][j]; - tmp2 = neben[j]; - for (k = j; k >= 0; --k) - ma[j][k] -= (tmp*neben[k] + tmp2*ma[i][k]); - } /* for j */ - } /* else epsilon */ - } /* else i == 1 */ - diag[i] = h; - } /* for i */ - - diag[0] = 0.0; - neben[0] = 0.0; - - for (i = 0; i < N; ++i) - { - if(diag[i] != 0.0) - for (j = 0; j < i; ++j) - { - for (k = i-1, tmp = 0.0; k >= 0; --k) - tmp += ma[i][k] * ma[k][j]; - for (k = i-1; k >= 0; --k) - ma[k][j] -= tmp*ma[k][i]; - } /* for j */ - diag[i] = ma[i][i]; - ma[i][i] = 1.0; - for (k = i-1; k >= 0; --k) - ma[k][i] = ma[i][k] = 0.0; - } /* for i */ -} - -/* - QL-Algorithmus mit implizitem Shift, zur Berechnung von Eigenwerten - und -vektoren einer symmetrischen Tridiagonalmatrix. - -> n : Dimension. - -> diag : Diagonale der Tridiagonalmatrix. - -> neben[0..n-1] : Nebendiagonale (==0..n-2), n-1. Eintrag beliebig - -> mq : Matrix output von Householder() - -> maxIt : maximale Zahl der Iterationen - <- diag : Eigenwerte - <- neben : Garbage - <- mq : k-te Spalte ist normalisierter Eigenvektor zu diag[k] - - */ - -static int -QLalgo( int N, valarray& diag, square_matrix& mq, - int maxIter, double* neben) -{ - int i, j, k, kp1, l; - double tmp, diff, cneben, c1, c2, p; - int iter; - - neben[N-1] = 0.0; - for (i = 0, iter = 0; i < N && iter < maxIter; ++i) - do /* while j != i */ - { - for (j = i; j < N-1; ++j) - { - tmp = fabs(diag[j]) + fabs(diag[j+1]); - if (fabs(neben[j]) + tmp == tmp) - break; - } - if (j != i) - { - if (++iter > maxIter) return maxIter-1; - diff = (diag[i+1]-diag[i])/neben[i]/2.0; - if (diff >= 0) - diff = diag[j] - diag[i] + - neben[i] / (diff + sqrt(diff * diff + 1.0)); - else - diff = diag[j] - diag[i] + - neben[i] / (diff - sqrt(diff * diff + 1.0)); - c2 = c1 = 1.0; - p = 0.0; - for (k = j-1; k >= i; --k) - { - kp1 = k + 1; - tmp = c2 * neben[k]; - cneben = c1 * neben[k]; - if (fabs(tmp) >= fabs(diff)) - { - c1 = diff / tmp; - c2 = 1. / sqrt(c1*c1 + 1.0); - neben[kp1] = tmp / c2; - c1 *= c2; - } - else - { - c2 = tmp / diff; - c1 = 1. / sqrt(c2*c2 + 1.0); - neben[kp1] = diff / c1; - c2 *= c1; - } /* else */ - tmp = (diag[k] - diag[kp1] + p) * c2 + 2.0 * c1 * cneben; - diag[kp1] += tmp * c2 - p; - p = tmp * c2; - diff = tmp * c1 - cneben; - for (l = N-1; l >= 0; --l) /* TF-Matrix Q */ - { - tmp = mq[l][kp1]; - mq[l][kp1] = c2 * mq[l][k] + c1 * tmp; - mq[l][k] = c1 * mq[l][k] - c2 * tmp; - } /* for l */ - } /* for k */ - diag[i] -= p; - neben[i] = diff; - neben[j] = 0.0; - } /* if */ - } while (j != i); - return iter; -} /* QLalgo() */ - -/* ========================================================= */ -/* - Calculating eigenvalues and vectors. - Input: - N: dimension. - C: lower_triangular NxN-matrix. - niter: number of maximal iterations for QL-Algorithm. - rgtmp: N+1-dimensional vector for temporal use. - Output: - diag: N eigenvalues. - Q: Columns are normalized eigenvectors. - return: number of iterations in QL-Algorithm. - */ - -namespace eo { -int -eig( int N, const lower_triangular_matrix& C, valarray& diag, square_matrix& Q, - int niter) -{ - int ret; - int i, j; - - if (niter == 0) niter = 30*N; - - for (i=0; i < N; ++i) - { - vector::const_iterator row = C[i]; - for (j = 0; j <= i; ++j) - Q[i][j] = Q[j][i] = row[j]; - } - - double* rgtmp = new double[N+1]; - Householder( N, Q, diag, rgtmp); - ret = QLalgo( N, diag, Q, niter, rgtmp+1); - delete [] rgtmp; - - return ret; -} - -} // namespace eo diff --git a/trunk/paradiseo-eo/src/es/eig.h b/trunk/paradiseo-eo/src/es/eig.h deleted file mode 100644 index 02aa36e0d..000000000 --- a/trunk/paradiseo-eo/src/es/eig.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef EIG_H__ -#define EIG_H__ - -#include -#include - -namespace eo { -/* ========================================================= */ -/* - Calculating eigenvalues and vectors. - Input: - N: dimension. - C: lower_triangular NxN-matrix. - niter: number of maximal iterations for QL-Algorithm. - Output: - diag: N eigenvalues. - Q: Columns are normalized eigenvectors. - return: number of iterations in QL-Algorithm. - */ -extern int eig( int N, const lower_triangular_matrix& C, std::valarray& diag, square_matrix& Q, - int niter = 0); - -} // namespace eo - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoCMABreed.h b/trunk/paradiseo-eo/src/es/eoCMABreed.h deleted file mode 100644 index c210d299e..000000000 --- a/trunk/paradiseo-eo/src/es/eoCMABreed.h +++ /dev/null @@ -1,77 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; fill-column: 80; -*- - -//----------------------------------------------------------------------------- -// eoCMABreed -// (c) Maarten Keijzer 2005 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - */ -//----------------------------------------------------------------------------- - - -#ifndef _EOCMABREED_H -#define _EOCMABREED_H - -#include -#include -#include - -#include - -/// TODO, handle bounds -template -class eoCMABreed : public eoBreed< eoVector > { - - eo::CMAState& state; - unsigned lambda; - - typedef eoVector EOT; - - public: - eoCMABreed(eo::CMAState& state_, unsigned lambda_) : state(state_), lambda(lambda_) {} - - void operator()(const eoPop& parents, eoPop& offspring) { - - // two temporary arrays of pointers to store the sorted population - std::vector sorted(parents.size()); - std::vector* > mu(parents.size()); - - parents.sort(sorted); - for (unsigned i = 0; i < sorted.size(); ++i) { - mu[i] = static_cast< const std::vector* >( sorted[i] ); - } - - // learn - - state.reestimate(mu, sorted[0]->fitness(), sorted.back()->fitness()); - - if (!state.updateEigenSystem(10)) { - std::cerr << "No good eigensystem found" << std::endl; - } - - // generate - offspring.resize(lambda); - - for (unsigned i = 0; i < lambda; ++i) { - state.sample( static_cast< std::vector& >( offspring[i] )); - offspring[i].invalidate(); - } - - } -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoCMAInit.h b/trunk/paradiseo-eo/src/es/eoCMAInit.h deleted file mode 100644 index b605cd990..000000000 --- a/trunk/paradiseo-eo/src/es/eoCMAInit.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; fill-column: 80; -*- - -//----------------------------------------------------------------------------- -// eoCMAInit -// (c) Maarten Keijzer 2005 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - marc.schoenauer@polytechnique.fr - http://eeaax.cmap.polytchnique.fr/ - */ -//----------------------------------------------------------------------------- - - -#ifndef _EOCMAINIT_H -#define _EOCMAINIT_H - -#include -#include -#include - -/// TODO, handle bounds -template -class eoCMAInit : public eoInit< eoVector > { - - const eo::CMAState& state; - - typedef eoVector EOT; - - public: - eoCMAInit(const eo::CMAState& state_) : state(state_) {} - - - void operator()(EOT& v) { - state.sample(static_cast& >(v)); - v.invalidate(); - } -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoEsChromInit.h b/trunk/paradiseo-eo/src/es/eoEsChromInit.h deleted file mode 100644 index aec08438b..000000000 --- a/trunk/paradiseo-eo/src/es/eoEsChromInit.h +++ /dev/null @@ -1,202 +0,0 @@ -// -/* (c) Maarten Keijzer 2000, GeNeura Team, 1998 - EEAAX 1999 - -This library is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) any -later version. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Contact: http://eodev.sourceforge.net - todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ - - -#ifndef _eoEsChromInit_H -#define _eoEsChromInit_H - -#include -#include - -#include -#include -#include -#include - -#ifndef M_PI -#define M_PI 3.1415926535897932384626433832795 -#endif - -/** Random Es-chromosome initializer (therefore derived from eoInit) - -@ingroup EvolutionStrategies - - -This class can initialize four types of real-valued genotypes thanks -to tempate specialization of private method create: - -- eoReal just an eoVector -- eoEsSimple + one self-adapting single sigma for all variables -- eoEsStdev a whole std::vector of self-adapting sigmas -- eoEsFull a full self-adapting correlation matrix - -@see eoReal eoEsSimple eoEsStdev eoEsFull eoInit -*/ -template -class eoEsChromInit : public eoRealInitBounded -{ -public: - - using eoRealInitBounded::size; - using eoRealInitBounded::theBounds; - - typedef typename EOT::Fitness FitT; - - /** Constructor - - @param _bounds bounds for uniform initialization - @param _sigma initial value for the stddev - @param _to_scale wether sigma should be multiplied by the range of each variable - added December 2004 - MS (together with the whole comment :-) - */ - eoEsChromInit(eoRealVectorBounds& _bounds, double _sigma = 0.3, bool _to_scale=false) - : eoRealInitBounded(_bounds) - { - // a bit of pre-computations, to save time later (even if some are useless) - // - // first, in the case of one unique sigma - // sigma is scaled by the average range (if that means anything!) - if (_to_scale) - { - double scaleUnique = 0; - for (unsigned i=0; i _vecSigma) - : eoRealInitBounded(_bounds), uniqueSigma(_vecSigma[0]), vecSigma(_vecSigma) - {} - - - void operator()(EOT& _eo) - { - eoRealInitBounded::operator()(_eo); - create_self_adapt(_eo); - _eo.invalidate(); - } - - -private: - - /** Create intializer - - No adaptive mutation at all - */ - void create_self_adapt(eoReal&) - {} - - - - /** Create intializer - - @overload - - Adaptive mutation through a unique sigma - */ - void create_self_adapt(eoEsSimple& result) - { - // pre-computed in the Ctor - result.stdev = uniqueSigma; - } - - - - /** Create intializer - - @overload - - Adaptive mutation through a std::vector of sigmas - - @todo Should we scale sigmas to the corresponding object variable range? - */ - void create_self_adapt(eoEsStdev& result) - { - // pre-computed in the constructor - result.stdevs = vecSigma; - } - - - - /** Create intializer - - @overload - - Adaptive mutation through a whole correlation matrix - */ - void create_self_adapt(eoEsFull& result) - { - // first the stdevs (pre-computed in the Ctor) - result.stdevs = vecSigma; - unsigned int theSize = size(); - // nb of rotation angles: N*(N-1)/2 (in general!) - result.correlations.resize(theSize*(theSize - 1) / 2); - for (unsigned i=0; i vecSigma; -}; - -#endif - - - -// Local Variables: -// coding: iso-8859-1 -// mode:C++ -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/es/eoEsFull.h b/trunk/paradiseo-eo/src/es/eoEsFull.h deleted file mode 100644 index 74920a5d3..000000000 --- a/trunk/paradiseo-eo/src/es/eoEsFull.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEsFull.h -// (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoEsFull_h -#define _eoEsFull_h - -#include - -/** -\ingroup EvolutionStrategies - - The most complex evolutionary strategy representation. Co-evolving mutation -rates and correlated mutations. -*/ - -template -class eoEsFull : public eoVector -{ -public: - - using eoVector::size; - - - typedef double Type; - - eoEsFull(void) : eoVector() {} - - virtual std::string className(void) const { return "eoEsFull"; } - - void printOn(std::ostream& os) const - { - eoVector::printOn(os); - os << ' '; - std::copy(stdevs.begin(), stdevs.end(), std::ostream_iterator(os, " ")); - os << ' '; - std::copy(correlations.begin(), correlations.end(), std::ostream_iterator(os, " ")); - os << ' '; - } - - void readFrom(std::istream& is) - { - eoVector::readFrom(is); - - stdevs.resize(size()); - - unsigned i; - for (i = 0; i < size(); ++i) - is >> stdevs[i]; - - correlations.resize(size()*(size() - 1) / 2); - - for (i = 0; i < correlations.size(); ++i) - is >> correlations[i]; - } - - std::vector stdevs; - std::vector correlations; -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoEsGlobalXover.h b/trunk/paradiseo-eo/src/es/eoEsGlobalXover.h deleted file mode 100644 index eb2b43308..000000000 --- a/trunk/paradiseo-eo/src/es/eoEsGlobalXover.h +++ /dev/null @@ -1,149 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEsGlobalXover.h : ES global crossover -// (c) Marc Schoenauer 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: marc.schoenauer@polytechnique.fr http://eeaax.cmap.polytchnique.fr/ - */ -//----------------------------------------------------------------------------- - - -#ifndef _eoEsGlobalXover_H -#define _eoEsGlobalXover_H - -#include - -#include -#include -#include - -#include -// needs a selector - here random -#include - -/** Gloabl crossover operator for ES genotypes. - * Uses some Atom crossovers to handle both the object variables - * and the mutation strategy parameters - */ -template -class eoEsGlobalXover: public eoGenOp -{ -public: - typedef typename EOT::Fitness FitT; - - /** - * (Default) Constructor. - */ - eoEsGlobalXover(eoBinOp & _crossObj, eoBinOp & _crossMut) : - crossObj(_crossObj), crossMut(_crossMut) {} - - /// The class name. Used to display statistics - virtual std::string className() const { return "eoEsGlobalXover"; } - - /// The TOTAL number of offspring (here = nb of parents modified in place) - unsigned max_production(void) { return 1; } - - /** - * modifies one parents in the populator - * using 2 new parents for each component! - * - * @param _pop a POPULATOR (not a simple population) - */ - void apply(eoPopulator& _plop) - { - // First, select as many parents as you will have offspring - EOT& parent = *_plop; // select the first parent - - // first, the object variables - for (unsigned i=0; i used by _plop to get parents - const EOT& realParent1 = sel(_plop.source()); - const EOT& realParent2 = sel(_plop.source()); - parent[i] = realParent1[i]; - crossObj(parent[i], realParent2[i]); // apply eoBinOp - } - // then the self-adaptation parameters - cross_self_adapt(parent, _plop.source()); - // dont' forget to invalidate - parent.invalidate(); - } - -private: - - /** Method for cross self-adaptation parameters - - Specialization for eoEsSimple. - */ - void cross_self_adapt(eoEsSimple & _parent, const eoPop >& _pop) - { - const EOT& realParent1 = sel(_pop); - const EOT& realParent2 = sel(_pop); - _parent.stdev = realParent1.stdev; - crossMut(_parent.stdev, realParent2.stdev); // apply eoBinOp - } - - /** Method for cross self-adaptation parameters - - Specialization for eoEsStdev. - */ - void cross_self_adapt(eoEsStdev & _parent, const eoPop >& _pop) - { - for (unsigned i=0; i<_parent.size(); i++) - { - const EOT& realParent1 = sel(_pop); - const EOT& realParent2 = sel(_pop); - _parent.stdevs[i] = realParent1.stdevs[i]; - crossMut(_parent.stdevs[i], realParent2.stdevs[i]); // apply eoBinOp - } - } - - /** Method for cross self-adaptation parameters - - Specialization for eoEsFull. - */ - void cross_self_adapt(eoEsFull & _parent, const eoPop >& _pop) - { - unsigned i; - // the StDev - for (i=0; i<_parent.size(); i++) - { - const EOT& realParent1 = sel(_pop); - const EOT& realParent2 = sel(_pop); - _parent.stdevs[i] = realParent1.stdevs[i]; - crossMut(_parent.stdevs[i], realParent2.stdevs[i]); // apply eoBinOp - } - // the roataion angles - for (i=0; i<_parent.correlations.size(); i++) - { - const EOT& realParent1 = sel(_pop); - const EOT& realParent2 = sel(_pop); - _parent.correlations[i] = realParent1.correlations[i]; - crossMut(_parent.correlations[i], realParent2.correlations[i]); // apply eoBinOp - } - - } - - // the data - eoRandomSelect sel; - eoBinOp & crossObj; - eoBinOp & crossMut; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoEsMutate.h b/trunk/paradiseo-eo/src/es/eoEsMutate.h deleted file mode 100644 index 180b0f8ae..000000000 --- a/trunk/paradiseo-eo/src/es/eoEsMutate.h +++ /dev/null @@ -1,286 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; fill-column: 80; -*- - -//----------------------------------------------------------------------------- -// eoESMute.h : ES mutation -// (c) Maarten Keijzer 2000 & GeNeura Team, 1998 for the EO part -// Th. Baeck 1994 and EEAAX 1999 for the ES part -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - marc.schoenauer@polytechnique.fr - http://eeaax.cmap.polytchnique.fr/ - */ -//----------------------------------------------------------------------------- - - -#ifndef _EOESMUTATE_H -#define _EOESMUTATE_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef M_PI -#define M_PI 3.1415926535897932384626433832795 -#endif - -/** ES-style mutation in the large - -@ingroup EvolutionStrategies - -Obviously, valid only for eoES*. It is currently valid for three types -of ES chromosomes: -- eoEsSimple: Exactly one stdandard-deviation -- eoEsStdev: As many standard deviations as object variables -- eoEsFull: The whole guacemole: correlations, stdevs and object variables - -Each of these three variant has it's own operator() in eoEsMutate and -intialization is also split into three cases (that share some commonalities) -*/ -template -class eoEsMutate : public eoMonOp< EOT > -{ -public: - - /** Fitness-type */ - typedef typename EOT::Fitness FitT; - - - /** Initialization. - - @param _init Proxy class for initializating the three parameters - eoEsMutate needs - @param _bounds Bounds for the objective variables - */ - eoEsMutate(eoEsMutationInit& _init, eoRealVectorBounds& _bounds) : bounds(_bounds) - { - init(EOT(), _init); // initialize on actual type used - } - - - /** @brief Virtual Destructor */ - virtual ~eoEsMutate() {}; - - - /** Classname. - - Inherited from eoObject @see eoObject - - @return Name of class. - */ - virtual std::string className() const {return "eoESMutate";}; - - - /** Mutate eoEsSimple - - @param _eo Individual to mutate. - */ - virtual bool operator()( eoEsSimple& _eo) - { - _eo.stdev *= exp(TauLcl * rng.normal()); - if (_eo.stdev < stdev_eps) - _eo.stdev = stdev_eps; - // now apply to all - for (unsigned i = 0; i < _eo.size(); ++i) - { - _eo[i] += _eo.stdev * rng.normal(); - } - bounds.foldsInBounds(_eo); - return true; - } - - - /** Standard mutation in ES - - @overload - - Standard mutation of object variables and standard deviations in ESs. - - If there are fewer different standard deviations available than the - dimension of the objective function requires, the last standard deviation is - responsible for ALL remaining object variables. - - @param _eo Individual to mutate. - - @see - Schwefel 1977: Numerische Optimierung von Computer-Modellen mittels der - Evolutionsstrategie, pp. 165 ff. - */ - virtual bool operator()( eoEsStdev& _eo ) - { - double global = TauGlb * rng.normal(); - for (unsigned i = 0; i < _eo.size(); i++) - { - double stdev = _eo.stdevs[i]; - stdev *= exp( global + TauLcl * rng.normal() ); - if (stdev < stdev_eps) - stdev = stdev_eps; - _eo.stdevs[i] = stdev; - _eo[i] += stdev * rng.normal(); - } - bounds.foldsInBounds(_eo); - return true; - } - - - /** Correlated mutations in ES - - @overload - - Mutation of object variables, standard deviations, and their correlations in - ESs. - - @param _eo Individual to mutate. - - @see - - H.-P. Schwefel: Internal Report of KFA Juelich, KFA-STE-IB-3/80, p. 43, 1980. - - G. Rudolph: Globale Optimierung mit parallelen Evolutionsstrategien, - Diploma Thesis, University of Dortmund, 1990. - */ - virtual bool operator()( eoEsFull & _eo ) - // Code originally from Thomas Bäck - { - // First: mutate standard deviations (as for eoEsStdev). - double global = TauGlb * rng.normal(); - unsigned i; - for (i = 0; i < _eo.size(); i++) - { - double stdev = _eo.stdevs[i]; - stdev *= exp( global + TauLcl*rng.normal() ); - if (stdev < stdev_eps) - stdev = stdev_eps; - _eo.stdevs[i] = stdev; - } - // Mutate rotation angles. - for (i = 0; i < _eo.correlations.size(); i++) - { - _eo.correlations[i] += TauBeta * rng.normal(); - if ( fabs(_eo.correlations[i]) > M_PI ) - { - _eo.correlations[i] -= M_PI * (int) (_eo.correlations[i]/M_PI) ; - } - } - // Perform correlated mutations. - unsigned k, n1, n2; - double d1,d2, S, C; - std::vector VarStp(_eo.size()); - for (i = 0; i < _eo.size(); i++) - VarStp[i] = _eo.stdevs[i] * rng.normal(); - unsigned nq = _eo.correlations.size() - 1; - for (k = 0; k < _eo.size()-1; k++) - { - n1 = _eo.size() - k - 1; - n2 = _eo.size() - 1; - for (i = 0; i < k; i++) - { - d1 = VarStp[n1]; - d2 = VarStp[n2]; - S = sin( _eo.correlations[nq] ); - C = cos( _eo.correlations[nq] ); - VarStp[n2] = d1 * S + d2 * C; - VarStp[n1] = d1 * C - d2 * S; - n2--; - nq--; - } - } - for (i = 0; i < _eo.size(); i++) - _eo[i] += VarStp[i]; - bounds.foldsInBounds(_eo); - return true; - } - - - private : - - /** Initialization of simple ES */ - void init(eoEsSimple, eoEsMutationInit& _init) - { - unsigned size = bounds.size(); - TauLcl = _init.TauLcl(); - TauLcl /= sqrt(2*(double) size); - std::cout << "Init: tau local " << TauLcl << std::endl; - } - - - /** Initialization of standard ES - - @overload - */ - void init(eoEsStdev, eoEsMutationInit& _init) - { - unsigned size = bounds.size(); - TauLcl = _init.TauLcl(); - TauGlb = _init.TauGlb(); - // renormalization - TauLcl /= sqrt( 2.0 * sqrt(double(size)) ); - TauGlb /= sqrt( 2.0 * double(size) ); - std::cout << "Init: tau local " << TauLcl << " et global " << TauGlb << std::endl; - } - - - /** Initialization of full ES - - @overload - */ - void init(eoEsFull, eoEsMutationInit& _init) - { - init(eoEsStdev(), _init); - TauBeta = _init.TauBeta(); - std::cout << "Init: tau local " << TauLcl << " et global " << TauGlb << std::endl; - } - - - /** Local factor for mutation of std deviations */ - double TauLcl; - - /** Global factor for mutation of std deviations */ - double TauGlb; - - /** Factor for mutation of correlation parameters */ - double TauBeta; - - /** Bounds of parameters */ - eoRealVectorBounds& bounds; - - /** Minimum stdev. - - If you let the step-size go to 0, self-adaptation stops, therefore we give a - lower bound. The actual value used is somewhat arbitrary and the is no - theoretical reasoning known for it (Sep 2005). - - The code that we have in EO is a port from a C code that Thomas Bäck kindly - donated to the community some years ago. It has been modified by Marc - Schoenauer for inclusion in EvolC, than by Maarten Keijzer into EO. The - exact value was adjusted based on practice. - - Removing this doesn't work well, but it was never tried to figure out what - the best value would be. - */ - static const double stdev_eps; -}; - - -// Minimum value of stdevs, see declaration for details. -template -const double eoEsMutate::stdev_eps = 1.0e-40; - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoEsMutationInit.h b/trunk/paradiseo-eo/src/es/eoEsMutationInit.h deleted file mode 100644 index 43240362f..000000000 --- a/trunk/paradiseo-eo/src/es/eoEsMutationInit.h +++ /dev/null @@ -1,121 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; fill-column: 80 -*- - -//----------------------------------------------------------------------------- -// eoEsMutationInit.h -// (c) GeNeura Team, 1998 - EEAAX 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoEsMutationInit_h -#define _eoEsMutationInit_h - -#include - -/** Initialize Mutation operator - -@ingroup EvolutionStrategies - -Proxy class that is used for initializing the mutation operator. It provides an -interface between eoEsMutate and the abstract parameterLoader. It also provides -the names for the parameters in this class as virtual protected member -functions. - -If you have more than a single ES in a project that need different names in the -configuration files, you might consider overriding this class to change the -names. - -@see eoEsMutate -*/ -class eoEsMutationInit -{ -public : - - /** Constructor - - @param _parser Parser to read parameters from. - @param _section Parser section for \tau-parameters. - */ - eoEsMutationInit(eoParser& _parser, - std::string _section="ES mutation parameters" ) : - parser(_parser), repSection(_section), - TauLclParam(0), TauGlbParam(0), TauBetaParam(0) {} - - /** Virtual destructor */ - virtual ~eoEsMutationInit() {} - - /** local \tau */ - double TauLcl(void) - { - if (TauLclParam == 0) - { - TauLclParam = &parser.getORcreateParam(1.0, TauLclName(), - "Local Tau (before normalization)", - TauLclShort(), section()); - } - return TauLclParam->value(); - } - - /** global tau */ - double TauGlb(void) - { - if (TauGlbParam == 0) - { - TauGlbParam = &parser.getORcreateParam(1.0, TauGlbName(), - "Global Tau (before normalization)", - TauGlbShort(), section()); - } - return TauGlbParam->value(); - } - - /** correlation's tau */ - double TauBeta(void) - { - if (TauBetaParam == 0) - { - TauBetaParam = &parser.getORcreateParam(0.0873, TauBetaName(), - "Beta", TauBetaShort(), section()); - } - return TauBetaParam->value(); - } - - protected : - - virtual std::string section(void) { return repSection; } - - virtual std::string TauLclName(void) const { return "TauLoc"; } - virtual char TauLclShort(void) const { return 'l'; } - - virtual std::string TauGlbName(void) const { return "TauGlob"; } - virtual char TauGlbShort(void) const { return 'g'; } - - virtual std::string TauBetaName(void) const { return "Beta"; } - virtual char TauBetaShort(void) const { return 'b'; } - -private: - - eoParser& parser; - std::string repSection; - eoValueParam* TauLclParam; - eoValueParam* TauGlbParam; - eoValueParam* TauBetaParam; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoEsSimple.h b/trunk/paradiseo-eo/src/es/eoEsSimple.h deleted file mode 100644 index 60c62c53d..000000000 --- a/trunk/paradiseo-eo/src/es/eoEsSimple.h +++ /dev/null @@ -1,77 +0,0 @@ -/* (c) GeNeura Team, 2000 - EEAAX 1999, Maarten Keijzer 2000 - -This library is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) any -later version. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Contact: http://eodev.sourceforge.net - todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ - - -#ifndef _eoEsSimple_h -#define _eoEsSimple_h - -#include -#include - -#include - -/** Simple Evolution Strategy - -@ingroup EvolutionStrategies - -One of the more simple evolution strategies, sporting just a single stdeviation -for the entire chromosome. For more advanced versions see also eoEsStdev -eoEsFull - -@see eoEsStdev eoEsFull -*/ -template -class eoEsSimple : public eoVector -{ -public : - - typedef double Type; - - eoEsSimple() : eoVector() {} - - virtual std::string className() const { return "eoEsSimple"; } - - void printOn(std::ostream& os) const - { - eoVector::printOn(os); - os << ' ' << stdev << ' '; - } - - void readFrom(std::istream& is) - { - eoVector::readFrom(is); - is >> stdev; - } - - double stdev; -}; - -#endif - - - -// Local Variables: -// coding: iso-8859-1 -// mode:C++ -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/es/eoEsStandardXover.h b/trunk/paradiseo-eo/src/es/eoEsStandardXover.h deleted file mode 100644 index b4cc11533..000000000 --- a/trunk/paradiseo-eo/src/es/eoEsStandardXover.h +++ /dev/null @@ -1,120 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEsLocalXover.h : ES global crossover -// (c) Marc Schoenauer 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: marc.schoenauer@polytechnique.fr http://eeaax.cmap.polytchnique.fr/ - */ -//----------------------------------------------------------------------------- - - -#ifndef _eoEsLocalXover_H -#define _eoEsLocalXover_H - -#include - -#include -#include -#include - -#include -// needs a selector - here random -#include - -/** Standard (i.e. eoBinOp) crossover operator for ES genotypes. - * Uses some Atom crossovers to handle both the object variables - * and the mutation strategy parameters - * It is an eoBinOp and has to be wrapped into an eoGenOp before being used - * like the global version - */ -template -class eoEsStandardXover: public eoBinOp -{ -public: - typedef typename EOT::Fitness FitT; - - /** - * (Default) Constructor. - */ - eoEsStandardXover(eoBinOp & _crossObj, eoBinOp & _crossMut) : - crossObj(_crossObj), crossMut(_crossMut) {} - - /// The class name. Used to display statistics - virtual std::string className() const { return "eoEsStandardXover"; } - - /** - * modifies one parents in the populator - * using a second parent - */ - bool operator()(EOT& _eo1, const EOT& _eo2) - { - bool bLoc=false; - // first, the object variables - for (unsigned i=0; i<_eo1.size(); i++) - { - bLoc |= crossObj(_eo1[i], _eo2[i]); // apply eoBinOp - } - // then the self-adaptation parameters - bLoc |= cross_self_adapt(_eo1, _eo2); - return bLoc; - } - -private: - - // the method to cross slef-adaptation parameters: need to specialize - - bool cross_self_adapt(eoEsSimple & _parent1, const eoEsSimple & _parent2) - { - return crossMut(_parent1.stdev, _parent2.stdev); // apply eoBinOp - } - - bool cross_self_adapt(eoEsStdev & _parent1, const eoEsStdev & _parent2) - { - bool bLoc=false; - for (unsigned i=0; i<_parent1.size(); i++) - { - bLoc |= crossMut(_parent1.stdevs[i], _parent2.stdevs[i]); // apply eoBinOp - } - return bLoc; - } - - bool cross_self_adapt(eoEsFull & _parent1, const eoEsFull & _parent2) - { - bool bLoc=false; - unsigned i; - // the StDev - for (i=0; i<_parent1.size(); i++) - { - bLoc |= crossMut(_parent1.stdevs[i], _parent2.stdevs[i]); // apply eoBinOp - } - // the roataion angles - for (i=0; i<_parent1.correlations.size(); i++) - { - bLoc |= crossMut(_parent1.correlations[i], _parent2.correlations[i]); // apply eoBinOp - } - return bLoc; - - } - - // the data - eoRandomSelect sel; - eoBinOp & crossObj; - eoBinOp & crossMut; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoEsStdev.h b/trunk/paradiseo-eo/src/es/eoEsStdev.h deleted file mode 100644 index 1fdd39c8a..000000000 --- a/trunk/paradiseo-eo/src/es/eoEsStdev.h +++ /dev/null @@ -1,80 +0,0 @@ -/* (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000 - -This library is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) any -later version. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Contact: http://eodev.sourceforge.net - todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ - - -#ifndef _eoEsStdev_h -#define _eoEsStdev_h - -#include - - -/** Evolutionary Strategy with a standard deviation per parameter - -@ingroup EvolutionStrategies - -Evolutionary strategie style representation, supporting co-evolving -standard deviations. -*/ -template -class eoEsStdev : public eoVector -{ -public: - - using eoVector::size; - - typedef double Type; - - eoEsStdev(void) : eoVector() {} - - virtual std::string className(void) const { return "eoEsStdev"; } - - void printOn(std::ostream& os) const - { - eoVector::printOn(os); - os << ' '; - std::copy(stdevs.begin(), stdevs.end(), std::ostream_iterator(os, " ")); - os << ' '; - } - - void readFrom(std::istream& is) - { - eoVector::readFrom(is); - stdevs.resize(size()); - unsigned i; - for (i = 0; i < size(); ++i) - is >> stdevs[i]; - } - - - std::vector stdevs; -}; - -#endif - - - -// Local Variables: -// coding: iso-8859-1 -// mode:C++ -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/es/eoNormalMutation.h b/trunk/paradiseo-eo/src/es/eoNormalMutation.h deleted file mode 100644 index ba807b24b..000000000 --- a/trunk/paradiseo-eo/src/es/eoNormalMutation.h +++ /dev/null @@ -1,276 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoNormalMutation.h -// (c) EEAAX 2001 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoNormalMutation_h -#define eoNormalMutation_h - -//----------------------------------------------------------------------------- - -#include // swap_ranges -#include -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -/** Simple normal mutation of a std::vector of real values. - * The stDev is fixed - but it is passed ans stored as a reference, - * to enable dynamic mutations (see eoOenFithMutation 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!!! - */ - -template class eoNormalVecMutation: public eoMonOp -{ - public: - /** - * (Default) Constructor. - * The bounds are initialized with the global object that says: no bounds. - * - * @param _sigma the range for uniform nutation - * @param _p_change the probability to change a given coordinate - */ - eoNormalVecMutation(double _sigma, const double& _p_change = 1.0): - sigma(_sigma), bounds(eoDummyVectorNoBounds), p_change(_p_change) {} - - /** - * Constructor with bounds - * @param _bounds an eoRealVectorBounds that contains the bounds - * @param _sigma the range for uniform nutation - * @param _p_change the probability to change a given coordinate - * - * for each component, the sigma is scaled to the range of the bound, if bounded - */ - eoNormalVecMutation(eoRealVectorBounds & _bounds, - double _sigma, const double& _p_change = 1.0): - sigma(_bounds.size(), _sigma), bounds(_bounds), p_change(_p_change) - { - // scale to the range - if any - for (unsigned i=0; i sigma; - eoRealVectorBounds & bounds; - double p_change; -}; - -/** Simple normal mutation of a std::vector of real values. - * The stDev is fixed - but it is passed ans stored as a reference, - * to enable dynamic mutations (see eoOenFithMutation 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!!! - */ - -template class eoNormalMutation - : public eoMonOp -{ -public: - /** - * (Default) Constructor. - * The bounds are initialized with the global object that says: no bounds. - * - * @param _sigma the range for uniform nutation - * @param _p_change the probability to change a given coordinate - */ - eoNormalMutation(double & _sigma, const double& _p_change = 1.0): - sigma(_sigma), bounds(eoDummyVectorNoBounds), p_change(_p_change) {} - - /** - * Constructor with bounds - * @param _bounds an eoRealVectorBounds that contains the bounds - * @param _sigma the range for uniform nutation - * @param _p_change the probability to change a given coordinate - */ - eoNormalMutation(eoRealVectorBounds & _bounds, - double _sigma, const double& _p_change = 1.0): - sigma(_sigma), bounds(_bounds), p_change(_p_change) {} - - /** The class name */ - virtual std::string className() const { return "eoNormalMutation"; } - - /** - * Do it! - * @param _eo The cromosome undergoing the mutation - */ - bool operator()(EOT& _eo) - { - bool hasChanged=false; - for (unsigned lieu=0; lieu<_eo.size(); lieu++) - { - if (rng.flip(p_change)) - { - _eo[lieu] += sigma*rng.normal(); - bounds.foldsInBounds(lieu, _eo[lieu]); - hasChanged = true; - } - } - return hasChanged; - } - - /** Accessor to ref to sigma - for update and monitor */ - double & Sigma() {return sigma;} - -private: - double & sigma; - eoRealVectorBounds & bounds; - double p_change; -}; - -/** the dynamic version: just say it is updatable - - * and write the update() method! - * here the 1 fifth rule: count the proportion of successful mutations, and - * increase sigma if more than threshold (1/5 !) - */ - -template class eoOneFifthMutation : - public eoNormalMutation, public eoUpdatable -{ -public: - - using eoNormalMutation< EOT >::Sigma; - - typedef typename EOT::Fitness Fitness; - - /** - * (Default) Constructor. - * - * @param eval the evaluation function, needed to recompute the fitmess - * @param _sigmaInit the initial value for uniform mutation - * @param _windowSize the size of the window for statistics - * @param _threshold the threshold (the 1/5 - 0.2) - * @param _updateFactor multiplicative update factor for sigma - */ - eoOneFifthMutation(eoEvalFunc & _eval, double & _sigmaInit, - unsigned _windowSize = 10, double _updateFactor=0.83, - double _threshold=0.2): - eoNormalMutation(_sigmaInit), eval(_eval), - threshold(_threshold), updateFactor(_updateFactor), - nbMut(_windowSize, 0), nbSuccess(_windowSize, 0), genIndex(0) - { - // minimal check - if (updateFactor>=1) - throw std::runtime_error("Update factor must be < 1 in eoOneFifthMutation"); - } - - /** The class name */ - virtual std::string className() const { return "eoOneFifthMutation"; } - - /** - * Do it! - * calls the standard mutation, then checks for success and updates stats - * - * @param _eo The chromosome undergoing the mutation - */ - bool operator()(EOT & _eo) - { - if (_eo.invalid()) // due to some crossover??? - eval(_eo); - Fitness oldFitness = _eo.fitness(); // save old fitness - - // call standard operator - then count the successes - if (eoNormalMutation::operator()(_eo)) // _eo has been modified - { - _eo.invalidate(); // don't forget!!! - nbMut[genIndex]++; - eval(_eo); // compute fitness of offspring - - if (_eo.fitness() > oldFitness) - nbSuccess[genIndex]++; // update counter - } - return false; // because eval has reset the validity flag - } - - /** the method that will be called every generation - * if the object is added to the checkpoint - */ - void update() - { - unsigned totalMut = 0; - unsigned totalSuccess = 0; - // compute the average stats over the time window - for ( unsigned i=0; i threshold) { - Sigma() /= updateFactor; // increase sigma - } - else - { - Sigma() *= updateFactor; // decrease sigma - } - genIndex = (genIndex+1) % nbMut.size() ; - nbMut[genIndex] = nbSuccess[genIndex] = 0; - - } - -private: - eoEvalFunc & eval; - double threshold; // 1/5 ! - double updateFactor ; // the multiplicative factor - std::vector nbMut; // total number of mutations per gen - std::vector nbSuccess; // number of successful mutations per gen - unsigned genIndex ; // current index in std::vectors (circular) -}; - - -//----------------------------------------------------------------------------- -//@} -#endif - diff --git a/trunk/paradiseo-eo/src/es/eoReal.h b/trunk/paradiseo-eo/src/es/eoReal.h deleted file mode 100644 index 516395f15..000000000 --- a/trunk/paradiseo-eo/src/es/eoReal.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - eoReal.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - todos@geneura.ugr.es, http://geneura.ugr.es - mkeijzer@dhi.dk -*/ - -#ifndef eoReal_h -#define eoReal_h - -//----------------------------------------------------------------------------- - -#include // std::ostream, std::istream -#include // std::string - -#include - -/** eoReal: implementation of simple real-valued chromosome. - * based on eoVector class -*/ -template class eoReal: public eoVector -{ - public: - - /** - * (Default) Constructor. - * @param size Size of the std::vector - */ - eoReal(unsigned size = 0, double value = 0.0): - eoVector(size, value) {} - - /// My class name. - virtual std::string className() const - { - return "eoReal"; - } - -}; - -//----------------------------------------------------------------------------- - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoRealAtomXover.h b/trunk/paradiseo-eo/src/es/eoRealAtomXover.h deleted file mode 100644 index 9380b443a..000000000 --- a/trunk/paradiseo-eo/src/es/eoRealAtomXover.h +++ /dev/null @@ -1,94 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoRealAtomXover.h : helper classes for std::vector crossover -// (c) Marc Schoenauer 2001 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: marc.schoenauer@polytechnique.fr http://eeaax.cmap.polytchnique.fr/ - */ -//----------------------------------------------------------------------------- - -/** Some basic atomic crossovers for doubles - * - * Are used in all ES specifici crossovers - * and will be in more general stuff, using the generic crossovers - */ - -#ifndef _eoRealAtomXover_H -#define _eoRealAtomXover_H - -#include - -#include - -/** - Discrete crossover == exchange of values -*/ -class eoDoubleExchange: public eoBinOp -{ -public: - /** - * (Default) Constructor. - */ - eoDoubleExchange() {} - - /// The class name. Used to display statistics - virtual std::string className() const { return "eoDoubleExchange"; } - - /** - Exchanges or not the values - */ - bool operator()(double& r1, const double& r2) - { - if (eo::rng.flip()) - if (r1 != r2) // if r1 == r2 you must return false - { - r1 = r2; - return true; - } - return false; - } - -}; - -/** - Intermediate crossover == linear combination -*/ -class eoDoubleIntermediate: public eoBinOp -{ -public: - /** - * (Default) Constructor. - */ - eoDoubleIntermediate() {} - - /// The class name. Used to display statistics - virtual std::string className() const { return "eoDoubleIntermediate"; } - - /** - Linear combination of both parents - */ - bool operator()(double& r1, const double& r2) - { - double alpha = eo::rng.uniform(); - r1 = alpha * r2 + (1-alpha) * r1; - return true; - } - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/es/eoRealInitBounded.h b/trunk/paradiseo-eo/src/es/eoRealInitBounded.h deleted file mode 100644 index b0f98ba6f..000000000 --- a/trunk/paradiseo-eo/src/es/eoRealInitBounded.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoRealInitBounded.h -// (c) EEAAX 2000 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoRealInitBounded_h -#define eoRealInitBounded_h - -//----------------------------------------------------------------------------- - -#include -#include -#include -#include - -/** Simple initialization for any EOT that derives from std::vector - * uniformly in some bounds - */ -template -class eoRealInitBounded : public eoInit -{ - public: - /** Ctor - from eoRealVectorBounds */ - eoRealInitBounded(eoRealVectorBounds & _bounds):bounds(_bounds) - { - if (!bounds.isBounded()) - throw std::runtime_error("Needs bounded bounds to initialize a std::vector"); - } - - /** simply passes the argument to the uniform method of the bounds */ - virtual void operator()(EOT & _eo) - { - bounds.uniform(_eo); // resizes, and fills uniformly in bounds - _eo.invalidate(); // was MISSING!!!! - } - - /** accessor to the bounds */ - virtual eoRealVectorBounds & theBounds() {return bounds;} - virtual unsigned size(){return bounds.size();} - - private: - eoRealVectorBounds & bounds; -}; - -//----------------------------------------------------------------------------- -//@} -#endif - diff --git a/trunk/paradiseo-eo/src/es/eoRealOp.h b/trunk/paradiseo-eo/src/es/eoRealOp.h deleted file mode 100644 index 6fabf2f2a..000000000 --- a/trunk/paradiseo-eo/src/es/eoRealOp.h +++ /dev/null @@ -1,504 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoRealOp.h -// (c) Maarten Keijzer 2000 - Marc Schoenauer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoRealOp_h -#define eoRealOp_h - -//----------------------------------------------------------------------------- - -#include // swap_ranges -#include -#include -#include - -//----------------------------------------------------------------------------- - -/** eoUniformMutation --> changes all values of the std::vector - by uniform choice with range epsilon - with probability p_change per variable -\class eoUniformMutation eoRealOp.h Tutorial/eoRealOp.h -\ingroup parameteric -*/ - -template class eoUniformMutation: public eoMonOp -{ - public: - /** - * Constructor without bounds == unbounded variables :-) - * not very clean, but who's doing unbounded optimization anyway? - * and it's there mostly for backward compatibility - * - * @param _epsilon the range for uniform nutation - * @param _p_change the probability to change a given coordinate - */ - eoUniformMutation(const double& _epsilon, const double& _p_change = 1.0): - homogeneous(true), bounds(eoDummyVectorNoBounds), epsilon(1, _epsilon), - p_change(1, _p_change) {} - - /** - * Constructor with bounds - * @param _bounds an eoRealVectorBounds that contains the bounds - * @param _epsilon the range for uniform mutation - a double to be scaled - * @param _p_change the one probability to change all coordinates - */ - eoUniformMutation(eoRealVectorBounds & _bounds, - const double& _epsilon, const double& _p_change = 1.0): - homogeneous(false), bounds(_bounds), epsilon(_bounds.size(), _epsilon), - p_change(_bounds.size(), _p_change) - { - // scale to the range - if any - for (unsigned i=0; i& _epsilon, - const std::vector& _p_change): - homogeneous(false), bounds(_bounds), epsilon(_epsilon), - p_change(_p_change) {} - - /// The class name. - virtual std::string className() const { return "eoUniformMutation"; } - - /** - * Do it! - * @param _eo The indi undergoing the mutation - */ - bool operator()(EOT& _eo) - { - bool hasChanged=false; - if (homogeneous) // implies no bounds object - for (unsigned lieu=0; lieu<_eo.size(); lieu++) - { - if (rng.flip(p_change[0])) - { - _eo[lieu] += 2*epsilon[0]*rng.uniform()-epsilon[0]; - hasChanged = true; - } - } - else - { - // sanity check ? - if (_eo.size() != bounds.size()) - throw std::runtime_error("Invalid size of indi in eoUniformMutation"); - - for (unsigned lieu=0; lieu<_eo.size(); lieu++) - if (rng.flip(p_change[lieu])) - { - // check the bounds - double emin = _eo[lieu]-epsilon[lieu]; - double emax = _eo[lieu]+epsilon[lieu]; - if (bounds.isMinBounded(lieu)) - emin = std::max(bounds.minimum(lieu), emin); - if (bounds.isMaxBounded(lieu)) - emax = std::min(bounds.maximum(lieu), emax); - _eo[lieu] = emin + (emax-emin)*rng.uniform(); - hasChanged = true; - } - } - return hasChanged; - } - -private: - bool homogeneous; // == no bounds passed in the ctor - eoRealVectorBounds & bounds; - std::vector epsilon; // the ranges for mutation - std::vector p_change; // the proba that each variable is modified -}; - -/** eoDetUniformMutation --> changes exactly k values of the std::vector - by uniform choice with range epsilon -\class eoDetUniformMutation eoRealOp.h Tutorial/eoRealOp.h -\ingroup parameteric -*/ - -template class eoDetUniformMutation: public eoMonOp -{ - public: - /** - * (Default) Constructor for homogeneous genotype - * it's there mostly for backward compatibility - * - * @param _epsilon the range for uniform nutation - * @param number of coordinate to modify - */ - eoDetUniformMutation(const double& _epsilon, const unsigned& _no = 1): - homogeneous(true), bounds(eoDummyVectorNoBounds), - epsilon(1, _epsilon), no(_no) {} - - /** - * Constructor with bounds - * @param _bounds an eoRealVectorBounds that contains the bounds - * @param _epsilon the range for uniform nutation (to be scaled if necessary) - * @param number of coordinate to modify - */ - eoDetUniformMutation(eoRealVectorBounds & _bounds, - const double& _epsilon, const unsigned& _no = 1): - homogeneous(false), bounds(_bounds), - epsilon(_bounds.size(), _epsilon), no(_no) - { - // scale to the range - if any - for (unsigned i=0; i& _epsilon, - const unsigned& _no = 1): - homogeneous(false), bounds(_bounds), epsilon(_epsilon), no(_no) - { - // scale to the range - if any - for (unsigned i=0; i epsilon; // the ranges of mutation - unsigned no; -}; - - -// two arithmetical crossovers - -/** eoSegmentCrossover --> uniform choice in segment - == arithmetical with same value along all coordinates -\class eoSegmentCrossover eoRealOp.h Tutorial/eoRealOp.h -\ingroup parameteric -*/ - -template class eoSegmentCrossover: public eoQuadOp -{ - public: - /** - * (Default) Constructor. - * The bounds are initialized with the global object that says: no bounds. - * - * @param _alphaMin the amount of exploration OUTSIDE the parents - * as in BLX-alpha notation (Eshelman and Schaffer) - * 0 == contractive application - * Must be positive - */ - eoSegmentCrossover(const double& _alpha = 0.0) : - bounds(eoDummyVectorNoBounds), alpha(_alpha), range(1+2*_alpha) {} - - /** - * Constructor with bounds - * @param _bounds an eoRealVectorBounds that contains the bounds - * @param _alphaMin the amount of exploration OUTSIDE the parents - * as in BLX-alpha notation (Eshelman and Schaffer) - * 0 == contractive application - * Must be positive - */ - eoSegmentCrossover(eoRealVectorBounds & _bounds, - const double& _alpha = 0.0) : - bounds(_bounds), alpha(_alpha), range(1+2*_alpha) {} - - /// The class name. - virtual std::string className() const { return "eoSegmentCrossover"; } - - /** - * segment crossover - modifies both parents - * @param _eo1 The first parent - * @param _eo2 The first parent - */ - bool operator()(EOT& _eo1, EOT& _eo2) - { - unsigned i; - double r1, r2, fact; - double alphaMin = -alpha; - double alphaMax = 1+alpha; - if (alpha == 0.0) // no check to perform - fact = -alpha + rng.uniform(range); // in [-alpha,1+alpha) - else // look for the bounds for fact - { - for (i=0; i<_eo1.size(); i++) - { - r1=_eo1[i]; - r2=_eo2[i]; - if (r1 != r2) { // otherwise you'll get NAN's - double rmin = std::min(r1, r2); - double rmax = std::max(r1, r2); - double length = rmax - rmin; - if (bounds.isMinBounded(i)) - { - alphaMin = std::max(alphaMin, (bounds.minimum(i)-rmin)/length); - alphaMax = std::min(alphaMax, (rmax-bounds.minimum(i))/length); - } - if (bounds.isMaxBounded(i)) - { - alphaMax = std::min(alphaMax, (bounds.maximum(i)-rmin)/length); - alphaMin = std::max(alphaMin, (rmax-bounds.maximum(i))/length); - } - } - } - fact = alphaMin + (alphaMax-alphaMin)*rng.uniform(); - } - - for (i=0; i<_eo1.size(); i++) - { - r1=_eo1[i]; - r2=_eo2[i]; - _eo1[i] = fact * r1 + (1-fact) * r2; - _eo2[i] = (1-fact) * r1 + fact * r2; - } - return true; // shoudl test if fact was 0 or 1 :-))) - } - -protected: - eoRealVectorBounds & bounds; - double alpha; - double range; // == 1+2*alpha -}; - -/** eoHypercubeCrossover --> uniform choice in hypercube - == arithmetical with different values for each coordinate -\class eoArithmeticCrossover eoRealOp.h Tutorial/eoRealOp.h -\ingroup parameteric -*/ - -template class eoHypercubeCrossover: public eoQuadOp -{ - public: - /** - * (Default) Constructor. - * The bounds are initialized with the global object that says: no bounds. - * - * @param _alphaMin the amount of exploration OUTSIDE the parents - * as in BLX-alpha notation (Eshelman and Schaffer) - * 0 == contractive application - * Must be positive - */ - eoHypercubeCrossover(const double& _alpha = 0.0): - bounds(eoDummyVectorNoBounds), alpha(_alpha), range(1+2*_alpha) - { - if (_alpha < 0) - throw std::runtime_error("BLX coefficient should be positive"); - } - - /** - * Constructor with bounds - * @param _bounds an eoRealVectorBounds that contains the bounds - * @param _alphaMin the amount of exploration OUTSIDE the parents - * as in BLX-alpha notation (Eshelman and Schaffer) - * 0 == contractive application - * Must be positive - */ - eoHypercubeCrossover(eoRealVectorBounds & _bounds, - const double& _alpha = 0.0): - bounds(_bounds), alpha(_alpha), range(1+2*_alpha) - { - if (_alpha < 0) - throw std::runtime_error("BLX coefficient should be positive"); - } - - /// The class name. - virtual std::string className() const { return "eoHypercubeCrossover"; } - - /** - * hypercube crossover - modifies both parents - * @param _eo1 The first parent - * @param _eo2 The first parent - */ - bool operator()(EOT& _eo1, EOT& _eo2) - { - bool hasChanged = false; - unsigned i; - double r1, r2, fact; - if (alpha == 0.0) // no check to perform - for (i=0; i<_eo1.size(); i++) - { - r1=_eo1[i]; - r2=_eo2[i]; - if (r1 != r2) { // otherwise do nothing - fact = rng.uniform(range); // in [0,1) - _eo1[i] = fact * r1 + (1-fact) * r2; - _eo2[i] = (1-fact) * r1 + fact * r2; - hasChanged = true; // forget (im)possible alpha=0 - } - } - else // check the bounds - // do not try to get a bound on the linear factor, but rather - // on the object variables themselves - for (i=0; i<_eo1.size(); i++) - { - r1=_eo1[i]; - r2=_eo2[i]; - if (r1 != r2) { // otherwise do nothing - double rmin = std::min(r1, r2); - double rmax = std::max(r1, r2); - - // compute min and max for object variables - double objMin = -alpha * rmax + (1+alpha) * rmin; - double objMax = -alpha * rmin + (1+alpha) * rmax; - - // first find the limits on the alpha's - if (bounds.isMinBounded(i)) - { - objMin = std::max(objMin, bounds.minimum(i)); - } - if (bounds.isMaxBounded(i)) - { - objMax = std::min(objMax, bounds.maximum(i)); - } - // then draw variables - double median = (objMin+objMax)/2.0; // uniform within bounds - // double median = (rmin+rmax)/2.0; // Bounce on bounds - double valMin = objMin + (median-objMin)*rng.uniform(); - double valMax = median + (objMax-median)*rng.uniform(); - // don't always put large value in _eo1 - or what? - if (rng.flip(0.5)) - { - _eo1[i] = valMin; - _eo2[i] = valMax; - } - else - { - _eo1[i] = valMax; - _eo2[i] = valMin; - } - // seomthing has changed - hasChanged = true; // forget (im)possible alpha=0 - } - } - - return hasChanged; - } - -protected: - eoRealVectorBounds & bounds; - double alpha; - double range; // == 1+2*alphaMin -}; - - -/** eoRealUxOver --> Uniform crossover, also termed intermediate crossover -\class eoRealUxOver eoRealOp.h Tutorial/eoRealOp.h -\ingroup parameteric -*/ - -template class eoRealUXover: public eoQuadOp -{ - public: - /** - * (Default) Constructor. - * @param _preference bias in the choice (usually, no bias == 0.5) - */ - eoRealUXover(const float& _preference = 0.5): preference(_preference) - { - if ( (_preference <= 0.0) || (_preference >= 1.0) ) - std::runtime_error("UxOver --> invalid preference"); - } - - /// The class name. - virtual std::string className() const { return "eoRealUXover"; } - - /** - * Uniform crossover for real std::vectors - * @param _eo1 The first parent - * @param _eo2 The second parent - * @std::runtime_error if sizes don't match - */ - bool operator()(EOT& _eo1, EOT& _eo2) - { - if ( _eo1.size() != _eo2.size()) - std::runtime_error("UxOver --> chromosomes sizes don't match" ); - bool changed = false; - for (unsigned int i=0; i<_eo1.size(); i++) - { - if (rng.flip(preference)) - if (_eo1[i] != _eo2[i]) - { - double tmp = _eo1[i]; - _eo1[i]=_eo2[i]; - _eo2[i] = tmp; - changed = true; - } - } - return changed; - } - private: - float preference; -}; - - -//----------------------------------------------------------------------------- -//@} -#endif diff --git a/trunk/paradiseo-eo/src/es/eoSBXcross.h b/trunk/paradiseo-eo/src/es/eoSBXcross.h deleted file mode 100644 index 34fa47944..000000000 --- a/trunk/paradiseo-eo/src/es/eoSBXcross.h +++ /dev/null @@ -1,133 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSBXcross.h -// (c) Maarten Keijzer 2000 - Marc Schoenauer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#include // swap_ranges -#include -#include -#include -#include -#include - - - -template class eoSBXCrossover: public eoQuadOp -{ - public: - /**** - * (Default) Constructor. - * The bounds are initialized with the global object that says: no bounds. - * - * - */ - eoSBXCrossover(const double& _eta = 1.0) : - bounds(eoDummyVectorNoBounds), eta(_eta), range(1) {} - - - ////////////////////////////////////////////// - - /** - * Constructor with bounds - * @param _bounds an eoRealVectorBounds that contains the bounds - * @param _alphaMin the amount of exploration OUTSIDE the parents - * as in BLX-alpha notation (Eshelman and Schaffer) - * 0 == contractive application - * Must be positive - */ - - - - eoSBXCrossover(eoRealVectorBounds & _bounds, - const double& _eta = 1.0) : - bounds(_bounds), eta(_eta), range(1) {} - - /////////////////////////////////////////////// - - ////////////////////////////////////////////// - - /** - * Constructor from a parser. Will read from the argument parser - * eoRealVectorBounds that contains the bounds - * eta, the SBX parameter - */ - - eoSBXCrossover(eoParser & _parser) : - // First, decide whether the objective variables are bounded - // Warning, must be the same keywords than other possible objectBounds elsewhere - bounds (_parser.getORcreateParam(eoDummyVectorNoBounds, "objectBounds", "Bounds for variables", 'B', "Variation Operators").value()) , - // then get eta value - eta (_parser.getORcreateParam(1.0, "eta", "SBX eta parameter", '\0', "Variation Operators").value()) , - range(1) {} - - - /// The class name. - virtual std::string className() const { return "eoSBXCrossover"; } - - /***************************************** - * SBX crossover - modifies both parents * - * @param _eo1 The first parent * - * @param _eo2 The first parent * - *****************************************/ - bool operator()(EOT& _eo1, EOT& _eo2) - { - unsigned i; - double r1, r2, beta; - - for (i=0; i<_eo1.size(); i++) - { - double u = rng.uniform(range) ; - - if ( u <= 0.5 ) - beta = exp( (1/(eta+1))*log(2*u)); - else - beta = exp((1/(eta+1))*log(1/(2*(1-u)))); - - - - r1=_eo1[i]; - r2=_eo2[i]; - _eo1[i] =0.5*((1+beta)*r1+(1-beta)*r2); - _eo2[i] =0.5*((1-beta)*r1+(1+beta)*r2); - - - if(!(bounds.isInBounds(i,_eo1[i]))) - bounds.foldsInBounds(i,_eo1[i]); - if(!(bounds.isInBounds(i,_eo2[i]))) - bounds.foldsInBounds(i,_eo2[i]); - - - - } - return true; - } - - - -protected: - eoRealVectorBounds & bounds; - double eta; - double range; // == 1 -}; - - diff --git a/trunk/paradiseo-eo/src/es/make_algo_scalar_es.cpp b/trunk/paradiseo-eo/src/es/make_algo_scalar_es.cpp deleted file mode 100644 index fa35cb36e..000000000 --- a/trunk/paradiseo-eo/src/es/make_algo_scalar_es.cpp +++ /dev/null @@ -1,85 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_algo_scalar_es.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of select/replace fns - * of the library for evolution of ***eoEs genotypes*** inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/es.h - * while the TEMPLATIZED code is define in make_algo_scalar.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi - -/// The following function merely call the templatized do_* functions above - -// Algo -/////// -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -////////////// -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -/////////////// -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - diff --git a/trunk/paradiseo-eo/src/es/make_algo_scalar_real.cpp b/trunk/paradiseo-eo/src/es/make_algo_scalar_real.cpp deleted file mode 100644 index 91b5ccd13..000000000 --- a/trunk/paradiseo-eo/src/es/make_algo_scalar_real.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_algo_scalar_real.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of select/replace fns - * of the library for evolution of ***eoReal*** inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/real.h - * while the TEMPLATIZED code is define in make_algo_scalar.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType -#include - -/// The following function merely call the templatized do_* functions above - -// Algo -/////// -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist); -} - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist); -} - diff --git a/trunk/paradiseo-eo/src/es/make_checkpoint_es.cpp b/trunk/paradiseo-eo/src/es/make_checkpoint_es.cpp deleted file mode 100644 index dea658dcb..000000000 --- a/trunk/paradiseo-eo/src/es/make_checkpoint_es.cpp +++ /dev/null @@ -1,83 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_checkpoint_es.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of checkpoint fns - * of the library for evolution of ***ES genotypes*** inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/es.h - * while the TEMPLATIZED code is define in make_checkpoint.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi - -/// The following function merely call the templatized do_* functions - -// checkpoint -///////////// -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -///////////// -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -///////////// -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - - diff --git a/trunk/paradiseo-eo/src/es/make_checkpoint_real.cpp b/trunk/paradiseo-eo/src/es/make_checkpoint_real.cpp deleted file mode 100644 index 1995d78c1..000000000 --- a/trunk/paradiseo-eo/src/es/make_checkpoint_real.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_checkpoint_real.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of checkpoint fns - * of the library for evolution of ***eoReal*** inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/real.h - * while the TEMPLATIZED code is define in make_checkpoint.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType -#include - -/// The following function merely call the templatized do_* functions - -// checkpoint -///////////// -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - - diff --git a/trunk/paradiseo-eo/src/es/make_continue_es.cpp b/trunk/paradiseo-eo/src/es/make_continue_es.cpp deleted file mode 100644 index ca9d4fee3..000000000 --- a/trunk/paradiseo-eo/src/es/make_continue_es.cpp +++ /dev/null @@ -1,83 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_continue_es.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of continuator fns - * of the library for evolution of ***ES genotypes*** inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/es.h - * while the TEMPLATIZED code is define in make_continue.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi - -/// The following function merely call the templatized do_* functions - -// continue -/////////// -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -/////////// -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -/////////// -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - - diff --git a/trunk/paradiseo-eo/src/es/make_continue_real.cpp b/trunk/paradiseo-eo/src/es/make_continue_real.cpp deleted file mode 100644 index 868e8eeca..000000000 --- a/trunk/paradiseo-eo/src/es/make_continue_real.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_continue_real.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of continuator fns - * of the library for evolution of ***REAL vectors*** inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/real.h - * while the TEMPLATIZED code is define in make_continue.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType -#include - -/// The following function merely call the templatized do_* functions - -// continue -/////////// -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - - diff --git a/trunk/paradiseo-eo/src/es/make_es.h b/trunk/paradiseo-eo/src/es/make_es.h deleted file mode 100644 index 3212f3916..000000000 --- a/trunk/paradiseo-eo/src/es/make_es.h +++ /dev/null @@ -1,146 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// es.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -/** This file contains all ***INSTANCIATED*** declarations of all components - * of the library for ***ES-like gnptype*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * - * The corresponding ***INSTANCIATED*** definitions are contained in - * the different .cpp files in the src/es dir, - * while the TEMPLATIZED code is define in the different make_XXX.h files - * either in hte src/do dir for representation independant functions, - * or in the src/es dir for representation dependent stuff. - * - * See also real.h for the similar declarations of eoReal genotypes - * i.e. ***without*** mutation parameters attached to individuals - * - * Unlike most EO .h files, it does not (and should not) contain any code, - * just declarations - */ - -#ifndef es_h -#define es_h - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi - -// include all similar declaration for eoReal - i.e. real-valued genotyes -// without self-adaptation -#include - -//Representation dependent - rewrite everything anew for each representation -////////////////////////// -// the genotypes -eoRealInitBounded > & make_genotype(eoParser& _parser, eoState& _state, eoEsSimple _eo); -eoRealInitBounded > & make_genotype(eoParser& _parser, eoState& _state, eoEsSimple _eo); - -eoRealInitBounded > & make_genotype(eoParser& _parser, eoState& _state, eoEsStdev _eo); -eoRealInitBounded > & make_genotype(eoParser& _parser, eoState& _state, eoEsStdev _eo); - -eoRealInitBounded > & make_genotype(eoParser& _parser, eoState& _state, eoEsFull _eo); -eoRealInitBounded > & make_genotype(eoParser& _parser, eoState& _state, eoEsFull _eo); - - - -// the operators -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init); -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init); -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init); -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init); -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init); -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init); - -//Representation INdependent -//////////////////////////// -// you don't need to modify that part even if you use your own representation - -// init pop -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); - -// the continue's -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); - -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); - -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); - -// the checkpoint -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); - -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); - -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); - - -// the algo -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); - -// run -void run_ea(eoAlgo >& _ga, eoPop >& _pop); -void run_ea(eoAlgo >& _ga, eoPop >& _pop); - -void run_ea(eoAlgo >& _ga, eoPop >& _pop); -void run_ea(eoAlgo >& _ga, eoPop >& _pop); - -void run_ea(eoAlgo >& _ga, eoPop >& _pop); -void run_ea(eoAlgo >& _ga, eoPop >& _pop); - -// end of parameter input (+ .status + help) -// that one is not templatized, but is here for completeness -void make_help(eoParser & _parser); - -#endif diff --git a/trunk/paradiseo-eo/src/es/make_genotype_es.cpp b/trunk/paradiseo-eo/src/es/make_genotype_es.cpp deleted file mode 100644 index 41f764cdf..000000000 --- a/trunk/paradiseo-eo/src/es/make_genotype_es.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/* (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 - -This library is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) any -later version. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Contact: http://eodev.sourceforge.net - todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk -*/ - - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - - -/** Init functions - -This file contains ***INSTANCIATED DEFINITIONS*** of eoReal Init fns -It should be included in the file that calls any of the corresponding -fns Compiling this file allows one to generate part of the library -(i.e. object files that you just need to link with your own main and -fitness code). - -The corresponding ***INSTANCIATED DECLARATIONS*** are contained in -src/es/make_real.h while the TEMPLATIZED code is define in -make_genotype_real.h - -It is instanciated in src/es/make_genotype_real.cpp - and incorporated -in the ga/libga.a - -It returns an eoInit that can later be used to initialize the -population (see make_pop.h). - -It uses a parser (to get user parameters) and a state (to store the -memory) the last argument is to disambiguate the call upon different -instanciations. - -WARNING: that last argument will generally be the result of calling -the default ctor of EOT, resulting in most cases in an EOT that is -***not properly initialized*** -*/ - -// the templatized code (same for real and es here) -#include - - -/// The following function merely call the templatized do_* functions -eoRealInitBounded >& make_genotype(eoParser& _parser, - eoState& _state, - eoEsSimple _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - - - -eoRealInitBounded >& make_genotype(eoParser& _parser, - eoState& _state, - eoEsSimple _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - - - -eoRealInitBounded >& make_genotype(eoParser& _parser, - eoState& _state, - eoEsStdev _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - - - -eoRealInitBounded >& make_genotype(eoParser& _parser, - eoState& _state, - eoEsStdev _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - - - -eoRealInitBounded > & make_genotype(eoParser& _parser, - eoState& _state, - eoEsFull _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - - - -eoRealInitBounded >& make_genotype(eoParser& _parser, - eoState& _state, - eoEsFull _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - - - - -// Local Variables: -// coding: iso-8859-1 -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/es/make_genotype_real.cpp b/trunk/paradiseo-eo/src/es/make_genotype_real.cpp deleted file mode 100644 index d5ad238d4..000000000 --- a/trunk/paradiseo-eo/src/es/make_genotype_real.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_genotype_real.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of eoReal Init fns - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/make_real.h - * while the TEMPLATIZED code is define in make_genotype_real.h - * - * It is instanciated in src/es/make_genotype_real.cpp - - * and incorporated in the ga/libga.a - * - * It returns an eoInit that can later be used to initialize - * the population (see make_pop.h). - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is to disambiguate the call upon different instanciations. - * - * WARNING: that last argument will generally be the result of calling - * the default ctor of EOT, resulting in most cases in an EOT - * that is ***not properly initialized*** -*/ - -// the templatized code -#include - -/// The following functions merely call the templatized do_* functions -eoRealInitBounded > & make_genotype(eoParser& _parser, - eoState& _state, - eoReal _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - - - -eoRealInitBounded > & make_genotype(eoParser& _parser, - eoState& _state, - eoReal _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} diff --git a/trunk/paradiseo-eo/src/es/make_genotype_real.h b/trunk/paradiseo-eo/src/es/make_genotype_real.h deleted file mode 100644 index a2077793e..000000000 --- a/trunk/paradiseo-eo/src/es/make_genotype_real.h +++ /dev/null @@ -1,136 +0,0 @@ -//----------------------------------------------------------------------------- -/** (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 - -This library is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) any -later version. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Contact: http://eodev.sourceforge.net - todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk -*/ - - -#ifndef EO_make_genotype_h -#define EO_make_genotype_h - -#include -#include -#include - -#include "es/eoReal.h" -#include "es/eoEsChromInit.h" -#include "utils/eoParser.h" -#include "utils/eoRealVectorBounds.h" -#include "utils/eoState.h" - - -/** Initialize genotype - -This fuction does the initialization of what's needed for a particular genotype -(here, std::vector == eoReal). It could be here tempatied only on the -fitness, as it can be used to evolve bitstrings with any fitness. However, for -consistency reasons, it was finally chosen, as in the rest of EO, to templatize -by the full EOT, as this eventually allows to choose the type of genotype at run -time (see in es dir) - -It is instanciated in src/es/make_genotyupe_real.cpp and incorporated in the -src/es/libes.a - -It returns an eoInit tha can later be used to initialize the population -(see make_pop.h). - -It uses a parser (to get user parameters) and a state (to store the memory) the -last argument is to disambiguate the call upon different instanciations. - -WARNING: that last argument will generally be the result of calling the default -ctor of EOT, resulting in most cases in an EOT that is ***not properly -initialized*** -*/ -template -eoEsChromInit & do_make_genotype(eoParser& _parser, eoState& _state, EOT) -{ - // the fitness type - typedef typename EOT::Fitness FitT; - eoEsChromInit *init; - - // for eoReal, only thing needed is the size - but might have been created elswhere ... - eoValueParam& vecSize - = _parser.getORcreateParam(unsigned(10), "vecSize", - "The number of variables ", - 'n',"Genotype Initialization"); - // to build an eoReal Initializer, we need bounds: [-1,1] by default - eoValueParam& boundsParam - = _parser.getORcreateParam(eoRealVectorBounds(vecSize.value(), -1, 1), - "initBounds", - "Bounds for initialization (MUST be bounded)", - 'B', "Genotype Initialization"); - // now some initial value for sigmas - even if useless? - // should be used in Normal mutation - eoValueParam& sigmaParam - = _parser.getORcreateParam(std::string("0.3"), "sigmaInit", - "Initial value for Sigmas (with a '%' -> scaled by the range of each variable)", - 's',"Genotype Initialization"); - // check if there is a vecSigmaInit - eoParam *vecSigmaParam = _parser.getParamWithLongName("vecSigmaInit"); - if(vecSigmaParam) { - eoValueParam >& vecSigmaParam - = _parser.getORcreateParam(std::vector(vecSize.value(), 0.3), - "vecSigmaInit", "Initial value for Sigma(s)", - 'V',"Genotype Initialization"); - init = new eoEsChromInit(boundsParam.value(), vecSigmaParam.value()); - } else { - // now some initial value for sigmas - even if useless? - // should be used in Normal mutation - eoValueParam& sigmaParam - = _parser.getORcreateParam(std::string("0.3"), "sigmaInit", - "Initial value for Sigmas " - "(with '%' scaled by the range of each variable)", - 's',"Genotype Initialization"); - // check for % - bool to_scale = false; - size_t pos = sigmaParam.value().find('%'); - if(pos < sigmaParam.value().size()) - { - // found a % - use scaling and get rid of '%' - to_scale = true; - sigmaParam.value().resize(pos); - } - std::istringstream is(sigmaParam.value()); - double sigma; - is >> sigma; - // minimum check - if(sigma < 0) - throw std::runtime_error("Negative sigma in make_genotype"); - init = new eoEsChromInit(boundsParam.value(), sigma, to_scale); - // define parameter - _parser.getORcreateParam(std::vector(vecSize.value(), 0.3), - "vecSigmaInit", "Initial value for Sigma(s)", - 'V',"Genotype Initialization"); - } - // store in state - _state.storeFunctor(init); - return *init; -} - -#endif // EO_make_genotype_h - - - -// Local Variables: -// coding: iso-8859-1 -// mode:C++ -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/es/make_op.h b/trunk/paradiseo-eo/src/es/make_op.h deleted file mode 100644 index a19dc4b00..000000000 --- a/trunk/paradiseo-eo/src/es/make_op.h +++ /dev/null @@ -1,294 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_op.h - the real-valued version -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_op_h -#define _make_op_h - -// the operators -#include -#include -#include -#include -// combinations of simple eoOps (eoMonOp and eoQuadOp) -#include - -// the specialized Real stuff -#include -#include -#include -#include - // also need the parser and param includes -#include -#include - - -/* - * This function builds the operators that will be applied to the eoReal - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is an individual, needed for 2 reasons - * it disambiguates the call after instanciations - * some operator might need some private information about the indis - * - * This is why the template is the complete EOT even though only the fitness - * is actually templatized here: the following only applies to bitstrings - * - * Note : the last parameter is an eoInit: if some operator needs some info - * about the gneotypes, the init has it all (e.g. bounds, ...) - * Simply do - * EOT myEO; - * _init(myEO); - * and myEO is then an ACTUAL object -*/ -template -eoGenOp & do_make_op(eoParameterLoader& _parser, eoState& _state, eoInit& _init) -{ - // First, decide whether the objective variables are bounded - eoValueParam& boundsParam - = _parser.getORcreateParam(eoParamParamType("(0,1)"), "objectBounds", - "Bounds for variables (unbounded if absent)", - 'B', "Genetic Operators"); - - // get initisalizer size == std::vector size - // eoRealInitBounded * realInit = (eoRealInitBounded*)(&_init); - // unsigned vecSize = realInit->theBounds().size(); - - // get std::vector size: safer??? - EOT eoTmp; - _init(eoTmp); - unsigned vecSize = eoTmp.size(); - - // the bounds pointer - eoRealVectorBounds * ptBounds; - if (_parser.isItThere(boundsParam)) // otherwise, no bounds - { - /////Warning: this code should probably be replaced by creating - ///// some eoValueParam with specific implementation - //// in eoParser.cpp. At the moemnt, it is there (cf also make_genotype - eoParamParamType & ppBounds = boundsParam.value(); // std::pair > - // transform into a std::vector - std::vector v; - std::vector::iterator it; - for (it=ppBounds.second.begin(); itc_str()); - double r; - is >> r; - v.push_back(r); - } - // now create the eoRealVectorBounds object - if (v.size() == 2) // a min and a max for all variables - ptBounds = new eoRealVectorBounds(vecSize, v[0], v[1]); - else // no time now - throw std::runtime_error("Sorry, only unique bounds for all variables implemented at the moment. Come back later"); - // we need to give ownership of this pointer to somebody - /////////// end of temporary code - } - else // no param for bounds was given - ptBounds = new eoRealVectorNoBounds(vecSize); // DON'T USE eoDummyVectorNoBounds - // as it does not have any dimension - - // this is a temporary version(!), - // while Maarten codes the full tree-structured general operator input - // BTW we must leave that simple version available somehow, as it is the one - // that 90% people use! - eoValueParam& operatorParam - = _parser.getORcreateParam(std::string("SGA"), "operator", - "Description of the operator (SGA only now)", - 'o', "Genetic Operators"); - - if (operatorParam.value() != std::string("SGA")) - throw std::runtime_error("Sorry, only SGA-like operator available right now\n"); - - // now we read Pcross and Pmut, - // the relative weights for all crossovers -> proportional choice - // the relative weights for all mutations -> proportional choice - // and create the eoGenOp that is exactly - // crossover with pcross + mutation with pmut - - eoValueParam& pCrossParam - = _parser.getORcreateParam(0.6, "pCross", "Probability of Crossover", - 'C', "Genetic Operators" ); - // minimum check - if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) ) - throw std::runtime_error("Invalid pCross"); - - eoValueParam& pMutParam - = _parser.getORcreateParam(0.1, "pMut", "Probability of Mutation", - 'M', "Genetic Operators" ); - // minimum check - if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) ) - throw std::runtime_error("Invalid pMut"); - - // the crossovers - ///////////////// - // the parameters - eoValueParam& segmentRateParam - = _parser.getORcreateParam(double(1.0), "segmentRate", - "Relative rate for segment crossover", - 's', "Genetic Operators" ); - // minimum check - if ( (segmentRateParam.value() < 0) ) - throw std::runtime_error("Invalid segmentRate"); - - eoValueParam& arithmeticRateParam - = _parser.getORcreateParam(double(2.0), "arithmeticRate", - "Relative rate for arithmetic crossover", - 'A', "Genetic Operators" ); - // minimum check - if ( (arithmeticRateParam.value() < 0) ) - throw std::runtime_error("Invalid arithmeticRate"); - - // minimum check - bool bCross = true; - if (segmentRateParam.value()+arithmeticRateParam.value()==0) - { - std::cerr << "Warning: no crossover" << std::endl; - bCross = false; - } - - // Create the CombinedQuadOp - eoPropCombinedQuadOp *ptCombinedQuadOp = NULL; - eoQuadOp *ptQuad = NULL; - - if (bCross) - { - // segment crossover for bitstring - pass it the bounds - ptQuad = new eoSegmentCrossover(*ptBounds); - _state.storeFunctor(ptQuad); - ptCombinedQuadOp = new eoPropCombinedQuadOp(*ptQuad, segmentRateParam.value()); - - // arithmetic crossover - ptQuad = new eoArithmeticCrossover(*ptBounds); - _state.storeFunctor(ptQuad); - ptCombinedQuadOp->add(*ptQuad, arithmeticRateParam.value()); - - // don't forget to store the CombinedQuadOp - _state.storeFunctor(ptCombinedQuadOp); - } - - // the mutations - ///////////////// - // the parameters - eoValueParam & epsilonParam - = _parser.getORcreateParam(0.01, "epsilon", "Half-size of interval for Uniform Mutation", - 'e', "Genetic Operators" ); - // minimum check - if ( (epsilonParam.value() < 0) ) - throw std::runtime_error("Invalid epsilon"); - - eoValueParam & uniformMutRateParam - = _parser.getORcreateParam(1.0, "uniformMutRate", - "Relative rate for uniform mutation", 'u', "Genetic Operators" ); - // minimum check - if ( (uniformMutRateParam.value() < 0) ) - throw std::runtime_error("Invalid uniformMutRate"); - - eoValueParam & detMutRateParam - = _parser.getORcreateParam(1.0, "detMutRate", - "Relative rate for deterministic uniform mutation", - 'd', "Genetic Operators" ); - // minimum check - if ( (detMutRateParam.value() < 0) ) - throw std::runtime_error("Invalid detMutRate"); - - eoValueParam & normalMutRateParam - = _parser.getORcreateParam(1.0, "normalMutRate", - "Relative rate for Gaussian mutation", - 'd', "Genetic Operators" ); - // minimum check - if ( (normalMutRateParam.value() < 0) ) - throw std::runtime_error("Invalid normalMutRate"); - // and the sigma - eoValueParam & sigmaParam - = _parser.getORcreateParam(1.0, "sigma", - "Sigma (fixed) for Gaussian mutation", - 'S', "Genetic Operators" ); - // minimum check - if ( (sigmaParam.value() < 0) ) - throw std::runtime_error("Invalid sigma"); - - // minimum check - bool bMut = true; - if (uniformMutRateParam.value()+detMutRateParam.value()+normalMutRateParam.value()==0) - { - std::cerr << "Warning: no mutation" << std::endl; - bMut = false; - } - if (!bCross && !bMut) - throw std::runtime_error("No operator called in SGA operator definition!!!"); - - // Create the CombinedMonOp - eoPropCombinedMonOp *ptCombinedMonOp = NULL; - eoMonOp *ptMon = NULL; - - if (bMut) - { - // uniform mutation on all components: - // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon] - ptMon = new eoUniformMutation(*ptBounds, epsilonParam.value()); - _state.storeFunctor(ptMon); - // create the CombinedMonOp - ptCombinedMonOp = new eoPropCombinedMonOp(*ptMon, uniformMutRateParam.value()); - - // mutate exactly 1 component (uniformly) per individual - ptMon = new eoDetUniformMutation(*ptBounds, epsilonParam.value()); - _state.storeFunctor(ptMon); - ptCombinedMonOp->add(*ptMon, detMutRateParam.value()); - - // mutate all component using Gaussian mutation - ptMon = new eoNormalMutation(*ptBounds, sigmaParam.value()); - _state.storeFunctor(ptMon); - ptCombinedMonOp->add(*ptMon, normalMutRateParam.value()); - _state.storeFunctor(ptCombinedMonOp); - } - - // now build the eoGenOp: - // to simulate SGA (crossover with proba pCross + mutation with proba pMut - // we must construct - // a sequential combination of - // with proba 1, a proportional combination of - // a QuadCopy and our crossover - // with proba pMut, our mutation - - // the crossover - with probability pCross - eoProportionalOp * cross = new eoProportionalOp ; - _state.storeFunctor(cross); - ptQuad = new eoQuadCloneOp; - _state.storeFunctor(ptQuad); - cross->add(*ptCombinedQuadOp, pCrossParam.value()); // user crossover - cross->add(*ptQuad, 1-pCrossParam.value()); // clone operator - - // now the sequential - eoSequentialOp *op = new eoSequentialOp; - _state.storeFunctor(op); - op->add(*cross, 1.0); // always crossover (but clone with prob 1-pCross - op->add(*ptCombinedMonOp, pMutParam.value()); - - // that's it! - return *op; -} -#endif diff --git a/trunk/paradiseo-eo/src/es/make_op_es.cpp b/trunk/paradiseo-eo/src/es/make_op_es.cpp deleted file mode 100644 index 7f4635992..000000000 --- a/trunk/paradiseo-eo/src/es/make_op_es.cpp +++ /dev/null @@ -1,80 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_op_real.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of operators fns - * of the library for ***eoReal*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in es.h in src/es dir - * while the TEMPLATIZED code is define in make_op.h in the es dir - * - */ - -// Templatized code -#include - -/// The following function merely call the templatized do_* functions above - -// operators -//////////// -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init) -{ - return do_make_op(_parser, _state, _init); -} - -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init) -{ - return do_make_op(_parser, _state, _init); -} - -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init) -{ - return do_make_op(_parser, _state, _init); -} - -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init) -{ - return do_make_op(_parser, _state, _init); -} - -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init) -{ - return do_make_op(_parser, _state, _init); -} - -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init) -{ - return do_make_op(_parser, _state, _init); -} - diff --git a/trunk/paradiseo-eo/src/es/make_op_es.h b/trunk/paradiseo-eo/src/es/make_op_es.h deleted file mode 100644 index 5fb15a056..000000000 --- a/trunk/paradiseo-eo/src/es/make_op_es.h +++ /dev/null @@ -1,197 +0,0 @@ -/* (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 - -This library is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) any -later version. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Contact: http://eodev.sourceforge.net - todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ - - -#ifndef EO_make_op_h -#define EO_make_op_h - -// the operators -#include -#include -#include -#include -// combinations of simple eoOps (eoMonOp and eoQuadOp) -#include - -// the specialized Real stuff -#include -#include -#include -#include -#include -#include -#include - // also need the parser and param includes -#include -#include - - -/* - * This function builds the operators that will be applied to the eoReal - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is an individual, needed for 2 reasons - * it disambiguates the call after instanciations - * some operator might need some private information about the indis - * - * This is why the template is the complete EOT even though only the fitness - * is actually templatized here: the following only applies to bitstrings - * - * Note : the last parameter is an eoInit: if some operator needs some info - * about the gneotypes, the init has it all (e.g. bounds, ...) - * Simply do - * EOT myEO; - * _init(myEO); - * and myEO is then an ACTUAL object -*/ - -template -eoGenOp & do_make_op(eoParser& _parser, eoState& _state, eoRealInitBounded& _init) -{ - // get std::vector size - unsigned vecSize = _init.size(); - - // First, decide whether the objective variables are bounded - eoValueParam& boundsParam - = _parser.getORcreateParam(eoRealVectorBounds(vecSize,eoDummyRealNoBounds), - "objectBounds", "Bounds for variables", - 'B', "Variation Operators"); - - std::cerr << boundsParam.value() << std::endl; - - // now we read Pcross and Pmut, - eoValueParam& operatorParam - = _parser.getORcreateParam(std::string("SGA"), "operator", - "Description of the operator (SGA only now)", - 'o', "Variation Operators"); - - if (operatorParam.value() != std::string("SGA")) - throw std::runtime_error("Sorry, only SGA-like operator available right now\n"); - - // now we read Pcross and Pmut, - // and create the eoGenOp that is exactly - // crossover with pcross + mutation with pmut - - eoValueParam& pCrossParam - = _parser.getORcreateParam(1.0, "pCross", "Probability of Crossover", - 'C', "Variation Operators" ); - // minimum check - if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) ) - throw std::runtime_error("Invalid pCross"); - - eoValueParam& pMutParam - = _parser.getORcreateParam(1.0, "pMut", "Probability of Mutation", - 'M', "Variation Operators" ); - // minimum check - if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) ) - throw std::runtime_error("Invalid pMut"); - - - // crossover - ///////////// - // ES crossover - eoValueParam& crossTypeParam - = _parser.getORcreateParam(std::string("global"), "crossType", - "Type of ES recombination (global or standard)", - 'C', "Variation Operators"); - - eoValueParam& crossObjParam - = _parser.getORcreateParam(std::string("discrete"), "crossObj", - "Recombination of object variables (discrete, intermediate or none)", - 'O', "Variation Operators"); - eoValueParam& crossStdevParam - = _parser.getORcreateParam(std::string("intermediate"), "crossStdev", - "Recombination of mutation strategy parameters " - "(intermediate, discrete or none)", - 'S', "Variation Operators"); - - // The pointers: first the atom Xover - eoBinOp *ptObjAtomCross = NULL; - eoBinOp *ptStdevAtomCross = NULL; - // then the EOT-level one (need to be an eoGenOp as global Xover is - eoGenOp *ptCross; - - // check for the atom Xovers - if (crossObjParam.value() == std::string("discrete")) - ptObjAtomCross = new eoDoubleExchange; - else if (crossObjParam.value() == std::string("intermediate")) - ptObjAtomCross = new eoDoubleIntermediate; - else if (crossObjParam.value() == std::string("none")) - ptObjAtomCross = new eoBinCloneOp; - else throw std::runtime_error("Invalid Object variable crossover type"); - - if (crossStdevParam.value() == std::string("discrete")) - ptStdevAtomCross = new eoDoubleExchange; - else if (crossStdevParam.value() == std::string("intermediate")) - ptStdevAtomCross = new eoDoubleIntermediate; - else if (crossStdevParam.value() == std::string("none")) - ptStdevAtomCross = new eoBinCloneOp; - else throw std::runtime_error("Invalid mutation strategy parameter crossover type"); - - // and build the indi Xover - if (crossTypeParam.value() == std::string("global")) - ptCross = new eoEsGlobalXover(*ptObjAtomCross, *ptStdevAtomCross); - else if (crossTypeParam.value() == std::string("standard")) - { // using a standard eoBinOp, but wrap it into an eoGenOp - eoBinOp & crossTmp = _state.storeFunctor( - new eoEsStandardXover(*ptObjAtomCross, *ptStdevAtomCross) - ); - ptCross = new eoBinGenOp(crossTmp); - } - else throw std::runtime_error("Invalide Object variable crossover type"); - - // now that everything is OK, DON'T FORGET TO STORE MEMORY - _state.storeFunctor(ptObjAtomCross); - _state.storeFunctor(ptStdevAtomCross); - _state.storeFunctor(ptCross); - - // mutation - ///////////// - - // Ok, time to set up the self-adaptive mutation - // Proxy for the mutation parameters - eoEsMutationInit mutateInit(_parser, "Variation Operators"); - - eoEsMutate & mut = _state.storeFunctor( - new eoEsMutate(mutateInit, boundsParam.value())); - - // now the general op - a sequential application of crossover and mutatation - // no need to first have crossover combined with a clone as it is an - // eoBinOp and not an eoQuadOp as in SGA paradigm - - eoSequentialOp & op = _state.storeFunctor(new eoSequentialOp); - op.add(*ptCross, pCrossParam.value()); - op.add(mut, pMutParam.value()); - - // that's it! - return op; -} -#endif // EO_make_op_h - - - -// Local Variables: -// coding: iso-8859-1 -// mode:C++ -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/es/make_op_real.cpp b/trunk/paradiseo-eo/src/es/make_op_real.cpp deleted file mode 100644 index 19435831f..000000000 --- a/trunk/paradiseo-eo/src/es/make_op_real.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_op_real.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of operators fns - * of the library for ***eoReal*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in es.h in src/es dir - * while the TEMPLATIZED code is define in make_op.h in the es dir - * - */ - -// Templatized code -#include - -/// The following function merely call the templatized do_* functions above - -// oeprators -//////////// -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init) -{ - return do_make_op(_parser, _state, _init); -} - -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init) -{ - return do_make_op(_parser, _state, _init); -} diff --git a/trunk/paradiseo-eo/src/es/make_op_real.h b/trunk/paradiseo-eo/src/es/make_op_real.h deleted file mode 100644 index 64f378837..000000000 --- a/trunk/paradiseo-eo/src/es/make_op_real.h +++ /dev/null @@ -1,284 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_op.h - the real-valued version -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_op_h -#define _make_op_h - -// the operators -#include -#include -#include -#include -// combinations of simple eoOps (eoMonOp and eoQuadOp) -#include - -// the specialized Real stuff -#include -#include -#include -#include - // also need the parser and param includes -#include -#include - - -/* - * This function builds the operators that will be applied to the eoReal - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is an individual, needed for 2 reasons - * it disambiguates the call after instanciations - * some operator might need some private information about the indis - * - * This is why the template is the complete EOT even though only the fitness - * is actually templatized here: the following only applies to bitstrings - * - * Note : the last parameter is an eoInit: if some operator needs some info - * about the gneotypes, the init has it all (e.g. bounds, ...) - * Simply do - * EOT myEO; - * _init(myEO); - * and myEO is then an ACTUAL object -*/ - -template -eoGenOp & do_make_op(eoParser& _parser, eoState& _state, eoRealInitBounded& _init) -{ - // get std::vector size - unsigned vecSize = _init.size(); - - // First, decide whether the objective variables are bounded - eoValueParam& boundsParam - = _parser.getORcreateParam(eoRealVectorBounds(vecSize,eoDummyRealNoBounds), "objectBounds", - "Bounds for variables", 'B', "Variation Operators"); - - // this is a temporary version(!), - // while Maarten codes the full tree-structured general operator input - // BTW we must leave that simple version available somehow, as it is the one - // that 90% people use! - eoValueParam& operatorParam - = _parser.getORcreateParam(std::string("SGA"), "operator", - "Description of the operator (SGA only now)", - 'o', "Variation Operators"); - - if (operatorParam.value() != std::string("SGA")) - throw std::runtime_error("Sorry, only SGA-like operator available right now\n"); - - // now we read Pcross and Pmut, - // the relative weights for all crossovers -> proportional choice - // the relative weights for all mutations -> proportional choice - // and create the eoGenOp that is exactly - // crossover with pcross + mutation with pmut - - eoValueParam& pCrossParam - = _parser.getORcreateParam(0.6, "pCross", - "Probability of Crossover", - 'C', "Variation Operators" ); - // minimum check - if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) ) - throw std::runtime_error("Invalid pCross"); - - eoValueParam& pMutParam - = _parser.getORcreateParam(0.1, "pMut", - "Probability of Mutation", - 'M', "Variation Operators" ); - // minimum check - if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) ) - throw std::runtime_error("Invalid pMut"); - - // the crossovers - ///////////////// - // the parameters - eoValueParam& alphaParam - = _parser.getORcreateParam(double(0.0), "alpha", - "Bound for factor of linear recombinations", - 'a', "Variation Operators" ); - // minimum check - if ( (alphaParam.value() < 0) ) - throw std::runtime_error("Invalid BLX coefficient alpha"); - - - eoValueParam& segmentRateParam - = _parser.getORcreateParam(double(1.0), "segmentRate", - "Relative rate for segment crossover", - 's', "Variation Operators" ); - // minimum check - if ( (segmentRateParam.value() < 0) ) - throw std::runtime_error("Invalid segmentRate"); - - eoValueParam& hypercubeRateParam - = _parser.getORcreateParam(double(1.0), "hypercubeRate", - "Relative rate for hypercube crossover", - 'A', "Variation Operators" ); - // minimum check - if ( (hypercubeRateParam.value() < 0) ) - throw std::runtime_error("Invalid hypercubeRate"); - - eoValueParam& uxoverRateParam - = _parser.getORcreateParam(double(1.0), "uxoverRate", - "Relative rate for uniform crossover", - 'A', "Variation Operators" ); - // minimum check - if ( (uxoverRateParam.value() < 0) ) - throw std::runtime_error("Invalid uxoverRate"); - - // minimum check - bool bCross = true; - if (segmentRateParam.value()+hypercubeRateParam.value()+uxoverRateParam.value()==0) - { - std::cerr << "Warning: no crossover" << std::endl; - bCross = false; - } - - // Create the CombinedQuadOp - eoPropCombinedQuadOp *ptCombinedQuadOp = NULL; - eoQuadOp *ptQuad = NULL; - - if (bCross) - { - // segment crossover for bitstring - pass it the bounds - ptQuad = new eoSegmentCrossover(boundsParam.value(), alphaParam.value()); - _state.storeFunctor(ptQuad); - ptCombinedQuadOp = new eoPropCombinedQuadOp(*ptQuad, segmentRateParam.value()); - - // hypercube crossover - ptQuad = new eoHypercubeCrossover(boundsParam.value(), alphaParam.value()); - _state.storeFunctor(ptQuad); - ptCombinedQuadOp->add(*ptQuad, hypercubeRateParam.value()); - - // uniform crossover - ptQuad = new eoRealUXover(); - _state.storeFunctor(ptQuad); - ptCombinedQuadOp->add(*ptQuad, uxoverRateParam.value()); - - // don't forget to store the CombinedQuadOp - _state.storeFunctor(ptCombinedQuadOp); - } - - // the mutations - ///////////////// - // the parameters - eoValueParam & epsilonParam - = _parser.getORcreateParam(0.01, "epsilon", - "Half-size of interval for Uniform Mutation", - 'e', "Variation Operators" ); - // minimum check - if ( (epsilonParam.value() < 0) ) - throw std::runtime_error("Invalid epsilon"); - - eoValueParam & uniformMutRateParam - = _parser.getORcreateParam(1.0, "uniformMutRate", - "Relative rate for uniform mutation", - 'u', "Variation Operators" ); - // minimum check - if ( (uniformMutRateParam.value() < 0) ) - throw std::runtime_error("Invalid uniformMutRate"); - - eoValueParam & detMutRateParam - = _parser.getORcreateParam(1.0, "detMutRate", - "Relative rate for deterministic uniform mutation", - 'd', "Variation Operators" ); - // minimum check - if ( (detMutRateParam.value() < 0) ) - throw std::runtime_error("Invalid detMutRate"); - - eoValueParam & normalMutRateParam - = _parser.getORcreateParam(1.0, "normalMutRate", - "Relative rate for Gaussian mutation", 'd', "Variation Operators" ); - // minimum check - if ( (normalMutRateParam.value() < 0) ) - throw std::runtime_error("Invalid normalMutRate"); - - eoValueParam & sigmaParam - = _parser.getORcreateParam(0.3, "sigma", - "Sigma (fixed) for Gaussian mutation", - 's', "Variation Operators" ); - - eoValueParam & pNormalParam - = _parser.getORcreateParam(1.0, "pNormal", - "Proba. to change each variable for Gaussian mutation", - 's', "Variation Operators" ); - - // minimum check - bool bMut = true; - if (uniformMutRateParam.value()+detMutRateParam.value()+normalMutRateParam.value()==0) - { - std::cerr << "Warning: no mutation" << std::endl; - bMut = false; - } - if (!bCross && !bMut) - throw std::runtime_error("No operator called in SGA operator definition!!!"); - - // Create the CombinedMonOp - eoPropCombinedMonOp *ptCombinedMonOp = NULL; - eoMonOp *ptMon = NULL; - - if (bMut) - { - // uniform mutation on all components: - // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon] - ptMon = new eoUniformMutation(boundsParam.value(), epsilonParam.value()); - _state.storeFunctor(ptMon); - // create the CombinedMonOp - ptCombinedMonOp = new eoPropCombinedMonOp(*ptMon, uniformMutRateParam.value()); - - // mutate exactly 1 component (uniformly) per individual - ptMon = new eoDetUniformMutation(boundsParam.value(), epsilonParam.value()); - _state.storeFunctor(ptMon); - ptCombinedMonOp->add(*ptMon, detMutRateParam.value()); - - // mutate all component using Gaussian mutation - ptMon = new eoNormalVecMutation(boundsParam.value(), sigmaParam.value(), pNormalParam.value()); - _state.storeFunctor(ptMon); - ptCombinedMonOp->add(*ptMon, normalMutRateParam.value()); - _state.storeFunctor(ptCombinedMonOp); - } - - // now build the eoGenOp: - // to simulate SGA (crossover with proba pCross + mutation with proba pMut - // we must construct - // a sequential combination of - // with proba 1, a proportional combination of - // a QuadCopy and our crossover - // with proba pMut, our mutation - - // the crossover - with probability pCross - eoProportionalOp * cross = new eoProportionalOp ; - _state.storeFunctor(cross); - ptQuad = new eoQuadCloneOp; - _state.storeFunctor(ptQuad); - cross->add(*ptCombinedQuadOp, pCrossParam.value()); // user crossover - cross->add(*ptQuad, 1-pCrossParam.value()); // clone operator - - // now the sequential - eoSequentialOp & op = _state.storeFunctor(new eoSequentialOp); - op.add(*cross, 1.0); // always crossover (but clone with prob 1-pCross - op.add(*ptCombinedMonOp, pMutParam.value()); - - // that's it! - return op; -} -#endif diff --git a/trunk/paradiseo-eo/src/es/make_pop_es.cpp b/trunk/paradiseo-eo/src/es/make_pop_es.cpp deleted file mode 100644 index 4f77e2f58..000000000 --- a/trunk/paradiseo-eo/src/es/make_pop_es.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_pop_es.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of pop. init. fns - * of the library for evolution of ***ES genotypes*** indis inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/es.h - * while the TEMPLATIZED code is define in make_pop.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi - -/// The following function merely call the templatized do_* functions above - -// Init POP -/////////// -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -/////////// -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -/////////// -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - - diff --git a/trunk/paradiseo-eo/src/es/make_pop_real.cpp b/trunk/paradiseo-eo/src/es/make_pop_real.cpp deleted file mode 100644 index eaa75baab..000000000 --- a/trunk/paradiseo-eo/src/es/make_pop_real.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_pop_real.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of pop. init. fns - * of the library for evolution of ***eoReal*** indis inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/real.h - * while the TEMPLATIZED code is define in make_pop.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType -#include - -/// The following function merely call the templatized do_* functions above - -// Init POP -/////////// -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - - diff --git a/trunk/paradiseo-eo/src/es/make_real.h b/trunk/paradiseo-eo/src/es/make_real.h deleted file mode 100644 index 594934ddf..000000000 --- a/trunk/paradiseo-eo/src/es/make_real.h +++ /dev/null @@ -1,102 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// real.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -/** This file contains all ***INSTANCIATED*** declarations of all components - * of the library for ***std::vector*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * - * The corresponding ***INSTANCIATED*** definitions are contained in - * the different .cpp files in the src/es dir, - * while the TEMPLATIZED code is define in the different make_XXX.h files - * either in hte src/do dir for representation independant functions, - * or in the src/es dir for representation dependent stuff. - * - * See also es.h for the similar declarations of ES-like genotypes - * i.e. ***with*** mutation parameters attached to individuals - * - * Unlike most EO .h files, it does not (and should not) contain any code, - * just declarations - */ - -#ifndef real_h -#define real_h - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -//Representation dependent - rewrite everything anew for each representation -////////////////////////// - -// the genotypes -eoRealInitBounded > & make_genotype(eoParser& _parser, eoState& _state, eoReal _eo); -eoRealInitBounded > & make_genotype(eoParser& _parser, eoState& _state, eoReal _eo); - -// the operators -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init); -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoRealInitBounded >& _init); - -//Representation INdependent -//////////////////////////// -// you don't need to modify that part even if you use your own representation - -// init pop -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); - -// the continue's -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); - -// the checkpoint -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); - - -// the algo -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); - -// run -void run_ea(eoAlgo >& _ga, eoPop >& _pop); -void run_ea(eoAlgo >& _ga, eoPop >& _pop); - -// end of parameter input (+ .status + help) -// that one is not templatized -// Because of that, the source is in src/utils dir -void make_help(eoParser & _parser); - -#endif diff --git a/trunk/paradiseo-eo/src/es/make_run_es.cpp b/trunk/paradiseo-eo/src/es/make_run_es.cpp deleted file mode 100644 index 77a45a086..000000000 --- a/trunk/paradiseo-eo/src/es/make_run_es.cpp +++ /dev/null @@ -1,87 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_run_es.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of run funs - * of the library for evolution of ***ES genotypes*** inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/es.h - * while the TEMPLATIZED code is define in make_run.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType(s) -#include // one Sigma per individual -#include // one sigmal per object variable -#include // full correlation matrix per indi -// the instanciating fitnesses -#include - -/// The following function merely call the templatized do_* functions above - -// run -///////// -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -///////// -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -///////// -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - diff --git a/trunk/paradiseo-eo/src/es/make_run_real.cpp b/trunk/paradiseo-eo/src/es/make_run_real.cpp deleted file mode 100644 index ee10fd2a3..000000000 --- a/trunk/paradiseo-eo/src/es/make_run_real.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_run_real.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains ***INSTANCIATED DEFINITIONS*** of run funs - * of the library for evolution of ***eoReal*** inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/es/real.h - * while the TEMPLATIZED code is define in make_run.h in the src/do dir - */ - -// The templatized code -#include -// the instanciating EOType -#include -// the instanciating fitnesses -#include - -/// The following function merely call the templatized do_* functions above - -// run -///////// -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - diff --git a/trunk/paradiseo-eo/src/es/matrices.h b/trunk/paradiseo-eo/src/es/matrices.h deleted file mode 100644 index f30bd5c97..000000000 --- a/trunk/paradiseo-eo/src/es/matrices.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef MATRICES_H -#define MATRICES_H - -#include - -class lower_triangular_matrix { - - unsigned n; - std::vector data; - - public: - - lower_triangular_matrix(unsigned n_ = 0) : n(n_), data(n * (n+1) / 2) {}; - - void resize(unsigned n_) { - n = n_; - data.resize(n*(n+1)/2); - } - - std::vector::iterator operator[](unsigned i) { return data.begin() + i * (i+1) / 2; } - std::vector::const_iterator operator[](unsigned i) const { return data.begin() + i*(i+1)/2; } -}; - -class square_matrix { - unsigned n; - std::vector data; - - public: - - square_matrix(unsigned n_ = 0) : n(n_), data(n * n) {}; - - void resize(unsigned n_) { - n = n_; - data.resize(n*n); - } - - std::vector::iterator operator[](unsigned i) { return data.begin() + i * n; } - std::vector::const_iterator operator[](unsigned i) const { return data.begin() + i*n; } -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/ga.h b/trunk/paradiseo-eo/src/ga.h deleted file mode 100644 index 87cc0e34c..000000000 --- a/trunk/paradiseo-eo/src/ga.h +++ /dev/null @@ -1,42 +0,0 @@ -//----------------------------------------------------------------------------- -// ga.h -// (c) GeNeura Team 1998 - 2000, Marc Schoenauer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#ifndef _ga_h -#define _ga_h - -// all bitstring-specific files -#include - -// the operators -#include - -// #include to be corrected - thanks someone! - -//----------------------------------------------------------------------------- - -#endif diff --git a/trunk/paradiseo-eo/src/ga/.cvsignore b/trunk/paradiseo-eo/src/ga/.cvsignore deleted file mode 100644 index 69fb0bd82..000000000 --- a/trunk/paradiseo-eo/src/ga/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.lo -*.la -.deps -.libs -Makefile -Makefile.in diff --git a/trunk/paradiseo-eo/src/ga/CVS/Entries b/trunk/paradiseo-eo/src/ga/CVS/Entries deleted file mode 100644 index 5e3b6a78c..000000000 --- a/trunk/paradiseo-eo/src/ga/CVS/Entries +++ /dev/null @@ -1,23 +0,0 @@ -/.cvsignore/1.1/Mon Apr 3 09:32:08 2000// -/Makefile.am/1.13/Wed Sep 22 18:18:30 2004// -/Readme/1.1/Tue Apr 24 04:52:04 2001// -/eoBit.h/1.8/Wed Dec 7 15:40:23 2005// -/eoBitOp.h/1.17/Fri Jun 6 10:29:13 2003// -/eoBitOpFactory.h/1.5/Thu Feb 27 19:24:47 2003// -/eoBoolFlip.h/1.1/Sat Aug 2 06:41:52 2003// -/eoPBILAdditive.h/1.4/Thu Dec 23 15:29:06 2004// -/eoPBILDistrib.h/1.3/Thu Feb 27 19:24:47 2003// -/eoPBILOrg.h/1.4/Thu Dec 23 17:22:46 2004// -/make_PBILdistrib.h/1.5/Mon Sep 26 10:18:15 2005// -/make_PBILupdate.h/1.3/Thu Feb 27 19:24:45 2003// -/make_algo_scalar_ga.cpp/1.5/Tue May 25 08:03:29 2004// -/make_checkpoint_ga.cpp/1.3/Sat Nov 10 06:58:47 2001// -/make_continue_ga.cpp/1.3/Sat Nov 10 06:58:47 2001// -/make_ga.h/1.5/Tue May 25 08:03:30 2004// -/make_genotype_ga.cpp/1.4/Sat Nov 10 06:58:47 2001// -/make_genotype_ga.h/1.6/Fri Apr 26 02:39:10 2002// -/make_op.h/1.5/Thu Feb 27 19:24:46 2003// -/make_op_ga.cpp/1.3/Sat Nov 10 06:58:47 2001// -/make_pop_ga.cpp/1.4/Sat Nov 10 06:58:47 2001// -/make_run_ga.cpp/1.2/Sat Nov 10 06:58:47 2001// -D diff --git a/trunk/paradiseo-eo/src/ga/CVS/Repository b/trunk/paradiseo-eo/src/ga/CVS/Repository deleted file mode 100644 index 41b26cb2f..000000000 --- a/trunk/paradiseo-eo/src/ga/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/ga diff --git a/trunk/paradiseo-eo/src/ga/CVS/Root b/trunk/paradiseo-eo/src/ga/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/ga/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/ga/Makefile.am b/trunk/paradiseo-eo/src/ga/Makefile.am deleted file mode 100644 index 6429011eb..000000000 --- a/trunk/paradiseo-eo/src/ga/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -## -## Makefile.am for eo/src/ga -## -############################################################################### - -AM_CXXFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src - -lib_LIBRARIES = libga.a - -libga_a_SOURCES = make_algo_scalar_ga.cpp \ - make_checkpoint_ga.cpp \ - make_continue_ga.cpp \ - make_genotype_ga.cpp \ - make_op_ga.cpp \ - make_pop_ga.cpp \ - make_run_ga.cpp - -gaincludedir = $(pkgincludedir)/ga - -gainclude_HEADERS = eoBit.h \ - eoBitOpFactory.h \ - eoBitOp.h \ - eoBoolFlip.h \ - eoPBILAdditive.h \ - eoPBILDistrib.h \ - eoPBILOrg.h \ - make_ga.h \ - make_genotype_ga.h \ - make_op.h \ - make_PBILdistrib.h \ - make_PBILupdate.h diff --git a/trunk/paradiseo-eo/src/ga/Readme b/trunk/paradiseo-eo/src/ga/Readme deleted file mode 100644 index 69d7d4660..000000000 --- a/trunk/paradiseo-eo/src/ga/Readme +++ /dev/null @@ -1,21 +0,0 @@ -This directory contains: - -- some standard EO source files, named eoXXXXX, that define objects -for the eoBit representation (bitstrings). - -- some make_XXX.cpp files that are instanciations for EO bitstrings -(eoBit AND eoBit) of the tempatized code -that is defined in the EO src/do dir. -This MK's trick allows to actually compile all these bits in a library -(eolibga.a) and to only recompile the bits you need for your own -(bitstring!) application. -@see src/do/make_XXX.h files, and test/t-eoGA.cpp for an example use. - -Note: -Also are *defined* here two representation dependent make_XXX.h files -(together with their instanciations in make_XXX.cpp), namely the ones -that constructs the EOType initializer (make_genotype.h) and the one -that buils up the operators (make_op.h). - -MS, April 23, 2001CVS - diff --git a/trunk/paradiseo-eo/src/ga/eoBit.h b/trunk/paradiseo-eo/src/ga/eoBit.h deleted file mode 100644 index 7d8748935..000000000 --- a/trunk/paradiseo-eo/src/ga/eoBit.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - eoBit.h - (c) GeNeura Team 1998, Marc Schoenauer 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr -*/ - -/* MS, Nov. 23, 2000 - Added the calls to base class I/O routines that print the fitness - Left printing/reading of the size of the bitstring, - for backward compatibility, and as it is a general practice in EO - - MS, Feb. 7, 2001 - replaced all ...Bin... names with ...Bit... names - for bitstring - as it was ambiguous with bin...ary things -*/ - -#ifndef eoBit_h -#define eoBit_h - -//----------------------------------------------------------------------------- - -#include // std::ostream, std::istream -#include // bind2nd -#include // std::string - -#include "eoVector.h" - -/** @defgroup bitstring - -Various functions for a bitstring representation -*/ - -/** Implementation of bitstring chromosome. - -@class eoBit eoBit.h ga/eoBit.h -@ingroup bitstring - -Based on STL's std::vector specialization. -*/ -template class eoBit: public eoVector -{ -public: - - using eoVector< FitT, bool >::begin; - using eoVector< FitT, bool >::end; - using eoVector< FitT, bool >::resize; - using eoVector< FitT, bool >::size; - - /** - * (Default) Constructor. - * @param size Size of the binary std::string. - */ - eoBit(unsigned size = 0, bool value = false): - eoVector(size, value) {} - - /// My class name. - virtual std::string className() const - { - return "eoBit"; - } - - /** - * To print me on a stream. - * @param os The std::ostream. - */ - virtual void printOn(std::ostream& os) const - { - EO::printOn(os); - os << ' '; - os << size() << ' '; - std::copy(begin(), end(), std::ostream_iterator(os)); - } - - /** - * To read me from a stream. - * @param is The std::istream. - */ - virtual void readFrom(std::istream& is) - { - EO::readFrom(is); - unsigned s; - is >> s; - std::string bits; - is >> bits; - if (is) - { - resize(bits.size()); - std::transform(bits.begin(), bits.end(), begin(), - std::bind2nd(std::equal_to(), '1')); - } - } -}; - -//----------------------------------------------------------------------------- - -#endif //eoBit_h - - -// Local Variables: -// mode: C++ -// c-file-style: "Stroustrup" -// End: diff --git a/trunk/paradiseo-eo/src/ga/eoBitOp.h b/trunk/paradiseo-eo/src/ga/eoBitOp.h deleted file mode 100644 index 1d8c20cc3..000000000 --- a/trunk/paradiseo-eo/src/ga/eoBitOp.h +++ /dev/null @@ -1,448 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoBitOp.h -// (c) GeNeura Team, 2000 - EEAAX 2000 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - CVS Info: $Date: 2003/06/06 10:29:13 $ $Header: /cvsroot/eodev/eo/src/ga/eoBitOp.h,v 1.17 2003/06/06 10:29:13 maartenkeijzer Exp $ $Author: maartenkeijzer $ - */ -//----------------------------------------------------------------------------- - -#ifndef eoBitOp_h -#define eoBitOp_h - -//----------------------------------------------------------------------------- - -#include // swap_ranges -#include -#include // eoMonOp -#include - - -/** eoBitFlip --> changes 1 bit -\class eoBitBitFlip eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoOneBitFlip: public eoMonOp -{ - public: - /// The class name. - virtual std::string className() const { return "eoOneBitFlip"; } - - /** - * Change one bit. - * @param chrom The cromosome which one bit is going to be changed. - */ - bool operator()(Chrom& chrom) - { - unsigned i = eo::rng.random(chrom.size()); - chrom[i] = (chrom[i]) ? false : true; - return true; - } -}; - -/** eoDetBitFlip --> changes exactly k bits -\class eoDetBitFlip eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoDetBitFlip: public eoMonOp -{ - public: - /** - * (Default) Constructor. - * @param _num_bit The number of bits to change - * default is one - equivalent to eoOneBitFlip then - */ - eoDetBitFlip(const unsigned& _num_bit = 1): num_bit(_num_bit) {} - - /// The class name. - virtual std::string className() const { return "eoDetBitFlip"; } - - /** - * Change num_bit bits. - * @param chrom The cromosome which one bit is going to be changed. - */ - bool operator()(Chrom& chrom) - { - // does not check for duplicate: if someone volunteers .... - for (unsigned k=0; k classical mutation -\class eoBitMutation eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoBitMutation: public eoMonOp -{ - public: - /** - * (Default) Constructor. - * @param _rate Rate of mutation. - */ - eoBitMutation(const double& _rate = 0.01, bool _normalize=false): - rate(_rate), normalize(_normalize) {} - - /// The class name. - virtual std::string className() const { return "eoBitMutation"; } - - /** - * Mutate a chromosome. - * @param chrom The chromosome to be mutated. - */ - bool operator()(Chrom& chrom) - { - double actualRate = (normalize ? rate/chrom.size() : rate); - bool changed_something = false; - for (unsigned i = 0; i < chrom.size(); i++) - if (eo::rng.flip(actualRate)) - { - chrom[i] = !chrom[i]; - changed_something = true; - } - - return changed_something; - } - - private: - double rate; - bool normalize; // divide rate by chromSize -}; - - -/** eoBitInversion: inverts the bits of the chromosome between an interval -\class eoBitInversion eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoBitInversion: public eoMonOp -{ - public: - /// The class name. - virtual std::string className() const { return "eoBitInversion"; } - - /** - * Inverts a range of bits in a binary chromosome. - * @param chrom The chromosome whos bits are going to be inverted (a range). - */ - bool operator()(Chrom& chrom) - { - - unsigned u1 = eo::rng.random(chrom.size() + 1) , u2; - do u2 = eo::rng.random(chrom.size() + 1); while (u1 == u2); - unsigned r1 = std::min(u1, u2), r2 = std::max(u1, u2); - - std::reverse(chrom.begin() + r1, chrom.begin() + r2); - return true; - } -}; - - -/** eoBitNext --> next value when bitstring considered as binary value -\class eoBitNext eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoBitNext: public eoMonOp -{ - public: - /// The class name. - virtual std::string className() const { return "eoBitNext"; } - - /** - * Change the bit std::string x to be x+1. - * @param chrom The chromosome to be added one. - */ - bool operator()(Chrom& chrom) - { - for (int i = chrom.size() - 1; i >= 0; i--) - if (chrom[i]) - { - chrom[i] = 0; - continue; - } - else - { - chrom[i] = 1; - break; - } - - return true; - } -}; - - -/** eoBitPrev --> previous value when bitstring treated as binary value -\class eoBitPrev eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoBitPrev: public eoMonOp -{ - public: - /// The class name. - virtual std::string className() const { return "eoBitPrev"; } - - /** - * Change the bit std::string x to be x-1. - * @param chrom The chromosome to be substracted one. - */ - bool operator()(Chrom& chrom) - { - for (int i = chrom.size() - 1; i >= 0; i--) - if (chrom[i]) - { - chrom[i] = 0; - break; - } - else - { - chrom[i] = 1; - continue; - } - - return true; - } -}; - - -/** eo1PtBitXover --> classic 1-point crossover -\class eo1PtBitCrossover eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eo1PtBitXover: public eoQuadOp -{ - public: - /// The class name. - virtual std::string className() const { return "eo1PtBitXover"; } - - /** - * 1-point crossover for binary chromosomes. - * @param chrom1 The first chromosome. - * @param chrom2 The first chromosome. - */ - bool operator()(Chrom& chrom1, Chrom& chrom2) - { - unsigned site = eo::rng.random(std::min(chrom1.size(), chrom2.size())); - - if (!std::equal(chrom1.begin(), chrom1.begin()+site, chrom2.begin())) - { - - std::swap_ranges(chrom1.begin(), chrom1.begin() + site, chrom2.begin()); - - return true; - } - return false; - } -}; - - -/** eoUBitXover --> classic Uniform crossover -\class eoUBitXover eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoUBitXover: public eoQuadOp -{ - public: - /// (Default) Constructor. - eoUBitXover(const float& _preference = 0.5): preference(_preference) - { - if ( (_preference <= 0.0) || (_preference >= 1.0) ) - std::runtime_error("UxOver --> invalid preference"); - } - /// The class name. - virtual std::string className() const { return "eoUBitXover"; } - - /** - * Uniform crossover for binary chromosomes. - * @param chrom1 The first chromosome. - * @param chrom2 The first chromosome. - * @std::runtime_error if sizes don't match - */ - bool operator()(Chrom& chrom1, Chrom& chrom2) - { - if ( chrom1.size() != chrom2.size()) - std::runtime_error("UxOver --> chromosomes sizes don't match" ); - bool changed = false; - for (unsigned int i=0; i n-point crossover -\class eoNPtsBitXover eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoNPtsBitXover: public eoQuadOp -{ - public: - /// (Default) Constructor. - eoNPtsBitXover(const unsigned& _num_points = 2): num_points(_num_points) - { - if (num_points < 1) - std::runtime_error("NxOver --> invalid number of points"); - } - - /// The class name. - virtual std::string className() const { return "eoNPtsBitXover"; } - - /** - * n-point crossover for binary chromosomes. - * @param chrom1 The first chromosome. - * @param chrom2 The first chromosome. - */ - bool operator()(Chrom& chrom1, Chrom& chrom2) - { - unsigned max_size = std::min(chrom1.size(), chrom2.size()); - unsigned max_points = std::min(max_size - 1, num_points); - - std::vector points(max_size, false); - - // select ranges of bits to swap - do { - unsigned bit = eo::rng.random(max_size) + 1; - if (points[bit]) - continue; - else - { - points[bit] = true; - max_points--; - } - } while (max_points); - - - // swap bits between chromosomes - bool change = false; - for (unsigned bit = 1; bit < points.size(); bit++) - { - if (points[bit]) - change = !change; - - if (change) - { - typename Chrom::AtomType tmp= chrom1[bit]; - chrom1[bit] = chrom2[bit]; - chrom2[bit] = tmp; - } - } - - return true; - } - - private: - unsigned num_points; -}; - - - -/** eoBitGxOver --> Npts crossover when bistd::string considered - as a std::string of binary-encoded genes (exchanges genes) -Is anybody still using it apart from historians ??? :-) -\class eoBitGxOver eoBitOp.h ga/eoBitOp.h -\ingroup bitstring -*/ - -template class eoBitGxOver: public eoQuadOp -{ - public: - /// Constructor. - eoBitGxOver(const unsigned _gene_size, const unsigned _num_points = 2): - gene_size(_gene_size), num_points(_num_points) - { - if (gene_size < 1) - std::runtime_error("GxOver --> invalid gene size"); - if (num_points < 1) - std::runtime_error("GxOver --> invalid number of points"); - } - - /// The class name - virtual std::string className() const { return "eoBitGxOver"; } - - /** - * Gene crossover for binary chromosomes. - * @param chrom1 The first chromosome. - * @param chrom2 The first chromosome. - */ - bool operator()(Chrom& chrom1, Chrom& chrom2) - { - unsigned max_genes = std::min(chrom1.size(), chrom2.size()) / gene_size; - unsigned cut_genes = std::min(max_genes, num_points); - - std::vector points(max_genes, false); - - // selects genes to swap - do { - unsigned bit = eo::rng.random(max_genes); - if (points[bit]) - continue; - else - { - points[bit] = true; - cut_genes--; - } - } while (cut_genes); - - // swaps genes - for (unsigned i = 0; i < points.size(); i++) - if (points[i]) - std::swap_ranges(chrom1.begin() + i * gene_size, - chrom1.begin() + i * gene_size + gene_size, - chrom2.begin() + i * gene_size); - - return true; - } - - private: - unsigned gene_size; - unsigned num_points; -}; - - - -//----------------------------------------------------------------------------- -//@} -#endif - diff --git a/trunk/paradiseo-eo/src/ga/eoBitOpFactory.h b/trunk/paradiseo-eo/src/ga/eoBitOpFactory.h deleted file mode 100644 index 27394aef6..000000000 --- a/trunk/paradiseo-eo/src/ga/eoBitOpFactory.h +++ /dev/null @@ -1,170 +0,0 @@ -// eoBitOpFactory.h -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoOpFactory.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOBITOPFACTORY_H -#define _EOBITOPFACTORY_H - -#include -#include - -//----------------------------------------------------------------------------- - -/** EO Factory. An instance of the factory class to create operators that act -on bitstring chromosomes. Only those chromosomes can instantiate the operators -that are created here -@see eoSelect*/ -template< class EOT> -class eoBitOpFactory: public eoFactory -{ - -public: - - /// @name ctors and dtors - //{@ - /// constructor - eoBitOpFactory( ) {}; - - /// destructor - virtual ~eoBitOpFactory() {}; - //@} - - /** Another factory method: creates an object from an std::istream, reading from - it whatever is needed to create the object. Usually, the format for the std::istream will be\\ - objectType parameter1 parameter2 ... parametern\\ - If there are problems, an std::exception is raised; it should be caught at the - upper level, because it might be something for that level\\ - At the same time, it catches std::exceptions thrown at a lower level, which will - indicate that whatever is in the stream is for this method to process - @param _is an stream from where a single line will be read - @throw runtime_std::exception if the object type is not known - */ - virtual eoOp* make(std::istream& _is) - { - eoOp * opPtr = NULL; - try { - opPtr = eoFactory::make( _is ); - } catch ( const std::string& objectTypeStr ) { - if ( objectTypeStr == "eoBinBitFlip" ) { - opPtr = new eoOneBitFlip( ); - } - // handles old operator names as well as new ones - if ( objectTypeStr == "eoOneBitFlip" ) { - opPtr = new eoOneBitFlip( ); - } - - // Standard BitFilp Mutation - if ( objectTypeStr == "eoBinMutation" ) { - float rate; - _is >> rate; - opPtr = new eoBitMutation( rate ); - } - if ( objectTypeStr == "eoBitMutation" ) { - float rate; - _is >> rate; - opPtr = new eoBitMutation( rate ); - } - - // Bit inversion - if ( objectTypeStr == "eoBinInversion" ) { - opPtr = new eoBitInversion( ); - } - if ( objectTypeStr == "eoBitInversion" ) { - opPtr = new eoBitInversion( ); - } - - // Next binary value - if ( objectTypeStr == "eoBinNext" ) { - opPtr = new eoBitNext( ); - } - if ( objectTypeStr == "eoBitNext" ) { - opPtr = new eoBitNext( ); - } - - // Previous binary value - if ( objectTypeStr == "eoBinPrev" ) { - opPtr = new eoBitPrev( ); - } - if ( objectTypeStr == "eoBitPrev" ) { - opPtr = new eoBitPrev( ); - } - - // 1 point Xover - if ( objectTypeStr == "eoBinCrossover" ) { - opPtr = new eo1PtBitXover( ); - } - if ( objectTypeStr == "eo1PtBitXover" ) { - opPtr = new eo1PtBitXover( ); - } - - // Npts Xover - if ( objectTypeStr == "eoBinNxOver" ) { - unsigned nPoints; - _is >> nPoints; - opPtr = new eoNPtsBitXover( nPoints ); - } - if ( objectTypeStr == "eoNPtsBitXover" ) { - unsigned nPoints; - _is >> nPoints; - opPtr = new eoNPtsBitXover( nPoints ); - } - - // Gene Xover (obsolete) - if ( objectTypeStr == "eoBinGxOver" ) { - unsigned geneSize, nPoints; - _is >> geneSize >> nPoints; - opPtr = new eoBitGxOver( geneSize, nPoints ); - } - if ( objectTypeStr == "eoBitGxOver" ) { - unsigned geneSize, nPoints; - _is >> geneSize >> nPoints; - opPtr = new eoBitGxOver( geneSize, nPoints ); - } - - // Uniform Xover - if ( objectTypeStr == "eoBinUxOver" ) { - float rate; - _is >> rate; - opPtr = new eoUBitXover( rate ); - } - if ( objectTypeStr == "eoUBitXover" ) { - float rate; - _is >> rate; - opPtr = new eoUBitXover( rate ); - } - - // nothing read! - if ( !opPtr ) { // to be caught by the upper level - throw objectTypeStr; - } - } - return opPtr; - }; - - -}; - - -#endif - diff --git a/trunk/paradiseo-eo/src/ga/eoBoolFlip.h b/trunk/paradiseo-eo/src/ga/eoBoolFlip.h deleted file mode 100644 index cf226ebac..000000000 --- a/trunk/paradiseo-eo/src/ga/eoBoolFlip.h +++ /dev/null @@ -1,46 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoBoolFlip.h -// (c) Marc Schoenauer, 2003 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoBoolFlip_h -#define _eoBoolFlip_h - -#include - -/** a simple boolean mutation - to be used in generic eoOp's - */ -class eoBoolFlip : public eoMonOp { -public: - /** simply flips the boolean argument */ - bool operator()(bool & _b) - { - _b = !_b; - return true; - } - - /** inherited className() */ - virtual string className() const {return "boolFlip";} - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/ga/eoPBILAdditive.h b/trunk/paradiseo-eo/src/ga/eoPBILAdditive.h deleted file mode 100644 index bea4c5062..000000000 --- a/trunk/paradiseo-eo/src/ga/eoPBILAdditive.h +++ /dev/null @@ -1,120 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPBILAdditive.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoPBILAdditive_H -#define _eoPBILAdditive_H - -#include -#include - -/** - * Distribution Class for PBIL algorithm - * (Population-Based Incremental Learning, Baluja and Caruana 96) - * - * This class implements an extended update rule: - * in the original paper, the authors used - * - * p(i)(t+1) = (1-LR)*p(i)(t) + LR*best(i) - * - * here the same formula is applied, with some of the best individuals - * and for some of the worst individuals (with different learning rates) -*/ - -template -class eoPBILAdditive : public eoDistribUpdater -{ -public: - /** Ctor with parameters - * using the default values is equivalent to using eoPBILOrg - */ - eoPBILAdditive(double _LRBest, unsigned _nbBest = 1, - double _tolerance=0.0, - double _LRWorst = 0.0, unsigned _nbWorst = 0 ) : - maxBound(1.0-_tolerance), minBound(_tolerance), - LR(0.0), nbBest(_nbBest), nbWorst(_nbWorst) - { - if (nbBest+nbWorst == 0) - throw std::runtime_error("Must update either from best or from worst in eoPBILAdditive"); - - if (_nbBest) - { - lrb = _LRBest/_nbBest; - LR += _LRBest; - } - else - lrb=0.0; // just in case - if (_nbWorst) - { - lrw = _LRWorst/_nbWorst; - LR += _LRWorst; - } - else - lrw=0.0; // just in case - } - - /** Update the distribution from the current population */ - virtual void operator()(eoDistribution & _distrib, eoPop& _pop) - { - eoPBILDistrib& distrib = dynamic_cast&>(_distrib); - - std::vector & p = distrib.value(); - - unsigned i, popSize=_pop.size(); - std::vector result; - _pop.sort(result); // is it necessary to sort the whole population? - // but I'm soooooooo lazy !!! - - for (unsigned g=0; g=popSize-nbWorst; i--) - { - const EOT & best = (*result[i]); - if ( !best[g] ) // if 0, increase proba - p[g] += lrw; - } - // stay in [0,1] (possibly strictly due to tolerance) - p[g] = std::min(maxBound, p[g]); - p[g] = std::max(minBound, p[g]); - } - } - -private: - double maxBound, minBound; // proba stay away from 0 and 1 by at least tolerance - double LR; // learning rate - unsigned nbBest; // number of Best individuals used for update - unsigned nbWorst; // number of Worse individuals used for update - double lrb, lrw; // "local" learning rates (see operator()) -}; - -#endif diff --git a/trunk/paradiseo-eo/src/ga/eoPBILDistrib.h b/trunk/paradiseo-eo/src/ga/eoPBILDistrib.h deleted file mode 100644 index 91720acb3..000000000 --- a/trunk/paradiseo-eo/src/ga/eoPBILDistrib.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPBILDistrib.h -// (c) Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoPBILDistrib_H -#define _eoPBILDistrib_H - -#include - -/** - * Distribution Class for PBIL algorithm - * (Population-Based Incremental Learning, Baluja and Caruana 96) - * - * It encodes a univariate distribution on the space of bitstrings, - * i.e. one probability for each bit to be one - * - * It is an eoValueParam > : - * the std::vector stores the probabilities that each bit is 1 - * - * It is still pure virtual, as the update method needs to be specified -*/ - -template -class eoPBILDistrib : public eoDistribution, - public eoValueParam > -{ -public: - /** Ctor with size of genomes, and update parameters */ - eoPBILDistrib(unsigned _genomeSize) : - eoDistribution(), - eoValueParam >(std::vector(_genomeSize, 0.5), "Distribution"), - genomeSize(_genomeSize) - {} - - /** the randomizer of indis */ - virtual void operator()(EOT & _eo) - { - _eo.resize(genomeSize); // just in case - for (unsigned i=0; i> sz; - - value().resize(sz); - unsigned i; - - for (i = 0; i < sz; ++i) - { - double atom; - is >> atom; - value()[i] = atom; - } - } - - unsigned int size() {return genomeSize;} - - virtual std::string className() const {return "eoPBILDistrib";}; - -private: - unsigned genomeSize; // size of indis -}; - -#endif diff --git a/trunk/paradiseo-eo/src/ga/eoPBILOrg.h b/trunk/paradiseo-eo/src/ga/eoPBILOrg.h deleted file mode 100644 index 80bf2d09c..000000000 --- a/trunk/paradiseo-eo/src/ga/eoPBILOrg.h +++ /dev/null @@ -1,78 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPBILOrg.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoPBILOrg_H -#define _eoPBILOrg_H - -#include -#include - -/** - * Distribution Class for PBIL algorithm - * (Population-Based Incremental Learning, Baluja and Caruana 95) - * - * This class implements the update rule from the original paper: - * - * p(i)(t+1) = (1-LR)*p(i)(t) + LR*best(i) -*/ - -template -class eoPBILOrg : public eoDistribUpdater -{ -public: - /** Ctor with size of genomes, and update parameters */ - eoPBILOrg(double _LR, double _tolerance=0.0 ) : - LR(_LR), maxBound(1.0-_tolerance), minBound(_tolerance) - {} - - - /** Update the distribution from the current population */ - virtual void operator()(eoDistribution & _distrib, eoPop& _pop) - { - const EOT & best = _pop.best_element(); - eoPBILDistrib& distrib = dynamic_cast&>(_distrib); - - std::vector & p = distrib.value(); - - for (unsigned g=0; g // for time(0) for random seeding -#include -#include -#include -#include - - -//////////////////////////DISTRIB CONSTRUCTION /////////////////////////////// -/** - * Templatized version of parser-based construct of the distribution - * for PBIL distribution evolution algorithm - * - * It must then be instantiated, and compiled on its own for a given EOType - * (see test/t-eoPBIL.cpp - * - * Last argument is template-disambiguating -*/ - - -template -eoPBILDistrib & do_make_PBILdistrib(eoParser & _parser, eoState& _state, EOT) -{ - // First the random seed - eoValueParam& seedParam = _parser.createParam(uint32_t(0), "seed", "Random number seed", 'S'); - if (seedParam.value() == 0) - seedParam.value() = time(0); - - // chromosome size: - unsigned theSize; - // but it might have been already read in the definition fo the performance - eoParam* ptParam = _parser.getParamWithLongName(std::string("chromSize")); - - if (!ptParam) // not already defined: read it here - { - theSize = _parser.createParam(unsigned(10), "chromSize", "The length of the bitstrings", 'n',"Problem").value(); - } - else // it was read before, get its value - { - eoValueParam* ptChromSize = dynamic_cast*>(ptParam); - theSize = ptChromSize->value(); - } - - eoPBILDistrib * ptDistrib = new eoPBILDistrib(theSize); - _state.storeFunctor(ptDistrib); - - // now the initialization: read a previously saved distribution, or random - eoValueParam& loadNameParam = _parser.createParam(std::string(""), "Load","A save file to restart from",'L', "Persistence" ); - if (loadNameParam.value() != "") // something to load - { - // create another state for reading - eoState inState; // a state for loading - WITHOUT the parser - // register the rng and the distribution in the state, - // so they can be loaded, - // and the present run will be the exact continuation of the saved run - // eventually with different parameters - inState.registerObject(*ptDistrib); - inState.registerObject(rng); - inState.load(loadNameParam.value()); // load the distrib and the rng - } - else // nothing loaded from a file - { - rng.reseed(seedParam.value()); - } - - // for future stateSave, register the algorithm into the state - _state.registerObject(_parser); - _state.registerObject(*ptDistrib); - _state.registerObject(rng); - - return *ptDistrib; -} - -#endif diff --git a/trunk/paradiseo-eo/src/ga/make_PBILupdate.h b/trunk/paradiseo-eo/src/ga/make_PBILupdate.h deleted file mode 100644 index 9b4ffd83c..000000000 --- a/trunk/paradiseo-eo/src/ga/make_PBILupdate.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_PBILupdate.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_PBILupdate_h -#define _make_PBILupdate_h - -#include -#include -#include -#include - - -///////CONSTRUCTION of PBIL distribution updaters///////////////// -/** - * Templatized version of parser-based construct of the update rule for PBIL - * distributions (see eoPBILDistrib.h) - * - * It must then be instantiated, and compiled on its own for a given EOType - * (see test/t-eoPBIL.cpp) - * - * Last argument is template-disambiguating -*/ - - -template -eoDistribUpdater & do_make_PBILupdate(eoParser & _parser, eoState& _state, EOT) -{ - // ast the moment, a single update rule is available - // but at some point we'll have to choose among different rules - - std::string UType = _parser.createParam(std::string("PBIL"), "updateRule", "Type of update rule (only PBIL additive at the moment)", 'U', "Algorithm").value(); - - unsigned nbBest = _parser.createParam(unsigned(1), "nbBest", "Number of good guys to update from", 'B', "Algorithm").value(); - double LRBest = _parser.createParam(0.1, "LRBest", "Learning Rate (from best guys)", 'L', "Algorithm").value(); - unsigned nbWorst = _parser.createParam(unsigned(0), "nbWorst", "Number of bad guys to update from", 'W', "Algorithm").value(); - double LRWorst = _parser.createParam(0.01, "LRWorst", "Learning Rate (from best guys)", 'L', "Algorithm").value(); - double tolerance = _parser.createParam(0.0, "tolerance", "Keeping away from 0 and 1", 't', "Algorithm").value(); - - // a pointer to choose among several possible types - eoDistribUpdater * ptUpdate; - - if (UType == std::string("PBIL")) - { - if ( (nbWorst == 0) && (nbBest == 1) ) - ptUpdate = new eoPBILOrg(LRBest, tolerance); - else - ptUpdate = new eoPBILAdditive(LRBest, nbBest, tolerance, LRWorst, nbWorst); - } - else - throw std::runtime_error("Only PBIL additive update rule available at the moment"); - - // done: don't forget to store the allocated pointers - _state.storeFunctor(ptUpdate); - return *ptUpdate; -} - -#endif diff --git a/trunk/paradiseo-eo/src/ga/make_algo_scalar_ga.cpp b/trunk/paradiseo-eo/src/ga/make_algo_scalar_ga.cpp deleted file mode 100644 index aa9b2e051..000000000 --- a/trunk/paradiseo-eo/src/ga/make_algo_scalar_ga.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_algo_scalar_ga.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains all ***INSTANCIATED DEFINITIONS*** of pop. init. - * of the library for ***BISTRING*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in src/ga/ga.h - * while the TEMPLATIZED code is define in make_algo_scalar.h in the src/do dir - * - * Unlike most EO .h files, it does not (and should not) contain any code, - * just declarations - */ - -// The templatized code -#include -// the instanciating EOType -#include - -/// The following function merely call the templatized do_* functions above - -// Algo -/////// -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist); -} - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op, eoDistance >* _dist) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist); -} - diff --git a/trunk/paradiseo-eo/src/ga/make_checkpoint_ga.cpp b/trunk/paradiseo-eo/src/ga/make_checkpoint_ga.cpp deleted file mode 100644 index f7da6d4a8..000000000 --- a/trunk/paradiseo-eo/src/ga/make_checkpoint_ga.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_checkpoint_ga.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains all ***INSTANCIATED DEFINITIONS*** of operators - * of the library for ***BISTRING*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in make_checkpoint_ga.h - * while the TEMPLATIZED code is define in make_checkpoint.h in the do dir - * - * Unlike most EO .h files, it does not (and should not) contain any code, - * just declarations - */ - -// The templatized code -#include -// the instanciating EOType -#include - -/// The following function merely call the templatized do_* functions - -// checkpoint -///////////// -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - - diff --git a/trunk/paradiseo-eo/src/ga/make_continue_ga.cpp b/trunk/paradiseo-eo/src/ga/make_continue_ga.cpp deleted file mode 100644 index e2dbb35a8..000000000 --- a/trunk/paradiseo-eo/src/ga/make_continue_ga.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_continue_ga.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains all ***INSTANCIATED DEFINITIONS*** of operators - * of the library for ***BISTRING*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in ga.h - * while the TEMPLATIZED code is define in make_contninue.h in the src/do dir - * - * Unlike most EO .h files, it does not (and should not) contain any code, - * just declarations - */ - -// The templatized code -#include -// the instanciating EOType -#include - -/// The following function merely call the templatized do_* functions above - -// continue -/////////// -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - - diff --git a/trunk/paradiseo-eo/src/ga/make_ga.h b/trunk/paradiseo-eo/src/ga/make_ga.h deleted file mode 100644 index ee75b8134..000000000 --- a/trunk/paradiseo-eo/src/ga/make_ga.h +++ /dev/null @@ -1,94 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// ga.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -/** This file contains all ***INSTANCIATED*** declarations of all components - * of the library for ***BISTRING*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * - * The corresponding ***INSTANCIATED*** definitions are contained in ga.cpp - * while the TEMPLATIZED code is define in the different makeXXX.h files - * - * Unlike most EO .h files, it does not (and should not) contain any code, - * just declarations - */ - -#ifndef ga_h -#define ga_h - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -//Representation dependent - rewrite everything anew for each representation -////////////////////////// - -// the genotypes -eoInit > & make_genotype(eoParser& _parser, eoState& _state, eoBit _eo); - eoInit > & make_genotype(eoParser& _parser, eoState& _state, eoBit _eo); - -// the operators -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoInit >& _init); -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoInit >& _init); - -//Representation INdependent -//////////////////////////// -// if you use your own representation, simply change the types of templates - -// init pop -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); - -// the continue's -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); - -// the checkpoint -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); - - -// the algo -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op, eoDistance >* _dist = NULL); - -// run -void run_ea(eoAlgo >& _ga, eoPop >& _pop); -void run_ea(eoAlgo >& _ga, eoPop >& _pop); - -// end of parameter input (+ .status + help) -// that one is not templatized -// Because of that, the source is in src/utils dir -void make_help(eoParser & _parser); - -#endif diff --git a/trunk/paradiseo-eo/src/ga/make_genotype_ga.cpp b/trunk/paradiseo-eo/src/ga/make_genotype_ga.cpp deleted file mode 100644 index 873093dce..000000000 --- a/trunk/paradiseo-eo/src/ga/make_genotype_ga.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_genotype_ga.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains all ***INSTANCIATED DEFINITIONS*** of operators - * of the library for ***BISTRING*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in ga.h in src/ga dir - * while the TEMPLATIZED code is define in make_genotype_ga.h - */ - -// the templatized code -#include - -/// The following function merely call the templatized do_* functions above - -eoInit > & make_genotype(eoParser& _parser, eoState& _state, eoBit _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} -eoInit > & make_genotype(eoParser& _parser, eoState& _state, eoBit _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} diff --git a/trunk/paradiseo-eo/src/ga/make_genotype_ga.h b/trunk/paradiseo-eo/src/ga/make_genotype_ga.h deleted file mode 100644 index 1ea3e1104..000000000 --- a/trunk/paradiseo-eo/src/ga/make_genotype_ga.h +++ /dev/null @@ -1,77 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_genotype.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_genotype_h -#define _make_genotype_h - -#include -#include - // also need the parser and param includes -#include -#include - - -/////////////////// the bitstring //////////////// -/* - * This fuction does the initialization of what's needed for a particular - * genotype (here, bitstrings). - * It could be here tempatied only on the fitness, as it can be used to evolve - * bitstrings with any fitness. - * However, for consistency reasons, it was finally chosen, as in - * the rest of EO, to templatize by the full EOT, as this eventually - * allows to choose the type of genotype at run time (see in es dir) - * - * It is instanciated in ga/ga.cpp - and incorporated in the ga/libga.a - * - * It returns an eoInit > tha can later be used to initialize - * the population (see make_pop.h). - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is to disambiguate the call upon different instanciations. - * - * WARNING: that last argument will generally be the result of calling - * the default ctor of EOT, resulting in most cases in an EOT - * that is ***not properly initialized*** -*/ - -template -eoInit & do_make_genotype(eoParser& _parser, eoState& _state, EOT) -{ - // for bitstring, only thing needed is the size - // but it might have been already read in the definition fo the performance - unsigned theSize = _parser.getORcreateParam(unsigned(10), "chromSize", "The length of the bitstrings", 'n',"Problem").value(); - - // Then we can built a bitstring random initializer - // based on boolean_generator class (see utils/rnd_generator.h) - eoBooleanGenerator * gen = new eoBooleanGenerator; - _state.storeFunctor(gen); - eoInitFixedLength* init = new eoInitFixedLength(theSize, *gen); - // store in state - _state.storeFunctor(init); - return *init; -} - -#endif diff --git a/trunk/paradiseo-eo/src/ga/make_op.h b/trunk/paradiseo-eo/src/ga/make_op.h deleted file mode 100644 index 85af41ffb..000000000 --- a/trunk/paradiseo-eo/src/ga/make_op.h +++ /dev/null @@ -1,211 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_op.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_op_h -#define _make_op_h - -// the operators -#include -#include -#include -#include -// combinations of simple eoOps (eoMonOp and eoQuadOp) -#include - -// the specialized GA stuff -#include -#include - // also need the parser and param includes -#include -#include - - -/////////////////// bitstring operators /////////////// -// canonical (crossover + mutation) only at the moment // - -/* - * This function builds the operators that will be applied to the bitstrings - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is an individual, needed for 2 reasons - * it disambiguates the call after instanciations - * some operator might need some private information about the indis - * - * This is why the template is the complete EOT even though only the fitness - * is actually templatized here: the following only applies to bitstrings - * - * Note : the last parameter is an eoInit: if some operator needs some info - * about the gneotypes, the init has it all (e.g. bounds, ...) - * Simply do - * EOT myEO; - * _init(myEO); - * and myEO is then an ACTUAL object -*/ - -template -eoGenOp & do_make_op(eoParser& _parser, eoState& _state, eoInit& _init) -{ - // this is a temporary version, while Maarten codes the full tree-structured - // general operator input - // BTW we must leave that simple version available somehow, as it is the one - // that 90% people use! - eoValueParam& operatorParam = _parser.createParam(std::string("SGA"), "operator", "Description of the operator (SGA only now)", 'o', "Variation Operators"); - - if (operatorParam.value() != std::string("SGA")) - throw std::runtime_error("Only SGA-like operator available right now\n"); - - // now we read Pcross and Pmut, - // the relative weights for all crossovers -> proportional choice - // the relative weights for all mutations -> proportional choice - // and create the eoGenOp that is exactly - // crossover with pcross + mutation with pmut - - eoValueParam& pCrossParam = _parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" ); - // minimum check - if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) ) - throw std::runtime_error("Invalid pCross"); - - eoValueParam& pMutParam = _parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" ); - // minimum check - if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) ) - throw std::runtime_error("Invalid pMut"); - - // the crossovers - ///////////////// - // the parameters - eoValueParam& onePointRateParam = _parser.createParam(double(1.0), "onePointRate", "Relative rate for one point crossover", '1', "Variation Operators" ); - // minimum check - if ( (onePointRateParam.value() < 0) ) - throw std::runtime_error("Invalid onePointRate"); - - eoValueParam& twoPointsRateParam = _parser.createParam(double(1.0), "twoPointRate", "Relative rate for two point crossover", '2', "Variation Operators" ); - // minimum check - if ( (twoPointsRateParam.value() < 0) ) - throw std::runtime_error("Invalid twoPointsRate"); - - eoValueParam& uRateParam = _parser.createParam(double(2.0), "uRate", "Relative rate for uniform crossover", 'U', "Variation Operators" ); - // minimum check - if ( (uRateParam.value() < 0) ) - throw std::runtime_error("Invalid uRate"); - - // minimum check - bool bCross = true; - if (onePointRateParam.value()+twoPointsRateParam.value()+uRateParam.value()==0) - { - std::cerr << "Warning: no crossover" << std::endl; - bCross = false; - } - - // Create the CombinedQuadOp - eoPropCombinedQuadOp *ptCombinedQuadOp = NULL; - eoQuadOp *ptQuad = NULL; - // 1-point crossover for bitstring - ptQuad = new eo1PtBitXover; - _state.storeFunctor(ptQuad); - ptCombinedQuadOp = new eoPropCombinedQuadOp(*ptQuad, onePointRateParam.value()); - - // uniform crossover for bitstring - ptQuad = new eoUBitXover; - _state.storeFunctor(ptQuad); - ptCombinedQuadOp->add(*ptQuad, uRateParam.value()); - - // 2-points xover - ptQuad = new eoNPtsBitXover; - _state.storeFunctor(ptQuad); - ptCombinedQuadOp->add(*ptQuad, twoPointsRateParam.value()); - - // don't forget to store the CombinedQuadOp - _state.storeFunctor(ptCombinedQuadOp); - - // the mutations - ///////////////// - // the parameters - eoValueParam & pMutPerBitParam = _parser.createParam(0.01, "pMutPerBit", "Probability of flipping 1 bit in bit-flip mutation", 'b', "Variation Operators" ); - // minimum check - if ( (pMutPerBitParam.value() < 0) || (pMutPerBitParam.value() > 0.5) ) - throw std::runtime_error("Invalid pMutPerBit"); - - eoValueParam & bitFlipRateParam = _parser.createParam(0.01, "bitFlipRate", "Relative rate for bit-flip mutation", 's', "Variation Operators" ); - // minimum check - if ( (bitFlipRateParam.value() < 0) ) - throw std::runtime_error("Invalid bitFlipRate"); - - eoValueParam & oneBitRateParam = _parser.createParam(0.01, "oneBitRate", "Relative rate for deterministic bit-flip mutation", 'd', "Variation Operators" ); - // minimum check - if ( (oneBitRateParam.value() < 0) ) - throw std::runtime_error("Invalid oneBitRate"); - - // minimum check - bool bMut = true; - if (bitFlipRateParam.value()+oneBitRateParam.value()==0) - { - std::cerr << "Warning: no mutation" << std::endl; - bMut = false; - } - - // Create the CombinedMonOp - eoPropCombinedMonOp *ptCombinedMonOp = NULL; - eoMonOp *ptMon = NULL; - - // standard bit-flip mutation for bitstring - ptMon = new eoBitMutation(pMutPerBitParam.value()); - _state.storeFunctor(ptMon); - // create the CombinedMonOp - ptCombinedMonOp = new eoPropCombinedMonOp(*ptMon, bitFlipRateParam.value()); - - // mutate exactly 1 bit per individual - ptMon = new eoDetBitFlip; - _state.storeFunctor(ptMon); - ptCombinedMonOp->add(*ptMon, oneBitRateParam.value()); - - _state.storeFunctor(ptCombinedMonOp); - - // now build the eoGenOp: - // to simulate SGA (crossover with proba pCross + mutation with proba pMut - // we must construct - // a sequential combination of - // with proba 1, a proportional combination of - // a QuadCopy and our crossover - // with proba pMut, our mutation - - // the crossover - with probability pCross - eoProportionalOp * cross = new eoProportionalOp ; - _state.storeFunctor(cross); - ptQuad = new eoQuadCloneOp; - _state.storeFunctor(ptQuad); - cross->add(*ptCombinedQuadOp, pCrossParam.value()); // user crossover - cross->add(*ptQuad, 1-pCrossParam.value()); // clone operator - - // now the sequential - eoSequentialOp *op = new eoSequentialOp; - _state.storeFunctor(op); - op->add(*cross, 1.0); // always crossover (but clone with prob 1-pCross - op->add(*ptCombinedMonOp, pMutParam.value()); - - // that's it! - return *op; -} -#endif diff --git a/trunk/paradiseo-eo/src/ga/make_op_ga.cpp b/trunk/paradiseo-eo/src/ga/make_op_ga.cpp deleted file mode 100644 index 8bed5a66a..000000000 --- a/trunk/paradiseo-eo/src/ga/make_op_ga.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_op_ga.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains all ***INSTANCIATED DEFINITIONS*** of operators - * of the library for ***BISTRING*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in make_op_ga.h - * while the TEMPLATIZED code is define in make_op.h in the ga dir - * - * Unlike most EO .h files, it does not (and should not) contain any code, - * just declarations - */ - -// Templatized code -#include - -/// The following function merely call the templatized do_* functions above - -// oeprators -//////////// -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoInit >& _init) -{ - return do_make_op(_parser, _state, _init); -} - -eoGenOp >& make_op(eoParser& _parser, eoState& _state, eoInit >& _init) -{ - return do_make_op(_parser, _state, _init); -} - diff --git a/trunk/paradiseo-eo/src/ga/make_pop_ga.cpp b/trunk/paradiseo-eo/src/ga/make_pop_ga.cpp deleted file mode 100644 index 2ab0b5cde..000000000 --- a/trunk/paradiseo-eo/src/ga/make_pop_ga.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_pop_ga.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains all ***INSTANCIATED DEFINITIONS*** of population init - * of the library for ***BISTRING*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in ga/make_ga.h - * while the TEMPLATIZED code is define in make_pop.h in the src/do dir - * - */ - -// The templatized code -#include -// the instanciating EOType -#include - -/// The following function merely call the templatized do_* functions above - -// Init POP -/////////// -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - - diff --git a/trunk/paradiseo-eo/src/ga/make_run_ga.cpp b/trunk/paradiseo-eo/src/ga/make_run_ga.cpp deleted file mode 100644 index afdab3d9a..000000000 --- a/trunk/paradiseo-eo/src/ga/make_run_ga.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_run_ga.cpp -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -/** This file contains all ***INSTANCIATED DEFINITIONS*** of operators - * of the library for ***BISTRING*** evolution inside EO. - * It should be included in the file that calls any of the corresponding fns - * Compiling this file allows one to generate part of the library (i.e. object - * files that you just need to link with your own main and fitness code). - * - * The corresponding ***INSTANCIATED DECLARATIONS*** are contained - * in make_run_ga.h - * while the TEMPLATIZED code is define in make_run.h in the do dir - * - * Unlike most EO .h files, it does not (and should not) contain any code, - * just declarations - */ - -// The templatized code -#include -// the instanciating EOType -#include -// the instanciating fitnesses -#include - -/// The following function merely call the templatized do_* functions above - -// run -///////// -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - diff --git a/trunk/paradiseo-eo/src/gp/.cvsignore b/trunk/paradiseo-eo/src/gp/.cvsignore deleted file mode 100644 index 69fb0bd82..000000000 --- a/trunk/paradiseo-eo/src/gp/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.lo -*.la -.deps -.libs -Makefile -Makefile.in diff --git a/trunk/paradiseo-eo/src/gp/CVS/Entries b/trunk/paradiseo-eo/src/gp/CVS/Entries deleted file mode 100644 index 3431927f7..000000000 --- a/trunk/paradiseo-eo/src/gp/CVS/Entries +++ /dev/null @@ -1,10 +0,0 @@ -/.cvsignore/1.1/Mon Apr 3 09:32:08 2000// -/Makefile.am/1.5/Wed Sep 22 18:18:30 2004// -/eoParseTree.h/1.25/Mon Mar 27 18:55:20 2006// -/eoParseTreeDepthInit.h/1.9/Wed Nov 26 11:15:59 2003// -/eoParseTreeOp.h/1.4/Thu Feb 27 19:24:31 2003// -/eoStParseTreeDepthInit.h/1.4/Thu Feb 27 19:24:31 2003// -/eoStParseTreeOp.h/1.2/Thu Feb 27 19:24:31 2003// -/node_pool.h/1.4/Tue Mar 25 10:46:08 2003// -/parse_tree.h/1.8/Thu Dec 23 15:29:06 2004// -D diff --git a/trunk/paradiseo-eo/src/gp/CVS/Repository b/trunk/paradiseo-eo/src/gp/CVS/Repository deleted file mode 100644 index 5cc3cda1d..000000000 --- a/trunk/paradiseo-eo/src/gp/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/gp diff --git a/trunk/paradiseo-eo/src/gp/CVS/Root b/trunk/paradiseo-eo/src/gp/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/gp/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/gp/Makefile.am b/trunk/paradiseo-eo/src/gp/Makefile.am deleted file mode 100644 index 9ebcdd237..000000000 --- a/trunk/paradiseo-eo/src/gp/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -## Makefile.am for eo/src/gp - -gpincludedir = $(pkgincludedir)/gp - -gpinclude_HEADERS = eoParseTreeDepthInit.h \ - eoParseTree.h \ - eoParseTreeOp.h \ - eoStParseTreeDepthInit.h \ - eoStParseTreeOp.h \ - node_pool.h \ - parse_tree.h diff --git a/trunk/paradiseo-eo/src/gp/eoParseTree.h b/trunk/paradiseo-eo/src/gp/eoParseTree.h deleted file mode 100644 index ca8530d67..000000000 --- a/trunk/paradiseo-eo/src/gp/eoParseTree.h +++ /dev/null @@ -1,189 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoParseTree.h : eoParseTree class (for Tree-based Genetic Programming) -// (c) Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - mak@dhi.dk - - */ -//----------------------------------------------------------------------------- - -#ifndef eoParseTree_h -#define eoParseTree_h - -#include -#include - -#include -#include -#include -#include - -using namespace gp_parse_tree; - -/** @defgroup ParseTree - -Various functions for tree-based Genetic Programming -*/ - - - -/** Implementation of parse-tree for genetic programming - -@class eoParseTree eoParseTree.h gp/eoParseTree.h - -@ingroup ParseTree -*/ -template -class eoParseTree : public EO, public parse_tree -{ -public: - - using parse_tree::back; - using parse_tree::ebegin; - using parse_tree::eend; - using parse_tree::size; - - - typedef typename parse_tree::subtree Subtree; - - /* For Compatibility with the intel C++ compiler for Linux 5.x */ - typedef Node reference; - typedef const reference const_reference; - - /** - * Default Constructor - */ - eoParseTree(void) {} - - /** - * Copy Constructor - * @param tree The tree to copy - */ - eoParseTree(const parse_tree& tree) : parse_tree(tree) {} - -// eoParseTree(const eoParseTree& tree) : parse_tree(tree) {} - /** - * To prune me to a certain size - * @param _size My maximum size - */ - virtual void pruneTree(unsigned _size) - { - if (_size < 1) - return; - - while (size() > _size) - { - back() = operator[](size()-2); - } - } - - /** - * To read me from a stream - * @param is The std::istream - */ - - eoParseTree(std::istream& is) : EO(), parse_tree() - { - readFrom(is); - } - - /// My class name - std::string className(void) const { return "eoParseTree"; } - - /** - * To print me on a stream - * @param os The std::ostream - */ - void printOn(std::ostream& os) const - { - EO::printOn(os); - os << ' '; - - os << size() << ' '; - - std::copy(ebegin(), eend(), std::ostream_iterator(os, " ")); - } - - /** - * To read me from a stream - * @param is The std::istream - */ - void readFrom(std::istream& is) - { - - - EO::readFrom(is); - - unsigned sz; - is >> sz; - - - std::vector v(sz); - - unsigned i; - - for (i = 0; i < sz; ++i) - { - Node node; - is >> node; - v[i] = node; - } - parse_tree tmp(v.begin(), v.end()); - swap(tmp); - - /* - * old code which caused problems for paradisEO - * - * this can be removed once it has proved itself - EO::readFrom(is); - - // even older code - FType fit; - is >> fit; - - fitness(fit); - - - std::copy(std::istream_iterator(is), std::istream_iterator(), back_inserter(*this)); - */ - } -}; - -// friend function to print eoParseTree -template -std::ostream& operator<<(std::ostream& os, const eoParseTree& eot) -{ - eot.printOn(os); - return os; -} - -// friend function to read eoParseTree -template -std::istream& operator>>(std::istream& is, eoParseTree& eot) -{ - eot.readFrom(is); - return is; -} - -// for backward compatibility -#include -#include - -#endif diff --git a/trunk/paradiseo-eo/src/gp/eoParseTreeDepthInit.h b/trunk/paradiseo-eo/src/gp/eoParseTreeDepthInit.h deleted file mode 100644 index 2f41c2fb9..000000000 --- a/trunk/paradiseo-eo/src/gp/eoParseTreeDepthInit.h +++ /dev/null @@ -1,218 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoParseTreeDepthInit.h : initializor for eoParseTree class -// (c) Maarten Keijzer 2000 Jeroen Eggermont 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - mak@dhi.dk - jeggermo@liacs.nl - - */ -//----------------------------------------------------------------------------- - -#ifndef eoParseTreeDepthInit_h -#define eoParseTreeDepthInit_h - -#include -#include -#include -#include -#include - -using namespace gp_parse_tree; - -/** eoParseTreeDepthInit : the initializer class for eoParseTree -\class eoParseTreeDepthInit eoParseTreeDepthInit.h gp/eoParseTreeDepthInit.h -\ingroup ParseTree -*/ - -// eoGpDepthInitializer is defined for backward compatibility -#define eoGpDepthInitializer eoParseTreeDepthInit - -template -class eoParseTreeDepthInit : public eoInit< eoParseTree > -{ - protected: - // a binary predicate for sorting - // hopefully this will work with M$VC++ 6.0 - struct lt_arity:public std::binary_function - { - bool operator()(const Node &_node1, const Node &_node2) { return (_node1.arity() < _node2.arity());}; - }; - - public : - - typedef eoParseTree EoType; - - /** - * Constructor - * @parm _max_depth The maximum depth of a tree - * @param _initializor A std::vector containing the possible nodes - * @param _grow False results in a full tree, True result is a randomly grown tree - * @param _ramped_half_and_half True results in Ramped Half and Half Initialization - */ - eoParseTreeDepthInit( - unsigned _max_depth, - const std::vector& _initializor, - bool _grow = true, - bool _ramped_half_and_half = false) - : - eoInit(), - max_depth(_max_depth), - initializor(_initializor), - grow(_grow), - ramped_half_and_half(_ramped_half_and_half), - current_depth(_max_depth) - { - if(initializor.empty()) - { - throw std::logic_error("eoParseTreeDepthInit: uhm, wouldn't you rather give a non-empty set of Nodes?"); - } - // lets sort the initializor std::vector according to arity (so we can be sure the terminals are in front) - // we use stable_sort so that if element i was in front of element j and they have the same arity i remains in front of j - stable_sort(initializor.begin(), initializor.end(), lt_arity()); - } - /// My class name - virtual std::string className() const { return "eoParseTreeDepthInit"; }; - - /**initialize a tree - * @param _tree : the tree to be initialized - */ - void operator()(EoType& _tree) - { - std::list sequence; - generate(sequence, current_depth); - - parse_tree tmp(sequence.begin(), sequence.end()); - _tree.swap(tmp); - - if(ramped_half_and_half) - { - if(grow) - { - if (current_depth > 2) - current_depth--; - else - current_depth = max_depth; - } - // change the grow method from 'grow' to 'full' or from 'full' to 'grow' - grow = !grow; - }; - - } - private : - void generate(std::list& sequence, int the_max, int last_terminal = -1) - { - if (last_terminal == -1) - { // check where the last terminal in the sequence resides - typename std::vector::iterator it; - for (it = initializor.begin(); it != initializor.end(); ++it) - { - if (it->arity() > 0) - break; - } - - last_terminal = it - initializor.begin(); - } - - if (the_max == 1) - { // generate terminals only - typename std::vector::iterator it = initializor.begin() + rng.random(last_terminal); - it->randomize(); - sequence.push_front(*it); - return; - } - - typename std::vector::iterator what_it; - - if (grow) - { - what_it = initializor.begin() + rng.random(initializor.size()); - } - else // full - { - what_it = initializor.begin() + last_terminal + rng.random(initializor.size() - last_terminal); - } - - what_it->randomize(); - - sequence.push_front(*what_it); - - for (int i = 0; i < what_it->arity(); ++i) - generate(sequence, the_max - 1, last_terminal); - } - - - - unsigned max_depth; - std::vector initializor; - bool grow; - bool ramped_half_and_half; - unsigned current_depth; -}; - -/** - * A template function for ramped half and half initialization of an eoParseTree population - * @param pop the population to be created - * @param population_size the size of the population to be created - * @param init_max_depth the initial maximum tree depth - * @param initializor A std::vector containing the possible nodes - - \ingroup ParseTree - */ -template -void eoInitRampedHalfAndHalf(eoPop< eoParseTree > &pop, unsigned int population_size, unsigned int init_max_depth, std::vector &initializor) -{ - typedef eoParseTree EoType; - typedef eoPop< EoType > Pop; - - unsigned int M = init_max_depth - 1; - unsigned int part_pop_size = population_size / (2*M); - unsigned int m=0; - - std::cerr << "EO WARNING: Ramped Half and Half Initialization is now supported by eoParseTreeDepthInit." << std::endl; - std::cerr << " This function is now obsolete and might be removed in the future so you should"<< std::endl; - std::cerr << " update your code to use: " << std::endl << std::endl; - std::cerr << " eoParseTreeDepthInit( _max_depth, _initializer, bool _grow, bool _ramped_half_and_half)" << std::endl << std::endl; - - pop.clear(); - - // initialize with Depth's (D) -> 2 - for(m=init_max_depth; m >= 2; m--) - { - eoParseTreeDepthInit grow_initializer(m, initializor, true); - Pop grow(part_pop_size, grow_initializer); - pop.insert(pop.begin(), grow.begin(), grow.end()); - - eoParseTreeDepthInit full_initializer(m, initializor, false); - Pop full(part_pop_size, full_initializer); - pop.insert(pop.begin(), full.begin(), full.end()); - } - - bool g = true; - while (pop.size() < population_size) - { - eoParseTreeDepthInit initializer(init_max_depth, initializor, g); - Pop p(1, initializer); - pop.insert(pop.begin(), p.begin(), p.end()); - g= !g; - } -} - - -#endif diff --git a/trunk/paradiseo-eo/src/gp/eoParseTreeOp.h b/trunk/paradiseo-eo/src/gp/eoParseTreeOp.h deleted file mode 100644 index 1cc91a733..000000000 --- a/trunk/paradiseo-eo/src/gp/eoParseTreeOp.h +++ /dev/null @@ -1,380 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoParseTreeOp.h : crossover and mutation operator for the eoParseTree class -// (c) Maarten Keijzer 2000 for eoSubtreeXOver, eoBranchMutation -// (c) Jeroen Eggermont 2001 for other mutation operators - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - mak@dhi.dk - jeggermo@liacs.nl - */ -//----------------------------------------------------------------------------- - -#ifndef eoParseTreeOp_h -#define eoParseTreeOp_h - -#include -#include - -#include - -/** eoSubtreeXOver --> subtree xover -\class eoSubtreeXOver eoParseTreeOp.h gp/eoParseTreeOp.h -\ingroup ParseTree -*/ -template -class eoSubtreeXOver: public eoQuadOp< eoParseTree > { -public: - - typedef eoParseTree EoType; - /** - * Constructor - * @param _max_length the maximum size of an individual - */ - eoSubtreeXOver( unsigned _max_length) - : eoQuadOp(), max_length(_max_length) {}; - - /// the ckassname - virtual std::string className() const { return "eoSubtreeXOver"; }; - - /// Dtor - virtual ~eoSubtreeXOver () {}; - - /** - * Perform crossover on two individuals - * param _eo1 The first parent individual - * param _eo2 The second parent individual - */ - bool operator()(EoType & _eo1, EoType & _eo2 ) - { - int i = rng.random(_eo1.size()); - int j = rng.random(_eo2.size()); - - typename parse_tree::subtree tmp = _eo1[i]; - _eo1[i] = _eo2[j]; // insert subtree - _eo2[j] = tmp; - - _eo1.pruneTree(max_length); - _eo2.pruneTree(max_length); - - return true; - } - private: - unsigned max_length; -}; - -/** eoBranchMutation --> replace a subtree with a randomly created subtree -\class eoBranchMutation eoParseTreeOp.h gp/eoParseTreeOp.h -\ingroup ParseTree - */ -template -class eoBranchMutation: public eoMonOp< eoParseTree > -{ -public: - - typedef eoParseTree EoType; - /** - * Constructor - * @param _init An instantiation of eoGpDepthInitializer - * @param _max_length the maximum size of an individual - */ - eoBranchMutation(eoInit& _init, unsigned _max_length) - : eoMonOp(), max_length(_max_length), initializer(_init) - {}; - - /// the class name - virtual std::string className() const { return "eoBranchMutation"; }; - - /// Dtor - virtual ~eoBranchMutation() {}; - - /** - * Mutate an individual - * @param _eo1 The individual that is to be changed - */ - bool operator()(EoType& _eo1 ) - { - int i = rng.random(_eo1.size()); - - EoType eo2; - initializer(eo2); - - int j = rng.random(eo2.size()); - - _eo1[i] = eo2[j]; // insert subtree - - _eo1.pruneTree(max_length); - - return true; - } - -private : - - unsigned max_length; - eoInit& initializer; -}; - -// Additional Mutation operators from -// TITLE:"Genetic Programming~An Introduction" -// AUTHORS: Banzhaf, Nordin, Keller, Francone -// ISBN: 3-920993-58-6 -// ISBN: 1-55860-510-X -// -// For the eoParseTree class - -/** eoPointMutation --> replace a Node with a Node of the same arity -\class eoPointMutation eoParseTreeOp.h gp/eoParseTreeOp.h -\ingroup ParseTree -*/ - -template -class eoPointMutation: public eoMonOp< eoParseTree > -{ -public: - - typedef eoParseTree EoType; - - /** - * Constructor - * @param _initializor The std::vector of Nodes given to the eoGpDepthInitializer - */ - eoPointMutation( std::vector& _initializor) - : eoMonOp(), initializor(_initializor) - {}; - - /// the class name - virtual std::string className() const { return "eoPointMutation"; }; - - /// Dtor - virtual ~eoPointMutation() {}; - - /** - * Mutate an individual - * @param _eo1 The individual that is to be changed - */ - bool operator()(EoType& _eo1 ) - { - // select a random node i that is to be mutated - int i = rng.random(_eo1.size()); - // request the arity of the node that is to be replaced - int arity = _eo1[i].arity(); - - int j=0; - - do - { - j = rng.random(initializor.size()); - - }while ((initializor[j].arity() != arity)); - - _eo1[i] = initializor[j]; - - - - return true; - } - -private : - std::vector& initializor; - -}; - -/** eoExpansionMutation --> replace a terminal with a randomly created subtree -\class eoExpansionMutation eoParseTreeOp.h gp/eoParseTreeOp.h -\ingroup ParseTree - */ - -template -class eoExpansionMutation: public eoMonOp< eoParseTree > -{ -public: - - typedef eoParseTree EoType; - - /** - * Constructor - * @param _init An instantiation of eoGpDepthInitializer - * @param _max_length the maximum size of an individual - */ - eoExpansionMutation(eoInit& _init, unsigned _max_length) - : eoMonOp(), max_length(_max_length), initializer(_init) - {}; - - /// The class name - virtual std::string className() const { return "eoExpansionMutation"; }; - - /// Dtor - virtual ~eoExpansionMutation() {}; - /** - * Mutate an individual - * @param _eo1 The individual that is to be changed - */ - bool operator()(EoType& _eo1 ) - { - int i = rng.random(_eo1.size()); - // look for a terminal - while (_eo1[i].arity() != 0) - { - i= rng.random(_eo1.size()); - }; - - // create a new tree to - EoType eo2; - // make sure we get a tree with more than just a terminal - do - { - initializer(eo2); - }while(eo2.size() == 1); - - int j = rng.random(eo2.size()); - // make sure we select a subtree (and not a terminal) - while((eo2[j].arity() == 0)) - { - j = rng.random(eo2.size()); - }; - - - _eo1[i] = eo2[j]; // insert subtree - - _eo1.pruneTree(max_length); - - return true; - } - -private : - - unsigned max_length; - eoInit& initializer; -}; - -/** eoCollapseSubtree --> replace a subtree with a randomly chosen terminal -\class eoCollapseSubtreeMutation eoParseTreeOp.h gp/eoParseTreeOp.h -\ingroup ParseTree - */ - -template -class eoCollapseSubtreeMutation: public eoMonOp< eoParseTree > -{ -public: - - typedef eoParseTree EoType; - /** - * Constructor - * @param _init An instantiation of eoGpDepthInitializer - * @param _max_length the maximum size of an individual - */ - eoCollapseSubtreeMutation(eoInit& _init, unsigned _max_length) - : eoMonOp(), max_length(_max_length), initializer(_init) - {}; - - /// The class name - virtual std::string className() const { return "eoCollapseSubtreeMutation"; }; - - /// Dtor - virtual ~eoCollapseSubtreeMutation() {}; - /** - * Mutate an individual - * @param _eo1 The individual that is to be changed - */ - bool operator()(EoType& _eo1 ) - { - int i = rng.random(_eo1.size()); - // look for a subtree - while ((_eo1[i].arity() == 0) && (_eo1.size() > 1)) - { - i= rng.random(_eo1.size()); - }; - - // create a new tree to - EoType eo2; - initializer(eo2); - - int j = rng.random(eo2.size()); - // make sure we select a subtree (and not a terminal) - while(eo2[j].arity() != 0) - { - j = rng.random(eo2.size()); - }; - - _eo1[i] = eo2[j]; // insert subtree - - // we don't have to prune because the subtree is always smaller - _eo1.pruneTree(max_length); - - return true; - } - -private : - - unsigned max_length; - eoInit& initializer; -}; - - -/** eoHoistMutation --> replace the individual with one of its subtree's -\class eoHoistMutation eoParseTreeOp.h gp/eoParseTreeOp.h -\ingroup ParseTree - */ - -template -class eoHoistMutation: public eoMonOp< eoParseTree > -{ -public: - - typedef eoParseTree EoType; - /** - * Constructor - * @param none - */ - eoHoistMutation() - : eoMonOp() - {}; - - /// The class name - virtual std::string className() const { return "eoHoistMutation"; }; - - /// Dtor - virtual ~eoHoistMutation() {}; - /** - * Mutate an individual - * @param _eo1 The individual that is to be changed - */ - bool operator()(EoType& _eo1 ) - { - - - // select a hoist point - int i = rng.random(_eo1.size()); - // and create a new tree - EoType eo2(_eo1[i]); - - // we don't have to prune because the new tree is always smaller - //_eo1.pruneTree(max_length); - - _eo1 = eo2; - - return true; - } - -private : - -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/gp/eoStParseTreeDepthInit.h b/trunk/paradiseo-eo/src/gp/eoStParseTreeDepthInit.h deleted file mode 100644 index 3dac6f134..000000000 --- a/trunk/paradiseo-eo/src/gp/eoStParseTreeDepthInit.h +++ /dev/null @@ -1,190 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoStParseTreeDepthInit.h : initializor strongly type GP -// (c) Jeroen Eggermont 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - jeggermo@liacs.nl - - */ -//----------------------------------------------------------------------------- - -#ifndef eoStParseTreeDepthInit_h -#define eoStParseTreeDepthInit_h - -#include -#include -#include -#include - - -using namespace gp_parse_tree; - -#define TERMINAL 0 - -#define NONTERMINAL 4 -#define ALL 5 - - /** -\defgroup StParseTree - - Various functions for strongly typed tree-based Genetic Programming. - The StParseTree functions use the same eoParseTree class for the - individual but now each node class must have two additional functions. - \li int type(void) which returns the return type of the node - \li int type(int child) which returns the required type for child 0, 1 or 2 - - Pruning strongly typed trees is not possible at the moment. -*/ - -/** eoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming -\class eoStParseTreeDepthInit eoStParseTreeDepthInit.h gp/eoStParseTreeDepthInit.h -\ingroup StParseTree -*/ - -template -class eoStParseTreeDepthInit : public eoInit< eoParseTree > -{ - public : - - typedef eoParseTree EoType; - - /** - * Constructor - * @parm _max_depth The maximum depth of a tree - * @param _initializor A std::vector containing the possible nodes - * @param _grow False results in a full tree, True result is a randomly grown tree - */ - eoStParseTreeDepthInit( - unsigned _max_depth, - const std::vector& _node, - const int& _return_type, - bool _grow = true) - : - eoInit(), - max_depth(_max_depth), - return_type(_return_type), - grow(_grow) - { - if(_node.empty()) - { - throw std::logic_error("eoStParseTreeDepthInit: uhm, wouldn't you rather give a non-empty set of Nodes?"); - } - - - unsigned int i=0; - int arity=0; - int type=0; - std::vector node_std::vector; - for(i=0; i < _node.size(); i++) - { - arity = _node[i].arity(); - type = _node[i].type(); - if(arity==0) - { - node_std::vector = node[type][TERMINAL]; - node_std::vector.push_back(_node[i]); - node[type][TERMINAL]= node_std::vector; - } - else - //if (arity != 0) // non-terminal - { - node_std::vector = node[type][NONTERMINAL]; - node_std::vector.push_back(_node[i]); - node[type][NONTERMINAL] = node_std::vector; - } - node_std::vector = node[type][ALL]; - node_std::vector.push_back(_node[i]); - node[type][ALL] = node_std::vector; - - } - - - } - /// My class name - virtual std::string className() const { return "eoStParseTreeDepthInit"; }; - - /**initialize a tree - * @param _tree : the tree to be initialized - */ - void operator()(EoType& _tree) - { - std::list sequence; - bool good_tree = false; - do - { - sequence.clear(); - good_tree = generate(sequence, max_depth, return_type); - }while (!good_tree); - - parse_tree tmp(sequence.begin(), sequence.end()); - _tree.swap(tmp); - } - private : - bool generate(std::list& sequence, int the_max, int request_type) - { - - int selected=0; - bool ok = true; - - if (the_max == 1) - { // generate terminals only - if( node[request_type][TERMINAL].empty() ) // no possible terminal node of this type - return false; // we have an invalid tree - else - { - selected = rng.random((node[request_type][TERMINAL]).size()); - sequence.push_front(node[request_type][TERMINAL][selected]); - return true; - } - - } - - int arity=0; - if (grow) - { - selected = rng.random((node[request_type][ALL]).size()); - arity = node[request_type][ALL][selected].arity(); - sequence.push_front(node[request_type][ALL][selected]); - for (int i = 0; i < arity; ++i) - ok &= generate(sequence, the_max - 1, node[request_type][ALL][selected].type(i)); - } - else // full - { - selected = rng.random((node[request_type][NONTERMINAL]).size()); - arity = node[request_type][NONTERMINAL][selected].arity(); - sequence.push_front(node[request_type][NONTERMINAL][selected]); - for (int i = 0; i < arity; ++i) - ok &=generate(sequence, the_max - 1, node[request_type][NONTERMINAL][selected].type(i)); - } - - return ok; - - } - - - - - unsigned max_depth; - map < int, map < int, std::vector > > node; - - int return_type; - bool grow; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/gp/eoStParseTreeOp.h b/trunk/paradiseo-eo/src/gp/eoStParseTreeOp.h deleted file mode 100644 index 28bd3ff83..000000000 --- a/trunk/paradiseo-eo/src/gp/eoStParseTreeOp.h +++ /dev/null @@ -1,315 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoStParseTreeOp.h : crossover and mutation operators for the strongly typed GP -// (c) Jeroen Eggermont 2001 for other mutation operators - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - mak@dhi.dk - jeggermo@liacs.nl - */ -//----------------------------------------------------------------------------- - -#ifndef eoStParseTreeOp_h -#define eoStParseTreeOp_h - -#include -#include -#include -#include - -#include - -// a help function -template -void get_possible_nodes(const EOT &_eo, std::vector &possible_nodes, const int type) -{ - int n=0; - possible_nodes.clear(); - // collect the possible crossover points in _eo (nodes with the same type) - for(n=0; n < _eo.size(); n++) - if (type == _eo[n]->type()) - possible_nodes.push_back(n); -} - - -/** eoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming -\class eoStSubtreeXOver eoStParseTreeOp.h gp/eoStParseTreeOp.h -\ingroup StParseTree -*/ -template -class eoStSubtreeXOver: public eoQuadOp< eoParseTree > { -public: - - typedef eoParseTree EoType; - /** - * Constructor - * @param _max_length the maximum size of an individual - */ - eoStSubtreeXOver( unsigned _max_length) - : eoQuadOp(), max_length(_max_length) {}; - - /// the ckassname - virtual std::string className() const { return "eoStSubtreeXOver"; }; - - /// Dtor - virtual ~eoStSubtreeXOver () {}; - - /** - * Perform crossover on two individuals - * param _eo1 The first parent individual - * param _eo2 The second parent individual - */ - bool operator()(EoType & _eo1, EoType & _eo2 ) - { - int i = 0; - std::vector nodes; - int n = 0; - int type = 0; - int j = 0; - set test; - do - { - do // select a random node in _eo1 as crossover point, and check if we didn't try it already - { - i = rng.random(_eo1.size()); - }while(test.count(i) > 0); - - test.insert(i); - - type = _eo1[i]->type(); - - get_possible_nodes(_eo2, nodes, type); - - }while(nodes.empty() && (test.size() < _eo1.size())); - - if (nodes.empty()) // we failed to select a crossover point but tried all points (test.size() == _eo1.size()). - return true; // should this be false ?? - - // we did find at least one possible crossover point in _eo2 - - n = rng.random(nodes.size()); - j = nodes[n]; - - parse_tree::subtree tmp = _eo1[i]; - _eo1[i] = _eo2[j]; // insert subtree - _eo2[j] = tmp; - - // we can't prune anymore - /* - _eo1.pruneTree(max_length); - _eo2.pruneTree(max_length); - */ - - return true; - } - private: - unsigned max_length; -}; - -/** eoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree -\class eoStBranchMutation eoStParseTreeOp.h gp/eoStParseTreeOp.h -\ingroup StParseTree - */ -template -class eoStBranchMutation: public eoMonOp< eoParseTree > -{ -public: - - typedef eoParseTree EoType; - /** - * Constructor - * @param _init An instantiation of eoGpDepthInitializer - * @param _max_length the maximum size of an individual - */ - eoStBranchMutation(eoInit& _init, unsigned _max_length) - : eoMonOp(), max_length(_max_length), initializer(_init) - {}; - - /// the class name - virtual std::string className() const { return "eoStBranchMutation"; }; - - /// Dtor - virtual ~eoStBranchMutation() {}; - - /** - * Mutate an individual - * @param _eo1 The individual that is to be changed - */ - bool operator()(EoType& _eo1 ) - { - int i = rng.random(_eo1.size()); - std::vector nodes; - int type = _eo1[i]->type(); - int j=0; - int n=0; - - EoType eo2; - - do - { - initializer(eo2); - get_possible_nodes(eo2, nodes, type); - }while (nodes.empty()); - - n = rng.random(nodes.size()); - j = nodes[n]; - - _eo1[i] = eo2[j]; // insert subtree - - // no more pruning - /* - _eo1.pruneTree(max_length); - */ - - return true; - } - -private : - - unsigned max_length; - eoInit& initializer; -}; - - -/** eoStPointMutation --> replace a Node with a Node of the same arity and type -\class eoStPointMutation eoStParseTreeOp.h gp/eoStParseTreeOp.h -\ingroup StParseTree - */ -template -class eoStPointMutation: public eoMonOp< eoParseTree > -{ -public: - - typedef eoParseTree EoType; - - /** - * Constructor - * @param _initializor The std::vector of Nodes given to the eoGpDepthInitializer - */ - eoStPointMutation( std::vector& _node) - : eoMonOp() - { - unsigned int i=0; - int arity=0; - int type=0; - std::vector node_std::vector; - for(i=0; i < _node.size(); i++) - { - arity = _node[i].arity(); - type = _node[i].type(); - - node_std::vector = node[type][arity]; - node_std::vector.push_back(_node[i]); - node[type][arity]= node_std::vector; - - }; - }; - - /// the class name - virtual std::string className() const { return "eoStPointMutation"; }; - - /// Dtor - virtual ~eoStPointMutation() {}; - - /** - * Mutate an individual - * @param _eo1 The individual that is to be changed - */ - bool operator()(EoType& _eo1 ) - { - // select a random node i that is to be mutated - int i = rng.random(_eo1.size()); - int arity = _eo1[i].arity(); - int type = _eo1[i]->type(); - int j = rng.random(node[type][arity].size()); - - - _eo1[i] = node[type][arity][j]; - return true; - } - -private : - - map < int, map < int, std::vector > > node; -}; - - - /** eoStHoistMutation --> replace the individual with one of its strongly typed subtree's -\class eoStHoistMutation eoStParseTreeOp.h gp/eoStParseTreeOp.h -\ingroup StParseTree - */ -template -class eoStHoistMutation: public eoMonOp< eoParseTree > -{ -public: - - typedef eoParseTree EoType; - /** - * Constructor - * @param _init An instantiation of eoStDepthInit - * @param _max_length the maximum size of an individual - */ - eoStHoistMutation(eoInit& _init, unsigned _max_length) - : eoMonOp(), max_length(_max_length), initializer(_init) - {}; - - /// the class name - virtual std::string className() const { return "eoStHoistMutation"; }; - - /// Dtor - virtual ~eoStHoistMutation() {}; - - /** - * Mutate an individual - * @param _eo1 The individual that is to be changed - */ - bool operator()(EoType& _eo1 ) - { - - std::vector nodes; - // get the type of the current tree - int type = _eo1[ _eo1.size() - 1 ]->type(); - - - - do - { - initializer(eo2); - get_possible_nodes(eo2, nodes, type); - }while (nodes.empty()); - - // select a subtree-node to replace the current tree - int n = rng.random(nodes.size()); - int i = nodes[n]; - - EoType eo2(_eo1[i]); - - _eo1 = eo2; - - return true; - } - -private : - - unsigned max_length; - eoInit& initializer; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/gp/node_pool.h b/trunk/paradiseo-eo/src/gp/node_pool.h deleted file mode 100644 index e3b41b8ac..000000000 --- a/trunk/paradiseo-eo/src/gp/node_pool.h +++ /dev/null @@ -1,313 +0,0 @@ -/** - - * Pool allocator for the subtree and parse tree classes (homebrew and not compliant to ANSI allocator requirements) - * (c) copyright Maarten Keijzer 1999, 2000 - - * Permission to copy, use, modify, sell and distribute this software is granted provided - * this copyright notice appears in all copies. This software is provided "as is" without - * express or implied warranty, and with no claim as to its suitability for - * any purpose. - - * Permission to modify the code and to distribute modified code is granted, - * provided the above notices are retained, and a notice that the code was - * modified is included with the above copyright notice. - - -*/ - -#ifndef node_pool_h -#define node_pool_h - -class MemPool -{ -public : - - MemPool(unsigned int sz) : esize(sznext; - delete p; - } - } - - void* allocate() - { - if (head == 0) grow(); - Link* p = head; - head = p->next; - return static_cast(p); - } - - void deallocate(void* b) - { - Link* p = static_cast(b); - p->next = head; - head = p; - } - -private : - - void grow() - { - Chunk* n = new Chunk; - n->next = chunks; - chunks = n; - - const int nelem = Chunk::size/esize; - char* start = n->mem; - char* last = &start[(nelem-1)*esize]; - for (char* p = start; p < last; p += esize) - { - reinterpret_cast(p)->next = - reinterpret_cast(p + esize); - } - - reinterpret_cast(last)->next = 0; - head = reinterpret_cast(start); - } - - struct Link - { - Link* next; - }; - - struct Chunk - { - enum {size = 8 * 1024 - 16}; - Chunk* next; - char mem[size]; - }; - - Chunk* chunks; - const unsigned int esize; - Link* head; -}; - -template -class Node_alloc -{ -public : - - T* allocate(void) - { - T* t = static_cast(mem.allocate()); - t = new (t) T; - return t; - } - - T* construct(const T& org) - { - T* t = static_cast(mem.allocate()); - t = new (t) T(org); - return t; - } - - void deallocate(T* t) - { - t->~T(); // call destructor - mem.deallocate(static_cast(t)); - } - -private : - static MemPool mem; -}; - - -template -class Standard_alloc -{ -public : - Standard_alloc() {} - - T* allocate(size_t arity = 1) - { - if (arity == 0) - return 0; - - return new T [arity]; - } - - T* construct(size_t arity, T* org) - { - if (arity == 0) - return 0; - - T* t = new T [arity]; - - for (int i = 0; i < arity; ++i) - { - t = T(org[i]); - } - } - - void deallocate(T* t, size_t arity = 1) - { - if (arity == 0) - return ; - - delete [] t; - } - -}; - -template -class Standard_Node_alloc -{ -public : - Standard_Node_alloc() {} - - T* allocate(void) - { - return new T;// [arity]; - } - - T* construct(const T& org) - { - return new T(org); - } - - void deallocate(T* t) - { - delete t; - } - -}; - -template -class Tree_alloc -{ -public : - Tree_alloc() {} - - T* allocate(size_t arity) - { - T* t; - - switch(arity) - { - - case 0 : return 0; - case 1 : - { - t = static_cast(mem1.allocate()); - new (t) T; - break; - } - case 2 : - { - t = static_cast(mem2.allocate()); - new (t) T; - new (&t[1]) T; - break; - } - case 3 : - { - t = static_cast(mem3.allocate()); - new (t) T; - new (&t[1]) T; - new (&t[2]) T; - break; - } - default : - { - return new T[arity]; - } - } - - return t; - } - - T* construct(size_t arity, T* org) - { - T* t; - - switch(arity) - { - - case 0 : return 0; - case 1 : - { - t = static_cast(mem1.allocate()); - new (t) T(*org); - break; - } - case 2 : - { - t = static_cast(mem2.allocate()); - new (t) T(*org); - new (&t[1]) T(org[1]); - break; - } - case 3 : - { - t = static_cast(mem3.allocate()); - new (t) T(*org); - new (&t[1]) T(org[1]); - new (&t[1]) T(org[2]); - break; - } - default : - { - t = new T[arity]; // does call default ctor - for (int i = 0; i < arity; ++i) - { - t[i] = T(org[i]); // constructs now - } - } - } - - return t; - } - - - - void deallocate(T* t, size_t arity) - { - switch(arity) - { - case 0: return; - case 3 : - { - t[2].~T(); t[1].~T(); t[0].~T(); - mem3.deallocate(static_cast(t)); - return; - } - case 2 : - { - t[1].~T(); t[0].~T(); - mem2.deallocate(static_cast(t)); - return; - } - case 1 : - { - t[0].~T(); - mem1.deallocate(static_cast(t)); - return; - } - default : - { - delete [] t; - return; - } - } - } - - -private : - static MemPool mem1; - static MemPool mem2; - static MemPool mem3; -}; - -// static (non thread_safe) memory pools -template MemPool Node_alloc::mem = sizeof(T); - -template MemPool Tree_alloc::mem1 = sizeof(T); -template MemPool Tree_alloc::mem2 = sizeof(T) * 2; -template MemPool Tree_alloc::mem3 = sizeof(T) * 3; - -#endif diff --git a/trunk/paradiseo-eo/src/gp/parse_tree.h b/trunk/paradiseo-eo/src/gp/parse_tree.h deleted file mode 100644 index e18d00c9e..000000000 --- a/trunk/paradiseo-eo/src/gp/parse_tree.h +++ /dev/null @@ -1,999 +0,0 @@ -#ifndef PARSE_TREE_HH -#define PARSE_TREE_HH - -/** - - * Parse_tree and subtree classes - * (c) copyright Maarten Keijzer 1999, 2000 - - * Permission to copy, use, modify, sell and distribute this software is granted provided - * this copyright notice appears in all copies. This software is provided "as is" without - * express or implied warranty, and with no claim as to its suitability for - * any purpose. - - * Permission to modify the code and to distribute modified code is granted, - * provided the above notices as well as this one are retained, and a notice that the code was - * modified is included with the above copyright notice. - - - - Usage information. - - class Node (your node in the tree) must have the following implemented: - - ****** Arity ****** - - int arity(void) const - - Note: the default constructor of a Node should provide a - Node with arity 0! - - ****** Evaluation ****** - - A parse_tree is evaluated through one of it's apply() members: - - 1) parse_tree::apply(RetVal) - - is the simplest evaluation, it will call - - RetVal Node::operator()(RetVal, subtree::const_iterator) - - (Unfortunately the first RetVal argument is mandatory (although you - might not need it. This is because MSVC does not support member template - functions properly. If it cannot deduce the template arguments (as is - the case in templatizing over return value) you are not allowed to - specify them. calling tree.apply() would result in a syntax - error. That is why you have to call tree.apply(double()) instead.) - - - 2) parse_tree::apply(RetVal v, It values) - - will call: - - RetVal Node::operator()(RetVal, subtree<... , It values) - - where It is whatever type you desire (most of the time - this will be a std::vector containing the values of your - variables); - - 3) parse_tree::apply(RetVal, It values, It2 moreValues) - - will call: - - RetVal Node::operator()(RetVal, subtree<... , It values, It2 moreValues) - - although I do not see the immediate use of this, however... - - 4) parse_tree::apply(RetVal, It values, It2 args, It3 adfs) - - that calls: - - RetVal Node::operator()(subtree<... , It values, It2 args, It3 adfs) - - can be useful for implementing adfs. - - - In general it is a good idea to leave the specifics of the - arguments open so that different ways of evaluation remain - possible. Implement the simplest eval as: - - template - RetVal operator()(RetVal dummy, It begin) const - - ****** Internal Structure ****** - - A parse_tree has two template arguments: the Node and the ReturnValue - produced by evaluating the node. The structure of the tree is defined - through a subtree class that has the same two template arguments. - - The nodes are stored in a tree like : - - node4 - / \ - node3 node2 - / \ - node1 node0 - - where nodes 2 and 4 have arity 2 and nodes 0,1 and 3 arity 0 (terminals) - - The nodes are subtrees, containing the structure of the tree, together - with its size and depth. They contain a Node, the user defined template - argument. To access these nodes from a subtree, use operator-> or operator*. - - The numbers behind the nodes define a reverse-polish or postfix - traversel through the tree. The parse_tree defines iterators - on the tree such that - - tree.begin() points at the subtree at node0 and - tree.back() returns the subtree at node4, the complete tree - - Likewise operator[] is defined on the tree, such that: - - tree[0] will return the subtree at node0, while - tree[2] will return the subtree at node2 - - Assigments of subtrees is protected so that the code: - - tree[2] = tree[0]; - - will not crash and result in a tree structured as: - - node4 - / \ - node3 node0 - - Note that the rank numbers no longer specify their place in the tree: - - tree[0] still points at node0, but - tree[1] now points to node3 and - tree[2] points at the root node4 - - Embedded iterators are implemented to iterate over nodes rather - than subtrees. So an easy way to copy your tree to a std::vector is: - - std::vector vec(tree.size()); - copy(tree.ebegin(), tree.eend(), vec.begin()); - - You can also copy it to an std::ostream_iterator with this - technique, given that your Node implements an appropriate - operator<<. Reinitializing a tree with the std::vector is also - simple: - - tree.clear(); - copy(vec.begin(), vec.end(), back_inserter(tree)); - - or from an std::istream: - - copy(std::istream_iterator(my_stream), std::istream_iterator(), back_inserter(tree)); - - Note that the back_inserter must be used as there is no - resize member in the parse_tree. back_inserter will use - the push_back member from the parse_tree - -*/ - -#include -#include // for swap - -#ifdef _MSC_VER -#pragma warning(disable : 4786) // disable this nagging warning about the limitations of the mirkosoft debugger -#endif - -namespace gp_parse_tree -{ - -#include "node_pool.h" - -/// This ones defined because gcc does not always implement namespaces -template -inline void do_the_swap(T& a, T& b) -{ - T tmp = a; - a = b; - b = tmp; -} - -template class parse_tree -{ - public : - - -class subtree -{ - -/* - a bit nasty way to use a pool allocator (which would otherwise use slooow new and delete) - TODO: use the std::allocator interface -*/ - -#if (defined(__GNUC__) || defined(_MSC_VER)) && !(defined(_MT) || defined(MACOSX) || defined(__APPLE__)) // not multithreaded (or MACOSX - J. Eggermont) - Node_alloc node_allocator; - Tree_alloc tree_allocator; -#else - Standard_Node_alloc node_allocator; - Standard_alloc tree_allocator; -#endif - -public : - - typedef subtree* iterator; - typedef const subtree* const_iterator; - - /* Constructors, assignments */ - - subtree(void) : content(node_allocator.allocate()), args(0), parent(0), _cumulative_size(0), _depth(0), _size(1) - {} - subtree(const subtree& s) - : content(node_allocator.allocate()), - args(0), - parent(0), - _cumulative_size(1), - _depth(1), - _size(1) - { - copy(s); - } - - subtree(const T& t) : content(node_allocator.allocate()), args(0), parent(0), _cumulative_size(0), _depth(0), _size(1) - { copy(t); } - - template - subtree(It b, It e) : content(node_allocator.allocate()), args(0), parent(0), _cumulative_size(0), _depth(0), _size(1) - { // initialize in prefix order for efficiency reasons - init(b, --e); - } - - virtual ~subtree(void) { tree_allocator.deallocate(args, arity()); node_allocator.deallocate(content); } - - subtree& operator=(const subtree& s) - { - if (s.get_root() == get_root()) - { // from the same tree, maybe a child. Don't take any chances - subtree anotherS = s; - return copy(anotherS); - } - - copy(s); - updateAfterInsert(); - return *this; - } - - subtree& operator=(const T& t) { copy(t); updateAfterInsert(); return *this; } - - /* Access to the nodes */ - - T& operator*(void) { return *content; } - const T& operator*(void) const { return *content; } - T* operator->(void) { return content; } - const T* operator->(void) const { return content; } - - /* Equality, inequality check, Node needs to implement operator== */ - - bool operator==(const subtree& other) const - { - if (! (*content == *other.content)) - return false; - - for (int i = 0; i < arity(); i++) - { - if (!(args[i] == other.args[i])) - return false; - } - - return true; - } - - bool operator !=(const subtree& other) const - { - return !operator==(other); - } - - /* Arity */ - int arity(void) const { return content->arity(); } - - /* Evaluation with an increasing amount of user defined arguments */ - template - void apply(RetVal& v) const { (*content)(v, begin()); } - - template - void apply(RetVal& v, It values) const - { - (*content)(v, begin(), values); - } - - template - void apply_mem_func(RetVal& v, It misc, void (T::* f)(RetVal&, typename subtree::iterator, It)) - { - (content->*f)(v, begin(), misc); - } - - -/* template - void apply(RetVal& v, It values, It2 moreValues) const - { (*content)(v, begin(), values, moreValues); } - - template - void apply(RetVal& v, It values, It2 moreValues, It3 evenMoreValues) const - { (*content)(v, begin(), values, moreValues, evenMoreValues); } -*/ - - template - void find_nodes(std::vector& result, Pred& p) - { - if (p(*content)) - { - result.push_back(this); - } - - for (int i = 0; i < arity(); ++i) - { - args[i].find_nodes(result, p); - } - } - - template - void find_nodes(std::vector& result, Pred& p) const - { - if (p(*content)) - { - result.push_back(this); - } - - for (int i = 0; i < arity(); ++i) - { - args[i].find_nodes(result, p); - } - } - - /* Iterators */ - - iterator begin(void) { return args; } - const_iterator begin(void) const { return args; } - - iterator end(void) { return args + arity(); } - const_iterator end(void) const { return args + arity(); } - - subtree& operator[](int i) { return *(begin() + i); } - const subtree& operator[](int i) const { return *(begin() + i); } - - /* Some statistics */ - - size_t size(void) const { return _size; } - - size_t cumulative_size(void) const { return _cumulative_size; } - size_t depth(void) const { return _depth; } - - const subtree& select_cumulative(size_t which) const - { return imp_select_cumulative(which); } - - subtree& select_cumulative(size_t which) - { return const_cast(imp_select_cumulative(which)); } - - subtree& get_node(size_t which) - { return const_cast(imp_get_node(which));} - const subtree& get_node(size_t which) const - { return imp_get_node(which); } - - subtree* get_parent(void) { return parent; } - const subtree* get_parent(void) const { return parent; } - - void clear(void) - { tree_allocator.deallocate(args, arity()); args = 0; *content = T(); parent = 0; _cumulative_size = 0; _depth = 0; _size = 0; } - - void swap(subtree& y) - { - do_the_swap(content, y.content); - do_the_swap(args, y.args); - - adopt(); - y.adopt(); - - do_the_swap(parent, y.parent); - - do_the_swap(_cumulative_size, y._cumulative_size); - do_the_swap(_depth, y._depth); - do_the_swap(_size, y._size); - updateAfterInsert(); - } - -protected : - - virtual void updateAfterInsert(void) - { - _depth = 0; - _size = 1; - _cumulative_size = 0; - - for (iterator it = begin(); it != end(); ++it) - { - _size += it->size(); - _cumulative_size += it->_cumulative_size; - _depth = it->_depth > _depth? it->_depth: _depth; - } - _cumulative_size += _size; - _depth++; - - if (parent) - parent->updateAfterInsert(); - } - -private : - - const subtree& imp_select_cumulative(size_t which) const - { - if (which >= (_cumulative_size - size())) - return *this; - // else - - for (int i = arity() - 1; i >= 0; --i) - { - if (which < args[i]._cumulative_size) - return args[i].imp_select_cumulative(which); - which -= args[i]._cumulative_size; - } - - return *this; // error! - } - - const subtree& imp_get_node(size_t which) const - { - if (which == size() - 1) - return *this; - - for (int i = arity() - 1; i >= 0; --i) - { - unsigned c_size = args[i].size(); - if (which < c_size) - return args[i].imp_get_node(which); - which -= c_size; - } - - return *this; // error! - } - - const subtree* get_root(void) const - { - if (parent == 0) - return this; - // else - - return parent->get_root(); - } - subtree& copy(const subtree& s) - { - int old_arity = arity(); - - int new_arity = s.arity(); - - if (new_arity != old_arity) - { - tree_allocator.deallocate(args, old_arity); - - args = tree_allocator.allocate(new_arity); - } - - switch(new_arity) - { - case 3 : args[2].copy(s.args[2]); args[2].parent = this; // no break! - case 2 : args[1].copy(s.args[1]); args[1].parent = this; - case 1 : args[0].copy(s.args[0]); args[0].parent = this; - case 0 : break; - default : - { - for (int i = 0; i < new_arity; ++i) - { - args[i].copy(s.args[i]); - args[i].parent = this; - } - } - } - - *content = *s.content; - _size = s._size; - _depth = s._depth; - _cumulative_size = s._cumulative_size; - - return *this; - } - - subtree& copy(const T& t) - { - int oldArity = arity(); - - if (content != &t) - *content = t; - else - oldArity = -1; - - int ar = arity(); - - if (ar != oldArity) - { - if (oldArity != -1) - tree_allocator.deallocate(args, oldArity); - - args = tree_allocator.allocate(ar); - - //if (ar > 0) - // args = new subtree [ar]; - //else - // args = 0; - } - - adopt(); - updateAfterInsert(); - return *this; - } - - void disown(void) - { - switch(arity()) - { - case 3 : args[2].parent = 0; // no break! - case 2 : args[1].parent = 0; - case 1 : args[0].parent = 0; break; - case 0 : break; - default : - { - for (iterator it = begin(); it != end(); ++it) - { - it->parent = 0; - } - } - } - - } - - void adopt(void) - { - switch(arity()) - { - case 3 : args[2].parent = this; // no break! - case 2 : args[1].parent = this; - case 1 : args[0].parent = this; break; - case 0 : break; - default : - { - for (iterator it = begin(); it != end(); ++it) - { - it->parent = this; - } - } - } - } - - template - void init(It b, It& last) - { - *this = *last; - -#ifndef NDEBUG - if (last == b && arity() > 0) - { - throw "subtree::init()"; - } -#endif - - for (int i = 0; i < arity(); ++i) - { - args[i].parent = 0; - args[i].init(b, --last); - args[i].parent = this; - } - - updateAfterInsert(); - } - - T* content; - subtree* args; - subtree* parent; - - size_t _cumulative_size; - size_t _depth; - size_t _size; -}; - -// Continuing with parse_tree - - typedef T value_type; - - /* Constructors and Assignments */ - - parse_tree(void) : _root(), pushed() {} - parse_tree(const parse_tree& org) : _root(org._root), pushed(org.pushed) { } - parse_tree(const subtree& sub) : _root(sub), pushed() { } - - template - parse_tree(It b, It e) : _root(b, e), pushed() {} - - virtual ~parse_tree(void) {} - - parse_tree& operator=(const parse_tree& org) { return copy(org); } - parse_tree& operator=(const subtree& sub) - { return copy(sub); } - - - /* Equality and inequality */ - - bool operator==(const parse_tree& other) const - { return _root == other._root; } - - bool operator !=(const parse_tree& other) const - { return !operator==(other); } - - /* Simple tree statistics */ - - size_t size(void) const { return _root.size(); } - size_t depth(void) const { return _root.depth(); } - void clear(void) { _root.clear(); pushed.resize(0); } - - /* Evaluation (application), with an increasing number of user defined arguments */ - - template - void apply(RetVal& v) const - { _root.apply(v); } - - template - void apply(RetVal& v, It varValues) const - { _root.apply(v, varValues); } - - template - void apply_mem_func(RetVal& v, It misc, void (T::* f)(RetVal&, typename subtree::iterator, It)) - { - _root.apply_mem_func(v, misc, f); - } - - //template - // void apply(RetVal& v, It varValues, It2 moreValues) const - // { _root.apply(v, varValues, moreValues); } - - //template - // void apply(RetVal& v, It varValues, It2 moreValues, It3 evenMoreValues) const - // { _root.apply(v, varValues, moreValues, evenMoreValues); } - - template - void find_nodes(std::vector& result, Pred& p) - { - _root.find_nodes(result, p); - } - - template - void find_nodes(std::vector& result, Pred& p) const - { - _root.find_nodes(p); - } - - /* Customized Swap */ - void swap(parse_tree& other) - { - do_the_swap(pushed, other.pushed); - _root.swap(other._root); - } - - /* Definitions of the iterators */ - - class base_iterator - { - public : - - base_iterator() {} - base_iterator(subtree* n) { node = n; } - - base_iterator& operator=(const base_iterator& org) - { node = org.node; return *this; } - - bool operator==(const base_iterator& org) const - { return node == org.node; } - bool operator!=(const base_iterator& org) const - { return !operator==(org); } - - base_iterator operator+(size_t n) const - { - base_iterator tmp = *this; - - for(;n != 0; --n) - { - ++tmp; - } - - return tmp; - } - - base_iterator& operator++(void) - { - subtree* parent = node->get_parent(); - - if (parent == 0) - { - node = 0; - return *this; - } - // else - typename subtree::iterator it; - for (it = parent->begin(); it != parent->end(); ++it) - { - if (node == &(*it)) - break; - } - - if (it == parent->begin()) - node = parent; - else - { - node = &(--it)->get_node(0); - } - - return *this; - } - - base_iterator operator++(int) - { - base_iterator tmp = *this; - operator++(); - return tmp; - } - - protected : - subtree* node; - }; - - class iterator : public base_iterator - { - public: - - using base_iterator::node; - - typedef std::forward_iterator_tag iterator_category; - typedef subtree value_type; - typedef size_t distance_type; - typedef size_t difference_type; - typedef subtree* pointer; - typedef subtree& reference; - - iterator() : base_iterator() {} - iterator(subtree* n): base_iterator(n) {} - iterator& operator=(const iterator& org) - { base_iterator::operator=(org); return *this; } - - subtree& operator*(void) { return *node; } - subtree* operator->(void) { return node; } - }; - - - - class embedded_iterator : public base_iterator - { - public: - - using base_iterator::node; - - typedef std::forward_iterator_tag iterator_category; - typedef T value_type; - typedef size_t distance_type; - typedef size_t difference_type; - typedef T* pointer; - typedef T& reference; - - embedded_iterator() : base_iterator() {} - embedded_iterator(subtree* n): base_iterator(n) {} - embedded_iterator& operator=(const embedded_iterator& org) - { base_iterator::operator=(org); return *this; } - - T& operator*(void) { return **node; } - T* operator->(void) { return &**node; } - }; - - class base_const_iterator - { - public: - - base_const_iterator() {} - base_const_iterator(const subtree* n) { node = n; } - - base_const_iterator& operator=(const base_const_iterator& org) - { node = org.node; return *this; } - - bool operator==(const base_const_iterator& org) const - { return node == org.node; } - bool operator!=(const base_const_iterator& org) const - { return !operator==(org); } - - base_const_iterator& operator++(void) - { - const subtree* parent = node->get_parent(); - - if (parent == 0) - { - node = 0; - return *this; - } - // else - typename subtree::const_iterator it; - - for (it = parent->begin(); it != parent->end(); ++it) - { - if (node == &(*it)) - break; - } - - if (it == parent->begin()) - node = parent; - else - node = &(--it)->get_node(0); - return *this; - } - - base_const_iterator operator++(int) - { - base_const_iterator tmp = *this; - operator++(); - return tmp; - } - - protected : - - const subtree* node; - }; - - class const_iterator : public base_const_iterator - { - public: - - using base_iterator::node; - - typedef std::forward_iterator_tag iterator_category; - typedef const subtree value_type; - typedef size_t distance_type; - typedef size_t difference_type; - typedef const subtree* pointer; - typedef const subtree& reference; - - const_iterator() : base_const_iterator() {} - const_iterator(const subtree* n): base_const_iterator(n) {} - const_iterator& operator=(const const_iterator& org) - { base_const_iterator::operator=(org); return *this; } - - const subtree& operator*(void) { return *node; } - const subtree* operator->(void) { return node; } - }; - - class embedded_const_iterator : public base_const_iterator - { - public: - - using base_const_iterator::node; - - typedef std::forward_iterator_tag iterator_category; - typedef const T value_type; - typedef size_t distance_type; - typedef size_t difference_type; - typedef const T* pointer; - typedef const T& reference; - - embedded_const_iterator() : base_const_iterator() {} - embedded_const_iterator(const subtree* n): base_const_iterator(n) {} - embedded_const_iterator& operator=(const embedded_const_iterator& org) - { base_const_iterator::operator=(org); return *this; } - - embedded_const_iterator operator+(size_t n) const - { - embedded_const_iterator tmp = *this; - - for(;n != 0; --n) - { - ++tmp; - } - - return tmp; - } - - const T& operator*(void) const { return **node; } - const T* operator->(void) const { return node->operator->(); } - }; - - /* Iterator access */ - - iterator begin(void) { return iterator(&operator[](0)); } - const_iterator begin(void) const { return const_iterator(&operator[](0)); } - iterator end(void) { return iterator(0); } - const_iterator end(void) const { return const_iterator(0);} - - embedded_iterator ebegin(void) { return embedded_iterator(&operator[](0)); } - embedded_const_iterator ebegin(void) const { return embedded_const_iterator(&operator[](0)); } - embedded_iterator eend(void) { return embedded_iterator(0); } - embedded_const_iterator eend(void) const { return embedded_const_iterator(0);} - - bool empty(void) const { return size() == 0; } - bool valid(void) const { return pushed.empty(); } - - /* push_back */ - - void push_back(const parse_tree& tree) - { - if (!empty()) - pushed.push_back(_root); - - _root = tree.back(); - } - - void push_back(const T& t) - { - if (!empty()) - pushed.push_back(_root); - - _root = t; - - for (typename subtree::iterator it = _root.begin(); it != _root.end(); it++) - { - *it = pushed.back(); - pushed.pop_back(); - } - - } - - /* Access to subtrees */ - - subtree& back(void) { return _root; } - const subtree& back(void) const { return _root; } - subtree& root(void) { return _root; } - const subtree& root(void) const { return _root; } - - subtree& front(void) { return _root[0]; } - const subtree& front(void) const { return _root[0]; } - - subtree& operator[](size_t i) - { return const_cast(_root.get_node(i)); } - const subtree& operator[](size_t i) const - { return _root.get_node(i); } - - subtree& get_cumulative(size_t i) - { return const_cast(_root.get_cumulative(i)); } - const subtree& get_cumulative(size_t i) const - { return get_cumulative(i); } - - private : - - parse_tree& copy(const parse_tree& org) - { - _root = org._root; - pushed = org.pushed; - - return *this; - } - - parse_tree& copy(const subtree& sub) - { _root = sub; pushed.resize(0); return *this; } - - subtree _root; - std::vector pushed; -}; // end class parse_tree - - -} // end namespace gp_parse_tree - -namespace std -{ // for use with stlport on MSVC - -template inline -std::forward_iterator_tag iterator_category(typename gp_parse_tree::parse_tree::embedded_iterator) -{ - return std::forward_iterator_tag(); -} - -template inline -ptrdiff_t* distance_type(typename gp_parse_tree::parse_tree::embedded_iterator) -{ - return 0; -} - -template inline -std::forward_iterator_tag iterator_category(typename gp_parse_tree::parse_tree::iterator) -{ - return std::forward_iterator_tag(); -} - -template inline -ptrdiff_t* distance_type(typename gp_parse_tree::parse_tree::iterator) -{ - return 0; -} - -/* Put customized swaps also in std... - -template inline -void swap(gp_parse_tree::parse_tree& a, gp_parse_tree::parse_tree& b) -{ - a.swap(b); -} - -template inline -void iter_swap(std::vector >::iterator a, std::vector > b) -{ - a->swap(*b); -}*/ - - -} // namespace std - - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/.cvsignore b/trunk/paradiseo-eo/src/obsolete/.cvsignore deleted file mode 100644 index 69fb0bd82..000000000 --- a/trunk/paradiseo-eo/src/obsolete/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.lo -*.la -.deps -.libs -Makefile -Makefile.in diff --git a/trunk/paradiseo-eo/src/obsolete/CVS/Entries b/trunk/paradiseo-eo/src/obsolete/CVS/Entries deleted file mode 100644 index 45cd4316c..000000000 --- a/trunk/paradiseo-eo/src/obsolete/CVS/Entries +++ /dev/null @@ -1,80 +0,0 @@ -/.cvsignore/1.1/Mon Apr 3 09:32:08 2000// -/Makefile.am/1.2/Sun Jan 28 07:00:41 2001// -/eo1d.h/1.2/Thu Feb 27 19:24:15 2003// -/eo1dWDistance.h/1.2/Thu Feb 27 19:24:15 2003// -/eo2d.h/1.2/Thu Feb 27 19:24:15 2003// -/eo2dVector.h/1.2/Thu Feb 27 19:24:15 2003// -/eoAtomBitFlip.h/1.2/Thu Feb 27 19:24:15 2003// -/eoAtomCreep.h/1.2/Thu Feb 27 19:24:15 2003// -/eoAtomRandom.h/1.2/Thu Feb 27 19:24:15 2003// -/eoBackInserter.h/1.2/Thu Feb 27 19:24:15 2003// -/eoBin.h/1.2/Thu Feb 27 19:24:15 2003// -/eoBreeder.h/1.2/Thu Feb 27 19:24:15 2003// -/eoCopyElite.h/1.2/Thu Feb 27 19:24:15 2003// -/eoDEA.h/1.1/Mon Jun 9 06:06:13 2003// -/eoDetTournament.h/1.2/Thu Feb 27 19:24:15 2003// -/eoDetTournamentIndiSelector.h/1.1/Thu Aug 10 14:18:31 2000// -/eoDetTournamentInserter.h/1.2/Thu Feb 27 19:24:15 2003// -/eoDistance.h/1.2/Thu Feb 27 19:24:14 2003// -/eoDup.h/1.2/Thu Feb 27 19:24:14 2003// -/eoES.h/1.2/Thu Feb 27 19:24:14 2003// -/eoESChrom.h/1.2/Thu Feb 27 19:24:14 2003// -/eoESFullChrom.h/1.2/Thu Feb 27 19:24:14 2003// -/eoESFullMut.h/1.2/Thu Feb 27 19:24:14 2003// -/eoEsObjectiveBounds.h/1.2/Thu Feb 27 19:24:14 2003// -/eoEvalFuncPtrCnt.h/1.1/Thu Aug 10 14:18:31 2000// -/eoEvolutionStrategy.h/1.1/Fri Feb 9 05:10:25 2001// -/eoFitTerm.h/1.1/Thu Aug 10 14:18:31 2000// -/eoFitness.h/1.1/Thu Aug 10 14:18:31 2000// -/eoGOpBreeder.h/1.2/Thu Feb 27 19:24:14 2003// -/eoGOpSelector.h/1.2/Thu Feb 27 19:24:14 2003// -/eoGenTerm.h/1.2/Thu Feb 27 19:24:14 2003// -/eoGeneration.h/1.2/Thu Feb 27 19:24:14 2003// -/eoGenericBinOp.h/1.2/Thu Feb 27 19:24:14 2003// -/eoGenericMonOp.h/1.2/Thu Feb 27 19:24:14 2003// -/eoGenericQuadOp.h/1.2/Thu Feb 27 19:24:14 2003// -/eoID.h/1.2/Thu Feb 27 19:24:14 2003// -/eoInclusion.h/1.2/Thu Feb 27 19:24:14 2003// -/eoIndiSelector.h/1.1/Fri Feb 9 05:09:26 2001// -/eoInplaceTransform.h/1.2/Thu Feb 27 19:24:14 2003// -/eoInserter.h/1.1/Fri Feb 9 05:09:26 2001// -/eoInsertion.h/1.2/Thu Feb 27 19:24:14 2003// -/eoKill.h/1.2/Thu Feb 27 19:24:14 2003// -/eoLottery.h/1.2/Thu Feb 27 19:24:14 2003// -/eoMutation.h/1.2/Thu Feb 27 19:24:14 2003// -/eoNegExp.h/1.1/Thu Aug 10 14:18:32 2000// -/eoNonUniform.h/1.1/Thu Aug 10 14:18:32 2000// -/eoNormal.h/1.1/Thu Aug 10 14:18:32 2000// -/eoOpFactory.h/1.2/Thu Feb 27 19:24:14 2003// -/eoOpSelector.h/1.2/Thu Feb 27 19:24:14 2003// -/eoParser.h/1.2/Thu Feb 27 19:24:13 2003// -/eoParserUtils.cpp/1.2/Thu Mar 30 14:20:24 2000// -/eoParserUtils.h/1.3/Thu Mar 30 17:11:19 2000// -/eoPopOps.h/1.2/Thu Feb 27 19:24:13 2003// -/eoProblem.h/1.1/Wed Mar 22 14:21:02 2000// -/eoProportional.h/1.2/Thu Feb 27 19:24:13 2003// -/eoProportionalGOpSel.h/1.2/Thu Feb 27 19:24:13 2003// -/eoProportionalOpSel.h/1.2/Thu Feb 27 19:24:13 2003// -/eoRandomBreed.h/1.2/Thu Feb 27 19:24:13 2003// -/eoRandomIndiSelector.h/1.1/Thu Aug 10 14:18:32 2000// -/eoRandomSelect.h/1.2/Thu Feb 27 19:24:13 2003// -/eoRank.h/1.2/Thu Feb 27 19:24:13 2003// -/eoScheme.h/1.2/Thu Feb 27 19:24:13 2003// -/eoSelectRandom.h/1.1/Fri Jan 5 05:42:08 2001// -/eoSequentialGOpSel.h/1.1/Fri Feb 9 05:09:26 2001// -/eoSimpleDEA.h/1.1/Mon Jun 9 06:06:13 2003// -/eoSteadyStateEA.h/1.2/Thu Feb 27 19:24:12 2003// -/eoSteadyStateInserter.h/1.1/Fri Feb 9 05:09:26 2001// -/eoSteadyStateTransform.h/1.1/Fri Feb 9 05:09:26 2001// -/eoStochTournament.h/1.2/Thu Feb 27 19:24:12 2003// -/eoStochTournamentInserter.h/1.2/Thu Feb 27 19:24:12 2003// -/eoStringMutation.h/1.2/Thu Feb 27 19:24:12 2003// -/eoTerm.h/1.1/Thu Aug 10 14:18:32 2000// -/eoTournament.h/1.2/Thu Feb 27 19:24:12 2003// -/eoTranspose.h/1.2/Thu Feb 27 19:24:12 2003// -/eoUniformXOver.h/1.2/Thu Feb 27 19:24:12 2003// -/eoVector.h/1.2/Thu Feb 27 19:24:12 2003// -/eoWrappedOps.h/1.2/Thu Feb 27 19:24:12 2003// -/eoXOver2.h/1.2/Thu Feb 27 19:24:11 2003// -/evolution_strategies/1.1/Sun Jan 28 07:00:41 2001// -D diff --git a/trunk/paradiseo-eo/src/obsolete/CVS/Repository b/trunk/paradiseo-eo/src/obsolete/CVS/Repository deleted file mode 100644 index 23c7835c3..000000000 --- a/trunk/paradiseo-eo/src/obsolete/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/obsolete diff --git a/trunk/paradiseo-eo/src/obsolete/CVS/Root b/trunk/paradiseo-eo/src/obsolete/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/obsolete/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/obsolete/Makefile.am b/trunk/paradiseo-eo/src/obsolete/Makefile.am deleted file mode 100644 index 1a94e144a..000000000 --- a/trunk/paradiseo-eo/src/obsolete/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################### -## -## Makefile.am for eo/src/obsolete -## -############################################################################### - -INCLUDES = -I$(top_builddir)/src - -lib_LIBRARIES = libeoobsolete.a -libeoobsolete_a_SOURCES = eoParserUtils.cpp - -libeoobsoleteincdir = $(includedir)/eo/obsolete -libeoobsoleteinc_HEADERS = eo1d.h eo1dWDistance.h eo2d.h eo2dVector.h eoAtomBitFlip.h eoAtomCreep.h eoAtomMutation.h eoAtomMutator.h eoAtomRandom.h eoBin.h eoBreeder.h eoCopyElite.h eoDetTournament.h eoDetTournamentIndiSelector.h eoDistance.h eoDup.h eoES.h eoESChrom.h eoESFullChrom.h eoESFullMut.h eoEsObjectiveBounds.h eoEvalFuncPtrCnt.h eoFitTerm.h eoFitness.h eoGenTerm.h eoGeneration.h eoID.h eoInclusion.h eoInsertion.h eoKill.h eoLottery.h eoMutation.h eoNegExp.h eoNonUniform.h eoNormal.h eoParser.h eoParserUtils.h eoPopOps.h eoProblem.h eoProportional.h eoRandomBreed.h eoRandomIndiSelector.h eoRandomSelect.h eoRank.h eoRnd.h eoScheme.h eoSelectRandom.h eoStochTournament.h eoStringMutation.h eoTerm.h eoTournament.h eoTranspose.h eoUniform.h eoUniformXOver.h eoVector.h eoXOver2.h - diff --git a/trunk/paradiseo-eo/src/obsolete/eo1d.h b/trunk/paradiseo-eo/src/obsolete/eo1d.h deleted file mode 100644 index 73e83ea05..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eo1d.h +++ /dev/null @@ -1,199 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eo1d.h - Serial EO. - - (c) GeNeura Team, 1998 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EO1D_H -#define _EO1D_H - -#include // for std::ostream - -// EO Includes -#include -#include - -using namespace std; - -/** @name eo1d class - * Randomly accesible evolvable object with one dimension, with variable - * length. Use this if you want to evolve "linear" things, like bitstrings, - * or floating-point arrays. If you don't, subclass directly from EO - * @see EO - * @author GeNeura - * @version 0.2 - */ - -//@{ -/** -@deprecated {eo1d} eo1d -\deprecated -*/ - -/** - - eo1d: Base class for "chromosomes" with a single dimension -#T# is the type it will be instantiated with; this type must have, at -least, a copy ctor, assignment operators, - - \deprecated - As eo1d provides a so-called 'fat' interface, it might be wiser to - use eoFixedLength or eoVariableLength instead, that derive from - std::vector and std::list respectively and (important) redirect the less than - comparison operator to EO rather than the STL variants. - - @see eoFixedLength eoVariableLength -*/ -template -class eo1d: public EO< fitnessT > { -public: - - /// Declaration to make it accessible from subclasses - typedef T Type; - - /** Can be used as default ctor; should be called from derived - classes. Fitness should be at birth - */ - eo1d() - :EO ( ) {}; - - /** Ctor using a random number generator and with an specified size - @param _rndGen Random number generator - @param _size lineal dimension of the eo1d - @param _ID An ID std::string, preferably unique - */ - eo1d( unsigned _size, eoRnd& _rndGen, const std::string& _ID = ""); - - /** Ctor from a std::istream. It just passes the stream to EO, subclasses should - have to implement this. - @param _is the input stream - */ - eo1d( std::istream& _is): EO(){ readFrom(is); } - - /// Copy ctor - eo1d( const eo1d& _eo ) - :EO ( _eo ) {}; - - /// Assignment operator - const eo1d& operator= ( const eo1d& _eo ) { - EO::operator = ( _eo ); - return *this; - } - - /// Needed virtual dtor - virtual ~eo1d(){}; - - /** Reads and returns a copy of the gene in position _i - This implies that T must have a copy ctor . - @param _i index of the gene, which is the minimal unit. Must be - an unsigned less than #length()# - @return what's inside the gene, with the correct type - @std::exception out_of_range if _i > size() - */ - virtual T getGene( unsigned _i ) const = 0; - - /** Overwrites the gene placed in position _i with a - * new value. This means that the assignment operator - * for T must be defined . - @param _i index - @return what's inside the gene, with the correct type - @std::exception out_of_range if _i > size() - */ - virtual void setGene( unsigned _i, const T& _value ) = 0; - - /** Inserts a gene, moving the rest to the right. If - * _i = length(), it should insert it at the end. - * Obviously, changes length - @param _i index - @param _val new value - */ - virtual void insertGene( unsigned _i, T _val ) = 0; - - /** Eliminates the gene at position _i; all the other genes will - be shifted left - @param _i index of the gene that is going to be modified. - */ - virtual void deleteGene( unsigned _i ) = 0; - - /// Returns the number of genes in the eo1d - virtual unsigned length() const = 0; - - /// @name Methods from eoObject - //@{ - /** - * Read object. Theoretically, the length is known in advance. All objects - * Should call base class - * @param _s A std::istream. - * @throw runtime_std::exception If a valid object can't be read. - */ - virtual void readFrom(std::istream& _s) { - - for ( unsigned i = 0; i < length(); i ++ ) { - T tmp; - _s >> tmp; - setGene( i, tmp ); - } - // there is no way of distinguishing fitness from the object, so - // it's skipped - } - - /** Print itself: inherited from eoObject implementation. - Instance from base classes are processed in - base classes, so you don´t have to worry about, for instance, fitness. - @param _s the std::ostream in which things are written*/ - virtual void printOn( std::ostream& _s ) const{ - for ( unsigned i = 0; i < length(); i ++ ) { - _s << getGene( i ) << " "; - } - } - - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eo1d";}; - - //@} - -}; - -//@} - - -// --------------- Implementations -------------------------- - -/* Ctor using a random number generator and with an specified size - @param _rndGen Random number generator - @param _size lineal dimension of the eo1d - @param _ID An ID std::string, preferably unique -*/ -template< class T, class fitnessT> -eo1d::eo1d( unsigned _size, eoRnd& _rndGen, - const std::string& _ID ) - :EO ( _ID ) { - for ( unsigned i = 0; i < _size; i ++ ) { - insertGene( i, _rndGen() ); - } -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eo1dWDistance.h b/trunk/paradiseo-eo/src/obsolete/eo1dWDistance.h deleted file mode 100644 index 2019e95c7..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eo1dWDistance.h +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eo1dWDistance.h - Serial EO with distances. Acts as a wrapper for normal eo1ds - - (c) GeNeura Team, 1998 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EO1DWDISTANCE_H -#define _EO1DWDISTANCE_H - -#include // for std::ostream - -// EO Includes -#include -#include - -using namespace std; - -/** eo1dWDistance: wraps around eo1ds and adds the possibility of computing distances -around them. -*/ -template -class eo1dWDistance: - public eo1d< T,fitnessT >, - public eoDistance > { -public: - - /** Can be used as default ctor; should be called from derived - classes. Fitness should be at birth - */ - eo1dWDistance( eo1d& _eo) - :eo1d (), eoDistance< eo1d >(), innereo1d( _eo ) {}; - - /// Needed virtual dtor - virtual ~eo1dWDistance(){}; - - /** Reads and returns a copy of the gene in position _i - This implies that T must have a copy ctor . - @param _i index of the gene, which is the minimal unit. Must be - an unsigned less than #length()# - @return what's inside the gene, with the correct type - @std::exception out_of_range if _i > size() - */ - virtual T getGene( unsigned _i ) const { - return innereo1d.getGene( _i ); - }; - - /** Overwrites the gene placed in position _i with a - * new value. This means that the assignment operator - * for T must be defined . - @param _i index - @return what's inside the gene, with the correct type - @std::exception out_of_range if _i > size() - */ - virtual void setGene( unsigned _i, const T& _value ) { - innereo1d.setGene( _i, _value); - }; - - /** Inserts a gene, moving the rest to the right. If - * _i = length(), it should insert it at the end. - * Obviously, changes length - @param _i index - @param _val new value - */ - virtual void insertGene( unsigned _i, T _val ) { - innereo1d.insertGene( _i, _val); - } - - /** Eliminates the gene at position _i; all the other genes will - be shifted left - @param _i index of the gene that is going to be modified. - */ - virtual void deleteGene( unsigned _i ) { - innereo1d.deleteGene( _i ); - } - - /// Returns the number of genes in the eo1d - virtual unsigned length() const { - return innereo1d.length(); - } - - /// Returns the distance from this EO to the other - virtual double distance( const eo1d& _eo ) const { - double tmp = 0; - // Which one is shorter - unsigned len = (innereo1d.length() < _eo.length()) ? _eo.length():innereo1d.length(); - - // Compute over the whole length. If it does not exists, it counts as 0 - for ( unsigned i = 0; i < len; i ++ ) { - T val1, val2; - val1 = ( i > innereo1d.length())?0:innereo1d.getGene(i); - val2 = ( i > _eo.length() )?0:_eo.getGene(i); - double diff = val1 - val2; - tmp += diff*diff; - } - return tmp; - } - - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eo1dWDistance";}; - - //@} - -private: - ///Private ctor. Do not use - eo1dWDistance() {}; - - - eo1d& innereo1d; -}; - -//@} - - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eo2d.h b/trunk/paradiseo-eo/src/obsolete/eo2d.h deleted file mode 100644 index c8d082197..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eo2d.h +++ /dev/null @@ -1,242 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -/* ------------------------------------------------------------------------------ -File............: eo2d.h -Author..........: Geneura Team (this file: Victor Rivas, vrivas@ujaen.es) -Date............: 21-Sep-1999, at Fac. of Sciences, Univ. of Granada (Spain) -Description.....: Implementation of a 2-dimensional chromosome. - - ================ Modif. 1 ================ - Author........: - Date..........: - Description...: - ------------------------------------------------------------------------------ -*/ -//----------------------------------------------------------------------------- -// eo2d.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EO2D_H -#define _EO2D_H - -#include // for std::ostream -#include - -// EO Includes -#include -#include - -using namespace std; - -/** @name eo2d class -* Randomly accesible evolvable object with two dimension, with -variable length each of them. -* Use this if you want to evolve "two-dimensional" things, like bit arrays, or -floating-point arrays. If you don't, subclass directly from EO -* @see EO -* @author GeNeura -* @version 0.2 -*/ - -//@{ - -/** eo2d: Base class for "chromosomes" with a double dimension -#T# is the type it will be instantiated with; this type must have, at -least, a copy ctor, assignment operators, -*/ -template -class eo2d: public EO< fitnessT > { -public: - - /// Declaration to make it accessible from subclasses - typedef T Type; - - /** Can be used as default ctor; should be called from derived - classes. Fitness should be at birth - */ - eo2d() - :EO ( ) {}; - - /** Ctor using a random number generator and with an specified size - @param _rows Initial number of rows - @param _columns Initial number of columns - @param _rndGen Random "T-type" generator - @param _ID An ID std::string, preferably unique - */ - eo2d( const unsigned _rows, - const unsigned _columns, - eoRnd& _rndGen, - const std::string& _ID = ""); - - /** Ctor from an std::istream. It just passes the stream to EO, subclasses should - have to implement this. - @param _is the input stream - */ - eo2d( std::istream& _is): EO( _is ){}; - - /// Copy ctor - eo2d( const eo2d& _eo ) - :EO ( _eo ) {}; - - /// Assignment operator - const eo2d& operator= ( const eo2d& _eo ) { - EO::operator = ( _eo ); - return *this; - } - - /// Needed virtual dtor - virtual ~eo2d(){}; - - /** Reads and returns a copy of the gene in position _r,_c.\ - This implies that T must have a copy ctor . - @param _r Index for rows. Must be an unsigned less than #numOfRows()# - @param _c Index for columns. Must be an unsigned less than #numOfCols()# - @return what's inside the gene, with the correct type - @std::exception out_of_range if _r >=numOfRows() - @std::exception out_of_range if _c >=numOfCols() - */ - virtual T getGene( const unsigned _r, - const unsigned _j ) const = 0; - - /** Overwrites the gene placed in position _r,_c with a - * new value. This means that the assignment operator - * for T must be defined . - @param _r Index for rows. Must be an unsigned less than #numOfRows()# - @param _c Index for columns. Must be an unsigned less than #numOfCols()# - @return what's inside the gene, with the correct type - @std::exception out_of_range if _r >=numOfRows() - @std::exception out_of_range if _c >=numOfCols() - */ - virtual void setGene( const unsigned _r, - const unsigned _c, - const T& _value ) = 0; - - /** Inserts a row, moving the rest to the bottom. - * If _r = numOfRows(), it insert it at the end. - * Obviously, changes number of rows. - @param _r Position where the new row will be inserted. - @param _val Vector containing the new values to be inserted. - @std::exception invalid_argument If _val has not numOfCols() components. - @std::exception out_of_range If _r is greater than numOfRows() - */ - virtual void insertRow( const unsigned _r, - const std::vector& _val ) = 0; - - /** Eliminates the row at position _r; all the other genes will - be shifted up. - @param _r Number of he row to be deleted. - @std::exception out_of_range if _r >=numOfRows() - */ - virtual void deleteRow( const unsigned _r ) = 0; - - /** Inserts a column, moving the rest to the right. - * If _c = numOfCols(), it insert it at the end. - * Obviously, changes number of cols. - @param _r Position where the new column will be inserted. - @param _val Vector containing the new values to be inserted. - @std::exception invalid_argument if _val has not numOfRows() components. - */ - virtual void insertCol( const unsigned _c, - const std::vector& _val ) = 0; - - /** Eliminates the column at position _c; all the other columns will - be shifted left. - @param _c Number of he column to be deleted. - @std::exception out_of_range if _c >=numOfCols() - */ - virtual void deleteCol( const unsigned _c ) = 0; - - /// Returns the number of rows in the eo2d - virtual unsigned numOfRows() const = 0; - - /// Returns the number of columns in the eo2d - virtual unsigned numOfCols() const = 0; - - /// @name Methods from eoObject - //@{ - /** - * Read object. Theoretically, the length is known in advance. All objects - * Should call base class - * @param _s A std::istream. - * @throw runtime_std::exception If a valid object can't be read. - */ - virtual void readFrom(std::istream& _s) { - - for ( unsigned r = 0; r < numOfRows(); ++r ) { - for ( unsigned c = 0; c < numOfCols(); ++c ) { - T tmp; - _s >> tmp; - setGene( r, c, tmp ); - } - } - // there is no way of distinguishing fitness from the object, so - // it's skipped - } - - /** Print itself: inherited from eoObject implementation. - Instance from base classes are processed in - base classes, so you don´t have to worry about, for instance, fitness. - @param _s the std::ostream in which things are written*/ - virtual void printOn( std::ostream& _s ) const{ - for ( unsigned r = 0; r < numOfRows(); ++r ) { - for ( unsigned c = 0; c < numOfCols(); ++c ) { - _s << getGene( r,c ) << " "; - } - } - } - - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eo2d";}; - - //@} - -}; - -//@} - - -// --------------- Implementations -------------------------- - -/** Ctor using a random number generator and with an specified size - @param _rows Initial number of rows - @param _columns Initial number of columns - @param _rndGen Random "T-type" generator - @param _ID An ID std::string, preferably unique -*/ -template< class T, class fitnessT> -eo2d::eo2d( const unsigned _rows, - const unsigned _columns, - eoRnd& _rndGen, - const std::string& _ID = "") - :EO ( _ID ) { - for ( unsigned r = 0; r < _rows; ++r ) { - for ( unsigned c = 0; c < _cols; ++c ) { - insertGene( r, c, _rndGen() ); - } - } -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eo2dVector.h b/trunk/paradiseo-eo/src/obsolete/eo2dVector.h deleted file mode 100644 index ec5833681..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eo2dVector.h +++ /dev/null @@ -1,334 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- -/* ------------------------------------------------------------------------------ -File............: eo2dVector.h -Author..........: Geneura Team (this file: Victor Rivas, vrivas@ujaen.es) -Date............: 29-Sep-1999, at Fac. of Sciences, Univ. of Granada (Spain) -Description.....: Implementation of a 2-dimensional chromosome usign STL - std::vectors. - - ================ Modif. 1 ================ - Author........: - Date..........: - Description...: - -QUEDA: Operador de asignación, lectura desde std::istream, escritura a std::ostream ------------------------------------------------------------------------------ -*/ -//----------------------------------------------------------------------------- -// eo2dVector.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - - -#ifndef _eo2dVector_H -#define _eo2dVector_H - -// STL libraries -#include // For std::vector -#include -#include -#include - -#include -#include - -/** Adaptor that turns an STL std::vector of vectror into an EO - with the same gene type as the type with which - the std::vector of std::vector has been instantiated. -*/ -template -class eo2dVector: public eo2d, public std::vector< std::vector > { -public: - typedef T Type ; - - /** @name Canonical part of the objects: several ctors, copy ctor, \ - * dtor and assignment operator. - */ - //@{ - - /** Ctor. - @param _rows Number of rows. - @param _cols Number of columns. - @param _val Common initial value - */ - eo2dVector( const unsigned _rows = 0, - const unsigned _cols = 0, - T _val = T() ) - : eo2d(), std::vector< std::vector >( _rows, std::vector( _cols, _val ) ){}; - - /** Ctor using a random number generator. - @param _rows Number of rows. - @param _cols Number of columns. - @param _rnd A random "T-type" generator, which returns a random value each time it´s called. - */ - eo2dVector( const unsigned _rows, - const unsigned _cols, - eoRnd& _rnd ); - - /** Ctor from a std::istream. The T class should accept reading from a std::istream. It doesn't read fitness, - which is supposed to be dynamic and dependent on environment. - @param _is the input stream; should have all values in a single line, separated by whitespace - */ - //eo2dVector( std::istream& _is); - - - /// copy ctor - eo2dVector( const eo2dVector & _eo ) - : eo2d( _eo ), std::vector< std::vector >( _eo ){ }; - - /// Assignment operator - /* - const eo2dVector& operator =( const eo2dVector & _eo ) { - if ( this != &_eo ){ - eo2d::operator=( _eo ); - std::vector< >::operator=( _eo ); - } - return *this; - } - */ - /// dtor - virtual ~eo2dVector() {}; - - //@} - /** Reads and returns a copy of the gene in position _r,_c.\ - This implies that T must have a copy ctor . - @param _r Index for rows. Must be an unsigned less than #numOfRows()# - @param _c Index for columns. Must be an unsigned less than #numOfCols()# - @return what's inside the gene, with the correct type - @std::exception out_of_range if _r >=numOfRows() - @std::exception out_of_range if _c >=numOfCols() - */ - virtual T getGene( const unsigned _r, - const unsigned _c ) const { - if ( _r >= numOfRows() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::getGene: row out of range. " - << "It should be <" << numOfRows() << '\0' << std::endl; - throw out_of_range( msg.str() ); - } - if ( _c >= numOfCols() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::getGene: column out of range. " - << "It should be <" << numOfCols() << '\0' << std::endl; - throw out_of_range( msg.str() ); - } - return (*this)[_r][_c]; - }; - /** Overwrites the gene placed in position _r,_c with a - * new value. This means that the assignment operator - * for T must be defined . - @param _r Index for rows. Must be an unsigned less than #numOfRows()# - @param _c Index for columns. Must be an unsigned less than #numOfCols()# - @return what's inside the gene, with the correct type - @std::exception out_of_range if _r >=numOfRows() - @std::exception out_of_range if _c >=numOfCols() - */ - virtual void setGene( const unsigned _r, - const unsigned _c, - const T& _value ) { - if ( _r >= numOfRows() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::setGene: row out of range. " - << "It should be <" << numOfRows() << '\0' << std::endl; - throw out_of_range( msg.str() ); - } - if ( _c >= numOfCols() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::setGene: column out of range. " - << "It should be <" << numOfCols() << '\0' << std::endl; - throw out_of_range( msg.str() ); - } - (*this)[_r][_c]=_value; - }; - - - - /** Inserts a row, moving the rest to the bottom. - * If _r = numOfRows(), it insert it at the end. - * Obviously, changes number of rows. - @param _r Position where the new row will be inserted. - @param _val Vector containing the new values to be inserted. - @std::exception invalid_argument If _val has not numOfCols() components. - @std::exception out_of_range If _r is greater than numOfRows() - */ - virtual void insertRow( const unsigned _r, - const std::vector& _val ) { - // Test errors. - if ( _r > numOfRows() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::insertRow: row out of range. " - << "It should be <=" << numOfRows() << '\0' << std::endl; - throw out_of_range( msg.str() ); - } - if ( _val.size() != numOfCols() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::insertRow: " - << "Incorrect number of values to be added. " - << "It should be ==" << numOfCols() << '\0' << std::endl; - throw invalid_argument( msg.str() ); - } - - // Insert the row. - std::vector< std::vector >::iterator ite = begin()+_r; - insert( ite, _val ); - }; - - /** Eliminates the row at position _r; all the other genes will - be shifted up. - @param _r Number of he row to be deleted. - @std::exception out_of_range if _r >=numOfRows() - */ - virtual void deleteRow( const unsigned _r ) { - // Test error. - if ( _r >= numOfRows() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::deleteRow: " - << "Row out of range. " - << "It should be <" << numOfRows() << '\0' << std::endl; - throw out_of_range( msg.str() ); - } - // Delete row. - std::vector< std::vector >::iterator ite = this->begin()+_r; - this->erase( ite ); - }; - - /** Inserts a column, moving the rest to the right. - * If _c = numOfCols(), it insert it at the end. - * Obviously, changes number of cols. - @param _r Position where the new column will be inserted. - @param _val Vector containing the new values to be inserted. - @std::exception invalid_argument if _val has not numOfRows() components. - */ - virtual void insertCol( const unsigned _c, - const std::vector& _val ) { - // Test errors. - if ( _c > numOfCols() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::insertCol: " - << "Column out of range. " - << "It should be >=" << numOfCols() << '\0' << std::endl; - throw out_of_range( msg.str() ); - } - if ( _val.size() != numOfRows() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::insertCol: " - << "Incorrect number of values to be added. " - << "It should be ==" << numOfRows() << '\0' << std::endl; - throw invalid_argument( msg.str() ); - } - - // Insert column. - for( unsigned r=0; r >::iterator it1 = begin()+r; - std::vector::iterator it2 = (*it1).begin()+_c; - (*it1).insert( it2, _val[r] ); - }; - } - - /** Eliminates the column at position _c; all the other columns will - be shifted left. - @param _c Number of he column to be deleted. - @std::exception out_of_range if _c >=numOfCols() - */ - virtual void deleteCol( const unsigned _c ) { - // Test error. - if ( _c >= numOfCols() ) { - std::ostrstream msg; - msg << "ERROR in eo2dVector::deleteCol: " - << "Column out of range. " - << "It should be <" << numOfCols() << '\0' << std::endl; - throw out_of_range( msg.str() ); - } - // Delete columns. - for( unsigned r=0; r >::iterator it1 = begin()+r; - std::vector::iterator it2 = (*it1).begin()+_c; - (*it1).erase( it2 ); - } - }; - - /// Returns the number of rows in the eo2d - virtual unsigned numOfRows() const { - return size(); - }; - - /// Returns the number of columns in the eo2d - virtual unsigned numOfCols() const { - return begin()->size(); - }; - - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eo1d - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eo2dVector";}; - //@} - -}; - - -//____________________________ Some method implementation ____________________ - -// Ctors_______________________________________________________________________ -//_____________________________________________________________________________ -template -eo2dVector::eo2dVector( const unsigned _rows, - const unsigned _cols, - eoRnd& _rnd ) - : eo2d(), std::vector< std::vector >( _rows, std::vector( _cols, T() ) ){ - for ( std::vector< std::vector >::iterator i = begin(); i != end(); ++i ) { - for( std::vector::iterator j=(*i).begin(); j!= (*i).end(); ++j ) { - *j = _rnd(); - } - } -}; - -//_____________________________________________________________________________ -/*template -eoVector::eoVector( std::istream& _is) - : eo1d(), std::vector( ){ - while (_is ) { - T tmp; - _is >> tmp; - push_back( tmp ); - } - -}; -*/ - -//_____________________________________________________________________________ -template -std::ostream& operator<<( std::ostream& _os, const eo2dVector& _eo) { - for( unsigned i=0; i<_eo.numOfRows(); ++i ) { - for( unsigned j=0; j<_eo.numOfCols(); ++j ) { - _os << _eo.getGene( i,j ) << " "; - } - _os << std::endl; - } - return _os; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoAtomBitFlip.h b/trunk/paradiseo-eo/src/obsolete/eoAtomBitFlip.h deleted file mode 100644 index be1a1be5f..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoAtomBitFlip.h +++ /dev/null @@ -1,58 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoAtomBitFlip.h -// Increments or decrements by one a single element -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- -#ifndef _EOATOMBITFLIP_H -#define _EOATOMBITFLIP_H - -/** Flips a single bit -*/ -template -class eoAtomBitFlip: public eoAtomMutator { -public: - - /// - eoAtomBitFlip() {}; - - /// - virtual ~eoAtomBitFlip() {}; - - /// - virtual void operator()( T& _val ) const { - _val = !val; - } - - /** @name Methods from eoObject - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eoAtomBitFlip";}; - //@} - -}; - - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoAtomCreep.h b/trunk/paradiseo-eo/src/obsolete/eoAtomCreep.h deleted file mode 100644 index 8c293208a..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoAtomCreep.h +++ /dev/null @@ -1,66 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoAtomCreep.h -// Increments or decrements by one a single element -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- -#ifndef _EOATOMCREEP_H -#define _EOATOMCREEP_H - -#include -#include - -/** With uniform probability, decrements or increments by one the value. - The value type must admit post increment and decrement. -*/ -template -class eoAtomCreep: public eoAtomMutator { -public: - - /// - eoAtomCreep() {}; - - /// - virtual ~eoAtomCreep() {}; - - /// - virtual void operator()( T& _val ) const { - if ( rng.flip( 0.5 ) ) { - _val++; - } else { - _val--; - } - } - - /** @name Methods from eoObject - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - virtual std::string className() const {return "eoAtomCreep";}; - //@} - -}; - - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoAtomRandom.h b/trunk/paradiseo-eo/src/obsolete/eoAtomRandom.h deleted file mode 100644 index 1cc846ee0..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoAtomRandom.h +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - ------------------------------------------------------------------------------ - eoAtomRandom.h - Increments or decrements by one a single element - (c) GeNeura Team, 1998 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOATOMRANDOM_H -#define _EOATOMRANDOM_H - -#include - -/** Modifies using a random number generator, that is entered in the ctor. - The RNG must return positive or negative numbers, whatever. -*/ -template -class eoAtomRandom: public eoAtomMutator { -public: - - /// - eoAtomRandom( eoRnd& _rng): rnd( _rng ) {}; - - /// - virtual ~eoAtomRandom() {}; - - /// Adds the value generated by the RNG to the former value - virtual void operator()( T& _val ) const { - _val += rnd(); - } - - /** @name Methods from eoObject - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eoAtomRandom";}; - //@} - -private: - eoRnd& rnd; - -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoBackInserter.h b/trunk/paradiseo-eo/src/obsolete/eoBackInserter.h deleted file mode 100644 index 24bdad380..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoBackInserter.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoInserter.h - Abstract population insertion operator, which is used by the eoGeneralOps - to insert the results in the (intermediate) population. This file also - contains the definitions of a derived classes that implements a back inserter, - probably the only efficient inserter for populations of type std::vector. - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoBackInserter_h -#define eoBackInserter_h - -#include - -/** -\ingroup inserters - * eoBackInserter: Interface class that enables an operator to insert - new individuals at the back of the new population. -*/ -template -class eoBackInserter : public eoPopInserter -{ - public : - - eoBackInserter(void) : eoPopInserter() {} - - eoInserter& operator()(const EOT& _eot) - { - pop().push_back(_eot); - return *this; - } - - std::string className(void) const { return "eoBackInserter"; } - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoBin.h b/trunk/paradiseo-eo/src/obsolete/eoBin.h deleted file mode 100644 index 86dc8e7a9..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoBin.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - eoBin.h - (c) GeNeura Team 1998 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es -*/ - -#ifndef eoBin_h -#define eoBin_h - -//----------------------------------------------------------------------------- - -#include // std::ostream, std::istream -#include // bind2nd -#include // std::string - -#include - -/** -\defgroup bitstring - - Various functions for a bitstring representation -*/ - -/** eoBin: implementation of binary chromosome. -\class eoBin eoBin.h ga/eoBin.h -\ingroup bitstring - * based on STL's bit_std::vector (std::vector). -*/ -template class eoBin: public eoFixedLength -{ - public: - - /** - * (Default) Constructor. - * @param size Size of the binary std::string. - */ - eoBin(unsigned size = 0, bool value = false): - eoVector(size, value) {} - - /// My class name. - std::string className() const - { - return "eoBin"; - } - - /** - * To print me on a stream. - * @param os The std::ostream. - */ - void printOn(std::ostream& os) const - { - copy(begin(), end(), std::ostream_iterator(os)); - } - - /** - * To read me from a stream. - * @param is The std::istream. - */ - void readFrom(std::istream& is) - { - std::string bits; - is >> bits; - if (is) - { - resize(bits.size()); - transform(bits.begin(), bits.end(), begin(), - bind2nd(equal_to(), '1')); - } - } -}; - -//----------------------------------------------------------------------------- - -#endif eoBin_h diff --git a/trunk/paradiseo-eo/src/obsolete/eoBreeder.h b/trunk/paradiseo-eo/src/obsolete/eoBreeder.h deleted file mode 100644 index 7d8dd9bca..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoBreeder.h +++ /dev/null @@ -1,116 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoBreeder.h -// Takes two populations and mixes them -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoBreeder_h -#define eoBreeder_h - -//----------------------------------------------------------------------------- - -#include // std::vector -#include -#include // eoOp, eoMonOp, eoBinOp -#include // eoPop -#include // eoOpSelector - -#include - -#include -#include - -using namespace std; - -/***************************************************************************** - * eoBreeder: transforms a population using genetic operators. * - * For every operator there is a rated to be applyed. * - *****************************************************************************/ - -template class eoBreeder: public eoTransform -//eoUnaryFunctor&> -{ - public: - /// Default constructor. - eoBreeder( eoOpSelector& _opSel): opSel( _opSel ) {} - - /// Destructor. - virtual ~eoBreeder() {} - - /** - * Transforms a population. - * @param pop The population to be transformed. - */ - void operator()(eoPop& pop) - { - size_t orgsize = pop.size(); - - for (unsigned i = 0; i < pop.size(); i++) - { - eoOp* op = opSel.Op(); - switch (op->getType()) - { - case eoOp::unary: - { - eoMonOp* monop = static_cast* >(op); - (*monop)( pop[i] ); - break; - } - case eoOp::binary: - { - eoBinOp* binop = static_cast* >(op); - (*binop)(pop[i], pop[ rng.random(pop.size()) ] ); - break; - } - case eoOp::quadratic: - { - eoQuadraticOp* Qop = static_cast* >(op); - - (*Qop)(pop[i], pop[ rng.random(pop.size()) ] ); - break; - } - case eoOp::general : - { - eoGeneralOp* Gop = static_cast* >(op); - - eoRandomIndiSelector selector; - eoBackInserter inserter; - - (*Gop)(selector.bind(pop, orgsize).bias(i), inserter.bind(pop)); - break; - } - } - } - }; - - /// The class name. - std::string className() const { return "eoBreeder"; } - - private: - eoOpSelector& opSel; - -}; - -//----------------------------------------------------------------------------- - -#endif eoBreeder_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoCopyElite.h b/trunk/paradiseo-eo/src/obsolete/eoCopyElite.h deleted file mode 100644 index 19dafcff9..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoCopyElite.h +++ /dev/null @@ -1,110 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoCopyElite.h -// Base class for elitist-merging classes -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoCopyElite_h -#define eoCopyElite_h - -//----------------------------------------------------------------------------- - -// EO includes -#include // eoPop -#include // eoCopyElite - -/** - * eoCopyElite: Base class for elitist replacement algorithms. - * Merges the old population (first argument), with the new generation - * - * Its signature is exactly - * that of the selection base eoSelect, but its purpose is to merge the - * two populations into one (the second argument). - * Note that the algorithms assume that the second argument denotes the - * next generation. -*/ - -template class eoCopyElite: public eoBinaryFunctor&, eoPop&> -{}; - -/** -Straightforward elitism class, specify the number of individuals to copy -into new geneneration -*/ -template class eoElitism : public eoCopyElite -{ - public : - eoElitism(unsigned _howmany) : howmany(_howmany) {} - - void operator()(const eoPop& _pop, eoPop& offspring) - { - if (howmany == 0) - return; - - if (howmany > _pop.size()) - throw logical_error("Elite larger than population"); - - std::vector result; - _pop.nth_element(howmany, result); - - for (int i = 0; i < result.size(); ++i) - { - offspring.push_back(*result[i]); - } - } - - private : - unsigned howmany; -}; - -/** -No elite -*/ -template class eoNoElitism : public eoElitism -{ - public : - eoNoElitism() : eoElitism(0) {} -} - -/** -Very elitist class, copies entire population into next gen -*/ -template class eoPlus : public eoCopyElite -{ - public : - void operator()(const eoPop& _pop, eoPop& offspring) - { - offspring.reserve(offspring.size() + _pop.size()); - - for (int i = 0; i < _pop.size(); ++i) - { - offspring.push_back(*result[i]); - } - } - - private : - unsigned howmany; -}; - -//----------------------------------------------------------------------------- - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoDEA.h b/trunk/paradiseo-eo/src/obsolete/eoDEA.h deleted file mode 100644 index bb717ae1b..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoDEA.h +++ /dev/null @@ -1,46 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoDEA.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoDEA_h -#define _eoDEA_h - -//----------------------------------------------------------------------------- - -#include - -/** eoDEA: Distribution Evolution Algorithm within EO - * - * The abstract class for algorithms that evolve a probability distribution - * on the spaces of populations rather than a population - * - * It IS NOT an eoAlgo, as it evolves a distribution, not a population -*/ - -template class eoDEA: public eoUF&, void> -{ -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoDetTournament.h b/trunk/paradiseo-eo/src/obsolete/eoDetTournament.h deleted file mode 100644 index 2bd15b9d3..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoDetTournament.h +++ /dev/null @@ -1,69 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoDetTournament.h -// (c) GeNeura Team, 1998 - EEAAX 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef eoDetTournament_h -#define eoDetTournament_h - -//----------------------------------------------------------------------------- - -#include // -#include // accumulate - -#include -#include -#include - -//----------------------------------------------------------------------------- -/** eoDetTournament: a selection method that selects ONE individual by - deterministic tournament - -MS- 24/10/99 */ -//----------------------------------------------------------------------------- - -template class eoDetTournament: public eoSelectOne -{ - public: - /// (Default) Constructor. - eoDetTournament(unsigned _Tsize = 2 ):eoSelectOne(), Tsize(_Tsize) { - // consistency check - if (Tsize < 2) { - std::cout << "Warning, Tournament size should be >= 2\nAdjusted\n"; - Tsize = 2; - } - } - - /// Perform deterministic tournament - virtual const EOT& operator()(const eoPop& pop) - { - return deterministic_tournament(pop, Tsize); - } - - private: - unsigned Tsize; -}; - -//----------------------------------------------------------------------------- - -#endif eoDetTournament_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoDetTournamentIndiSelector.h b/trunk/paradiseo-eo/src/obsolete/eoDetTournamentIndiSelector.h deleted file mode 100644 index 75d36c219..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoDetTournamentIndiSelector.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoDetTournamentIndiSelector.h - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoDetTournamentIndiSelector_h -#define eoDetTournamentIndiSelector_h - -#include "eoIndiSelector.h" -#include "utils/selectors.h" - - -/** -\ingroup selectors - * eoDetTournamentIndiSelector: selects children through a deterministic_tournament -*/ -template -class eoDetTournamentIndiSelector : public eoPopIndiSelector -{ - public : - - eoDetTournamentIndiSelector(int _tournamentSize) - : eoPopIndiSelector(), - tournamentSize(_tournamentSize) - {} - - virtual ~eoDetTournamentIndiSelector(void) {} - - const EOT& do_select(void) - { - return *deterministic_tournament(begin(), end(), tournamentSize); - } - - private : - - int tournamentSize; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoDetTournamentInserter.h b/trunk/paradiseo-eo/src/obsolete/eoDetTournamentInserter.h deleted file mode 100644 index 9077aece6..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoDetTournamentInserter.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoDetTournamentInserter.h - Concrete steady state inserter. It is initialized with a population and - inserts individuals in the population based on an inverse deterministic - tournament - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoDetTournamentInserter_h -#define eoDetTournamentInserter_h - - -#include -#include - -/** - * eoDetTournamentInserter: Uses an inverse deterministic tournament to figure - * out who gets overridden by the new individual. It resets the fitness of the - * individual. -*/ -template -class eoDetTournamentInserter : public eoSteadyStateInserter -{ -public : - - eoDetTournamentInserter(eoEvalFunc& _eval, unsigned _t_size): - eoSteadyStateInserter(_eval), - t_size(_t_size) - { - if (t_size < 2) - { // warning, error? - t_size = 2; - } - } - - eoInserter& operator()(const EOT& _eot) - { - EOT& eo = inverse_deterministic_tournament(pop(), t_size); - eo = _eot; // overwrite loser of tournament - - eval(eo); // Evaluate after insert - return *this; - } - - std::string className(void) const { return "eoDetTournamentInserter"; } - -private : - unsigned t_size; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoDistance.h b/trunk/paradiseo-eo/src/obsolete/eoDistance.h deleted file mode 100644 index 5f3c333e6..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoDistance.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoObject.h - This is the base class for most objects in EO. It basically defines an interf - face for giving names to classes. - - (c) GeNeura Team, 1998, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es -*/ -//----------------------------------------------------------------------------- - -#ifndef EODISTANCE_H -#define EODISTANCE_H - -//----------------------------------------------------------------------------- - -using namespace std; - -//----------------------------------------------------------------------------- -// eoDistance -//----------------------------------------------------------------------------- -/** Defines an interface for measuring distances between evolving objects */ -template -class eoDistance { - public: - - /// Default Constructor. - eoDistance() {} - - /// Copy constructor. - eoDistance( const eoDistance& ) {} - - /// Virtual dtor. They are needed in virtual class hierarchies. - virtual ~eoDistance() {} - - - /** Return the distance from the object with this interface to other - object of the same type. - */ - virtual double distance( const EOT& ) const = 0; - - /// Returns classname - virtual std::string className() const { return "eoDistance"; } - -}; - -#endif EOOBJECT_H diff --git a/trunk/paradiseo-eo/src/obsolete/eoDup.h b/trunk/paradiseo-eo/src/obsolete/eoDup.h deleted file mode 100644 index 67e4a8639..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoDup.h +++ /dev/null @@ -1,70 +0,0 @@ -// eoDup.h -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoKill.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EODUP_h -#define _EODUP_h - -#include - -#include - -/// Dup or duplicate: duplicates a gene in a chromosome -template -class eoDup: public eoMonOp > { -public: - /// - eoDup( ) - : eoMonOp< EOT >( ){}; - - /// needed virtual dtor - virtual ~eoDup() {}; - - /// - virtual void operator()(eoVariableLength& _eo ) const - { - unsigned pos = rng.random(_eo.size()); - eoVariableLength::iterator it = begin(); - - while (pos--) {++it;} - - _eo.insert(it, 1, *it); - - _eo.invalidate(); - } - - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eoOp - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - virtual std::string className() const {return "eoDup";}; - //@} -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoES.h b/trunk/paradiseo-eo/src/obsolete/eoES.h deleted file mode 100644 index 9f4051f85..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoES.h +++ /dev/null @@ -1,164 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoESChrom.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - - -#ifndef _eoESCHROM_H -#define _eoESCHROM_H - -// STL libraries -#include // For std::vector<> -#include -#include -#include // for std::ostream - -// EO includes -#include - -/**@name Chromosomes for evolution strategies -Each chromosome in an evolution strategies is composed of a std::vector of floating point -values plus a std::vector of sigmas, that are added to them during mutation -*/ -//@{ - -/** -\class eoESValue - -*/ -template -struct eoESValue -{ - T value; - - /** - The gene has a mutate member because this particular gaussian mutation - is paradigmatic for an evolution strategy. - */ - void mutate(double sigma, T minimum = T(), T maximum = T()) - { - value += rng.normal(0.0, sigma); - - if (minimum > value) - value = minimum; - if (value > maximum) - value = maximum; - } -}; - -/** -\class eoESGene eoESGene.h es/eoESGene.h -Each gene in an Evolution Strategies is composed of a value plus an standard -deviation, sigma, used for mutation*/ -template -struct eoESGene : public eoESValue -{ - double sigma; - - eoESGene( double _val = 0, double _sigma = 1.0 ): eoESValue( _val ), sigma( _sigma ) {}; - - /** - The gene has a mutate member because the sigma member implies - that the updating routine should use a normal distribution - */ - void mutate(T minimum, T maximum) - { - mutate(sigma, minimum, maximum); - } -}; - -/// Tricky operator to avoid errors in some VC++ systems, namely VC 5.0 SP3 -bool operator < ( eoESGene _e1, eoESGene _e2 ) { - return _e1.val < _e2.val; -} - -/// Tricky operator to avoid errors in some VC++ systems -bool operator == ( eoESGene _e1, eoESGene _e2 ) { - return ( _e1.val == _e2.val ) && ( _e1.sigma == _e2.sigma ) ; -} - -/// -std::ostream & operator << ( std::ostream& _s, const eoESGene& _e ) { - _s << _e.val << ", " << _e.sigma << " | "; - return _s; -} - -/// Dummy >> -std::istream & operator >> ( std::istream& _s, const eoESGene& _e ) { - _s >> _e.val; - _s >> _e.sigma; - return _s; -} - - -/** Basic chromosome for evolution strategies (ES), as defined by Rechenberg and -Schwefel. Each chromosomes is composed of "genes"; each one of then is an eoESGene -@see eoESGene -*/ -template -class eoESChrom: public eoVector { -public: - /// Basic ctor - eoESChrom( ):eoVector() {}; - - /** Ctor using a couple of random number generators - @param _size Lineal length of the object - @param _rnd a random number generator, which returns a random value each time it´s called. - @param _rndS another one, for the sigma - */ - eoESChrom( unsigned _size, eoRnd& _rnd, eoRnd& _rndS ) - : eoVector( _size ){ - for ( iterator i = begin(); i != end(); i ++ ) { - i->val = _rnd(); - i->sigma = _rndS(); - } - }; - - /// Copy ctor - eoESChrom( const eoESChrom& _eoes): eoVector( _eoes ) {}; - - /// Assignment operator - const eoESChrom& operator =( const eoESChrom & _eoes ) { - if ( this != &_eoes ){ - eoVector::operator=( _eoes ); - } - return *this; - } - - /// - ~eoESChrom() {}; - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eo1d - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eoESChrom";}; - //@} - -}; - -//@} -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoESChrom.h b/trunk/paradiseo-eo/src/obsolete/eoESChrom.h deleted file mode 100644 index 1ad0bcf41..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoESChrom.h +++ /dev/null @@ -1,164 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoESChrom.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - - -#ifndef _eoESCHROM_H -#define _eoESCHROM_H - -// STL libraries -#include // For std::vector<> -#include -#include -#include // for std::ostream - -// EO includes -#include - -/**@name Chromosomes for evolution strategies -Each chromosome in an evolution strategies is composed of a std::vector of floating point -values plus a std::vector of sigmas, that are added to them during mutation -*/ -//@{ - -/** -\class eoESValue - -*/ -template -struct eoESValue -{ - T value; - - /** - The gene has a mutate member because this particular gaussian mutation - is paradigmatic for an evolution strategy. - */ - void mutate(double sigma, T minimum, T maximum) - { - value += rng.normal(0.0, sigma); - - if (minimum > value) - value = minimum; - if (value > maximum) - value = maximum; - } -}; - -/** -\class eoESGene eoESGene.h es/eoESGene.h -Each gene in an Evolution Strategies is composed of a value plus an standard -deviation, sigma, used for mutation*/ -template -struct eoESGene : public eoESValue -{ - double sigma; - - eoESGene( double _val = 0, double _sigma = 1.0 ): eoESValue( _val ), sigma( _sigma ) {}; - - /** - The gene has a mutate member because the sigma member implies - that the updating routine should use a normal distribution - */ - void mutate(T minimum, T maximum) - { - mutate(sigma, minimum, maximum); - } -}; - -/// Tricky operator to avoid errors in some VC++ systems, namely VC 5.0 SP3 -bool operator < ( eoESGene _e1, eoESGene _e2 ) { - return _e1.val < _e2.val; -} - -/// Tricky operator to avoid errors in some VC++ systems -bool operator == ( eoESGene _e1, eoESGene _e2 ) { - return ( _e1.val == _e2.val ) && ( _e1.sigma == _e2.sigma ) ; -} - -/// -std::ostream & operator << ( std::ostream& _s, const eoESGene& _e ) { - _s << _e.val << ", " << _e.sigma << " | "; - return _s; -} - -/// Dummy >> -std::istream & operator >> ( std::istream& _s, const eoESGene& _e ) { - _s >> _e.val; - _s >> _e.sigma; - return _s; -} - - -/** Basic chromosome for evolution strategies (ES), as defined by Rechenberg and -Schwefel. Each chromosomes is composed of "genes"; each one of then is an eoESGene -@see eoESGene -*/ -template -class eoESChrom: public eoVector { -public: - /// Basic ctor - eoESChrom( ):eoVector() {}; - - /** Ctor using a couple of random number generators - @param _size Lineal length of the object - @param _rnd a random number generator, which returns a random value each time it´s called. - @param _rndS another one, for the sigma - */ - eoESChrom( unsigned _size, eoRnd& _rnd, eoRnd& _rndS ) - : eoVector( _size ){ - for ( iterator i = begin(); i != end(); i ++ ) { - i->val = _rnd(); - i->sigma = _rndS(); - } - }; - - /// Copy ctor - eoESChrom( const eoESChrom& _eoes): eoVector( _eoes ) {}; - - /// Assignment operator - const eoESChrom& operator =( const eoESChrom & _eoes ) { - if ( this != &_eoes ){ - eoVector::operator=( _eoes ); - } - return *this; - } - - /// - ~eoESChrom() {}; - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eo1d - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eoESChrom";}; - //@} - -}; - -//@} -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoESFullChrom.h b/trunk/paradiseo-eo/src/obsolete/eoESFullChrom.h deleted file mode 100644 index e00914b5d..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoESFullChrom.h +++ /dev/null @@ -1,267 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoESInd.h -// (c) GeNeura Team, 1998 - EEAAX 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _EOESFULLCHROM_H -#define _EOESFULLCHROM_H - -// STL libraries -#include // For std::vector<> -#include -#include -#include // for std::ostream - -// EO includes -#include -#include -/**@name Chromosomes for evolution strategies -Each chromosome in an evolution strategies is composed of a std::vector of floating point -values plus a std::vector of sigmas, that are added to them during mutation and a std::vector of correlations -*/ -//@{ - - -/**@name individuals for evolution strategies -MS- 22/10/99 -Each individual in an evolution strategy is composed of - a std::vector of floating point values - a std::vector of std deviations - a std::vector of rotation angles (for correlated mutations) - -These individuals CANNOT BE IMPLEMENTED as std::vectors of anything - at least in the case of correlated mutations -*/ -//@{ - -template -class eoESFullChrom : public eoVector { - public: -/// constructor - eoESFullChrom( unsigned _num_genes = 1, - unsigned _num_sigma = 1, unsigned _num_correl = 0, - bool _verbose = false, - double _ObjMin = 0, double _ObjMax = 1, - double _StdDevInit = 0.3 ): - eoVector(_num_genes), - // ObjVar( _num_genes ), now an eoVector - StdDev( _num_sigma ), - CorCff( _num_correl ), - verbose( _verbose ), - ObjMin( _ObjMin ), - ObjMax(_ObjMax ), - StdDevInit( _StdDevInit ) - { // check consistency - } - - - /* And now the useful constructor: from a parser (should be in the - factory, if such a thing exists one day for eoESFullChrom - */ - eoESFullChrom(eoParser & parser) : StdDev(0), CorCff(0) { - parser.AddTitle("Description of ES individuals"); - int num_genes, num_sigma; - bool correlated_mutations; - try { - num_genes = parser.getInt("-Io", "--NbObjVar", "2", - "Number of Object Variables" ); - num_sigma = parser.getInt("-Is", "--NbSigma", "1", - "Number of Standard Deviations" ); - correlated_mutations = parser.getBool("-Ic", "--Correlated", - "Correlated mutation?" ); - ObjMin = parser.getFloat("-Im", "--min", "0", - "Minimum value for object variables" ); - ObjMax = parser.getFloat("-IM", "--max", "1", - "Maximum value for object variables" ); - StdDevInit = parser.getFloat("-II", "--SigmaInit", "0.3", - "Initial value for std. dev. (scaled by range)" ); - verbose = parser.getBool("-Iv", "--verbose", - "Verbose std::listing of ES individuals (mutation parameters"); - } - catch (std::exception & e) - { - std::cout << e.what() << std::endl; - parser.printHelp(); - exit(1); - } - - // consistency tests - if (! num_sigma) { // no std dev??? EXCEPTION - throw invalid_argument( "No standard deviation: choose another representation please" ); - } - if (num_sigma > num_genes) { - std::cout << "WARNING, Number of Standard Deviations > Number of Object Variables\nAdjusted!\n"; - num_sigma = num_genes; - // modify the Param value - so .status is OK - std::ostrstream sloc; - sloc << num_genes; - parser.setParamValue("--NbSigma", sloc.str()); - } - // adjust the sizes!!! - resize(num_genes); - if (num_sigma) - StdDev.resize(num_sigma); - if (correlated_mutations) { - if (num_sigma < num_genes) { - std::cout << "WARNING less Std Dev. than number of variables + Correlated mutations\n"; - std::cout << "Though possible, this is a strange setting" << std::endl; - } - // nb of rotation angles: N*(N-1)/2 (in general!) - CorCff.resize ( (2*num_genes - num_sigma)*(num_sigma - 1) / 2 ); - } - }; - - - /// Operator = - const eoESFullChrom& operator = ( const eoESFullChrom& _eo ) { - if ( this != &_eo ) { - // Change EO part - eoVector::operator = (_eo); - - // Change this part - // ObjVar = _eo.ObjVar; - StdDev = _eo.StdDev; - CorCff = _eo.CorCff; - verbose = _eo.verbose; - ObjMin = _eo.ObjMin; - ObjMax = _eo.ObjMax; - StdDevInit = _eo.StdDevInit; - } - return *this; - } - - /// destructor - virtual ~eoESFullChrom() {} - - /// - double getStdDev( unsigned _i ) const { - if ( _i >= length() ) - throw out_of_range( "out_of_range when reading StdDev"); - return StdDev[ _i ]; - } - - /// - void setStdDev( unsigned _i, double _val ) { - if ( _i < length() ) { - StdDev[_i] = _val; - } else - throw out_of_range( "out_of_range when writing StdDev"); - } - - /// - double getCorCff( unsigned _i ) const { - if ( _i >= length() ) - throw out_of_range( "out_of_range when reading CorCff"); - return CorCff[ _i ]; - } - - /// - void setCorCff( unsigned _i, double _val ) { - if ( _i < length() ) { - CorCff[_i] = _val; - } else - throw out_of_range( "out_of_range when writing CorCff"); - } - - /// - void insertGene( unsigned _i, double _val ) { - throw FixedLengthChromosome(); - }; - - /// - void deleteGene( unsigned _i ) { - throw FixedLengthChromosome(); - }; - - /// - unsigned length() const { return size();}/* formerly ObjVar.size() */ - unsigned StdDevLength() const { return StdDev.size();} - unsigned CorCffLength() const { return CorCff.size();} - - - /** Print itself: inherited from eoObject implementation. - Instance from base classes are processed in - base classes, so you don´t have to worry about, for instance, fitness. - @param _s the std::ostream in which things are written*/ - virtual void printOn( std::ostream& _s ) const{ - copy( begin(), end(), std::ostream_iterator( _s, " ") ); - // The formatting instructinos shoudl be left to the caller - // _s << "\n"; - if (verbose) { - _s << "\n\tStd Dev. " ; - copy( StdDev.begin(), StdDev.end(), std::ostream_iterator( _s, " ") ); - if (CorCff.size()) { - _s << "\n\t"; - copy( CorCff.begin(), CorCff.end(), std::ostream_iterator( _s, " ") ); - } - } - }; - - /** This std::exception should be thrown when trying to insert or delete a gene - in a fixed length chromosome - */ - class FixedLengthChromosome : public std::exception { - - public: - /** - * Constructor - */ - FixedLengthChromosome() - : std::exception() { }; - - ~FixedLengthChromosome() {}; - }; - - // accessors - double getObjMin() const {return ObjMin;} - double getObjMax() const {return ObjMax;} - double getStdDevInit () const {return StdDevInit;} - - /** Inherited from eoObject - @see eoObject - */ - virtual std::string className() const {return "eoESFullChrom";}; - -private: - // std::vector ObjVar; /* object variable std::vector */ -// or shoudl the class be subclass of EOVector ??? - - std::vector StdDev; /* standard deviation std::vector */ - std::vector CorCff; /* correlation coefficient std::vector */ - - bool verbose; /* Print std deviations or not */ - - /** the range is used for mutation AND random initialization, - * while the StdDevInit is used only for random initialization - * this in a little inconsistent! - */ - double ObjMin, ObjMax; /* Range for Object variables */ - double StdDevInit; /* Initial value of Standard Deviations */ - -}; - - - - -#endif - - diff --git a/trunk/paradiseo-eo/src/obsolete/eoESFullMut.h b/trunk/paradiseo-eo/src/obsolete/eoESFullMut.h deleted file mode 100644 index 9d967c7af..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoESFullMut.h +++ /dev/null @@ -1,261 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoESMute.h : ES mutation -// (c) Maarten Keijzer 2000 & GeNeura Team, 1998 for the EO part -// Th. Baeck 1994 and EEAAX 1999 for the ES part -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - marc.schoenauer@polytechnique.fr - http://eeaax.cmap.polytchnique.fr/ - */ -//----------------------------------------------------------------------------- - - -#ifndef _EOESMUT_H -#define _EOESMUT_H - -#include -#include -#include // for exp - -#include -#include -#include - -#ifndef M_PI -#define M_PI 3.1415926535897932384626433832795 -#endif - -/** ES-style mutation in the large: Obviously, valid only for eoES* - - It is currently valid for three types of ES chromosomes: - - eoEsSimple: only 1 std deviation - eoEsStdev: as many standard deviations as object variables - eoEsFull: The whole guacemole: correlations, stdevs and object variables - - Each of these three variant has it's own operator() in eoEsMutate -*/ - -template -class eoESMutate: public eoMonOp< EOT > { -public: - - typedef EOT::Fitness FitT; - - /** Initialization - parameters: - - @param _init proxy class for initializating the three parameters eoEsMutate needs - @param _bounds the bounds for the objective variables - */ - eoESMutate(eoESMutationInit& _init, eoESObjectiveBounds& _bounds) : bounds(_bounds) - { - unsigned size = bounds.chromSize(); - - if (eoEsInfo::single_stdev) - { - TauLcl = _init.TauLcl(); - TauLcl /= sqrt((double) size); - } - else - { - TauLcl = _init.TauLcl(); - TauGlb = _init.TauGlb(); - - // renormalization - TauLcl /= sqrt( 2.0 * sqrt( (double)size ) ); - TauGlb /= sqrt( 2.0 * ( (double) size ) ); - - if (eoEsInfo::has_correlation) - { // Correlated Mutations - TauBeta = _init.TauBeta(); - } - } - } - - /// needed virtual dtor - virtual ~eoESMutate() {}; - - /** Inherited from eoObject - @see eoObject - */ - virtual std::string className() const {return "eoESMutate";}; - - /** - Mutate eoEsSimple - */ - virtual void operator()( eoEsSimple& _eo) const - { - _eo.stdev *= exp(TauLcl * rng.normal()); - - if (_eo.stdev < eoEsInfo::stdev_eps) - _eo.stdev = eoEsInfo::stdev_eps; - - // now apply to all - - for (unsigned i = 0; i < _eo.size(); ++i) - { - _eo[i] += _eo.stdev * rng.normal(); - } - - keepInBounds(_eo); - } - - /// mutations - standard and correlated - // ========= - /* - * Standard mutation of object variables and standard - * deviations in ESs. - * If there are fewer different standard deviations available - * than the dimension of the objective function requires, the - * last standard deviation is responsible for ALL remaining - * object variables. - * Schwefel 1977: Numerische Optimierung von Computer-Modellen - * mittels der Evolutionsstrategie, pp. 165 ff. - */ - - virtual void operator()( eoESStdev& _eo ) const - { - double global = exp(TauGlb * rng.normal()); - for (unsigned i = 0; i < _eo.size(); i++) - { - double stdev = _eo.stdevs[i]; - stdev *= global * exp(TauLcl * rng.normal()); - - if (stdev < eoEsInfo::stdev_eps) - stdev = eoEsInfo::stdev_eps; - - _eo.stdevs[i] = stdev; - _eo[i] += stdev * rng.normal(); - } - - keepInBounds(_eo); - } - - /* - * Correlated mutations in ESs, according to the following - * sources: - * H.-P. Schwefel: Internal Report of KFA Juelich, KFA-STE-IB-3/80 - * p. 43, 1980 - * G. Rudolph: Globale Optimierung mit parallelen Evolutions- - * strategien, Diploma Thesis, University of Dortmund, 1990 - */ - - // Code from Thomas Baeck - - virtual void operator()( eoEsFull & _eo ) const - { - - /* - * First: mutate standard deviations (as above). - */ - - double global = exp(TauGlb * rng.normal()); - for (unsigned i = 0; i < _eo.size(); i++) - { - double stdev = _eo.stdevs[i]; - stdev *= global * exp(TauLcl * rng.normal()); - - if (stdev < eoEsInfo::stdev_eps) - stdev = eoEsInfo::stdev_eps; - - _eo.stdevs[i] = stdev; - } - - - /* - * Mutate rotation angles. - */ - - for (i = 0; i < _eo.correlations.size(); i++) - { - _eo.correlations[i] += TauBeta * rng.normal(); - if ( fabs(_eo.correlations[i]) > M_PI ) - { - _eo.correlations[i] -= M_PI * (int) (_eo.correlations[i]/M_PI) ; - } - } - - /* - * Perform correlated mutations. - */ - unsigned i,k; - - std::vector VarStp(_eo.size()); - for (i = 0; i < _eo.size(); i++) - VarStp[i] = _eo.stdevs[i] * rng.normal(); - - unsigned nq = _eo.correlations.size() - 1; - - for (k = 0; k < _eo.size()-1; k++) - { - n1 = _eo.size() - k - 1; - n2 = _eo.size() - 1; - - for (i = 0; i < k; i++) - { - d1 = VarStp[n1]; - d2 = VarStp[n2]; - S = sin( _eo.correlations[nq] ); - C = cos( _eo.correlations[nq] ); - VarStp[n2] = d1 * S + d2 * C; - VarStp[n1] = d1 * C - d2 * S; - n2--; - nq--; - } - } - - for (i = 0; i < _eo.size(); i++) - _eo[i] += VarStp[i]; - - keepInBounds(_eo); - } - - void keepInBounds(EOT& _eo) const - { - for (unsigned i = 0; i < _eo.size(); ++i) - { - if (_eo[i] < bounds.minimum(i)) - _eo[i] = bounds.minimum(i); - else if (_eo[i] > bounds.maximum(i)) - _eo[i] = bounds.maximum(i); - } - } - - private : - // the data - //========= - double TauLcl; /* Local factor for mutation of std deviations */ - double TauGlb; /* Global factor for mutation of std deviations */ - double TauBeta; /* Factor for mutation of correlation parameters */ - - eoESObjectiveBounds& bounds; -}; - -/* - * Correlated mutations in ESs, according to the following - * sources: - * H.-P. Schwefel: Internal Report of KFA Juelich, KFA-STE-IB-3/80 - * p. 43, 1980 - * G. Rudolph: Globale Optimierung mit parallelen Evolutions- - * strategien, Diploma Thesis, University of Dortmund, 1990 - */ - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoEsObjectiveBounds.h b/trunk/paradiseo-eo/src/obsolete/eoEsObjectiveBounds.h deleted file mode 100644 index 4a25aa30b..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoEsObjectiveBounds.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEsObjectiveBounds.h -// (c) Maarten Keijzer 2000, GeNeura Team, 1998 - EEAAX 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoEsObjectiveBounds_h -#define _eoEsObjectiveBounds_h - -/** -\defgroup EvolutionStrategies - - Various classes for the initialization and mutation of real valued std::vectors. - - Supports simple mutations and various more adaptable mutations, including - correlated mutations. - -*/ - - -/** -\class eoEsObjectiveBounds eoEsObjectiveBounds.h es/eoEsObjectiveBounds.h -\ingroup EvolutionStrategies - - Defines the minima and maxima of the object variables. Needed by eoEsChromInit - and eoEsMutate - - @see eoEsChromInit eoEsMutate -*/ -class eoEsObjectiveBounds -{ - public : - - /** - Objective bounds for a global minimum and maximum - */ - eoEsObjectiveBounds(int _nGenes, double _min, double _max) : repMinimum(_nGenes), repMaximum(_nGenes) - { - std::fill(repMinimum.begin(), repMinimum.end(), _min); - std::fill(repMaximum.begin(), repMaximum.end(), _max); - } - - /** - Objective bounds for a per gene minimum and maximum - */ - eoEsObjectiveBounds(const std::vector& _min, const std::vector& _max) - : repMinimum(_min), repMaximum(_max) {} - - typedef double doubleype; - - double minimum(size_t i) { return repMinimum[i]; } - double maximum(size_t i) { return repMaximum[i]; } - - unsigned chromSize(void) const { return repMinimum.size(); } - - private : - std::vector repMinimum; - std::vector repMaximum; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoEvalFuncPtrCnt.h b/trunk/paradiseo-eo/src/obsolete/eoEvalFuncPtrCnt.h deleted file mode 100644 index ffa998590..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoEvalFuncPtrCnt.h +++ /dev/null @@ -1,62 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - ------------------------------------------------------------------------------ - eoEvalFuncPtrCnt.h - Same as eoEvalFuncPtr, but counts the number of evaluations - - (c) GeNeura Team, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOEVALFUNCPTRCNT_H -#define EOEVALFUNCPTRCNT_H - -#include - -/** EOEvalFuncCntPtr: This class - * takes an existing function pointer and converts it into a evaluation - * function class. That way, old style C or C++ functions can be adapted to EO - * function classes. - */ -template< class EOT > -struct eoEvalFuncPtrCnt: public eoEvalFuncPtr { - - /** Applies the function to the chromosome and sets the fitness of the - Chrom. Thus, the evaluation function need not be worried about that. - @param _eval pointer to the evaluation function, takes a EOT as an - argument and returns the fitness - @return the evaluated fitness for that object. - */ - eoEvalFuncPtrCnt( EOFitT (* _eval)( const EOT& ) ) - : eoEvalFuncPtr( _eval ), numOfEvaluations( 0 ) {}; - - /// Effectively applies the evaluation function to an EO - virtual void operator() ( EOT & _eo ) const { - eoEvalFuncPtr::operator()( _eo ); - numOfEvaluations++; - }; - - /// - unsigned getNumOfEvaluations() const { return numOfEvaluations; }; - -private: - mutable unsigned numOfEvaluations; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoEvolutionStrategy.h b/trunk/paradiseo-eo/src/obsolete/eoEvolutionStrategy.h deleted file mode 100644 index b863ae8a4..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoEvolutionStrategy.h +++ /dev/null @@ -1,101 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoEvolutionStrategy.h -// (c) Maarten Keijzer 2000, GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoEvolutionStrategy_h -#define _eoEvolutionStrategy_h - -//----------------------------------------------------------------------------- - -#include -#include -/** eoEvolutionStrategy: -*/ - -template -class eoEvolutionStrategy: public eoAlgo -{ - public: - struct plus_strategy{}; - struct comma_strategy{}; - - eoEvolutionStrategy( - eoContinue& _continuator, - eoEvalFunc& _eval, - eoGOpSelector& _opSel, - float _lambdaRate, - comma_strategy) - : selectPerc(randomSelect, _lambdaRate), - transform(_opSel), - easyEA(_continuator, _eval, selectPerc, transform, noElitism, truncate) - {} - - eoEvolutionStrategy( - eoContinue& _continuator, - eoEvalFunc& _eval, - eoGOpSelector& _opSel, - float _lambdaRate, - plus_strategy) - : selectPerc(randomSelect, _lambdaRate), - transform(_opSel), - easyEA(_continuator, _eval, selectPerc, transform, plus, truncate) - {} - - - /// Apply a few generation of evolution to the population. - virtual void operator()(eoPop& _pop) - { - easyEA(_pop); - } - - private: - - eoPlus plus; - eoNoElitism noElitism; - eoTruncate truncate; - eoRandomSelect randomSelect; - eoSelectPerc selectPerc; - eoInplaceTransform2 transform; - - /// easyEA is contained rather than a base because of member initialization order! - eoEasyEA easyEA; -}; - -template -eoEvolutionStrategy make_es(eoContinue& _continuator, - eoEvalFunc& _eval, - eoGOpSelector& _opSel, - float _lambdaRate, - bool _comma) - -{ - if (_comma) - return eoEvolutionStrategy(_continuator, _eval, _opSel, _lambdaRate, eoEvolutionStrategy::comma_strategy()); - //else - return eoEvolutionStrategy(_continuator, _eval, _opSel, _lambdaRate, eoEvolutionStrategy::plus_strategy()); -} - -//----------------------------------------------------------------------------- - -#endif eoSelectTransformReduce_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoFitTerm.h b/trunk/paradiseo-eo/src/obsolete/eoFitTerm.h deleted file mode 100644 index 4dded6092..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoFitTerm.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGenTerm.h -// (c) GeNeura Team, 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOFITTERM_H -#define _EOFITTERM_H - -#include - - -/** -Fitness continuation: - - Continues until the maximum fitness level is reached. -*/ -template< class EOT> -class eoFitContinue: public eoContinue { -public: - - /// Define Fitness - typedef typename EOT::Fitness FitnessType; - - /// Ctor - eoFitContinue( const FitnessType _maximum) - : eoContinuator (), maximum( _maximum ) {}; - - /** Returns false when a fitness criterium is - * reached, assumes sorted population */ - virtual bool operator() ( const eoPop& _vEO ) - { - return (bestFitness < maximum); - } - -private: - FitnessType maximum; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoFitness.h b/trunk/paradiseo-eo/src/obsolete/eoFitness.h deleted file mode 100644 index c1e03fc33..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoFitness.h +++ /dev/null @@ -1,57 +0,0 @@ -// eoFitness.h -//----------------------------------------------------------------------------- -// eoFitness.cpp -// (c) GeNeura Team 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOFITNESS_H -#define EOFITNESS_H - -//----------------------------------------------------------------------------- -/** -\deprecated This class will dissapear in time, use eoScalarFitness instead -*/ -class eoFitness: public eoPersistent -{ - public: - virtual operator float() const = 0; - - virtual bool operator<(const eoFitness& other) const = 0; - - virtual bool operator>(const eoFitness& other) const - { - return !(*this < other || *this == other); - } - - virtual bool operator==(const eoFitness& other) const - { - return !(other < *this || *this < other); - } - - virtual bool operator!=(const eoFitness& other) const - { - return other < *this || *this < other; - } -}; - -//----------------------------------------------------------------------------- - -#endif EOFITNESS_H - diff --git a/trunk/paradiseo-eo/src/obsolete/eoGOpBreeder.h b/trunk/paradiseo-eo/src/obsolete/eoGOpBreeder.h deleted file mode 100644 index 0b8c76f65..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoGOpBreeder.h +++ /dev/null @@ -1,62 +0,0 @@ -//----------------------------------------------------------------------------- -// eoBreeder.h -//----------------------------------------------------------------------------- - -#ifndef eoGopBreeder_h -#define eoGopBreeder_h - -//----------------------------------------------------------------------------- - -/***************************************************************************** - * eoBreeder: transforms a population using genetic operators. * - * For every operator there is a rated to be applyed. * - *****************************************************************************/ - -#include -#include -#include -#include -#include - -/** - Base class for breeders using generalized operators, I'm not sure if we - will maintain the generalized operators in their current form, so - it might change. -*/ -template -class eoGOpBreeder: public eoUF&, void> -{ - public: - /// Default constructor. - eoGOpBreeder( eoGOpSelector& _opSel, - eoSelectOneIndiSelector& _selector) - : opSel( _opSel ), selector(_selector) - {} - - /** - * Enlarges the population. - * @param pop The population to be transformed. - */ - void operator()(eoPop& _pop) - { - unsigned size = _pop.size(); - - for (unsigned i = 0; i < size; i++) - { // and the one liner - opSel.selectOp()(selector.bind(_pop,size).bias(i), inserter.bind(_pop)); - } - } - - /// The class name. - std::string className() const { return "eoGOpBreeder"; } - - private: - eoGOpSelector& opSel; - eoSelectOneIndiSelector& selector; - - // the inserter can be local as there's no point in changing it from the outside - eoBackInserter inserter; -}; - -#endif eoBreeder_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoGOpSelector.h b/trunk/paradiseo-eo/src/obsolete/eoGOpSelector.h deleted file mode 100644 index 279d709b7..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoGOpSelector.h +++ /dev/null @@ -1,181 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoGOpSelector.h - Base class for generalized (n-inputs, n-outputs) operator selectors. - Includes code and variables that contain operators and rates. - Also included eoProportionalGOpSelector and eoSequentialGOpSelector, that offer - a few concrete implementations. - - (c) Maarten Keijzer, GeNeura Team 1998, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es -*/ - -#ifndef eoGOpSelector_h -#define eoGOpSelector_h - -//----------------------------------------------------------------------------- - -#include -#include "eoOpSelector.h" -#include "eoWrappedOps.h" // for eoCombinedOp -#include - -using namespace std; - -/** Base class for alternative selectors, which use the generalized operator - interface. eoGOpBreeders expects this class */ -template -class eoGOpSelector: public eoOpSelector, public std::vector*> -{ -public: - - typedef eoOpSelector::ID ID; - - /// Dtor - virtual ~eoGOpSelector() { - for ( std::list< eoGeneralOp* >::iterator i= ownOpList.begin(); - i != ownOpList.end(); i++ ) { - delete *i; - } - } - - /* - Add any kind of operator to the operator mix, - @param _op operator, one of eoMonOp, eoBinOp, eoQuadraticOp or eoGeneralOp - @param _rate the rate at which it should be applied, it should be a probability - - */ - virtual ID addOp( eoOp& _op, float _rate ); - // implementation can be found below - - /** Retrieve the operator using its integer handle - @param _id The id number. Should be a valid id, or an std::exception - will be thrown - @return a reference of the operator corresponding to that id. - */ - virtual eoOp& getOp( ID _id ) - { - return *operator[](_id); - } - - /// - virtual void deleteOp( ID _id ); - // implemented below - - /// - virtual eoOp* Op() - { - return &selectOp(); - } - - /// Select an operator from the operators present here - virtual eoGeneralOp& selectOp() = 0; - - /// - virtual std::string className() const { return "eoGOpSelector"; }; - - /// - void printOn(std::ostream& _os) const {} - // _os << className().c_str() << std::endl; - // for ( unsigned i=0; i!= rates.size(); i++ ) { - // _os << *(operator[](i)) << "\t" << rates[i] << std::endl; - // } - //} - - - const std::vector& getRates(void) const { return rates; } - -private : - std::vector rates; - std::list< eoGeneralOp* > ownOpList; -}; - -/* Implementation of longish functions defined above */ - -template -inline eoOpSelector::ID eoGOpSelector::addOp( eoOp& _op, - float _arg ) -{ - eoGeneralOp* op; - - if (_op.getType() == eoOp::general) - { - op = static_cast*>(&_op); - } - else - { - // if it's not a general op, it's a "old" op; create a wrapped op from it - // and keep it on a std::list to delete them afterwards - // will use auto_ptr when they're readily available - - switch(_op.getType()) - { - case eoOp::unary : - op= new eoWrappedMonOp(static_cast&>(_op)); - break; - case eoOp::binary : - op = new eoWrappedBinOp(static_cast&>(_op)); - break; - case eoOp::quadratic : - op = new eoWrappedQuadraticOp(static_cast&>(_op)); - break; - case eoOp::general : break; // cannot happen, but gcc issued a warning - } - ownOpList.push_back( op ); - } - - // Now 'op' is a general operator, either because '_op' was one or - // because we wrapped it in an appropriate wrapper in the code above. - - typename eoGOpSelector::iterator result = find(begin(), end(), (eoGeneralOp*) 0); // search for nullpointer - - if (result == end()) - { - push_back(op); - rates.push_back(_arg); - return size(); - } - // else - - *result = op; - ID id = result - begin(); - rates[id] = _arg; - return id; -} - -template -inline void eoGOpSelector::deleteOp( ID _id ) -{ - eoGeneralOp* op = operator[](_id); - - operator[](_id) = 0; - rates[_id] = 0.0; - - // check opstd::list and clear it there too. - - std::list< eoGeneralOp* >::iterator it = find(ownOpList.begin(), ownOpList.end(), op); - - if(it != ownOpList.end()) - { - ownOpList.erase(it); - } -} - -#endif eoGOpSelector_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoGenTerm.h b/trunk/paradiseo-eo/src/obsolete/eoGenTerm.h deleted file mode 100644 index 615ab90b2..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoGenTerm.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGenTerm.h -// (c) GeNeura Team, 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOGENTERM_H -#define _EOGENTERM_H - -#include - -/** Generational continuator: continues until a number of generations is reached -*/ -template< class EOT> -class eoGenContinue: public eoContinue { -public: - - /// Ctors/dtors - eoGenContinue( unsigned _totalGens) - : repTotalGenerations( _totalGens ), - thisGeneration(0){}; - - /** Returns false when a certain number of generations is - * reached */ - virtual bool operator() ( const eoPop& _vEO ) { - thisGeneration++; - // std::cout << " [" << thisGeneration << "] "; - return (thisGeneration < repTotalGenerations) ; // for the postincrement - } - - /** Sets the number of generations to reach - and sets the current generation to 0 (the begin)*/ - virtual void totalGenerations( unsigned _tg ) { - repTotalGenerations = _tg; - // thisGeneration = 0; - }; - - /** Returns the number of generations to reach*/ - virtual unsigned totalGenerations( ) { - return repTotalGenerations; - }; - - std::string className(void) const { return "eoGenTerm"; } - -private: - unsigned repTotalGenerations, thisGeneration; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoGeneration.h b/trunk/paradiseo-eo/src/obsolete/eoGeneration.h deleted file mode 100644 index 282de928b..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoGeneration.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoOp.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoGeneration_h -#define eoGeneration_h - -//----------------------------------------------------------------------------- -#include // eoPop -#include -#include // eoSelect, eoTranform, eoMerge - -//----------------------------------------------------------------------------- - -/** eoGeneration - * Single step of a evolutionary algorithm. Applies selection, then genetic - * operators, replaces using a replacement policy, and finally evaluates the - * new ones */ -template class eoGeneration: public eoAlgo -{ - public: - /// Constructor. - eoGeneration(eoSelect& _select, - eoBreeder& _breeder, - eoBinPopOp& _replace, - eoEvalFunc& _evaluator): - select(_select), transform(_transform), - replace(_replace), evaluator( _evaluator) {}; - - /// Copy Constructor. - eoGeneration(eoGeneration& _gen): - select(_gen.select), transform(_gen.transform), - replace(_gen.replace), evaluator( _gen.evaluator ) {}; - - - /// Apply one generation of evolution to the population. - virtual void operator()(eoPop& pop) { - eoPop breeders; - try { - select(pop, breeders); - transform(breeders); - eoPop::iterator i; - // Can't use foreach here since foreach takes the - // parameter by reference - for ( i = breeders.begin(); i != breeders.end(); i++) - evaluator(*i); - replace(breeders, pop); - } catch ( std::exception& e ) { - throw std::runtime_error( e.what() ); - } - } - - /// Class name. - std::string className() const { return "eoGeneration"; } - - private: - eoBinPopOp& select; - eoMonPopOp& transform; - eoBinPopOp& replace; - eoEvalFunc& evaluator; -}; - -//----------------------------------------------------------------------------- - -#endif eoGeneration_h diff --git a/trunk/paradiseo-eo/src/obsolete/eoGenericBinOp.h b/trunk/paradiseo-eo/src/obsolete/eoGenericBinOp.h deleted file mode 100644 index 7c06546a6..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoGenericBinOp.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGenericBinOp.h -// (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoGenericBinOp_h -#define _eoGenericBinOp_h - -#include - -/** Contains base classes for generic binary operators for eoFixedLength - and eoVariableLength (They also derive from the eoOp) as well as - the corresponding converters to actual Ops. -*/ - -/** eoGenericBinOp is the generic binary operator: -it takes two arguments, modifies the first one, and returns a boolean -indicating if the argument has actually been modified -*/ - -template -class eoGenericBinOp: public eoOp, public eoBF -{ -public: - /// Ctor - eoGenericBinOp() - : eoOp( eoOp::binary ) {}; - virtual std::string className() const {return "eoGenericBinOp";}; -}; - -/** Converter from eoGenericBinOp to eoBinOp - the only thinig to do is to transform the boolean into invalidation -*/ - -template -class eoGeneric2TrueBinOp: public eoBinOp -{ -public: - /// Ctor - eoGeneric2TrueBinOp(eoGenericBinOp & _binOp) - : binOp( _binOp ) {}; - virtual std::string className() const {return "eoGeneric2TrueBinOp";} - - virtual void operator()(EOT & _eo1, const EOT & _eo2) - { - if (binOp(_eo1, _eo2)) - _eo1.invalidate(); - } - - private: - eoGenericBinOp & binOp; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoGenericMonOp.h b/trunk/paradiseo-eo/src/obsolete/eoGenericMonOp.h deleted file mode 100644 index f090d1fa5..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoGenericMonOp.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGenericMonOp.h -// (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoGenericMonOp_h -#define _eoGenericMonOp_h - -#include - -/** Contains base classes for generic operators for eoFixedLength - and eoVariableLength (They also derive from the eoOp) as well as - the corresponding converters to actual Ops. -*/ - -/** eoGenericMonOp is the generic unary operator: -it takes one argument, and returns a boolean indicating if the argument -has been modified -*/ - -template -class eoGenericMonOp: public eoOp, public eoUF -{ -public: - /// Ctor - eoGenericMonOp() - : eoOp( eoOp::unary ) {}; - virtual std::string className() const {return "eoGenericMonOp";}; -}; - -/** COnverter from eoGenericMonOp to eoMonOp - the only thinig to do is to transform the boolean into invalidation -*/ - -template -class eoGeneric2TrueMonOp: public eoMonOp -{ -public: - /// Ctor - eoGeneric2TrueMonOp(eoGenericMonOp & _monOp) - : monOp( _monOp ) {}; - virtual std::string className() const {return "eoGeneric2trueMonOp";} - - virtual void operator()(EOT & _eo) - { - if (monOp(_eo)) - _eo.invalidate(); - } - - private: - eoGenericMonOp & monOp; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoGenericQuadOp.h b/trunk/paradiseo-eo/src/obsolete/eoGenericQuadOp.h deleted file mode 100644 index 35455cfbd..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoGenericQuadOp.h +++ /dev/null @@ -1,83 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGenericQuadOp.h -// (c) GeNeura Team, 2000 - EEAAX 1999 - Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoGenericQuadOp_h -#define _eoGenericQuadOp_h - -#include - -/** Contains base classes for generic quadratic operators for eoFixedLength - and eoVariableLength (They also derive from the eoOp) as well as - the corresponding converters to actual Ops. -*/ - -/** eoGenericQuadOp is the generic quadratic operator: -it takes two arguments, modifies the first one, and returns a boolean -indicating if the arguments have actually been modified - -WARNING: even if only 1 argument is modified, it should return true, - and both fitnesses will be invalidated. It is assumed that - quadratic operators do some exchange of genetic material, so - if one is modified, the other is, too! -*/ - -template -class eoGenericQuadOp: public eoOp, public eoBF -{ -public: - /// Ctor - eoGenericQuadOp() - : eoOp( eoOp::quadratic ) {}; - virtual std::string className() const {return "eoGenericQuadOp";}; -}; - -/** Converter from eoGenericQuadOp to eoQuadOp - the only thinig to do is to transform the boolean into invalidation -*/ - -template -class eoGeneric2TrueQuadOp: public eoQuadOp -{ -public: - /// Ctor - eoGeneric2TrueQuadOp(eoGenericQuadOp & _quadOp) - : quadOp( _quadOp ) {}; - virtual std::string className() const {return "eoGeneric2TrueQuadOp";} - - virtual void operator()(EOT & _eo1, EOT & _eo2) - { - if (quadOp(_eo1, _eo2)) - { - _eo1.invalidate(); - _eo2.invalidate(); - } - } - - private: - eoGenericQuadOp & quadOp; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoID.h b/trunk/paradiseo-eo/src/obsolete/eoID.h deleted file mode 100644 index 5763b11ba..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoID.h +++ /dev/null @@ -1,110 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoID.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOID_H -#define EOID_H - -//----------------------------------------------------------------------------- - -#include // std::istream, std::ostream -#include // for std::string - -using namespace std; - -//----------------------------------------------------------------------------- -// eoID -//----------------------------------------------------------------------------- - -/** eoID is a template class that adds an ID to an object.\\ -Requisites for template instantiation are that the object must admit a default ctor -and a copy ctor. The Object must be an eoObject, thus, it must have its methods: className, -printOn, readFrom, that is why we don´t subclass eoObject to avoid multiple inheritance.\\ -IDs can be used to count objects of a a kind, or track them, or whatever. -@see eoObject -*/ -template -class eoID: public Object -{ - public: - /// Main ctor from an already built Object. - eoID( const Object& _o): Object( _o ), thisID(globalID++) {}; - - /// Copy constructor. - eoID( const eoID& _id): Object( _id ), thisID(globalID++ ) {}; - - /// Virtual dtor. They are needed in virtual class hierarchies - virtual ~eoID() {}; - - - ///returns the age of the object - unsigned long ID() const {return thisID;} - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eo1d - */ - //@{ - /** Return the class id. This should be redefined in each class; but - it's got code as an example of implementation. Only "leaf" classes - can be non-virtual. - */ - virtual std::string className() const { return std::string("[eoID]")+Object::className(); }; - - /** - * Read object. - * @param _is A std::istream. - * @throw runtime_std::exception If a valid object can't be read. - */ - virtual void readFrom(std::istream& _is) { - Object::readFrom( _is ); - _is >> thisID; - } - - - /** - * Write object. It's called printOn since it prints the object _on_ a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const{ - Object::printOn( _os ); - _os << thisID; - } -//@} - - private: - - /** Default Constructor. \\ - It´s private so that it is not used anywhere; the right way of using this object - is to create an Object and passing it to an aged by means of the copy ctor; that way - it´s turned into an Aged object*/ - eoID(): Object(), thisID( globalID++ ) {}; - - unsigned long thisID; - static unsigned long globalID; -}; - -template< class Object> -unsigned long eoID< Object >::globalID = 0; - -#endif EOID_H - diff --git a/trunk/paradiseo-eo/src/obsolete/eoInclusion.h b/trunk/paradiseo-eo/src/obsolete/eoInclusion.h deleted file mode 100644 index 5e752a15a..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoInclusion.h +++ /dev/null @@ -1,64 +0,0 @@ -//----------------------------------------------------------------------------- -// eoInclusion.h -//----------------------------------------------------------------------------- - -#ifndef eoInclusion_h -#define eoInclusion_h - -//----------------------------------------------------------------------------- - -#include - -// EO includes -#include -#include - -/***************************************************************************** - * eoInclusion: A replacement algorithm. * - * Creates a new population by selecting the best individuals from the * - * breeders and original populations * - *****************************************************************************/ - -template class eoInclusion: public eoMerge -{ - public: - /// (Default) Constructor. - eoInclusion(const float& _rate = 1.0): eoMerge( _rate ) {} - - /// Ctor from std::istream - eoInclusion( std::istream& _is): eoBinPopOp( _is ) {}; - - /// Dtor - virtual ~eoInclusion() {}; - - /** - * Creates a new population based on breeders and original populations. - * @param breeders The population of breeders. - * @param pop The original population. - */ - void operator()(eoPop& breeders, eoPop& pop) - { - unsigned target = min(static_cast(pop.size() * rate()), - pop.size() + breeders.size()); - - copy(breeders.begin(), breeders.end(), - back_insert_iterator >(pop)); - partial_sort(pop.begin(), pop.begin() + target, pop.end(), - greater()); - pop.erase(pop.begin() + target, pop.end()); - } - - /** @name Methods from eoObject */ - //@{ - /** readFrom and printOn inherited from eoMerge */ - - /** Inherited from eoObject. Returns the class name. - @see eoObject - */ - virtual std::string className() const {return "eoInclusion";}; - //@} -}; - -//----------------------------------------------------------------------------- - -#endif eoInclusion_h diff --git a/trunk/paradiseo-eo/src/obsolete/eoIndiSelector.h b/trunk/paradiseo-eo/src/obsolete/eoIndiSelector.h deleted file mode 100644 index ea4fc34c0..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoIndiSelector.h +++ /dev/null @@ -1,160 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoIndiSelector.h - Abstract selection operator, which is used by the eoGeneralOps - to obtain individuals from a source population. It also gives a - direct descended eoPopIndiSelector that can be used to - initialize objects with an eoPop. For most uses use eoPopIndividualSelector - rather than eoIndividualSelector to derive from. - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoIndiSelector_h -#define eoIndiSelector_h - -#include - -/** - * eoIndividualSelector: This class defines the interface. This - * interface is used by the eoGeneralOp to get new individuals - * from a pop, a subpop or a remote pop - * for convenience when implementing an nary operator a size() and operator[] - * need to be implemented. -*/ - -template -class eoIndiSelector : public eoF -{ -public : - - eoIndiSelector() {} - - virtual ~eoIndiSelector(void) {} - - /** - return the number of individuals that can be selected by an nary operator (through operator[] below) - */ - virtual size_t size(void) const = 0; - - /** - return the specified individual, the size_t argument should be between 0 and eoIndiSelector::size() - */ - virtual const EOT& operator[](size_t i) const = 0; -}; - - -#include - -/** - * eoSelectOneAdaptor: Adaptor class for dispensing individuals. - - It produces the eoIndiSelector interface and an eoSelectOne implementation - This class can then be used for general operators - - various useful things can be done with this class: - you can specify how many of the population can ever be dispensed to the - operators, but you can also specify a preference to the first guy being - dispensed. This is useful if you want to perform the operator on a specific - individual. - - @see eoSelectOne, eoIndiSelector -*/ -template -class eoSelectOneIndiSelector : public eoIndiSelector -{ - public : - eoSelectOneIndiSelector(eoSelectOne& _select) : pop(0), last(0), firstChoice(-1), secondChoice(-1), select(_select) {} - - struct eoUnitializedException{}; - - /** Initialization function, binds the population to the selector, can also - be used to specify an optional end - */ - eoSelectOneIndiSelector& bind(const eoPop& _pop, int _end = -1) - { - pop = &_pop; - last = _end; - - if (last < 0 || last > (int) pop->size()) - { - last = pop->size(); - } - - select.setup(*pop); - - return *this; - } - - /** Bias function to bias the selection function to select specific individuals - first before applying a selection algorithm defined in derived classes - */ - eoSelectOneIndiSelector& bias(int _first, int _second = -1) - { - firstChoice = _first; - secondChoice = _second; - return *this; - } - - - size_t size(void) const { valid(); return last; } - const EOT& operator[](size_t _i) const { valid(); return pop->operator[](_i); } - - eoPop::const_iterator begin(void) const { valid(); return pop->begin(); } - eoPop::const_iterator end(void) const { valid(); return pop->end(); } - - /// operator() does the work. Note that it is not virtual. It calls do_select that needs to be implemented by the derived classes - const EOT& operator()(void) - { - valid(); - if (firstChoice < 0 || firstChoice >= last) - { - // see if we have a second choice - if (secondChoice < 0 || secondChoice >= last) - { - return select(*pop); // let the embedded selector figure out what to do - } - - const EOT& result = pop->operator[](secondChoice); - secondChoice = -1; - return result; - } - - const EOT& result = pop->operator[](firstChoice); - firstChoice = -1; - return result; - } - - private : - - void valid(void) const - { - if (pop == 0) - throw eoUnitializedException(); - } - - const eoPop* pop; // need a pointer as this the pop argument can be re-instated - int last; - int firstChoice; - int secondChoice; - eoSelectOne& select; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoInplaceTransform.h b/trunk/paradiseo-eo/src/obsolete/eoInplaceTransform.h deleted file mode 100644 index a2785506b..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoInplaceTransform.h +++ /dev/null @@ -1,193 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoInplaceTransform.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoInplaceTransform_h -#define eoInplaceTransform_h - -//----------------------------------------------------------------------------- - -#include // std::vector -#include -#include // eoOp, eoMonOp, eoBinOp -#include // eoPop -#include // eoOpSelector -#include -#include -#include - -/***************************************************************************** - * eoInplaceTransform1: transforms a population using genetic operators. * - * It does it in an SGA like manner - *****************************************************************************/ -template class eoInplaceTransform1 : public eoTransform -{ - public: - - /// Default constructor. - eoInplaceTransform1( eoOpSelector& _opSel): opSel( _opSel ), select(defaultSelect) {} - eoInplaceTransform1( eoOpSelector& _opSel, eoSelectOne& _select) - : opSel(_opSel), select(_select) {} - /** - * Transforms a population. - * @param pop The population to be transformed. - */ - void operator()(eoPop& pop) - { - // copy the guys in a newpop - // because otherwise eoSelectRandom might select freshly created individuals - eoPop newpop; - newpop.reserve(pop.size()); - - // Set up general op helper classes - eoSelectOneIndiSelector inplace(select); - eoBackInserter inserter; - - // set up selection routine - select.setup(pop); - - for (unsigned i = 0; i < pop.size(); i++) - { - eoOp* op = opSel.Op(); - - switch (op->getType()) - { - case eoOp::unary: - { - eoMonOp* monop = static_cast* >(op); - newpop.push_back(pop[i]); - (*monop)( newpop.back() ); - break; - } - case eoOp::binary: - { - eoBinOp* binop = static_cast* >(op); - newpop.push_back(pop[i]); - (*binop)(newpop[i], select(pop)); - break; - } - case eoOp::quadratic: - { - - eoQuadraticOp* Qop = static_cast* >(op); - - newpop.push_back(pop[i]); - Chrom& indy1 = newpop.back(); - - if (++i == pop.size()) - newpop.push_back(select(pop)); - else - newpop.push_back(pop[i]); - - (*Qop)(indy1, newpop.back() ); - break; - } - case eoOp::general : - { - eoGeneralOp* Gop = static_cast* >(op); - - inplace.bind(pop); - inplace.bias(i,i + 1); - - inserter.bind(newpop); - unsigned orgsize = newpop.size(); - (*Gop)(inplace, inserter); - unsigned diff = newpop.size() - orgsize; - i = i + (diff-1); - break; - } - } - pop.swap(newpop); // overwrite existing pop - } - }; - - private: - eoOpSelector& opSel; - eoRandomSelect defaultSelect; - eoSelectOne& select; - -}; - -#include - -/***************************************************************************** - * eoInplaceTransform2: transforms a population using general genetic operators. * - * It does it in an SGA like manner - *****************************************************************************/ -template class eoInplaceTransform2 : public eoTransform -{ - public: - - /// Default constructor. - eoInplaceTransform2( eoGOpSelector& _opSel): opSel( _opSel ), select(defaultSelect) {} - eoInplaceTransform2( eoGOpSelector& _opSel, eoSelectOne& _select) - : opSel(_opSel), select(_select) {} - /** - * Transforms a population. - * @param pop The population to be transformed. - */ - void operator()(eoPop& pop) - { - // copy the guys in a newpop - // because otherwise eoSelectRandom might select freshly created individuals - eoPop newpop; - newpop.reserve(pop.size()); - - // Set up general op helper classes - eoSelectOneIndiSelector inplace(select); - eoBackInserter inserter; - - // set up selection routine - select.setup(pop); - - for (unsigned i = 0; i < pop.size(); i++) - { - eoGeneralOp& Gop = opSel.selectOp(); - - inplace.bind(pop); - inplace.bias(i,i + 1); - - inserter.bind(newpop); - unsigned orgsize = newpop.size(); - Gop(inplace, inserter); - - // see how many have been inserted and add that to i (minus one ofcourse) - unsigned diff = newpop.size() - orgsize; - i = i + (diff-1); - } - - pop.swap(newpop); // overwrite existing pop - } - - private: - eoGOpSelector& opSel; - eoRandomSelect defaultSelect; - eoSelectOne& select; - -}; - - -//----------------------------------------------------------------------------- - -#endif eoBreeder_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoInserter.h b/trunk/paradiseo-eo/src/obsolete/eoInserter.h deleted file mode 100644 index f498cd610..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoInserter.h +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoInserter.h - Abstract population insertion operator, which is used by the eoGeneralOps - to insert the results in the (intermediate) population. It also contains - a direct descended eoPopInserter that defines a convenient inbetween class - for working with eoPop. The user will most likely derive from eoPopInserter - rather than eoInserter. - - (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoInserter_h -#define eoInserter_h - -#include -#include - - /** - * eoInserter: Interface class that enables an operator to insert - new individuals into the (intermediate) population for example. -*/ -template -class eoInserter : public eoUF&> -{ - public : - virtual ~eoInserter() {} - - struct eoInserterException{}; -}; - -/** - * eoPopInserter: In-between class that defines an initialization - * of the eoIndividualInserter. -*/ -template -class eoPopInserter : public eoInserter -{ - public : - - eoPopInserter(void) : eoInserter(), thePop(0) {} - - /// Binds the population to this class. This is an initialization routine used by breeders - eoInserter& bind(eoPop& _pop) - { - thePop = &_pop; - return *this; - } - - protected : - - eoPop& pop(void) const { valid(); return *thePop; } - - private : - - void valid(void) const - { - if (thePop == 0) - throw eoInserterException(); - } - - // Need a pointer as the inserter should be able to bind to different populations. - // This is caused by the 'one template parameter only' convention in EO. - - eoPop* thePop; - - // If eoGOpBreeder could be templatized over the inserter and the selector, - // the pop could be a ref as this class could be created every time it is applied - // and subsequently would get the population through the constructor - -}; - - - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoInsertion.h b/trunk/paradiseo-eo/src/obsolete/eoInsertion.h deleted file mode 100644 index 26774f67f..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoInsertion.h +++ /dev/null @@ -1,96 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoInsertion.h -// Inserts new members into the population -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoInsertion_h -#define eoInsertion_h - -//----------------------------------------------------------------------------- - -#include - -// EO includes -#include // eoPop -#include // eoMerge - -/****************************************************************************** - * eoInsertion: A replacement algorithm. - * Creates a new population with all the breeders and the best individuals - * from the original population. - *****************************************************************************/ - -template class eoInsertion: public eoBinaryFunctor&, const eoPop&> -{ - public: - /// (Default) Constructor. - eoInsertion(const float& _rate = 1.0): eoMerge( _rate ) {} - - /// Ctor from std::istream - eoInsertion( std::istream& _is): eoBinPopOp( _is ) {}; - - /// Dtor - virtual ~eoInsertion() {}; - - /** - * Creates a new population based on breeders and original populations. - * @param breeders The population of breeders. Should be sorted to work correctly - * @param pop The original population. - */ - void operator()( eoPop& _breeders, const eoPop& _pop) - { - unsigned target = static_cast((_pop.size() * rate())); - - _pop.swap(_breeders); - - if (target < _pop.size()) - { - partial_sort(_pop.begin(), _pop.begin() + target, _pop.end(), - greater()); - _pop.erase(_pop.begin() + target, _pop.end()); - } - else - { - target = min(target - _pop.size(), _breeders.size()); - partial_sort(_breeders.begin(), _breeders.begin() + target, - _breeders.end(), greater()); - copy(_breeders.begin(), _breeders.begin() + target, - back_insert_iterator >(_pop)); - } - }; - - /** @name Methods from eoObject */ - //@{ - /** readFrom and printOn inherited from eoMerge */ - - /** Inherited from eoObject. Returns the class name. - @see eoObject - */ - virtual std::string className() const {return "eoInsertion";}; - //@} - -}; - -//----------------------------------------------------------------------------- - -#endif eoInsertion_h diff --git a/trunk/paradiseo-eo/src/obsolete/eoKill.h b/trunk/paradiseo-eo/src/obsolete/eoKill.h deleted file mode 100644 index e7ec85a57..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoKill.h +++ /dev/null @@ -1,62 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoKill.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOKILL_h -#define _EOKILL_h - -#include - -#include - -/// Kill eliminates a gen in a chromosome -template -class eoKill: public eoMonOp { -public: - /// - eoKill( ) - : eoMonOp< EOT >(){}; - - /// needed virtual dtor - virtual ~eoKill() {}; - - /// - virtual void operator()( EOT& _eo ) const - { - unsigned pos = rng.random(_eo.length()); - _eo.deleteGene( pos ); - } - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eoOp - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - virtual std::string className() const {return "eoKill";}; - //@} -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoLottery.h b/trunk/paradiseo-eo/src/obsolete/eoLottery.h deleted file mode 100644 index 39ca87230..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoLottery.h +++ /dev/null @@ -1,105 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoLottery.h -// Implements the lottery procedure for selection -// (c) GeNeura Team, 1998 - Marc Schoenauer, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoLottery_h -#define eoLottery_h - -//----------------------------------------------------------------------------- - -#include // std::logic_error -#include // sum_fitness -#include - -// #include // -// #include // accumulate -// #include // eoPop eoSelect MINFLOAT - - -//----------------------------------------------------------------------------- -/** eoLottery: a selection method. Puts into the output a group of individuals - selected using lottery; individuals with higher probability will have more - chances of being selected. - Requires EOT::Fitness to be float castable -*/ -//----------------------------------------------------------------------------- - -template class eoLottery: public eoBinaryFunctor&, eoPop& > -{ - public: - /// (Default) Constructor. - eoLottery(const float& _rate = 1.0): eoBinPopOp(), rate_(_rate) - { - if (minimizing_fitness()) - { - throw std::logic_error("eoLottery: minimizing fitness"); - } - } - - /** actually selects individuals from pop and pushes them back them into breeders - * until breeders has the right size: rate*pop.size() - * BUT what happens if breeders is already too big? - * Too big for what? - */ - void operator()(const eoPop& pop, eoPop& breeders) - { - size_t target = static_cast(rate_ * pop.size()); - - /* Gustavo: uncomment this if it must be here - // test of consistency - if (breeders.size() >= target) { - throw("Problem in eoLottery: already too many offspring"); - } - - double total; - - try - { - total = sum_fitness (pop); - } - catch (eoNegativeFitnessException&) - { // say where it occured... - throw eoNegativeFitnessException(*this); - } - */ - - double total = sum_fitness (pop); - - // selection of chromosomes - while (breeders.size() < target) - { - breeders.push_back(roulette_wheel(pop, total)); - } - } - - double rate(void) const { return rate_; } - - private: - double rate_; // selection rate -}; - -//----------------------------------------------------------------------------- - -#endif eoLottery_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoMutation.h b/trunk/paradiseo-eo/src/obsolete/eoMutation.h deleted file mode 100644 index f3225fffb..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoMutation.h +++ /dev/null @@ -1,90 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoMutation.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- -#ifndef _EOMUTATION_H -#define _EOMUTATION_H - -#include -// EO includes -#include - -/** Generic Mutation of an EO. - This is a virtual class, just to establish the interface for the ctor. - Mutation is usually type-specific -*/ - -template -class eoMutation: public eoMonOp { -public: - - /// - eoMutation(const double _rate=0.0) : eoMonOp< EOT >(), rate(_rate) {}; - - /// - virtual ~eoMutation() {}; - - /// - virtual void operator()( EOT& _eo ) const { - typename EOT::iterator i; - for ( i = _eo.begin(); i != _eo.end(); i ++ ) - applyAt( _eo, *i ); - } - - /// To print me on a stream. - /// @param os The std::ostream. - void printOn(std::ostream& os) const { - os << rate ; - } - - /// To read me from a stream. - /// @param is The std::istream. - void readFrom(std::istream& is) { - is >> rate ; - } - - /** @name Methods from eoObject - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eoMutation";}; - //@} - -protected: - double rate; - -private: -#ifdef _MSC_VER - typedef EOT::Type Type; -#else - typedef typename EOT::Type Type; -#endif - - /// applies operator to one gene in the EO. It is empty, so each descent class must define it. - virtual void applyAt( EOT& _eo, unsigned _i ) const = 0 ; -}; - - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoNegExp.h b/trunk/paradiseo-eo/src/obsolete/eoNegExp.h deleted file mode 100644 index 3d6be5e28..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoNegExp.h +++ /dev/null @@ -1,67 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - ------------------------------------------------------------------------------ - eoNegExp.h - (c) GeNeura Team, 1998 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EONEGEXP_H -#define _EONEGEXP_H - -//----------------------------------------------------------------------------- - -#include - -#include // for base class -#include // for base class - -//----------------------------------------------------------------------------- -// Class eoNegExp -//----------------------------------------------------------------------------- - -/// Generates random numbers using a negative exponential distribution -template -class eoNegExp: public eoRnd -{ - public: - /** - * Default constructor. - * @param _mean Distribution mean - */ - eoNegExp(T _mean): eoRnd(), mean(_mean) {}; - - /** - * Copy constructor. - * @param _rnd the copyee - */ - eoNegExp( const eoNegExp& _rnd): eoRnd( _rnd), mean(_rnd.mean) {}; - - /// Returns an uniform dandom number over the interval [min, max). - virtual T operator()() { - return T( -mean*log((double)rng.rand() / rng.rand_max())); } - - private: - T mean; -}; - -//----------------------------------------------------------------------------- - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoNonUniform.h b/trunk/paradiseo-eo/src/obsolete/eoNonUniform.h deleted file mode 100644 index b5065d21d..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoNonUniform.h +++ /dev/null @@ -1,87 +0,0 @@ -//----------------------------------------------------------------------------- -// eoNonUniform.h -//----------------------------------------------------------------------------- - -#ifndef EONONUNIFORM_H -#define EONONUNIFORM_H - -//----------------------------------------------------------------------------- - -#include // pow - -//----------------------------------------------------------------------------- -// eoNonUniform -//----------------------------------------------------------------------------- - -class eoNonUniform -{ -public: - eoNonUniform(const unsigned _num_step): - step_value(0), num_step_value(_num_step) {} - - void reset() { step_value = 0; } - - const unsigned& step() const { return step_value; } - const unsigned& num_step() const { return num_step_value; } - - operator int() const { return step_value < num_step_value; } - - void operator++() { ++step_value; } - void operator++(int) { ++step_value; } - -private: - unsigned step_value, num_step_value; -}; - -//----------------------------------------------------------------------------- -// eoLinear -//----------------------------------------------------------------------------- - -class eoLinear -{ -public: - eoLinear(const double _first, - const double _last, - const eoNonUniform& _non_uniform): - first(_first), - diff((_last - _first) / (_non_uniform.num_step() - 1)), - non_uniform(_non_uniform) {} - - double operator()() const - { - return first + diff * non_uniform.step(); - } - -private: - double first, diff; - const eoNonUniform& non_uniform; -}; - -//----------------------------------------------------------------------------- -// eoNegExp2 -//----------------------------------------------------------------------------- - -class eoNegExp2 -{ - public: - eoNegExp2(const double _r, - const double _b, - const eoNonUniform& _non_uniform): - r(_r), b(_b), - non_uniform(_non_uniform) {} - - double operator()() const - { - return 1.0 - pow(r, pow(1.0 - (double)non_uniform.step() / - non_uniform.num_step(), b)); - } - - private: - double r, b; - const eoNonUniform& non_uniform; -}; - -//----------------------------------------------------------------------------- - -#endif NON_UNIFORM_HH - diff --git a/trunk/paradiseo-eo/src/obsolete/eoNormal.h b/trunk/paradiseo-eo/src/obsolete/eoNormal.h deleted file mode 100644 index 09a75d7f5..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoNormal.h +++ /dev/null @@ -1,89 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoNormal.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EONORMAL_H -#define _EONORMAL_H - -//----------------------------------------------------------------------------- - -#include -#include // for base class -#include // for random number generator - -//----------------------------------------------------------------------------- -// Class eoNormal -//----------------------------------------------------------------------------- - -/// Generates random number using a normal distribution -template -class eoNormal: public eoRnd -{ - public: - /** - * Default constructor. - * @param _mean Dsitribution mean - * @param _sd Standard Deviation - */ - eoNormal(T _mean, T _sd) - : eoRnd(), mean(_mean), sd(_sd), phase(false) {} - - /** - * Copy constructor. - * @param _rnd the other one - */ - eoNormal( const eoNormal& _rnd ) - : eoRnd( _rnd), mean(_rnd.mean), sd(_rnd.sd), phase(false) {} - - /** Returns an uniform random number over the interval [min, max). - @return an uniform random number over the interval [min, max). - */ - virtual T operator()() { - if (phase) { // Already have one stored up. - phase = false; - return T ( (sqRatio * q * sd) + mean ); - } - - double p, v; - do { - p = ((double)rng.rand() / rng.rand_max())*2-1; - q = ((double)rng.rand() / rng.rand_max())*2-1; - v = p*p + q*q; - } while(v > 1.0 || v <0.25); - - sqRatio = sqrt(-2*log((double)rand() / rng.rand_max()) / v); - phase = true; - return T( (sqRatio * p * sd) + mean ); - }; - - private: - T mean; - T sd; - bool phase; - double sqRatio, q; -}; - -//----------------------------------------------------------------------------- - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoOpFactory.h b/trunk/paradiseo-eo/src/obsolete/eoOpFactory.h deleted file mode 100644 index 2d835d999..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoOpFactory.h +++ /dev/null @@ -1,87 +0,0 @@ -// eoOpFactory.h -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoMonOpFactory.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOOPFACTORY_H -#define _EOOPFACTORY_H - -#include -#include -#include -#include -#include - -//----------------------------------------------------------------------------- - -/** EO Factory. An instance of the factory class to create monary operators. -@see eoSelect*/ -template< class EOT> -class eoOpFactory: public eoFactory< eoOp > { - -public: - - /// @name ctors and dtors - //{@ - /// constructor - eoOpFactory( ) {} - - /// destructor - virtual ~eoOpFactory() {} - //@} - - /** Another factory method: creates an object from an std::istream, reading from - it whatever is needed to create the object. Usually, the format for the std::istream will be\\ - objectType parameter1 parameter2 ... parametern\\ - If there are problems, an std::exception is raised; it should be caught at the - upper level, because it might be something for that level - @param _is an stream from where a single line will be read - @throw runtime_std::exception if the object type is not known - */ - virtual eoOp* make(std::istream& _is) { - eoOp * opPtr = NULL; - std::string objectTypeStr; - _is >> objectTypeStr; - if ( objectTypeStr == "eoDup") { - opPtr = new eoDup(); - } - if ( objectTypeStr == "eoKill" ) { - opPtr = new eoKill( ); - } - if ( objectTypeStr == "eoTranspose" ) { - opPtr = new eoTranspose( ); - } - if ( objectTypeStr == "eoXOver2" ) { - opPtr = new eoXOver2( ); - } - if ( !opPtr ) { - throw objectTypeStr; - } - return opPtr; - }; - - -}; - - -#endif _EOOPFACTORY_H diff --git a/trunk/paradiseo-eo/src/obsolete/eoOpSelector.h b/trunk/paradiseo-eo/src/obsolete/eoOpSelector.h deleted file mode 100644 index d15f620c9..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoOpSelector.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoOpSelector.h - Base class for operator selectors, which return 1 operator according - to some criterium - - (c) GeNeura Team 1998, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es -*/ - -//----------------------------------------------------------------------------- - -#ifndef EOOPSELECTOR_H -#define EOOPSELECTOR_H - -//----------------------------------------------------------------------------- - -#include // std::runtime_error - -#include -#include -#include - -//----------------------------------------------------------------------------- -/** An operator selector is an object that contains a set of EO operators, -and selects one based on whatever criteria. It will be used in the breeder objects.\\ -This class is basically a generic interface for operator selection -*/ -template -class eoOpSelector: public eoObject, public eoPrintable -{ -public: - - // Need virtual destructor for derived classes - virtual ~eoOpSelector() {} - - /// type of IDs assigned to each operators, used to handle them - typedef unsigned ID; - - /** add an operator to the operator set - @param _op a genetic operator, that will be applied in some way - @param _arg the operator rate, usually, or any other argument to the operator - @return an ID that will be used to identify the operator - */ - virtual ID addOp( eoOp& _op, float _arg ) = 0; - - /** Gets a non-const reference to an operator, so that it can be changed, - modified or whatever - @param _id a previously assigned ID - @throw runtime_std::exception if the ID does not exist*/ - virtual eoOp& getOp( ID _id ) = 0; - - /** Remove an operator from the operator set - @param _id a previously assigned ID - @throw runtime_std::exception if the ID does not exist - */ - virtual void deleteOp( ID _id ) = 0; - - /// Returns a genetic operator according to the established criteria - virtual eoOp* Op() = 0; - - /// Methods inherited from eoObject - //@{ - - /** Return the class id. - @return the class name as a std::string - */ - virtual std::string className() const { return "eoOpSelector"; }; - - /** - * Read object and print objects are left for subclasses to define. - */ - //@} -}; - -//----------------------------------------------------------------------------- - -#endif EO_H diff --git a/trunk/paradiseo-eo/src/obsolete/eoParser.h b/trunk/paradiseo-eo/src/obsolete/eoParser.h deleted file mode 100644 index fb837370f..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoParser.h +++ /dev/null @@ -1,838 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -/* eoParser.h - some classes to parser either the command line or a parameter file - - (c) Marc Schoenauer and Geneura team, 1999 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _PARSER_H -#define _PARSER_H - -#include // for strcasecmp ... maybe there's a c++ way of doing it? - // Yep there is, but needs either a simple functor for the equal function - // or a hand-rolled std::string template class (this isn't that horrible as - // it sounds, it just means a new std::string_traits class with two changed - // function definitions. (Maarten) -#ifdef _MSC_VER -#define strcasecmp(a,b) _strnicmp(a,b,strlen(a)) -#endif - -// STL includes -#include -#include -#include -#include -#include -#include - -// include for std::exceptions -#include // std::logic_error - -//----------------------------------------------------------------------------- -// Class Param -//----------------------------------------------------------------------------- - -/** - * A param repesents an argument that can be passed to a program in the command line - */ -class Param { -public: - - /** - * Type of params - */ - enum valueType { INT, UL, FLOAT, STRING, BOOL, ARRAY, TITLE }; - - /** - * Construct an Param. - * @param _shortName Short name of the argument - * @param _longName Long name of the argument - * @param _default The default value - * @param _valueType Type of the parameter ("integer","unsigned long", "float","char", "bool" and so on) - * @param _description Description of the parameter. What is useful for. - * @param _required If it is a necessary parameter or not - */ - Param (std::string _shortName="-h", std::string _longName="--help", - std::string _default = "", valueType _valType= STRING, - std::string _description="Shows this help", - bool _required=false ) - : repShortName(_shortName), repLongName(_longName), - repDescription(_description ), repEnv(""), repDefault(_default), - repValue(_default), repValType( _valType), - repRequired( _required), repChanged(false) { - - const char *c = repLongName.c_str(); - for(unsigned i=0; i getArray (const std::string& _shortName, const std::string& _longName, - const std::string& _default = "", - const std::string& _description="", bool _required=false) { - Param param ( _shortName, _longName, _default, Param::ARRAY, _description, _required ); - parse( param ); - params.push_back( param ); - - istrstream is(param.value().c_str()); - std::vector retValue; - std::string tmpStr; - - is >> tmpStr; - while(is){ - retValue.push_back(tmpStr); - is >> tmpStr; - } - return retValue; - }; - - /** - * Gets the int value of a param given the full description of the parameter - * @param see above - * @std::exception BadType if the param's value isn't a correct int - */ - - int getInt (const std::string& _shortName, const std::string& _longName, - const std::string& _default = "", - const std::string& _description="", bool _required=false) { - Param param ( _shortName, _longName, _default, Param::INT, _description, _required ); - parse( param ); - params.push_back( param ); - - // now gets the value - istrstream is( param.value().c_str()); - int retValue; - is >> retValue; - - if (!is) { - throw Parser::BadType(param.longName().c_str(), param.value().c_str(), "float"); - return 0; - } else { - return retValue; - } - }; - - /** - * Gets the unsigned lon value of a param given ... - * @param see above - * @std::exception BadType if the param's value isn't a correct unsigned long - */ - - int getUnsignedLong (const std::string& _shortName, const std::string& _longName, - const std::string& _default = "", - const std::string& _description="", bool _required=false) { - Param param ( _shortName, _longName, _default, Param::UL, _description, _required ); - parse( param ); - params.push_back( param ); - - // now gets the value - istrstream is( param.value().c_str()); - unsigned long retValue; - is >> retValue; - - if (!is) { - throw Parser::BadType(param.longName().c_str(), param.value().c_str(), "float"); - return 0; - } else { - return retValue; - } - }; - - /** - * Gets the float value of a param given the description of the parameter - * @param see above - * @std::exception BadType if the param's value isn't a correct int - */ - - float getFloat (const std::string& _shortName, const std::string& _longName, - const std::string& _default = "", - const std::string& _description="", bool _required=false) { - Param param ( _shortName, _longName, _default, Param::FLOAT, _description, _required ); - parse( param ); - params.push_back( param ); - - // now gets the value - istrstream is( param.value().c_str()); - float retValue; - is >> retValue; - - if (!is) { - throw Parser::BadType(param.longName().c_str(), param.value().c_str(), "float"); - return 0; - } else { - return retValue; - } - }; - - - std::string parse_std::string (std::istream & _is) { - std::string paramValue; - _is >> paramValue; - //if the first character of the std::string or array is not a " => just one word or array-element. - if( paramValue[0] != '\"' ) - return paramValue; - - if( paramValue[1] == '\"' ) // the empty std::string - return "" ; - - //else => read until the next " (the end of the std::string). - const char *c = paramValue.c_str(); - std::string tmpStr = c+1;// skip the " - if (tmpStr[tmpStr.length()-1] == '\"') { // one word only - //tmpStr[tmpStr.length()-1] = '\0'; - tmpStr.erase( &tmpStr[tmpStr.length()-1] ); - return tmpStr; - } - - bool stop = false; - while (_is && !stop) { - _is >> paramValue; - // test last character of paramValue for " - if (paramValue[paramValue.length()-1] == '\"') { - paramValue.erase( ¶mValue[paramValue.length()-1] ); - //paramValue[paramValue.length()-1] = '\0'; - stop = true; - } - tmpStr = tmpStr + " " + paramValue ; - } - return tmpStr; - }; - - - void parse (Param & param) { - int i; - std::string tmpStr, ReadStr, FirstWord; - - // FIRST: look if the associated environment variables have any value, to use them. - if( getenv( param.environment().c_str() ) ) { - //std::cout <<"\t\t ENV param: ,"<shortName()<<", ,"<environment().c_str())<> tmpStr; - if ( ( !strcmp(tmpStr.c_str(), param.shortName().c_str()) ) || - ( !strcasecmp(tmpStr.c_str(), param.longName().c_str()) ) - ) { // found the keyword - - Param::valueType tmp = param.valType(); - switch ( tmp ) { - case Param::TITLE: - std::cerr << "Error, we should not be there" << std::endl; - exit(1); - break; - case Param::BOOL : - param.value("true" ); - break; - - case Param::INT: - case Param::UL: - case Param::FLOAT: - is >> tmpStr; - param.value(tmpStr); - break; - - case Param::STRING: - tmpStr = parse_std::string(is); - param.value(tmpStr); - break; - - case Param::ARRAY: - ReadStr = parse_std::string(is); - if ( ReadStr != "<" ) { // no "<" ">" --> a single std::string in the array - param.value(ReadStr); - break; - } - // read next word - and keep it in case of <> mismatch - FirstWord = parse_std::string(is); - // test for empty array - if (FirstWord == ">") { - param.value(""); - break; - } - // else, read all words until ">" - tmpStr = FirstWord; - ReadStr = parse_std::string(is); - while ( is && (ReadStr != ">") ) { - tmpStr = tmpStr + " " + ReadStr; - ReadStr = parse_std::string(is); - } - - if (!is) { // there was a "<" without the corresponding ">" - throw Parser::BadArrayParam( param.longName(), FirstWord ); - param.value(FirstWord); // assume unique std::string - } - else - param.value(tmpStr); - break; - } - } - } - } - - - // LAST (highest priority) parse the command line arguments - for (i=1 ; i" --> a single std::string in the array - param.value(ReadStr); - }else{ - // read next word - and keep it in case of <> mismatch - FirstWord = parse_argv[i++]; - - // test for empty array - if (FirstWord == ">") { - param.value(""); - }else{ - // else, read all words until ">" - tmpStr = FirstWord; - ReadStr = parse_argv[i++]; - while ( (i=parse_argc) && (ReadStr != ">") ) { // there was a "<" without the corresponding ">" - throw Parser::BadArrayParam( param.longName(), FirstWord ); - param.value(FirstWord); // assume unique std::string - }else{ - param.value(tmpStr); - } - } - } - } - } - break; - } - - //MS after trying all possibilities, and if the value has not changed - // though the parameter was required, protest! - if (param.required() && !param.changed()) - throw Parser::MissingReqParam(param.shortName()); - - }; - - /** - * Sets a new value for a param given its short name or its long name. - * @param _name One of the names of the param. - * @param _value Value to be assigned. - * @std::exception UnknownArg if the param doesn't exist - * @std::exception MissingVal if the param hasn't got a value - */ - Param::valueType setParamValue (const std::string& _name, const char* _value){ - std::vector::iterator pos; - - for (pos=params.begin() ; pos!=params.end() ; pos++) - if (pos->shortName()==_name || pos->longName()==_name) - break; - - // if found ... - if (pos!=params.end()) { - switch ( pos->valType() ) { - case Param::TITLE: - std::cerr << "Error, we should not be there" << std::endl; - exit(1); - break; - case Param::BOOL : - pos->value("true"); - break; - case Param::ARRAY : - case Param::INT: - case Param::UL: - case Param::FLOAT: - case Param::STRING: - if (_value != NULL){ - pos->value(_value); - }else{ - throw Parser::MissingVal(_name); - return Param::BOOL; - } - break; - } // switch - - return pos->valType(); - - }else{ - throw Parser::UnknownArg(_name); - return Param::BOOL; - } - }; - - /// the output method - generate the .status file (unless other name is given) - friend std::ostream & operator<< ( std::ostream & os, Parser & _parser ) - { - std::vector::iterator p; - //print every param with its value - for ( p=_parser.params.begin(); p!=_parser.params.end(); p++ ) { - switch ( p->valType() ) { - case Param::BOOL : - if( p->value() == (std::string) "true") - os << p->longName(); - else - os << "#" << p->longName() ; // so the name of the bool is commented out - break; - - case Param::INT: - case Param::UL: - case Param::FLOAT: - os << p->longName()<<" "<value(); - break; - - case Param::ARRAY : - os << p->longName() << " < " << p->value().c_str() << " >" ; - break; - case Param::STRING: - os << p->longName()<<" \""<value().c_str()<<"\" "; - break; - case Param::TITLE: - os << std::endl; // Title is in the description below - break; - } // switch - os << "\t #" << p->shortName() << " : " << p->description(); - if (p->valType() != Param::TITLE) - os << " [" << p->defValue() << "]" ; - os << std::endl; - } - return os; - }; - - /** - * Prints out the std::list of parameters in the output file (if specified) - */ - void outputParam(std::string _OutputFile="") - { - if (_OutputFile == "") { - _OutputFile = parse_argv[0]; - _OutputFile += ".status"; - } - - std::ofstream os(_OutputFile.c_str()); - os << "Parameters used by \"" << programName << "\" (" - << programDescription << ")" << std::endl << std::endl; - os << *this; - }; - - /** - * Prints an automatic help in the standard output using the information - * provided by parameters - */ - void printHelp() { - std::vector::iterator p; - // unsigned i; - - // print program name and description - std::cout << this->programName <<": "<valType() != Param::TITLE ) { - // if( p->valType() != Param::BOOL ){ - // std::cout << ( (!p->required())?"[":""); - // std::cout <shortName()<<" value"<required())?"]":"")<<" "; - // }else{ - // std::cout << "["<shortName()<<"] "; - // } - // } // for p - std::cout << "Where:"<valType() != Param::TITLE ) { - // Victor: 04-Jan-2000 - // Modified because the - and -- prefixes are not needed. - /* - std::cout << "-" << p->shortName() - <<", --"<longName()<<":\t" - <description()<shortName() - <<", " << p->longName()<<":\t" - <description()<valType() ) { - case Param::INT: std::cout <<"Integer"; break; - case Param::UL: std::cout <<"Unsigned Long Integer"; break; - case Param::FLOAT: std::cout <<"Float"; break; - case Param::STRING: std::cout <<"String"; break; - case Param::ARRAY: std::cout <<"An array of std::strings, enclosed within < >"; break; - case Param::BOOL: std::cout << "Flag"; break; - case Param::TITLE: break; - } // switch - if(p->valType() == Param::BOOL) - std::cout << ") True if present" << std::endl; - else - std::cout<<") "<<( (p->required())?"Required":"Optional" )<<". By default: "<defValue()<description() << std::endl; - } - } // for p - std::cout << std::endl; - }; - - /** - * This class managges unknown argument std::exceptions. - */ - class UnknownArg : public std::logic_error { - public: - - /** - * Constructor - * @param _arg std::string to be shown when the std::exception occurs - */ - UnknownArg( const std::string& _arg): std::logic_error( "Invalid argument: "+_arg ) { }; - }; - - /** - * This class managges bad param types. - */ - class BadType : public std::logic_error { - public: - - /** - * Constructor - * @param _param The param - * @param _value The value of the param - */ - BadType(const std::string& _param, const std::string& _value, const std::string& _correctType) - : std::logic_error("The value '" + _value + "' assigned to the argument " + _param + " isn't a correct "+_correctType) { }; - }; - - /** - * This class managges std::exceptions produced when there isn't a value for a parameter. - */ - class MissingVal : public std::logic_error { - public: - - /** - * Constructor - * @param _param The param - */ - MissingVal(const std::string& _param) : std::logic_error("Missing value for parameter " + _param) {}; - }; - - /** - * This class managges std::exceptions produced when the user forgot a required parameter. - */ - class MissingReqParam : public std::logic_error { - public: - - /** - * Constructor - * @param _shortName The param's short name - */ - MissingReqParam(const std::string& _shortName) : std::logic_error("Missing required parameter " + _shortName) {}; - }; - - /** - * This class managges std::exceptions du to < without a > in array value - */ - class BadArrayParam : public std::logic_error { - public: - - /** - * Constructor - * @param _param The param - * @param _first_word The first word read after the "<" - */ - BadArrayParam(const std::string& _param, const std::string &_first_word) : - std::logic_error("Array parameter " + _param + ": No matching > (" + _first_word - + "... )") {}; - }; - - void createParamFile( std::ostream& _os ) { - std::vector::iterator p; - for ( p=params.begin(); p!=params.end(); p++ ) { - switch( p->valType() ) { - case Param::TITLE: - _os << std::endl << "# -- "; - break; - case Param::BOOL: - _os << ((p->value()=="true" )?"":"#") - << p->longName(); - break; - case Param::STRING: - _os << p->longName()<<"\t\""<value()<<"\""; - break; - case Param::ARRAY: - _os << p->longName()<<"\t< "<value()<<" >"; - break; - default: - _os << p->longName()<<"\t"<value(); - break; - } // switch - _os << "\t #" << p->description() << std::endl; - } - } -private: - std::vector params; - std::string programName; - std::string programDescription; - int parse_argc; - char **parse_argv; - std::string InputFileName; - -}; - - - - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoParserUtils.cpp b/trunk/paradiseo-eo/src/obsolete/eoParserUtils.cpp deleted file mode 100644 index dea8ed096..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoParserUtils.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// See eoParserUtils.h - -#include -#include -/// Reproducible random seed - -// For the Mersenne-Twister used in EO, the entire rng needs to be saved - -//---------------------------------- -void InitRandom( Parser & parser) { -//---------------------------------- - unsigned long _seed; - try { - _seed = parser.getUnsignedLong("-S", "--seed", "0", - "Seed for Random number generator" ); - } - catch (logic_error & e) - { - cout << e.what() << endl; - parser.printHelp(); - exit(1); - } - - if (_seed == 0) { // use clock to get a "random" seed - _seed = (unsigned long)( time( 0 ) ); - ostrstream s; - s << _seed; - parser.setParamValue("--seed", s.str()); // so it will be printed out in the status file, and canbe later re-used to re-run EXACTLY the same run - } - //#error This does not work: load and save the entire state of the rng object. - rng.reseed(_seed); - - return; -} - diff --git a/trunk/paradiseo-eo/src/obsolete/eoParserUtils.h b/trunk/paradiseo-eo/src/obsolete/eoParserUtils.h deleted file mode 100644 index 742c4b58c..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoParserUtils.h +++ /dev/null @@ -1,24 +0,0 @@ -/*------------------------------------------------------- -File..........: eoParserUtils.h -Author........: Geneura Team, Marc Shoenauer - (this file: Victor Rivas, vrivas@ujaen.es) -Date..........: 17-Dec-1999 -Description...: Some useful things that use eoParser. -Modifications.: -------------------- 1 ------------------- - Author.......: - Date.........: - Description..: -*/ - -#ifndef EO_PARSER_UTILS -#define EO_PARSER_UTILS - -#include "../utils/eoRNG.h" -#include "eoParser.h" -/// Reproducible random seed - -//---------------------------------- -void InitRandom( Parser & parser); -//---------------------------------- -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoPopOps.h b/trunk/paradiseo-eo/src/obsolete/eoPopOps.h deleted file mode 100644 index bd1dbf687..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoPopOps.h +++ /dev/null @@ -1,142 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoPopOps.h - (c) GeNeura Team, 1998 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOPOPOPS_H -#define _EOPOPOPS_H - -using namespace std; - -/** -@author Geneura Team -@version 0.0 - -@version 0.1 : -MS- 22/10/99 - added the added the derived class eoSelectOne for which you only have - to define the selection of 1 individual - (e.g. for tournament, age selection in SSGA, ...) - added at the BASE level (after all it's themost frequen case) - the pure virtual operator that selects one single individual: - EOT eoSelect::operator ( const eoPop& _parents, - const EOT& _first = 0) - added the optional second parameter to transform::operator() -*/ - -//----------------------------------------------------------------------------- -#include - -//----------------------------------------------------------------------------- -/** eoTransform is a class that transforms or does something on a population. - */ -template -class eoMonPopOp: public eoObject{ - - public: - /** ctor */ - eoMonPopOp() {}; - - /// Dtor - virtual ~eoMonPopOp(){}; - - /// Pure virtual transformation function. Does something on the population - virtual void operator () ( eoPop& _pop ) = 0; - - /** @name Methods from eoObject */ - //@{ - /** readFrom and printOn are not overriden - */ - /** Inherited from eoObject. Returns the class name. - @see eoObject - */ - virtual std::string className() const {return "eoMonPopOp";}; - //@} - -}; - -//----------------------------------------------------------------------------- - -/** eoSelect usually takes elements from one population, with or without transformation, and transfers them to the other population */ -template -class eoBinPopOp: public eoObject{ - - public: - /** ctor - */ - eoBinPopOp() {}; - - /// Dtor - virtual ~eoBinPopOp(){}; - - /** Pure virtual transformation function. Extracts something from the parents, - and transfers it to the siblings - @param _parents the initial generation. Will be kept constant - @param _siblings the created offspring. Will be usually an empty population - */ - virtual void operator () (eoPop& _parents, eoPop& _siblings ) = 0; - - /** @name Methods from eoObject */ - //@{ - /** readFrom and printOn are not overriden - */ - /** Inherited from eoObject. Returns the class name. - @see eoObject - */ - virtual std::string className() const {return "eoBinPopOp";}; - //@} - -}; - -//----------------------------------------------------------------------------- - -/** eoSelectone selects only one element from a whole population. Usually used to - select mates*/ -template -class eoSelectOne: public eoObject{ - - public: - /** ctor - */ - eoSelectOne() {}; - - /// Dtor - virtual ~eoSelectOne(){}; - - /** Pure virtual transformation function. Extracts something from the parents, - and transfers it to the siblings - @param _parents the initial generation. Will be kept constant - @param _siblings the created offspring. Will be usually an empty population - */ - virtual const EOT& operator () ( const eoPop& _parents ) = 0; - - /** @name Methods from eoObject */ - //@{ - /** readFrom and printOn are not overriden - */ - /** Inherited from eoObject. Returns the class name. - @see eoObject - */ - virtual std::string className() const {return "eoSelectOne";}; - //@} - -}; -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoProblem.h b/trunk/paradiseo-eo/src/obsolete/eoProblem.h deleted file mode 100644 index 5c219123e..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoProblem.h +++ /dev/null @@ -1,45 +0,0 @@ -//----------------------------------------------------------------------------- - -// eoProblem.h - -// (c) GeNeura Team 1998 - -/* - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOPROBLEM_H -#define EOPROBLEM_H - -//----------------------------------------------------------------------------- - -template class Problem -{ - public: - typedef T Chrom; - typedef typename T::Gene Gene; - typedef typename T::Fitness Fitness; - - virtual Fitness operator()(const Chrom& chrom) = 0; -}; - -//----------------------------------------------------------------------------- - -#endif EOPROBLEM_H - diff --git a/trunk/paradiseo-eo/src/obsolete/eoProportional.h b/trunk/paradiseo-eo/src/obsolete/eoProportional.h deleted file mode 100644 index 7116e7863..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoProportional.h +++ /dev/null @@ -1,71 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoProportional.h -// (c) GeNeura Team, 1998 - EEAAX 1999, Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoProportional_h -#define eoProportional_h - -//----------------------------------------------------------------------------- - -#include -#include -#include - -//----------------------------------------------------------------------------- -/** eoProportional: select an individual proportional to her stored fitness - value - -*/ -//----------------------------------------------------------------------------- - -template class eoProportional: public eoSelectOne -{ -public: - /// Sanity check - eoProportional(const eoPop& pop = eoPop()): - total((pop.size() == 0) ? -1.0 : sum_fitness(pop)) - { - if (minimizing_fitness()) - throw std::logic_error("eoProportional: minimizing fitness"); - } - - void setup(const eoPop& _pop) - { - total = sum_fitness(_pop); - } - - /** do the selection, call roulette_wheel. - */ - const EOT& operator()(const eoPop& _pop) - { - return roulette_wheel(_pop, total) ; - } - -private : - typename EOT::Fitness total; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoProportionalGOpSel.h b/trunk/paradiseo-eo/src/obsolete/eoProportionalGOpSel.h deleted file mode 100644 index a52bac60f..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoProportionalGOpSel.h +++ /dev/null @@ -1,51 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoProportionalGOpSel.h - Proportional operator selector, selects operators proportionally to its rate - - (c) Maarten Keijzer, GeNeura Team 1998, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es -*/ - -#ifndef eoProportionalGOpSel_h -#define eoProportionalGOpSel_h - -//----------------------------------------------------------------------------- - -#include // eoOpSelector - -template -class eoProportionalGOpSel : public eoGOpSelector -{ -public : - eoProportionalGOpSel() : eoGOpSelector() {} - - /** Returns the operator proportionally selected */ - virtual eoGeneralOp& selectOp() - { - unsigned what = rng.roulette_wheel(getRates()); - return *operator[](what); - } - - /// - virtual std::string className() const { return "eoGOpSelector"; }; - -}; - -#endif eoProportionalGOpSel_h diff --git a/trunk/paradiseo-eo/src/obsolete/eoProportionalOpSel.h b/trunk/paradiseo-eo/src/obsolete/eoProportionalOpSel.h deleted file mode 100644 index 72c17dc2c..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoProportionalOpSel.h +++ /dev/null @@ -1,158 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - - -//----------------------------------------------------------------------------- - -// eoProportionalOpSel.h - -// (c) GeNeura Team 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EOPROPORTIONALOPSEL_H -#define EOPROPORTIONALOPSEL_H - -//----------------------------------------------------------------------------- - -#include // std::runtime_error -#include // greater -#include - -// Includes from EO -#include -#include -#include - -//----------------------------------------------------------------------------- -/** This class selects operators according to probability. All operator percentages -should add up to one; if not, an std::exception will be raised.\\ -Operators are represented as std::pairs (proportion,operator) -*/ -template -class eoProportionalOpSel: public eoOpSelector, - public multimap*,greater > -{ -public: - - typedef multimap*,greater > MMF; - - /// default ctor - eoProportionalOpSel() - : eoOpSelector(), MMF(), opID(1) {}; - - /// virtual dtor - virtual ~eoProportionalOpSel() {}; - - /** Gets a non-const reference to an operator, so that it can be changed, - modified or whatever - @param _id a previously assigned ID - @throw std::runtime_error if the ID does not exist*/ - - virtual eoOp& getOp( ID _id ) { - MMF::iterator i=begin(); - ID j = 1; - while ( (i++!=end()) && (j++ != _id) ); - if ( i == end() ) - throw std::runtime_error( "No such id in eoProportionalOpSel::op\n" ); - return *(i->second); - //return i->second; - } - - /** add an operator to the operator set - @param _op a genetic operator, that will be applied in some way - @param _arg an argument to the operator, usually operator rate - @return an ID that will be used to identify the operator - */ - virtual ID addOp( eoOp& _op, float _arg ) { - insert( MMF::value_type( _arg,& _op ) ); - return opID++; - } - - /** Remove an operator from the operator set - @param _id a previously assigned ID - @throw std::runtime_error if the ID does not exist - */ - virtual void deleteOp( ID _id ) { - unsigned j; - MMF::iterator i; - for ( i=begin(), j=1; i!=end(); i++,j++ ) { - if( j == _id ) - erase( i ); - return; - } - if ( i == end() ) - throw std::runtime_error( "No such id in eoProportionalOpSel::op\n" ); - }; - - /// Returns a genetic operator according to the established criteria - virtual eoOp* Op() { - // Check that all add up to one - float acc = 0; - MMF::iterator i; - unsigned j; - for ( i=begin(), j=1; i!=end(); i++,j++ ) { - acc +=i->first; - } - if ( acc != 1.0 ) - throw std::runtime_error( "Operator rates added up different from 1.0" ); - - // If here, operators ordered by rate and no problem - float aRnd = rng.uniform(); - i=begin(); - acc = 0; - do { - acc += i->first; - } while ( (acc <= aRnd ) && (i++!=end() ) ); - if ( i == end() ) - throw std::runtime_error( "Operator not found in eoProportionalOpSelector" ); - return i->second; - //return i->second; - } - - /// Methods inherited from eoObject - //@{ - - /** Return the class id. - @return the class name as a std::string - */ - virtual std::string className() const { return "eoProportionalOpSel"; }; - - /** Print itself: inherited from eoObject implementation. Declared virtual so that - it can be reimplemented anywhere. Instance from base classes are processed in - base classes, so you don´t have to worry about, for instance, fitness. - @param _s the std::ostream in which things are written*/ - virtual void printOn( std::ostream& _s ) const{ - _s << className().c_str() << std::endl; - for ( MMF::const_iterator i=begin(); i!=end(); i++ ) { - _s << i->first << "\t" << *(i->second )<< std::endl; - } - } - - - //@} - - private: - ID opID; - }; - - //----------------------------------------------------------------------------- - -#endif EO_H - diff --git a/trunk/paradiseo-eo/src/obsolete/eoRandomBreed.h b/trunk/paradiseo-eo/src/obsolete/eoRandomBreed.h deleted file mode 100644 index 61b76e08d..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoRandomBreed.h +++ /dev/null @@ -1,200 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoRandomBreed.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EORANDOMBREED_H -#define _EORANDOMBREED_H - -#include - -/** Takes those on the selection std::list and creates a std::list of new individuals - * Destroys the genetic pool */ -template -class EORandomBreed: public EOBreeder{ -public: - - typedef std::vector< EOOp * > vecOpT; - - /// Ctor - EORandomBreed():vecOp() {}; - - /** Copy ctor - * Needs a copy ctor for the EO operators */ - EORandomBreed( const EORandomBreed& _rndBreeder) - :vecOp() { - copy( _rndBreeder.vecOp.begin(), _rndBreeder.vecOp.end(), - vecOp.begin() ); - }; - - /// Dtor - virtual ~EORandomBreed() {}; - - /// Adds a genetic operator to the Breeder with a rate - virtual void addOp( EOOp* _eop ) { - vecOp.push_back( _eop); - }; - - /// Takes the operator pointed to from the operator std::list - virtual void deleteOp( const EOOp* _eop); - - /** Takes the genetic pool, and returns next generation, destroying the - * genetic pool container - * Non-const because it might order the operator std::vector. In this case, - * it mates all members of the population randomly */ - virtual void operator() ( EOPop< EOT >& _ptVeo ); - -// I don´t like this, but I need it for the RandomBreedLog -protected: - vecOpT vecOp; - -}; - - -//_________________________ IMPLEMENTATIONS _____________________________ - -template< class EOT> -void EORandomBreed::deleteOp( const EOOp* _eop) { - vecOpT::iterator i; - for ( i = vecOp.begin(); i != vecOp.end(); i++ ) { - if ( *i == _eop ) { - vecOp.erase( i ); - } - } -} - -//________________________________________________________________________ -template -void EORandomBreed::operator() ( EOPop< EOT >& _ptVeo ) { - - unsigned select= _ptVeo.size(); // New population same size than old - sort( vecOp.begin(), vecOp.end(), SortEOpPt() ); - - unsigned i; - float totalPriority = 0; - for ( i = 0; i < vecOp.size(); i ++ ) { - totalPriority += vecOp[i]->Priority(); - } - - unsigned inLen = _ptVeo.size(); // size of in subPop - for ( i = 0; i < select; i ++ ) { - // Create an alias of a random input EO with copy ctor - EOT& newEO = _ptVeo[ i ]; - - // Choose operator - float randomDraw = totalPriority *(rand() % 1000) /1000.0; - vecOpT::const_iterator j; - float accumulated = 0; - for ( j = vecOp.begin(); - ( j != vecOp.end() ) && ( accumulated < randomDraw); - j ++ ) { - accumulated+= (*j)->Priority(); // the priority - } - - if ( j != vecOp.begin() ) - j--; // previous one - EOOp* thisOp = *j; - - if (thisOp->readArity() == unary ) { - MonOp* mopPt = dynamic_cast< MonOp* > ( thisOp ); - (*mopPt)( newEO ); - } else { - unsigned chosenMatch = rand() % inLen; - BinOp* bopPt = dynamic_cast< BinOp* > ( thisOp ); - (*bopPt)( newEO, _ptVeo[chosenMatch] ); - } - - } -} - -#include // For factory - -/** Exactly as RandomBreed, except that uses factories*/ -template -class EORandomBreedLog: public EORandomBreed{ -public: - - typedef std::vector< EOOp * > vecOpT; - - /// Ctor - EORandomBreedLog( EOFactory & _eof ):EORandomBreed(), factory( _eof ) {}; - - /** Copy ctor - * Needs a copy ctor for the EO operators */ - EORandomBreedLog( const EORandomBreedLog& _rndBreeder) - :EORandomBreed( _rndBreeder ), factory( _rndBreeder.factory) {}; - - /// Dtor - virtual ~EORandomBreedLog() {}; - - /** Takes the genetic pool, and returns next generation, destroying the - * genetic pool container - * Non-const because it might order the operator std::vector. In this case, it mates - * all population randomly */ - virtual void operator() ( EOPop< EOT >& _ptVeo ) { - - unsigned select= _ptVeo.size(); // New population same size than old - sort( vecOp.begin(), vecOp.end(), SortEOpPt() ); - - unsigned i; - float totalPriority = 0; - for ( i = 0; i < vecOp.size(); i ++ ) { - totalPriority += vecOp[i]->Priority(); - } - - unsigned inLen = _ptVeo.size(); // size of in subPop - for ( i = 0; i < select; i ++ ) { - // Create a copy of a random input EO with copy ctor - EOT* newEO = factory.make( _ptVeo[ i ] ); - - // Choose operator - float randomDraw = totalPriority *(rand() % 1000) /1000.0; - vecOpT::const_iterator j; - float accumulated = 0; - for ( j = vecOp.begin(); - ( j != vecOp.end() ) && ( accumulated < randomDraw); - j ++ ) { - accumulated+= (*j)->Priority(); // the priority - } - - if ( j != vecOp.begin() ) - j--; // previous one - EOOp* thisOp = *j; - - if (thisOp->readArity() == unary ) { - MonOp* mopPt = dynamic_cast< MonOp* > ( thisOp ); - (*mopPt)( *newEO ); - } else { - unsigned chosenMatch = rand() % inLen; - BinOp* bopPt = dynamic_cast< BinOp* > ( thisOp ); - (*bopPt)( *newEO, _ptVeo[chosenMatch] ); - } - - } - - }; -private: - EOFactory& factory; - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoRandomIndiSelector.h b/trunk/paradiseo-eo/src/obsolete/eoRandomIndiSelector.h deleted file mode 100644 index 990c6c4ad..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoRandomIndiSelector.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoRandomIndiSelector.h - Selects individuals at random. - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoRandomIndiSelector_h -#define eoRandomIndiSelector_h - -#include - -/** -\ingroup selectors - * eoRandomSelector: just selects a random child -*/ -template -class eoRandomIndiSelector : public eoPopIndiSelector -{ - public : - - eoRandomIndiSelector(void) : eoPopIndiSelector() {} - virtual ~eoRandomIndiSelector(void) {} - - /// very complex function that returns just an individual - const EOT& do_select(void) - { - return operator[](rng.random(size())); - } - -}; - -#endif - - diff --git a/trunk/paradiseo-eo/src/obsolete/eoRandomSelect.h b/trunk/paradiseo-eo/src/obsolete/eoRandomSelect.h deleted file mode 100644 index 26faa9eae..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoRandomSelect.h +++ /dev/null @@ -1,130 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - - -//----------------------------------------------------------------------------- -// eoRandomSelect.h - -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef EORANDOMSELECT_H -#define EORANDOMSELECT_H - -//----------------------------------------------------------------------------- - -#include -#include // for accumulate - -#include - -#include -#include - -//----------------------------------------------------------------------------- - -/** - * eoRandomSelect: an selection operator, which selects randomly a percentage - - of the initial population. - */ -template class eoRandomSelect: public eoBinPopOp -{ - public: - /// - eoRandomSelect(const float& _percent = 0.4): - eoBinPopOp(), repRate(_percent) {}; - - /// - virtual ~eoRandomSelect() {}; - - /// Takes a percentage of the population randomly, and transfers it to siblings - virtual void operator() ( eoPop& _parents, eoPop& _siblings ) { - // generates random numbers - unsigned num_chroms = (unsigned)(repRate * _parents.size()); - - // selection of chromosomes - do { - _siblings.push_back(_parents[rng.random(_parents.size())]); - } while (_siblings.size() < num_chroms); - } - - - - /// @name Methods from eoObject - - //@{ - - /** - - * Read object. Reads the percentage - - * Should call base class, just in case. - - * @param _s A std::istream. - - */ - - virtual void readFrom(std::istream& _s) { - - _s >> repRate; - - } - - - - /** Print itself: inherited from eoObject implementation. Declared virtual so that - - it can be reimplemented anywhere. Instance from base classes are processed in - - base classes, so you don´t have to worry about, for instance, fitness. - - @param _s the std::ostream in which things are written*/ - - virtual void printOn( std::ostream& _s ) const{ - - _s << repRate; - - } - - - - /** Inherited from eoObject - - @see eoObject - - */ - - std::string className() const {return "eoRandomSelect";}; - - - - //@} - - - - - private: - float repRate; -}; - -//----------------------------------------------------------------------------- - -#endif EOGSRANDOMSELECT_H diff --git a/trunk/paradiseo-eo/src/obsolete/eoRank.h b/trunk/paradiseo-eo/src/obsolete/eoRank.h deleted file mode 100644 index 588fb1dab..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoRank.h +++ /dev/null @@ -1,140 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - - -//----------------------------------------------------------------------------- - -// eoRank.h - -// (c) GeNeura Team 1999 - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - - - -#ifndef _eoRank_H - -#define _eoRank_H - - -#include - -#include - - -/** - * Takes those on the selection std::list and creates a std::list of new individuals - * Destroys the genetic pool. There's no requisite on EOT, other than the - * genetic operators can be instantiated with it, so it fully depstd::ends on - * the genetic operators used. If generic genetic operators are used, then - * EOT must be an EO - */ - -template -class eoRank: public eoSelect, public eoObject, public eoPrintable -{ - public: - - /// Ctor - eoRank( unsigned _newPopSize, eoOpSelector& _opSelector) - :eoSelect(), opSelector( _opSelector ), repNewPopSize( _newPopSize ) {}; - - /// Dtor - virtual ~eoRank() {}; - - /** Takes the genetic pool, and returns next generation, destroying the - * genetic pool container - * Non-const because it might order the operator std::vector*/ - virtual void operator() ( const eoPop< EOT >& _ptVeo, - - eoPop< EOT >& _siblings ) const { - - unsigned inLen = _ptVeo.size(); // size of subPop - if ( !inLen ) - throw std::runtime_error( "zero population in eoRank"); - - for ( unsigned i = 0; i < repNewPopSize; i ++ ) { - // Create a copy of a random input EO with copy ctor. The members of the - // population will be selected by rank, with a certain probability of - // being selected several times if the new population is bigger than the - // old - - EOT newEO = _ptVeo[ i%inLen ]; - - // Choose operator - - const eoOp& thisOp = opSelector.Op(); - if ( thisOp.readArity() == unary ) { - const eoMonOp& mopPt = dynamic_cast< const eoMonOp& > ( thisOp ); - mopPt( newEO ); - } else { - const eoBinOp& bopPt = dynamic_cast< const eoBinOp& > ( thisOp ); - - EOT mate = _ptVeo[ rng.random(inLen) ]; - bopPt( newEO, mate ); - } - - - _siblings.push_back( newEO ); - } - }; - - /** This is a _new_ function, non defined in the parent class - * It´s used to set the selection rate */ - void select( unsigned _select ) { - repNewPopSize = _select; - } - - - - - /// Methods inherited from eoObject - - //@{ - - - - /** Return the class id. - - @return the class name as a std::string - - */ - - virtual std::string className() const { return "eoRank"; }; - - virtual void printOn( std::ostream& _s ) const - { - _s << repNewPopSize; - }; - - - - - - //@} - - -private: - eoOpSelector & opSelector; - unsigned repNewPopSize; - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoScheme.h b/trunk/paradiseo-eo/src/obsolete/eoScheme.h deleted file mode 100644 index a66695b0f..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoScheme.h +++ /dev/null @@ -1,360 +0,0 @@ -// eoScheme.h -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoScheme.h -// (c) GeNeura Team, 1998 - EEAAX 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOSCHEME_H -#define _EOSCHEME_H - -using namespace std; - -/** -@author Geneura Team -- EEAAX 99 -@version 0.0 - Evolution scheme - - - It seems to me that some important conceptual object is missing - (and God knows I hate turning everything into objects! - - So here is the evolution scheme: - - regroups selection (nb of offspring to generate AND selection method - and replacement (from parents + offspring) - - allows to include elitism, eugenism of the worst, ... more easily - - a generation is then simply an evolution scheme and some operators - and a full algo is a generation + a termination condition - - this is mainly a container class -*/ - -//----------------------------------------------------------------------------- - -#include -#include "eoStochTournament.h" -#include "eoDetTournament.h" -#include "eoLottery.h" -#include "eoUniformSelect.h" -#include "eoInclusion.h" -#include "eoESReplace.h" -#include "eoEPTournament.h" - -/** eoScheme is a class that does more sophisticated evolution that eoEasyEA - */ -template -class eoScheme: public eoAlgo{ - - public: - - // Dtor - virtual ~eoScheme() {}; - - // copy ctor is impossible because of pointers to pure virual types. - // any idea???? --- leave the default copy ctor -- JJ - - /** the Parser-based constructor - these switch cases could be turned into as many subclasses - - but how do you return the subclass to the caller of the constructor??? - */ - eoScheme(Parser & parser) { - // read the popsize - parser.AddTitle("Description of evolution"); - std::string Evol; - std::string SelectString; - // temporary - float rate_offspring; - - try { - Evol = parser.getString("-EE", "--evolution", "GGA", - "Evolution scheme (GGA, SSGA, ESPlus, ESComma, EP, General)" ); - popsize = parser.getInt("-EP", "--population", "10", - "Population size" ); - } - catch (std::exception & e) - { - std::cout << e.what() << std::endl; - parser.printHelp(); - exit(1); - } - // now the big switch - if (! strcasecmp(Evol.c_str(), "GGA") ) { - // GGA parameters: popsize, selection method (and its parameters) - nb_offspring = 0; - rate_offspring = 1.0; // generational replacement: #offspring=popsize - try { - // parser.AddTitle("GGA Parameters"); - SelectString = parser.getString("-ES", "--selection", "Tournament", - "Selection method (Roulette, tournament)" ); - if (! strcasecmp(SelectString.c_str(), "roulette") ) { - ptselect = new eoLottery (); - ptselect_mate = new eoLottery (); - } - if (! strcasecmp(SelectString.c_str(), "tournament") ) { - float rate = parser.getFloat("-Et", "--TselectSize", "2", - "Tournament size or rate" ); - if (rate < 0.5) - throw out_of_range("Invalid tournament rate"); - else if ( rate < 1 ) { // binary stochastic tournament - ptselect = new eoStochTournament(rate); - ptselect_mate = new eoStochTournament(rate); - } else { // determeinistic tournament of size (int)rate - ptselect = new eoDetTournament((int)rate); - ptselect_mate = new eoDetTournament((int)rate); - } - } - // end choice of selection - ptreplace = new eoInclusion(); - // put here the choice of elitism - } - catch (std::exception & e) - { - std::cout << e.what() << std::endl; - parser.printHelp(); - exit(1); - } - } // end of GGA - - // SSGA - standard, one offspring only at the moment - if (! strcasecmp(Evol.c_str(), "SSGA") ) { - // SSGA parameters: popsize, selection tournament size - // the replacement is limited to repace_worst, though - // it could be easy to add the anti-tournament replacement method - nb_offspring = 1; - // NOTE: of course it's a bit of a waste to use the standard loop - // for one single offspring ... - try { - // parser.AddTitle("SSGA Parameters"); - float _rate = parser.getFloat("-ET", "--TSelectSize", "2", - "Selection tournament size" ); - if ( _rate < 1 ) { // binary stochastic tournament - ptselect = new eoStochTournament(_rate); - ptselect_mate = new eoStochTournament(_rate); - } else { // determeinistic tournament of size (int)rate - ptselect = new eoDetTournament((int)_rate); - ptselect_mate = new eoDetTournament((int)_rate); - } - } - catch (std::exception & e) - { - std::cout << e.what() << std::endl; - parser.printHelp(); - exit(1); - } - // end choice of selection - ptreplace = new eoInclusion(); - // put here the choice of elitism - } // end of SSGA - - if (! strcasecmp(Evol.c_str(), "ESPlus") ) { - // ES evolution parameters: lambda = _nb_offspring - - try { - // parser.AddTitle("ES Scheme parameters"); - nb_offspring = parser.getInt("-EL", "--lambda", "50", - "Lambda" ); - ptselect = new eoUniformSelect(); - ptselect_mate = new eoUniformSelect(); - ptreplace = new eoESPlus(); - } - catch (std::exception & e) - { - std::cout << e.what() << std::endl; - parser.printHelp(); - exit(1); - } - } // end of ESPlus - - if (! strcasecmp(Evol.c_str(), "ESComma") ) { - // ES evolution parameters: lambda = _nb_offspring - - try { - // parser.AddTitle("ES Scheme parameters"); - nb_offspring = parser.getInt("-EL", "--lambda", "50", - "Lambda" ); - ptselect = new eoUniformSelect(); - ptselect_mate = new eoUniformSelect(); - ptreplace = new eoESComma(); - } - catch (std::exception & e) - { - std::cout << e.what() << std::endl; - parser.printHelp(); - exit(1); - } - } // end of ESCOmma - - if (! strcasecmp(Evol.c_str(), "EP") ) { - // EP evoltion scheme: only the EP-tournament replacement size is neede - - try { - // parser.AddTitle("EP Scheme parameters"); - nb_offspring = popsize; - ptselect = new eoCopySelect; /* no selection */ - ptselect_mate = new eoUniformSelect(); - /* What, crossover in EP :-) */ - unsigned tsize = parser.getInt("-ET", "--TournamentSize", "6", - "Size of stocahstic replacement tournament" ); - ptreplace = new eoEPTournament(tsize); - } - catch (std::exception & e) - { - std::cout << e.what() << std::endl; - parser.printHelp(); - exit(1); - } - } // end of EP - - - // everyting is read: now the consistency checks and other preliminary steps - nb_offspring = (nb_offspring ? nb_offspring : - (int) (rate_offspring * popsize) ); - if (!nb_offspring) - nb_offspring = 1; /* al least one offspring */ - - } - - - // accessors - unsigned PopSize(){return popsize;} - unsigned NbOffspring(){return nb_offspring ;} - eoSelect* PtSelect(){return ptselect;} - eoSelect* PtSelectMate(){return ptselect_mate;} - eoMerge* PtMerge() {return ptreplace;} - // NOTE: need pointers otherwise you have many warnings when initializing - - /** @name Methods from eoObject */ - //@{ - /** Inherited from eoObject. Returns the class name. - @see eoObject - */ - std::string className() const {return "eoScheme";}; - //@} - private: - unsigned popsize; /* but should it be here ??? */ - unsigned nb_offspring; /* to generate through selection+operators */ - - // these are provisional for later use - - // float rate_offspring; /* or rate */ - // unsigned nb_survive; /* the best guys that are transmitted anyway */ - // float rate_survive; /* or rate */ - // unsigned nb_die; /* the worst guys that do not enev enter selection */ - // float rate_die; /* or rate */ - - eoSelect * ptselect; - eoSelect* ptselect_mate; - eoMerge* ptreplace; - bool elitism; /* put back old best in the new population if necessary */ -}; -/* examples: - for most populat schemes, nb_survive = nb_die = 0 - in GGA and EP, nb_offspring = pop.size() - in ES, nb_offspring = lambda - in SSGA, nb_offspring = 1 (usually) - - elitism can be used anywhere - though stupid in ES, EP and SSGA who are - estd::list by definition -*/ - -#endif _EOSCHEME_H - -/* - ///////////////////////////////// - /// Applies one generation of evolution to the population. - virtual void operator()(eoPop& pop) { - // Determine the number of offspring to create - // either prescribed, or given as a rate - unsigned nb_off_local = (nb_offspring ? nb_offspring : - (int) rint (rate_offspring * pop.size()) ); - nb_off_local = (nb_off_local ? nb_off_local : 1); // in case it is rounded to 0! - - // the worst die immediately - unsigned nb_die_local = (nb_die ? nb_die : - (int) rint (rate_die * pop.size()) ); - // and the best will survive without selection - unsigned nb_survive_local = (nb_survive ? nb_survive : - (int) rint (rate_survive * pop.size()) ); - - // before selection, erase the one to die - // sort old pop - just in case! - sort(pop.begin(), pop.end(), greater()); - Fitness oldBest = pop[0].fitness(); // store for elitism - eoPop fertilepop = pop; - if (nb_die_local) - erase(fertilepop.end()-nb_die_local, fertilepop.end()); - - eoPop offspring; // = select(fertilepop, nb_off_local); - select(fertilepop, offspring, nb_off_local); - - // now apply the operators to offspring - for (unsigned i=0; i* op = seqselop.Op(&id); - while (op) { // NULL if no more operator - EOT mate; - if (op->readArity() == binary) // can eventually be skipped - mate = select_mate(pop, tmp); // though useless ig mutation - else - mate = tmp; // assumed: mate will not be used! - std::cout << op->className() << " for offspring " << i << std::endl; - tmp = (*op)( tmp, mate, pop ); - op = seqselop.Op(&id); - } - offspring[i]=tmp; //* where it belongs - } - - eoPop::iterator i; - // Can't use foreach here since foreach takes the - // parameter by reference - for ( i = offspring.begin(); i != offspring.end(); i++) - evaluator(*i); - - //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - // not exact - later!!! - // -MS- - - // first, copy the ones that need to survive - // assumed: pop is still sorted! - eoPop finalPop; - // and the best survive without selection - if (nb_survive_local) { - finalPop.resize(nb_survive_local); - copy( finalPop.begin(), fertilepop.begin(), - fertilepop.begin()+nb_survive_local ); - } - - // now call the replacement method - replace(finalPop, tmpPop); - - // handle elitlism - sort(finalPop.begin(), finalPop.end(), greater()); - if (elitism) { - if ( finalPop[0].fitness() < oldBest ) // best fitness has decreased! - copy(finalPop.end()-1, pop[0]); - } - // return finalPop; - } -*/ diff --git a/trunk/paradiseo-eo/src/obsolete/eoSelectRandom.h b/trunk/paradiseo-eo/src/obsolete/eoSelectRandom.h deleted file mode 100644 index 84ea72f81..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoSelectRandom.h +++ /dev/null @@ -1,52 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSelectRandom.h -// (c) GeNeura Team, 1998 - EEAAX 1999, Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoSelectRandom_h -#define eoSelectRandom_h - -//----------------------------------------------------------------------------- - -#include -#include - -//----------------------------------------------------------------------------- -/** eoSelectRandom: a selection method that selects ONE individual randomly - -MS- 22/10/99 */ -//----------------------------------------------------------------------------- - -template class eoSelectRandom: public eoSelectOne -{ - public: - - /// not a big deal!!! - virtual const EOT& operator()(const eoPop& pop) - { - return pop[rng.random(pop.size())] ; - } -}; - -#endif eoSelectRandom_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoSequentialGOpSel.h b/trunk/paradiseo-eo/src/obsolete/eoSequentialGOpSel.h deleted file mode 100644 index 63acac43b..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoSequentialGOpSel.h +++ /dev/null @@ -1,55 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSequentialGOpSel.h - Sequential Generalized Operator Selector. - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com), GeNeura Team 1998, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es -*/ - -#ifndef eoSequentialGOpSel_h -#define eoSequentialGOpSel_h - -//----------------------------------------------------------------------------- - -#include -/** eoSequentialGOpSel: return a sequence of - operations to be applied one after the other. The order of the - operators is significant. If for instance you first add a - quadratic operator and then a mutation operator, - - @see eoGeneralOp, eoCombinedOp -*/ -template -class eoSequentialGOpSel : public eoGOpSelector -{ -public : - - virtual eoGeneralOp& selectOp() - { - return combined.bind(*this, getRates()); - } - -private : - - eoCombinedOp combined; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoSimpleDEA.h b/trunk/paradiseo-eo/src/obsolete/eoSimpleDEA.h deleted file mode 100644 index 3eef44c79..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoSimpleDEA.h +++ /dev/null @@ -1,105 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSimpleDEA.h -// (c) Marc Schoenauer, Maarten Keijzer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSimpleDEA_h -#define _eoSimpleDEA_h - -//----------------------------------------------------------------------------- - -#include -#include -#include -#include -#include - -/** eoSimpleDEA: a very simple Distribution Evolution Algorithm - * - * The algorithm that evolves a probability distribution - * on the spaces of populations with the loop - * generate a population from the current distribution - * evaluate that population - * update the distribution -*/ - -template class eoSimpleDEA: public eoDEA -{ - public: - - /** Ctor from an eoDistribUpdater - * ... plus an eoEval and eoContinue of course - */ - eoSimpleDEA(eoDistribUpdater& _update, - eoEvalFunc& _eval, - unsigned _popSize, - eoContinue& _continuator - ) : - update(_update), - eval(_eval), - popSize(_popSize), - continuator(_continuator) - {} - - /** The algorithm: - * generate pop from distrib, - * evaluate pop, - * update distrib - */ - virtual void operator()(eoDistribution& _distrib) - { - eoPop pop(popSize, _distrib); - do - { - try - { - apply(_distrib, pop); // re-init. of _pop from distrib - - apply(eval, pop); // eval of current population - - update(_distrib, pop); // updates distrib from _pop - - } - catch (std::exception& e) - { - std::string s = e.what(); - s.append( " in eoSimpleDEA"); - throw std::runtime_error( s ); - } - } while ( continuator( pop ) ); - } - - private: - eoDistribUpdater & update; - - eoEvalFunc& eval; - - unsigned popSize; - - eoContinue& continuator; -}; - -//----------------------------------------------------------------------------- - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoSteadyStateEA.h b/trunk/paradiseo-eo/src/obsolete/eoSteadyStateEA.h deleted file mode 100644 index caa9ebedd..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoSteadyStateEA.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSteadyStateEA.h -// (c) GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoSteadyStateEA_h -#define _eoSteadyStateEA_h - -//----------------------------------------------------------------------------- - -#include -#include - -/** EOSteadyStateEA: - An easy-to-use evolutionary algorithm, just supply - a general operator selector, a selector for choosing the ones - to reproduce and an eoSteadyStateInserter that takes care of evaluating - and inserter the guy/girl in the steady state population. -*/ -template class eoSteadyStateEA: public eoAlgo -{ - public: - /// Constructor. - eoSteadyStateEA( - eoGOpSelector& _opSelector, - eoSelectOne& _selector, - eoSteadyStateInserter& _inserter, - eoContinue& _continuator, - unsigned _steps = 0 ) - : step(_opSelector, _selector, _inserter, _steps), - continuator( _continuator) - {}; - - /// Constructor from an already created generation - eoSteadyStateEA(eoSteadyStateTransform& _gen, - eoContinue& _continuator): - step(_gen), - continuator( _continuator){}; - - /// Apply one generation of evolution to the population. - virtual void operator()(eoPop& pop) { - do { - try - { - step(pop); - } - catch (std::exception& e) - { - std::string s = e.what(); - s.append( " in eoSteadyStateEA "); - throw std::runtime_error( s ); - } - } while ( continuator( pop ) ); - - } - - private: - eoSteadyStateTransform step; - eoContinue& continuator; -}; - -//----------------------------------------------------------------------------- - -#endif eoEasyEA_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoSteadyStateInserter.h b/trunk/paradiseo-eo/src/obsolete/eoSteadyStateInserter.h deleted file mode 100644 index 57fd187e4..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoSteadyStateInserter.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoSteadyStateInserter.h - Still abstract population insertion operator that is initialized with - and eoEvalFunc object to be able to evaluate individuals before inserting - them. - - (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoSteadyStateInserter_h -#define eoSteadyStateInserter_h - - -#include -#include - -/** - * eoSteadyStateInserter: Interface class that enables an operator to update - * a population with a new individual... it contains an eoEvalFunc derived object to - * make sure that every individual is evaluated before it is inserted -*/ -template -class eoSteadyStateInserter : public eoPopInserter -{ -public : - eoSteadyStateInserter(eoEvalFunc& _eval): - eoPopInserter(), - eval(_eval) {} - -protected : - eoEvalFunc& eval; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoSteadyStateTransform.h b/trunk/paradiseo-eo/src/obsolete/eoSteadyStateTransform.h deleted file mode 100644 index 890920a77..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoSteadyStateTransform.h +++ /dev/null @@ -1,88 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoSteadyStateTransform.h -// (c) Maarten Keijzer 2000, GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoSteadyStateTransform_h -#define eoSteadyStateTransform_h - -//----------------------------------------------------------------------------- - -#include // eoPop -#include - -#include -#include -#include - -//----------------------------------------------------------------------------- - -/** eoSteadyStateTransform - * Single step of a steady state evolutionary algorithm. - * Proceeds by updating one individual at a time, by first selecting parents, - * creating one or more children and subsequently overwrite (a) bad individual(s) -*/ -template class eoSteadyStateTransform: public eoTransform -{ - public: - /// Constructor. - eoSteadyStateTransform( - eoGOpSelector& _opSelector, - eoSelectOne& _selector, - eoSteadyStateInserter& _inserter, - unsigned _steps = 0) : - opSelector(_opSelector), - selector(_selector), - inserter(_inserter) , - steps(_steps) {}; - - - /// Apply one generation of evolution to the population. - virtual void operator()(eoPop& pop) - { - unsigned nSteps = steps; - if (nSteps == 0) - { - nSteps = pop.size(); // make a 'generation equivalent' - } - - for (unsigned i = 0; i < nSteps; ++i) - { - selector.bind(pop); - inserter.bind(pop); - - opSelector.selectOp()(selector, inserter); - } - - } - - private: - eoGOpSelector& opSelector; - eoSelectOneIndiSelector selector; - eoSteadyStateInserter& inserter; - unsigned steps; -}; - -//----------------------------------------------------------------------------- - -#endif eoGeneration_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoStochTournament.h b/trunk/paradiseo-eo/src/obsolete/eoStochTournament.h deleted file mode 100644 index 5569ce624..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoStochTournament.h +++ /dev/null @@ -1,69 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoStochTournament.h -// (c) GeNeura Team, 1998 - EEAAX 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef eoStochTournament_h -#define eoStochTournament_h - -//----------------------------------------------------------------------------- - -#include -#include // accumulate -#include // eoSelectOne -#include // stochastic_tournament - -//----------------------------------------------------------------------------- -/** eoStochTournament: a selection method that selects ONE individual by - binary stochastic tournament - -MS- 24/10/99 */ -//----------------------------------------------------------------------------- - -template class eoStochTournament: public eoSelectOne -{ - public: - - /// - eoStochTournament(float _Trate = 1.0 ) : eoSelectOne(), Trate(_Trate) - { - // consistency check - if (Trate < 0.5) { - std::cerr << "Warning, Tournament rate should be > 0.5\nAdjusted to 0.55\n"; - Trate = 0.55; - } - } - - /** Perform the stochastic tournament */ - virtual const EOT& operator()(const eoPop& pop) - { - return stochastic_tournament(pop, Trate); - } - -private: - float Trate; -}; - -//----------------------------------------------------------------------------- - -#endif eoDetTournament_h - diff --git a/trunk/paradiseo-eo/src/obsolete/eoStochTournamentInserter.h b/trunk/paradiseo-eo/src/obsolete/eoStochTournamentInserter.h deleted file mode 100644 index 3856aeccb..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoStochTournamentInserter.h +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoStochTournamentInserter.h - Concrete steady state inserter. It is initialized with a population and - inserts individuals in the population based on an inverse stochastic - tournament - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoStochTournamentInserter_h -#define eoStochTournamentInserter_h - - -#include -#include - -/** -\ingroup inserters - * eoStochTournamentInserter: Uses an inverse stochastic tournament to figure - * out who gets overridden by the new individual. It resets the fitness of the - * individual. -*/ -template -class eoStochTournamentInserter : public eoSteadyStateInserter -{ -public : - - eoStochTournamentInserter(eoEvalFunc& _eval, double _t_rate): - eoSteadyStateInserter(_eval), t_rate(_t_rate) - { - if (t_rate < 0.5) - { // warning, error? - t_rate = 0.55; - } - - if (t_rate >= 1.0) - { - t_rate = 0.99; // 1.0 would mean deterministic tournament - } - } - - eoInserter& operator()(const EOT& _eot) - { - EOT& eo = inverse_stochastic_tournament(pop(), t_rate); - eo = _eot; // overwrite loser of tournament - - eo.invalidate(); - return *this; - } - - std::string className(void) const { return "eoStochTournamentInserter"; } - -private : - double t_rate; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoStringMutation.h b/trunk/paradiseo-eo/src/obsolete/eoStringMutation.h deleted file mode 100644 index 1612da4a9..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoStringMutation.h +++ /dev/null @@ -1,77 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoStringMutation.h -// (c) GeNeura Team, 1999 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOSTRINGMUTATION_H -#define _EOSRTINGMUTATION_H - -#include -// EO includes -#include -#include -#include - -/** Mutation of an eoString. - The eoString's genes are changed by adding or substracting 1 to -*/ - -template -class eoStringMutation: public eoMutation { - public: - - /// - eoStringMutation(const double _rate=0.0) : eoMutation< EOT >(_rate) {}; - - /// - virtual ~eoStringMutation() {}; - - /** @name Methods from eoObject - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eoStringMutation";}; - //@} - - - private: - -#ifdef _MSC_VER - typedef EOT::Type Type; -#else - typedef typename EOT::Type Type; -#endif - - /// applies operator to one gene in the EO. It increments or decrements the value of that gene by one. - virtual void applyAt( EOT& _eo, unsigned _i ) const { - if( rate < uniform() ) { - _eo.gene(_i) += ( rng.flip(0.5))? (1) : (-1) ; - } - } - -}; - -//----------------------------------------------------------------------------- - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoTerm.h b/trunk/paradiseo-eo/src/obsolete/eoTerm.h deleted file mode 100644 index 198cb939b..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoTerm.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoTerm.h -// (c) GeNeura Team, 1999, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOTERM_H -#define _EOTERM_H - -//#include - -// forward definition for fast(er) compilation -template class eoPop; - - -/** Termination condition for the genetic algorithm - * Takes the population as input, returns true for continue, - * false for termination (although this begs the question why this - * terminator is not called a continuator) - * - */ -template< class EOT> -class eoTerm : public eoObject { -public: - - /// Ctors/dtors - virtual ~eoTerm() {}; - - /** Returns false if the training has to stop, true if it - continues \\ - It is non-const since it might change the internal state - of the object, for instance, updating local data. - */ - virtual bool operator() ( const eoPop< EOT >& _pop ) = 0 ; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoTournament.h b/trunk/paradiseo-eo/src/obsolete/eoTournament.h deleted file mode 100644 index 01dc4619e..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoTournament.h +++ /dev/null @@ -1,157 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - - -//----------------------------------------------------------------------------- - -// eoTournament.h - -// (c) GeNeura Team, 1998 - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - - - -#ifndef _EOGSTOURN_H -#define _EOGSTOURN_H - - -//----------------------------------------------------------------------------- - - -#include -#include - - -//----------------------------------------------------------------------------- - - -/** Selects those who are going to reproduce using Tournament selection: - - a subset of the population of size tournamentSize is chosen, - - and the best is selected for the new population . -@author JJ Merelo, 1998 -*/ -template -class eoTournament:public eoBinPopOp{ -public: - - /// Proportion of guys that are going to be eliminated - eoTournament( float _perc, unsigned _tSize): - eoBinPopOp(), perc( _perc), repTournamentSize(_tSize){}; - - /// Virtual dtor - ~eoTournament(){}; - - /// Set tourn size - void tournamentSize( unsigned _size ) { repTournamentSize = _size; }; - - /** - * Selects from the initial pop using tournament selection, and copies it - - * to the other population. - */ - virtual void operator() ( eoPop& _vEO, eoPop& _aVEO) { - - unsigned thisSize = _vEO.size(); - - // Build std::vector - for ( unsigned j = 0; j < thisSize*perc; j ++ ) { - // Randomly select a tournamentSize set, and choose the best - eoPop veoTournament; - - for ( unsigned k = 0; k < repTournamentSize; k++ ) { - unsigned chosen = rng.random(thisSize); - EOT newEO = _vEO[chosen]; - veoTournament.push_back( newEO ); - } - - eoPop::const_iterator best = std::max_element(veoTournament.begin(), - veoTournament.end()); - if (best == veoTournament.end()) { - throw std::runtime_error("error in void eoTournament::operator(eoPop&, eoPop&)"); - } - - // The best individual is chosen for the new population - _aVEO.push_back( *best ); - } - }; - - - /// @name Methods from eoObject - - //@{ - - /** - - * Read object. Reads the percentage - - * Should call base class, just in case. - - * @param _s A std::istream. - - */ - - virtual void readFrom(std::istream& _s) { - - _s >> perc >> repTournamentSize; - - } - - - - /** Print itself: inherited from eoObject implementation. Declared virtual so that - - it can be reimplemented anywhere. Instance from base classes are processed in - - base classes, so you don´t have to worry about, for instance, fitness. - - @param _s the std::ostream in which things are written*/ - - virtual void printOn( std::ostream& _s ) const{ - - _s << perc << std::endl << repTournamentSize << std::endl; - - } - - - - /** Inherited from eoObject - - @see eoObject - - */ - - std::string className() const {return "eoTournament";}; - - - - //@} - - - private: - - float perc; - unsigned repTournamentSize; - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoTranspose.h b/trunk/paradiseo-eo/src/obsolete/eoTranspose.h deleted file mode 100644 index 51671830a..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoTranspose.h +++ /dev/null @@ -1,94 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoTranspose.h -// (c) GeNeura Team, 1998 Maarten Keijzer 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOTRANSPOSE_h -#define _EOTRANSPOSE_h - -#include -#include - -#include -#include -#include -#include -/** -Transposition operator: interchanges the position of two genes -of an EO. -*/ -template -class eoTranspose: public eoMonOp -{ -public: - - // Specialization for a std::vector - void operator()(eoFixedLength& _eo ) - { - unsigned pos1 = rng.random(_eo.size()), - pos2 = rng.random(_eo.size()); - - if (pos1 != pos2) - swap(_eo[pos1], _eo[pos2]); - - if (_eo[pos1] != _eo[pos2]) - _eo.invalidate(); - } - - // Specialization for a std::list - void operator()(eoVariableLength& _eo ) - { - unsigned pos1 = rng.random(_eo.size()), - pos2 = rng.random(_eo.size()); - - if (pos1 == pos2) - return; - - if (pos1 > pos2) - swap(pos1,pos2); - - pos2 -= pos1; - - typename EOT::iterator it1 = _eo.begin(); - - while (pos1--) {it1++;} - - typename EOT::iterator it2 = it1; - - while (pos2--) {it2++;} - - swap(*it1, *it2); - - if (*it1 != *it2) - _eo.invalidate(); - } - - /** Inherited from eoObject - @see eoObject - */ - virtual std::string className() const {return "eoTranspose";}; - //@} - -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoUniformXOver.h b/trunk/paradiseo-eo/src/obsolete/eoUniformXOver.h deleted file mode 100644 index 76623a0ec..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoUniformXOver.h +++ /dev/null @@ -1,176 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - - -//----------------------------------------------------------------------------- - -// eoUniformXOver.h - -// (c) GeNeura Team, 1998 - -/* - - This library is free software; you can redistribute it and/or - - modify it under the terms of the GNU Lesser General Public - - License as published by the Free Software Foundation; either - - version 2 of the License, or (at your option) any later version. - - - - This library is distributed in the hope that it will be useful, - - but WITHOUT ANY WARRANTY; without even the implied warranty of - - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - - Lesser General Public License for more details. - - - - You should have received a copy of the GNU Lesser General Public - - License along with this library; if not, write to the Free Software - - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - - */ - -//----------------------------------------------------------------------------- - - - -#ifndef _EOUNIFORMXOVER_h - -#define _EOUNIFORMXOVER_h - - - - - -// for swap - -#if defined( __BORLANDC__ ) - -#include - -#else - -#include - -#endif - - - -// EO includes - -#include - -#include - - - -//----------------------------------------------------------------------------- - -/** - - * EOUniformCrossover: operator for binary chromosomes - - * implementation of uniform crossover for EO - - * swaps ranges of bits between the parents - - */ - -//----------------------------------------------------------------------------- - - - -template - -class eoUniformXOver: public eoQuadraticOp< EOT > - -{ - - public: - - - - /// - - eoUniformXOver( float _rate = 0.5 ): - - eoQuadraticOp< EOT > ( ), rate( _rate ) { - - if (rate < 0 || rate > 1) - - std::runtime_error("UxOver --> invalid rate"); - - } - - - - - - /// - - void operator() ( EOT& chrom1, EOT& chrom2 ) const { - - unsigned end = min(chrom1.length(),chrom2.length()) - 1; - - // select bits to change - - // aply changes - - for (unsigned bit = 0; bit < end; bit++) - - if (rng.flip(rate)) - - swap(chrom1[ bit], chrom2[ bit]); - - } - - - - /** @name Methods from eoObject - - readFrom and printOn are directly inherited from eoOp - - */ - - //@{ - - /** Inherited from eoObject - - @see eoObject - - */ - - std::string className() const {return "eoUniformXOver";}; - - //@} - - - -private: - - float rate; /// rate of uniform crossover - -}; - - - -//----------------------------------------------------------------------------- - - - - - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoVector.h b/trunk/paradiseo-eo/src/obsolete/eoVector.h deleted file mode 100644 index 315683f57..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoVector.h +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoVector.h - Turns an STL std::vector into an EO - (c) GeNeura Team, 1998 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es -*/ - -//----------------------------------------------------------------------------- - -#ifndef _eoVector_H -#define _eoVector_H - -// STL libraries -#include // For std::vector -#include -#include - -#include -#include - -/** Adaptor that turns an STL std::vector into an EO - with the same gene type as the type with which - the std::vector has been instantiated -*/ -template -class eoVector: public eo1d, public std::vector { -public: - typedef T Type ; - - /// Canonical part of the objects: several ctors, copy ctor, dtor and assignment operator - //@{ - - /** Ctor. - @param _size Lineal length of the object - @param _val Common initial value - */ - eoVector( unsigned _size = 0, T _val = 0) - : eo1d(), std::vector( _size, _val ){ }; - - /** Ctor using a random number generator - @param _size Lineal length of the object - @param _rnd a random number generator, which returns a random value each time it´s called - */ - eoVector( unsigned _size, eoRnd& _rnd ); - - /** Ctor from a std::istream. The T class should accept reading from a std::istream. It doesn't read fitness, -which is supposed to be dynamic and dependent on environment. - @param _is the input stream; should have all values in a single line, separated by whitespace - */ - eoVector( std::istream& _is); - - - /// copy ctor - eoVector( const eoVector & _eo ) - : eo1d( _eo ), std::vector( _eo ){ }; - - /// Assignment operator - const eoVector& operator =( const eoVector & _eo ) { - if ( this != &_eo ){ - eo1d::operator=( _eo ); - std::vector::operator=( _eo ); - } - return *this; - } - - /// dtor - virtual ~eoVector() {}; - - //@} - - /** methods that implement the eo1d protocol - @std::exception out_of_range if _i is larger than EO´s size - */ - virtual T getGene( unsigned _i ) const { - if ( _i >= length() ) - throw out_of_range( "out_of_range when reading gene"); - return (*this)[_i]; - }; - - /** methods that implement the eo1d protocol - @std::exception out_of_range if _i is larger than EO´s size - */ - virtual void setGene( unsigned _i, const T& _value ) { - if ( _i >= size() ) - throw out_of_range( "out_of_range when writing a gene"); - (*this)[_i] = _value; - }; - - /** methods that implement the eo1d protocol - @std::exception out_of_range if _i is larger than EO´s size - */ - virtual void insertGene( unsigned _i, T _val ) { - if (_i <= size() ) { - std::vector::iterator i = begin()+_i; - insert( i, _val ); - } else { - throw out_of_range( "out_of_range when inserting a gene"); - } - }; - - /** Eliminates the gene at position _i - @std::exception out_of_range if _i is larger than EO´s size - */ - virtual void deleteGene( unsigned _i ) { - if (_i < this->size() ) { - std::vector::iterator i = this->begin()+_i; - this->erase( i ); - } else { - throw out_of_range( "out_of_range when deleting a gene"); - }; - }; - - /// methods that implement the EO protocol - virtual unsigned length() const { return this->size(); }; - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eo1d - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eoVector";}; - //@} - -}; - - -//____________________________ Some method implementation _______________________ - -// Ctors______________________________________________________________________________ -//____________________________________________________________________________________ -template -eoVector::eoVector( unsigned _size, eoRnd& _rnd ) - : eo1d(), std::vector( _size ){ - for ( iterator i = begin(); i != end(); i ++ ) { - *i = _rnd(); - } -}; - -//____________________________________________________________________________________ -template -eoVector::eoVector( std::istream& _is) - : eo1d(), std::vector( ){ - while (_is ) { - T tmp; - _is >> tmp; - push_back( tmp ); - } - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/obsolete/eoWrappedOps.h b/trunk/paradiseo-eo/src/obsolete/eoWrappedOps.h deleted file mode 100644 index 805bb29e7..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoWrappedOps.h +++ /dev/null @@ -1,200 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoWrappedOps.h - Derived from the General genetic operator, which can be used to wrap any unary or binary - operator. File also contains the eoCombinedOp, needed by the eoSequentialGOpSelector - - (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -//----------------------------------------------------------------------------- - -#ifndef eoWrappedOps_h -#define eoWrappedOps_h - -//----------------------------------------------------------------------------- - -#include // eoOp, eoMonOp, eoBinOp -#include - -using namespace std; - -/// Wraps monary operators -template -class eoWrappedMonOp : public eoGeneralOp -{ -public : - /// - eoWrappedMonOp(eoMonOp& _op) : eoGeneralOp(), op(_op) {}; - - /// - virtual ~eoWrappedMonOp() {} - - /// Instantiates the abstract method - void operator()( eoIndiSelector& _in, - eoInserter& _out) - { - EOT result = _in(); - op( result ); - _out(result); - } - -private : - eoMonOp& op; -}; - - -/// Wraps binary operators -template -class eoWrappedBinOp : public eoGeneralOp -{ -public : - /// - eoWrappedBinOp(eoBinOp& _op) : eoGeneralOp(), op(_op) {} - - /// - virtual ~eoWrappedBinOp() {} - - /// Instantiates the abstract method. EOT should have copy ctor. - void operator()(eoIndiSelector& _in, - eoInserter& _out) - { - EOT out1 = _in(); - const EOT& out2 = _in(); - op(out1, out2); - _out(out1); - } - -private : - eoBinOp& op; -}; - -/// Wraps Quadratic operators -template -class eoWrappedQuadraticOp : public eoGeneralOp -{ -public : - /// - eoWrappedQuadraticOp(eoQuadraticOp& _op) : eoGeneralOp(), op(_op) {} - - /// - virtual ~eoWrappedQuadraticOp() {} - - /// Instantiates the abstract method. EOT should have copy ctor. - void operator()(eoIndiSelector& _in, - eoInserter& _out) - { - EOT out1 = _in(); - EOT out2 = _in(); - op(out1, out2); - _out(out1)(out2); - } - -private : - eoQuadraticOp& op; -}; - -#include - -template -class eoCombinedOp : public eoGeneralOp -{ - public : - eoCombinedOp& bind(const std::vector*>& _ops, const std::vector& _rates) - { - ops = &_ops; - rates = &_rates; - return *this; - } - - class eoDelayedSelector : public eoIndiSelector - { - public : - eoDelayedSelector(eoIndiSelector& _select, const eoPop& _pop) : select(_select), pop(_pop), it(pop.begin()) {} - - unsigned size() const { return select.size();} - const EOT& operator[](size_t i) const { return select[i]; } - - /// will first dispense all previously selected individuals before returning new ones - const EOT& operator()(void) - { - if (it == pop.end()) - { - return select(); - } - // else - return *it++; - } - - eoPop::const_iterator get_it(void) const { return it; } - private : - eoIndiSelector& select; - const eoPop& pop; - eoPop::const_iterator it; - }; - - /** Applies all ops in the combined op - It first applies the - */ - void operator()( eoIndiSelector& _in, - eoInserter& _out ) - { - eoPop intermediate; - eoPop next; - unsigned i; - - for (i = 0; i < ops->size(); ++i) - { - eoDelayedSelector delay(_in, intermediate); - inserter.bind(next); - - unsigned counter = 0; - - // apply operators until we have as many outputs as inputs - do - { - if (rng.flip(rates->operator[](i))) // should this flip be here? - (*ops->operator[](i))(delay, inserter); - - counter++; - if (counter > 1000) - { - throw std::logic_error("eoCombinedOp: no termination after 1000 tries, did you forget to insert individuals in your eoGeneralOp?"); - } - } - while (next.size() < intermediate.size()); - - intermediate.swap(next); - next.resize(0); - } - - // after last swap, results can be found in intermediate - for (i = 0; i < intermediate.size(); ++i) - _out(intermediate[i]); - } - - private : - const std::vector*>* ops; - const std::vector* rates; - eoBackInserter inserter; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/eoXOver2.h b/trunk/paradiseo-eo/src/obsolete/eoXOver2.h deleted file mode 100644 index d1f538526..000000000 --- a/trunk/paradiseo-eo/src/obsolete/eoXOver2.h +++ /dev/null @@ -1,107 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoXOver2.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _EOXOVER2_h -#define _EOXOVER2_h - - -// for swap -#if defined( __BORLANDC__ ) -#include -#else -#include -#endif - -// EO includes -#include -#include - -/** 2-point crossover: takes the genes in the central section of two EOs -and interchanges it -*/ -template -class eoXOver2: public eoQuadraticOp { -public: - /// - eoXOver2() - : eoQuadraticOp< EOT >(){}; - - /// - virtual ~eoXOver2() {}; - - /// - virtual void operator()( EOT& _eo1, - EOT& _eo2 ) const { - unsigned len1 = _eo1.length(), len2 = _eo2.length(), - len= (len1 > len2)?len2:len1; - - unsigned pos1 = rng.random(len), pos2 = rng.random(len) ; - - applyAt( _eo1, _eo2, pos1, pos2 ); - - } - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eoOp - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - std::string className() const {return "eoXOver2";}; - //@} - -private: - -#ifdef _MSC_VER - typedef EOT::Type Type; -#else - typedef typename EOT::Type Type; -#endif - - /// applies operator to one gene in the EO - virtual void applyAt( EOT& _eo, EOT& _eo2, - unsigned _i, unsigned _j = 0) const { - - if ( _j < _i ) - swap( _i, _j ); - - unsigned len1 = _eo.length(), len2 = _eo2.length(), - len= (len1 > len2)?len2:len1; - - if ( (_j > len) || (_i> len ) ) - throw std::runtime_error( "xOver2: applying xOver past boundaries"); - - for ( unsigned i = _i; i < _j; i++ ) { - Type tmp = _eo.gene( i ); - _eo.gene( i ) = _eo2.gene( i ); - _eo2.gene( i ) = tmp ; - } - - } - -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/obsolete/evolution_strategies b/trunk/paradiseo-eo/src/obsolete/evolution_strategies deleted file mode 100644 index d1c729ba9..000000000 --- a/trunk/paradiseo-eo/src/obsolete/evolution_strategies +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _eoEs_h -#define _eoEs_h - -#include -#include -#include -#include - -#include -#include - -#include - - -#endif diff --git a/trunk/paradiseo-eo/src/other/.cvsignore b/trunk/paradiseo-eo/src/other/.cvsignore deleted file mode 100644 index 69fb0bd82..000000000 --- a/trunk/paradiseo-eo/src/other/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.lo -*.la -.deps -.libs -Makefile -Makefile.in diff --git a/trunk/paradiseo-eo/src/other/CVS/Entries b/trunk/paradiseo-eo/src/other/CVS/Entries deleted file mode 100644 index fd98d7205..000000000 --- a/trunk/paradiseo-eo/src/other/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.1/Mon Apr 3 09:32:08 2000// -/Makefile.am/1.6/Wed Sep 22 18:18:30 2004// -/eoExternalEO.h/1.9/Thu Dec 23 15:29:06 2004// -/eoExternalOpFunctions.h/1.5/Fri Mar 9 14:13:28 2001// -/eoString.h/1.7/Thu Dec 23 15:29:06 2004// -/external_eo/1.1/Thu May 25 07:18:25 2000// -D diff --git a/trunk/paradiseo-eo/src/other/CVS/Repository b/trunk/paradiseo-eo/src/other/CVS/Repository deleted file mode 100644 index 8a5191557..000000000 --- a/trunk/paradiseo-eo/src/other/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/other diff --git a/trunk/paradiseo-eo/src/other/CVS/Root b/trunk/paradiseo-eo/src/other/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/other/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/other/Makefile.am b/trunk/paradiseo-eo/src/other/Makefile.am deleted file mode 100644 index 074966a36..000000000 --- a/trunk/paradiseo-eo/src/other/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -## Makefile.am for eo/src/other - - -AM_CXXFLAGS = -I$(top_builddir)/src - -otherincludedir = $(pkgincludedir)/other - -otherinclude_HEADERS = eoExternalEO.h \ - eoString.h \ - external_eo \ - eoExternalOpFunctions.h diff --git a/trunk/paradiseo-eo/src/other/eoExternalEO.h b/trunk/paradiseo-eo/src/other/eoExternalEO.h deleted file mode 100644 index e2e2b2da6..000000000 --- a/trunk/paradiseo-eo/src/other/eoExternalEO.h +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoExternalEO.h - Definition of an object that allows an external struct to be inserted in EO - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoExternalEO_h -#define eoExternalEO_h - -#include // EO - -/** - * Definition of an object that allows an external struct - * to be inserted in EO. This struct or class can be of any - * form, the only thing this class does is attach a fitness - * value to it and makes it the appropriate type (derives it from EO). -*/ - -template -class eoExternalEO : public EO, virtual public External -{ -public : - - eoExternalEO(void) - : EO(), External() - {} - - /** Init externalEo with the struct itself and set fitness to zero */ - eoExternalEO(const External& ext) - : EO(), External(ext) - {} - - eoExternalEO(std::istream& is, const External& ext) - : EO(), External(ext) - { readFrom(is); } - - /** - * Read object, the external struct needs to have an operator>> defined - */ - virtual void readFrom(std::istream& _is) - { - EO::readFrom(_is); - _is >> static_cast(*this); - } - - /** - * Write object. Called printOn since it prints the object _on_ a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - EO::printOn(_os); - _os << static_cast(*this); - } - -}; - -/// To remove ambiguities between EO and External, streaming operators are defined yet again -template -std::ostream& operator<<(std::ostream& os, const eoExternalEO& eo) -{ - eo.printOn(os); - return os; -} - -/// To remove ambiguities between EO and External, streaming operators are defined yet again -template -std::istream& operator>>(std::istream& is, eoExternalEO& eo) -{ - eo.readFrom(is); - return is; -} - -#endif diff --git a/trunk/paradiseo-eo/src/other/eoExternalOpFunctions.h b/trunk/paradiseo-eo/src/other/eoExternalOpFunctions.h deleted file mode 100644 index a96991e71..000000000 --- a/trunk/paradiseo-eo/src/other/eoExternalOpFunctions.h +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoExternalOpFunc.h - Defines eoExternalInitOpFunc, eoExternalMonOpFunc, eoExternalBinOpFunc, eoExternalQuadOpFunc - that are used to wrap a function pointer to externally defined initialization - and 'genetic' operators - - (c) Maarten Keijzer (mkeijzer@mad.scientist.com) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef eoExternalOpFunc_h -#define eoExternalOpFunc_h - -#include -#include -#include -#include - -/** - Initialization of external struct, ctor expects a function of the following - signature: - - External func(); - - Where External is the user defined struct or class -*/ -template > -class eoExternalInit : public eoInit -{ - -public : - - eoExternalInit(External (*_init)(void)) : init(_init) {} - - - void operator()(ExternalEO& _eo) - { - _eo.External::operator=( (*init)() ); - _eo.invalidate(); - } - -private : - - External (*init)(void); -}; - -/** - Evaluation of external struct, ctor expects a function of the following - signature: - - Fit func(External&); - - Where External is the user defined struct or class and Fit the fitness type -*/ -template > -class eoExternalEvalFunc : public eoEvalFunc -{ - public : - - eoExternalEvalFunc(F (*_eval)(const External&)) : eval(_eval) {} - - void operator()(ExternalEO& eo) - { - if (eo.invalid()) - eo.fitness( (*eval)(eo) ); - } - - private : - - F (*eval)(const External&); -}; - -/** - Mutation of external struct, ctor expects a function of the following - signature: - - bool func(External&); - - - Where External is the user defined struct or class. - The function should return true when it changed something, false otherwise -*/ - -template > -class eoExternalMonOp : public eoMonOp -{ - public : - - eoExternalMonOp(bool (*_mutate)(External&)) : mutate(_mutate) {} - - bool operator()(ExternalEO& eo) - { - return (*mutate)(eo); - } - - private : - - bool (*mutate)(External&); -}; - -/** - Crossover of external struct, ctor expects a function of the following - signature: - - bool func(External&, const External&); - - Where External is the user defined struct or class - The function should return true when it changed something, false otherwise -*/ -template > -class eoExternalBinOp : public eoBinOp -{ - public : - - eoExternalBinOp(bool (*_binop)(External&, const External&)) : binop(_binop) {} - - bool operator()(ExternalEO& eo1, const ExternalEO& eo2) - { - return (*binop)(eo1, eo2); - } - - private : - - bool (*binop)(External&, const External&); -}; - -/** - Crossover of external struct, ctor expects a function of the following - signature: - - bool func(External&, External&); - - Where External is the user defined struct or class - The function should return true when it changed something, false otherwise -*/ -template > -class eoExternalQuadOp : public eoQuadOp -{ - public : - - eoExternalQuadOp(bool (*_quadop)(External&, External&)) : quadop(_quadop) {} - - bool operator()(ExternalEO& eo1, ExternalEO& eo2) - { - return (*quadop)(eo1, eo2); - } - - private : - - bool (*quadop)(External&, External&); -}; - -#endif diff --git a/trunk/paradiseo-eo/src/other/eoString.h b/trunk/paradiseo-eo/src/other/eoString.h deleted file mode 100644 index e2aee7584..000000000 --- a/trunk/paradiseo-eo/src/other/eoString.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoString.h -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef _eoString_H -#define _eoString_H - -// STL libraries -#include -#include -#include - - -#include - -//----------------------------------------------------------------------------- -// eoString -//----------------------------------------------------------------------------- - -/** Adaptor that turns an STL std::string into an EO */ -template -class eoString: public EO, public std::string -{ -public: - - typedef char Type; - typedef char AtomType; - typedef std::string ContainerType; - - - /// Canonical part of the objects: several ctors, copy ctor, dtor and assignment operator - //@{ - /// ctor - eoString( const std::string& _str ="" ) - : std::string( _str ) {}; - - /// printing... - virtual void printOn(std::ostream& os) const - { - EO::printOn(os); - os << ' '; - - os << size() << ' ' << substr() << std::endl; - - } - - /** @name Methods from eoObject - readFrom and printOn are directly inherited from eo1d - */ - //@{ - /** Inherited from eoObject - @see eoObject - */ - virtual std::string className() const {return "eoString";}; - //@} - - -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/other/external_eo b/trunk/paradiseo-eo/src/other/external_eo deleted file mode 100644 index aeaaaab6b..000000000 --- a/trunk/paradiseo-eo/src/other/external_eo +++ /dev/null @@ -1,2 +0,0 @@ -#include -#include diff --git a/trunk/paradiseo-eo/src/paradisEO/CVS/Entries b/trunk/paradiseo-eo/src/paradisEO/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/paradisEO/CVS/Entries.Log b/trunk/paradiseo-eo/src/paradisEO/CVS/Entries.Log deleted file mode 100644 index 27de4d83f..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/CVS/Entries.Log +++ /dev/null @@ -1,3 +0,0 @@ -A D/comm//// -A D/eval//// -A D/island//// diff --git a/trunk/paradiseo-eo/src/paradisEO/CVS/Repository b/trunk/paradiseo-eo/src/paradisEO/CVS/Repository deleted file mode 100644 index 4866299e5..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/paradisEO diff --git a/trunk/paradiseo-eo/src/paradisEO/CVS/Root b/trunk/paradiseo-eo/src/paradisEO/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Entries b/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Entries.Log b/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Entries.Log deleted file mode 100644 index 9e493f721..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Entries.Log +++ /dev/null @@ -1 +0,0 @@ -A D/messages//// diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Repository b/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Repository deleted file mode 100644 index c8299cb70..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/paradisEO/comm diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Root b/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Entries b/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Entries.Log b/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Entries.Log deleted file mode 100644 index bea84217a..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Entries.Log +++ /dev/null @@ -1,2 +0,0 @@ -A D/from//// -A D/to//// diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Repository b/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Repository deleted file mode 100644 index c3345c02a..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/paradisEO/comm/messages diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Root b/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Entries b/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Repository b/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Repository deleted file mode 100644 index 1591cc6fc..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/paradisEO/comm/messages/from diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Root b/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/from/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Entries b/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Repository b/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Repository deleted file mode 100644 index a2c48bfa7..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/paradisEO/comm/messages/to diff --git a/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Root b/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/comm/messages/to/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Entries b/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Repository b/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Repository deleted file mode 100644 index 4be4fbdac..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/paradisEO/eval diff --git a/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Root b/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/eval/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/paradisEO/island/CVS/Entries b/trunk/paradiseo-eo/src/paradisEO/island/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/island/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/paradisEO/island/CVS/Entries.Log b/trunk/paradiseo-eo/src/paradisEO/island/CVS/Entries.Log deleted file mode 100644 index d16b38f32..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/island/CVS/Entries.Log +++ /dev/null @@ -1 +0,0 @@ -A D/topologies//// diff --git a/trunk/paradiseo-eo/src/paradisEO/island/CVS/Repository b/trunk/paradiseo-eo/src/paradisEO/island/CVS/Repository deleted file mode 100644 index e7fdabfd3..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/island/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/paradisEO/island diff --git a/trunk/paradiseo-eo/src/paradisEO/island/CVS/Root b/trunk/paradiseo-eo/src/paradisEO/island/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/island/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Entries b/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Repository b/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Repository deleted file mode 100644 index c7bf0e3e7..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/paradisEO/island/topologies diff --git a/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Root b/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/paradisEO/island/topologies/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/pyeo/AUTHORS b/trunk/paradiseo-eo/src/pyeo/AUTHORS deleted file mode 100644 index e1d909968..000000000 --- a/trunk/paradiseo-eo/src/pyeo/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ - -Maarten Keijzer (mkeijzer@cs.vu.nl) - diff --git a/trunk/paradiseo-eo/src/pyeo/BUILDING b/trunk/paradiseo-eo/src/pyeo/BUILDING deleted file mode 100644 index 3db7de1b7..000000000 --- a/trunk/paradiseo-eo/src/pyeo/BUILDING +++ /dev/null @@ -1,174 +0,0 @@ - - -To build PyEO, a number of steps are neccessary. PyEO depends on Boost.Python v2, -which in turn expects the presence of python2.2. As we can't expect people to have -this installed some instructions are in order to help people build PyEO.so - -First of all, currently Windows is not supported. I don't develop on windows and -don't have access to a compiler on it. - -PyEO has been developed on Debian, using gcc 2.95-4. - -My primary platform is debian, so the default Makefile provides for that. Below you -will also find instructions for rpm-based distributions. As far as I know this includes -RedHat, Mandrake, Suse, Yellowdog, and probably a lot more. If I recall correctly, the RPM -format is the LSB default. - -===== Building PyEO on Debian ===== - -Point your /etc/apt/sources.list to the unstable distribution (if it's not there already), -and install: - -for Python: - -$ apt-get install python2.2 -$ apt-get install python2.2-dev - -It might also be a good idea to install the numeric library - -$ apt-get install python2.2-numeric - - -For Boost.Python: - -$ apt-get install libboost-python1.29.0 -$ apt-get install libboost-python-dev - -If all goes well, this will also install libstlport. If it doesn't, - -$ apt-get install libstlport4.5 - -and maybe - -$ apt-get install libstlport4.5-dev - -but I'm not sure about the latter. - -Now you can type - -$ make - -And after (a long) wait, a file called PyEO.so will be produced. - -===== Building PyEO on an RPM-based Distro ===== - -The following recipe has only been tested on a RedHat 7.1 installation, on other -systems some stuff might be different. - -== Getting Python2.2 == - -If you don't have python2.2 installed (newer distro's install this by default), -you can either install it from a binary specifically build for your distro, or -you can build it from source by going to: - -http://www.python.org/2.2.1/rpms.html - -and getting the source by clicking the link to python2-2.2.1-2.src.rpm - -This actually links to: - -http://www.python.org/ftp/python/2.2.1/rpms/python2-2.2.1-2.src.rpm - -for your convenience I mirrored this file at: - -http://www.cs.vu.nl/~mkeijzer/PyEO/python2-2.2.1-2.src.rpm - -by usuing the command: - -$ rpm --rebuild python2-2.2.1-2.src.rpm - -or with newer versions of rpm - -$ rpmbuild python2-2.2.1-2.src.rpm - -It will build a binary rpm for your computer. On this Redhat 7.1 box it put the -RPMS it build in - -/usr/src/redhat/RPMS/i386/ - -The ones you need to install are: - -python2-2.2.1-2.i386.rpm -python2-devel-2.2.1-2.i386.rpm - -But you might want to install the rest as well. - -== Getting Boost.Python == - -First of all, do a quick check. At the prompt type: - -$ python - -If you see something like: - -Python 2.2.2 (#4, Oct 15 2002, 04:21:28) -[GCC 2.95.4 20011002 (Debian prerelease)] on linux2 -Type "help", "copyright", "credits" or "license" for more information. - -(don't mind the second line, It's the version info we're interested in) - -You're set to go. Unfortunately, on this Redhat 7.1 box I tested things on, /usr/bin/python -insisted on pointing to /usr/bin/python1.5 . Unfortunately, the boost source rpm depends -on python to provide 2.2. If this is the case on your machine as well, there are two -possible fixes (of which one I tested). - -/usr/bin/python is a symlink, let it point to /usr/bin/python2.2 (this one I tested) - -DON'T forget to repoint /usr/bin/python to /usr/bin/python1.5 after you build the boost libraries: Redhat tools -depend on this! - -or - -alias python=/usr/bin/python2.2 (which would be better if it works, but untested.) - -So given that you are in a shell that uses python2.2 if you issue -the command 'python', get two boost source rpms at: - -http://www.starostik.de/malte/boost/ - -namely - -boost-jam-3.1.3-1.src.rpm -boost-1.29.0-2.src.rpm - -Which I also mirrored at - -http://www.cs.vu.nl/~mkeijzer/PyEO/boost-jam-3.1.3-1.src.rpm -http://www.cs.vu.nl/~mkeijzer/PyEO/boost-1.29.0-2.src.rpm - -First build and install jam using either rpm --rebuild or rpmbuild. - -The file you have to install is: - -boost-jam-3.1.3-1.i386.rpm - -This is the 'make' replacement that is used by boost. - -Next, build boost-1.29.0.src.rpm using 'rpm --rebuild' or 'rpmbuild' - -The only rpm's that this procedure produces that you need to install is: - -boost-python-1.29.0-2.i386.rpm -boost-python-devel-1.29.0-2.i386.rpm - - -When installing boost-python-devel, I got a dependency problem with libpython-dev, -this was probably caused by the same problem I had with python2.2, python1.5. I ignored -it by using: - -$ rpm -i --nodep boost-python-devel-1.29.0-2.i386.rpm - -and you're all set to type - -$ make -fMakefile.rpm - -in the PyEO build directory - -==== Testing PyEO========== - -After building go to the test directory and type - -$ ./run_tests.sh - -If you don't see errors, all is well and you're ready to go - diff --git a/trunk/paradiseo-eo/src/pyeo/COPYING b/trunk/paradiseo-eo/src/pyeo/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/trunk/paradiseo-eo/src/pyeo/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/trunk/paradiseo-eo/src/pyeo/CVS/Entries b/trunk/paradiseo-eo/src/pyeo/CVS/Entries deleted file mode 100644 index 6d94fedbe..000000000 --- a/trunk/paradiseo-eo/src/pyeo/CVS/Entries +++ /dev/null @@ -1,28 +0,0 @@ -/AUTHORS/1.1/Sun Jan 5 16:31:49 2003// -/BUILDING/1.1/Tue Jan 7 10:49:55 2003// -/COPYING/1.1/Sun Jan 5 16:31:49 2003// -/Makefile/1.10/Mon Jan 23 15:12:49 2006// -/Makefile.rpm/1.2/Fri Jan 10 15:40:57 2003// -/NEWS/1.1/Sun Jan 5 16:31:49 2003// -/PyEO.cpp/1.8/Wed Sep 28 21:49:26 2005// -/PyEO.h/1.7/Tue Mar 18 16:34:50 2003// -/README/1.2/Tue Jan 7 10:50:23 2003// -/abstract1.cpp/1.4/Mon Jun 9 06:25:11 2003// -/algos.cpp/1.4/Tue Mar 18 16:34:52 2003// -/breeders.cpp/1.4/Tue Mar 18 16:34:54 2003// -/continuators.cpp/1.5/Tue Mar 18 16:34:54 2003// -/def_abstract_functor.h/1.3/Tue Jan 14 09:37:37 2003// -/geneticOps.cpp/1.4/Tue Mar 18 16:34:55 2003// -/mergers.cpp/1.3/Tue Mar 18 16:34:57 2003// -/monitors.cpp/1.4/Tue Mar 18 16:35:02 2003// -/perf2worth.cpp/1.5/Tue Mar 18 16:35:04 2003// -/pickle.h/1.7/Wed Sep 28 21:49:26 2005// -/random_numbers.cpp/1.8/Mon Jan 23 15:12:49 2006// -/reduce.cpp/1.3/Tue Mar 18 16:35:08 2003// -/replacement.cpp/1.4/Tue Mar 18 16:35:08 2003// -/selectOne.cpp/1.4/Tue Mar 18 16:35:09 2003// -/selectors.cpp/1.4/Tue Mar 18 16:35:09 2003// -/statistics.cpp/1.3/Tue Mar 18 16:35:09 2003// -/valueParam.cpp/1.8/Mon Jan 23 15:12:49 2006// -/valueParam.h/1.2/Mon Jan 23 15:12:49 2006// -D diff --git a/trunk/paradiseo-eo/src/pyeo/CVS/Entries.Log b/trunk/paradiseo-eo/src/pyeo/CVS/Entries.Log deleted file mode 100644 index 592fe7c46..000000000 --- a/trunk/paradiseo-eo/src/pyeo/CVS/Entries.Log +++ /dev/null @@ -1,2 +0,0 @@ -A D/PyEO//// -A D/test//// diff --git a/trunk/paradiseo-eo/src/pyeo/CVS/Repository b/trunk/paradiseo-eo/src/pyeo/CVS/Repository deleted file mode 100644 index 31819e321..000000000 --- a/trunk/paradiseo-eo/src/pyeo/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/pyeo diff --git a/trunk/paradiseo-eo/src/pyeo/CVS/Root b/trunk/paradiseo-eo/src/pyeo/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/pyeo/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/pyeo/Makefile b/trunk/paradiseo-eo/src/pyeo/Makefile deleted file mode 100644 index 5b1f208c3..000000000 --- a/trunk/paradiseo-eo/src/pyeo/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# Note for however is foolish enough to attempt to build this thing -# -# You need: -# Python 2.2 -# Boost.Python v2 -# - -CXX = g++ -CXXFLAGS = -DHAVE_SSTREAM -CPPFLAGS = -Wall -O2 #-g #-O2 -LDFLAGS = -COMPILE = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -LINK = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -INC=-I/usr/include/python2.4 -I.. -I../.. -ftemplate-depth-50 - -OBJECTS=eoFunctorStore.o PyEO.o abstract1.o algos.o \ - random_numbers.o geneticOps.o selectOne.o continuators.o\ - reduce.o replacement.o selectors.o breeders.o\ - mergers.o valueParam.o perf2worth.o monitors.o\ - statistics.o - -all: PyEO/PyEO.so - -clean: - rm PyEO/*.so *.o test/*.pyc - -PyEO/PyEO.so: $(OBJECTS) - $(LINK) -o PyEO/PyEO.so $(OBJECTS) -lboost_python -lpython2.4 -shared #-lstlport - -eoFunctorStore.o: ../eoFunctorStore.h ../eoFunctorStore.cpp - $(COMPILE) -o eoFunctorStore.o ../eoFunctorStore.cpp $(INC) - -%.o:%.cpp PyEO.h def_abstract_functor.h - $(COMPILE) $< $(INC) - - diff --git a/trunk/paradiseo-eo/src/pyeo/Makefile.rpm b/trunk/paradiseo-eo/src/pyeo/Makefile.rpm deleted file mode 100644 index dccf30eed..000000000 --- a/trunk/paradiseo-eo/src/pyeo/Makefile.rpm +++ /dev/null @@ -1,31 +0,0 @@ -# Makefile for people that build boost using the rpm-recipe - -CXX = g++ #-3.2 -CXXFLAGS = #-g #-DNDEBUG -CPPFLAGS = -Wall -O2 -LDFLAGS = -L/usr/lib/python2.2/config/ -COMPILE = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -LINK = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -INC=-I/usr/include/python2.2 -I/usr/include/stlport -I.. -ftemplate-depth-50 - -OBJECTS=eoFunctorStore.o PyEO.o abstract1.o algos.o \ - random_numbers.o geneticOps.o selectOne.o continuators.o\ - reduce.o replacement.o selectors.o breeders.o\ - mergers.o valueParam.o perf2worth.o monitors.o\ - statistics.o - -all: PyEO.so - -clean: - rm *.so *.o test/*.pyc - -PyEO.so: $(OBJECTS) - $(LINK) -o PyEO.so $(OBJECTS) -lboost_python -lpython2.2 -shared #-lstlport - -eoFunctorStore.o: ../eoFunctorStore.h ../eoFunctorStore.cpp - $(COMPILE) -o eoFunctorStore.o ../eoFunctorStore.cpp $(INC) - -%.o:%.cpp PyEO.h def_abstract_functor.h - $(COMPILE) $< $(INC) - - diff --git a/trunk/paradiseo-eo/src/pyeo/NEWS b/trunk/paradiseo-eo/src/pyeo/NEWS deleted file mode 100644 index e69de29bb..000000000 diff --git a/trunk/paradiseo-eo/src/pyeo/PyEO.cpp b/trunk/paradiseo-eo/src/pyeo/PyEO.cpp deleted file mode 100644 index a6828f039..000000000 --- a/trunk/paradiseo-eo/src/pyeo/PyEO.cpp +++ /dev/null @@ -1,230 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include - -#include "PyEO.h" -#include - - -using namespace std; -//using namespace boost::python; - -// static member, needs to be instantiated somewhere -std::vector PyFitness::objective_info; - -bool PyFitness::dominates(const PyFitness& oth) const -{ - bool dom = false; - - for (unsigned i = 0; i < nObjectives(); ++i) - { - int objective = objective_info[i]; - - if (objective == 0) // ignore - continue; - - bool maxim = objective > 0; - - double aval = maxim? (*this)[i] : -(*this)[i]; - double bval = maxim? oth[i] : -oth[i]; - - if (fabs(aval - bval) > tol()) - { - if (aval < bval) - { - return false; // cannot dominate - } - // else aval < bval - dom = true; // for the moment: goto next objective - } - //else they're equal in this objective, goto next - } - - return dom; -} - -bool dominates(const PyEO& a, const PyEO& b) -{ - return PyFitness(a.fitness()).dominates(b.fitness()); -} - -ostream& operator<<(ostream& os, const PyEO& _eo) -{ - os << _eo.to_string(); - return os; -} - -struct pyPop_pickle_suite : boost::python::pickle_suite -{ - static boost::python::tuple getstate(const eoPop& _pop) - { - boost::python::list entries; - for (unsigned i = 0; i != _pop.size(); ++i) - entries.append( PyEO_pickle_suite::getstate(_pop[i]) ); - - return boost::python::make_tuple(boost::python::object(_pop.size()), entries); - } - - static void setstate( eoPop& _pop, boost::python::tuple pickled) - { - int sz = boost::python::extract(pickled[0]); - boost::python::list entries = boost::python::list(pickled[1]); - _pop.resize(sz); - for (unsigned i = 0; i != _pop.size(); ++i) - { - PyEO_pickle_suite::setstate(_pop[i], boost::python::tuple(entries[i]) ); - } - } -}; - - -template -boost::python::str to_string(T& _p) -{ - std::ostringstream os; - _p.printOn(os); - return boost::python::str(os.str().c_str()); -} - -void pop_sort(eoPop& pop) { pop.sort(); } -void pop_shuffle(eoPop& pop) { pop.shuffle(); } - -void translate_index_error(index_error const& e) -{ - PyErr_SetString(PyExc_IndexError, e.what.c_str()); -} - -PyEO& pop_getitem(eoPop& pop, boost::python::object key) -{ - boost::python::extract x(key); - if (!x.check()) - throw index_error("Slicing not allowed"); - - int i = x(); - - if (static_cast(i) >= pop.size()) - { - throw index_error("Index out of bounds"); - } - return pop[i]; -} - -void pop_setitem(eoPop& pop, boost::python::object key, PyEO& value) -{ - boost::python::extract x(key); - if (!x.check()) - throw index_error("Slicing not allowed"); - - int i = x(); - - if (static_cast(i) >= pop.size()) - { - throw index_error("Index out of bounds"); - } - - pop[i] = value; -} - -void pop_push_back(eoPop& pop, PyEO& p) { pop.push_back(p); } -void pop_resize( eoPop& pop, unsigned i) { pop.resize(i); } - -extern void abstract1(); -extern void algos(); -extern void random_numbers(); -extern void geneticOps(); -extern void selectOne(); -extern void continuators(); -extern void reduce(); -extern void replacement(); -extern void selectors(); -extern void breeders(); -extern void mergers(); -extern void valueParam(); -extern void perf2worth(); -extern void monitors(); -extern void statistics(); - -BOOST_PYTHON_MODULE(PyEO) -{ - using namespace boost::python; - - boost::python::register_exception_translator(&translate_index_error); - - boost::python::class_("EO") - .add_property("fitness", &PyEO::getFitness, &PyEO::setFitness) - .add_property("genome", &PyEO::getGenome, &PyEO::setGenome) - .def_pickle(PyEO_pickle_suite()) - .def("invalidate", &PyEO::invalidate) - .def("invalid", &PyEO::invalid) - .def("__str__", &PyEO::to_string) - ; - - boost::python::class_ >("eoPop", init<>() ) - .def( init< unsigned, eoInit& >()[with_custodian_and_ward<1,3>()] ) - .def("append", &eoPop::append) - .def("__str__", to_string >) - .def("__len__", &eoPop::size) - .def("sort", pop_sort ) - .def("shuffle", pop_shuffle) - .def("__getitem__", pop_getitem, return_internal_reference<>() ) - .def("__setitem__", pop_setitem) - .def("best", &eoPop::best_element, return_internal_reference<>() ) - .def("push_back", pop_push_back) - .def("resize", pop_resize) - .def_pickle(pyPop_pickle_suite()) - ; - - - // Other definitions in different compilation units, - // this to avoid having g++ to choke on the load - random_numbers(); - valueParam(); - abstract1(); - geneticOps(); - selectOne(); - selectors(); - perf2worth(); - monitors(); - statistics(); - continuators(); - reduce(); - replacement(); - breeders(); - mergers(); - algos(); - - // The traits class - class_("PyFitness"); - - def("nObjectives", &PyFitness::nObjectives); - def("tol", &PyFitness::tol); - def("maximizing", &PyFitness::maximizing); - def("setObjectivesSize", &PyFitness::setObjectivesSize); - def("setObjectivesValue", &PyFitness::setObjectivesValue); - def("dominates", dominates); -} - - -// to avoid having to build with libeo.a -ostream & operator << ( ostream& _os, const eoPrintable& _o ) { - _o.printOn(_os); - return _os; -}; diff --git a/trunk/paradiseo-eo/src/pyeo/PyEO.h b/trunk/paradiseo-eo/src/pyeo/PyEO.h deleted file mode 100644 index 6cf3c003c..000000000 --- a/trunk/paradiseo-eo/src/pyeo/PyEO.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifndef PYEO_H -#define PYEO_H - - -#include -#include -#include -#include - -#include -struct index_error : public std::exception { - index_error(std::string w) : what(w) {}; - virtual ~index_error() throw() {} - std::string what; -}; - -class PyFitness : public boost::python::object -{ - public : - - typedef PyFitness fitness_traits; // it's its own traits class :-) - - PyFitness() : boost::python::object() {} - - template - PyFitness(const T& o) : boost::python::object(o) {} - - static unsigned nObjectives() { return objective_info.size(); } - static double tol() { return 1e-6; } - static bool maximizing(int which) { return objective_info[which] > 0; } - - static void setObjectivesSize(int sz) { objective_info.resize(sz, 0); } - static void setObjectivesValue(unsigned which, int value) - { - if (which >= objective_info.size()) - { - throw index_error("Too few elements allocated, resize objectives first"); - } - - objective_info[which] = value; - } - - static std::vector objective_info; - - bool dominates(const PyFitness& oth) const; - - double operator[](int i) const - { - boost::python::extract x(object::operator[](i)); - - if (!x.check()) - throw std::runtime_error("PyFitness: does not contain doubles"); - return x(); - } - - bool operator<(const PyFitness& other) const - { - if (objective_info.size() == 0) - { - const object& self = *this; - const object& oth = other; - return self < oth; - } - // otherwise use objective_info - - for (unsigned i = 0; i < objective_info.size(); ++i) - { - double a = objective_info[i] * operator[](i); - double b = objective_info[i] * other[i]; - - if ( fabs(a - b) > tol()) - { - if (a < b) - return true; - return false; - } - } - - return false; - } - - bool operator>(const PyFitness& other) const - { - return other.operator<(*this); - } - - void printOn(std::ostream& os) const { const boost::python::object& o = *this; boost::python::api::operator<<(os,o); } - friend std::ostream& operator<<(std::ostream& os, const PyFitness& p) { p.printOn(os); return os; } - friend std::istream& operator>>(std::istream& is, PyFitness& p) { boost::python::object o; is >> o; p = o; return is; } -}; - -struct PyEO : public EO< PyFitness > -{ - typedef PyFitness Fitness; - - boost::python::object getFitness() const { return invalid()? Fitness(): fitness(); } - void setFitness(boost::python::object f) { if (f == Fitness()) invalidate(); else fitness(f); } - - boost::python::object getGenome() const { return genome; } - void setGenome(boost::python::object g) { genome = g; } - boost::python::object genome; - - std::string to_string() const - { - std::string result; - result += boost::python::extract(boost::python::str(getFitness())); - result += ' '; - result += boost::python::extract(boost::python::str(genome)); - return result; - } - - bool operator<(const PyEO& other) const { return EO::operator<(other); } - bool operator>(const PyEO& other) const { return EO::operator>(other); } - -}; - -std::ostream& operator<<(std::ostream& os, const PyEO& _eo); - -struct PyEO_pickle_suite : boost::python::pickle_suite -{ - typedef PyEO::Fitness Fitness; - - static - boost::python::tuple getstate(const PyEO& _eo) - { - return boost::python::make_tuple(_eo.getFitness(), _eo.genome); - } - static - void setstate(PyEO& _eo, boost::python::tuple pickled) - { - _eo.setFitness( Fitness(pickled[0]) ); - _eo.genome = pickled[1]; - } -}; - -#endif diff --git a/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Entries b/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Entries deleted file mode 100644 index 0118ae6c4..000000000 --- a/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/__init__.py/1.2/Wed Mar 19 10:16:56 2003// -D diff --git a/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Repository b/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Repository deleted file mode 100644 index 8ea8e34db..000000000 --- a/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/pyeo/PyEO diff --git a/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Root b/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/pyeo/PyEO/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/pyeo/PyEO/__init__.py b/trunk/paradiseo-eo/src/pyeo/PyEO/__init__.py deleted file mode 100644 index cc6795425..000000000 --- a/trunk/paradiseo-eo/src/pyeo/PyEO/__init__.py +++ /dev/null @@ -1,87 +0,0 @@ - -from PyEO import * - -try: - import Gnuplot -except ImportError: - print "Python support for Gnuplot not found" -else: - - class eoGnuplot1DMonitor(eoMonitor): - def __init__(self): - eoMonitor.__init__(self) - self.values = [] - self.indices = [] - self.g = Gnuplot.Gnuplot() - self.g.reset(); - - - def handleParam(self, i, param): - param = float(param) - - while len(self.values) <= i: - self.values.append( [] ) - - self.values[i].append(param) - - def __call__(self): - - l = len(self) - - if l > 3 or l == 0: - print 'Can only handle 1 to 3 params currently' - - i = 0 - for param in self: - self.handleParam(i,param) - i += 1 - - self.indices.append( len(self.indices) ) - - - data1 = Gnuplot.Data(self.indices, self.values[0], with = 'lines') - - if l == 1: - self.g.plot(data1) - else: - data2 = Gnuplot.Data(self.indices, self.values[1], with = 'lines') - - if l == 2: - self.g.plot(data1, data2) - else: - data3 = Gnuplot.Data(self.indices, self.values[2], with = 'lines') - - self.g.plot(data1, data2, data3) - -def SeperatedVolumeMonitor(eoMonitor): - def __init__(self, file): - eoMonitor.__init__(self) - self.file = file - self.initialized = None; - - def __call__(self): - pass - -class eoStat(eoStatBase, eoValueParam): - def __init__(self): - eoStatBase.__init__(self) - eoValueParam.__init__(self) - -class eoSortedStat(eoSortedStatBase, eoValueParam): - def __init__(self): - eoSortedStatBase.__init__(self) - eoValueParam.__init__(self) - -class eoAverageStat(eoStat): - def __call__(self, pop): - sum = 0.0; - for indy in pop: - sum += indy.fitness - - sum /= len(pop) - self.object = sum - -class eoBestFitnessStat(eoSortedStat): - - def __call__(self, pop): - self.object = pop[0].fitness diff --git a/trunk/paradiseo-eo/src/pyeo/README b/trunk/paradiseo-eo/src/pyeo/README deleted file mode 100644 index 072fe3ad2..000000000 --- a/trunk/paradiseo-eo/src/pyeo/README +++ /dev/null @@ -1,4 +0,0 @@ - -See BUILDING for details on how to build this thing - - diff --git a/trunk/paradiseo-eo/src/pyeo/abstract1.cpp b/trunk/paradiseo-eo/src/pyeo/abstract1.cpp deleted file mode 100644 index e8e847772..000000000 --- a/trunk/paradiseo-eo/src/pyeo/abstract1.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#include -#include - -#include "PyEO.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -void abstract1() -{ - /* Abstract Classes: overrideble from python */ - def_abstract_functor >("eoEvalFunc"); - def_abstract_functor >("eoInit"); - - def_abstract_functor >("eoTransform"); - - class_, bases > >("eoSGATransform", - init< eoQuadOp&, double, - eoMonOp&, double>()) - .def("__call__", &eoSGATransform::operator()); - - def_abstract_functor >("eoPopEvalFunc"); -} diff --git a/trunk/paradiseo-eo/src/pyeo/algos.cpp b/trunk/paradiseo-eo/src/pyeo/algos.cpp deleted file mode 100644 index 12feaf196..000000000 --- a/trunk/paradiseo-eo/src/pyeo/algos.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#include - -#include "PyEO.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -void algos() -{ - def_abstract_functor >("eoAlgo"); - - /* Algorithms */ - class_, bases >, boost::noncopyable>("eoSGA", - init&, - eoQuadOp&, float, - eoMonOp&, float, - eoEvalFunc&, - eoContinue&>() - [ - with_custodian_and_ward<1,2, - with_custodian_and_ward<1,3, - with_custodian_and_ward<1,5, - with_custodian_and_ward<1,7, - with_custodian_and_ward<1,8> - > - > - > - >() - ]) - .def("__call__", &eoSGA::operator()) - ; - - class_, bases > >("eoEasyEA", - init< - eoContinue&, - eoEvalFunc&, - eoBreed&, - eoReplacement& >() ) - .def( init< - eoContinue&, - eoPopEvalFunc&, - eoBreed&, - eoReplacement&>() ) - .def( init< - eoContinue&, - eoEvalFunc&, - eoBreed&, - eoMerge&, - eoReduce& >() ) - .def( init< - eoContinue&, - eoEvalFunc&, - eoSelect&, - eoTransform&, - eoReplacement&>()) - .def( init< - eoContinue&, - eoEvalFunc&, - eoSelect&, - eoTransform&, - eoMerge&, - eoReduce&>()) - .def("__call__", &eoEasyEA::operator()) - ; - - /* - class_, bases< eoAlgo > >("eoCellularEasyEA", - init< eoContinue&, - eoEvalFunc&, - eoSelectOne&, - eoBinOp&, - eoMonOp&, - eoSelectOne&>()) - .def( - init< eoContinue&, - eoEvalFunc&, - eoSelectOne&, - eoQuadOp&, - eoMonOp&, - eoSelectOne&>()) - ; - */ -} diff --git a/trunk/paradiseo-eo/src/pyeo/breeders.cpp b/trunk/paradiseo-eo/src/pyeo/breeders.cpp deleted file mode 100644 index 30cf0994c..000000000 --- a/trunk/paradiseo-eo/src/pyeo/breeders.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include - -#include "PyEO.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -#define DEF3(x, i1, i2) class_, bases > >(#x, \ - init()[with_custodian_and_ward<1,2,with_custodian_and_ward<1,3> >()])\ - .def("__call__", &eoBreed::operator()) - -void breeders() -{ - def_abstract_functor >("eoBreed"); - - DEF3(eoSelectTransform, eoSelect&, eoTransform&); - - DEF3(eoGeneralBreeder, eoSelectOne&, eoGenOp&) - .def( init&, eoGenOp&, double>()[WC2]) - .def( init&, eoGenOp&, double, bool>()[WC2] ) - .def( init&, eoGenOp&, eoHowMany>() ); - - - DEF3(eoOneToOneBreeder, eoGenOp&, eoEvalFunc&) - .def( init&, eoEvalFunc&, double>()[WC2] ) - .def( init&, eoEvalFunc&, double, eoHowMany>()[WC2] ); - -} - diff --git a/trunk/paradiseo-eo/src/pyeo/continuators.cpp b/trunk/paradiseo-eo/src/pyeo/continuators.cpp deleted file mode 100644 index 4f1a76c50..000000000 --- a/trunk/paradiseo-eo/src/pyeo/continuators.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "PyEO.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -#define DEF(x) class_, bases > >(#x).def("__call__", &eoContinue::operator()) -#define DEF2(x, i1) class_, bases > >(#x, init() ).def("__call__", &eoContinue::operator()) -#define DEF3(x, i1, i2) class_, bases > >(#x, init() ).def("__call__", &eoContinue::operator()) - -void add_checkpoint(); - -void continuators() -{ - /* Counters, wrappers etc */ - - class_, bases > >("eoEvalFuncCounter", - init< eoEvalFunc&, std::string>()) - .def("__call__", &eoEvalFuncCounter::operator()) - ; - /* Continuators */ - def_abstract_functor >("eoContinue"); - - class_, bases >, boost::noncopyable >("eoGenContinue", init() ) - .def("__call__", &eoGenContinue::operator()) - ; - - class_, bases > >("eoCombinedContinue", init&>()[WC1]) - .def( init&, eoContinue& >()[WC2] ) - .def("add", &eoCombinedContinue::add, WC1) - .def("__call__", &eoCombinedContinue::operator()) - ; - - class_, bases > >("eoEvalContinue", - init&, unsigned long>()[WC1]) - .def("__call__", &eoEvalContinue::operator()) - ; - - DEF2(eoFitContinue, object); // object is the fitness type - - DEF3(eoSteadyFitContinue, unsigned long, unsigned long); - - add_checkpoint(); -} - -void addContinue(eoCheckPoint& c, eoContinue& cc) { c.add(cc); } -void addMonitor(eoCheckPoint& c, eoMonitor& m) { c.add(m);} -void addStat(eoCheckPoint& c, eoStatBase& s) { c.add(s);} -void addSortedStat(eoCheckPoint& c, eoSortedStatBase& s) { c.add(s);} - -void add_checkpoint() -{ - class_, bases< eoContinue > >("eoCheckPoint", - - init&> ()[with_custodian_and_ward<1,2>()] - ) - .def("add", addContinue, with_custodian_and_ward<1,2>() ) - .def("add", addMonitor, with_custodian_and_ward<1,2>() ) - .def("add", addStat, with_custodian_and_ward<1,2>()) - .def("add", addSortedStat, with_custodian_and_ward<1,2>()) - .def("__call__", &eoCheckPoint::operator()) - ; -} diff --git a/trunk/paradiseo-eo/src/pyeo/def_abstract_functor.h b/trunk/paradiseo-eo/src/pyeo/def_abstract_functor.h deleted file mode 100644 index 7324dc481..000000000 --- a/trunk/paradiseo-eo/src/pyeo/def_abstract_functor.h +++ /dev/null @@ -1,139 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifndef MAKE_ABSTRACT_FUNCTOR_H -#define MAKE_ABSTRACT_FUNCTOR_H - -#include - -// DEFINES for call -#define WC1 boost::python::with_custodian_and_ward<1,2>() -#define WC2 boost::python::with_custodian_and_ward<1,2, with_custodian_and_ward<1,3> >() - -namespace eoutils { - -using namespace boost::python; - -template -class ProcWrapper : public Proc -{ - public: - PyObject* self; - ProcWrapper(PyObject* s) : self(s) {} - - typename Proc::result_type operator()(void) - { - return boost::python::call_method(self, "__call__"); - } -}; - -template -void make_abstract_functor(std::string name, typename eoFunctorBase::procedure_tag) -{ - typedef ProcWrapper Wrapper; - boost::python::class_(name.c_str(), boost::python::init<>() ) - .def("__call__", &Wrapper::operator()); -} - -template -void make_abstract_functor_ref(std::string name, typename eoFunctorBase::procedure_tag) -{ - typedef ProcWrapper Wrapper; - boost::python::class_(name.c_str(), boost::python::init<>() ) - .def("__call__", &Wrapper::operator(), boost::python::return_internal_reference<>()); -} - -template -class UnaryWrapper : public Unary -{ - public: - PyObject* self; - UnaryWrapper(PyObject* s) : self(s) {} - - typename Unary::result_type operator()(typename Unary::argument_type a) - { - return boost::python::call_method(self, "__call__", boost::ref(a) ); - } -}; - -template -void make_abstract_functor(std::string name, typename eoFunctorBase::unary_function_tag) -{ - typedef UnaryWrapper Wrapper; - - boost::python::class_(name.c_str(), boost::python::init<>() ) - .def("__call__", &Wrapper::operator()) - ; -} - -template -void make_abstract_functor_ref(std::string name, typename eoFunctorBase::unary_function_tag) -{ - typedef UnaryWrapper Wrapper; - - boost::python::class_(name.c_str(), boost::python::init<>() ) - .def("__call__", &Wrapper::operator(), boost::python::return_internal_reference<>() ) - ; -} - -template -class BinaryWrapper : public Binary -{ - public: - PyObject* self; - BinaryWrapper(PyObject* s) : self(s) {} - typename Binary::result_type operator()(typename Binary::first_argument_type a1, typename Binary::second_argument_type a2) - { - return boost::python::call_method< - typename Binary::result_type>(self, "__call__", boost::ref(a1), boost::ref(a2) ); - } -}; - -template -void make_abstract_functor(std::string name, typename eoFunctorBase::binary_function_tag) -{ - typedef BinaryWrapper Wrapper; - boost::python::class_(name.c_str(), boost::python::init<>() ) - .def("__call__", &Wrapper::operator()); -} - -template -void make_abstract_functor_ref(std::string name, typename eoFunctorBase::binary_function_tag) -{ - typedef BinaryWrapper Wrapper; - boost::python::class_(name.c_str(), boost::python::init<>() ) - .def("__call__", &Wrapper::operator(), boost::python::return_internal_reference<>() ); -} - -}// namespace eoutils - -template -void def_abstract_functor(std::string name) -{ - eoutils::make_abstract_functor(name, Functor::functor_category()); -} - -template -void def_abstract_functor_ref(std::string name) -{ - eoutils::make_abstract_functor_ref(name, Functor::functor_category()); -} - -#endif diff --git a/trunk/paradiseo-eo/src/pyeo/geneticOps.cpp b/trunk/paradiseo-eo/src/pyeo/geneticOps.cpp deleted file mode 100644 index 2665837b2..000000000 --- a/trunk/paradiseo-eo/src/pyeo/geneticOps.cpp +++ /dev/null @@ -1,158 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#include -#include - -#include "PyEO.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -class GenOpWrapper : public eoGenOp -{ - public: - - PyObject* self; - GenOpWrapper(PyObject* p) : self(p) {} - unsigned max_production(void) - { - return call_method(self,"max_production"); - } - std::string className() const - { - return "GenOpDerivative"; // never saw the use of className anyway - } - - void apply(eoPopulator& populator ) - { - boost::python::call_method(self,"apply", boost::ref( populator ) ); - } -}; - -class PopulatorWrapper : public eoPopulator -{ -public: - PyObject* self; - PopulatorWrapper(PyObject* p, const eoPop& src, eoPop& dest) - : eoPopulator(src, dest), self(p) - { - //throw std::runtime_error("abstract base class"); - } - - const PyEO& select() - { - return call_method(self,"select"); - } -}; - -class MonOpWrapper : public eoMonOp -{ -public: - PyObject* self; - MonOpWrapper(PyObject* p) : self(p) {} - bool operator()(PyEO& _eo) - { return boost::python::call_method(self, "__call__", boost::ref( _eo )); } -}; -class BinOpWrapper : public eoBinOp -{ -public: - PyObject* self; - BinOpWrapper(PyObject* p) : self(p) {} - bool operator()(PyEO& _eo, const PyEO& _eo2) - { return boost::python::call_method(self, "__call__", boost::ref( _eo ), boost::ref(_eo2)); } -}; -class QuadOpWrapper : public eoQuadOp -{ -public: - PyObject* self; - QuadOpWrapper(PyObject* p) : self(p) {} - bool operator()(PyEO& _eo, PyEO& _eo2) - { return boost::python::call_method(self, "__call__", boost::ref( _eo ), boost::ref(_eo2)); } -}; - -void geneticOps() -{ - class_, PopulatorWrapper, boost::noncopyable> - ("eoPopulator", init&, eoPop&>() ) - .def("select", &PopulatorWrapper::select, return_internal_reference<>() ) - .def("get", &eoPopulator::operator*, return_internal_reference<>() ) - .def("next", &eoPopulator::operator++, return_internal_reference<>() ) - .def("insert", &eoPopulator::insert) - .def("reserve", &eoPopulator::reserve) - .def("source", &eoPopulator::source, return_internal_reference<>() ) - .def("offspring", &eoPopulator::offspring, return_internal_reference<>() ) - .def("tellp", &eoPopulator::tellp) - .def("seekp", &eoPopulator::seekp) - .def("exhausted", &eoPopulator::exhausted) - ; - - class_, bases > > - ("eoSeqPopulator", init&, eoPop&>() ) - .def("select", &eoSeqPopulator::select, return_internal_reference<>() ) - ; - - class_, bases > > - ("eoSelectivePopulator", init&, eoPop&, eoSelectOne& >() ) - .def("select", &eoSeqPopulator::select, return_internal_reference<>() ) - ; - enum_::OpType>("OpType") - .value("unary", eoOp::unary) - .value("binary", eoOp::binary) - .value("quadratic", eoOp::quadratic) - .value("general", eoOp::general) - ; - - class_ >("eoOp", init::OpType>()) - .def("getType", &eoOp::getType); - - class_, MonOpWrapper, bases >, boost::noncopyable>("eoMonOp", init<>()) - .def("__call__", &MonOpWrapper::operator(), "an example docstring"); - class_, BinOpWrapper, bases >, boost::noncopyable>("eoBinOp", init<>()) - .def("__call__", &BinOpWrapper::operator()); - class_, QuadOpWrapper, bases >, boost::noncopyable>("eoQuadOp", init<>()) - .def("__call__", &QuadOpWrapper::operator()); - - class_, GenOpWrapper, bases >, boost::noncopyable>("eoGenOp", init<>()) - .def("max_production", &GenOpWrapper::max_production) - .def("className", &GenOpWrapper::className) - .def("apply", &GenOpWrapper::apply) - .def("__call__", &eoGenOp::operator()) - ; - - class_, bases >, boost::noncopyable>("eoSequentialOp", init<>()) - .def("add", &eoSequentialOp::add, WC1) - .def("apply", &eoSequentialOp::apply) - ; - - class_, bases >, boost::noncopyable>("eoProportionalOp", init<>()) - .def("add", &eoProportionalOp::add, WC1) - .def("apply", &eoProportionalOp::apply) - ; - - /* Cloning */ - class_, bases > >("eoMonCloneOp").def("__call__", &eoMonCloneOp::operator()); - class_, bases > >("eoBinCloneOp").def("__call__", &eoBinCloneOp::operator()); - class_, bases > >("eoQuadCloneOp").def("__call__", &eoQuadCloneOp::operator()); - -} diff --git a/trunk/paradiseo-eo/src/pyeo/mergers.cpp b/trunk/paradiseo-eo/src/pyeo/mergers.cpp deleted file mode 100644 index fd2b34110..000000000 --- a/trunk/paradiseo-eo/src/pyeo/mergers.cpp +++ /dev/null @@ -1,41 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include "PyEO.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -#define DEF(x) class_, bases > >(#x).def("__call__", &eoMerge::operator()) -#define DEF2(x, i1) class_, bases > >(#x, init() ).def("__call__", &eoMerge::operator()) -#define DEF3(x, i1, i2) class_, bases > >(#x, init() ).def("__call__", &eoMerge::operator()) - -void mergers() -{ - def_abstract_functor >("eoMerge"); - - DEF2(eoElitism, double) - .def( init() ); - DEF(eoNoElitism); - DEF(eoPlus); - -} - diff --git a/trunk/paradiseo-eo/src/pyeo/monitors.cpp b/trunk/paradiseo-eo/src/pyeo/monitors.cpp deleted file mode 100644 index 8215128d7..000000000 --- a/trunk/paradiseo-eo/src/pyeo/monitors.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include "PyEO.h" - -using namespace boost::python; - -class MonitorWrapper : public eoMonitor -{ - public: - PyObject* self; - list objects; - - MonitorWrapper(PyObject* p) :self(p) {} - - eoMonitor& operator()() - { - call_method(self, "__call__"); - return *this; - } - - std::string getString(int i) - { - if (static_cast(i) >= vec.size()) - { - throw index_error("Index out of bounds"); - } - - return vec[i]->getValue(); - } - - unsigned size() { return vec.size(); } -}; - -void monitors() -{ - /** - * Change of interface: I encountered some difficulties with - * transferring eoParams from and to Python, so now we can - * only get at the strings contained in the eoParams. - * sorry - */ - - class_("eoMonitor", init<>()) - .def("lastCall", &eoMonitor::lastCall) - .def("add", &eoMonitor::add) - .def("__call__", &MonitorWrapper::operator(), return_internal_reference<1>() ) - .def("__getitem__", &MonitorWrapper::getString, - "Returns the string value of the indexed Parameter") - .def("__len__", &MonitorWrapper::size) - ; -} - diff --git a/trunk/paradiseo-eo/src/pyeo/perf2worth.cpp b/trunk/paradiseo-eo/src/pyeo/perf2worth.cpp deleted file mode 100644 index 3ca13996d..000000000 --- a/trunk/paradiseo-eo/src/pyeo/perf2worth.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -#include - -#include "PyEO.h" - -using namespace boost::python; - -struct Perf2WorthWrapper : public eoPerf2Worth -{ - PyObject* self; - Perf2WorthWrapper(PyObject* p) : self(p) {} - - void operator()( const eoPop& pop) - { - call_method(self, "__call__", boost::ref(pop)); - } - -}; - -numeric::array get_worths(eoPerf2Worth& p) -{ - std::vector& worths = p.value(); - list result; - - for (unsigned i = 0; i < worths.size(); ++i) - result.append(worths[i]); - - return numeric::array(result); -} - -struct CachedPerf2WorthWrapper : public eoPerf2WorthCached -{ - PyObject* self; - CachedPerf2WorthWrapper(PyObject* p) : self(p) {} - - void calculate_worths(const eoPop& pop) - { - call_method(self, "calculate_worths", boost::ref(pop)); - } -}; - -void perf2worth() -{ - //numeric::array::set_module_and_type("Numeric", "ArrayType"); - - class_< - eoPerf2Worth, - Perf2WorthWrapper, - bases< eoValueParam > >, - boost::noncopyable>("eoPerf2Worth", init<>()) - - .def("__call__", &Perf2WorthWrapper::operator()) - .def("sort_pop", &eoPerf2Worth::sort_pop) - //.def("value", get_worths) - ; - - class_, CachedPerf2WorthWrapper, bases >, boost::noncopyable> - ("eoPerf2WorthCached", init<>()) - .def("__call__", &eoPerf2WorthCached::operator()) - .def("calculate_worths", &CachedPerf2WorthWrapper::calculate_worths) - ; - - //class_, bases > >("eoNoPerf2Worth") -// .def("__call__", &eoNoPerf2Worth::operator()); - - class_, bases > >("eoNDSorting_II") - .def("calculate_worths", &eoNDSorting_II::calculate_worths); -} - - diff --git a/trunk/paradiseo-eo/src/pyeo/pickle.h b/trunk/paradiseo-eo/src/pyeo/pickle.h deleted file mode 100644 index c4219016c..000000000 --- a/trunk/paradiseo-eo/src/pyeo/pickle.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifndef PICKLE_H -#define PICKLE_h - -#include - -#include -#include -/** Implements pickle support for eoPersistent derivatives */ - - -template -struct T_pickle_suite : boost::python::pickle_suite -{ - static - std::string print_to_string(const T& t) - { - std::ostringstream os; - t.printOn(os); - os << std::ends; - return os.str(); - } - - static - boost::python::tuple getstate(const T& t) - { - std::string s = print_to_string(t); - return boost::python::make_tuple( boost::python::str(s)); - } - - static - void setstate(T& t, boost::python::tuple pickled) - { - std::string s = boost::python::extract(pickled[0]); - std::istringstream is(s); - t.readFrom(is); - } -}; - -/** Defines persistency through pickle support by using std::strings - * so while we're at it, we will .def("__str__") as well - */ -template -boost::python::class_& pickle(boost::python::class_& c) -{ - return c.def_pickle(T_pickle_suite()) - .def("__str__", T_pickle_suite::print_to_string); -} - -#endif diff --git a/trunk/paradiseo-eo/src/pyeo/random_numbers.cpp b/trunk/paradiseo-eo/src/pyeo/random_numbers.cpp deleted file mode 100644 index 100ac38e0..000000000 --- a/trunk/paradiseo-eo/src/pyeo/random_numbers.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include - -using namespace boost::python; - -#include -#include - -using namespace boost::python; - -namespace eo -{ - eoRng rng(time(0)); -} - -eoRng& get_rng() { return rng; } -double normal(eoRng& rng) { return rng.normal(); } - -std::string rng_to_string(const eoRng& _rng) -{ - std::ostringstream os; - _rng.printOn(os); - os << std::ends; - return os.str(); -} - - -void rng_from_string(eoRng& _rng, std::string s) -{ - std::istringstream is(s); - _rng.readFrom(is); -} - -struct RNG_pickle_suite : boost::python::pickle_suite -{ - static - boost::python::tuple getstate(const eoRng& _rng) - { - return boost::python::make_tuple(str(rng_to_string(_rng))); - } - static - void setstate(eoRng& _rng, boost::python::tuple pickled) - { - std::string state = extract(pickled[0]); - rng_from_string(_rng, state); - } -}; - -int spin(eoRng& _rng, numeric::array values, double total) -{ - if (total == 0.0) - { - unsigned sz = len(values); - for (unsigned i = 0; i < sz; ++i) - { - total += extract(values[i]); //extract? - } - } - - double chance = _rng.uniform() * total; - - int i = 0; - while (chance >= 0.0) - chance -= extract(values[i++]); - - return --i; -} - -void random_numbers() -{ - class_("eoRng", init()) - .def("flip", &eoRng::flip) - .def("random", &eoRng::random) - .def("rand", &eoRng::rand) - .def("rand_max", &eoRng::rand_max) - .def("reseed", &eoRng::reseed) - .def("uniform", &eoRng::uniform) - .def("normal", normal) - .def("negexp", &eoRng::negexp) - .def("to_string", rng_to_string) - .def("from_string", rng_from_string) - .def("roulette_wheel", spin) - .def_pickle(RNG_pickle_suite()) - ; - - def("rng", get_rng, return_value_policy()); -} diff --git a/trunk/paradiseo-eo/src/pyeo/reduce.cpp b/trunk/paradiseo-eo/src/pyeo/reduce.cpp deleted file mode 100644 index a23c15cd5..000000000 --- a/trunk/paradiseo-eo/src/pyeo/reduce.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include - -#include "PyEO.h" - -using namespace boost::python; - -// unfortunately have to define it specially -class eoReduceWrapper : public eoReduce -{ - public: - PyObject* self; - eoReduceWrapper(PyObject* s) : self(s) {} - void operator()(eoPop& pop, unsigned i) - { - boost::python::call_method(self, "__call__", pop, i ); - } -}; - -void reduce() -{ - - // ref trick in def_abstract_functor does not work for unsigned int :-( - class_, eoReduceWrapper, boost::noncopyable>("eoReduce", init<>()) - .def("__call__", &eoReduceWrapper::operator()); - - class_, bases > >("eoTruncate", init<>() ) - .def("__call__", &eoReduce::operator()) - ; - class_, bases > >("eoRandomReduce") - .def("__call__", &eoReduce::operator()) - ; - class_, bases > >("eoEPReduce", init()) - .def("__call__", &eoReduce::operator()) - ; - class_, bases > >("eoLinearTruncate") - .def("__call__", &eoReduce::operator()) - ; - class_, bases > >("eoDetTournamentTruncate", init()) - .def("__call__", &eoReduce::operator()) - ; - class_, bases > >("eoStochTournamentTruncate", init()) - .def("__call__", &eoReduce::operator()) - ; -} - diff --git a/trunk/paradiseo-eo/src/pyeo/replacement.cpp b/trunk/paradiseo-eo/src/pyeo/replacement.cpp deleted file mode 100644 index 9867a113f..000000000 --- a/trunk/paradiseo-eo/src/pyeo/replacement.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#include -#include - -#include "PyEO.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -#define DEF(x) class_, bases > >(#x).def("__call__", &eoReplacement::operator()) -#define DEF2(x, i1) class_, bases > >(#x, init() ).def("__call__", &eoReplacement::operator()) -#define DEF3(x, i1, i2) class_, bases > >(#x, \ - init() [WC2])\ - .def("__call__", &eoReplacement::operator()) - -void replacement() -{ - def_abstract_functor >("eoReplacement"); - - // eoReplacement.h - DEF(eoGenerationalReplacement); - - class_, bases > > - ("eoWeakElitistReplacement", - init< eoReplacement& >()[WC1]); - - // eoMergeReduce.h - DEF3(eoMergeReduce, eoMerge&, eoReduce& ); - DEF(eoPlusReplacement); - DEF(eoCommaReplacement); - DEF2(eoEPReplacement, unsigned); - - // eoReduceMerge.h - DEF3(eoReduceMerge, eoReduce&, eoMerge& ); - DEF(eoSSGAWorseReplacement); - DEF2(eoSSGADetTournamentReplacement, unsigned); - DEF2(eoSSGAStochTournamentReplacement, double); - - // eoReduceMergeReduce.h - //class_, bases > >("eoReplacement", -// init&, -// eoHowMany, eoReduce&, eoReduce&>()) -// .def("__call__", &eoReplacement::operator()); - - //eoMGGReplacement - DEF(eoMGGReplacement) - .def( init() ) - .def( init() ); -} - diff --git a/trunk/paradiseo-eo/src/pyeo/selectOne.cpp b/trunk/paradiseo-eo/src/pyeo/selectOne.cpp deleted file mode 100644 index 554a6e36a..000000000 --- a/trunk/paradiseo-eo/src/pyeo/selectOne.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#include -#include -#include - -#include "PyEO.h" -#include "pickle.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -class eoSelectOneWrapper : public eoSelectOne -{ - public: - PyObject* self; - eoSelectOneWrapper(PyObject* p) : self(p) {} - const PyEO& operator()(const eoPop& pop) - { - return boost::python::call_method< const PyEO& >(self, "__call__", boost::ref(pop)); - } -}; - -template -void add_select(std::string name) -{ - class_ > >(name.c_str(), init<>() ) - .def("__call__", &Select::operator(), return_internal_reference<>() ) - ; -} - -template -void add_select(std::string name, Init init) -{ - class_ > >(name.c_str(), init) - .def("__call__", &Select::operator(), return_internal_reference<>() ) - ; -} - -template -void add_select(std::string name, Init1 init1, Init2 init2) -{ - class_ > >(name.c_str(), init1) - .def( init2 ) - .def("__call__", &Select::operator(), return_internal_reference<>() ) - .def("setup", &Select::setup); -} - -void selectOne() -{ - /* Concrete classes */ - - pickle(class_("eoHowMany", init<>()) - .def( init() ) - .def( init() ) - .def( init() ) - .def("__call__", &eoHowMany::operator()) - .def("__neg__", &eoHowMany::operator-) - ); - - class_, eoSelectOneWrapper, boost::noncopyable>("eoSelectOne", init<>()) - .def("__call__", &eoSelectOneWrapper::operator(), return_internal_reference<>() ) - .def("setup", &eoSelectOne::setup); - - /* SelectOne derived classes */ - - add_select >("eoDetTournamentSelect", init<>(), init() ); - add_select >("eoStochTournamentSelect", init<>(), init() ); - add_select >("eoTruncatedSelectOne", - init&, double>()[WC1], init&, eoHowMany >()[WC1] ); - - // eoProportionalSelect is not feasible to implement at this point as fitness is not recognizable as a float - // use eoDetTournament instead: with a t-size of 2 it is equivalent to eoProportional with linear scaling - //add_select >("eoProportionalSelect", init&>() ); - - add_select >("eoRandomSelect"); - add_select >("eoBestSelect"); - add_select >("eoNoSelect"); - - add_select >("eoSequentialSelect", init<>(), init()); - add_select >("eoEliteSequentialSelect"); - /* - * eoSelectFromWorth.h:class eoSelectFromWorth : public eoSelectOne - - */ -} diff --git a/trunk/paradiseo-eo/src/pyeo/selectors.cpp b/trunk/paradiseo-eo/src/pyeo/selectors.cpp deleted file mode 100644 index ba8d405d6..000000000 --- a/trunk/paradiseo-eo/src/pyeo/selectors.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "PyEO.h" -#include "def_abstract_functor.h" - -using namespace boost::python; - -#define DEF(x) class_, bases > >(#x).def("__call__", &eoSelect::operator()) -#define DEF2(x, i1) class_, bases > >(#x, init()[WC1] ).def("__call__", &eoSelect::operator()) -#define DEF3(x, i1, i2) class_, bases > >(#x, init()[WC1] ).def("__call__", &eoSelect::operator()) - -void selectors() -{ - def_abstract_functor >("eoSelect"); - - DEF(eoDetSelect).def( init() ).def( init() ); - DEF3(eoSelectMany, eoSelectOne&, double) - .def( init< eoSelectOne&, double, bool>()[WC1] ) - .def( init< eoSelectOne&, eoHowMany>()[WC1] ); - - DEF2(eoSelectNumber, eoSelectOne&) - .def( init< eoSelectOne&, unsigned>()[WC1]); - - DEF2(eoSelectPerc, eoSelectOne&) - .def( init&, float>()[WC1] ); - - DEF3(eoTruncSelect, eoSelectOne&, eoHowMany); - - class_, bases > >("eoTruncatedSelectMany", - init&, double, double>()[WC1]) - .def(init&, double, double, bool> ()[WC1]) - .def(init&, double, double, bool, bool> ()[WC1]) - .def(init&, eoHowMany, eoHowMany> ()[WC1]); - -} diff --git a/trunk/paradiseo-eo/src/pyeo/statistics.cpp b/trunk/paradiseo-eo/src/pyeo/statistics.cpp deleted file mode 100644 index 9c436ba52..000000000 --- a/trunk/paradiseo-eo/src/pyeo/statistics.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include - -#include "PyEO.h" -#include "valueParam.h" - -using namespace boost::python; - -class StatBaseWrapper : public eoStatBase -{ - public: - PyObject* self; - StatBaseWrapper(PyObject* p) : self(p) {} - - void operator()(const eoPop& pop) - { - call_method(self, "__call__", boost::ref(pop)); - } -}; - -class SortedStatBaseWrapper : public eoSortedStatBase -{ - public: - PyObject* self; - SortedStatBaseWrapper(PyObject* p) : self(p) {} - - void operator()(const std::vector& pop) - { - call_method(self, "__call__", boost::ref(pop)); - } -}; - -typedef std::vector eoPopView; - -const PyEO& popview_getitem(const std::vector& pop, int it) -{ - unsigned item = unsigned(it); - if (item > pop.size()) - throw index_error("too much"); - - return *pop[item]; -} - -void statistics() -{ - class_, StatBaseWrapper, boost::noncopyable> - ("eoStatBase", init<>()) - .def("lastCall", &eoStatBase::lastCall) - .def("__call__", &StatBaseWrapper::operator()) - ; - - class_< eoPopView >("eoPopView") - .def("__getitem__", popview_getitem, return_internal_reference<>() ) - .def("__len__", &eoPopView::size) - ; - - class_, SortedStatBaseWrapper, boost::noncopyable> - ("eoSortedStatBase", init<>()) - .def("lastCall", &eoSortedStatBase::lastCall) - .def("__call__", &SortedStatBaseWrapper::operator()) - ; -} diff --git a/trunk/paradiseo-eo/src/pyeo/test/CVS/Entries b/trunk/paradiseo-eo/src/pyeo/test/CVS/Entries deleted file mode 100644 index 67a67d2e9..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/CVS/Entries +++ /dev/null @@ -1,11 +0,0 @@ -/maxone.py/1.3/Fri Jan 10 15:41:15 2003// -/run_tests.sh/1.2/Fri Jan 10 15:41:16 2003// -/test_breeders.py/1.4/Tue Mar 18 16:35:27 2003// -/test_mo.py/1.4/Tue Jan 14 09:37:45 2003// -/test_pickling.py/1.4/Fri Mar 21 02:39:09 2003// -/test_populator.py/1.2/Fri Jan 10 15:41:17 2003// -/test_reduce.py/1.2/Fri Jan 10 15:41:17 2003// -/test_selectone.py/1.2/Fri Jan 10 15:41:17 2003// -/test_sga.py/1.2/Fri Jan 10 15:41:17 2003// -/test_transform.py/1.1/Wed Jan 21 19:57:18 2004// -D diff --git a/trunk/paradiseo-eo/src/pyeo/test/CVS/Repository b/trunk/paradiseo-eo/src/pyeo/test/CVS/Repository deleted file mode 100644 index 8490b4240..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/pyeo/test diff --git a/trunk/paradiseo-eo/src/pyeo/test/CVS/Root b/trunk/paradiseo-eo/src/pyeo/test/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/pyeo/test/maxone.py b/trunk/paradiseo-eo/src/pyeo/test/maxone.py deleted file mode 100644 index c2b6a0cf9..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/maxone.py +++ /dev/null @@ -1,91 +0,0 @@ - -import sys -sys.path.append('..') - -print 'importing pyeo' -from PyEO import * -print 'done' - -from copy import copy - -class MinimFit(float): - def __cmp__(self, other): - if other == None: # I seem to be getting None's, don't know why - return 1 - return float.__cmp__(other, self) - -class EvalFunc(eoEvalFunc): - def __call__(self, eo): - eo.fitness = reduce(lambda x,y: x+y, eo.genome, 0) - -class MinEvalFunc(eoEvalFunc): - def __call__(self, eo): - f = reduce(lambda x,y: x+y, eo.genome, 0 ) - eo.fitness = MinimFit(f) - -class Init(eoInit): - def __init__(self, genome_length = 10): - eoInit.__init__(self) - self.length = genome_length - def __call__(self, eo): - eo.genome = [rng().flip(0.5) for x in range(self.length)] - -class Mutate(eoMonOp): - def __call__(self, eo): - eo.genome = copy(eo.genome) - - prob = 1. / len(eo.genome) - for i in range(len(eo.genome)): - if rng().flip(0.5): - eo.genome[i] = 1-eo.genome[i]; - return 1 - -class Crossover(eoQuadOp): - def __call__(self, eo1, eo2): - eo1.genome = copy(eo1.genome); - eo2.genome = copy(eo2.genome); - - point = rng().random( len(eo1.genome) ); - - eo1.genome[:point] = eo2.genome[:point]; - eo2.genome[point:] = eo1.genome[point:]; - - return 1 - -evaluate = EvalFunc() -init = Init(3) -mutate = Mutate() -xover = Crossover() - -if __name__ == '__main__': - - eo = EO() - eo1 = EO() - - init(eo1) - init(eo) - evaluate(eo) - print eo - - for i in range(10): - xover(eo, eo1) - mutate(eo) - - evaluate(eo) - print eo, eo1 - - print - print - print - - pop = eoPop(1, init) - - pop[0] = eo; - - mutate(pop[0]) - pop[0].invalidate() - evaluate(pop[0]) - - print pop[0], eo - - diff --git a/trunk/paradiseo-eo/src/pyeo/test/run_tests.sh b/trunk/paradiseo-eo/src/pyeo/test/run_tests.sh deleted file mode 100755 index f3901050c..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/run_tests.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -for i in *.py -do - python $i > /dev/null - -done - - diff --git a/trunk/paradiseo-eo/src/pyeo/test/test_breeders.py b/trunk/paradiseo-eo/src/pyeo/test/test_breeders.py deleted file mode 100644 index 5d3fc7601..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/test_breeders.py +++ /dev/null @@ -1,33 +0,0 @@ -from maxone import * -import unittest - -class TestBreeders(unittest.TestCase): - - def runtest(self, breed): - - pop = eoPop(50, Init(20)) - evaluate = EvalFunc() - print 'HERE' - for indy in pop: evaluate(indy) - newpop = eoPop(); - - breed(pop,newpop) - - print pop.best() - for indy in newpop: evaluate(indy) - print newpop.best() - - def testGeneralBreeder(self): - seq = eoSequentialOp(); - seq.add(Crossover(), 0.7) - seq.add(Mutate(), 0.1) - - breed = eoGeneralBreeder(eoDetTournamentSelect(3), seq) - self.runtest(breed) - -def suite(): - return unittest.makeSuite(TestSGA,'test') - - -if __name__=='__main__': - unittest.main() diff --git a/trunk/paradiseo-eo/src/pyeo/test/test_mo.py b/trunk/paradiseo-eo/src/pyeo/test/test_mo.py deleted file mode 100644 index ac8472903..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/test_mo.py +++ /dev/null @@ -1,176 +0,0 @@ -from maxone import * -from math import exp -import unittest - - -class MyInit(eoInit): - def __call__(self, eo): - eo.genome = [rng().normal(), rng().normal(), rng().normal()]; - -class MyMutate(eoMonOp): - def __call__(self, eo): - - std = 0.05 - eo.genome = copy(eo.genome) - - eo.genome[0] += rng().normal() * std - eo.genome[1] += rng().normal() * std - eo.genome[2] += rng().normal() * std - return 1 - -class AnEval(eoEvalFunc): - def __init__(self): - eoEvalFunc.__init__(self) - - setObjectivesSize(2); - setObjectivesValue(0,1); - setObjectivesValue(1,1); - - def __call__(self, eo): - x = abs(eo.genome[0]) - y = abs(eo.genome[1]) - z = abs(eo.genome[2]) - - eo.fitness = [ x / (x+y+z), y /(x+y+z) ] - -import Gnuplot - -g = Gnuplot.Gnuplot() -g.reset() - -def do_plot(pop): - l1 = [] - l2 = [] - - for indy in pop: - l1.append(indy.fitness[0]) - l2.append(indy.fitness[1]) - - d = Gnuplot.Data(l1,l2, with = 'points') - - d2 = Gnuplot.Data([0,1],[1,0], with='lines') - - g.plot(d,d2) - - - -class NSGA_II(eoAlgo): - def __init__(self, ngens): - - self.cont = eoGenContinue(ngens); - - self.selectOne = eoDetTournamentSelect(2); - self.evaluate = AnEval() - self.mutate = MyMutate() - self.init = MyInit() - - self.seq = eoProportionalOp() - self.seq.add(self.mutate, 1.0) - - self.perf2worth = eoNDSorting_II() - - def __call__(self, pop): - - sz = len(pop) - i = 0 - while self.cont(pop): - newpop = eoPop() - populator = eoSelectivePopulator(pop, newpop, self.selectOne); - - while len(newpop) < sz: - self.seq(populator) - - for indy in newpop: - self.evaluate(indy) - pop.push_back(indy) - - self.perf2worth(pop) - self.perf2worth.sort_pop(pop) - - #print pop[0].fitness, pop[0].genome - pop.resize(sz) - - #worth = self.perf2worth.getValue() - #print worth[0], worth[sz-1] - - i += 1 - if i%100 == 0: - pass - do_plot(pop) - - worths = self.perf2worth.getValue() - - w0 = int(worths[0]-0.001) - - for i in range(len(pop)): - if worths[i] <= w0: - break; - - print pop[i].genome - print pop[i].fitness - - -class TestNSGA_II(unittest.TestCase): - - def testIndividuals(self): - setObjectivesSize(2); - setObjectivesValue(0,1); - setObjectivesValue(1,1); - - eo1 = EO(); - eo2 = EO(); - - eo1.fitness = [0,1]; - eo2.fitness = [1,1]; - - self.failUnlessEqual(dominates(eo1, eo2), 0) - self.failUnlessEqual(dominates(eo2, eo1), 1) - self.failUnlessEqual(dominates(eo2, eo2), 0) - - setObjectivesValue(0,-1) - setObjectivesValue(1,-1); - - self.failUnlessEqual(dominates(eo1, eo2), 1) - self.failUnlessEqual(dominates(eo2, eo1), 0) - self.failUnlessEqual(dominates(eo2, eo2), 0) - - def testNDSorting(self): - setObjectivesSize(2); - setObjectivesValue(0,-1) - setObjectivesValue(1,-1); - - pop = eoPop() - pop.resize(6) - - pop[5].fitness = [0.15,0.87] - pop[4].fitness = [0.1,0.9] - pop[3].fitness = [0,1]; - pop[2].fitness = [1,0]; - pop[1].fitness = [1,1]; - pop[0].fitness = [2,1]; - - srt = eoNDSorting_II() - - srt(pop) - srt.sort_pop(pop) - - for indy in pop: - print indy.fitness - - - worths = srt.getValue() - print worths - print type(worths) - - def testNSGA_II(self): - - evaluate = AnEval(); - pop = eoPop(25, MyInit()) - for indy in pop: evaluate(indy) - - nsga = NSGA_II(50) - - nsga(pop) - -if __name__=='__main__': - unittest.main() diff --git a/trunk/paradiseo-eo/src/pyeo/test/test_pickling.py b/trunk/paradiseo-eo/src/pyeo/test/test_pickling.py deleted file mode 100644 index 161668bb3..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/test_pickling.py +++ /dev/null @@ -1,100 +0,0 @@ -from maxone import * -import unittest -import cPickle -import tempfile -import os - -class TestPickling(unittest.TestCase): - - def do_pickle(self, object): - - filename = tempfile.mktemp() - file = open(filename, 'wb') - pickler = cPickle.Pickler(file) - - pickler.dump(object); - del pickler - file.close() - - file = open(filename) - - unpickler = cPickle.Unpickler(file) - - object2 = unpickler.load() - - del unpickler - file.close() - os.remove(filename) - - return object2 - - def testInvalidEO(self): - - eo = EO(); - eo.genome = [1,2,3]; - - eo2 = self.do_pickle(eo) - self.failUnlessEqual( str(eo), str(eo2) ) - - def testValidEO(self): - - eo = EO(); - eo.genome = [1,2,3]; - eo.fitness = 10 - - eo2 = self.do_pickle(eo) - - self.failUnlessEqual( str(eo), str(eo2) ) - - def testPop(self): - - pop = eoPop(40, init) - for indy in pop: - evaluate(indy) - - pop2 = self.do_pickle(pop) - - self.failUnlessEqual( str(pop), str(pop2) ) - - def testHowMany(self): - - howmany = eoHowMany(0.8); - howmany2 = self.do_pickle(howmany) - - self.failUnlessEqual(howmany(10), howmany2(10)) - self.failUnlessEqual( str(howmany), str(howmany) ) - - def testRNG(self): - - for i in range(10): - rng().rand() - - rng2 = self.do_pickle(rng()) - - for i in range(100): - a = rng().rand() - b = rng2.rand() - self.failUnlessEqual(a,b) - - def vParam(self,v): - - v2 = self.do_pickle(v); - self.failUnlessEqual(v.value, v2.value) - - def testValueParam(self): - import Numeric - - self.vParam(eoValueParamInt(42,'int')) - self.vParam(eoValueParamFloat(4.2,'float')) - - v = eoValueParamVec() - v.value = Numeric.arange(10) - self.vParam(v) - - v = eoValueParamPair() - v.value = (0.3,0.5) - self.vParam(v) - - -if __name__=='__main__': - unittest.main() diff --git a/trunk/paradiseo-eo/src/pyeo/test/test_populator.py b/trunk/paradiseo-eo/src/pyeo/test/test_populator.py deleted file mode 100644 index a6743fda4..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/test_populator.py +++ /dev/null @@ -1,86 +0,0 @@ -print 'importing maxone' -from maxone import * -print 'done' -import unittest - -class Mut(Mutate): - def __init__(self): - Mutate.__init__(self) - self.cnt = 0; - def __call__(self, eo): - self.cnt += 1; - return Mutate.__call__(self, eo) - -class Xover(Crossover): - def __init__(self): - Crossover.__init__(self) - self.cnt = 0; - def __call__(self, eo1, eo2): - self.cnt += 1; - return Crossover.__call__(self, eo1, eo2) - -class TestPopulator(unittest.TestCase): - - def make_pop(self): - pop = eoPop(20, init) - for indy in pop: evaluate(indy) - return pop - - def test_sequential(self): - pop = self.make_pop() - populator = eoSeqPopulator(pop, pop) - - print populator.get() - print populator.get() - - def test_selective(self): - sel = eoDetTournamentSelect(2) - pop = self.make_pop() - - populator = eoSelectivePopulator(pop, pop, sel) - - print populator.get() - print populator.get() - - def runOpContainer(self, opcontainer): - - mutate = Mut() - xover = Xover() - - print 'making seq' - seq = opcontainer() - - print "xovertype", xover.getType() - print "mutationtype", mutate.getType() - - seq.add(mutate, 0.4) - seq.add(xover, 0.8) - - pop = self.make_pop(); - offspring = eoPop() - - sel = eoDetTournamentSelect(2) - - print "making populator" - populator = eoSelectivePopulator(pop, offspring, sel) - print 'made' - - for i in xrange(1000): - seq(populator) - - print mutate.cnt - print xover.cnt - - - def test_sequentialOp(self): - print '*'*20, "SequentialOp", '*'*20 - self.runOpContainer(eoSequentialOp) - - def test_proportionalOp(self): - print '*'*20, "ProportionalOp", '*'*20 - self.runOpContainer(eoProportionalOp) - - - -if __name__=='__main__': - unittest.main() diff --git a/trunk/paradiseo-eo/src/pyeo/test/test_reduce.py b/trunk/paradiseo-eo/src/pyeo/test/test_reduce.py deleted file mode 100644 index 2ca99dc5b..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/test_reduce.py +++ /dev/null @@ -1,34 +0,0 @@ -from maxone import * -import unittest - -class TestReduce(unittest.TestCase): - - def run_test(self, ReduceClass, Arg = None): - pop = eoPop(10, init) - for indy in pop: evaluate(indy) - - if Arg: - red = ReduceClass(Arg) - else: - red = ReduceClass() - - red(pop, 5); - - self.failUnlessEqual( len(pop), 5) - - def test_eoTruncate(self): - self.run_test(eoTruncate) - def test_eoRandomeReduce(self): - self.run_test(eoRandomReduce) - def test_eoEPRReduce(self): - self.run_test(eoEPReduce, 2) - def test_eoLinearTruncate(self): - self.run_test(eoLinearTruncate) - def test_eoDetTournamentTruncate(self): - self.run_test(eoDetTournamentTruncate, 2) - def test_eoStochTournamentTruncate(self): - self.run_test(eoStochTournamentTruncate, 0.9) - - -if __name__=='__main__': - unittest.main() diff --git a/trunk/paradiseo-eo/src/pyeo/test/test_selectone.py b/trunk/paradiseo-eo/src/pyeo/test/test_selectone.py deleted file mode 100644 index 1a25bc7fe..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/test_selectone.py +++ /dev/null @@ -1,66 +0,0 @@ -from maxone import * -import unittest - -class Init(eoInit): - def __call__(self, eo): - pass - -class TestSGA(unittest.TestCase): - - def __init__(self, a): - unittest.TestCase.__init__(self, a) - self.pop = eoPop(4, Init()) - - for i in range(len(self.pop)): - self.pop[i].fitness = i; - - - def do_test(self, selectOne): - - print '*'*20, "Testing", str(selectOne.__class__), '*'*20 - selection = [0. for i in range(len(self.pop))] - - nTries = 500 - for i in range(nTries): - selection[ selectOne(self.pop).fitness ] += 1 - - for i in range(len(self.pop)): - print i, selection[i], selection[i] / nTries - - return selection, nTries - - def test_eoDetTournamenSelect(self): - - selectOne = eoDetTournamentSelect(2) - self.do_test(selectOne) - - def test_eoRandomSelect(self): - selectOne = eoRandomSelect() - self.do_test(selectOne) - - def test_eoBestSelect(self): - selectOne = eoBestSelect() - (sel, nTries) = self.do_test(selectOne) - - self.failUnlessEqual(sel[0], 0); - self.failUnlessEqual(sel[-1], nTries); - - def test_eoNoSelect(self): - selectOne = eoNoSelect() - self.do_test(selectOne) - - def test_eoStochTournament(self): - selectOne = eoStochTournamentSelect(0.75) - self.do_test(selectOne) - - def test_eoSequentialSelect(self): - selectOne = eoSequentialSelect(); - self.do_test(selectOne) - - def test_eoEliteSequentialSelect(self): - selectOne = eoEliteSequentialSelect(); - self.do_test(selectOne) - - -if __name__=='__main__': - unittest.main() diff --git a/trunk/paradiseo-eo/src/pyeo/test/test_sga.py b/trunk/paradiseo-eo/src/pyeo/test/test_sga.py deleted file mode 100644 index b84afe752..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/test_sga.py +++ /dev/null @@ -1,44 +0,0 @@ -from maxone import * -import unittest - -class TestSGA(unittest.TestCase): - - def dotestSGA(self, evaluate): - init = Init(20) - mutate = Mutate() - xover = Crossover() - - pop = eoPop(50, init) - for indy in pop: evaluate(indy) - - select = eoDetTournamentSelect(3); - cont1 = eoGenContinue(20); - - cont = eoCheckPoint(cont1) - - mon = eoGnuplot1DMonitor() - - avg = eoAverageStat() - bst = eoBestFitnessStat() - mon.add(avg) - mon.add(bst) - - # add it to the checkpoint - cont.add(avg) - #cont.add(mon) - cont.add(bst) - - sga = eoSGA(select, xover, 0.6, mutate, 0.4, evaluate, cont); - - sga(pop) - - print pop.best() - def testSGA_Max(self): - evaluate = EvalFunc() - self.dotestSGA(evaluate) - def testSGA_Min(self): - evaluate = MinEvalFunc() - self.dotestSGA(evaluate) - -if __name__=='__main__': - unittest.main() diff --git a/trunk/paradiseo-eo/src/pyeo/test/test_transform.py b/trunk/paradiseo-eo/src/pyeo/test/test_transform.py deleted file mode 100644 index 67d892e68..000000000 --- a/trunk/paradiseo-eo/src/pyeo/test/test_transform.py +++ /dev/null @@ -1,61 +0,0 @@ -"""Test script for the eoSGATranform class""" - -from copy import deepcopy -from PyEO import * -from maxone import * - -pop = eoPop() -for i in range(10): - eo = EO() - init(eo) - evaluate(eo) - pop.push_back(eo) - -transform = eoSGATransform(xover, 0.8, mutate, 0.2) - -def test1(pop, transform): - pop = deepcopy(pop) - print "test 1" - print "Initial population:" - print pop - - transform(pop) - - print "GM pop:" - print pop - -def test2(pop, transform): - pop = deepcopy(pop) - - print "test 2" - print "Initial population" - print pop - - checkpoint = eoCheckPoint(eoGenContinue(50)) - select = eoSelectNumber(eoDetTournamentSelect(3), 10) - replace = eoGenerationalReplacement() - - algo = eoEasyEA(checkpoint, evaluate, select, transform, replace) - algo(pop) - - print "Evoluated pop:" - print pop - -if __name__ == "__main__": - try: - test1(pop, transform) - except: - import sys - print - print "Caught an exception:" - print sys.exc_type, sys.exc_value - print - - try: - test2(pop, transform) - except: - import sys - print - print "Caught an exception:" - print sys.exc_type, sys.exc_value - print diff --git a/trunk/paradiseo-eo/src/pyeo/valueParam.cpp b/trunk/paradiseo-eo/src/pyeo/valueParam.cpp deleted file mode 100644 index 606251802..000000000 --- a/trunk/paradiseo-eo/src/pyeo/valueParam.cpp +++ /dev/null @@ -1,194 +0,0 @@ -/* - PyEO - - Copyright (C) 2003 Maarten Keijzer - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include - -// Here's 'len'. Why? dunno -#include "valueParam.h" -#include - -using namespace boost::python; - -class ParamWrapper : public eoParam -{ -public: - PyObject* self; - ParamWrapper(PyObject* p) : self(p) {} - ParamWrapper(PyObject* p, - std::string a, - std::string b, - std::string c, - char d, - bool e) : eoParam(a,b,c,d,e), self(p) {} - - - std::string getValue() const - { - return call_method(self, "getValueAsString"); - } - - void setValue(const std::string& s) - { - call_method(self, "setValueAsString", s); - } - -}; - -template -struct ValueParam_pickle_suite : boost::python::pickle_suite -{ - static - boost::python::tuple getstate(const eoValueParam& _param) - { - str v(_param.getValue()); - str d(_param.description()); - str def(_param.defValue()); - str l(_param.longName()); - object s(_param.shortName()); - object r(_param.required()); - return make_tuple(v,d,def,l,s,r); - } - static - void setstate(eoValueParam& _param, boost::python::tuple pickled) - { - std::string v = extract(pickled[0]); - std::string d = extract(pickled[1]); - std::string def = extract(pickled[2]); - std::string l = extract(pickled[3]); - char s = extract(pickled[4]); - bool r = extract(pickled[5]); - - _param = eoValueParam(T(), l, d, s, r); - _param.defValue(d); - _param.setValue(v); - } -}; - -template -U getv(const eoValueParam& v) { return v.value(); } - -template -void setv(eoValueParam& v, U val) { v.value() = val; } - -template <> -numeric::array getv< std::vector, numeric::array > - (const eoValueParam< std::vector >& param) -{ - const std::vector& v = param.value(); - list result; - - for (unsigned i =0; i < v.size(); ++i) - result.append(v[i]); - - return numeric::array(result); -} - -template <> -void setv< std::vector, numeric::array > - (eoValueParam< std::vector >& param, numeric::array val) -{ - std::vector& v = param.value(); - v.resize( boost::python::len(val) ); - for (unsigned i = 0; i < v.size(); ++i) - { - extract x(val[i]); - if (!x.check()) - throw std::runtime_error("double expected"); - - v[i] = x(); - } -} - -template <> -tuple getv, tuple > - (const eoValueParam< std::pair >& p) -{ - return make_tuple(p.value().first, p.value().second); -} - -template <> -void setv< std::pair, tuple > - (eoValueParam< std::pair >& p, tuple val) -{ - extract first(val[0]); - extract second(val[1]); - - if (!first.check()) - throw std::runtime_error("doubles expected"); - if (!second.check()) - throw std::runtime_error("doubles expected"); - - p.value().first = first(); - p.value().second = second(); -} - -template -void define_valueParam(std::string prefix) -{ - std::string name = "eoValueParam"; - name += prefix; - - class_, bases >(name.c_str(), init<>()) - .def(init()) - .def(init()) - .def(init()) - .def(init()) - .def("getValueAsString", &eoValueParam::getValue) - .def("__str__", &eoValueParam::getValue) - .def("setValueAsString", &eoValueParam::setValue) - .def("getValue", getv) - .def("setValue", setv) - .add_property("value", getv, setv) - .def_pickle(ValueParam_pickle_suite()) - ; -} - -void valueParam() -{ - class_("eoParam", init<>()) - .def(init< std::string, std::string, std::string, char, bool>()) - .def("getValueAsString", &ParamWrapper::getValue) - .def("setValueAsString", &ParamWrapper::setValue) - .def("longName", &eoParam::longName, return_value_policy()) - //.def("defValue", &eoParam::defValue, return_value_policy()) - .def("description", &eoParam::description, return_value_policy()) - .def("shortName", &eoParam::shortName) - .def("required", &eoParam::required) - ; - - define_valueParam("Int"); - define_valueParam("Float"); - define_valueParam, numeric::array >("Vec"); - define_valueParam< std::pair, tuple >("Pair"); - //define_valueParam< object, object >("Py"); - - class_ >("eoValueParam", init<>()) - //.def(init()) - //.def(init()) - //.def(init()) - .def(init()) - .def("getValueAsString", &ValueParam::getValue) - .def("__str__", &ValueParam::getValue) - .def("setValueAsString", &ValueParam::setValue) - .add_property("object", &ValueParam::getObj, &ValueParam::setObj) - ; -} - diff --git a/trunk/paradiseo-eo/src/pyeo/valueParam.h b/trunk/paradiseo-eo/src/pyeo/valueParam.h deleted file mode 100644 index 783f2fc13..000000000 --- a/trunk/paradiseo-eo/src/pyeo/valueParam.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef VALUEPARAM_H -#define VALUEPARAM_H - -#include -#include - -class ValueParam : public eoParam // ValueParam containing python object -{ - boost::python::object obj; - - public: - - ValueParam() : eoParam(), obj() {} - - ValueParam(boost::python::object o, - std::string longName, - std::string d = "No Description", - char s = 0, - bool r = false) : eoParam(longName, "", d, s, r) - { - std::cerr << "HI" << std::endl; - obj = o; - eoParam::defValue(getValue()); - } - - - std::string getValue() const - { - boost::python::str s = boost::python::str(obj); - return std::string(boost::python::extract(s)); - } - - void setValue(const std::string& v) - { - std::cerr << "not implemented yet" << std::endl; - } - - boost::python::object getObj() const { return obj;} - void setObj(boost::python::object o) { obj = o; } - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/.cvsignore b/trunk/paradiseo-eo/src/utils/.cvsignore deleted file mode 100644 index 69fb0bd82..000000000 --- a/trunk/paradiseo-eo/src/utils/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.lo -*.la -.deps -.libs -Makefile -Makefile.in diff --git a/trunk/paradiseo-eo/src/utils/CVS/Entries b/trunk/paradiseo-eo/src/utils/CVS/Entries deleted file mode 100644 index a6271e213..000000000 --- a/trunk/paradiseo-eo/src/utils/CVS/Entries +++ /dev/null @@ -1,52 +0,0 @@ -/.cvsignore/1.1/Mon Apr 3 09:32:09 2000// -/Makefile.am/1.23/Sun Oct 2 21:42:08 2005// -/checkpointing/1.13/Sat Apr 5 13:41:43 2003// -/compatibility.h/1.8/Tue Mar 18 09:40:36 2003// -/eoAssembledFitnessStat.h/1.5/Mon Mar 27 18:55:20 2006// -/eoCheckPoint.h/1.12/Tue Jun 15 07:04:12 2004// -/eoData.cpp/1.2/Mon Oct 3 12:54:45 2005// -/eoData.h/1.10/Wed Oct 5 21:48:01 2005// -/eoDistance.h/1.4/Tue May 25 08:03:30 2004// -/eoFDCStat.h/1.7/Mon Mar 27 18:55:20 2006// -/eoFileMonitor.cpp/1.7/Wed Nov 19 13:29:15 2003// -/eoFileMonitor.h/1.14/Sun Oct 2 21:42:08 2005// -/eoFileSnapshot.h/1.12/Wed Sep 28 21:49:26 2005// -/eoGnuplot.cpp/1.2/Wed Oct 5 21:34:19 2005// -/eoGnuplot.h/1.15/Sun Oct 2 21:57:43 2005// -/eoGnuplot1DMonitor.cpp/1.3/Tue Nov 8 11:34:12 2005// -/eoGnuplot1DMonitor.h/1.18/Tue Nov 8 11:34:12 2005// -/eoGnuplot1DSnapshot.cpp/1.2/Wed Oct 5 21:34:19 2005// -/eoGnuplot1DSnapshot.h/1.19/Mon Oct 10 13:33:13 2005// -/eoHowMany.h/1.16/Wed Sep 28 21:49:26 2005// -/eoIntBounds.cpp/1.3/Wed Sep 28 21:49:26 2005// -/eoIntBounds.h/1.4/Mon Dec 27 07:33:03 2004// -/eoMOFitnessStat.h/1.5/Mon Mar 27 18:55:20 2006// -/eoMonitor.h/1.11/Tue Jun 15 07:09:57 2004// -/eoParam.h/1.28/Wed Sep 28 21:49:26 2005// -/eoParser.cpp/1.28/Wed Sep 28 21:49:26 2005// -/eoParser.h/1.19/Mon Oct 10 21:42:31 2005// -/eoPopStat.h/1.13/Mon Mar 27 18:55:20 2006// -/eoRNG.cpp/1.8/Sun Mar 26 10:04:01 2006// -/eoRNG.h/1.25/Sun Mar 26 10:04:01 2006// -/eoRealBounds.cpp/1.10/Wed Sep 28 21:49:26 2005// -/eoRealBounds.h/1.8/Mon Dec 27 07:33:03 2004// -/eoRealVectorBounds.h/1.4/Thu Feb 27 19:21:17 2003// -/eoRndGenerators.h/1.6/Fri May 16 14:28:52 2003// -/eoScalarFitnessStat.h/1.6/Mon Mar 27 18:55:20 2006// -/eoStat.h/1.25/Mon Mar 27 18:55:20 2006// -/eoState.cpp/1.11/Wed Sep 28 21:49:26 2005// -/eoState.h/1.8/Mon Oct 8 09:13:16 2001// -/eoStdoutMonitor.cpp/1.4/Sat Nov 10 06:58:29 2001// -/eoStdoutMonitor.h/1.4/Tue Jun 15 07:09:57 2004// -/eoTimeCounter.h/1.2/Fri Apr 12 15:13:45 2002// -/eoTimedMonitor.h/1.1/Fri Oct 14 15:33:16 2005// -/eoUniformInit.h/1.3/Fri May 16 14:28:52 2003// -/eoUpdatable.h/1.2/Mon Sep 5 16:47:53 2005// -/eoUpdater.cpp/1.6/Wed Sep 28 21:49:26 2005// -/eoUpdater.h/1.13/Mon Mar 27 18:55:20 2006// -/make_help.cpp/1.6/Sat Feb 2 05:59:05 2002// -/pipecom.cpp/1.2/Wed Oct 5 21:40:53 2005// -/pipecom.h/1.4/Sun Oct 2 21:42:08 2005// -/rnd_generators.h/1.11/Mon Sep 26 10:18:15 2005// -/selectors.h/1.13/Tue Nov 8 11:31:01 2005// -D diff --git a/trunk/paradiseo-eo/src/utils/CVS/Repository b/trunk/paradiseo-eo/src/utils/CVS/Repository deleted file mode 100644 index 524e60258..000000000 --- a/trunk/paradiseo-eo/src/utils/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/src/utils diff --git a/trunk/paradiseo-eo/src/utils/CVS/Root b/trunk/paradiseo-eo/src/utils/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/src/utils/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/src/utils/Makefile.am b/trunk/paradiseo-eo/src/utils/Makefile.am deleted file mode 100644 index 18c8b1ae2..000000000 --- a/trunk/paradiseo-eo/src/utils/Makefile.am +++ /dev/null @@ -1,57 +0,0 @@ -## Makefile.am for eo/src/utils - -lib_LIBRARIES = libeoutils.a - -libeoutils_a_SOURCES = eoData.cpp \ - eoFileMonitor.cpp \ - eoGnuplot.cpp \ - eoGnuplot1DMonitor.cpp \ - eoGnuplot1DSnapshot.cpp \ - eoIntBounds.cpp \ - eoParser.cpp \ - eoRealBounds.cpp \ - eoRNG.cpp \ - eoState.cpp \ - eoStdoutMonitor.cpp \ - eoUpdater.cpp \ - make_help.cpp \ - pipecom.cpp - -utilsincludedir = $(pkgincludedir)/utils - -utilsinclude_HEADERS = checkpointing \ - compatibility.h \ - eoAssembledFitnessStat.h \ - eoCheckPoint.h \ - eoData.h \ - eoDistance.h \ - eoFDCStat.h \ - eoFileMonitor.h \ - eoFileSnapshot.h \ - eoGnuplot.h \ - eoGnuplot1DMonitor.h \ - eoGnuplot1DSnapshot.h \ - eoHowMany.h \ - eoMOFitnessStat.h \ - eoMonitor.h \ - eoParam.h \ - eoParser.h \ - eoPopStat.h \ - eoRNG.h \ - eoRealBounds.h \ - eoIntBounds.h \ - eoRealVectorBounds.h \ - eoRndGenerators.h \ - eoScalarFitnessStat.h \ - eoStat.h \ - eoState.h \ - eoStdoutMonitor.h \ - eoTimeCounter.h \ - eoUniformInit.h \ - eoUpdatable.h \ - eoUpdater.h \ - pipecom.h \ - rnd_generators.h \ - selectors.h - -AM_CXXFLAGS = -I$(top_srcdir)/src -DGNUPLOT_PROGRAM=\"@GNUPLOT@\" diff --git a/trunk/paradiseo-eo/src/utils/checkpointing b/trunk/paradiseo-eo/src/utils/checkpointing deleted file mode 100644 index e2b7ce425..000000000 --- a/trunk/paradiseo-eo/src/utils/checkpointing +++ /dev/null @@ -1,21 +0,0 @@ -#include -#include -#include -#include -#include -#include -#ifndef _MSC_VER -#include -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -// and make_help - any better suggestion to include it? -void make_help(eoParser & _parser); diff --git a/trunk/paradiseo-eo/src/utils/compatibility.h b/trunk/paradiseo-eo/src/utils/compatibility.h deleted file mode 100644 index af20a7920..000000000 --- a/trunk/paradiseo-eo/src/utils/compatibility.h +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - compatibility.h - File to store some compiler specific stuff in. Currently handles, or - least tries to handle the min() max() problems when using MSVC - - - (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef COMPAT_H -#define COMPAT_H - -#include -#include - -#ifdef __GNUC__ -#if __GNUC__ < 3 - // check for stdlibc++v3 which does have ios_base - #ifndef _CPP_BITS_IOSBASE_H - typedef ios ios_base; // not currently defined in GCC - #endif -#endif -#endif - -#if defined(_MSC_VER) && (_MSC_VER < 1300) -/* -Maarten: added this code here because Mirkosoft has the -nasty habit of #define min and max in stdlib.h (and windows.h) -I'm trying to undo this horrible macro magic (microsoft yet macrohard) -here. Sure hope it works -Olivier: this has been removed in .NET :) One step more standard... -*/ -#pragma warning(disable:4786) - -#include - -#ifdef min -#undef min -#undef max // as they come in std::pairs -#endif - -// add min and max to std... -namespace std -{ - template const T& min(const T& a, const T& b) - { - if(a < b) - return a; - // else - return b; - } - - template const T& max(const T& a, const T& b) - { - if(a > b) - return a; - // else - return b; - } -} - -#endif - // _MSC_VER -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoAssembledFitnessStat.h b/trunk/paradiseo-eo/src/utils/eoAssembledFitnessStat.h deleted file mode 100644 index 5dd96c674..000000000 --- a/trunk/paradiseo-eo/src/utils/eoAssembledFitnessStat.h +++ /dev/null @@ -1,112 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoAssembledFitnessStat.h -// Marc Wintermantel & Oliver Koenig -// IMES-ST@ETHZ.CH -// April 2003 - -//----------------------------------------------------------------------------- -// eoStat.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoAssembledFitnessStat_h -#define _eoAssembledFitnessStat_h - -#include -#include - -/** - Average fitness values of a population, where the fitness is - of type eoScalarAssembledFitness. Specify in the constructor, - for which fitness term (index) the average should be evaluated. - Only values of object where the failed boolean = false is set are counted. -*/ -template -class eoAssembledFitnessAverageStat : public eoStat -{ -public : - - using eoStat::value; - - typedef typename EOT::Fitness Fitness; - - - eoAssembledFitnessAverageStat(unsigned _whichTerm=0, std::string _description = "Average Fitness") - : eoStat(Fitness(), _description), whichFitnessTerm(_whichTerm) - {} - - - virtual void operator()(const eoPop& _pop) { - if( whichFitnessTerm >= _pop[0].fitness().size() ) - throw std::logic_error("Fitness term requested out of range"); - - double result =0.0; - unsigned count = 0; - for (typename eoPop::const_iterator it = _pop.begin(); it != _pop.end(); ++it){ - if ( it->fitness().failed == false ){ - result+= it->fitness()[whichFitnessTerm]; - ++count; - } - } - - value() = result / (double) count; - } - -private: - // Store an index of the fitness term to be evaluated in eoScalarFitnessAssembled - unsigned whichFitnessTerm; -}; - -/** - Fitness values of best individuum in a population, where the fitness is - of type eoScalarAssembledFitness. Specify in the constructor, - for which fitness term (index) the value should be evaluated. -*/ -template -class eoAssembledFitnessBestStat : public eoStat -{ -public: - - using eoStat::value; - - typedef typename EOT::Fitness Fitness; - - eoAssembledFitnessBestStat(unsigned _whichTerm=0, std::string _description = "Best Fitness") - : eoStat(Fitness(), _description), whichFitnessTerm(_whichTerm) - {} - - virtual void operator()(const eoPop& _pop) { - if( whichFitnessTerm >= _pop[0].fitness().size() ) - throw std::logic_error("Fitness term requested out of range"); - - value() = _pop.best_element().fitness()[whichFitnessTerm]; - } - -private: - - // Store an index of the fitness term to be evaluated in eoScalarFitnessAssembled - unsigned whichFitnessTerm; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoCheckPoint.h b/trunk/paradiseo-eo/src/utils/eoCheckPoint.h deleted file mode 100644 index 849a5b0ee..000000000 --- a/trunk/paradiseo-eo/src/utils/eoCheckPoint.h +++ /dev/null @@ -1,163 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoCheckPoint.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoCheckPoint_h -#define _eoCheckPoint_h - -#include -#include -#include -#include - -/** eoCheckPoint is a container class. - It contains std::vectors of (pointers to) - eoContinue (modif. MS July 16. 2002) - eoStats, eoUpdater and eoMonitor - it is an eoContinue, so its operator() will be called every generation - - and will return the contained-combined-eoContinue result - but before that it will call in turn every single - {statistics, updaters, monitors} that it has been given, - and after that, if stopping, all lastCall methods of the above. -*/ -template -class eoCheckPoint : public eoContinue -{ -public : - - eoCheckPoint(eoContinue& _cont) - { - continuators.push_back(&_cont); - } - - bool operator()(const eoPop& _pop); - - void add(eoContinue& _cont) { continuators.push_back(&_cont); } - void add(eoSortedStatBase& _stat) { sorted.push_back(&_stat); } - void add(eoStatBase& _stat) { stats.push_back(&_stat); } - void add(eoMonitor& _mon) { monitors.push_back(&_mon); } - void add(eoUpdater& _upd) { updaters.push_back(&_upd); } - - virtual std::string className(void) const { return "eoCheckPoint"; } - std::string allClassNames() const ; - -private : - - std::vector*> continuators; - std::vector*> sorted; - std::vector*> stats; - std::vector monitors; - std::vector updaters; -}; - -template -bool eoCheckPoint::operator()(const eoPop& _pop) -{ - unsigned i; - - std::vector sorted_pop; - if (!sorted.empty()) - { - _pop.sort(sorted_pop); - - for (i = 0; i < sorted.size(); ++i) - { - (*sorted[i])(sorted_pop); - } - } - - for (i = 0; i < stats.size(); ++i) - (*stats[i])(_pop); - - for (i = 0; i < updaters.size(); ++i) - (*updaters[i])(); - - for (i = 0; i < monitors.size(); ++i) - (*monitors[i])(); - - bool bContinue = true; - for (i = 0; i < continuators.size(); ++i) - if ( !(*continuators[i])(_pop) ) - bContinue = false; - - if (! bContinue) // we're going to stop: lastCall, gentlemen - { - if (!sorted.empty()) - { - for (i = 0; i < sorted.size(); ++i) - { - sorted[i]->lastCall(sorted_pop); - } - } - for (i = 0; i < stats.size(); ++i) - stats[i]->lastCall(_pop); - - for (i = 0; i < updaters.size(); ++i) - updaters[i]->lastCall(); - - for (i = 0; i < monitors.size(); ++i) - monitors[i]->lastCall(); - } - return bContinue; -} - -/** returns a string with all className() - * of data separated with "\n" (for debugging) - */ -template -std::string eoCheckPoint::allClassNames() const -{ - unsigned i; - std::string s = "\n" + className() + "\n"; - - s += "Sorted Stats\n"; - for (i = 0; i < sorted.size(); ++i) - s += sorted[i]->className() + "\n"; - s += "\n"; - - s += "Stats\n"; - for (i = 0; i < stats.size(); ++i) - s += stats[i]->className() + "\n"; - s += "\n"; - - s += "Updaters\n"; - for (i = 0; i < updaters.size(); ++i) - s += updaters[i]->className() + "\n"; - s += "\n"; - - s += "Monitors\n"; - for (i = 0; i < monitors.size(); ++i) - s += monitors[i]->className() + "\n"; - s += "\n"; - - s += "Continuators\n"; - for (i = 0; i < continuators.size(); ++i) - s += continuators[i]->className() + "\n"; - s += "\n"; - - return s; -} - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoData.cpp b/trunk/paradiseo-eo/src/utils/eoData.cpp deleted file mode 100644 index 7e4457075..000000000 --- a/trunk/paradiseo-eo/src/utils/eoData.cpp +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright (C) 2005 Jochen Küpper - - -#include "eoData.h" - - - -// Local Variables: -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/utils/eoData.h b/trunk/paradiseo-eo/src/utils/eoData.h deleted file mode 100644 index b5e11bac1..000000000 --- a/trunk/paradiseo-eo/src/utils/eoData.h +++ /dev/null @@ -1,52 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - ------------------------------------------------------------------------------ - eoData.h - - (c) GeNeura Team & Maarten Keijzer, 1998, 1999, 2000 - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef EODATA_H -#define EODATA_H - -#ifndef _MSC_VER -#include -#define _isnan isnan -#endif - - -//----------------------------------------------------------------------------- -// some defines to make things easier to get at first sight - -// tuning the amount of output using a boolean argument: -// true should always mean more output -#define eo_verbose true -#define eo_no_verbose false -// to be used in selection / replacement procedures to indicate whether -// the argument (rate, a double) shoudl be treated as a rate (number=rate*popSize) -// or as an absolute integer (number=rate regardless of popsize). -// the default value shoudl ALWAYS be true (eo_as_a_rate). -// -// this construct is mandatory because in some cases you might not know the -// population size that will enter the replacement for instance - so you -// cannot simply have a pre-computed (double) rate of 1/popSize -#define eo_is_a_rate true -#define eo_is_an_integer false - -#endif - diff --git a/trunk/paradiseo-eo/src/utils/eoDistance.h b/trunk/paradiseo-eo/src/utils/eoDistance.h deleted file mode 100644 index 26ef0ea6f..000000000 --- a/trunk/paradiseo-eo/src/utils/eoDistance.h +++ /dev/null @@ -1,98 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoDistance.h -// (c) GeNeura Team, 1998, Marc Schoenauer 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifndef _eoDistance_H -#define _eoDistance_H - -#include -/** - This is a generic class for distance functors: - takes 2 things ane returns a double -*/ -template< class EOT > -class eoDistance : public eoBF -{}; - - -/** - This is a generic class for Euclidain distance (L2 norm) computation: - assumes the 2 things are std::vectors of something that is double-castable -*/ -template< class EOT > -class eoQuadDistance : public eoDistance -{ -public: - double operator()(const EOT & _v1, const EOT & _v2) - { - double sum=0.0; - for (unsigned i=0; i<_v1.size(); i++) - { - double r = static_cast (_v1[i]) - static_cast (_v2[i]); - sum += r*r; - } - return sqrt(sum); - } -}; - -/** - This is a generic class for L1 distance computation: - assumes the 2 things are std::vectors of something - that is double-castable - For bitstrings, this is the Hamming distance -*/ -template< class EOT > -class eoHammingDistance : public eoDistance -{ -public: - double operator()(const EOT & _v1, const EOT & _v2) - { - double sum=0.0; - for (unsigned i=0; i<_v1.size(); i++) - { - double r = static_cast (_v1[i]) - static_cast (_v2[i]); - sum += fabs(r); - } - return sum; - } -}; - -/* this distance measures the difference in fitness - * I am not sure it can be of any use, though ... - * except for some testing - */ -template< class EOT > -class eoFitnessDistance : public eoDistance -{ -public: - double operator()(const EOT & _v1, const EOT & _v2) - { - double d = _v1.fitness() - _v2.fitness(); - return sqrt(d*d); - } -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoFDCStat.h b/trunk/paradiseo-eo/src/utils/eoFDCStat.h deleted file mode 100644 index 0d2dda730..000000000 --- a/trunk/paradiseo-eo/src/utils/eoFDCStat.h +++ /dev/null @@ -1,139 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFDCStat.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoFDCStat_h -#define _eoFDCStat_h - -#include -#include -#include - -/** - The FDC computation - stores the values into eoValueParam -so they can be snapshot by some eoGnuplotSnapshot ... -*/ -template -class eoFDCStat : public eoStat -{ -public: - - using eoStat::value; - - /** Ctor without the optimum */ - eoFDCStat(eoDistance & _dist, std::string _description = "FDC") : - eoStat(0, _description), dist(_dist), boolOpt(false) {} - - /** Ctor with the optimum - */ - eoFDCStat(eoDistance & _dist, EOT & _theBest, - std::string _description = "FDC") : - eoStat(0, _description), dist(_dist), - theBest(_theBest), boolOpt(true) {} - - /** Compute the FDC - either from best in pop, or from absolute best - * if it was passed in the constructor - */ - virtual void operator()(const eoPop& _pop) - { - unsigned i; - if (!boolOpt) // take the local best - theBest = _pop.best_element(); - unsigned int pSize = _pop.size(); - distToBest.value().resize(pSize); - fitnesses.value().resize(pSize); - double sumFit = 0.0, sumDist = 0.0; - for (i=0; i > - */ - const eoValueParam > & theDist() - { return distToBest; } - const eoValueParam > & theFit() - { return fitnesses; } - - -private: - eoDistance & dist; - EOT theBest; - bool boolOpt; // whether the best is known or not - eoValueParam > distToBest; - eoValueParam > fitnesses; -}; - -/** Specific class for FDCStat monitoring: - * As I failed to have FDC stat as an eoStat, this is the trick - * to put the 2 eoParam > into a monitor - * This class does nothing else. - */ -template -class eoFDCFileSnapshot : public eoFileSnapshot // is an eoMonitor -{ -public: - /** Ctor: in addition to the parameters of the ctor of an eoFileSnapshot - we need here an eoFDCStat. The 2 std::vectors (distances to optimum - and fitnesses) are added to the monitor so they can be processed - later to a file - and eventually by gnuplot - */ - eoFDCFileSnapshot(eoFDCStat & _FDCstat, - std::string _dirname = "tmpFDC", unsigned _frequency = 1, - std::string _filename = "FDC", std::string _delim = " "): - eoFileSnapshot(_dirname, _frequency, _filename, _delim), - FDCstat(_FDCstat) - { - eoFileSnapshot::add(FDCstat.theDist()); - eoFileSnapshot::add(FDCstat.theFit()); - } - - /** just to be sure the add method is not called further - */ - virtual void add(const eoParam& _param) - { throw std::runtime_error("eoFDCFileSnapshot::add(). Trying to add stats to an eoFDCFileSnapshot"); } - -private: - eoFDCStat & FDCstat; -}; - -#endif - diff --git a/trunk/paradiseo-eo/src/utils/eoFileMonitor.cpp b/trunk/paradiseo-eo/src/utils/eoFileMonitor.cpp deleted file mode 100644 index 1b42bbd84..000000000 --- a/trunk/paradiseo-eo/src/utils/eoFileMonitor.cpp +++ /dev/null @@ -1,77 +0,0 @@ -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include -#include -#include - -#include -#include -#include - -using namespace std; - -void eoFileMonitor::printHeader(std::ostream& os) -{ - iterator it = vec.begin(); - - os << (*it)->longName(); - - ++it; - - for (; it != vec.end(); ++it) - { - os << delim.c_str() << (*it)->longName(); - } - os << '\n'; -} - -void eoFileMonitor::printHeader() -{ - // create file - ofstream os(filename.c_str()); - - if (!os) - { - string str = "eoFileMonitor: Could not open " + filename; - throw runtime_error(str); - } - - printHeader(os); -} - -eoMonitor& eoFileMonitor::operator()(void) -{ - ofstream os(filename.c_str(), ios_base::app); - - if (!os) - { - string str = "eoFileMonitor: Could not append to " + filename; - throw runtime_error(str); - } - - if (firstcall && !keep && header ){ - printHeader(); - firstcall = false; - } - - return operator()(os); -} - -eoMonitor& eoFileMonitor::operator()(std::ostream& os) -{ - iterator it = vec.begin(); - - os << (*it)->getValue(); - - for(++it; it != vec.end(); ++it) - { - os << delim.c_str() << (*it)->getValue(); - } - - os << '\n'; - return *this; -} - diff --git a/trunk/paradiseo-eo/src/utils/eoFileMonitor.h b/trunk/paradiseo-eo/src/utils/eoFileMonitor.h deleted file mode 100644 index 545c51984..000000000 --- a/trunk/paradiseo-eo/src/utils/eoFileMonitor.h +++ /dev/null @@ -1,78 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFileMonitor.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef EO_eoFileMonitor_h -#define EO_eoFileMonitor_h - -#include -#include -#include - -#include "utils/eoMonitor.h" -#include "eoObject.h" - -/** Prints statistics to file - -Modified the default behavior, so that it erases existing files. Can -be modified in the ctor. - -@version MS 25/11/00 -*/ -class eoFileMonitor : public eoMonitor -{ -public : - - eoFileMonitor(std::string _filename, std::string _delim = " ", bool _keep = false, bool _header=false) - : filename(_filename), delim(_delim), keep(_keep), header(_header), firstcall(true) - { - if (! _keep) { - std::ofstream os(filename.c_str()); - if (!os){ - std::string str = "eoFileMonitor: Could not open " + filename; - throw std::runtime_error(str); - } - } - } - - virtual eoMonitor& operator()(void); - - virtual eoMonitor& operator()(std::ostream& os); - - void printHeader(void); - virtual void printHeader(std::ostream& os); - - virtual std::string getFileName() { return filename;} - -private : - std::string filename; - std::string delim; - bool keep; // should we append or create a new file - bool header; // printing header at begin of file? - bool firstcall; - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoFileSnapshot.h b/trunk/paradiseo-eo/src/utils/eoFileSnapshot.h deleted file mode 100644 index 5dff408af..000000000 --- a/trunk/paradiseo-eo/src/utils/eoFileSnapshot.h +++ /dev/null @@ -1,190 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFileSnapshot.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoFileSnapshot_h -#define _eoFileSnapshot_h - -#include -#include -#include -#include -#include - - -/** - Prints snapshots of fitnesses to a (new) file every N generations - -Assumes that the parameters that are passed to the monitor -(method add in eoMonitor.h) are eoValueParam > of same size. - -A dir is created and one file per snapshot is created there - -so you can later generate a movie! - -TODO: The counter is handled internally, but this should be changed -so that you can pass e.g. an evalcounter (minor) - -I failed to templatize everything so that it can handle eoParam > -for any type T, simply calling their getValue method ... -*/ - -class eoFileSnapshot : public eoMonitor -{ -public : - typedef std::vector vDouble; - typedef eoValueParam > vDoubleParam; - - eoFileSnapshot(std::string _dirname, unsigned _frequency = 1, std::string _filename = "gen", - std::string _delim = " ", unsigned _counter = 0, bool _rmFiles = true): - dirname(_dirname), frequency(_frequency), - filename(_filename), delim(_delim), counter(_counter), boolChanged(true) - { - std::string s = "test -d " + dirname; - - int res = system(s.c_str()); - // test for (unlikely) errors - if ( (res==-1) || (res==127) ) - throw std::runtime_error("Problem executing test of dir in eoFileSnapshot"); - // now make sure there is a dir without any genXXX file in it - if (res) // no dir present - { - s = std::string("mkdir ")+dirname; - } - else if (!res && _rmFiles) - { - s = std::string("/bin/rm ")+dirname+ "/" + filename + "*"; - } - else - s = " "; - - system(s.c_str()); - // all done - } - - /** accessor: has something changed (for gnuplot subclass) - */ - virtual bool hasChanged() {return boolChanged;} - - /** accessor to the counter: needed by the gnuplot subclass - */ - unsigned getCounter() {return counter;} - - /** accessor to the current filename: needed by the gnuplot subclass - */ - std::string getFileName() {return currentFileName;} - - /** sets the current filename depending on the counter - */ - void setCurrentFileName() - { - std::ostringstream oscount; - oscount << counter; - currentFileName = dirname + "/" + filename + oscount.str(); - } - - /** The operator(void): opens the std::ostream and calls the write method - */ - eoMonitor& operator()(void) - { - if (counter % frequency) - { - boolChanged = false; // subclass with gnuplot will do nothing - counter++; - return (*this); - } - counter++; - boolChanged = true; - setCurrentFileName(); - std::ofstream os(currentFileName.c_str()); - - if (!os) - { - std::string str = "eoFileSnapshot: Could not open " + currentFileName; - throw std::runtime_error(str); - } - - return operator()(os); - } - - /** The operator(): write on an std::ostream - */ - eoMonitor& operator()(std::ostream& _os) - { - const eoValueParam > * ptParam = - static_cast >* >(vec[0]); - - const std::vector v = ptParam->value(); - if (vec.size() == 1) // only one std::vector: -> add number in front - { - for (unsigned k=0; k > vv(vec.size()); - vv[0]=v; - for (unsigned i=1; i >* >(vec[1]); - vv[i] = ptParam->value(); - if (vv[i].size() != v.size()) - throw std::runtime_error("Dimension error in eoSnapshotMonitor"); - } - for (unsigned k=0; k >*>(&_param)) - { - throw std::logic_error(std::string("eoFileSnapshot: I can only monitor std::vectors of doubles, sorry. The offending parameter name = ") + _param.longName()); - } - eoMonitor::add(_param); - } - -private : - std::string dirname; - unsigned frequency; - std::string filename; - std::string delim; - unsigned int counter; - std::string currentFileName; - bool boolChanged; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoGnuplot.cpp b/trunk/paradiseo-eo/src/utils/eoGnuplot.cpp deleted file mode 100644 index 55bca8d18..000000000 --- a/trunk/paradiseo-eo/src/utils/eoGnuplot.cpp +++ /dev/null @@ -1,98 +0,0 @@ -//----------------------------------------------------------------------------- -// (c) Marc Schoenauer, 2001 -// Copyright (C) 2005 Jochen Küpper -/* - This library is free software; you can redistribute it and/or modify it under - the terms of the GNU Lesser General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) any - later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - details. - - You should have received a copy of the GNU Lesser General Public License - along with this library; if not, write to the Free Software Foundation, Inc., - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "eoGnuplot.h" - - -unsigned eoGnuplot::numWindow=0; - - - -eoGnuplot::eoGnuplot(std::string _title, std::string _extra) - : firstTime(true) -{ - initGnuPlot(_title, _extra); -} - - - -eoGnuplot::~eoGnuplot() -{ -#ifdef HAVE_GNUPLOT - if( gpCom ) { - PipeComSend( gpCom, "quit\n" ); - PipeComClose( gpCom ); - gpCom =NULL; - } -#endif -} - - - -void eoGnuplot::gnuplotCommand(const char *_command) -{ -#ifdef HAVE_GNUPLOT - if(gpCom) { - PipeComSend( gpCom, _command ); - PipeComSend( gpCom, "\n" ); - } -#endif -} - - - -void eoGnuplot::initGnuPlot(std::string _title, std::string _extra) -{ -#ifdef HAVE_GNUPLOT - std::ostringstream os; - os << "250x150-0+" << 170 * numWindow++; - char *args[6]; - args[0] = strdup( GNUPLOT_PROGRAM ); - args[1] = strdup( "-geometry" ); - args[2] = strdup( os.str().c_str()); - args[3] = strdup( "-title" ); - args[4] = strdup( _title.c_str() ); - args[5] = 0; - gpCom = PipeComOpenArgv( GNUPLOT_PROGRAM, args ); - if(! gpCom ) - throw std::runtime_error("Cannot spawn gnuplot\n"); - else { - PipeComSend( gpCom, "set grid\n" ); - PipeComSend( gpCom, _extra.c_str() ); - PipeComSend( gpCom, "\n" ); - } -#endif -} - - - -// Local Variables: -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/utils/eoGnuplot.h b/trunk/paradiseo-eo/src/utils/eoGnuplot.h deleted file mode 100644 index e057900a5..000000000 --- a/trunk/paradiseo-eo/src/utils/eoGnuplot.h +++ /dev/null @@ -1,99 +0,0 @@ -//----------------------------------------------------------------------------- -// eoGnuplot1DMonitor.h -// (c) Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- -#ifndef EO_eoGnuplot_H -#define EO_eoGnuplot_H - -#include - -#include "pipecom.h" - - -/** Base class for calls to gnuplot - -This class is the abstract class that will be used by further gnuplot -calls to plots what is already written by some eoMonitor into a file - -@author Marc Schoenauer -@version 0.0 (2001) -*/ -class eoGnuplot -{ -public: - - /** Open pipe to Gnuplot. - - @param _title Title for gnuplot window. - @param _extra Extra parameters to gnuplot (default ). - */ - eoGnuplot(std::string _title, std::string _extra = std::string("")); - - /** Destructor - - Close the gnuplot windows if pipe was correctly opened - */ - virtual ~eoGnuplot(); - - /** Class name */ - virtual std::string className() const - { return "eoGnuplot"; } - - /** Send command to gnuplot */ - void gnuplotCommand(const char * _command); - - /** Send command to gnuplot - - @overload - */ - void gnuplotCommand(std::string _command) - { gnuplotCommand(_command.c_str()); } - - -protected: - - /** Initialize gnuplot - - @param _title Title for gnuplot window. - @param _extra Extra parameters to gnuplot. - */ - void initGnuPlot(std::string _title, std::string _extra); - - /** The stats might be unknown in Ctor */ - bool firstTime; - - /** Communication with gnuplot OK */ - PCom *gpCom; - - /** Internal counter for gnuplot windows */ - static unsigned numWindow; -}; - - -#endif // EO_eoGnuplot_H - - - -// Local Variables: -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// mode: C++ -// End: diff --git a/trunk/paradiseo-eo/src/utils/eoGnuplot1DMonitor.cpp b/trunk/paradiseo-eo/src/utils/eoGnuplot1DMonitor.cpp deleted file mode 100644 index c0cff842c..000000000 --- a/trunk/paradiseo-eo/src/utils/eoGnuplot1DMonitor.cpp +++ /dev/null @@ -1,85 +0,0 @@ -//----------------------------------------------------------------------------- -// eoGnuplot1DMonitor.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include "utils/eoGnuplot1DMonitor.h" -#include "utils/eoParam.h" - - -eoMonitor& eoGnuplot1DMonitor::operator() (void) -{ - // update file using the eoFileMonitor - eoFileMonitor::operator()(); -#ifdef HAVE_GNUPLOT - // sends plot order to gnuplot - // assumes successive plots will have same nb of columns!!! - if (firstTime) - { - FirstPlot(); - firstTime = false; - } - else - { - if( gpCom ) { - PipeComSend( gpCom, "replot\n" ); - } - } -#endif - return *this; -} - - - -void eoGnuplot1DMonitor::FirstPlot() -{ - if (this->vec.size() < 2) - { - throw std::runtime_error("Must have some stats to plot!\n"); - } -#ifdef HAVE_GNUPLOT - std::ostringstream os; - os << "plot"; - for (unsigned i=1; ivec.size(); i++) { - os << " '" << getFileName().c_str() << - "' using 1:" << i+1 << " title '" << (this->vec[i])->longName() << "' with lines" ; - if (ivec.size()-1) - os << ", "; - } - os << '\n'; - PipeComSend( gpCom, os.str().c_str()); -#endif -} - - - -// Local Variables: -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/utils/eoGnuplot1DMonitor.h b/trunk/paradiseo-eo/src/utils/eoGnuplot1DMonitor.h deleted file mode 100644 index 523e875c5..000000000 --- a/trunk/paradiseo-eo/src/utils/eoGnuplot1DMonitor.h +++ /dev/null @@ -1,83 +0,0 @@ -//----------------------------------------------------------------------------- -// eoGnuplot1DMonitor.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- -#ifndef EO_eoGnuplot1DMonitor_H -#define EO_eoGnuplot1DMonitor_H - -#include -#include - -#include "eoObject.h" -#include "utils/eoFileMonitor.h" -#include "utils/eoGnuplot.h" -#include "utils/pipecom.h" - -/** Plot eoStat - -@author Marc Schoenauer -@version 0.0 (2000) - -This class plots through gnuplot the eoStat given as argument - -eoGnuplot1DMonitor plots stats through gnuplot - -Assumes that the same file is appened every so and so, and replots it -everytime -*/ -class eoGnuplot1DMonitor : public eoFileMonitor, public eoGnuplot -{ -public: - - // this "using" directive generates a compiler internal error in GCC 4.0.0 ... - // it's been removed, and the only call to vec was replaced by this->vec in eoGnuplot1DMonitor.cpp - // using eoMonitor::vec; - - /** Constructor */ - eoGnuplot1DMonitor(std::string _filename, bool _top=false) : - eoFileMonitor(_filename, " "), - eoGnuplot(_filename,(_top?"":"set key bottom")) - {} - - /** Destructor */ - virtual ~eoGnuplot1DMonitor(){} - - virtual eoMonitor& operator()(); - - virtual void FirstPlot(); - - /** Class name */ - virtual std::string className() const - { return "eoGnuplot1DMonitor"; } -}; - - -#endif // EO_eoGnuplot1DMonitor_H - - - -// Local Variables: -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// mode: C++ -// End: diff --git a/trunk/paradiseo-eo/src/utils/eoGnuplot1DSnapshot.cpp b/trunk/paradiseo-eo/src/utils/eoGnuplot1DSnapshot.cpp deleted file mode 100644 index e8fb8e8cf..000000000 --- a/trunk/paradiseo-eo/src/utils/eoGnuplot1DSnapshot.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "eoGnuplot1DSnapshot.h" - - - -eoMonitor& eoGnuplot1DSnapshot::operator()() -{ - // update file using the eoFileMonitor method - eoFileSnapshot::operator()(); - -#ifdef HAVE_GNUPLOT - // sends plot order to gnuplot - std::ostringstream os; - os << "set title 'Gen. " << getCounter() << "'; plot '" - // mk: had to use getFilename().c_str(), - // because it seems the string(stream) lib is screwed in gcc3.2 - << getFileName().c_str() << "' notitle with points ps " << pointSize - << std::endl; - PipeComSend(gpCom, os.str().c_str()); -#endif - return *this; -} - - - -// Local Variables: -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/utils/eoGnuplot1DSnapshot.h b/trunk/paradiseo-eo/src/utils/eoGnuplot1DSnapshot.h deleted file mode 100644 index f004a56e4..000000000 --- a/trunk/paradiseo-eo/src/utils/eoGnuplot1DSnapshot.h +++ /dev/null @@ -1,119 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGnuplot1DSnapshot.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - - -#ifndef EO_eoGnuplot1DSnapshot_H -#define EO_eoGnuplot1DSnapshot_H - -#include -#include -#include - -#include -#include "eoRealVectorBounds.h" -#include -#include -#include - -/** Plot stats through gnuplot - -@author Marc Schoenauer 2000 -@version 0.0 - -This class plots through gnuplot the eoStat given as argument - -Assumes that the same file is re-written every so and so, and plots it -from scratch everytime it's called - */ -class eoGnuplot1DSnapshot: public eoFileSnapshot, public eoGnuplot -{ - public: - // Ctor - eoGnuplot1DSnapshot(std::string _dirname, unsigned _frequency = 1, - std::string _filename = "gen", std::string _delim = " ", - unsigned _counter = 0, bool _rmFiles = true) : - eoFileSnapshot(_dirname, _frequency, _filename, _delim, _counter, _rmFiles), - eoGnuplot(_filename,"set data style points"), - pointSize(5) - {} - - // Ctor - eoGnuplot1DSnapshot(std::string _dirname, eoRealVectorBounds & _bounds, - unsigned _frequency = 1, std::string _filename = "gen", - std::string _delim = " ", unsigned _counter = 0, bool _rmFiles = true ) : - eoFileSnapshot(_dirname, _frequency, _filename, _delim, _counter, _rmFiles), - eoGnuplot(_filename,"set data style points"), - pointSize(5) - { - handleBounds(_bounds); - } - // Ctor - eoGnuplot1DSnapshot(eoFileSnapshot & _fSnapshot) : - eoFileSnapshot(_fSnapshot), - eoGnuplot(_fSnapshot.baseFileName(),"set data style points"), - pointSize(5) - {} - - // Ctor with range - eoGnuplot1DSnapshot(eoFileSnapshot & _fSnapshot, eoRealVectorBounds & _bounds) : - eoFileSnapshot(_fSnapshot), - eoGnuplot(_fSnapshot.baseFileName(),"set data style points"), - pointSize(5) - { - handleBounds(_bounds); - } - - // Dtor - virtual ~eoGnuplot1DSnapshot(){} - - virtual eoMonitor& operator()(); - - /// Class name. - virtual std::string className() const { return "eoGnuplot1DSnapshot"; } - - virtual void handleBounds(eoRealVectorBounds & _bounds) - { - std::ostringstream os; - os << "set autoscale\nset yrange [" ; - if (_bounds.isMinBounded(0)) - os << _bounds.minimum(0); - os << ":" ; - if (_bounds.isMaxBounded(0)) - os << _bounds.maximum(0); - os << "]\n"; - gnuplotCommand(os.str()); - } - - void setPointSize(unsigned _pointSize) - { pointSize = _pointSize; } - -protected: - - unsigned pointSize; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoHowMany.h b/trunk/paradiseo-eo/src/utils/eoHowMany.h deleted file mode 100644 index 39faa8b98..000000000 --- a/trunk/paradiseo-eo/src/utils/eoHowMany.h +++ /dev/null @@ -1,192 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoHowMany_h.h -// Base class for choosing a number of guys to apply something from a popsize -// (c) Marc Schoenauer, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ -//----------------------------------------------------------------------------- - -#ifndef eoHowMany_h -#define eoHowMany_h - -/** A helper class, to determine a number of individuals from another one - * Typically, is used in selection / replacement procedures, e.g. - * the number of offspring from the number of parents, or - * the number of survivors for an eoReduce functor, ... - * - * Such construct is very useful because in some cases you might not know the - * population size that will enter the replacement. For instance, you - * cannot simply have a pre-computed (double) rate of 1/popSize - * if you want to select or kill just 1 guy. Using an eoHowMany - * allows one to modify the population size without touching anything else. - * - * There are 4 possible way to compute the return value from the argument: - * - an absolute POSITIVE integer --> return it (regardless of popsize) - * - a POSITIVE rate --> return rate*popSize - * - an absolute NEGATIVE integer --> return popsize-rate (if positive) - * - a NEGATIVE rate in [-1,0] --> store and use 1-|rate| (positive) - * Note that a negative rate should be have been necessary because a rate is - * relative, but it is there for consistency reasons - and because it - * is needed in eoG3Replacement - * - * It has 2 private members, a double and an integer to cover all cases - * - * Example use: in eoGeneralBreeder.h - * Example reading from parser: in - * do/make_algo_scalar.h line 141 - - * MS 10/04/2002: - * Added the possibility to have a negative number - - * when treated as a number: returns then (size - combien) - * Should not modify anything when a positive number is passed in the ctor - * - * MS 20/06/2002: - * Added the negative rate and the operator-() (for - * eoG3Repalcement) - * - * It is an eoPersistent because we need to be able to use eoParamValue - */ - -#include - -class eoHowMany : public eoPersistent -{ -public: - /** Original Ctor from direct rate + bool - @param rate the rate, OR the integer to store, depending on 2nd arg. - @param _interpret_as_rate to tell whether the rate actually is a rate - */ - eoHowMany(double _rate = 0.0, bool _interpret_as_rate = true): - rate(_rate), combien(0) - { - if (_interpret_as_rate) - { - if (_rate<0) - { - rate = 1.0+_rate; - if (rate < 0) // was < -1 - throw std::logic_error("rate<-1 in eoHowMany!"); - } - } - else - { - rate = 0.0; // just in case, but shoud be unused - combien = int(_rate); // negative values are allowed here - if (combien != _rate) - std::cerr << "Warning: Number was rounded in eoHowMany"; - } - } - - /** Ctor from an int - both from int and unsigned int are needed - * to avoid ambiguity with the Ctor from a double */ - eoHowMany(int _combien) : rate(0.0), combien(_combien) {} - - /** Ctor from an unsigned int - both from int and unsigned int are needed - * to avoid ambiguity with the Ctor from a double */ - eoHowMany(unsigned int _combien) : rate(0.0), combien(_combien) {} - - /// Virtual dtor. They are needed in virtual class hierarchies. - virtual ~eoHowMany() {} - - /** Does what it was designed for - * - combien==0 : return rate*_size - * - else - * - combien>0 : return combien (regardless of _size) - * - combien<0 : return _size-|combien| - */ - unsigned int operator()(unsigned int _size) - { - if (combien == 0) - { - return (unsigned int) (rate * _size); - } - if (combien < 0) - { - unsigned int combloc = -combien; - if (_size> value; - readFrom(value); - return; - } - - void readFrom(std::string _value) - { - // check for % - bool interpret_as_rate = false; // == no % - size_t pos = _value.find('%'); - if (pos < _value.size()) // found a % - { - interpret_as_rate = true; - _value.resize(pos); // get rid of % - } - - std::istringstream is(_value); - is >> rate; - // now store - if (interpret_as_rate) - { - combien = 0; - rate /= 100.0; - } - else - combien = int(rate); // and rate will not be used - - // minimal check - if ( rate < 0.0 ) - throw std::runtime_error("Negative rate read in eoHowMany::readFrom"); - } - - /** The unary - operator: reverses the computation */ - eoHowMany operator-() - { - if (!combien) // only rate is used - rate = 1.0-rate; - else - combien = -combien; - return (*this); - } - -private : - double rate; - int combien; -}; - - - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoIntBounds.cpp b/trunk/paradiseo-eo/src/utils/eoIntBounds.cpp deleted file mode 100644 index 59350240b..000000000 --- a/trunk/paradiseo-eo/src/utils/eoIntBounds.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "eoIntBounds.h" - - -// the global dummy bounds -// (used for unbounded variables when bounds are required) -eoIntNoBounds eoDummyIntNoBounds; - -///////////// helper read functions defined in eoRealBounds.cpp -extern bool remove_leading(std::string & _s, const std::string _delim); -extern double read_double(std::string _s); -extern long int read_int(std::string _s); - - -/** the constructor for eoGeneralIntBound - from a string - */ -eoIntBounds* eoGeneralIntBounds::getBoundsFromString(std::string _value) -{ - // now read - std::string delim(",; "); - std::string beginOrClose("[(])"); - if (!remove_leading(_value, delim)) // only delimiters were left - throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor"); - - // look for opening char - size_t posDeb = _value.find_first_of(beginOrClose); // allow ]a,b] - if (posDeb >= _value.size()) // nothing left to read - throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor"); - - // ending char: next {}() after posDeb - size_t posFin = _value.find_first_of(beginOrClose,posDeb+1); - if (posFin >= _value.size()) // not found - throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor"); - - // the bounds - std::string sBounds = _value.substr(posDeb+1, posFin-posDeb-1); - // and remove from original string - _value = _value.substr(posFin+1); - - remove_leading(sBounds, delim); - size_t posDelim = sBounds.find_first_of(delim); - if (posDelim >= sBounds.size()) - throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor"); - - bool minBounded=false, maxBounded=false; - long int minBound=0, maxBound=0; - - // min bound - std::string sMinBounds = sBounds.substr(0,posDelim); - - if ( (sMinBounds != std::string("-inf")) && - (sMinBounds != std::string("-infinity")) - ) - { - minBounded = true; - minBound = read_int(sMinBounds); - } - - // max bound - size_t posEndDelim = sBounds.find_first_not_of(delim,posDelim); - - std::string sMaxBounds = sBounds.substr(posEndDelim); - - if ( (sMaxBounds != std::string("+inf")) && - (sMaxBounds != std::string("+infinity")) - ) - { - maxBounded = true; - maxBound = read_int(sMaxBounds); - } - - // now create the embedded eoIntBounds object - eoIntBounds * locBound; - if (minBounded && maxBounded) - { - if (maxBound <= minBound) - throw std::runtime_error("Syntax error in eoGeneralIntBounds Ctor"); - locBound = new eoIntInterval(minBound, maxBound); - } - else if (!minBounded && !maxBounded) // no bound at all - locBound = new eoIntNoBounds; - else if (!minBounded && maxBounded) - locBound = new eoIntAboveBound(maxBound); - else if (minBounded && !maxBounded) - locBound = new eoIntBelowBound(minBound); - return locBound; -} diff --git a/trunk/paradiseo-eo/src/utils/eoIntBounds.h b/trunk/paradiseo-eo/src/utils/eoIntBounds.h deleted file mode 100644 index 59c98c03f..000000000 --- a/trunk/paradiseo-eo/src/utils/eoIntBounds.h +++ /dev/null @@ -1,692 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoIntBounds.h -// (c) Marc Schoenauer 2001, Maarten Keijzer 2000, GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoIntBounds_h -#define _eoIntBounds_h - -#include // std::exceptions! -#include - -/** -\defgroup EvolutionStrategies - -*/ - - -/** -\class eoIntBounds eoIntBounds.h es/eoIntBounds.h -\ingroup EvolutionStrategies - - Defines bound classes for real numbers. - -Scalar type: ------------- -Basic class is eoIntBounds, a pure virtual. - -The following pure virtual methods are to be used in mutations: -- void foldsInBounds(long int &) that folds any value that falls out of - the bounds back into the bounds, by bouncing on the limit (if any) -- bool isInBounds(long int) that simply says whether or not the argument - is in the bounds -- void truncate(long int &) that set the argument to the bound value it -it exceeds it - -So mutation can choose -- iterate trying until they fall in bounds, -- only try once and "restd::pair" by using the foldsInBounds method -- only try once and restd::pair using the truncate method (will create a - huge bias toward the bound if the soluiton is not far from the bounds) - -There is also a uniform() method that generates a uniform value -(if possible, i.e. if bounded) in the interval. - -Derived class are -eoIntInterval that holds a minimum and maximum value, -eoIntNoBounds the "unbounded bounds" (-infinity, +infinity) -eoIntBelowBound the half-bounded interval [min, +infinity) -eoIntAboveBound the half-bounded interval (-infinity, max] - -THis file also contains the declaration of *the* global object that -is the unbounded bound -*/ -class eoIntBounds : public eoPersistent -{ -public: - virtual ~eoIntBounds(){} - - /** Self-Test: true if ***both*** a min and a max - */ - virtual bool isBounded(void) const = 0; - - /** Self-Test: true if no min ***and*** no max - * hence no further need to test/truncate/fold anything - */ - virtual bool hasNoBoundAtAll(void) const = 0; - - /** Self-Test: bounded from below??? - */ - virtual bool isMinBounded(void) const = 0; - - /** Self-Test: bounded from above??? - */ - virtual bool isMaxBounded(void) const = 0; - - /** Test on a value: is it in bounds? - */ - virtual bool isInBounds(double) const = 0; - - /** Put value back into bounds - by folding back and forth - */ - virtual void foldsInBounds(double &) const = 0; - - /** foldsInBounds for ints: - * call the method for double and convert back */ - virtual void foldsInBounds(long int & i) const - { - double r = double(i); - foldsInBounds(r); - i = (long int)(r); - } - - /** Put value back into bounds - by truncating to a boundary value - */ - virtual void truncate(double &) const = 0; - - /** truncate for ints: call the method for double and convert back - */ - virtual void truncate(long int & i) const - { - double r = double(i); - truncate(r); - i = (long int)(r); - } - - /** get minimum value - * @std::exception if does not exist - */ - virtual long int minimum() const = 0 ; - /** get maximum value - * @std::exception if does not exist - */ - virtual long int maximum() const = 0 ; - /** get range - * @std::exception if unbounded - */ - virtual long int range() const = 0; - - /** random generator of uniform numbers in bounds - * uses same naming convention than eo::rng - * @std::exception if unbounded - */ - virtual double uniform(eoRng & _rng = eo::rng) const = 0; - virtual long int random(eoRng & _rng = eo::rng) const = 0; - - /** for memory managements - ugly */ - virtual eoIntBounds * dup() const = 0; -}; - -/** A default class for unbounded variables - */ -class eoIntNoBounds : public eoIntBounds -{ -public: - virtual ~eoIntNoBounds(){} - - virtual bool isBounded(void) const {return false;} - virtual bool hasNoBoundAtAll(void) const {return true;} - virtual bool isMinBounded(void) const {return false;} - virtual bool isMaxBounded(void) const {return false;} - virtual void foldsInBounds(double &) const {return;} - virtual void truncate(double &) const {return;} - virtual bool isInBounds(double) const {return true;} - - virtual long int minimum() const - { - throw std::logic_error("Trying to get minimum of unbounded eoIntBounds"); - } - virtual long int maximum() const - { - throw std::logic_error("Trying to get maximum of unbounded eoIntBounds"); - } - virtual long int range() const - { - throw std::logic_error("Trying to get range of unbounded eoIntBounds"); - } - - virtual double uniform(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in unbounded eoIntBounds"); - } - virtual long int random(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in unbounded eoIntBounds"); - } - - // methods from eoPersistent - /** - * Read object. - * @param _is A std::istream. - * but reading should not be done here, because of bound problems - * see eoIntVectorBounds - */ - virtual void readFrom(std::istream& _is) - { - throw std::runtime_error("Should not use eoIntBounds::readFrom"); - } - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << "[-inf,+inf]"; - } - - /** for memory managements - ugly */ - virtual eoIntBounds * dup() const - { - return new eoIntNoBounds(*this); - } - -}; - -// one object for all - see eoIntBounds.cpp -extern eoIntNoBounds eoDummyIntNoBounds; - -/** - * fully bounded eoIntBound == interval - */ -class eoIntInterval : public eoIntBounds -{ -public : - virtual ~eoIntInterval(){} - - /** - Simple bounds = minimum and maximum (allowed) - */ - eoIntInterval(long int _min=0, long int _max=1) : - repMinimum(_min), repMaximum(_max), repRange(_max-_min) - { - if (repRange<=0) - throw std::logic_error("Void range in eoIntBounds"); - } - - // accessors - virtual long int minimum() const { return repMinimum; } - virtual long int maximum() const { return repMaximum; } - virtual long int range() const { return repRange; } - - // description - virtual bool isBounded(void) const {return true;} - virtual bool hasNoBoundAtAll(void) const {return false;} - virtual bool isMinBounded(void) const {return true;} - virtual bool isMaxBounded(void) const {return true;} - - virtual double uniform(eoRng & _rng = eo::rng) const - { - return repMinimum + _rng.uniform(repRange); - } - - virtual long int random(eoRng & _rng = eo::rng) const - { - return repMinimum + _rng.random(repRange); - } - - // says if a given double is within the bounds - virtual bool isInBounds(double _r) const - { - if (_r < repMinimum) - return false; - if (_r > repMaximum) - return false; - return true; - } - - // folds a value into bounds - virtual void foldsInBounds(double & _r) const - { - long iloc; - double dlargloc = 2 * range() ; - - if (fabs(_r) > 1.0E9) // iloc too large! - { - _r = uniform(); - return; - } - - if ( (_r > maximum()) ) - { - iloc = (long) ( (_r-minimum()) / dlargloc ) ; - _r -= dlargloc * iloc ; - if ( _r > maximum() ) - _r = 2*maximum() - _r ; - } - - if (_r < minimum()) - { - iloc = (long) ( (maximum()-_r) / dlargloc ) ; - _r += dlargloc * iloc ; - if (_r < minimum()) - _r = 2*minimum() - _r ; - } - } - - // truncates to the bounds - virtual void truncate(double & _r) const - { - if (_r < repMinimum) - _r = repMinimum; - else if (_r > repMaximum) - _r = repMaximum; - return; - } - - // methods from eoPersistent - /** - * Read object. - * @param _is A std::istream. - * but reading should not be done here, because of bound problems - * see eoIntVectorBounds - */ - virtual void readFrom(std::istream& _is) - { - throw std::runtime_error("Should not use eoIntInterval::readFrom"); - } - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << "[" << repMinimum << "," << repMaximum << "]"; - } - - /** for memory managements - ugly */ - virtual eoIntBounds * dup() const - { - return new eoIntInterval(*this); - } - -private : - long int repMinimum; - long int repMaximum; - long int repRange; // to minimize operations ??? -}; - -/** - * an eoIntBound bounded from below only - */ -class eoIntBelowBound : public eoIntBounds -{ -public : - virtual ~eoIntBelowBound(){} - /** - Simple bounds = minimum - */ - eoIntBelowBound(long int _min=0) : - repMinimum(_min) - {} - - // accessors - virtual long int minimum() const { return repMinimum; } - - virtual long int maximum() const - { - throw std::logic_error("Trying to get maximum of eoIntBelowBound"); - } - virtual long int range() const - { - throw std::logic_error("Trying to get range of eoIntBelowBound"); - } - - virtual double uniform(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in eoIntBelowBound"); - } - virtual long int random(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in eoIntBelowBound"); - } - - // description - virtual bool isBounded(void) const {return false;} - virtual bool hasNoBoundAtAll(void) const {return false;} - virtual bool isMinBounded(void) const {return true;} - virtual bool isMaxBounded(void) const {return false;} - - // says if a given double is within the bounds - virtual bool isInBounds(double _r) const - { - if (_r < repMinimum) - return false; - return true; - } - - // folds a value into bounds - virtual void foldsInBounds(double & _r) const - { - // easy as a pie: symmetry w.r.t. minimum - if (_r < repMinimum) // nothing to do otherwise - _r = 2*repMinimum - _r; - return ; - } - - // truncates to the bounds - virtual void truncate(double & _r) const - { - if (_r < repMinimum) - _r = repMinimum; - return; - } - - // methods from eoPersistent - /** - * Read object. - * @param _is A std::istream. - * but reading should not be done here, because of bound problems - * see eoIntVectorBounds - */ - virtual void readFrom(std::istream& _is) - { - throw std::runtime_error("Should not use eoIntBelowBound::readFrom"); - } - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << "[" << repMinimum << ",+inf]"; - } - - /** for memory managements - ugly */ - virtual eoIntBounds * dup() const - { - return new eoIntBelowBound(*this); - } - -private : - long int repMinimum; -}; - -/** -An eoIntBound bounded from above only -*/ -class eoIntAboveBound : public eoIntBounds -{ -public : - virtual ~eoIntAboveBound(){} - - /** - Simple bounds = minimum - */ - eoIntAboveBound(long int _max=0) : - repMaximum(_max) - {} - - // accessors - virtual long int maximum() const { return repMaximum; } - - virtual long int minimum() const - { - throw std::logic_error("Trying to get minimum of eoIntAboveBound"); - } - virtual long int range() const - { - throw std::logic_error("Trying to get range of eoIntAboveBound"); - } - - virtual double uniform(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in eoIntAboveBound"); - } - virtual long int random(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in eoIntAboveBound"); - } - - // description - virtual bool isBounded(void) const {return false;} - virtual bool hasNoBoundAtAll(void) const {return false;} - virtual bool isMinBounded(void) const {return false;} - virtual bool isMaxBounded(void) const {return true;} - - // says if a given double is within the bounds - virtual bool isInBounds(double _r) const - { - if (_r > repMaximum) - return false; - return true; - } - - // folds a value into bounds - virtual void foldsInBounds(double & _r) const - { - // easy as a pie: symmetry w.r.t. maximum - if (_r > repMaximum) // nothing to do otherwise - _r = 2*repMaximum - _r; - return ; - } - - // truncates to the bounds - virtual void truncate(double & _r) const - { - if (_r > repMaximum) - _r = repMaximum; - return; - } - - // methods from eoPersistent - /** - * Read object. - * @param _is A std::istream. - * but reading should not be done here, because of bound problems - * see eoIntVectorBounds - */ - virtual void readFrom(std::istream& _is) - { - throw std::runtime_error("Should not use eoIntAboveBound::readFrom"); - } - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << "[-inf," << repMaximum << "]"; - } - - /** for memory managements - ugly */ - virtual eoIntBounds * dup() const - { - return new eoIntAboveBound(*this); - } - -private : - long int repMaximum; -}; - -//////////////////////// tentative for a general BOUND class that is constructed from a string - -/** A class that encapsulate all possible eoIntBounds. - * Mandatory in order to read through the parser - */ -class eoGeneralIntBounds : public eoIntBounds -{ -public: - /** Ctor: from a string, chooses the type of bound */ - eoGeneralIntBounds(std::string _s = "[-infinity,+infinity]") - { - repBound = getBoundsFromString(_s); - } - - /** Need a Cpy Ctor because we are allocating memory */ - eoGeneralIntBounds(const eoGeneralIntBounds & _b) : eoIntBounds(_b) - { - // replicate the embedded bound (I'm pretty sure there is another - // way to do that !!! - - bool minBounded = _b.isMinBounded(); - bool maxBounded = _b.isMaxBounded(); - long int minimum, maximum; - const eoIntBounds & bb = _b.theBounds(); - if (minBounded) minimum = bb.minimum(); - if (maxBounded) maximum = bb.maximum(); - - if (minBounded && maxBounded) - repBound = new eoIntInterval(minimum, maximum); - else if (!minBounded && !maxBounded) // no bound at all - repBound = new eoIntNoBounds; - else if (!minBounded && maxBounded) - repBound = new eoIntAboveBound(maximum); - else if (minBounded && !maxBounded) - repBound = new eoIntBelowBound(minimum); - } - - eoGeneralIntBounds& operator=(const eoGeneralIntBounds& _b) - { - // replicate the embedded bound (I'm pretty sure there is another - // way to do that !!! - - bool minBounded = _b.isMinBounded(); - bool maxBounded = _b.isMaxBounded(); - long int minimum, maximum; - const eoIntBounds & bb = _b.theBounds(); - if (minBounded) minimum = bb.minimum(); - if (maxBounded) maximum = bb.maximum(); - - // first delete the embedded bounds if necessary - if (repBound) - delete repBound; - // now reallocate - if (minBounded && maxBounded) - repBound = new eoIntInterval(minimum, maximum); - else if (!minBounded && !maxBounded) // no bound at all - repBound = new eoIntNoBounds; - else if (!minBounded && maxBounded) - repBound = new eoIntAboveBound(maximum); - else if (minBounded && !maxBounded) - repBound = new eoIntBelowBound(minimum); - return (*this); - } - - - /** Need a Dtor because we allocate an actual bound */ - ~eoGeneralIntBounds() - { - delete repBound; - } - - ///// and now all methods from the embedded bounds - /** Self-Test: true if ***both*** a min and a max - */ - virtual bool isBounded(void) const {return repBound->isBounded();} - - /** Self-Test: true if no min ***and*** no max - * hence no further need to test/truncate/fold anything - */ - virtual bool hasNoBoundAtAll(void) const {return repBound->hasNoBoundAtAll();} - - /** Self-Test: bounded from below??? - */ - virtual bool isMinBounded(void) const {return repBound->isMinBounded();} - - /** Self-Test: bounded from above??? - */ - virtual bool isMaxBounded(void) const {return repBound->isMaxBounded();} - - /** Test on a value: is it in bounds? - */ - virtual bool isInBounds(double _x) const {return repBound->isInBounds(_x);} - - /** Put value back into bounds - by folding back and forth - */ - virtual void foldsInBounds(double & _x) const {return repBound->foldsInBounds(_x);} - - /** Put value back into bounds - by truncating to a boundary value - */ - virtual void truncate(double & _x) const {return repBound->truncate(_x);} - - /** get minimum value - * @std::exception if does not exist - */ - virtual long int minimum() const {return repBound->minimum();} - /** get maximum value - * @std::exception if does not exist - */ - virtual long int maximum() const {return repBound->maximum();} - /** get range - * @std::exception if unbounded - */ - virtual long int range() const {return repBound->range();} - - /** random generator of uniform doubles in bounds - * @std::exception if unbounded - */ - virtual double uniform(eoRng & _rng = eo::rng) const {return repBound->uniform();} - - /** random generator of uniform ints in bounds - * @std::exception if unbounded - */ - virtual long int random(eoRng & _rng = eo::rng) const {return repBound->random();} - - /** for memory managements - ugly */ - virtual eoIntBounds * dup() const {return repBound->dup();} - - /** for efficiency, it's better to use the embedded boud directly */ - const eoIntBounds & theBounds() const { return *repBound;} - - /** don't forget the printOn method - - * again that of the embedded bound - */ - virtual void printOn(std::ostream& _os) const - { - repBound->printOn(_os); - } - - /** no readFrom ??? Have to check that later */ - virtual void readFrom(std::istream& _is) - { - std::string s; - _is >> s; - if (repBound) - delete repBound; - repBound = getBoundsFromString(s); - } - -private: - // reading from a string - eoIntBounds * getBoundsFromString(std::string); - - eoIntBounds * repBound; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoMOFitnessStat.h b/trunk/paradiseo-eo/src/utils/eoMOFitnessStat.h deleted file mode 100644 index bb95acbe9..000000000 --- a/trunk/paradiseo-eo/src/utils/eoMOFitnessStat.h +++ /dev/null @@ -1,91 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoFitnessStat.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoFitnessStat_h -#define _eoFitnessStat_h - -#include - -/** - The fitnesses of a whole population, as a vector -*/ -template -class eoFitnessStat : public eoSortedStat > -{ -public : - - using eoSortedStat >::value; - - eoFitnessStat(std::string _description = "AllFitnesses") : - eoSortedStat >(std::vector(0), _description) {} - - virtual void operator()(const std::vector& _popPters) - { - value().resize(_popPters.size()); - for (unsigned i=0; i<_popPters.size(); i++) - value()[i] = _popPters[i]->fitness(); - } -}; - - -/** For multi-objective fitness, we need to translate a stat > - into a vector, so each objective gets a seperate stat -*/ -#ifdef _MSC_VER -// The follownig is needed to avoid some bug in Visual Studio 6.0 -typedef double PartFitDefault; -template -class eoMOFitnessStat : public eoSortedStat > -#else -template -class eoMOFitnessStat : public eoSortedStat > -#endif - -{ -public: - - using eoSortedStat >::value; - - /** Ctor: say what component you want - */ - eoMOFitnessStat(unsigned _objective, std::string _description = "MO-Fitness") : - eoSortedStat >(std::vector(0), _description), - objective(_objective) {} - - virtual void operator()(const std::vector& _popPters) - { - value().resize(_popPters.size()); - - for (unsigned i=0; i<_popPters.size(); i++) - { - value()[i] = _popPters[i]->fitness()[objective]; - } - } -private: - unsigned int objective; // The objective we're storing - -}; -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoMonitor.h b/trunk/paradiseo-eo/src/utils/eoMonitor.h deleted file mode 100644 index e7191f63c..000000000 --- a/trunk/paradiseo-eo/src/utils/eoMonitor.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoMonitor.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk -CVS Info: $Date: 2004/06/15 07:09:57 $ $Header: /cvsroot/eodev/eo/src/utils/eoMonitor.h,v 1.11 2004/06/15 07:09:57 evomarc Exp $ $Author: evomarc $ - - */ -//----------------------------------------------------------------------------- - -#ifndef _eoMonitor_h -#define _eoMonitor_h - - -#include - -#include - -class eoParam; - -/** - The abstract monitor class is a std::vector of parameter pointers. Use - either push_back a pointer or add a reference to a parameter. - Derived classes will then implement the operator()(void) which - will stream or pipe the current values of the parameters to wherever you - want it streamed or piped to. -*/ -class eoMonitor : public eoF -{ -public : - - virtual void lastCall() {} - - /** - Adds a parameter to the monitor. It is virtual so you can do some type checking - in derived classes if you must. - */ - virtual void add(const eoParam& _param) { vec.push_back(&_param); } - - virtual std::string className(void) const { return "eoMonitor"; } - -protected : - typedef std::vector::iterator iterator; - std::vector vec; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoParam.h b/trunk/paradiseo-eo/src/utils/eoParam.h deleted file mode 100644 index 5bf1dd0a4..000000000 --- a/trunk/paradiseo-eo/src/utils/eoParam.h +++ /dev/null @@ -1,441 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoParam.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk -*/ -//----------------------------------------------------------------------------- - -#ifndef eoParam_h -#define eoParam_h - -#include -#include -#include -#include -#include -#include -#include - - -/** - eoParam: Base class for monitoring and parsing parameters -*/ -class eoParam -{ -public: - - /** Empty constructor - called from outside any parser */ - eoParam () - : repLongName(""), repDefault(""), repDescription(""), - repShortHand(0), repRequired(false) - {} - - /** Construct a Param. - * - * @param _longName Long name of the argument - * @param _default The default value - * @param _description Description of the parameter. What is useful for. - * @param _shortName Short name of the argument (Optional) - * @param _required If it is a necessary parameter or not - */ - eoParam (std::string _longName, std::string _default, - std::string _description, char _shortName = 0, bool _required = false) - : repLongName(_longName), repDefault(_default), - repDescription(_description ), - repShortHand(_shortName), repRequired( _required) - {} - - /** - * Virtual destructor is needed. - */ - virtual ~eoParam () {}; - - /** - * Pure virtual function to get the value out. - */ - virtual std::string getValue () const = 0; - - /** - * Pure virtual function to set the value - */ - virtual void setValue(const std::string& _value) = 0 ; - - /** - * Returns the short name. - */ - char shortName() const { return repShortHand; }; - - /** - * Returns the long name. - */ - const std::string& longName() const { return repLongName; }; - - /** - * Returns the description of the argument - */ - const std::string& description() const { return repDescription; }; - - /** - * Returns the default value of the argument - */ - const std::string& defValue() const { return repDefault; }; - - /** - * Sets the default value of the argument, - */ - void defValue( const std::string& str ) { repDefault = str; }; - - /** - * ALlows to change the name (see the prefix in eoParser.h) - */ - void setLongName(std::string _longName) { repLongName = _longName;} - - /** - * Returns if required or not. - */ - bool required() const { return repRequired; }; - -private: - std::string repLongName; - std::string repDefault; - std::string repDescription; - char repShortHand; - bool repRequired; -}; - - - -/** - eoValueParam: templatized derivation of eoParam. Can be used to contain - any scalar value type. It makes use of std::strstream to get and set values. This - should be changed to std::stringstream when that class is available in g++. - - Note also that there is a template specialization for std::pair and - for std::vector. These stream their contents delimited with whitespace. -*/ -template -class eoValueParam : public eoParam -{ -public : - - /** Construct a Param. */ - eoValueParam(void) : eoParam() {} - - /** Construct a Param. - * - * @param _defaultValue The default value - * @param _longName Long name of the argument - * @param _description Description of the parameter. What is useful for. - * @param _shortName Short name of the argument (Optional) - * @param _required If it is a necessary parameter or not - */ - eoValueParam(ValueType _defaultValue, - std::string _longName, - std::string _description = "No description", - char _shortHand = 0, - bool _required = false) - : eoParam(_longName, "", _description, _shortHand, _required), - repValue(_defaultValue) - { - eoParam::defValue(getValue()); - } - - /** Parameter value - - @return parameter value - */ - ValueType& value() - { return repValue; } - - /** Parameter value - - @overload - - @return parameter value - */ - const ValueType& value() const - { return repValue; } - - - std::string getValue(void) const - { - std::ostringstream os; - os << repValue; - return os.str(); - } - - - void setValue(const std::string& _value) - { - std::istringstream is(_value); - is >> repValue; - } - -protected: - - ValueType repValue; -}; - -/* - Specialization for std::string -*/ -template <> -inline std::string eoValueParam::getValue() const -{ - return repValue; -} - - -template <> -inline void eoValueParam::setValue(const std::string& _value) -{ - if (_value.empty()) - { - repValue = true; - return; - } - std::istringstream is(_value); - is >> repValue; -} - - -/// Because MSVC does not support partial specialization, the std::pair is a double, not a T -template <> -inline std::string eoValueParam >::getValue(void) const -{ - // use own buffer as MSVC's buffer leaks! - std::ostringstream os; - os << repValue.first << ' ' << repValue.second; - return os.str(); -} - -/// Because MSVC does not support partial specialization, the std::pair is a double, not a T -template <> -inline void eoValueParam >::setValue(const std::string& _value) -{ - std::istringstream is(_value); - is >> repValue.first; - is >> repValue.second; -} - -// The std::vector > -////////////////////////////////// -/// Because MSVC does not support partial specialization, the std::vector is a std::vector of doubles, not a T -template <> -inline std::string eoValueParam > >::getValue(void) const -{ - std::ostringstream os; - os << repValue.size() << ' '; - for (unsigned i = 0; i < repValue.size(); ++i) - { - os << repValue[i].size() << ' '; - std::copy(repValue[i].begin(), repValue[i].end(), std::ostream_iterator(os, " ")); - } - return os.str(); -} - -/// Because MSVC does not support partial specialization, the std::vector is a std::vector of doubles, not a T -template <> -inline void eoValueParam > >::setValue(const std::string& _value) -{ - std::istringstream is(_value); - unsigned i,j,sz; - is >> sz; - repValue.resize(sz); - - for (i = 0; i < repValue.size(); ++i) - { - unsigned sz2; - is >> sz2; - repValue[i].resize(sz2); - for (j = 0; j < sz2; ++j) - { - is >> repValue[i][j]; - } - } -} - -// The std::vector -////////////////////////////////// -/// Because MSVC does not support partial specialization, the std::vector is a double, not a T -template <> -inline std::string eoValueParam >::getValue(void) const -{ - std::ostringstream os; - os << repValue.size() << ' '; - std::copy(repValue.begin(), repValue.end(), std::ostream_iterator(os, " ")); - return os.str(); -} - -/// Because MSVC does not support partial specialization, the std::vector is a double, not a T -template <> -inline void eoValueParam >::setValue(const std::string& _value) -{ - std::istringstream is(_value); - unsigned sz; - is >> sz; - repValue.resize(sz); - std::copy(std::istream_iterator(is), std::istream_iterator(), repValue.begin()); -} - -// The std::vector -////////////////////////////////// -/// Because MSVC does not support partial specialization, the std::vector is a eoMinimizingFitness, not a T -template <> -inline std::string eoValueParam >::getValue(void) const -{ - std::ostringstream os; - os << repValue.size() << ' '; - std::copy(repValue.begin(), repValue.end(), std::ostream_iterator(os, " ")); - return os.str(); -} - -/// Because MSVC does not support partial specialization, the std::vector is a eoMinimizingFitness, not a T -// NOTE: g++ doesn support it either!!! -template <> -inline void eoValueParam >::setValue(const std::string& _value) -{ - std::istringstream is(_value); - unsigned sz; - is >> sz; - repValue.resize(sz); - std::copy(std::istream_iterator(is), std::istream_iterator(), repValue.begin()); -} - -// The std::vector -////////////////////////////////// -template <> -inline std::string eoValueParam >::getValue(void) const -{ - throw std::runtime_error("I cannot getValue for a std::vector"); - return std::string(""); -} - -template <> -inline void eoValueParam >::setValue(const std::string&) -{ - throw std::runtime_error("I cannot setValue for a std::vector"); - return; -} - -/*template - class eoContainerParam : public eoParam - { - public : - eoContainerParam (ContainerType& value, std::string _shortName, std::string _longName, - std::string _default, - std::string _description, - bool _required, - bool _change ) - : value(_value), eoParam(_shortName, _longName, _description, _default, _required, _change) - {} - - - // void setValue(const std::string & _value) - // { - // std::istd::stringstream is(_value); - // copy(std::istream_iterator(is), std::istream_iterator(), back_inserter(value)); - // } - - private : - ContainerType& value; - };*/ - -/** - * Another helper class for parsing parameters like - * Keyword(arg1, arg2, ...) - * - * It is basically a std::pair > - * first std::string is keyword - * the std::vector contains all arguments (as std::strings) - * See make_algo.h - */ - -class eoParamParamType : public std::pair > -{ -public: - eoParamParamType(std::string _value) - { - readFrom(_value); - } - - std::ostream & printOn(std::ostream & _os) const - { - _os << first; - unsigned narg = second.size(); - if (!narg) - return _os; - - // Here, we do have args - _os << "("; - if (narg == 1) // 1 arg only - { - _os << second[0] << ")" ; - return _os; - } - // and here more than 1 arg - for (unsigned i=0; i> value; - readFrom(value); - return _is; - } - - void readFrom(std::string & _value) - { - second.resize(0); // just in case - size_t pos = _value.find('('); - if (pos >= _value.size()) // no arguments - { - first = _value; - return; - } - // so here we do have arguments - std::string t = _value.substr(pos+1);// the arguments - _value.resize(pos); - first = _value; // done for the keyword (NOTE: may be empty std::string!) - - // now all arguments - std::string delim(" (),"); - while ( (pos=t.find_first_not_of(delim)) < t.size()) - { - size_t posEnd = t.find_first_of(delim, pos); - std::string u = t.substr(pos,posEnd);//(t, pos); - /*u.resize(posEnd - pos);*/ - second.push_back(u); - t = t.substr(posEnd+1); - } - } -}; - -// at the moment, the following are defined in eoParser.cpp -std::ostream & operator<<(std::ostream & _os, const eoParamParamType & _rate); -std::istream & operator>>(std::istream & _is, eoParamParamType & _rate); - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoParser.cpp b/trunk/paradiseo-eo/src/utils/eoParser.cpp deleted file mode 100644 index ccf9dd611..000000000 --- a/trunk/paradiseo-eo/src/utils/eoParser.cpp +++ /dev/null @@ -1,413 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoParser.cpp -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include -#include -#include - -#include - -#include - -using namespace std; - -void eoWarning(std::string str) -{ - cout << str << '\n'; -} - -std::ostream& printSectionHeader(std::ostream& os, std::string section) -{ - if (section == "") - section = "General"; - - os << '\n' << setw(10) << "###### " << setw(20) << section << setw(10) << " ######\n"; - return os; -} - -eoParameterLoader::~eoParameterLoader() -{ - for (unsigned i = 0; i < ownedParams.size(); ++i) - { - delete ownedParams[i]; - } -} - - -eoParser::eoParser ( unsigned _argc, char **_argv , string _programDescription, - string _lFileParamName, char _shortHand) : - programName(_argv[0]), - programDescription( _programDescription), - needHelp(false, "help", "Prints this message", 'h'), - stopOnUnknownParam(true, "stopOnUnknownParam", "Stop if unkown param entered", '\0') -{ - // need to process the param file first - // if we want command-line to have highest priority - unsigned i; - for (i = 1; i < _argc; ++i) - { - if(_argv[i][0] == '@') - { // read response file - char *pts = _argv[i]+1; // yes a char*, sorry :-) - ifstream ifs (pts); - ifs.peek(); // check if it exists - if (!ifs) - { - string msg = string("Could not open response file: ") + pts; - throw runtime_error(msg); - } - // read - will be overwritten by command-line - readFrom(ifs); - break; // stop reading command line args for '@' - } - } - // now read arguments on command-line - stringstream stream; - for (i = 1; i < _argc; ++i) - { - stream << _argv[i] << '\n'; - } - readFrom(stream); - processParam(needHelp); - processParam(stopOnUnknownParam); -} - - - -eoParam * eoParser::getParamWithLongName(const std::string& _name) const -{ - typedef std::multimap MultiMapType; - typedef MultiMapType::const_iterator iter; - std::string search(prefix+_name); - for(iter p = params.begin(); p != params.end(); ++p) - if(p->second->longName() == search) - return p->second; - return 0; -} - - - -void eoParser::processParam(eoParam& param, std::string section) -{ - // this param enters the parser: add the prefix to the long name - if (prefix != "") - { - param.setLongName(prefix+param.longName()); - section = prefix + section; // and to section - } - doRegisterParam(param); // plainly register it - params.insert(make_pair(section, ¶m)); -} - -void eoParser::doRegisterParam(eoParam& param) const -{ - if (param.required() && !isItThere(param)) - { - string msg = "Required parameter: " + param.longName() + " missing"; - messages.push_back(msg); - } - pair value = getValue(param); - if (value.first) - { - param.setValue(value.second); - } -} - -pair eoParser::getValue(eoParam& _param) const -{ - pair result(false, ""); - - if (_param.shortName() != 0) - { - map::const_iterator it = shortNameMap.find(_param.shortName()); - if (it != shortNameMap.end()) - { - result.second = it->second; - result.first = true; - return result; - } - } - map::const_iterator it = longNameMap.find(_param.longName()); - if (it != longNameMap.end()) - { - result.second = it->second; - result.first = true; - return result; - } - // else (TODO: check environment, just long names) - return result; -} - -void eoParser::updateParameters() const -{ - typedef MultiMapType::const_iterator It; - - for (It p = params.begin(); p != params.end(); ++p) - { - doRegisterParam(*p->second); - } -} - -void eoParser::readFrom(istream& is) -{ - string str; - // we must avoid processing \section{xxx} if xxx is NOT "Parser" - bool processing = true; - while (is >> str) - { - if (str.find(string("\\section{"))==0) // found section begin - processing = (str.find(string("Parser"))= 3) - value = string(str.begin() + 3, str.end()); - } - else - { - value = string(str.begin() + 2, str.end()); - } - } - - shortNameMap[str[1]] = value; - } - } - } - } - - updateParameters(); -} - -void eoParser::printOn(ostream& os) const -{ - typedef MultiMapType::const_iterator It; - - It p = params.begin(); - - std::string section = p->first; - - printSectionHeader(os, section); - //print every param with its value - for (; p != params.end(); ++p) - { - std::string newSection = p->first; - - if (newSection != section) - { - section = newSection; - printSectionHeader(os, section); - } - - eoParam* param = p->second; - - if (!isItThere(*param)) // comment out the ones not set by the user - os << "# "; - - string str = "--" + param->longName() + "=" + param->getValue(); - - os.setf(ios_base::left, ios_base::adjustfield); - os << setw(40) << str; - - os << setw(0) << " # "; - if (param->shortName()) - os << '-' << param->shortName() << " : "; - os << param->description(); - - if (param->required()) - { - os << " REQUIRED "; - } - - os << '\n'; - } -} - -void eoParser::printHelp(ostream& os) -{ - if (needHelp.value() == false && !messages.empty()) - { - std::copy(messages.begin(), messages.end(), ostream_iterator(os, "\n")); - messages.clear(); - return; - } - - // print program name and description - os << this->programName <<": "<< programDescription << "\n\n"; - - // print the usage when calling the program from the command line - os << "Usage: "<< programName<<" [Options]\n"; - // only short usage! - os << "Options of the form \"-f[=Value]\" or \"--Name[=value]\"" << endl; - - os << "Where:"<first; - - printSectionHeader(os, section); - - //print every param with its value - for (; p != params.end(); ++p) - { - std::string newSection = p->first; - - if (newSection != section) - { - section = newSection; - printSectionHeader(os, section); - } - - if (p->second->shortName()) - os << "-" << p->second->shortName() << ", "; - - os << "--" <second->longName() <<":\t" - << p->second->description() ; - - os << "\n" << setw(20) << ( (p->second->required())?"Required":"Optional" ); - os <<". By default: "<second->defValue() << '\n'; - } // for p - - os << "\n@param_file \t defines a file where the parameters are stored\n"; - os << '\n'; - -} - -bool eoParser::userNeedsHelp(void) -{ - /* - check whether there are long or short names entered - without a corresponding parameter - */ - // first, check if we want to check that ! - if (stopOnUnknownParam.value()) - { - for (LongNameMapType::const_iterator lIt = longNameMap.begin(); lIt != longNameMap.end(); ++lIt) - { - string entry = lIt->first; - - MultiMapType::const_iterator it; - - for (it = params.begin(); it != params.end(); ++it) - { - if (entry == it->second->longName()) - { - break; - } - } - - if (it == params.end()) - { - string msg = "Unknown parameter: --" + entry + " entered, type -h or --help to see available parameters"; - messages.push_back(msg); - } - } - - for (ShortNameMapType::const_iterator sIt = shortNameMap.begin(); sIt != shortNameMap.end(); ++sIt) - { - char entry = sIt->first; - - MultiMapType::const_iterator it; - - for (it = params.begin(); it != params.end(); ++it) - { - if (entry == it->second->shortName()) - { - break; - } - } - - if (it == params.end()) - { - string entryString(1, entry); - string msg = "Unknown parameter: -" + entryString + " entered, type -h or --help to see available parameters"; - messages.push_back(msg); - } - } - } - return needHelp.value() || !messages.empty(); -} - -///////////////// I put these here at the moment -ostream & operator<<(ostream & _os, const eoParamParamType & _rate) -{ - _rate.printOn(_os); - return _os; -} - -istream & operator>>(istream & _is, eoParamParamType & _rate) -{ - _rate.readFrom(_is); - return _is; -} - diff --git a/trunk/paradiseo-eo/src/utils/eoParser.h b/trunk/paradiseo-eo/src/utils/eoParser.h deleted file mode 100644 index 1f69f3100..000000000 --- a/trunk/paradiseo-eo/src/utils/eoParser.h +++ /dev/null @@ -1,287 +0,0 @@ -/* (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 - -This library is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) any -later version. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 59 -Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Contact: http://eodev.sourceforge.net - todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk -*/ - - -#ifndef EO_PARSER_H -#define EO_PARSER_H - -#include -#include -#include - -#include "eoParam.h" -#include "eoObject.h" -#include "eoPersistent.h" - -/** Parameter saving and loading - -eoParameterLoader is an abstract class that can be used as a base for your own -parameter loading and saving. The command line parser eoParser is derived from -this class. -*/ -class eoParameterLoader -{ -public : - - /** Need a virtual destructor */ - virtual ~eoParameterLoader(); - - /** Register a parameter and set its value if it is known - - @param param the parameter to process - @param section the section where this parameter belongs - */ - virtual void processParam(eoParam& param, std::string section = "") = 0; - - /** - * checks if _param has been actually entered - */ - virtual bool isItThere(eoParam& _param) const = 0; - - /** - * Construct a Param and sets its value. The loader will own the memory thus created - * - * @param _defaultValue The default value - * @param _longName Long name of the argument - * @param _description Description of the parameter. What is useful for. - * @param _shortName Short name of the argument (Optional) - * @param _section Name of the section where the parameter belongs - * @param _required If it is a necessary parameter or not - */ - template - eoValueParam& createParam(ValueType _defaultValue, - std::string _longName, - std::string _description, - char _shortHand = 0, - std::string _section = "", - bool _required = false) - { - eoValueParam* p = new eoValueParam(_defaultValue, - _longName, - _description, - _shortHand, - _required); - ownedParams.push_back(p); - processParam(*p, _section); - return *p; - } - - -private : - - std::vector ownedParams; -}; - - - -/** - eoParser: command line parser and configuration file reader - This class is persistent, so it can be stored and reloaded to restore - parameter settings. -*/ -class eoParser : public eoParameterLoader, public eoObject, public eoPersistent -{ - -public: - - /** - * Constructor - * a complete constructor that reads the command line an optionally reads - * a configuration file. - - * - * myEo --param-file=param.rc will then load using the parameter file param.rc - * - * @param _argc command line arguments count - * @param _argv command line parameters - * @param _programDescription Description of the work the program does - * @param _lFileParamName Name of the parameter specifying the configuration file (--param-file) - * @param _shortHand Single charachter shorthand for specifying the configuration file - */ - eoParser ( unsigned _argc, char **_argv , std::string _programDescription = "", - std::string _lFileParamName = "param-file", char _shortHand = 'p'); - - /** - Processes the parameter and puts it in the appropriate section for readability - */ - void processParam(eoParam& param, std::string section = ""); - - void readFrom(std::istream& is); - - void printOn(std::ostream& os) const; - - /// className for readibility - std::string className(void) const { return "Parser"; } - - /// true if the user made an error or asked for help - bool userNeedsHelp(void); - /** - * Prints an automatic help in the specified output using the information - * provided by parameters - */ - void printHelp(std::ostream& os); - - std::string ProgramName() { return programName; } - - /** Has param been entered by user? - - Checks if _param has been actually entered by the user - */ - virtual bool isItThere(eoParam& _param) const - { return getValue(_param).first; } - - /** - * get a handle on a param from its longName - * - * if not found, returns 0 (null pointer :-) - * - * Not very clean (requires hard-coding of the long name twice!) - * but very useful in many occasions... - */ - eoParam * getParamWithLongName(const std::string& _name) const; - - - - /** Get or create parameter - - It seems finally that the easiest use of the above method is - through the following, whose interface is similar to that of the - widely-used createParam. - - For some (probably very stupid) reason, I failed to put it in the - .cpp. Any hint??? - */ - template - eoValueParam& getORcreateParam(ValueType _defaultValue, - std::string _longName, - std::string _description, - char _shortHand = 0, - std::string _section = "", - bool _required = false) - { - eoParam* ptParam = getParamWithLongName(_longName); - if (ptParam) { - // found - eoValueParam* ptTypedParam = - dynamic_cast*>(ptParam); - return *ptTypedParam; - } - // not found -> create it - return createParam (_defaultValue, _longName, _description, - _shortHand, _section, _required); - } - - - - /** Set parameter value or create parameter - - This makes sure that the specified parameter has the given value. - If the parameter does not exist yet, it is created. - - This requires that operator<< is defined for ValueType. - - - @param _defaultValue Default value. - @param _longName Long name of the argument. - @param _description Description of the parameter. - @param _shortName Short name of the argument (Optional) - @param _section Name of the section where the parameter belongs. - @param _required Is the parameter mandatory? - @return Corresponding parameter. - */ - template - eoValueParam& setORcreateParam(ValueType _defaultValue, - std::string _longName, - std::string _description, - char _shortHand = 0, - std::string _section = "", - bool _required = false) - { - eoValueParam& param = createParam(_defaultValue, _longName, _description, - _shortHand, _section, _required); - std::ostringstream os; - os << _defaultValue; - if(isItThere(param)) { - param.setValue(os.str()); - } else { - longNameMap[_longName] = os.str(); - shortNameMap[_shortHand] = os.str(); - } - return param; - } - - - - /** accessors to the stopOnUnknownParam value */ - void setStopOnUnknownParam(bool _b) {stopOnUnknownParam.value()=_b;} - bool getStopOnUnknownParam() {return stopOnUnknownParam.value();} - - /** Prefix handling */ - void setPrefix(const std:: string & _prefix) {prefix = _prefix;} - - void resetPrefix() {prefix = "";} - - std::string getPrefix() {return prefix;} - -private: - - void doRegisterParam(eoParam& param) const; - - std::pair getValue(eoParam& _param) const; - - void updateParameters() const; - - typedef std::multimap MultiMapType; - - // used to store all parameters that are processed - MultiMapType params; - - std::string programName; - std::string programDescription; - - typedef std::map ShortNameMapType; - ShortNameMapType shortNameMap; - - typedef std::map LongNameMapType; - LongNameMapType longNameMap; - - eoValueParam needHelp; - eoValueParam stopOnUnknownParam; - - mutable std::vector messages; - - std::string prefix; // used for all created params - in processParam - -}; - - - -#endif // EO_PARSER_H - - - -// Local Variables: -// coding: iso-8859-1 -// mode:C++ -// c-file-style: "Stroustrup" -// comment-column: 35 -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/utils/eoPopStat.h b/trunk/paradiseo-eo/src/utils/eoPopStat.h deleted file mode 100644 index 65bdf44e6..000000000 --- a/trunk/paradiseo-eo/src/utils/eoPopStat.h +++ /dev/null @@ -1,133 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoPopStat.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -/** WARNING: this file contains 2 classes: - -eoPopString and eoSortedPopString - -that transform the population into a std::string -that can be used to dump to the screen -*/ - -#ifndef _eoPopStat_h -#define _eoPopStat_h - -#include - - -/** Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats. -This snippet is a workaround: -This class will "print" a whole population into a std::string - that you can later -send to any stream -This is the plain version - see eoPopString for the Sorted version - -Note: this Stat should probably be used only within eoStdOutMonitor, and not -inside an eoFileMonitor, as the eoState construct will work much better there. -*/ -template -class eoPopStat : public eoStat -{ -public: - - using eoStat::value; - - /** default Ctor, void std::string by default, as it appears - on the description line once at beginning of evolution. and - is meaningless there. _howMany defaults to 0, that is, the whole - population*/ - eoPopStat(unsigned _howMany = 0, std::string _desc ="") - : eoStat("", _desc), combien( _howMany) {} - -/** Fills the value() of the eoParam with the dump of the population. -Adds a \n before so it does not get mixed up with the rest of the stats -that are written by the monitor it is probably used from. -*/ -void operator()(const eoPop& _pop) -{ - value() = "\n# ====== pop dump =====\n"; - unsigned howmany=combien?combien:_pop.size(); - for (unsigned i = 0; i < howmany; ++i) - { - std::ostringstream os; - os << _pop[i] << std::endl; - - // paranoid: - value() += os.str(); - } -} - -private: - unsigned combien; -}; - -/** Thanks to MS/VC++, eoParam mechanism is unable to handle std::vectors of stats. -This snippet is a workaround: -This class will "print" a whole population into a std::string - that you can later -send to any stream -This is the Sorted version - see eoPopString for the plain version - -Note: this Stat should probably be used only within eoStdOutMonitor, and not -inside an eoFileMonitor, as the eoState construct will work much better there. -*/ -template -class eoSortedPopStat : public eoSortedStat -{ -public: - - using eoSortedStat::value; - - /** default Ctor, void std::string by default, as it appears on - the description line once at beginning of evolution. and is - meaningless there _howMany defaults to 0, that is, the whole - population - */ - eoSortedPopStat(unsigned _howMany = 0, std::string _desc ="") - : eoSortedStat("", _desc) , combien( _howMany) - {} - - /** Fills the value() of the eoParam with the dump of the - population. Adds a \n before so it does not get mixed up with - the rest of the stats that are written by the monitor it is - probably used from. - */ - void operator()(const std::vector& _pop) - { - value() = ""; // empty - unsigned howMany=combien?combien:_pop.size(); - for (unsigned i = 0; i < howMany; ++i) - { - std::ostringstream os; - os << *_pop[i] << std::endl; - - // paranoid: - value() += os.str(); - } - } -private: - unsigned combien; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoRNG.cpp b/trunk/paradiseo-eo/src/utils/eoRNG.cpp deleted file mode 100644 index 17159bfca..000000000 --- a/trunk/paradiseo-eo/src/utils/eoRNG.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include -#include "eoRNG.h" - -namespace eo -{ - /// The Global random number generator. - eoRng rng(time(0)); -} - diff --git a/trunk/paradiseo-eo/src/utils/eoRNG.h b/trunk/paradiseo-eo/src/utils/eoRNG.h deleted file mode 100644 index ae5797c16..000000000 --- a/trunk/paradiseo-eo/src/utils/eoRNG.h +++ /dev/null @@ -1,533 +0,0 @@ -/** Random number generator adapted from (see comments below) - -The random number generator is modified into a class -by Maarten Keijzer (mak@dhi.dk). Also added the Box-Muller -transformation to generate normal deviates. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Contact: todos@geneura.ugr.es, http://geneura.ugr.es -*/ - -#ifndef EO_RANDOM_NUMBER_GENERATOR -#define EO_RANDOM_NUMBER_GENERATOR - -// uint32_t is an unsigned integer type capable of holding 32 bits. -// -// In the applicatione here exactly 32 but should typically be fastest, but 64 -// might be better on an Alpha with GCC at -O3 optimization so try your options -// and see what's best for you. -// -// The C99-standard defines uint32_t to be declared in stdint.h, but some -// systmes don't have that and implement it in inttypes.h. -#if (! defined __sun) -#include -#else -#include -#endif - -#include -#include "eoPersistent.h" -#include "eoObject.h" - -/** Random Number Generator - -@class eoRng eoRNG.h utils/eoRNG.h - -eoRng is a persistent class that uses the ``Mersenne Twister'' random -number generator MT19937 for generating random numbers. The various -member functions implement useful functions for evolutionary -algorithms. Included are: rand(), random(), flip() and normal(). - -EO provides a global random number generator rng that is seeded by the -current UNIX time at program start. Moreover some global convenience functions -are provided that use the global random number generator: random, -normal. - -@warning If you want to repeatedly generated the same sequence of pseudo-random -numbers, you should always reseed the generator at the beginning of your code. - - - -

Documentation in original file

- -This is the ``Mersenne Twister'' random number generator MT19937, which -generates pseudorandom integers uniformly distributed in 0..(2^32 - 1) starting -from any odd seed in 0..(2^32 - 1). This version is a recode by Shawn Cokus -(Cokus@math.washington.edu) on March 8, 1998 of a version by Takuji Nishimura -(who had suggestions from Topher Cooper and Marc Rieffel in July-August 1997). - -Effectiveness of the recoding (on Goedel2.math.washington.edu, a DEC Alpha -running OSF/1) using GCC -O3 as a compiler: before recoding: 51.6 sec. to -generate 300 million random numbers; after recoding: 24.0 sec. for the same -(i.e., 46.5% of original time), so speed is now about 12.5 million random number -generations per second on this machine. - -According to the URL (and -paraphrasing a bit in places), the Mersenne Twister is ``designed with -consideration of the flaws of various existing generators,'' has a period of -2^19937 - 1, gives a sequence that is 623-dimensionally equidistributed, and -``has passed many std::stringent tests, including the die-hard test of G. -Marsaglia and the load test of P. Hellekalek and S. Wegenkittl.'' It is -efficient in memory usage (typically using 2506 to 5012 bytes of static data, -depending on data type sizes, and the code is quite short as well). It generates -random numbers in batches of 624 at a time, so the caching and pipelining of -modern systems is exploited. It is also divide- and mod-free. - -The code as Shawn received it included the following notice: Copyright (C) -1997 Makoto Matsumoto and Takuji Nishimura. When you use this, send an e-mail to - with an appropriate reference to your work. It -would be nice to Cc: and - when you write. - - -

Portability

- -Note for people porting EO to other platforms: please make sure that the type -uint32_t in the file eoRng.h is exactly 32 bits long. It may in principle be -longer, but not shorter. If it is longer, file compatibility between EO on -different platforms may be broken. -*/ -class eoRng : public eoObject, public eoPersistent -{ -public : - - /** Constructor - - @param s Random seed; if you want another seed, use reseed. - - @see reseed for details on usage of the seeding value. - */ - eoRng(uint32_t s) - : state(0), next(0), left(-1), cached(false), N(624), M(397), K(0x9908B0DFU) - { - state = new uint32_t[N+1]; - initialize(2*s); - } - - ~eoRng(void) - { - delete [] state; - } - - /** Re-initializes the Random Number Generator. - - WARNING: Jeroen Eggermont noticed that initialize does - not differentiate between odd and even numbers, therefore the argument to - reseed is now doubled before being passed on. - - Manually divide the seed by 2 if you want to re-run old runs - - @version MS. 5 Oct. 2001 - */ - void reseed(uint32_t s) - { - initialize(2*s); - } - - /** Re-initializes the Random Number Generator - - This is the traditional seeding procedure. This version is deprecated and - only provided for compatibility with old code. In new projects you should - use reseed. - - @see reseed for details on usage of the seeding value. - - @version old version (deprecated) - */ - void oldReseed(uint32_t s) - { - initialize(s); - } - - /** - uniform(m = 1.0) returns a random double in the range [0, m) - */ - double uniform(double m = 1.0) - { // random number between [0, m] - return m * double(rand()) / double(1.0 + rand_max()); - } - - /** - random() returns a random integer in the range [0, m) - */ - uint32_t random(uint32_t m) - { - return uint32_t(uniform() * double(m)); - } - - /** - flip() tosses a biased coin such that flip(x/100.0) will - returns true x% of the time - */ - bool flip(float bias=0.5) - { - return uniform() < bias; - } - - /** - normal() zero mean gaussian deviate with standard deviation of 1 - */ - double normal(void); // gaussian mutation, stdev 1 - - /** - normal(stdev) zero mean gaussian deviate with user defined standard deviation - */ - double normal(double stdev) - { - return stdev * normal(); - } - - /** - normal(mean, stdev) user defined mean gaussian deviate with user defined standard deviation - */ - double normal(double mean, double stdev) - { - return mean + normal(stdev); - } - - /** - Generates random numbers using a negative exponential distribution - */ - double negexp(double mean) - { - return ( -mean*log((double)rand() / rand_max())); - } - - /** - rand() returns a random number in the range [0, rand_max) - */ - uint32_t rand(); - - /** - rand_max() the maximum returned by rand() - */ - uint32_t rand_max(void) const { return uint32_t(0xffffffff); } - - /** - roulette_wheel(vec, total = 0) does a roulette wheel selection - on the input std::vector vec. If the total is not supplied, it is - calculated. It returns an integer denoting the selected argument. - */ - template - int roulette_wheel(const std::vector& vec, TYPE total = 0) - { - if (total == 0) - { // count - for (unsigned i = 0; i < vec.size(); ++i) - total += vec[i]; - } - double fortune = uniform() * total; - int i = 0; - while (fortune > 0) - { - fortune -= vec[i++]; - } - return --i; - } - - - /** Randomly select element from vector. - - @return Uniformly chosen element from the vector. - */ - template - const TYPE& choice(const std::vector& vec) const - { return vec[random(vec.size())]; } - - - /** Randomly select element from vector. - - @overload - - Provide a version returning a non-const element reference. - - @return Uniformly chosen element from the vector. - - @warning Changing the return value does alter the vector. - */ - template - TYPE& choice(std::vector& vec) - { return vec[random(vec.size())]; } - - /// - void printOn(std::ostream& _os) const - { - for (int i = 0; i < N; ++i) - { - _os << state[i] << ' '; - } - _os << int(next - state) << ' '; - _os << left << ' ' << cached << ' ' << cacheValue; - } - - /// - void readFrom(std::istream& _is) - { - for (int i = 0; i < N; ++i) - { - _is >> state[i]; - } - - int n; - _is >> n; - next = state + n; - - _is >> left; - _is >> cached; - _is >> cacheValue; - } - - std::string className(void) const { return "Mersenne-Twister"; } - -private: - - uint32_t restart(void); - - - /* @brief Initialize state - - We initialize state[0..(N-1)] via the generator - - x_new = (69069 * x_old) mod 2^32 - - from Line 15 of Table 1, p. 106, Sec. 3.3.4 of Knuth's _The Art of Computer - Programming_, Volume 2, 3rd ed. - - Notes (SJC): I do not know what the initial state requirements of the - Mersenne Twister are, but it seems this seeding generator could be better. - It achieves the maximum period for its modulus (2^30) iff x_initial is odd - (p. 20-21, Sec. 3.2.1.2, Knuth); if x_initial can be even, you have - sequences like 0, 0, 0, ...; 2^31, 2^31, 2^31, ...; 2^30, 2^30, 2^30, ...; - 2^29, 2^29 + 2^31, 2^29, 2^29 + 2^31, ..., etc. so I force seed to be odd - below. - - Even if x_initial is odd, if x_initial is 1 mod 4 then - - the lowest bit of x is always 1, - the next-to-lowest bit of x is always 0, - the 2nd-from-lowest bit of x alternates ... 0 1 0 1 0 1 0 1 ... , - the 3rd-from-lowest bit of x 4-cycles ... 0 1 1 0 0 1 1 0 ... , - the 4th-from-lowest bit of x has the 8-cycle ... 0 0 0 1 1 1 1 0 ... , - ... - - and if x_initial is 3 mod 4 then - - the lowest bit of x is always 1, - the next-to-lowest bit of x is always 1, - the 2nd-from-lowest bit of x alternates ... 0 1 0 1 0 1 0 1 ... , - the 3rd-from-lowest bit of x 4-cycles ... 0 0 1 1 0 0 1 1 ... , - the 4th-from-lowest bit of x has the 8-cycle ... 0 0 1 1 1 1 0 0 ... , - ... - - The generator's potency (min. s>=0 with (69069-1)^s = 0 mod 2^32) is 16, - which seems to be alright by p. 25, Sec. 3.2.1.3 of Knuth. It also does well - in the dimension 2..5 spectral tests, but it could be better in dimension 6 - (Line 15, Table 1, p. 106, Sec. 3.3.4, Knuth). - - Note that the random number user does not see the values generated here - directly since restart() will always munge them first, so maybe none of all - of this matters. In fact, the seed values made here could even be - extra-special desirable if the Mersenne Twister theory says so-- that's why - the only change I made is to restrict to odd seeds. - */ - void initialize(uint32_t seed); - - /** @brief Array for the state */ - uint32_t* state; - - uint32_t* next; - - int left; - - // for normal distribution - bool cached; - - float cacheValue; - - const int N; - - const int M; - - /** @brief Magic constant */ - const uint32_t K; - - - /** @brief Copy constructor - - Private copy ctor and assignment operator to make sure that nobody - accidentally copies the random number generator. If you want similar RNG's, - make two RNG's and initialize them with the same seed. - - As it cannot be called, we do not provide an implementation. - */ - eoRng(const eoRng&); - - /** @brief Assignmant operator - - @see Copy constructor eoRng(const eoRng&). - */ - eoRng& operator=(const eoRng&); -}; - - - -namespace eo -{ - /** The one and only global eoRng object */ - extern eoRng rng; -} -using eo::rng; - - - - - -// Implementation of some eoRng members.... Don't mind the mess, it does work. - - -#define hiBit(u) ((u) & 0x80000000U) // mask all but highest bit of u -#define loBit(u) ((u) & 0x00000001U) // mask all but lowest bit of u -#define loBits(u) ((u) & 0x7FFFFFFFU) // mask the highest bit of u -#define mixBits(u, v) (hiBit(u)|loBits(v)) // move hi bit of u to hi bit of v - -inline void eoRng::initialize(uint32_t seed) -{ - left = -1; - - register uint32_t x = (seed | 1U) & 0xFFFFFFFFU, *s = state; - register int j; - - for(left=0, *s++=x, j=N; --j; - *s++ = (x*=69069U) & 0xFFFFFFFFU); -} - - - -inline uint32_t eoRng::restart(void) -{ - register uint32_t *p0=state, *p2=state+2, *pM=state+M, s0, s1; - register int j; - - left=N-1, next=state+1; - - for(s0=state[0], s1=state[1], j=N-M+1; --j; s0=s1, s1=*p2++) - *p0++ = *pM++ ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); - - for(pM=state, j=M; --j; s0=s1, s1=*p2++) - *p0++ = *pM++ ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); - - s1=state[0], *p0 = *pM ^ (mixBits(s0, s1) >> 1) ^ (loBit(s1) ? K : 0U); - s1 ^= (s1 >> 11); - s1 ^= (s1 << 7) & 0x9D2C5680U; - s1 ^= (s1 << 15) & 0xEFC60000U; - return(s1 ^ (s1 >> 18)); -} - - - -inline uint32_t eoRng::rand(void) -{ - - uint32_t y; - - if(--left < 0) - return(restart()); - - y = *next++; - y ^= (y >> 11); - y ^= (y << 7) & 0x9D2C5680U; - y ^= (y << 15) & 0xEFC60000U; - return(y ^ (y >> 18)); -} - - - -inline double eoRng::normal(void) -{ - if (cached) - { - cached = false; - return cacheValue; - } - - float rSquare, factor, var1, var2; - - do - { - var1 = 2.0 * uniform() - 1.0; - var2 = 2.0 * uniform() - 1.0; - - rSquare = var1 * var1 + var2 * var2; - } - while (rSquare >= 1.0 || rSquare == 0.0); - - factor = sqrt(-2.0 * log(rSquare) / rSquare); - - cacheValue = var1 * factor; - cached = true; - - return (var2 * factor); -} - - - -namespace eo { - // a few convenience functions for generating numbers - - /** @brief Random function - - Templatized random function, returns a random double in the range [0, max). - - @param max Maximum for distribution - - It works with most basic types such as: - - char - - int - - unsigned - - float - - double - */ - template - inline T random(const T& max) { - return static_cast(rng.uniform() * max); } - - /** @brief Random function - - Templatized random function, returns a random double in the range [min, max). - - @param min Minimum for distribution - @param max Maximum for distribution - - @see random(const T& max) - */ - template - inline T random(const T& min, const T& max) { - return static_cast(rng.uniform() * (max-min)) + min; } - - /** Normal distribution */ - inline double normal() { return rng.normal(); } -} - - -#endif - - -// Local Variables: -// coding: iso-8859-1 -// mode: C++ -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/utils/eoRealBounds.cpp b/trunk/paradiseo-eo/src/utils/eoRealBounds.cpp deleted file mode 100644 index c090edb01..000000000 --- a/trunk/paradiseo-eo/src/utils/eoRealBounds.cpp +++ /dev/null @@ -1,259 +0,0 @@ -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "eoRealBounds.h" -#include "eoRealVectorBounds.h" - - -// the global dummy bounds -// (used for unbounded variables when bounds are required) -eoRealNoBounds eoDummyRealNoBounds; -eoRealVectorNoBounds eoDummyVectorNoBounds(0); - -///////////// helper read functions - could be somewhere else - -// removes leading delimiters - return false if nothing else left -bool remove_leading(std::string & _s, const std::string _delim) -{ - size_t posDebToken = _s.find_first_not_of(_delim); - if (posDebToken >= _s.size()) - return false; - _s = _s.substr(posDebToken); - return true; -} - -double read_double(std::string _s) -{ - std::istringstream is(_s); - double r; - is >> r; - return r; -} - -long int read_int(std::string _s) -{ - std::istringstream is(_s); - long int i; - is >> i; - return i; -} - -// need to rewrite copy ctor and assignement operator because of ownedBounds -eoRealVectorBounds::eoRealVectorBounds(const eoRealVectorBounds & _b): - eoRealBaseVectorBounds(_b) -{ - factor = _b.factor; - ownedBounds = _b.ownedBounds; - // duplicate all pointers! - if (ownedBounds.size()>0) - for (unsigned i=0; idup(); -} - - -// the readFrom method of eoRealVectorNoBounds: -// only calls the readFrom(string) - for param reading -void eoRealVectorBounds::readFrom(std::istream& _is) -{ - std::string value; - _is >> value; - readFrom(value); - return; -} - -void eoRealVectorBounds::readFrom(std::string _value) -{ - // keep track of old size - to adjust in the end - unsigned oldSize = size(); - // clean-up before filling in - if (ownedBounds.size()>0) - for (unsigned i = 0; i < ownedBounds.size(); ++i) - { - delete ownedBounds[i]; - } - ownedBounds.resize(0); - factor.resize(0); - resize(0); - - // now read - std::string delim(",; "); - while (_value.size()>0) - { - if (!remove_leading(_value, delim)) // only delimiters were left - break; - // look for opening char - size_t posDeb = _value.find_first_of("[("); - if (posDeb >= _value.size()) // nothing left to read (though probably a syntax error there) - { - break; - } - // ending char - std::string closeChar = (_value[posDeb] == '(' ? std::string(")") : std::string("]") ); - - size_t posFin = _value.find_first_of(std::string(closeChar)); - if (posFin >= _value.size()) - throw std::runtime_error("Syntax error when reading bounds"); - - // y a-t-il un nbre devant - unsigned count = 1; - if (posDeb > 0) // something before opening - { - std::string sCount = _value.substr(0, posDeb); - count = read_int(sCount); - if (count <= 0) - throw std::runtime_error("Syntax error when reading bounds"); - } - - // the bounds - std::string sBounds = _value.substr(posDeb+1, posFin-posDeb-1); - // and remove from original string - _value = _value.substr(posFin+1); - - remove_leading(sBounds, delim); - size_t posDelim = sBounds.find_first_of(delim); - if (posDelim >= sBounds.size()) - throw std::runtime_error("Syntax error when reading bounds"); - - bool minBounded=false, maxBounded=false; - double minBound=0, maxBound=0; - - // min bound - std::string sMinBounds = sBounds.substr(0,posDelim); - if (sMinBounds != std::string("-inf")) - { - minBounded = true; - minBound = read_double(sMinBounds); - } - - // max bound - size_t posEndDelim = sBounds.find_first_not_of(delim,posDelim); - - std::string sMaxBounds = sBounds.substr(posEndDelim); - if (sMaxBounds != std::string("+inf")) - { - maxBounded = true; - maxBound = read_double(sMaxBounds); - } - - // now create the eoRealBounds objects - eoRealBounds *ptBounds; - if (minBounded && maxBounded) - ptBounds = new eoRealInterval(minBound, maxBound); - else if (!minBounded && !maxBounded) // no bound at all - ptBounds = new eoRealNoBounds; - else if (!minBounded && maxBounded) - ptBounds = new eoRealAboveBound(maxBound); - else if (minBounded && !maxBounded) - ptBounds = new eoRealBelowBound(minBound); - // store it for memory management - ownedBounds.push_back(ptBounds); - // push the count - factor.push_back(count); - // and add count of it to the actual bounds - for (unsigned i=0; i 1 already!) - factor[factor.size()-1] += missing; - } -} - -/** the constructor for eoGeneralRealBound - from a string - * very similar to the eoRealVectorBounds::readFrom above - * but was written much later so the readFrom does not call this one - * as it should do - */ -eoRealBounds* eoGeneralRealBounds::getBoundsFromString(std::string _value) -{ - // now read - std::string delim(",; "); - std::string beginOrClose("[(])"); - if (!remove_leading(_value, delim)) // only delimiters were left - throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor"); - - // look for opening char - size_t posDeb = _value.find_first_of(beginOrClose); // allow ]a,b] - if (posDeb >= _value.size()) // nothing left to read - throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor"); - - // ending char: next {}() after posDeb - size_t posFin = _value.find_first_of(beginOrClose,posDeb+1); - if (posFin >= _value.size()) // not found - throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor"); - - // the bounds - std::string sBounds = _value.substr(posDeb+1, posFin-posDeb-1); - // and remove from original string - _value = _value.substr(posFin+1); - - remove_leading(sBounds, delim); - size_t posDelim = sBounds.find_first_of(delim); - if (posDelim >= sBounds.size()) - throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor"); - - bool minBounded=false, maxBounded=false; - double minBound=0, maxBound=0; - - // min bound - std::string sMinBounds = sBounds.substr(0,posDelim); - - if ( (sMinBounds != std::string("-inf")) && - (sMinBounds != std::string("-infinity")) - ) - { - minBounded = true; - minBound = read_double(sMinBounds); - } - - // max bound - size_t posEndDelim = sBounds.find_first_not_of(delim,posDelim); - - std::string sMaxBounds = sBounds.substr(posEndDelim); - - if ( (sMaxBounds != std::string("+inf")) && - (sMaxBounds != std::string("+infinity")) - ) - { - maxBounded = true; - maxBound = read_double(sMaxBounds); - } - - // now create the embedded eoRealBounds object - eoRealBounds * locBound; - if (minBounded && maxBounded) - { - if (maxBound <= minBound) - throw std::runtime_error("Syntax error in eoGeneralRealBounds Ctor"); - locBound = new eoRealInterval(minBound, maxBound); - } - else if (!minBounded && !maxBounded) // no bound at all - locBound = new eoRealNoBounds; - else if (!minBounded && maxBounded) - locBound = new eoRealAboveBound(maxBound); - else if (minBounded && !maxBounded) - locBound = new eoRealBelowBound(minBound); - return locBound; -} diff --git a/trunk/paradiseo-eo/src/utils/eoRealBounds.h b/trunk/paradiseo-eo/src/utils/eoRealBounds.h deleted file mode 100644 index 12cb7b46a..000000000 --- a/trunk/paradiseo-eo/src/utils/eoRealBounds.h +++ /dev/null @@ -1,652 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoRealBounds.h -// (c) Marc Schoenauer 2001, Maarten Keijzer 2000, GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoRealBounds_h -#define _eoRealBounds_h - -#include // std::exceptions! -#include - -/** -\defgroup EvolutionStrategies - -*/ - - -/** -\class eoRealBounds eoRealBounds.h es/eoRealBounds.h -\ingroup EvolutionStrategies - - Defines bound classes for real numbers. - -Scalar type: ------------- -Basic class is eoRealBounds, a pure virtual. - -The following pure virtual methods are to be used in mutations: -- void foldsInBounds(double &) that folds any value that falls out of - the bounds back into the bounds, by bouncing on the limit (if any) -- bool isInBounds(double) that simply says whether or not the argument - is in the bounds -- void truncate(double &) that set the argument to the bound value it -it exceeds it - -So mutation can choose -- iterate trying until they fall in bounds, -- only try once and "restd::pair" by using the foldsInBounds method -- only try once and restd::pair using the truncate method (will create a - huge bias toward the bound if the soluiton is not far from the bounds) - -There is also a uniform() method that generates a uniform value -(if possible, i.e. if bounded) in the interval. - -Derived class are -eoRealInterval that holds a minimum and maximum value, -eoRealNoBounds the "unbounded bounds" (-infinity, +infinity) -eoRealBelowBound the half-bounded interval [min, +infinity) -eoRealAboveBound the half-bounded interval (-infinity, max] - -THis file also contains the declaration of *the* global object that -is the unbounded bound -*/ -class eoRealBounds : public eoPersistent -{ -public: - virtual ~eoRealBounds(){} - - /** Self-Test: true if ***both*** a min and a max - */ - virtual bool isBounded(void) const = 0; - - /** Self-Test: true if no min ***and*** no max - * hence no further need to test/truncate/fold anything - */ - virtual bool hasNoBoundAtAll(void) const = 0; - - /** Self-Test: bounded from below??? - */ - virtual bool isMinBounded(void) const = 0; - - /** Self-Test: bounded from above??? - */ - virtual bool isMaxBounded(void) const = 0; - - /** Test on a value: is it in bounds? - */ - virtual bool isInBounds(double) const = 0; - - /** Put value back into bounds - by folding back and forth - */ - virtual void foldsInBounds(double &) const = 0; - - /** Put value back into bounds - by truncating to a boundary value - */ - virtual void truncate(double &) const = 0; - - /** get minimum value - * @std::exception if does not exist - */ - virtual double minimum() const = 0 ; - /** get maximum value - * @std::exception if does not exist - */ - virtual double maximum() const = 0 ; - /** get range - * @std::exception if unbounded - */ - virtual double range() const = 0; - - /** random generator of uniform numbers in bounds - * @std::exception if unbounded - */ - virtual double uniform(eoRng & _rng = eo::rng) const = 0; - - /** for memory managements - ugly */ - virtual eoRealBounds * dup() const = 0; -}; - -/** A default class for unbounded variables - */ -class eoRealNoBounds : public eoRealBounds -{ -public: - virtual ~eoRealNoBounds(){} - - virtual bool isBounded(void) const {return false;} - virtual bool hasNoBoundAtAll(void) const {return true;} - virtual bool isMinBounded(void) const {return false;} - virtual bool isMaxBounded(void) const {return false;} - virtual void foldsInBounds(double &) const {return;} - virtual void truncate(double &) const {return;} - virtual bool isInBounds(double) const {return true;} - - virtual double minimum() const - { - throw std::logic_error("Trying to get minimum of unbounded eoRealBounds"); - } - virtual double maximum() const - { - throw std::logic_error("Trying to get maximum of unbounded eoRealBounds"); - } - virtual double range() const - { - throw std::logic_error("Trying to get range of unbounded eoRealBounds"); - } - - virtual double uniform(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in unbounded eoRealBounds"); - } - - // methods from eoPersistent - /** - * Read object. - * @param _is A std::istream. - * but reading should not be done here, because of bound problems - * see eoRealVectorBounds - */ - virtual void readFrom(std::istream& _is) - { - throw std::runtime_error("Should not use eoRealBounds::readFrom"); - } - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << "[-inf,+inf]"; - } - - /** for memory managements - ugly */ - virtual eoRealBounds * dup() const - { - return new eoRealNoBounds(*this); - } - -}; - -// one object for all - see eoRealBounds.cpp -extern eoRealNoBounds eoDummyRealNoBounds; - -/** - * fully bounded eoRealBound == interval - */ -class eoRealInterval : public eoRealBounds -{ -public : - virtual ~eoRealInterval(){} - - /** - Simple bounds = minimum and maximum (allowed) - */ - eoRealInterval(double _min=0, double _max=1) : - repMinimum(_min), repMaximum(_max), repRange(_max-_min) - { - if (repRange<=0) - throw std::logic_error("Void range in eoRealBounds"); - } - - // accessors - virtual double minimum() const { return repMinimum; } - virtual double maximum() const { return repMaximum; } - virtual double range() const { return repRange; } - - // description - virtual bool isBounded(void) const {return true;} - virtual bool hasNoBoundAtAll(void) const {return false;} - virtual bool isMinBounded(void) const {return true;} - virtual bool isMaxBounded(void) const {return true;} - - virtual double uniform(eoRng & _rng = eo::rng) const - { - return repMinimum + _rng.uniform(repRange); - } - - // says if a given double is within the bounds - virtual bool isInBounds(double _r) const - { - if (_r < repMinimum) - return false; - if (_r > repMaximum) - return false; - return true; - } - - // folds a value into bounds - virtual void foldsInBounds(double & _r) const - { - long iloc; - double dlargloc = 2 * range() ; - - if (fabs(_r) > 1.0E9) // iloc too large! - { - _r = uniform(); - return; - } - - if ( (_r > maximum()) ) - { - iloc = (long) ( (_r-minimum()) / dlargloc ) ; - _r -= dlargloc * iloc ; - if ( _r > maximum() ) - _r = 2*maximum() - _r ; - } - - if (_r < minimum()) - { - iloc = (long) ( (maximum()-_r) / dlargloc ) ; - _r += dlargloc * iloc ; - if (_r < minimum()) - _r = 2*minimum() - _r ; - } - } - - // truncates to the bounds - virtual void truncate(double & _r) const - { - if (_r < repMinimum) - _r = repMinimum; - else if (_r > repMaximum) - _r = repMaximum; - return; - } - - // methods from eoPersistent - /** - * Read object. - * @param _is A std::istream. - * but reading should not be done here, because of bound problems - * see eoRealVectorBounds - */ - virtual void readFrom(std::istream& _is) - { - throw std::runtime_error("Should not use eoRealInterval::readFrom"); - } - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << "[" << repMinimum << "," << repMaximum << "]"; - } - - /** for memory managements - ugly */ - virtual eoRealBounds * dup() const - { - return new eoRealInterval(*this); - } - -private : - double repMinimum; - double repMaximum; - double repRange; // to minimize operations ??? -}; - -/** - * an eoRealBound bounded from below only - */ -class eoRealBelowBound : public eoRealBounds -{ -public : - virtual ~eoRealBelowBound(){} - /** - Simple bounds = minimum - */ - eoRealBelowBound(double _min=0) : - repMinimum(_min) - {} - - // accessors - virtual double minimum() const { return repMinimum; } - - virtual double maximum() const - { - throw std::logic_error("Trying to get maximum of eoRealBelowBound"); - } - virtual double range() const - { - throw std::logic_error("Trying to get range of eoRealBelowBound"); - } - - // random generators - virtual double uniform(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in eoRealBelowBound"); - } - - // description - virtual bool isBounded(void) const {return false;} - virtual bool hasNoBoundAtAll(void) const {return false;} - virtual bool isMinBounded(void) const {return true;} - virtual bool isMaxBounded(void) const {return false;} - - // says if a given double is within the bounds - virtual bool isInBounds(double _r) const - { - if (_r < repMinimum) - return false; - return true; - } - - // folds a value into bounds - virtual void foldsInBounds(double & _r) const - { - // easy as a pie: symmetry w.r.t. minimum - if (_r < repMinimum) // nothing to do otherwise - _r = 2*repMinimum - _r; - return ; - } - - // truncates to the bounds - virtual void truncate(double & _r) const - { - if (_r < repMinimum) - _r = repMinimum; - return; - } - - // methods from eoPersistent - /** - * Read object. - * @param _is A std::istream. - * but reading should not be done here, because of bound problems - * see eoRealVectorBounds - */ - virtual void readFrom(std::istream& _is) - { - throw std::runtime_error("Should not use eoRealBelowBound::readFrom"); - } - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << "[" << repMinimum << ",+inf]"; - } - - /** for memory managements - ugly */ - virtual eoRealBounds * dup() const - { - return new eoRealBelowBound(*this); - } - -private : - double repMinimum; -}; - -/** -An eoRealBound bounded from above only -*/ -class eoRealAboveBound : public eoRealBounds -{ -public : - virtual ~eoRealAboveBound(){} - - /** - Simple bounds = minimum - */ - eoRealAboveBound(double _max=0) : - repMaximum(_max) - {} - - // accessors - virtual double maximum() const { return repMaximum; } - - virtual double minimum() const - { - throw std::logic_error("Trying to get minimum of eoRealAboveBound"); - } - virtual double range() const - { - throw std::logic_error("Trying to get range of eoRealAboveBound"); - } - - // random generators - virtual double uniform(eoRng & _rng = eo::rng) const - { - throw std::logic_error("Trying to generate uniform values in eoRealAboveBound"); - } - - // description - virtual bool isBounded(void) const {return false;} - virtual bool hasNoBoundAtAll(void) const {return false;} - virtual bool isMinBounded(void) const {return false;} - virtual bool isMaxBounded(void) const {return true;} - - // says if a given double is within the bounds - virtual bool isInBounds(double _r) const - { - if (_r > repMaximum) - return false; - return true; - } - - // folds a value into bounds - virtual void foldsInBounds(double & _r) const - { - // easy as a pie: symmetry w.r.t. maximum - if (_r > repMaximum) // nothing to do otherwise - _r = 2*repMaximum - _r; - return ; - } - - // truncates to the bounds - virtual void truncate(double & _r) const - { - if (_r > repMaximum) - _r = repMaximum; - return; - } - - // methods from eoPersistent - /** - * Read object. - * @param _is A std::istream. - * but reading should not be done here, because of bound problems - * see eoRealVectorBounds - */ - virtual void readFrom(std::istream& _is) - { - throw std::runtime_error("Should not use eoRealAboveBound::readFrom"); - } - - /** - * Write object. It's called printOn since it prints the object on a stream. - * @param _os A std::ostream. - */ - virtual void printOn(std::ostream& _os) const - { - _os << "[-inf," << repMaximum << "]"; - } - - /** for memory managements - ugly */ - virtual eoRealBounds * dup() const - { - return new eoRealAboveBound(*this); - } - -private : - double repMaximum; -}; - -//////////////////////// tentative for a general BOUND class that is constructed from a string - -/** A class that encapsulate all possible eoIntBounds. - * Mandatory in order to read through the parser - */ -class eoGeneralRealBounds : public eoRealBounds -{ -public: - /** Ctor: from a string, chooses the type of bound */ - eoGeneralRealBounds(std::string _s = "[-infinity,+infinity]") - { - repBound = getBoundsFromString(_s); - } - - /** Need a Cpy Ctor because we are allocating memory */ - eoGeneralRealBounds(const eoGeneralRealBounds & _b):eoRealBounds(_b) - { - // replicate the embedded bound (I'm pretty sure there is another - // way to do that !!! - - bool minBounded = _b.isMinBounded(); - bool maxBounded = _b.isMaxBounded(); - double minimum, maximum; - const eoRealBounds & bb = _b.theBounds(); - if (minBounded) minimum = bb.minimum(); - if (maxBounded) maximum = bb.maximum(); - - if (minBounded && maxBounded) - repBound = new eoRealInterval(minimum, maximum); - else if (!minBounded && !maxBounded) // no bound at all - repBound = new eoRealNoBounds; - else if (!minBounded && maxBounded) - repBound = new eoRealAboveBound(maximum); - else if (minBounded && !maxBounded) - repBound = new eoRealBelowBound(minimum); - } - - eoGeneralRealBounds& operator=(const eoGeneralRealBounds& _b) - { - // replicate the embedded bound (I'm pretty sure there is another - // way to do that !!! - - bool minBounded = _b.isMinBounded(); - bool maxBounded = _b.isMaxBounded(); - double minimum, maximum; - const eoRealBounds & bb = _b.theBounds(); - if (minBounded) minimum = bb.minimum(); - if (maxBounded) maximum = bb.maximum(); - - // first delete the embedded bounds if necessary - if (repBound) - delete repBound; - // now reallocate - if (minBounded && maxBounded) - repBound = new eoRealInterval(minimum, maximum); - else if (!minBounded && !maxBounded) // no bound at all - repBound = new eoRealNoBounds; - else if (!minBounded && maxBounded) - repBound = new eoRealAboveBound(maximum); - else if (minBounded && !maxBounded) - repBound = new eoRealBelowBound(minimum); - return (*this); - } - - - /** Need a Dtor because we allocate an actual bound */ - ~eoGeneralRealBounds() - { - delete repBound; - } - - ///// and now all methods from the embedded bounds - /** Self-Test: true if ***both*** a min and a max - */ - virtual bool isBounded(void) const {return repBound->isBounded();} - - /** Self-Test: true if no min ***and*** no max - * hence no further need to test/truncate/fold anything - */ - virtual bool hasNoBoundAtAll(void) const {return repBound->hasNoBoundAtAll();} - - /** Self-Test: bounded from below??? - */ - virtual bool isMinBounded(void) const {return repBound->isMinBounded();} - - /** Self-Test: bounded from above??? - */ - virtual bool isMaxBounded(void) const {return repBound->isMaxBounded();} - - /** Test on a value: is it in bounds? - */ - virtual bool isInBounds(double _x) const {return repBound->isInBounds(_x);} - - /** Put value back into bounds - by folding back and forth - */ - virtual void foldsInBounds(double & _x) const {return repBound->foldsInBounds(_x);} - - /** Put value back into bounds - by truncating to a boundary value - */ - virtual void truncate(double & _x) const {return repBound->truncate(_x);} - - /** get minimum value - * @std::exception if does not exist - */ - virtual double minimum() const {return repBound->minimum();} - /** get maximum value - * @std::exception if does not exist - */ - virtual double maximum() const {return repBound->maximum();} - /** get range - * @std::exception if unbounded - */ - virtual double range() const {return repBound->range();} - - /** random generator of uniform numbers in bounds - * @std::exception if unbounded - */ - virtual double uniform(eoRng & _rng = eo::rng) const {return repBound->uniform();} - - /** for memory managements - ugly */ - virtual eoRealBounds * dup() const {return repBound->dup();} - - /** for efficiency, it's better to use the embedded boud directly */ - const eoRealBounds & theBounds() const { return *repBound;} - - /** don't forget the printOn method - - * again that of the embedded bound - */ - virtual void printOn(std::ostream& _os) const - { - repBound->printOn(_os); - } - - /** no readFrom ??? Have to check that later */ - virtual void readFrom(std::istream& _is) - { - std::string s; - _is >> s; - if (repBound) - delete repBound; - repBound = getBoundsFromString(s); - } - -private: - // reading from a string - eoRealBounds * getBoundsFromString(std::string); - - eoRealBounds * repBound; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoRealVectorBounds.h b/trunk/paradiseo-eo/src/utils/eoRealVectorBounds.h deleted file mode 100644 index 11144b390..000000000 --- a/trunk/paradiseo-eo/src/utils/eoRealVectorBounds.h +++ /dev/null @@ -1,421 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoRealVectorBounds.h -// (c) Marc Schoenauer 2001, Maarten Keijzer 2000, GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mak@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoRealVectorBounds_h -#define _eoRealVectorBounds_h - -#include // std::exceptions! -#include -#include - -/** -\defgroup EvolutionStrategies - -*/ - - -/** -Vector type for bounds (see eoRealBounds.h for scalar types) ------------- -Class eoRealVectorBounds implements the std::vectorized version: -it is basically a std::vector of eoRealBounds * and forwards all request -to the elements of the std::vector. - -This file also contains the global variables and eoDummyVectorNoBounds -that are used as defaults in ctors (i.e. when no -bounds are given, it is assumed unbounded values) - -THe 2 main classes defined here are - -eoRealBaseVectorBounds, base class that handles all useful functions -eoRealVectorBounds which derives from the preceding *and* eoPersistent - and also has a mechanism for memory handling of the pointers - it has to allocate -*/ -class eoRealBaseVectorBounds : public std::vector -{ -public: - // virtual desctructor (to avoid warning?) - virtual ~eoRealBaseVectorBounds(){} - - /** Default Ctor. - */ - eoRealBaseVectorBounds() : std::vector(0) {} - - /** Ctor: same bounds for everybody, given as an eoRealBounds - */ - eoRealBaseVectorBounds(unsigned _dim, eoRealBounds & _bounds) : - std::vector(_dim, &_bounds) - {} - - /** Ctor, particular case of dim-2 - */ - eoRealBaseVectorBounds(eoRealBounds & _xbounds, eoRealBounds & _ybounds) : - std::vector(0) - { - push_back( &_xbounds); - push_back( &_ybounds); - } - - /** test: is i_th component bounded - */ - virtual bool isBounded(unsigned _i) - { - return (*this)[_i]->isBounded(); - } - - /** test: bounded iff all are bounded - */ - virtual bool isBounded(void) - { - for (unsigned i=0; iisBounded()) - return false; - return true; - } - - /** Self-test: true iff i_th component has no bounds at all - */ - virtual bool hasNoBoundAtAll(unsigned _i) - { - return (*this)[_i]->hasNoBoundAtAll(); - } - - /** Self-test: true iff all components have no bound at all - */ - virtual bool hasNoBoundAtAll(void) - { - for (unsigned i=0; ihasNoBoundAtAll()) - return false; - return true; - } - - virtual bool isMinBounded(unsigned _i) - { return (*this)[_i]->isMinBounded();} ; - - virtual bool isMaxBounded(unsigned _i) - { return (*this)[_i]->isMaxBounded();} ; - - /** Folds a real value back into the bounds - i_th component - */ - virtual void foldsInBounds(unsigned _i, double & _r) - { - (*this)[_i]->foldsInBounds(_r); - } - - /** Folds all variables of a std::vector of real values into the bounds - */ - virtual void foldsInBounds(std::vector & _v) - { - for (unsigned i=0; ifoldsInBounds(_v[i]); - } - } - - /** Truncates a real value to the bounds - i_th component - */ - virtual void truncate(unsigned _i, double & _r) - { - (*this)[_i]->truncate(_r); - } - - /** truncates all variables of a std::vector of real values to the bounds - */ - virtual void truncate(std::vector & _v) - { - for (unsigned i=0; itruncate(_v[i]); - } - } - - /** test: is i_th component within the bounds? - */ - virtual bool isInBounds(unsigned _i, double _r) - { return (*this)[_i]->isInBounds(_r); } - - /** test: are ALL components within the bounds? - */ - virtual bool isInBounds(std::vector _v) - { - for (unsigned i=0; iminimum();} - virtual double maximum(unsigned _i) {return (*this)[_i]->maximum();} - virtual double range(unsigned _i) {return (*this)[_i]->range();} - - /** Computes the average range - * An std::exception will be raised if one of the component is unbounded - */ - virtual double averageRange() - { - double r=0.0; - for (unsigned i=0; iuniform(); - return r; - } - - /** fills a std::vector with uniformly chosen variables in bounds - * An std::exception will be raised if one of the component is unbounded - */ - void uniform(std::vector & _v, eoRng & _rng = eo::rng) - { - _v.resize(size()); - for (unsigned i=0; iprintOn(_os); - _os << ";"; - } - } -}; - -//////////////////////////////////////////////////////////////////// -/** Now a derived class, for parser reading - * It holds some of the bounds (and destroy them when dying) - */ -class eoRealVectorBounds : public eoRealBaseVectorBounds, public eoPersistent -{ -public: - /** Default Ctor will call base class default ctor - */ - eoRealVectorBounds():eoRealBaseVectorBounds() {} - - /** Ctor: same bounds for everybody, given as an eoRealBounds - */ - eoRealVectorBounds(unsigned _dim, eoRealBounds & _bounds) : - eoRealBaseVectorBounds(_dim, _bounds), factor(1,_dim), ownedBounds(0) - {} - - /** Ctor, particular case of dim-2 - */ - eoRealVectorBounds(eoRealBounds & _xbounds, eoRealBounds & _ybounds) : - eoRealBaseVectorBounds(_xbounds, _ybounds), factor(2,1), ownedBounds(0) - {} - - /** Simple bounds = minimum and maximum (allowed) - */ - eoRealVectorBounds(unsigned _dim, double _min, double _max) : - eoRealBaseVectorBounds(), factor(1, _dim), ownedBounds(0) - { - if (_max-_min<=0) - throw std::logic_error("Void range in eoRealVectorBounds"); - eoRealBounds *ptBounds = new eoRealInterval(_min, _max); - // handle memory once - ownedBounds.push_back(ptBounds); - // same bound for everyone - for (unsigned int i=0; i<_dim; i++) - push_back(ptBounds); - } - - /** Ctor: different bounds for different variables, std::vectors of double - */ - eoRealVectorBounds(std::vector _min, std::vector _max) : - factor(_min.size(), 1), ownedBounds(0) - { - if (_max.size() != _min.size()) - throw std::logic_error("Dimensions don't match in eoRealVectorBounds"); - // the bounds - eoRealBounds *ptBounds; - for (unsigned i=0; i<_min.size(); i++) - { - ptBounds = new eoRealInterval(_min[i], _max[i]); - ownedBounds.push_back(ptBounds); - push_back(ptBounds); - } - } - - /** Ctor from a std::string - * and don't worry, the readFrom(std::string) starts by setting everything to 0! - */ - eoRealVectorBounds(std::string _s) : eoRealBaseVectorBounds() - { - readFrom(_s); - } - - /** Dtor: destroy all ownedBounds - BUG ???*/ - virtual ~eoRealVectorBounds() - { -// std::cout << "Dtor, avec size = " << ownedBounds.size() << std::endl; -// for (unsigned i = 0; i < ownedBounds.size(); ++i) -// { -// delete ownedBounds[i]; -// } -} - - - // methods from eoPersistent - /** - * Read object from a stream - * only calls the readFrom(std::string) - for param reading - * @param _is A std::istream. - */ - virtual void readFrom(std::istream& _is) ; - - /** - * Read object from a std::string - * @param _is A std::istream. - */ - virtual void readFrom(std::string _s) ; - - /** overload printOn method to save space */ - virtual void printOn(std::ostream& _os) const - { - if (factor[0]>1) - _os << factor[0] ; - operator[](0)->printOn(_os); - - // other bounds - unsigned int index=factor[0]; - if (factor.size()>1) - for (unsigned i=1; i 1) - _os << factor[i]; - operator[](index)->printOn(_os); - index += factor[i]; - } - } - - /** Eventually increases the size by duplicating last bound */ - void adjust_size(unsigned _dim); - - /** need to rewrite copy ctor and assignement operator - * because of ownedBounds */ - eoRealVectorBounds(const eoRealVectorBounds &); - -private:// WARNING: there is no reason for both std::vector below - //to be synchronized in any manner - std::vector factor; // std::list of nb of "grouped" bounds - std::vector ownedBounds; -// keep this one private - eoRealVectorBounds& operator=(const eoRealVectorBounds&); - }; - -////////////////////////////////////////////////////////////// -/** the dummy unbounded eoRealVectorBounds: usefull if you don't need bounds! - * everything is inlined. - * Warning: we do need this class, and not only a std::vector - */ -class eoRealVectorNoBounds: public eoRealVectorBounds -{ -public: - // virtual desctructor (to avoid warning?) - virtual ~eoRealVectorNoBounds(){} - - /** - * Ctor: nothing to do, but beware of dimension: call base class ctor - */ - eoRealVectorNoBounds(unsigned _dim) : - eoRealVectorBounds( (_dim?_dim:1), eoDummyRealNoBounds) - {} - - - virtual bool isBounded(unsigned) {return false;} - virtual bool isBounded(void) {return false;} - - virtual bool hasNoBoundAtAll(unsigned) {return true;} - virtual bool hasNoBoundAtAll(void) {return true;} - - virtual bool isMinBounded(unsigned) {return false;} - virtual bool isMaxBounded(unsigned) {return false;} - - virtual void foldsInBounds(unsigned, double &) {return;} - virtual void foldsInBounds(std::vector &) {return;} - - virtual void truncate(unsigned, double &) {return;} - virtual void truncate(std::vector &) {return;} - - virtual bool isInBounds(unsigned, double) {return true;} - virtual bool isInBounds(std::vector) {return true;} - - // accessors - virtual double minimum(unsigned) - { - throw std::logic_error("Trying to get minimum of eoRealVectorNoBounds"); - } - virtual double maximum(unsigned) - { - throw std::logic_error("Trying to get maximum of eoRealVectorNoBounds"); - } - virtual double range(unsigned) - { - throw std::logic_error("Trying to get range of eoRealVectorNoBounds"); - } - - virtual double averageRange() - { - throw std::logic_error("Trying to get average range of eoRealVectorNoBounds"); - } - - // random generators - virtual double uniform(unsigned, eoRng & _rng = eo::rng) - { - throw std::logic_error("No uniform distribution on eoRealVectorNoBounds"); - } - - // fills a std::vector with uniformly chosen variables in bounds - void uniform(std::vector &, eoRng & _rng = eo::rng) - { - throw std::logic_error("No uniform distribution on eoRealVectorNoBounds"); - } - -}; - - - -// one object for all - see eoRealBounds.cpp -extern eoRealVectorNoBounds eoDummyVectorNoBounds; -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoRndGenerators.h b/trunk/paradiseo-eo/src/utils/eoRndGenerators.h deleted file mode 100644 index e851bb027..000000000 --- a/trunk/paradiseo-eo/src/utils/eoRndGenerators.h +++ /dev/null @@ -1,149 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoRndGenerators.h - - mimics the rnd_generator.h by putting the generators in the EO-hierarchy - - (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -//----------------------------------------------------------------------------- - -#ifndef eoRndGenerators_h -#define eoRndGenerators_h - -#include "eoRNG.h" -#include -#include - -using eo::rng; - -/** - By popular demand re-introducing a base class for a family of - random number generators. Derived members of this class are useful - to initialize fixed/variable length genotypes that have an 'atomic' type - in an indepent way (thus without employing any knowledge about the problem domain). - - See derived classes eoUniformGenerator, eoBooleanGenerator, eoNormalGenerator and eoNegExpGenerator -*/ -template -class eoRndGenerator : public eoF -{ - typedef T AtomType; -}; - -/** - The class eoUniform can be used in the STL generate function - to easily generate random floats and doubles. It can also - be used for ints and unsigneds by virtue of the static_cast - in the generator function. - - Also present is a specialization for boolean, that will - ignore the minima and maxima that are possibly set and will - return an unbiased flip of a coin. For a biased flip, use the eoBoolean - - either in [0, _max) if only 1 value (_max) is given - (or none, as _max defaults to 1.0) - or in [_min,_max) if 2 values are given (_min, _max) -*/ -template class eoUniformGenerator : public eoRndGenerator -{ - // added new ctor with 2 params, and modified the data to minim and range - // (was maxim only). MS 3/11/2000 - public : - eoUniformGenerator(T _max = T(1.0), eoRng& _rng = rng) : - minim(T(0.0)), range(_max), uniform(_rng) {} - eoUniformGenerator(T _min, T _max, eoRng& _rng = rng) : - minim(_min), range(_max-_min), uniform(_rng) - { - if (_min>_max) - throw std::logic_error("Min is greater than Max in uniform_generator"); - } - - /** - Generates the number, uses a static_cast to get the right behaviour - for ints and unsigneds - */ - T operator()(void) { return minim+static_cast(uniform.uniform(range)); } - -private : - T minim; - T range; - eoRng& uniform; -}; - - -/// Specialization for bool, does an unbiased coin flip -template <> -inline bool eoUniformGenerator::operator()(void) -{ - return uniform.flip(0.5); -} - -/** - The class eoBooleanGenerator can be used in the STL generate function - to easily generate random booleans with a specified bias -*/ -class eoBooleanGenerator : public eoRndGenerator -{ - public : - eoBooleanGenerator(float _bias = 0.5, eoRng& _rng = rng) : bias(_bias), gen(_rng) {} - - bool operator()(void) { return gen.flip(bias); } - private : - float bias; - eoRng& gen; -}; - -/** - The class normal_generator can be used in the STL generate function - to easily generate gaussian distributed floats and doubles. The user - can supply a standard deviation which defaults to 1. -*/ -template class eoNormalGenerator : public eoRndGenerator -{ - public : - eoNormalGenerator(T _stdev = T(1.0), eoRng& _rng = rng) : stdev(_stdev), normal(_rng) {} - - T operator()(void) { return (T) normal.normal(stdev); } - - private : - T stdev; - eoRng& normal; -}; - -/** - The class negexp_generator can be used in the STL generate function - to easily generate negative exponential distributed floats and doubles. The user - can supply a mean. -*/ -template class eoNegExpGenerator : public eoRndGenerator -{ - public : - eoNegExpGenerator(T _mean = 1.0, eoRng& _rng = rng) : mean(_mean), negexp(_rng) {} - - T operator()(void) { return (T) negexp.negexp(mean); } - - private : - T mean; - eoRng& negexp; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoScalarFitnessStat.h b/trunk/paradiseo-eo/src/utils/eoScalarFitnessStat.h deleted file mode 100644 index b7c820d33..000000000 --- a/trunk/paradiseo-eo/src/utils/eoScalarFitnessStat.h +++ /dev/null @@ -1,63 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoScalarFitnessStat.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoScalarFitnessStat_h -#define _eoScalarFitnessStat_h - -#include -#include - -/** - The fitnesses of a whole population, as a std::vector -*/ -template -class eoScalarFitnessStat : public eoSortedStat > -{ -public: - - using eoSortedStat >::value; - - eoScalarFitnessStat(std::string _description = "FitnessES", - eoRealVectorBounds & _bounds = eoDummyVectorNoBounds) - : eoSortedStat >(std::vector(0), _description), - range(*_bounds[0]) - {} - - virtual void operator()(const std::vector& _popPters) - { - value().resize(_popPters.size()); - for (unsigned i=0; i<_popPters.size(); i++) - { - value()[i] = _popPters[i]->fitness(); - range.truncate(value()[i]); - } - } - -private : - eoRealBounds & range; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoStat.h b/trunk/paradiseo-eo/src/utils/eoStat.h deleted file mode 100644 index 87706386d..000000000 --- a/trunk/paradiseo-eo/src/utils/eoStat.h +++ /dev/null @@ -1,443 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoStat.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoStat_h -#define _eoStat_h - -#include // accumulate - -#include -#include -#include -#include - -/** - Base class for all statistics that need to be calculated - over the (unsorted) population - (I guess it is not really necessary? MS. - Depstd::ends, there might be reasons to have a stat that is not an eoValueParam, - but maybe I'm just kidding myself, MK) -*/ -template -class eoStatBase : public eoUF&, void> -{ -public: - virtual void lastCall(const eoPop&) {} - virtual std::string className(void) const { return "eoStatBase"; } -}; - -/** - The actual class that will be used as base for all statistics - that need to be calculated over the (unsorted) population - It is an eoStatBase AND an eoValueParam so it can be used in Monitors. -*/ -template -class eoStat : public eoValueParam, public eoStatBase -{ -public: - - eoStat(T _value, std::string _description) - : eoValueParam(_value, _description) - {} - - virtual std::string className(void) const - { return "eoStat"; } -}; - - - -/** - Base class for statistics calculated over a sorted snapshot of the population -*/ -template -class eoSortedStatBase : public eoUF&, void> -{ -public: - virtual void lastCall(const std::vector&) {} - virtual std::string className(void) const { return "eoSortedStatBase"; } -}; - -/** - The actual class that will be used as base for all statistics - that need to be calculated over the sorted population - It's an eoSortedStatBase AND an eoValueParam so it can be used in Monitors. -*/ -template -class eoSortedStat : public eoSortedStatBase, public eoValueParam -{ -public : - eoSortedStat(ParamType _value, std::string _desc) : eoValueParam(_value, _desc) {} - virtual std::string className(void) const { return "eoSortedStat"; } -}; - -/** - Average fitness of a population. Fitness can be: - - double - - eoMinimizingFitness or eoMaximizingFitness - - eoParetoFitness: - The average of each objective is evaluated. - - ( For eoScalarFitnessAssembled user eoAssembledFitnessStat classes.) -*/ -#ifdef _MSC_VER -template class eoAverageStat : public eoStat -#else -template class eoAverageStat : public eoStat -#endif -{ -public : - - using eoStat::value; - - typedef typename EOT::Fitness Fitness; - - eoAverageStat(std::string _description = "Average Fitness") - : eoStat(Fitness(), _description) {} - - static Fitness sumFitness(double _sum, const EOT& _eot){ - _sum += _eot.fitness(); - return _sum; - } - - eoAverageStat(double _value, std::string _desc) : eoStat(_value, _desc) {} - - virtual void operator()(const eoPop& _pop){ - doit(_pop, Fitness()); // specializations for scalar and std::vector - } - - virtual std::string className(void) const { return "eoAverageStat"; } - -private : - - // Specialization for pareto fitness - template - void doit(const eoPop& _pop, eoParetoFitness) - { - value().clear(); - value().resize(_pop[0].fitness().size(), 0.0); - - for (unsigned o = 0; o < value().size(); ++o) - { - for (unsigned i = 0; i < _pop.size(); ++i) - { - value()[o] += _pop[i].fitness()[o]; - } - - value()[o] /= _pop.size(); - } - } - - // Default behavior - template - void doit(const eoPop& _pop, T) - { - Fitness v = std::accumulate(_pop.begin(), _pop.end(), Fitness(0.0), eoAverageStat::sumFitness); - - value() = v / _pop.size(); - } - -}; - -/** - Average fitness + Std. dev. of a population, fitness needs to be scalar. -*/ -template -class eoSecondMomentStats : public eoStat > -{ -public : - - using eoStat >::value; - - typedef typename EOT::Fitness fitness_type; - - typedef std::pair SquarePair; - - eoSecondMomentStats(std::string _description = "Average & Stdev") - : eoStat(std::make_pair(0.0,0.0), _description) - {} - - static SquarePair sumOfSquares(SquarePair _sq, const EOT& _eo) - { - double fitness = _eo.fitness(); - - _sq.first += fitness; - _sq.second += fitness * fitness; - return _sq; - } - - virtual void operator()(const eoPop& _pop) - { - SquarePair result = std::accumulate(_pop.begin(), _pop.end(), std::make_pair(0.0, 0.0), eoSecondMomentStats::sumOfSquares); - - double n = _pop.size(); - value().first = result.first / n; // average - value().second = sqrt( (result.second - n * value().first * value().first) / (n - 1.0)); // stdev - } - - virtual std::string className(void) const { return "eoSecondMomentStats"; } -}; - -/** - The n_th element fitness in the population (see eoBestFitnessStat) -*/ -#ifdef _MSC_VER -template -class eoNthElementFitnessStat : public eoSortedStat -#else -template -class eoNthElementFitnessStat : public eoSortedStat -#endif -{ -public : - using eoSortedStat::value; - - typedef typename EOT::Fitness Fitness; - - eoNthElementFitnessStat(unsigned _whichElement, std::string _description = "nth element fitness") - : eoSortedStat(Fitness(), _description), whichElement(_whichElement) {} - - virtual void operator()(const std::vector& _pop) - { - if (whichElement > _pop.size()) - throw std::logic_error("fitness requested of element outside of pop"); - - doit(_pop, Fitness()); - } - - virtual std::string className(void) const { return "eoNthElementFitnessStat"; } -private : - - struct CmpFitness - { - CmpFitness(unsigned _whichElement, bool _maxim) : whichElement(_whichElement), maxim(_maxim) {} - - bool operator()(const EOT* a, const EOT* b) - { - if (maxim) - return a->fitness()[whichElement] > b->fitness()[whichElement]; - - return a->fitness()[whichElement] < b->fitness()[whichElement]; - } - - unsigned whichElement; - bool maxim; - }; - - // Specialization for eoParetoFitness - template - void doit(const eoPop& _pop, eoParetoFitness) - { - typedef typename EOT::Fitness::fitness_traits traits; - - value().resize(traits::nObjectives()); - - // copy of pointers, what the heck - std::vector tmp_pop = _pop; - - for (unsigned o = 0; o < value().size(); ++o) - { - typename std::vector::iterator nth = tmp_pop.begin() + whichElement; - std::nth_element(tmp_pop.begin(), nth, tmp_pop.end(), CmpFitness(o, traits::maximizing(o))); - value()[o] = (*nth)->fitness()[o]; - } - } - - // for everything else - template - void doit(const std::vector& _pop, T) - { - value() = _pop[whichElement]->fitness(); - } - - unsigned whichElement; -}; - -/* Actually, you shouldn't need to sort the population to get the best fitness - MS - 17/11/00 - - But then again, if another stat needs sorted fitness anyway, getting the best - out would be very fast. - MK - 09/01/03 - -template -class eoBestFitnessStat : public eoStat -{ -public : - typedef typename EOT::Fitness Fitness; - - eoBestFitnessStat(std::string _description = "Best Fitness") : - eoStat(Fitness(), _description) {} - - virtual void operator()(const eoPop& _pop) - { - value() = _pop.nth_element_fitness(0); - } - -}; -*/ - -/** - Best fitness of a population. Fitness can be: - - double - - eoMinimizingFitness or eoMaximizingFitness - - eoParetoFitness: - - ( For eoScalarFitnessAssembled look at eoAssembledFitnessStat ) -*/ - -#ifdef _MSC_VER -template -class eoBestFitnessStat : public eoStat -#else -template -class eoBestFitnessStat : public eoStat -#endif -{ -public: - - using eoStat::value; - - typedef typename EOT::Fitness Fitness; - - eoBestFitnessStat(std::string _description = "Best ") - : eoStat(Fitness(), _description) - {} - - void operator()(const eoPop& _pop) { - doit(_pop, Fitness() ); // specializations for scalar and std::vector - } - - virtual std::string className(void) const { return "eoBestFitnessStat"; } - - -private : - - struct CmpFitness - { - CmpFitness(unsigned _which, bool _maxim) : which(_which), maxim(_maxim) {} - - bool operator()(const EOT& a, const EOT& b) - { - if (maxim) - return a.fitness()[which] < b.fitness()[which]; - - return a.fitness()[which] > b.fitness()[which]; - } - - unsigned which; - bool maxim; - }; - - // Specialization for pareto fitness - template - void doit(const eoPop& _pop, eoParetoFitness) - { - typedef typename EOT::Fitness::fitness_traits traits; - value().resize(traits::nObjectives()); - - for (unsigned o = 0; o < traits::nObjectives(); ++o) - { - typename eoPop::const_iterator it = std::max_element(_pop.begin(), _pop.end(), CmpFitness(o, traits::maximizing(o))); - value()[o] = it->fitness()[o]; - } - } - - // default - template - void doit(const eoPop& _pop, T) - { // find the largest elements - value() = _pop.best_element().fitness(); - } - -}; - -template -class eoDistanceStat : public eoStat -{ -public: - - using eoDistanceStat< EOT >::value; - - eoDistanceStat(std::string _name = "distance") - : eoStat(0.0, _name) - {} - - template - double distance(T a, T b) - { - T res = a-b; - return res < 0? -res : res; - } - - double distance(bool a, bool b) - { - return (a==b)? 0 : 1; - } - - void operator()(const eoPop& _pop) - { - double& v = value(); - v = 0.0; - - for (unsigned i = 0; i < _pop.size(); ++i) - { - for (unsigned j = 0; j < _pop.size(); ++j) - { - for (unsigned k = 0; k < _pop[i].size(); ++k) - { - v += distance(_pop[i][k], _pop[j][k]); - } - } - } - - double sz = _pop.size(); - v /= sz * sz * _pop[0].size(); - } - virtual std::string className(void) const { return "eoDistanceStat"; } - -}; - - - -/* -template -class eoStdevStat : public eoStat -{ -public : - typedef typename eoSecondMomentStats::SquarePair SquarePair; - - eoStdevStat(std::string _description = "Stdev") : eoStat(0.0, _description) {} - - virtual void operator()(const eoPop& _pop) - { - SquarePair result = std::accumulate(pop.begin(), pop.end(), std::make_pair(0.0, 0.0), eoSecondMomentStats::sumOfSquares); - - double n = pop.size(); - value() = sqrt( (result.second - (result.first / n)) / (n - 1.0)); // stdev - } -}; -*/ -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoState.cpp b/trunk/paradiseo-eo/src/utils/eoState.cpp deleted file mode 100644 index c5997fe19..000000000 --- a/trunk/paradiseo-eo/src/utils/eoState.cpp +++ /dev/null @@ -1,195 +0,0 @@ -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "eoState.h" -#include "eoObject.h" -#include "eoPersistent.h" - -using namespace std; - - - -void removeComment(string& str, string comment) -{ - string::size_type pos = str.find(comment); - - if (pos != string::npos) - { - str.erase(pos, str.size()); - } -} - -bool is_section(const string& str, string& name) -{ - string::size_type pos = str.find("\\section{"); - - if (pos == string::npos) - return false; - //else - - string::size_type end = str.find("}"); - - if (end == string::npos) - return false; - // else - - name = str.substr(pos + 9, end-9); - - return true; -} - -eoState::~eoState(void) -{ - for (unsigned i = 0; i < ownedObjects.size(); ++i) - { - delete ownedObjects[i]; - } -} - -void eoState::registerObject(eoPersistent& registrant) -{ - string name = createObjectName(dynamic_cast(®istrant)); - - pair res = objectMap.insert(make_pair(name, ®istrant)); - - if (res.second == true) - { - creationOrder.push_back(res.first); - } - else - { - throw logic_error("Interval error: object already present in the state"); - } -} - -void eoState::load(const string& _filename) -{ - ifstream is (_filename.c_str()); - - if (!is) - { - string str = "Could not open file " + _filename; - throw runtime_error(str); - } - - load(is); -} - -void eoState::load(std::istream& is) -{ - string str; - string name; - - getline(is, str); - - if (is.fail()) - { - string str = "Error while reading stream"; - throw runtime_error(str); - } - - while(! is.eof()) - { // parse section header - if (is_section(str, name)) - { - string fullString; - ObjectMap::iterator it = objectMap.find(name); - - if (it == objectMap.end()) - { // ignore - while (getline(is, str)) - { - if (is_section(str, name)) - break; - } - } - else - { - - eoPersistent* object = it->second; - - // now we have the object, get lines, remove comments etc. - - string fullstring; - - while (getline(is, str)) - { - if (is.eof()) - throw runtime_error("No section in load file"); - if (is_section(str, name)) - break; - - removeComment(str, getCommentString()); - fullstring += str + "\n"; - } - istringstream the_stream(fullstring); - object->readFrom(the_stream); - } - } - else // if (is_section(str, name)) - what if file empty - { - getline(is, str); // try next line! - // if (is.eof()) - // throw runtime_error("No section in load file"); - } - } - -} - -void eoState::save(const string& filename) const -{ // saves in order of insertion - ofstream os(filename.c_str()); - - if (!os) - { - string msg = "Could not open file: " + filename + " for writing!"; - throw runtime_error(msg); - } - - save(os); -} - -void eoState::save(std::ostream& os) const -{ // saves in order of insertion - for (vector::const_iterator it = creationOrder.begin(); it != creationOrder.end(); ++it) - { - os << "\\section{" << (*it)->first << "}\n"; - (*it)->second->printOn(os); - os << '\n'; - } -} - -string eoState::createObjectName(eoObject* obj) -{ - if (obj == 0) - { - ostringstream os; - os << objectMap.size(); - return os.str(); - } - // else - - string name = obj->className(); - ObjectMap::const_iterator it = objectMap.find(name); - - unsigned count = 1; - while (it != objectMap.end()) - { - ostringstream os; - os << obj->className().c_str() << count++; - name = os.str(); - it = objectMap.find(name); - } - - return name; -} - diff --git a/trunk/paradiseo-eo/src/utils/eoState.h b/trunk/paradiseo-eo/src/utils/eoState.h deleted file mode 100644 index 42fb30006..000000000 --- a/trunk/paradiseo-eo/src/utils/eoState.h +++ /dev/null @@ -1,135 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoState.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef eoState_h -#define eoState_h - -#include -#include -#include -#include - -#include - -class eoObject; -class eoPersistent; - -/** - eoState can be used to register derivants of eoPersistent. It will - then in turn implement the persistence framework through members load - and save, that will call readFrom and printOn for the registrated objects. - - It is derived from eoFunctorStore, so that it also serves as a place where - all those nifty eo functors can be stored. This is useful in the case you - want to use one of the make_* functions. These functions generally take as their - last argument an eoFunctorStore (or a state) which is used to hold all dynamically - generated data. Note however, that unlike with eoPersistent derived classes, eoFunctorBase - derived classes are not saved or loaded. To govern the creation of functors, - command-line parameters (which can be stored) are needed. - -*/ -class eoState : public eoFunctorStore -{ -public : - - eoState(void) {} - - ~eoState(void); - - /** - * Object registration function, note that it does not take ownership! - */ - void registerObject(eoPersistent& registrant); - - /** - * Copies the object (MUST be derived from eoPersistent) - * and returns a reference to the owned object. - * Note: it does not register the object, this must be done afterwards! - */ - template - T& takeOwnership(const T& persistent) - { - // If the compiler budges here, T is not a subclass of eoPersistent - ownedObjects.push_back(new T(persistent)); - return static_cast(*ownedObjects.back()); - } - - /** - * Loading error thrown when nothing seems to work. - */ - struct loading_error : public std::runtime_error - { - loading_error(std::string huh = "Error while loading") : std::runtime_error(huh) {} - }; - - std::string getCommentString(void) const { return "#"; } - - /** - * Reads the file specified - * - * @param _filename the name of the file to load from - */ - void load(const std::string& _filename); - - /** - * Reads the file specified - * - * @param is the stream to load from - */ - void load(std::istream& is); - - /** - * Saves the state in file specified - * - * @param _filename the name of the file to save into - */ - void save(const std::string& _filename) const; - - /** - * Saves the state in file specified - * - * @param os the stream to save into - */ - void save(std::ostream& os) const; - -private : - std::string createObjectName(eoObject* obj); - - // first is Persistent, second is the raw data associated with it. - typedef std::map ObjectMap; - - ObjectMap objectMap; - - std::vector creationOrder; - std::vector ownedObjects; - - // private copy and assignment as eoState is supposed to be unique - eoState(const eoState&); - eoState& operator=(const eoState&); - -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoStdoutMonitor.cpp b/trunk/paradiseo-eo/src/utils/eoStdoutMonitor.cpp deleted file mode 100644 index 8120f516b..000000000 --- a/trunk/paradiseo-eo/src/utils/eoStdoutMonitor.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include -#include -#include - -#include -#include -#include - -using namespace std; - -eoMonitor& eoStdoutMonitor::operator()(void) -{ - if (!cout) - { - string str = "eoStdoutMonitor: Could not write to cout"; - throw runtime_error(str); - } - if (firsttime) - { - if (verbose) - cout << "First Generation" << endl; - else - { - for(iterator it = vec.begin(); it != vec.end(); ++it) - { - cout << (*it)->longName() << delim; - } - cout << endl; - } - firsttime = false; - } - // ok, now the real saving. write out - if (verbose) - { - for(iterator it = vec.begin(); it != vec.end(); ++it) - { - cout << (*it)->longName() << ": " << (*it)->getValue() << '\n'; - } - cout << "\n****** End of Generation ******\n" << endl; - } - else // a one-liner - { - for(iterator it = vec.begin(); it != vec.end(); ++it) - { - cout << (*it)->getValue() << delim; - } - cout << endl; - } - return *this; -} diff --git a/trunk/paradiseo-eo/src/utils/eoStdoutMonitor.h b/trunk/paradiseo-eo/src/utils/eoStdoutMonitor.h deleted file mode 100644 index 43335a574..000000000 --- a/trunk/paradiseo-eo/src/utils/eoStdoutMonitor.h +++ /dev/null @@ -1,52 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoStdoutMonitor.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoStdoutMonitor_h -#define _eoStdoutMonitor_h - -#include - -#include -#include - -/** - Prints statistics to stdout -*/ -class eoStdoutMonitor : public eoMonitor -{ -public : - eoStdoutMonitor(bool _verbose=true, std::string _delim = "\t") : - verbose(_verbose), delim(_delim), firsttime(true) {} - eoMonitor& operator()(void); - - virtual std::string className(void) const { return "eoStdoutMonitor"; } -private : - bool verbose; - std::string delim; - bool firsttime; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoTimeCounter.h b/trunk/paradiseo-eo/src/utils/eoTimeCounter.h deleted file mode 100644 index 0ff34ecca..000000000 --- a/trunk/paradiseo-eo/src/utils/eoTimeCounter.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoTimeCounter.h -// (c) Marc Schoenauer, Maarten Keijzer, and GeNeura Team, 2002 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoTimeCounter_h -#define _eoTimeCounter_h - -#include -#include - - -/** - An eoStat that simply gives the user time since first generation - It has to be tempatized by EOT because it must be an eoStat -*/ -class eoTimeCounter : public eoUpdater, public eoValueParam -{ -public: - eoTimeCounter() : eoValueParam(0.0, "Time") // : firstTime(true) - {} - - /** simply stores the time spent in process in its value() */ - virtual void operator()() - { - // ask for system time - utime = clock(); -// if (firstTime) /* first generation */ -// { -// firstTime=false; -// firstUtime = tmsStruct.tms_utime; -// } - // store elapsed user time -// value(tmsStruct.tms_utime - firstUtime); - value()=double(utime)/CLOCKS_PER_SEC; - } - -private: -// bool firstTime; -// clock_t firstUtime; - clock_t utime; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoTimedMonitor.h b/trunk/paradiseo-eo/src/utils/eoTimedMonitor.h deleted file mode 100644 index f4454bc8b..000000000 --- a/trunk/paradiseo-eo/src/utils/eoTimedMonitor.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoTimedMonitor.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2005 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoTimedMonitor_h -#define _eoTimedMonitor_h - -#include - -#include -#include -#include - -/** - Holds a collection of monitors and only fires them when a time limit - has been reached -*/ -class eoTimedMonitor : public eoMonitor -{ -public : - eoTimedMonitor(int seconds_) : seconds(seconds_), last_tick(0) {} - - eoMonitor& operator()(void) { - bool monitor = false; - if (last_tick == 0) { - monitor = true; - last_tick = clock(); - } - - clock_t tick = clock(); - - if ( (tick-last_tick) >= seconds * CLOCKS_PER_SEC) { - monitor = true; - } - - if (monitor) { - for (unsigned i = 0; i < monitors.size(); ++i) { - (*monitors[i])(); - } - last_tick = clock(); - } - return *this; - } - - void add(eoMonitor& mon) { monitors.push_back(&mon); } - - virtual std::string className(void) const { return "eoTimedMonitor"; } -private : - clock_t last_tick; - int seconds; - std::vector monitors; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoUniformInit.h b/trunk/paradiseo-eo/src/utils/eoUniformInit.h deleted file mode 100644 index 7960339f7..000000000 --- a/trunk/paradiseo-eo/src/utils/eoUniformInit.h +++ /dev/null @@ -1,155 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - eoUniformInit.h - - (c) Maarten Keijzer, GeNeura Team, Marc Schoenauer, 1999 - 2002 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - */ - -//----------------------------------------------------------------------------- -/** Copied from the eoRndGenerators to have objects deriving from eoInit - * As the whole initialization mechanism in EO is based on eoInit rather than - * eoRndGenerators, we might as well have these directly written without - * overhead - -@classes: - eoUniformInit uniform initialization for doubles, floats, ints, ... - eoBooleanInit biased init for booleans - eoNormalInit normal intialization for doubles and floats - eoNegExpInit negative exponential distributions " -*/ - -#ifndef eoUniformInit_h -#define eoUniformInit_h - -#include "eoRNG.h" -#include "eoInit.h" -#include "eoRealBounds.h" -#include - -using eo::rng; - -/** - The class eoUniformInit can be used in the STL apply function - to easily randomize floats and doubles. It can also - be used for ints and unsigneds by virtue of the static_cast - - Also present is a specialization for boolean, that will - ignore the minima and maxima that are possibly set and will - return an unbiased flip of a coin. For a biased flip, use the eoBoolean - - either in [0, _max) if only 1 value (_max) is given - (or none, as _max defaults to 1.0) - or in [_min,_max) if 2 values are given (_min, _max) -*/ -template class eoUniformInit : public eoInit -{ - public : - /** Ctor with only a max bound */ - eoUniformInit(T _max = T(1.0), eoRng& _rng = rng) : - minim(T(0.0)), range(_max), uniform(_rng) - {} - - /** Ctor with an eoRealBound */ - eoUniformInit(eoRealBounds & _bound, eoRng& _rng = rng) : - minim(_bound.minimum()), range(_bound.range()), uniform(_rng) - {} - - /** Ctor with explicit min and max */ - eoUniformInit(T _min, T _max, eoRng& _rng = rng) : - minim(_min), range(_max-_min), uniform(_rng) - { - if (_min>_max) - throw std::logic_error("Min is greater than Max in uniform_generator"); - } - - /** - Generates the number, uses a static_cast to get the right behaviour - for ints and unsigneds - */ - void operator()(T & _t) - { - _t = minim+static_cast(uniform.uniform(range)); - } - -private : - T minim; - T range; - eoRng& uniform; -}; - - -/** Specialization for bool, does an unbiased coin flip */ -template <> -inline void eoUniformInit::operator()(bool & _b) -{ - _b = uniform.flip(0.5); -} - -/** - The class eoBooleanInit can be used in the STL apply function - to easily generate random booleans with a specified bias -*/ -class eoBooleanInit : public eoInit -{ - public : - eoBooleanInit(float _bias = 0.5, eoRng& _rng = rng) : bias(_bias), gen(_rng) {} - - void operator()(bool & _b) { _b = gen.flip(bias); } - private : - float bias; - eoRng& gen; -}; - -/** - The class normal_generator can be used in the STL generate function - to easily generate gaussian distributed floats and doubles. The user - can supply a standard deviation which defaults to 1. -*/ -template class eoNormalInit : public eoInit -{ - public : - eoNormalInit(T _stdev = T(1.0), eoRng& _rng = rng) : stdev(_stdev), normal(_rng) {} - - void operator()(T & _t) { _t = (T) normal.normal(stdev); } - - private : - T stdev; - eoRng& normal; -}; - -/** - The class negexp_generator can be used in the STL generate function - to easily generate negative exponential distributed floats and doubles. The user - can supply a mean. -*/ -template class eoNegExpInit : public eoInit -{ - public : - eoNegExpInit(T _mean = 1.0, eoRng& _rng = rng) : mean(_mean), negexp(_rng) {} - - void operator()(T & _t) { _t = (T) negexp.negexp(mean); } - - private : - T mean; - eoRng& negexp; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoUpdatable.h b/trunk/paradiseo-eo/src/utils/eoUpdatable.h deleted file mode 100644 index 7c53143ca..000000000 --- a/trunk/paradiseo-eo/src/utils/eoUpdatable.h +++ /dev/null @@ -1,111 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoUpdatable.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoUpdatable_h -#define _eoUpdatable_h - -#include - -/** - eoUpdatable is a generic class for adding updatation to an existing class - Just says it has an update() method -*/ -class eoUpdatable -{ -public: - - /** @brief Virtual destructor */ - virtual ~eoUpdatable() {}; - - virtual void update() = 0; -}; - - - -/** - A base class to actually update an eoUpdatable object -*/ -class eoDynUpdater : public eoUpdater -{public : - eoDynUpdater(eoUpdatable & _toUpdate) : toUpdate(_toUpdate) {}; - - virtual void operator()() - { - toUpdate.update(); - } - -private: - eoUpdatable& toUpdate; -}; - -/** - An eoUpdater to update an eoUpdatable object every given time interval -*/ -class eoTimedDynUpdate : public eoDynUpdater -{ -public : - eoTimedDynUpdate(eoUpdatable & _toUpdate, time_t _interval) : - eoDynUpdater(_toUpdate), - interval(_interval), last_time(time(0)), first_time(time(0)) {} - - void operator()(void) - { - time_t now = time(0); - - if (now >= last_time + interval) - { - last_time = now; - eoDynUpdater::operator() (); - } - } -private : - const time_t interval; - time_t last_time; - const time_t first_time; -}; - -/** - An eoUpdater to update an eoUpdatable object every given tic -*/ -class eoCountedDynUpdate : public eoDynUpdater -{ -public : - eoCountedDynUpdate(eoUpdatable & _toUpdate, unsigned _interval) - : eoDynUpdater(_toUpdate), interval(_interval), counter(0) {} - - void operator()(void) - { - if (++counter % interval == 0) - { - eoDynUpdater::operator() (); - } - } -private : - const unsigned interval; - unsigned counter; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/eoUpdater.cpp b/trunk/paradiseo-eo/src/utils/eoUpdater.cpp deleted file mode 100644 index fa6ca109c..000000000 --- a/trunk/paradiseo-eo/src/utils/eoUpdater.cpp +++ /dev/null @@ -1,48 +0,0 @@ -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include - -using namespace std; - -void eoTimedStateSaver::operator()(void) -{ - time_t now = time(0); - - if (now >= last_time + interval) - { - last_time = now; - ostringstream os; - os << prefix << (now - first_time) << '.' << extension; - state.save(os.str()); - } -} - -void eoCountedStateSaver::doItNow(void) -{ - ostringstream os; - os << prefix << counter << '.' << extension; - state.save(os.str()); -} - -void eoCountedStateSaver::operator()(void) -{ - if (++counter % interval == 0) - doItNow(); -} - -void eoCountedStateSaver::lastCall(void) -{ - if (saveOnLastCall) - doItNow(); -} - - diff --git a/trunk/paradiseo-eo/src/utils/eoUpdater.h b/trunk/paradiseo-eo/src/utils/eoUpdater.h deleted file mode 100644 index f8597c14c..000000000 --- a/trunk/paradiseo-eo/src/utils/eoUpdater.h +++ /dev/null @@ -1,157 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoUpdater.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2000 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _eoUpdater_h -#define _eoUpdater_h - -#include -#include -#include -#include - -/** - eoUpdater is a generic procudere for updating whatever you want. - Yet again an empty name -*/ -class eoUpdater : public eoF -{ -public: - virtual void lastCall() {} - virtual std::string className(void) const { return "eoUpdater"; } -}; - -/** - an eoUpdater that simply increments a counter -*/ -template -class eoIncrementor : public eoUpdater -{public : - /** Default Ctor - requires a reference to the thing to increment */ - eoIncrementor(T& _counter, T _stepsize = 1) : counter(_counter), stepsize(_stepsize) {} - - /** Simply increments */ - virtual void operator()() - { - counter += stepsize; - } - - virtual std::string className(void) const { return "eoIncrementor"; } -private: - T& counter; - T stepsize; -}; - -/** an eoUpdater that is an eoValueParam (and thus OWNS its counter) - * Mandatory for generation counter in make_checkpoint -*/ -template -class eoIncrementorParam : public eoUpdater, public eoValueParam -{ -public: - - using eoValueParam::value; - - /** Default Ctor : a name and optionally an increment*/ - eoIncrementorParam( std::string _name, T _stepsize = 1) : - eoValueParam(T(0), _name), stepsize(_stepsize) {} - - /** Ctor with a name and non-zero initial value - * and mandatory stepSize to remove ambiguity - */ - eoIncrementorParam( std::string _name, T _countValue, T _stepsize) : - eoValueParam(_countValue, _name), stepsize(_stepsize) {} - - /** Simply increments */ - virtual void operator()() - { - value() += stepsize; - } - - virtual std::string className(void) const { return "eoIncrementorParam"; } - -private: - T stepsize; -}; - -#include - -/** - an eoUpdater that saves a state every given time interval -*/ -class eoTimedStateSaver : public eoUpdater -{ -public : - eoTimedStateSaver(time_t _interval, const eoState& _state, std::string _prefix = "state", std::string _extension = "sav") : state(_state), - interval(_interval), last_time(time(0)), first_time(time(0)), - prefix(_prefix), extension(_extension) {} - - void operator()(void); - - virtual std::string className(void) const { return "eoTimedStateSaver"; } -private : - const eoState& state; - - const time_t interval; - time_t last_time; - const time_t first_time; - const std::string prefix; - const std::string extension; -}; - -/** - an eoUpdater that saves a state every given generations -*/ -class eoCountedStateSaver : public eoUpdater -{ -public : - eoCountedStateSaver(unsigned _interval, const eoState& _state, std::string _prefix, bool _saveOnLastCall, std::string _extension = "sav", unsigned _counter = 0) - : state(_state), interval(_interval), counter(_counter), - saveOnLastCall(_saveOnLastCall), - prefix(_prefix), extension(_extension) {} - - eoCountedStateSaver(unsigned _interval, const eoState& _state, std::string _prefix = "state", std::string _extension = "sav", unsigned _counter = 0) - : state(_state), interval(_interval), counter(_counter), - saveOnLastCall(true), - prefix(_prefix), extension(_extension) {} - - virtual void lastCall(void); - void operator()(void); - - virtual std::string className(void) const { return "eoCountedStateSaver"; } -private : - void doItNow(void); - - const eoState& state; - const unsigned interval; - unsigned counter; - bool saveOnLastCall; - - const std::string prefix; - const std::string extension; -}; - - -#endif diff --git a/trunk/paradiseo-eo/src/utils/make_help.cpp b/trunk/paradiseo-eo/src/utils/make_help.cpp deleted file mode 100644 index 1d7b2e5c2..000000000 --- a/trunk/paradiseo-eo/src/utils/make_help.cpp +++ /dev/null @@ -1,109 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_help.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- -#ifdef _MSC_VER -// to avoid long name warnings -#pragma warning(disable:4786) -#endif - -#include -#include -#include - -using namespace std; - -/** Generation of the status file, and output of the help message if needed - * - * MUST be called after ALL parameters have been read in order to list them - * - * Warning: this is a plain .cpp file and shoudl NOT be included anywhere, - * but compiled separately and stored in a library. - * - * It is declared in all make_xxx.h files in representation-dependent dirs - * but it is NOT representation-dependent itself - that's why it's in utils - */ -void make_help(eoParser & _parser) -{ - // name of the "status" file where all actual parameter values will be saved - string str_status = _parser.ProgramName() + ".status"; // default value - eoValueParam& statusParam = _parser.createParam(str_status, "status","Status file",'\0', "Persistence" ); - - // dump status file BEFORE help, so the user gets a chance to use it: - // it's probably the case where she/he needs it most!!! - // Only help parameter will not be in status file - but who cares??? - if (statusParam.value() != "") - { - ofstream os(statusParam.value().c_str()); - os << _parser; // and you can use that file as parameter file - } - // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED - // i.e. in case you need parameters somewhere else, postpone these - if (_parser.userNeedsHelp()) - { - _parser.printHelp(cout); - cout << "You can use an edited copy of file " << statusParam.value() - << " as parameter file" << endl; - exit(1); - } -} - -/** test a dir. - * Creates it if does not exist - * If exists, throws an exception or erase everything there, - * depending on last parameter - * - * Always return true (for code easy writing on the other side :-) - */ -bool testDirRes(std::string _dirName, bool _erase=true) -{ - string s = "test -d " + _dirName; - int res = system(s.c_str()); - // test for (unlikely) errors - if ( (res==-1) || (res==127) ) - { - s = "Problem executing test of dir " + _dirName; - throw runtime_error(s); - } - // now make sure there is a dir without any file in it - or quit - if (res) // no dir present - { - s = string("mkdir ")+ _dirName; - system(s.c_str()); - return true; - } - // else - if (_erase) // OK to erase - { - s = string("/bin/rm ")+ _dirName + "/*"; - system(s.c_str()); - return true; - } - //else - // WARNING: bug if dir exists and is empty; this says it is not! - // shoudl use scandir instead - no time now :-((( MS Aug. 01 - s = "Dir " + _dirName + " is not empty"; - throw runtime_error(s); - return true; -} diff --git a/trunk/paradiseo-eo/src/utils/pipecom.cpp b/trunk/paradiseo-eo/src/utils/pipecom.cpp deleted file mode 100644 index e331eb578..000000000 --- a/trunk/paradiseo-eo/src/utils/pipecom.cpp +++ /dev/null @@ -1,172 +0,0 @@ -/* ---------------------------------------------------------------------- - * Where........: CMAP - Polytechnique - * File.........: pipecom.c - * Author.......: Bertrand Lamy (Equipe genetique) - * Created......: Mon Mar 13 13:50:11 1995 - * Description..: Communication par pipe bidirectionnel avec un autre process - * ---------------------------------------------------------------------- - */ - -// MSC equivalent must be written and tested or some #idef instructions added -// with a clear message at compile time that this is for Unix only ??? - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include "pipecom.h" - - - -int Check( PCom *com ) -{ - if( ! com ) { - fprintf( stderr, "PipeCom: Null pointer.\n" ); - fflush( stderr ); - return 0; - } - if( kill( com->pid, 0 ) != 0 ) { - fprintf( stderr, "PipeCom: process doesn't exists.\n" ); - fflush( stderr ); - return 0; - } - return 1; -} - - -PCom * PipeComOpen( char *prog ) -{ - char *args[2]; - args[0] = prog; - args[1] = NULL; - return PipeComOpenArgv( prog, args ); -} - - -PCom * PipeComOpenArgv( char *prog, char *argv[] ) -{ - int toFils[2]; - int toPere[2]; - int sonPid; - PCom * ret = NULL; - - if( pipe( toFils ) < 0 ) { - perror( "PipeComOpen: Creating pipes" ); - return ret; - } - if( pipe( toPere ) < 0 ) { - perror( "PipeComOpen: Creating pipes" ); - return ret; - } - - switch( (sonPid = vfork()) ) { - case -1: - perror("PipeComOpen: fork failed" ); - return ret; - break; - - case 0: - /* --- Here's the son --- */ - /* --- replace old stdin --- */ - if( dup2( toFils[0], fileno(stdin) ) < 0 ) { - perror( "PipeComOpen(son): could not connect" ); - exit( -1 ); - /* --- AVOIR: kill my father --- */ - } - if( dup2( toPere[1], fileno(stdout) ) < 0 ) { - perror( "PipeComOpen(son): could not connect" ); - exit( -1 ); - } - if( execvp( prog, argv ) < 0 ) { - perror( prog ); - perror( "PipeComOpen: can't exec" ); - exit(1); - } - break; - default: - ret = (PCom *) malloc( sizeof(PCom) ); - if( ! ret ) - return NULL; - - ret->fWrit = (FILE *)fdopen( toFils[1], "w" ); - ret->fRead = (FILE *)fdopen( toPere[0], "r" ); - ret->pid = sonPid; - } - return ret; -} - - -int PipeComSend( PCom *to, const char *line ) -{ - int nb = 0; - if( ! Check(to ) ) - return nb; - nb = fprintf( to->fWrit, line ); - fflush( to->fWrit ); - return nb; -} - - -int PipeComSendn( PCom *to, const char *data, int n ) -{ - int nb = 0; - if( ! Check(to) ) - return nb; - - nb = fwrite( data, 1, n, to->fWrit ); - fflush( to->fWrit ); - return nb; -} - - -int PipeComReceive( PCom *from, char *data, int max ) -{ - if( ! Check(from) ) - return 0; - if( ! data ) { - fprintf( stderr, "PipeComReceive: Invalid data pointer\n" ); - fflush( stderr ); - return 0; - } - if( fgets( data, max, from->fRead ) ) - return strlen(data); - return 0; -} - - - -int PipeComClose( PCom *to ) -{ - if( ! Check(to) ) - return 0; - fclose( to->fRead ); - fclose( to->fWrit ); - free( to ); - return 1; -} - - - -int PipeComWaitFor( PCom *from, char *what ) -{ - char buffer[256]; - do { - if( ! PipeComReceive( from, buffer, 256 ) ) - return 0; - } while( strcmp( buffer, what ) ); - return 1; -} - - - -// Local Variables: -// coding: iso-8859-1 -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/utils/pipecom.h b/trunk/paradiseo-eo/src/utils/pipecom.h deleted file mode 100644 index 56b031708..000000000 --- a/trunk/paradiseo-eo/src/utils/pipecom.h +++ /dev/null @@ -1,47 +0,0 @@ -/* ---------------------------------------------------------------------- - * Where........: CMAP - Polytechnique - * File.........: pipecom.h - * Author.......: Bertrand Lamy (EEAAX) - * Created......: Thu Mar 9 17:21:15 1995 - * Description..: Pipe communication with a process - * ---------------------------------------------------------------------- - */ - -// This file cannot be used from C any more due to some const additions. -// However, if you remove the const, it should work in C as well. - -#ifndef EO_PIPECOM_H -#define EO_PIPECOM_H - -#include - - -typedef struct PipeCommunication { - FILE *fWrit; - FILE *fRead; - int pid; -} PCom; - - -extern PCom *PipeComOpen( char *prog ); -extern PCom *PipeComOpenArgv( char *prog, char *argv[] ); - -extern int PipeComSend( PCom *to, const char *line ); -extern int PipeComSendn( PCom *to, const char *data, int n ); - -extern int PipeComReceive( PCom *from, char *data, int max ); - -extern int PipeComClose( PCom *to ); -extern int PipeComWaitFor( PCom *from, char *what ); - - -#endif // EO_PIPECOM_H - - - -// Local Variables: -// coding: iso-8859-1 -// mode: C++ -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-eo/src/utils/rnd_generators.h b/trunk/paradiseo-eo/src/utils/rnd_generators.h deleted file mode 100644 index a85283211..000000000 --- a/trunk/paradiseo-eo/src/utils/rnd_generators.h +++ /dev/null @@ -1,168 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - rnd_generators.h - Some utility functors for generating random generators: - uniform_generator : generates uniform floats or doubles - random_generator : generates unsigneds, ints etc. - normal_generator : normally distributed floats or doubles - - (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -//----------------------------------------------------------------------------- - -#ifndef eoRND_GENERATORS_H -#define eoRND_GENERATORS_H - -#include "eoRNG.h" -#include - -/** - The class uniform_generator can be used in the STL generate function - to easily generate random floats and doubles - either in [0, _max) if only 1 value (_max) is given - (or none, as _max defaults to 1.0) - or in [_min,_max) if 2 values are given (_min, _max) -*/ -template class uniform_generator -{ - // added new ctor with 2 params, and modified the data to minim and range - // (was maxim only). MS 3/11/2000 - public : - uniform_generator(T _max = T(1.0), eoRng& _rng = rng) : - minim(T(0.0)), range(_max), uniform(_rng) {} - uniform_generator(T _min, T _max, eoRng& _rng = rng) : - minim(_min), range(_max-_min), uniform(_rng) - { - if (_min>_max) - throw std::logic_error("Min is greater than Max in uniform_generator"); - } - - T operator()(void) { return minim+static_cast(uniform.uniform(range)); } - -private : - T minim; - T range; - eoRng& uniform; -}; - -/** - The class boolean_generator can be used in the STL generate function - to easily generate random booleans with a specified bias -*/ -class boolean_generator -{ - public : - boolean_generator(float _bias = 0.5, eoRng& _rng = rng) : bias(_bias), gen(_rng) {} - - bool operator()(void) { return gen.flip(bias); } - private : - float bias; - eoRng& gen; -}; - -/** - The class random_generator can be used in the STL generate function - to easily generate random ints - either between [0, _max) if only one value (_max) is given to the ctor - or in [_min,_max) if 2 values are given (_min, _max) -*/ -template class random_generator -{ - public : - // added new ctor with 2 params, and modified the data to minim and range - // (was maxim only). MS 3/11/2000 - random_generator(T _max, eoRng& _rng = rng) : - minim(T(0.0)), range(_max), random(_rng) {} - random_generator(T _min, T _max, eoRng& _rng = rng) : - minim(_min), range(_max-_min), random(_rng) - { - if (_min>_max) - throw std::logic_error("Min is greater than Max in random_generator"); - } - - T operator()(void) { return (T) (minim + random.random(range)); } - -private : - T minim; - T range; - eoRng& random; -}; - -/// Specialization for bool -template <> -inline bool random_generator::operator()(void) -{ - return random.flip(0.5); -} - -/** - Another class random_generator that can be used in the STL random_shuffle - function (see eoPop::shuffle): its operator() takes an unsigned argument m - and must return an unsigned uniformly distributed in [0,m} -*/ -template class UF_random_generator -{ - public : - UF_random_generator(eoRng& _rng = rng) : - random(_rng) {} - - T operator()(T _t) { return (T) (random.random(_t)); } - -private : - eoRng& random; -}; - - -/** - The class normal_generator can be used in the STL generate function - to easily generate gaussian distributed floats and doubles. The user - can supply a standard deviation which defaults to 1. -*/ -template class normal_generator -{ - public : - normal_generator(T _stdev = T(1.0), eoRng& _rng = rng) : stdev(_stdev), normal(_rng) {} - - T operator()(void) { return (T) normal.normal(stdev); } - - private : - T stdev; - eoRng& normal; -}; - -/** - The class negexp_generator can be used in the STL generate function - to easily generate negative exponential distributed floats and doubles. The user - can supply a mean. -*/ -template class negexp_generator -{ - public : - negexp_generator(T _mean = 1.0, eoRng& _rng = rng) : mean(_mean), negexp(_rng) {} - - T operator()(void) { return (T) negexp.negexp(mean); } - - private : - T mean; - eoRng& negexp; -}; - -#endif diff --git a/trunk/paradiseo-eo/src/utils/selectors.h b/trunk/paradiseo-eo/src/utils/selectors.h deleted file mode 100644 index 86f2a0a6d..000000000 --- a/trunk/paradiseo-eo/src/utils/selectors.h +++ /dev/null @@ -1,338 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - ----------------------------------------------------------------------------- - selectors.h - A bunch of useful selector functions. They generally have three forms: - - template - It select(It begin, It end, params, eoRng& gen = rng); - - template - const EOT& select(const eoPop& pop, params, eoRng& gen = rng); - - template - EOT& select(eoPop& pop, params, eoRng& gen = rng); - - where select is one of: roulette_wheel, deterministic_tournament - and stochastic_tournament (at the moment). - - (c) Maarten Keijzer (mak@dhi.dk) and GeNeura Team, 1999, 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - */ - -#ifndef SELECT__H -#define SELECT__H - -#include - -#include "eoRNG.h" -#include -/** -\defgroup selectors -*/ - -template -bool minimizing_fitness() -{ - EOT eo1; // Assuming people don't do anything fancy in the default constructor! - EOT eo2; - - /* Dear user, when the two line below do not compile you are most - likely not working with scalar fitness values. In that case we're sorry - but you cannot use lottery or roulette_wheel selection... - */ - -#ifdef _MSC_VER - eo1.fitness( EOT::Fitness(0.0) ); - eo2.fitness( EOT::Fitness(1.0) ); -#else - eo1.fitness( typename EOT::Fitness(0.0) ); // tried to cast it to an EOT::Fitness, but for some reason GNU barfs on this - eo2.fitness( typename EOT::Fitness(1.0) ); -#endif - - return eo2 < eo1; // check whether we have a minimizing fitness -} - -inline double scale_fitness(const std::pair& _minmax, double _value) -{ - if (_minmax.first == _minmax.second) - { - return 0.0; // no differences in fitness, population converged! - } - // else - - return (_value - _minmax.first) / (_minmax.second - _minmax.first); -} - -template -double sum_fitness(It begin, It end) -{ - double sum = 0.0; - - for (; begin != end; ++begin) - { - double v = static_cast(begin->fitness()); - if (v < 0.0) - throw std::logic_error("sum_fitness: negative fitness value encountered"); - sum += v; - } - - return sum; -} - -template -double sum_fitness(const eoPop& _pop) -{ - return sum_fitness(_pop.begin(), _pop.end()); -} - -template -double sum_fitness(const eoPop& _pop, std::pair& _minmax) -{ - double rawTotal, scaledTotal; - - typename eoPop::const_iterator it = _pop.begin(); - - _minmax.first = it->fitness(); - _minmax.second = it++->fitness(); - - for(; it != _pop.end(); ++it) - { - double v = static_cast(it->fitness()); - - _minmax.first = std::min(_minmax.first, v); - _minmax.second = std::max(_minmax.second, v); - - rawTotal += v; - } - - if (minimizing_fitness()) - { - std::swap(_minmax.first, _minmax.second); - } - - scaledTotal = 0.0; - - // unfortunately a second loop is neccessary to scale the fitness - for (it = _pop.begin(); it != _pop.end(); ++it) - { - double v = scale_fitness(_minmax, static_cast(it->fitness())); - - scaledTotal += v; - } - - return scaledTotal; -} - -template -It roulette_wheel(It _begin, It _end, double total, eoRng& _gen = rng) -{ - - float roulette = _gen.uniform(total); - - if (roulette == 0.0) // covers the case where total==0.0 - return _begin + _gen.random(_end - _begin); // uniform choice - - It i = _begin; - - while (roulette > 0.0) - { - roulette -= static_cast(*(i++)); - } - - return --i; -} - -template -const EOT& roulette_wheel(const eoPop& _pop, double total, eoRng& _gen = rng) -{ - float roulette = _gen.uniform(total); - - if (roulette == 0.0) // covers the case where total==0.0 - return _pop[_gen.random(_pop.size())]; // uniform choice - - typename eoPop::const_iterator i = _pop.begin(); - - while (roulette > 0.0) - { - roulette -= static_cast((i++)->fitness()); - } - - return *--i; -} - -template -EOT& roulette_wheel(eoPop& _pop, double total, eoRng& _gen = rng) -{ - float roulette = _gen.uniform(total); - - if (roulette == 0.0) // covers the case where total==0.0 - return _pop[_gen.random(_pop.size())]; // uniform choice - - typename eoPop::iterator i = _pop.begin(); - - while (roulette > 0.0) - { - roulette -= static_cast((i++)->fitness()); - } - - return *--i; -} - -template -It deterministic_tournament(It _begin, It _end, unsigned _t_size, eoRng& _gen = rng) -{ - It best = _begin + _gen.random(_end - _begin); - - for (unsigned i = 0; i < _t_size - 1; ++i) - { - It competitor = _begin + _gen.random(_end - _begin); - - if (*best < *competitor) - { - best = competitor; - } - } - - return best; -} - -template -const EOT& deterministic_tournament(const eoPop& _pop, unsigned _t_size, eoRng& _gen = rng) -{ - return *deterministic_tournament(_pop.begin(), _pop.end(), _t_size, _gen); -} - -template -EOT& deterministic_tournament(eoPop& _pop, unsigned _t_size, eoRng& _gen = rng) -{ - return *deterministic_tournament(_pop.begin(), _pop.end(), _t_size, _gen); -} - -template -It inverse_deterministic_tournament(It _begin, It _end, unsigned _t_size, eoRng& _gen = rng) -{ - It worst = _begin + _gen.random(_end - _begin); - - for (unsigned i = 1; i < _t_size; ++i) - { - It competitor = _begin + _gen.random(_end - _begin); - - if (competitor == worst) - { - --i; - continue; // try again - } - - if (*competitor < *worst) - { - worst = competitor; - } - } - - return worst; -} - -template -const EOT& inverse_deterministic_tournament(const eoPop& _pop, unsigned _t_size, eoRng& _gen = rng) -{ - return *inverse_deterministic_tournament(_pop.begin(), _pop.end(), _t_size, _gen); -} - -template -EOT& inverse_deterministic_tournament(eoPop& _pop, unsigned _t_size, eoRng& _gen = rng) -{ - return *inverse_deterministic_tournament(_pop.begin(), _pop.end(), _t_size, _gen); -} - -template -It stochastic_tournament(It _begin, It _end, double _t_rate, eoRng& _gen = rng) -{ - It i1 = _begin + _gen.random(_end - _begin); - It i2 = _begin + _gen.random(_end - _begin); - - bool return_better = _gen.flip(_t_rate); - - if (*i1 < *i2) - { - if (return_better) return i2; - // else - - return i1; - } - else - { - if (return_better) return i1; - // else - } - // else - - return i2; -} - -template -const EOT& stochastic_tournament(const eoPop& _pop, double _t_rate, eoRng& _gen = rng) -{ - return *stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen); -} - -template -EOT& stochastic_tournament(eoPop& _pop, double _t_rate, eoRng& _gen = rng) -{ - return *stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen); -} - -template -It inverse_stochastic_tournament(It _begin, It _end, double _t_rate, eoRng& _gen = rng) -{ - It i1 = _begin + _gen.random(_end - _begin); - It i2 = _begin + _gen.random(_end - _begin); - - bool return_worse = _gen.flip(_t_rate); - - if (*i1 < *i2) - { - if (return_worse) return i1; - // else - - return i2; - } - else - { - if (return_worse) return i2; - // else - } - // else - - return i1; -} - -template -const EOT& inverse_stochastic_tournament(const eoPop& _pop, double _t_rate, eoRng& _gen = rng) -{ - return *inverse_stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen); -} - -template -EOT& inverse_stochastic_tournament(eoPop& _pop, double _t_rate, eoRng& _gen = rng) -{ - return *inverse_stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen); -} - - -#endif diff --git a/trunk/paradiseo-eo/test/.cvsignore b/trunk/paradiseo-eo/test/.cvsignore deleted file mode 100644 index 3e646c1f4..000000000 --- a/trunk/paradiseo-eo/test/.cvsignore +++ /dev/null @@ -1,29 +0,0 @@ -*.o -*.csv -*.sav -.deps -Makefile -Makefile.in -t-eo -t-eobin -t-eobreeder -t-eofitness -t-eoinclusion -t-eoinsertion -t-eolottery -t-eoproblem -t-eogeneration -t-eoNonUniform -t-eo2dVector -t-eoEasyEA -t-eoUniform -t-eoRandom -t-eoCheckpointing -t-eoVector -t-eoAtomOps -t-selectOne -t-eoStateAndParser -t-eoGOpSel -t-eoExternalEO -t-eoESFull -t-eoSymreg diff --git a/trunk/paradiseo-eo/test/CVS/Entries b/trunk/paradiseo-eo/test/CVS/Entries deleted file mode 100644 index 04e970a4d..000000000 --- a/trunk/paradiseo-eo/test/CVS/Entries +++ /dev/null @@ -1,53 +0,0 @@ -/.cvsignore/1.13/Mon Nov 6 12:37:58 2000// -/Makefile.am/1.70/Wed Dec 7 15:51:32 2005// -/RoyalRoad.h/1.3/Thu Jun 21 12:03:17 2001// -/binary_value.h/1.5/Sat Nov 17 07:54:12 2001// -/fitness_traits.cpp/1.4/Thu Feb 27 19:20:30 2003// -/real_value.h/1.8/Mon May 21 04:10:55 2001// -/run_tests/1.5/Wed Nov 7 15:23:24 2001// -/t-MGE-control.cpp/1.7/Thu Oct 6 17:22:40 2005// -/t-MGE.cpp/1.8/Thu Oct 6 17:22:40 2005// -/t-MGE1bit.cpp/1.8/Thu Oct 6 17:22:40 2005// -/t-eo.cpp/1.4/Thu Feb 27 19:20:29 2003// -/t-eo2dVector.cc/1.1/Fri Oct 1 16:36:04 1999// -/t-eoAtomOps.cpp/1.4/Thu Feb 27 19:20:29 2003// -/t-eoBaseFunctions.cpp/1.3/Thu Feb 27 19:20:29 2003// -/t-eoCMAES.cpp/1.2/Sun Mar 26 13:33:25 2006// -/t-eoCheckpointing.cpp/1.8/Mon Sep 26 10:18:15 2005// -/t-eoESAll.cpp/1.7/Mon Oct 10 21:42:31 2005// -/t-eoESFull.cpp/1.14/Mon Sep 26 10:18:15 2005// -/t-eoESOps.cpp/1.3/Thu Feb 27 19:20:28 2003// -/t-eoEasyEA.cpp/1.6/Thu Feb 27 19:20:28 2003// -/t-eoExternalEO.cpp/1.6/Thu Feb 27 19:20:28 2003// -/t-eoFitnessAssembled.cpp/1.1/Wed Apr 2 21:10:26 2003// -/t-eoFitnessAssembledEA.cpp/1.2/Mon Sep 20 14:11:23 2004// -/t-eoFunctor.cpp/1.2/Wed Aug 23 12:03:01 2000// -/t-eoGA.cpp/1.8/Thu Feb 27 19:20:28 2003// -/t-eoGOpSel.cpp/1.8/Thu Feb 27 19:20:27 2003// -/t-eoGenOp.cpp/1.12/Wed Sep 28 21:49:26 2005// -/t-eoNonUniform.cpp/1.3/Thu Feb 27 19:20:26 2003// -/t-eoPBIL.cpp/1.7/Wed Oct 5 21:34:19 2005// -/t-eoPareto.cpp/1.15/Wed Oct 5 21:34:19 2005// -/t-eoParetoFitness.cpp/1.8/Wed Sep 29 18:37:20 2004// -/t-eoRandom.cpp/1.13/Thu Feb 27 19:20:24 2003// -/t-eoReal.cpp/1.6/Thu Feb 27 19:20:24 2003// -/t-eoReplacement.cpp/1.6/Thu Feb 27 19:20:23 2003// -/t-eoRoulette.cpp/1.1/Wed Jun 4 09:34:26 2003// -/t-eoSSGA.cpp/1.4/Thu Feb 27 19:20:22 2003// -/t-eoSelect.cpp/1.12/Mon Sep 26 10:18:15 2005// -/t-eoSharing.cpp/1.4/Wed Sep 28 21:49:26 2005// -/t-eoStateAndParser.cpp/1.9/Mon Sep 26 10:18:15 2005// -/t-eoSymreg.cpp/1.15/Thu Feb 27 19:20:22 2003// -/t-eoUniform.cpp/1.3/Thu Feb 27 19:20:22 2003// -/t-eoVector.cpp/1.7/Wed Sep 28 21:49:26 2005// -/t-eoVirus.cpp/1.5/Tue Sep 21 10:23:32 2004// -/t-eobin.cpp/1.21/Wed Sep 28 21:49:26 2005// -/t-eobreeder.cpp/1.13/Thu Feb 27 19:20:29 2003// -/t-eofitness.cpp/1.7/Thu Feb 27 19:20:28 2003// -/t-eogeneration.cpp/1.7/Thu Feb 27 19:20:27 2003// -/t-eoinclusion.cpp/1.8/Thu Feb 27 19:20:27 2003// -/t-eoinsertion.cpp/1.6/Thu Feb 27 19:20:26 2003// -/t-eolottery.cpp/1.5/Thu Feb 27 19:20:26 2003// -/t-eoproblem.cpp/1.4/Thu Feb 27 19:20:25 2003// -/t-selectOne.cpp/1.6/Thu Feb 27 19:20:20 2003// -D diff --git a/trunk/paradiseo-eo/test/CVS/Repository b/trunk/paradiseo-eo/test/CVS/Repository deleted file mode 100644 index 593d883dd..000000000 --- a/trunk/paradiseo-eo/test/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/test diff --git a/trunk/paradiseo-eo/test/CVS/Root b/trunk/paradiseo-eo/test/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/test/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/test/Makefile.am b/trunk/paradiseo-eo/test/Makefile.am deleted file mode 100644 index 65b881653..000000000 --- a/trunk/paradiseo-eo/test/Makefile.am +++ /dev/null @@ -1,93 +0,0 @@ -############################################################################### -## -## Makefile.am for eo/test -## -############################################################################### - -LIBEO = $(top_builddir)/src/libeo.a -LIBEOUTILS = $(top_builddir)/src/utils/libeoutils.a -LIBES = $(top_builddir)/src/es/libes.a -LIBGA = $(top_builddir)/src/ga/libga.a -LIBCMA = $(top_builddir)/src/es/libcma.a - -# PLEASE don't break the line (see create_batch.sh) -check_PROGRAMS = t-eoParetoFitness \ - t-eoPareto \ - t-eofitness \ - t-eoRandom \ - t-eobin \ - t-eoVirus \ - t-MGE \ - t-MGE1bit \ - t-MGE-control \ - t-eoStateAndParser \ - t-eoCheckpointing \ - t-eoSSGA \ - t-eoExternalEO \ - t-eoSymreg \ - t-eo \ - t-eoReplacement \ - t-eoSelect \ - t-eoGenOp \ - t-eoGA \ - t-eoReal \ - t-eoVector \ - t-eoESAll \ - t-eoPBIL \ - t-eoFitnessAssembled \ - t-eoFitnessAssembledEA \ - t-eoRoulette \ - t-eoSharing \ - t-eoCMAES - - -TESTS = $(check_PROGRAMS) \ - run_tests # This script can be used to check command-line arguments - -noinst_HEADERS = binary_value.h real_value.h RoyalRoad.h - - -DEPS = $(LIBGA) $(LIBES) $(LIBCMA) $(LIBEOUTILS) $(LIBEO) -INCLUDES = -I$(top_srcdir)/src -I$(srcdir)/../src -LIBS = $(DEPS) - -CLEANFILES = monitor.csv t-eoRandom.out -EXTRA_DIST = run_tests - -# extra flags for specific targets -t_eoVirus_CXXFLAGS = $(AM_CXXFLAGS) -I$(top_srcdir)/contrib -t_MGE_CXXFLAGS = -I$(top_srcdir)/contrib/MGE -t_MGE1bit_CXXFLAGS = -I$(top_srcdir)/contrib/MGE -t_MGE_control_CXXFLAGS = -I$(top_srcdir)/contrib/MGE - -# Specify source-files, -# otherwise automake/make looks for C sources -# -t_eoRandom_SOURCES = t-eoRandom.cpp -t_eofitness_SOURCES = t-eofitness.cpp -t_eoFitnessAssembledEA_SOURCES = t-eoFitnessAssembledEA.cpp -t_eobin_SOURCES = t-eobin.cpp -t_eoVirus_SOURCES = t-eoVirus.cpp -t_MGE1bit_SOURCES = t-MGE1bit.cpp -t_MGE_SOURCES = t-MGE.cpp -t_MGE_control_SOURCES = t-MGE-control.cpp -t_eoStateAndParser_SOURCES = t-eoStateAndParser.cpp -t_eoCheckpointing_SOURCES = t-eoCheckpointing.cpp -t_eoReplacement_SOURCES = t-eoReplacement.cpp -t_eoSelect_SOURCES = t-eoSelect.cpp -t_eoExternalEO_SOURCES = t-eoExternalEO.cpp -t_eoSymreg_SOURCES = t-eoSymreg.cpp -t_eo_SOURCES = t-eo.cpp -t_eoGenOp_SOURCES = t-eoGenOp.cpp -t_eoVector_SOURCES = t-eoVector.cpp -t_eoGA_SOURCES = t-eoGA.cpp -t_eoReal_SOURCES = t-eoReal.cpp -t_eoESAll_SOURCES = t-eoESAll.cpp -t_eoSSGA_SOURCES = t-eoSSGA.cpp -t_eoPareto_SOURCES = t-eoPareto.cpp -t_eoParetoFitness_SOURCES = t-eoParetoFitness.cpp -t_eoPBIL_SOURCES = t-eoPBIL.cpp -t_eoFitnessAssembled_SOURCES = t-eoFitnessAssembled.cpp -t_eoRoulette_SOURCES = t-eoRoulette.cpp -t_eoSharing_SOURCES = t-eoSharing.cpp -t_eoCMAES_SOURCES = t-eoCMAES.cpp diff --git a/trunk/paradiseo-eo/test/RoyalRoad.h b/trunk/paradiseo-eo/test/RoyalRoad.h deleted file mode 100644 index 461e825f5..000000000 --- a/trunk/paradiseo-eo/test/RoyalRoad.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - RoyalRoad.h - -- Implementation of the Royal Road function for any length and block size - (c) GeNeura Team 2001, Marc Schoenauer 2000 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr -CVS Info: $Date: 2001/06/21 12:03:17 $ $Header: /cvsroot/eodev/eo/test/RoyalRoad.h,v 1.3 2001/06/21 12:03:17 jmerelo Exp $ $Author: jmerelo $ -*/ - -#ifndef RoyalRoad_h -#define RoyalRoad_h - -template -class RoyalRoad: public eoEvalFunc { - - public: - - typedef typename EOT::Fitness FitT; - - /// Ctor: takes a length, and divides that length in equal parts - RoyalRoad( unsigned _div ): eoEvalFunc(), div( _div ) {}; - - // Applies the function - virtual void operator() ( EOT & _eo ) { - FitT fitness = 0; - if (_eo.invalid()) { - for ( unsigned i = 0; i < _eo.size()/div; i ++ ) { - bool block = true; - for ( unsigned j = 0; j < div; j ++ ) { - block &= _eo[i*div+j]; - } - if (block) { - fitness += div; - } - } - _eo.fitness( fitness ); - } - }; - - private: - unsigned div; - -}; - -#endif diff --git a/trunk/paradiseo-eo/test/binary_value.h b/trunk/paradiseo-eo/test/binary_value.h deleted file mode 100644 index 793e9de62..000000000 --- a/trunk/paradiseo-eo/test/binary_value.h +++ /dev/null @@ -1,16 +0,0 @@ -#include - -//----------------------------------------------------------------------------- - -/** Just the simple function that takes binary value of a chromosome and sets - the fitnes. - @param _chrom A binary chromosome -*/ - -template double binary_value(const Chrom& _chrom) -{ - double sum = 0.0; - for (unsigned i=0; i<_chrom.size(); i++) - sum += _chrom[i]; - return sum; -} diff --git a/trunk/paradiseo-eo/test/fitness_traits.cpp b/trunk/paradiseo-eo/test/fitness_traits.cpp deleted file mode 100644 index 19edb27a4..000000000 --- a/trunk/paradiseo-eo/test/fitness_traits.cpp +++ /dev/null @@ -1,433 +0,0 @@ -#include // for pair -#include -#include -#include -#include -#include // for exp - -using namespace std; - -/* fitness_traits.h */ - -// default traits: defaults to a double that needs to be maximized -template -struct fitness_traits -{ - // Needs mapping can be used to figure out whether you need to do fitness scaling (or not) - const static bool needs_mapping = false; - - // storage_type: what to store next to the genotype - typedef T storage_type; - - // performance_type: what the eoEvalFunc calculates - typedef T performance_type; - - // worth_type: what the scaling function does - typedef T worth_type; - - // access_performance: how to get from what is stored to a mutable performance - static performance_type& access_performance(storage_type& a) { return a; } - - // access_worth: how to get from what is stored to a mutable worth - static worth_type& access_worth(storage_type& a) { return a; } - - // get_performance: from storage_type to a performance figure - static performance_type get_performance(storage_type a) { return a; } - - // get_worth: from storage_type to a worth figure - static worth_type get_worth(storage_type a) { return a; } - - // get the fitness out of the individual - template - static worth_type get_fitness(const EOT& _eo) { return _eo.performance(); } - - // compare the two individuals - template - static bool is_better(const EOT& _eo1, const EOT& _eo2) - { - return _eo1.performance() > _eo2.performance(); - } -}; - -struct minimization {}; -struct maximization {}; - -struct fitness_traits : public fitness_traits -{ - // for minimization, invert the is_better - template - static bool is_better(const EOT& _eo1, const EOT& _eo2) - { - return _eo1.performance() < _eo2.performance(); - } -}; - -// for maximization, just take the default behaviour -struct fitness_traits : public fitness_traits {}; - -// forward declaration -//template class eoPop; -//template class EO; - -// unfortunately, partial template specialization is not approved by Microsoft (though ANSI says it's ok) -// Probably need some macro-magic to make this work (MicroSoft == MacroHard) -// A pair class: first == performance, second == worth, redefine all types, data and functions -template -struct fitness_traits< pair > -{ - typedef pair storage_type; - typedef Performance performance_type; - typedef Worth worth_type; - - const static bool needs_mapping = true; - - static performance_type& access_performance(storage_type& a) { return a.first; } - static worth_type& access_worth(storage_type& a) { return a.second; } - - static performance_type get_performance(const storage_type& a) { return a.first; } - static worth_type get_worth(const storage_type& a) { return a.second; } - - // This function calls _eo.worth() which in turn checks the fitness flag and calls get_worth above - // The compiler should be able to inline all these calls and come up with a very compact solution - template - static worth_type get_fitness(const EOT& _eo) { return _eo.worth(); } - - template - static bool is_better(const EOT& _eo1, const EOT& _eo2) - { - return _eo1.worth() > _eo2.worth(); - } -}; - -/* end fitness_traits.h */ - -/* EO.h - -The Fitness template argument is there for backward compatibility reasons - -*/ - -template > -class EO -{ -public : - - typedef Traits fitness_traits; - typedef typename Traits::storage_type storage_type; - typedef typename Traits::performance_type performance_type; - typedef typename Traits::worth_type worth_type; - - EO() : valid_performance(false), valid_worth(false), rep_fitness() {} - - // for backwards compatibility - void fitness(performance_type perf) - { - performance(perf); - } - - void performance(performance_type perf) - { - valid_performance = true; - Traits::access_performance(rep_fitness) = perf; - } - - performance_type performance(void) const - { - if(!valid_performance) throw runtime_error("no performance"); - return Traits::get_performance(rep_fitness); - } - - void worth(worth_type worth) - { - valid_worth = true; - Traits::access_worth(rep_fitness) = worth; - } - - worth_type worth(void) const - { - if(!valid_worth) throw runtime_error("no worth"); - if(!Traits::needs_mapping) throw runtime_error("no mapping"); - return Traits::get_worth(rep_fitness); - } - - worth_type fitness(void) const - { - return Traits::get_fitness(*this); - } - - void invalidate(void) - { - valid_performance = false; - valid_worth = false; - } - - void invalidate_worth(void) - { - valid_worth = false; - } - - bool operator<(const EO& other) const - { - return !Traits::is_better(other, *this); - } - - bool operator>(const EO& other) const - { - return Traits::is_better(other, *this); - } - - private : - - bool valid_performance; - bool valid_worth; - storage_type rep_fitness; -}; - -/* end EO.h */ - -/* eoPerf2Worth.h */ - -// get the name known -template class eoPop; - -template -void exponential_scaling(eoPop& _pop) -{ - for (unsigned i = 0; i < _pop.size(); ++i) - { // change minimimization into maximization - _pop[i].worth(exp(-_pop[i].performance())); - } -} - -template -class eoPerf2Worth /* : public eoUF&, void> */ -{ -public : - virtual void operator()(eoPop& _pop) - { - return exponential_scaling(_pop); - } -}; - -/* end eoPerf2Worth.h */ - - -/* eoPop.h */ - -template -class eoPop : public vector -{ -public : - - typedef typename EOT::fitness_traits fitness_traits; - - eoPop(void) : p2w(0) {} - - void sort() - { - scale(); // get the worths up to date - - std::sort(begin(), end(), greater()); - } - - void scale() - { - if (p2w) - { - if (!fitness_traits::needs_mapping) - { - throw runtime_error("eoPop: no scaling needed, yet a scaling function is defined"); - } - - (*p2w)(*this); - } - else if (fitness_traits::needs_mapping) - { - throw runtime_error("eoPop: no scaling function attached to the population, while one was certainly called for"); - } - } - - void setPerf2Worth(eoPerf2Worth& _p2w) - { - p2w = &_p2w; - } - - void setPerf2Worth(eoPerf2Worth* _p2w) - { - p2w = _p2w; - } - - eoPerf2Worth* getPerf2Worth() { return p2w; } - - void swap(eoPop& other) - { - vector::swap(other); - eoPerf2Worth* tmp = p2w; - p2w = other.p2w; - other.p2w = tmp; - } - -private : - - // a pointer as it can be emtpy - eoPerf2Worth* p2w; -}; - -// need this one to be able to swap the members as well... -template -void swap(eoPop& _p1, eoPop& _p2) -{ - _p1.swap(_p2); -} - -/* end eoPop.h */ - -/* main and test */ - -template -void algo(eoPop& _pop) -{ - eoPop offspring; // how to get the scaling info into this guy?? - offspring.setPerf2Worth(_pop.getPerf2Worth()); // like this! - - std::copy(_pop.begin(), _pop.end(), back_inserter(offspring)); - - offspring.sort(); // should call scale - - swap(_pop, offspring); -} - -void minimization_test() -{ - typedef EO eo_type; - - eo_type eo1; - eo_type eo2; - - eo1.performance(1.0); - eo2.performance(2.0); - - std::cout << "With minimizing fitness" << std::endl; - std::cout << eo1.fitness() << " < " << eo2.fitness() << " returns " << (eo1 < eo2) << std::endl; - std::cout << eo2.fitness() << " < " << eo1.fitness() << " returns " << (eo2 < eo1) << std::endl; -} - -void the_main() -{ - typedef EO simple_eo; - typedef EO > scaled_eo; - - simple_eo eo1; - simple_eo eo3; - -/* First test some simple comparisons */ - - eo1.fitness(10); // could also use performance() - eo3.fitness(5); - - std::cout << eo1.fitness() << std::endl; - std::cout << eo3.fitness() << std::endl; - - std::cout << "eo1 < eo3 = " << (eo1 < eo3) << std::endl; - - - scaled_eo eo2; - scaled_eo eo4; - eo2.performance(10); - eo4.performance(8); - -/* Now test if the worth gets accessed and if the flag protects it */ - - try - { - std::cout << eo2.fitness() << std::endl; - std::cout << "did not throw" << std::endl; - assert(false); // should throw - } - catch(std::exception& e) - { - std::cout << "Fitness threw exception, as it should" << std::endl; - std::cout << e.what() << std::endl; - } - -/* Set the worth and all is well (this is normally done by some perf2worth functor */ - - eo2.worth(3); - eo4.worth(5); - - std::cout << "with maximization " << std::endl; - std::cout << eo2.fitness() << std::endl; - std::cout << eo4.fitness() << std::endl; - std::cout << eo2.fitness() << " < " << eo4.fitness() << " returns " << (eo2 < eo4) << std::endl; - -/* Test the minimization of fitness */ - minimization_test(); - - -/* Populations */ - -// test pop without scaling, should have no overhead save for a single empty pointer in pop - eoPop pop0; - pop0.resize(1); - pop0[0].fitness(1); - - algo(pop0); - - std::cout << pop0[0].fitness() << std::endl; - - assert(pop0[0].fitness() == 1); - -/* test pop with scaling */ - - eoPerf2Worth perf2worth; - eoPop pop1; - - pop1.resize(1); - - pop1[0].fitness(1.0); // emulate evaluation - - // at this point getting the fitness should throw - try - { - std::cout << pop1[0].fitness() << std::endl; - std::cout << "did not throw" << std::endl; - assert(false); // should throw - } - catch(std::exception& e) - { - std::cout << "Fitness threw exception, as it should" << std::endl; - std::cout << e.what() << std::endl; - } - - // at this point trying to scale should throw - try - { - algo(pop1); // should complain that it cannot scale - assert(false); // so it would never get here - } - catch(std::exception& e) - { // but rather ends here - std::cout << e.what() << std::endl; - } - - // ok, now set the scaling - pop1.setPerf2Worth(perf2worth); - - algo(pop1); - - std::cout << "the fitness has been transformed from " << pop1[0].performance() << " to exp(-1) = " << pop1[0].fitness() << std::endl; -} - -int main() -{ - try - { - the_main(); - } - catch(std::exception& e) - { - std::cout << e.what() << std::endl; - } -} - - diff --git a/trunk/paradiseo-eo/test/real_value.h b/trunk/paradiseo-eo/test/real_value.h deleted file mode 100644 index 8bedd6b9d..000000000 --- a/trunk/paradiseo-eo/test/real_value.h +++ /dev/null @@ -1,19 +0,0 @@ -#include -//----------------------------------------------------------------------------- - - -/** Just a simple function that takes an eoEsBase and sets the fitnes - to sphere - @param _ind vector -*/ - -double real_value(const std::vector& _ind) -{ - double sum = 0; - for (unsigned i = 0; i < _ind.size(); i++) - sum += _ind[i] * _ind[i]; - return sum/_ind.size(); -} - - - diff --git a/trunk/paradiseo-eo/test/run_tests b/trunk/paradiseo-eo/test/run_tests deleted file mode 100755 index ebaec0af7..000000000 --- a/trunk/paradiseo-eo/test/run_tests +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -echo "Testing -h" -./t-eoCheckpointing -h - -echo "Finished" - -#TODO test if an error occured -echo "Ok" diff --git a/trunk/paradiseo-eo/test/t-MGE-control.cpp b/trunk/paradiseo-eo/test/t-MGE-control.cpp deleted file mode 100644 index 240dd3688..000000000 --- a/trunk/paradiseo-eo/test/t-MGE-control.cpp +++ /dev/null @@ -1,104 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eoMGE.cpp -//----------------------------------------------------------------------------- - -#ifdef HAVE_CONFIG_H -#include -#endif - -#ifndef __GNUG__ -// to avoid long name warnings -#pragma warning(disable:4786) -#endif // __GNUG__ - -#include "eo" -#include "ga/eoBitOp.h" - -#include "RoyalRoad.h" - -// Viri -#include "VirusOp.h" -#include "eoVirus.h" -#include "eoInitVirus.h" - -//----------------------------------------------------------------------------- - -typedef eoVirus Chrom; - -//----------------------------------------------------------------------------- - -int main() -{ - const unsigned POP_SIZE = 10, CHROM_SIZE = 12; - unsigned i; - eoBooleanGenerator gen; - - // the populations: - eoPop pop; - - // Evaluation - RoyalRoad rr( 8 ); - eoEvalFuncCounter eval( rr ); - - eoInitVirus random(CHROM_SIZE, gen); - for (i = 0; i < POP_SIZE; ++i) { - Chrom chrom; - random(chrom); - eval(chrom); - pop.push_back(chrom); - } - - std::cout << "population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - // selection - eoStochTournamentSelect lottery(0.9 ); - - // breeder - eoOneBitFlip vm; - eoUBitXover xover; - eoProportionalOp propSel; - eoGeneralBreeder breeder( lottery, propSel ); - propSel.add(vm, 0.2); - propSel.add(xover, 0.8); - - // Replace a single one - eoCommaReplacement replace; - - // Terminators - eoGenContinue continuator1(10); - eoFitContinue continuator2(CHROM_SIZE); - eoCombinedContinue continuator(continuator1, continuator2); - eoCheckPoint checkpoint(continuator); - eoStdoutMonitor monitor; - checkpoint.add(monitor); - eoSecondMomentStats stats; - eoPopStat dumper( 10 ); - monitor.add(stats); - checkpoint.add(dumper); - checkpoint.add(stats); - - // GA generation - eoEasyEA ea(checkpoint, eval, breeder, replace ); - - // evolution - try - { - ea(pop); - } - catch (std::exception& e) - { - std::cout << "exception: " << e.what() << std::endl;; - exit(EXIT_FAILURE); - } - - std::cout << "pop" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - std::cout << "\n --> Number of Evaluations = " << eval.getValue() << std::endl; - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-MGE.cpp b/trunk/paradiseo-eo/test/t-MGE.cpp deleted file mode 100644 index a122b5e70..000000000 --- a/trunk/paradiseo-eo/test/t-MGE.cpp +++ /dev/null @@ -1,108 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eoMGE.cpp -//----------------------------------------------------------------------------- - -#ifdef HAVE_CONFIG_H -#include -#endif - -#ifndef __GNUG__ -// to avoid long name warnings -#pragma warning(disable:4786) -#endif // __GNUG__ - -#include -#include - -#include "RoyalRoad.h" - -// Viri -#include "VirusOp.h" -#include "eoVirus.h" -#include "eoInitVirus.h" - -//----------------------------------------------------------------------------- - -typedef eoVirus Chrom; - -//----------------------------------------------------------------------------- - -int main() -{ - const unsigned POP_SIZE = 10, CHROM_SIZE = 12; - unsigned i; - eoBooleanGenerator gen; - - // the populations: - eoPop pop; - - // Evaluation - RoyalRoad rr( 8 ); - eoEvalFuncCounter eval( rr ); - - eoInitVirus random(CHROM_SIZE, gen); - for (i = 0; i < POP_SIZE; ++i) { - Chrom chrom; - random(chrom); - eval(chrom); - pop.push_back(chrom); - } - - std::cout << "population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - // selection - eoStochTournamentSelect lottery(0.9 ); - - // breeder - VirusMutation vm; - VirusTransmission vt; - VirusBitFlip vf; - eoUBitXover xover; - eoProportionalOp propSel; - eoGeneralBreeder breeder( lottery, propSel ); - propSel.add(vm, 0.1); - propSel.add(vf, 0.05); - propSel.add(vt, 0.05); - propSel.add(xover, 0.8); - - // Replace a single one - eoCommaReplacement replace; - - // Terminators - eoGenContinue continuator1(10); - eoFitContinue continuator2(CHROM_SIZE); - eoCombinedContinue continuator(continuator1, continuator2); - eoCheckPoint checkpoint(continuator); - eoStdoutMonitor monitor; - checkpoint.add(monitor); - eoSecondMomentStats stats; - eoPopStat dumper( 10 ); - monitor.add(stats); - checkpoint.add(dumper); - checkpoint.add(stats); - - // GA generation - eoEasyEA ea(checkpoint, eval, breeder, replace ); - - // evolution - try - { - ea(pop); - } - catch (std::exception& e) - { - std::cout << "exception: " << e.what() << std::endl;; - exit(EXIT_FAILURE); - } - - std::cout << "pop" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - std::cout << "\n --> Number of Evaluations = " << eval.getValue() << std::endl; - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-MGE1bit.cpp b/trunk/paradiseo-eo/test/t-MGE1bit.cpp deleted file mode 100644 index 781f5c74e..000000000 --- a/trunk/paradiseo-eo/test/t-MGE1bit.cpp +++ /dev/null @@ -1,111 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eoMGE.cpp -//----------------------------------------------------------------------------- - -#ifdef HAVE_CONFIG_H -#include -#endif - -#ifndef __GNUG__ -// to avoid long name warnings -#pragma warning(disable:4786) -#endif // __GNUG__ - -#include "eo" -#include "ga/eoBitOp.h" -#include "RoyalRoad.h" - -// Viri -#include "VirusOp.h" -#include "eoVirus.h" -#include "eoInitVirus.h" - -//----------------------------------------------------------------------------- - -typedef eoVirus Chrom; - -//----------------------------------------------------------------------------- - -int main() -{ - const unsigned POP_SIZE = 10, CHROM_SIZE = 12; - unsigned i; - eoBooleanGenerator gen; - - // the populations: - eoPop pop; - - // Evaluation - RoyalRoad rr( 8 ); - eoEvalFuncCounter eval( rr ); - - eoInitVirus1bit random(CHROM_SIZE, gen); - for (i = 0; i < POP_SIZE; ++i) { - Chrom chrom; - random(chrom); - eval(chrom); - pop.push_back(chrom); - } - - std::cout << "population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - // selection - eoStochTournamentSelect lottery(0.9 ); - - // breeder - VirusShiftMutation vm; - VirusTransmission vt; - VirusBitFlip vf; - eoUBitXover xover; - eoProportionalOp propSel; - eoGeneralBreeder breeder( lottery, propSel ); - propSel.add(vm, 0.8); - propSel.add(vf, 0.05); - propSel.add(vt, 0.05); - propSel.add(xover, 0.1); - - // Replace a single one - eoCommaReplacement replace; - - // Terminators - eoGenContinue continuator1(10); - eoFitContinue continuator2(CHROM_SIZE); - eoCombinedContinue continuator(continuator1, continuator2); - eoCheckPoint checkpoint(continuator); - eoStdoutMonitor monitor; - checkpoint.add(monitor); - eoSecondMomentStats stats; - eoPopStat dumper( 10 ); - monitor.add(stats); - checkpoint.add(dumper); - checkpoint.add(stats); - - // GA generation - eoEasyEA ea(checkpoint, eval, breeder, replace); - - // evolution - try { - ea(pop); - } catch (std::exception& e) { - std::cerr << "exception: " << e.what() << std::endl;; - exit(EXIT_FAILURE); - } - - std::cout << "pop" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - std::cout << "\n --> Number of Evaluations = " << eval.getValue() << std::endl; - return EXIT_SUCCESS; -} - -//----------------------------------------------------------------------------- - - - -// Local Variables: -// mode: C++ -// c-file-style: "Stroustrup" -// End: diff --git a/trunk/paradiseo-eo/test/t-eo.cpp b/trunk/paradiseo-eo/test/t-eo.cpp deleted file mode 100644 index aea451c34..000000000 --- a/trunk/paradiseo-eo/test/t-eo.cpp +++ /dev/null @@ -1,23 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eo.cpp -//----------------------------------------------------------------------------- - -#include // EO - -//----------------------------------------------------------------------------- - -typedef EO Chrom; - -//----------------------------------------------------------------------------- - -int main() -{ - Chrom chrom1, chrom2; - - std::cout << "chrom1 = " << chrom1 << std::endl - << "chrom2 = " << chrom2 << std::endl; - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eo2dVector.cc b/trunk/paradiseo-eo/test/t-eo2dVector.cc deleted file mode 100644 index bce0e82be..000000000 --- a/trunk/paradiseo-eo/test/t-eo2dVector.cc +++ /dev/null @@ -1,220 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- -/* ------------------------------------------------------------------------------ -File............: t-eo2dVector.cc -Author..........: Geneura Team (this file: Victor Rivas, vrivas@ujaen.es) -Date............: 01-Oct-1999, at Fac. of Sciences, Univ. of Granada (Spain) -Description.....: Test for 2 dimensional eoVector. - - ================ Modif. 1 ================ - Author........: - Date..........: - Description...: - ------------------------------------------------------------------------------ -*/ - -#include -#include // eo2dVector -#include // Random generator - -//----------------------------------------------------------------------------- - -typedef unsigned T; -typedef double fitnessT; -typedef eo2dVector C; - -//----------------------------------------------------------------------------- - -main() -{ - { - C c1; - cout << "Default constructor: " << endl - << c1 << endl; - } - { - C c1( 5,6,1 ); - cout << "Default constructor with values: " << endl - << c1 << endl; - - } - { - eoUniform aleat( 1,10 ); - C c1( 5,6, aleat ); - cout << "Random constructor: " << endl - << c1 << endl; - - } - { - C c1( 3,4,1 ), c2( c1 ); - cout << "Copy constructor: " << endl - << "Original chromosome: " << endl - << c1 << endl - << "Copy chromosome: " << endl - << c2 << endl; - } - - eoUniform aleat( 1,10 ); - C c1( 3,4,aleat ); - - cout << "-----------------------------------------------------" << endl - << "Since now on all the operations are applied to " << endl - << c1 - << "-----------------------------------------------------" << endl; - { - cout << "getGene(2,2): " - << c1.getGene(2,2) << endl; - } - { - c1.setGene( 2,2,300 ); - cout << "setGene(2,2,300): " << endl - << c1 << endl; - } - { - unsigned u1=0, u3=333, u5=555; - vector v1( 4,u1 ), v2( 4,u3 ), v3( 4,u5 ); - c1.insertRow( 0,v1 ); - c1.insertRow( 3,v2 ); - c1.insertRow( 5,v3 ); - cout << "Insert rows at positions 0, 3 and 5: " << endl - << c1 << endl; - } - { - c1.deleteRow( 5 ); - c1.deleteRow( 3 ); - c1.deleteRow( 0 ); - cout << "Delete rows at positions 5, 3 and 0: " << endl - << c1 << endl; - } - { - unsigned u1=0, u3=333, u6=666; - vector v1( 3,u1 ), v2( 3,u3 ), v3( 3,u6 ); - c1.insertCol( 0,v1 ); - c1.insertCol( 3,v2 ); - c1.insertCol( 6,v3 ); - cout << "Insert columns at positions 0, 3 and 6: " << endl - << c1 << endl; - } - { - c1.deleteCol( 6 ); - c1.deleteCol( 3 ); - c1.deleteCol( 0 ); - cout << "Delete columns at positions 6, 3 and 0: " << endl - << c1 << endl; - } - { - cout << "Number of Rows: " << endl - << c1.numOfRows() << endl; - } - { - cout << "Number of Columns: " << endl - << c1.numOfCols() << endl; - } - - { - cout << "Class Name: " << endl - << c1.className() << endl; - } - - - cout << "-----------------------------------------------------" << endl - << "Catching exceptions: " << endl - << c1 - << "-----------------------------------------------------" << endl; - { - cout << "* Trying getGene(10,1): " << endl; - try { - c1.getGene( 10,1 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - { - cout << "* Trying getGene(1,10): " << endl; - try { - c1.getGene( 1,10) ; - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - { - cout << "* Trying setGene( 10,1,999 ): " << endl; - try { - c1.setGene( 10,1,999 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - { - cout << "* Trying setGene( 1,10,999 ): " << endl; - try { - c1.setGene( 1,10,999 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - { - unsigned u1=111; - vector v1( 4, u1 ); - cout << "* Trying insertRow( 10, v1 ): " << endl; - try { - c1.insertRow( 10,v1 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - { - unsigned u1=111; - vector v1( 5, u1 ); - cout << "* Trying insertRow( 1, v1 ) with v1.size()=5: " << endl; - try { - c1.insertRow( 1,v1 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - - { - cout << "* Trying deleteRow( 10 ): " << endl; - try { - c1.deleteRow( 10 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - - { - unsigned u1=111; - vector v1( 3, u1 ); - cout << "* Trying insertCol( 10,v1 ): " << endl; - try { - c1.insertCol( 10,v1 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - - { - unsigned u1=111; - vector v1( 5, u1 ); - cout << "* Trying insertCol( 1,v1 ) with v1.size()=5: " << endl; - try { - c1.insertCol( 1,v1 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - - { - cout << "* Trying deleteCol( 10 ): " << endl; - try { - c1.deleteCol( 10 ); - } catch (exception& e ) { - cerr << e.what() << endl; - } - } - -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoAtomOps.cpp b/trunk/paradiseo-eo/test/t-eoAtomOps.cpp deleted file mode 100644 index d1c70de74..000000000 --- a/trunk/paradiseo-eo/test/t-eoAtomOps.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - t-eoAtomOps.cpp - Program that tests the atomic operator classes - - (c) GeNeura Team, 1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - -*/ - -//-----------------------------------------------------------------------------// - -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include -#include - -using namespace std; - -// Operators we are going to test -#include -#include -#include -#include - -// Several EOs -#include - -// RNGs -#include - -main(int argc, char *argv[]) { - eoString aString("123456"); - eoAtomCreep creeper; - eoAtomMutation< eoString > mutator( creeper, 0.5 ); - - eoNegExp charNE( 2 ); - eoAtomRandom randomer( charNE ); - eoAtomMutation< eoString > mutator2 ( randomer, 0.5 ); - - std::cout << "Before aString " << aString << std::endl; - mutator( aString); - std::cout << " after mutator " << aString << std::endl; - mutator2( aString); - std::cout << " after mutator2 " << aString << std::endl;; - return 0; // to avoid VC++ complaints -} - diff --git a/trunk/paradiseo-eo/test/t-eoBaseFunctions.cpp b/trunk/paradiseo-eo/test/t-eoBaseFunctions.cpp deleted file mode 100644 index 6f6745ac7..000000000 --- a/trunk/paradiseo-eo/test/t-eoBaseFunctions.cpp +++ /dev/null @@ -1,26 +0,0 @@ - -#include - -#include - -using namespace std; - -struct eo1 : public eoF -{ - void operator()(void) {} -}; - -struct eo2 : public eoF -{ - int operator()(void) { return 1; } -}; - -int main() -{ - eo1 _1; _1(); - eo2 _2; - int i = _2(); - - std::cout << i << '\n'; - return i; -} diff --git a/trunk/paradiseo-eo/test/t-eoCMAES.cpp b/trunk/paradiseo-eo/test/t-eoCMAES.cpp deleted file mode 100644 index 365275443..000000000 --- a/trunk/paradiseo-eo/test/t-eoCMAES.cpp +++ /dev/null @@ -1,128 +0,0 @@ - -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - -using namespace eo; -using namespace std; - -typedef eoMinimizingFitness FitT; -typedef eoVector EoType; - -double sqr(double x) { return x*x; } - -eoValueParam evals(0,"Function Evals","Number of Evaluations"); - -double f_sphere(const vector& values) { - double sum = 0.0; - for (unsigned i = 0; i < values.size(); ++i) { - sum += values[i] * values[i]; - } - ++evals.value(); - return sum; -} - -double f_rosen(const vector& x) { - double sum =0.0; - - for (int i = 0; i < x.size()-1; ++i) { - sum += 100 * sqr(sqr(x[i])-x[i+1]) + sqr(1.-x[i]); - } - ++evals.value(); - return sum; -} - - - -int main(int argc, char* argv[]) { - - // make sure we have a dimensionality parameter (for testing) - char** rargv = new char*[argc+1]; - rargv[0] = argv[0]; - rargv[1] = "-N10"; - for (int i = 2; i < argc; ++i) { - rargv[i] = argv[i-1]; - } - - eoParser parser(argc+1, rargv); - - CMAParams params(parser); - - vector initial_point(params.n, 0.0); - - CMAState state(params, initial_point); - - if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - return 1; - } - - eoCMAInit init(state); - - eoPop pop(params.mu, init); - - eoEvalFuncPtr&> eval( f_rosen ); - - eoCMABreed breed(state, params.lambda); - - for (unsigned i = 0; i < pop.size(); ++i) { - eval(pop[i]); - } - - eoCommaReplacement comma; - - eoGenContinue gen(params.maxgen); - eoFitContinue fit(1e-10); - - eoCheckPoint checkpoint(gen); - checkpoint.add(fit); - - eoBestFitnessStat stat; - - eoStdoutMonitor mon; - mon.add(stat); - mon.add(evals); - - eoTimedMonitor timed(1);// 1 seconds - timed.add(mon); // wrap it - - checkpoint.add(timed); - checkpoint.add(stat); - - eoEasyEA algo( - checkpoint, - eval, - breed, - comma); - - - algo(pop); - pop.sort(); - - cout << pop[0] << endl; - cout << "Fitness achieved = " << pop[0].fitness() << endl; - cout << "Function evaluations = " << evals.value() << endl; -} - - - diff --git a/trunk/paradiseo-eo/test/t-eoCheckpointing.cpp b/trunk/paradiseo-eo/test/t-eoCheckpointing.cpp deleted file mode 100644 index 11d5d5932..000000000 --- a/trunk/paradiseo-eo/test/t-eoCheckpointing.cpp +++ /dev/null @@ -1,183 +0,0 @@ -//----------------------------------------------------------------------------- - -// to avoid long name warnings -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include // runtime_error - -//----------------------------------------------------------------------------- -// tt.cpp: -// -//----------------------------------------------------------------------------- - - -// general -#include // Random number generators -#include -#include -#include -#include -//----------------------------------------------------------------------------- - -// include package checkpointing -#include - -struct Dummy : public EO -{ - typedef double Type; -}; - - -struct eoDummyPop : public eoPop -{ -public : - eoDummyPop(int s = 2) { resize(s); } -}; - -//----------------------------------------------------------------------------- - -int the_main(int argc, char **argv) -{ // ok, we have a command line parser and a state - - typedef eoBit Chrom; - - eoParser parser(argc, argv); - - // Define Parameters - eoValueParam rate(0.01, "mutationRatePerBit", "Initial value for mutation rate per bit"); - eoValueParam factor(0.99, "mutationFactor", "Decrease factor for mutation rate"); - eoValueParam seed(time(0), "seed", "Random number seed"); - eoValueParam load_name("", "Load","Load",'L'); - eoValueParam save_name("", "Save","Save",'S'); - - // Register them - parser.processParam(rate, "Genetic Operators"); - parser.processParam(factor, "Genetic Operators"); - parser.processParam(load_name, "Persistence"); - parser.processParam(save_name, "Persistence"); - parser.processParam(seed, "Rng seeding"); - - eoState state; - state.registerObject(parser); - - if (load_name.value() != "") - { // load the parser. This is only neccessary when the user wants to - // be able to change the parameters in the state file by hand. - state.load(load_name.value()); // load the parser - } - - // Create the algorithm here - typedef Dummy EoType; - - eoDummyPop pop; - - eoGenContinue genTerm(5); // run for 5 generations - - eoCheckPoint checkpoint(genTerm); - // The algorithm will now quit after five generations - - // Create a counter parameter - eoValueParam generationCounter(0, "Generation"); - - // Create an incrementor (wich is an eoUpdater). Note that the - // Parameter's value is passed by reference, so every time the incrementer increments, - // the data in generationCounter will change. - eoIncrementor increment(generationCounter.value()); - - // Add it to the checkpoint, this will result in the counter being incremented every generation - checkpoint.add(increment); - - // The file monitor will print parameters to a comma seperated file - eoFileMonitor monitor("monitor.csv"); - - // the checkpoint mechanism can handle multiple monitors - checkpoint.add(monitor); - - // the monitor can monitor parameters such as the generationCounter - monitor.add(generationCounter); - - // Second moment stats: average and stdev - eoSecondMomentStats stats; - - // Add it to the checkpoint to get it called at the appropriate time - checkpoint.add(stats); - - // Add it to the monitor to get it written to the file - monitor.add(stats); - - // save state every third generation - eoCountedStateSaver stateSaver1(3, state, "generation"); - // save state every 2 seconds - eoTimedStateSaver stateSaver2(2, state, "time"); - - // And add the two savers to the checkpoint - checkpoint.add(stateSaver1); - checkpoint.add(stateSaver2); - - // Register the algorithm - state.registerObject(rng); - state.registerObject(pop); - - if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - return 0; - } - - // Either load or initialize - if (load_name.value() != "") - { - state.load(load_name.value()); // load the rest - } - else - { - // else - - // initialize rng and population - - rng.reseed(seed.value()); - - pop.resize(2); - - pop[0].fitness(1); - pop[1].fitness(2); - } - - while(checkpoint(pop)) - { - pop[0].fitness(pop[0].fitness() + 1); - - time_t now = time(0); - - while (time(0) == now) {} // wait a second to test timed saver - - std::cout << "gen " << generationCounter.value() << std::endl; - } - - // run the algorithm - - // Save when needed - if (save_name.value() != "") - { - std::string file_name = save_name.value(); - save_name.value() = ""; // so that it does not appear in the parser section of the state file - state.save(file_name); - } - - return 1; -} - -int main(int argc, char **argv) -{ - try - { - the_main(argc, argv); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << std::endl; - } - -} diff --git a/trunk/paradiseo-eo/test/t-eoESAll.cpp b/trunk/paradiseo-eo/test/t-eoESAll.cpp deleted file mode 100644 index 079494042..000000000 --- a/trunk/paradiseo-eo/test/t-eoESAll.cpp +++ /dev/null @@ -1,150 +0,0 @@ -// Program to test several EO-ES features - -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER - #include -#endif - -using namespace std; - -#include - -// representation specific -#include - -#include "real_value.h" // the sphere fitness - -// Now the main -/////////////// -typedef eoMinimizingFitness FitT; - -template -void runAlgorithm(EOT, eoParser& _parser, eoState& _state); - -int main_function(int argc, char *argv[]) -{ - // Create the command-line parser - eoParser parser(argc, argv); // for user-parameter reading - eoState state; // keeps all things allocated - eoValueParam& simpleParam = parser.getORcreateParam(true, "Isotropic", - "Isotropic self-adaptive mutation", - 'i', "ES mutation"); - eoValueParam& stdevsParam = parser.getORcreateParam(false, "Stdev", - "One self-adaptive stDev per variable", - 's', "ES mutation"); - eoValueParam& corrParam = parser.getORcreateParam(false, "Correl", - "Use correlated mutations", - 'c', "ES mutation"); - // Run the appropriate algorithm - if (simpleParam.value() == false) - { - std::cout << "Using eoReal" << std::endl; - runAlgorithm(eoReal(), parser, state); - } - else if (stdevsParam.value() == false) - { - std::cout << "Using eoEsSimple" << std::endl; - runAlgorithm(eoEsSimple(), parser, state); - } - else if (corrParam.value() == false) - { - std::cout << "Using eoEsStdev" << std::endl; - runAlgorithm(eoEsStdev(), parser, state); - } - else - { - std::cout << "Using eoEsFull" << std::endl; - runAlgorithm(eoEsFull(), parser, state); - } - return 0; -} - - - -// A main that catches the exceptions -int main(int argc, char **argv) -{ -#ifdef _MSC_VER - // rng.reseed(42); - int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); - flag |= _CRTDBG_LEAK_CHECK_DF; - _CrtSetDbgFlag(flag); - // _CrtSetBreakAlloc(100); -#endif - try - { - main_function(argc, argv); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << '\n'; - } -} - - - -/** The templatized main (sort of) - -quite similar to the main of other genotypes (e.g. t-eoReal and t-eoGA -in test dir) -*/ -template -void runAlgorithm(EOT, eoParser& _parser, eoState& _state) -{ - typedef typename EOT::Fitness FitT; - - ///// FIRST, problem or representation dependent stuff - ////////////////////////////////////////////////////// - - // The evaluation fn - encapsulated into an eval counter for output - eoEvalFuncPtr&> mainEval( real_value ); - eoEvalFuncCounter eval(mainEval); - - // the genotype - through a genotype initializer - eoRealInitBounded& init = make_genotype(_parser, _state, EOT()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(_parser, _state, init); - - //// Now the representation-independent things - ////////////////////////////////////////////// - - // initialize the population - and evaluate - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(_parser, _state, init); - apply(eval, pop); - - // stopping criteria - eoContinue & term = make_continue(_parser, _state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(_parser, _state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(_parser, _state, eval, checkpoint, op); - - ///// End of construction of the algorith - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(_parser); - - //// GO - /////// - std::cout << "Initial Population\n"; - pop.sortedPrintOn(std::cout); - std::cout << std::endl; - - run_ea(ga, pop); // run the ga - - std::cout << "Final Population\n"; - pop.sortedPrintOn(std::cout); - std::cout << std::endl; -} diff --git a/trunk/paradiseo-eo/test/t-eoESFull.cpp b/trunk/paradiseo-eo/test/t-eoESFull.cpp deleted file mode 100644 index 7a217b586..000000000 --- a/trunk/paradiseo-eo/test/t-eoESFull.cpp +++ /dev/null @@ -1,180 +0,0 @@ -// Program to test several EO-ES features - -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include -#include -#include -#include -#include - -using namespace std; - -#include - -// representation specific -#include - -#include "real_value.h" // the sphere fitness - -// Now the main -/////////////// -typedef eoMinimizingFitness FitT; - -template -void runAlgorithm(EOT, eoParser& _parser, eoState& _state, eoRealVectorBounds& _bounds, eoValueParam _load_name); - -int main_function(int argc, char *argv[]) -{ - // Create the command-line parser - eoParser parser( argc, argv, "Basic EA for vector with adaptive mutations"); - - // Define Parameters and load them - eoValueParam& seed = parser.createParam(static_cast(time(0)), - "seed", "Random number seed"); - eoValueParam& load_name = parser.createParam(string(), "Load","Load a state file",'L'); - eoValueParam& save_name = parser.createParam(string(), "Save","Saves a state file",'S'); - eoValueParam& stdevs = parser.createParam(false, "Stdev", "Use adaptive mutation rates", 's'); - eoValueParam& corr = parser.createParam(false, "Correl", "Use correlated mutations", 'c'); - eoValueParam& chromSize = parser.createParam(unsigned(50), "ChromSize", "Number of chromosomes", 'n'); - eoValueParam& minimum = parser.createParam(-1.0, "Min", "Minimum for Objective Variables", 'l'); - eoValueParam& maximum = parser.createParam(1.0, "Max", "Maximum for Objective Variables", 'h'); - - eoState state; - state.registerObject(parser); - rng.reseed(seed.value()); - - if (!load_name.value().empty()) - { // load the parser. This is only neccessary when the user wants to - // be able to change the parameters in the state file by hand - // Note that only parameters inserted in the parser at this point - // will be loaded!. - state.load(load_name.value()); // load the parser - } - - state.registerObject(rng); - - eoRealVectorBounds bounds(chromSize.value(), minimum.value(), maximum.value()); - - // Run the appropriate algorithm - if (stdevs.value() == false && corr.value() == false) - { - runAlgorithm(eoEsSimple() ,parser, state, bounds, load_name); - } - else if (corr.value() == true) - { - runAlgorithm(eoEsFull(),parser, state, bounds, load_name); - } - else - { - runAlgorithm(eoEsStdev(), parser, state, bounds, load_name); - } - - // and save - if (!save_name.value().empty()) - { - string file_name = save_name.value(); - save_name.value() = ""; // so that it does not appear in the parser section of the state file - state.save(file_name); - } - - return 0; -} - -// A main that catches the exceptions - -int main(int argc, char **argv) -{ -#ifdef _MSC_VER - // rng.reseed(42); - int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); - flag |= _CRTDBG_LEAK_CHECK_DF; - _CrtSetDbgFlag(flag); -// _CrtSetBreakAlloc(100); -#endif - - try - { - main_function(argc, argv); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} - -template -void runAlgorithm(EOT, eoParser& _parser, eoState& _state, eoRealVectorBounds& _bounds, eoValueParam _load_name) -{ - // evaluation - eoEvalFuncPtr&> eval( real_value ); - - // population parameters, unfortunately these can not be altered in the state file - eoValueParam mu = _parser.createParam(unsigned(7), "mu","Size of the population"); - eoValueParamlambda_rate = _parser.createParam(double(7.0), "lambda_rate", "Factor of children to produce"); - - if (lambda_rate.value() < 1.0f) - { - throw logic_error("lambda_rate must be larger than 1 in a comma strategy"); - } - - // Initialization - eoEsChromInit init(_bounds); - - // State takes ownership of pop because it needs to save it in caller - eoPop& pop = _state.takeOwnership(eoPop(mu.value(), init)); - - _state.registerObject(pop); - - if (!_load_name.value().empty()) - { // The real loading happens here when all objects are registered - _state.load(_load_name.value()); // load all and everything - } - else - { - // evaluate initial population - apply(eval, pop); - } - - // Ok, time to set up the algorithm - // Proxy for the mutation parameters - eoEsMutationInit mutateInit(_parser); - - eoEsMutate mutate(mutateInit, _bounds); - - // monitoring, statistics etc. - eoAverageStat average; - eoStdoutMonitor monitor; - - monitor.add(average); - - eoGenContinue cnt(100); - eoCheckPoint checkpoint(cnt); - checkpoint.add(monitor); - checkpoint.add(average); - - // only mutation (== with rate 1.0) - eoMonGenOp op(mutate); - - // the selection: sequential selection - eoSequentialSelect select; - // the general breeder (lambda is a rate -> true) - eoGeneralBreeder breed(select, op, lambda_rate.value(), true); - - // the replacement - hard-coded Comma replacement - eoCommaReplacement replace; - - // now the eoEasyEA - eoEasyEA es(checkpoint, eval, breed, replace); - - es(pop); - - pop.sort(); - std::cout << "Final population\n" << pop << std::endl; - -} diff --git a/trunk/paradiseo-eo/test/t-eoESOps.cpp b/trunk/paradiseo-eo/test/t-eoESOps.cpp deleted file mode 100644 index d583ada6d..000000000 --- a/trunk/paradiseo-eo/test/t-eoESOps.cpp +++ /dev/null @@ -1,116 +0,0 @@ -// Program to test several EO-ES features - -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include -#include - -using namespace std; - -// general -#include // though contained in all others! -// evolution specific -#include -//#include -//#include -// representation specific - -#include // though contained in following -//#include -#include -//#include -// this fitness -#include "real_value.h" // the sphere fitness - -// Now the main -/////////////// -typedef eoESFullChrom Ind; - -main(int argc, char *argv[]) { - unsigned mu, lambda; - bool comma; - - // Create the command-line parser - Parser parser( argc, argv, "Basic EA for vector with adaptive mutations"); - - //reproducible random seed - thanks, Maarten - InitRandom(parser); - - // a first Ind, reading its parameters from the parser - // will be used later to inialize the whole population - Ind FirstEO(parser); - - // Evaluation - // here we should call some parser-based constructor, - // as many evaluation function need parameters - // and also have some preliminary stuffs to do - eoEvalFuncPtr eval( real_value ); - - // recombination and mutation operators, reading their parameters from the parser - eoESMutate MyMut(parser, - FirstEO.StdDevLength(), FirstEO.size(), - FirstEO.CorCffLength() ); - - std::cout << "First EO " << FirstEO << std::endl; - MyMut(FirstEO); - std::cout << "First EO mutated" << FirstEO << std::endl; - - /* - // Evolution and population parameters - eoScheme the_scheme(parser); - - // recombination and mutation operators, reading their parameters from the parser - eoESReco MyReco(parser, FirstEO); - eoESMutate MyMut(parser, FirstEO); - - // termination conditions read by the parser - eoTermVector the_terms(parser); - - // Initialization of the population - // shoudl be called using the parser, in case you want to read from file(s) - eoESRandomize randomize; // an eoESInd randomnizer - eoPop pop(the_scheme.PopSize(), FirstEO, randomize); - // eval(pop); // shoudl we call it from inside the constructor??? - - // ALL parmeters have been read: write them out - // Writing the parameters on arv[0].status - // but of course this can be modified - see the example parser.cpp - parser.outputParam(); - // except the help parameter??? - if( parser.getBool("-h" , "--help" , "Shows this help")) { - parser.printHelp(); - exit(1); - } - - unsigned i, iind; - - - std::cout << "Initial population: \n" << std::endl; - for (i = 0; i < pop.size(); ++i) { - eval(pop[i]); - std::cout << pop[i].fitness() << "\t" << pop[i] << std::endl; - } - - // the Operators - eoSequentialOpHolder seqholder; - // seqholder.addOp(MyReco, 1.0); - seqholder.addOp(MyMut, 1.0); - - // One generation - eoEvolStep evol_scheme(the_scheme, seqholder, eval); - - // the algorithm: - eoFullEA ea(evol_scheme, the_terms); - - ea(pop); - - std::cout << "Final population: \n" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << pop[i].fitness() << "\t" << pop[i] << std::endl; - return 0; - */ -} - diff --git a/trunk/paradiseo-eo/test/t-eoEasyEA.cpp b/trunk/paradiseo-eo/test/t-eoEasyEA.cpp deleted file mode 100644 index 1b201cfad..000000000 --- a/trunk/paradiseo-eo/test/t-eoEasyEA.cpp +++ /dev/null @@ -1,84 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eoEasyEA.cpp -//----------------------------------------------------------------------------- - -#ifndef __GNUG__ -// to avoid long name warnings -#pragma warning(disable:4786) -#endif // __GNUG__ - -#include - -#include "binary_value.h" - -//----------------------------------------------------------------------------- - -typedef eoBin Chrom; - -//----------------------------------------------------------------------------- - -main() -{ - const unsigned POP_SIZE = 8, CHROM_SIZE = 16; - unsigned i; - -// a chromosome randomizer - eoBinRandom random; -// the populations: - eoPop pop; - - // Evaluation - eoEvalFuncPtr eval( binary_value ); - - for (i = 0; i < POP_SIZE; ++i) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - eval(chrom); - pop.push_back(chrom); - } - - std::cout << "population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - - // selection - eoLottery lottery; - - // breeder - eoBinBitFlip bitflip; - eoBinCrossover xover; - eoProportionalOpSel propSel; - eoBreeder breeder( propSel ); - propSel.addOp(bitflip, 0.25); - propSel.addOp(xover, 0.75); - - // replacement - eoInclusion inclusion; - - // Terminators - eoFitTerm term( pow(2.0, CHROM_SIZE), 1 ); - - // GA generation - eoEasyEA ea(lottery, breeder, inclusion, eval, term); - - // evolution - try - { - ea(pop); - } - catch (std::exception& e) - { - std::cout << "exception: " << e.what() << std::endl;; - exit(EXIT_FAILURE); - } - - std::cout << "pop" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoExternalEO.cpp b/trunk/paradiseo-eo/test/t-eoExternalEO.cpp deleted file mode 100644 index f8f71c93f..000000000 --- a/trunk/paradiseo-eo/test/t-eoExternalEO.cpp +++ /dev/null @@ -1,132 +0,0 @@ -// to avoid long name warnings -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include // runtime_error - -#include -#include -#include - -using namespace std; - -struct UserDefStruct -{ - int a; - float b; - double c; - enum Enum { just, another, test } d; -}; - -std::ostream& operator<<(std::ostream& os, const UserDefStruct& str) -{ - return os << str.a << ' ' << str.b << ' ' << str.c << ' ' << static_cast(str.d) << ' '; -} - -istream& operator>>(istream& is, UserDefStruct& str) -{ - is >> str.a; - is >> str.b; - is >> str.c; - int i; - is >> i; - str.d = static_cast(i); - - return is; -} - - -UserDefStruct RandomStruct() -{ - std::cout << "RandomStruct\n"; - - UserDefStruct result; - - result.a = rng.random(5); - result.b = rng.uniform(); - result.c = rng.uniform(); - result.d = UserDefStruct::another; - - return result; -} - -// reading and writing - - -bool UserDefMutate(UserDefStruct& a) -{ - std::cout << "UserDefMutate\n"; - a = RandomStruct(); // just for testing - - if (rng.flip(0.1f)) - a.d = UserDefStruct::test; - else - a.d = UserDefStruct::another; - return true; -} - -bool UserDefBinCrossover(UserDefStruct& a, const UserDefStruct& b) -{ - std::cout << "UserDefBinCrossover\n"; - - if (rng.flip(0.5)) - a.a = b.a; - if (rng.flip(0.5)) - a.b = b.b; - if (rng.flip(0.5)) - a.c = b.c; - if (rng.flip(0.5)) - a.d = b.d; - return true; -} - -bool UserDefQuadCrossover(UserDefStruct& a, UserDefStruct& b) -{ - std::cout << "UserDefQuadCrossover\n"; - if (rng.flip(0.5)) - swap(a.a, b.a); - if (rng.flip(0.5)) - swap(a.b, b.b); - if (rng.flip(0.5)) - swap(a.c, b.c); - if (rng.flip(0.5)) - swap(a.d, b.d); - - return true; -} - -float UserDefEvalFunc(const UserDefStruct& a) -{ - std::cout << "UserDefEvalFunc\n"; - return a.b; -} - -int main() -{ - typedef UserDefStruct External; - typedef float FitnessType; - typedef eoExternalEO EoType; - - eoExternalInit init(RandomStruct); - eoExternalMonOp mutate(UserDefMutate); - eoExternalBinOp cross1(UserDefBinCrossover); - eoExternalQuadOp cross2(UserDefQuadCrossover); - - // eoExternalEvalFunc eval(UserDefEvalFunc); - - EoType eo1; - init(eo1); - EoType eo2; - init(eo2); - - std::cout << "before mutation " << eo1 << '\n'; - mutate(eo1); - std::cout << "after mutation " << eo1 << '\n'; - cross1(eo1, eo2); - std::cout << "after crossover " << eo1 << '\n'; - - cross2(eo1,eo2); - -}; diff --git a/trunk/paradiseo-eo/test/t-eoFitnessAssembled.cpp b/trunk/paradiseo-eo/test/t-eoFitnessAssembled.cpp deleted file mode 100644 index 5a492aedf..000000000 --- a/trunk/paradiseo-eo/test/t-eoFitnessAssembled.cpp +++ /dev/null @@ -1,105 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// t-eoFitnessAssembled.cpp -// Marc Wintermantel & Oliver Koenig -// IMES-ST@ETHZ.CH -// March 2003 - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- -#include -#include - -#include "eoScalarFitnessAssembled.h" - -void test_eoScalarFitnessAssembledClass(){ - - // Create instances - eoAssembledMinimizingFitness A,B,C(5, 1.3, "C value"); - - // Add some values to them - A.push_back( 5.6, "first value" ); - A.push_back( 3.2, "second value" ); - A.push_back( 2.6, "third value" ); - - B.push_back( 1.2 ); - B.push_back( 3.2 ); - B.push_back( 5.2 ); - - B.setDescription( 1, "B descr" ); - - std::cout << "Created instances A,B and C, added some vals; testing << operator " << std::endl; - std::cout << "A= " << A << std::endl; - std::cout << "B= " << B << std::endl; - std::cout << "C= " << C << std::endl; - std::cout << "Printing values and descriptions: " << std::endl; - std::cout << "A: "; A.printAll( std::cout ); std::cout << std::endl; - std::cout << "B: "; B.printAll( std::cout ); std::cout << std::endl; - std::cout << "C: "; C.printAll( std::cout ); std::cout << std::endl; - - A.resize(8, 100.3, "A resized"); - std::cout << "Resized A: "; A.printAll( std::cout ); std::cout << std::endl; - - std::cout << "Access fitness values of A and B: " << "f(A)= " << (double) A << " f(B)= " << (double) B << std::endl; - - // Testing constructors and assignments - eoAssembledMinimizingFitness D(A) ,E(3.2); - std::cout << "D(A) = " << D << "\t" << "E(3.2)= " << E << std::endl; - eoAssembledMinimizingFitness F,G; - F=A; - G= 7.5; - std::cout << "F = A : " << F << "\t G = 7.5 : " << G << std::endl; - - // Comparing... - std::cout << "AB: " << (A>B) << std::endl; - std::cout << "A<=B: " << (A<=B) << std::endl; - std::cout << "A>=B: " << (A>=B) << std::endl; - -} - - - -int main(){ - - std::cout << "-----------------------------------" << std::endl; - std::cout << "START t-eoFitnessAssembled" << std::endl; - - try{ - // Test the fitness class itself - test_eoScalarFitnessAssembledClass(); - - - - } - catch(std::exception& e){ - std::cout << e.what() << std::endl; - return 1; - } - - std::cout << "END t-eoFitnessAssembled" << std::endl; - std::cout << "----------------------------------" << std::endl; - - return 0; - -} - diff --git a/trunk/paradiseo-eo/test/t-eoFitnessAssembledEA.cpp b/trunk/paradiseo-eo/test/t-eoFitnessAssembledEA.cpp deleted file mode 100644 index 6369ac579..000000000 --- a/trunk/paradiseo-eo/test/t-eoFitnessAssembledEA.cpp +++ /dev/null @@ -1,174 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// t-eoFitnessAssembledEA.cpp -// Marc Wintermantel & Oliver Koenig -// IMES-ST@ETHZ.CH -// March 2003 - -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@inria.fr - mak@dhi.dk -*/ -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -// General eo includes -#include -#include // The real bounds (not yet in general eo include) - -// Representation dependent includes and typedefs -#include // Definition of representation -#include // Uniformly initializes real vector in bounds -#include // Initialization of a genotype -#include // Base class for fitness evaluation -#include // Variation operators using standard Real operators -#include // The fitness class -typedef eoReal Indi; - -// Representation independent modules -#include // Initialization of population -#include // The stopping criterion -#include // Outputs (stats, population dumps, ...) -#include // Evolution engine (selection and replacement) -#include // simple call to the algo.stays there for consistency reasons - -// Define a fitness class -template -class eoAssembledEvalFunc : public eoEvalFunc{ -public: - // Constructor defining number and descriptions of fitness terms - eoAssembledEvalFunc() { - - // Define a temporary fitness object to have access to its static traits - typename EOT::Fitness tmpfit(3, 0.0); - tmpfit.setDescription(0,"Fitness"); - tmpfit.setDescription(1,"Some Value"); - tmpfit.setDescription(2,"Other Value"); - - } - - void operator()(EOT& _eo){ - - // Define temporary fitness object - // (automatically gets initialized with size given in constructor) - typename EOT::Fitness tmpfit; - - // Eval some dummy fitness - double sum1=0.0, sum2=0.0; - for (unsigned i=0; i < _eo.size(); ++i){ - sum1 += _eo[i]*_eo[i]; - sum2 += fabs(_eo[i]) + fabs(_eo[i]); - } - - // Store some fitness terms - tmpfit[1]= sum1; - tmpfit[2]= sum2; - - // Store the fitness - tmpfit = (sum1 + sum2)/_eo.size(); - - // Pass it - _eo.fitness( tmpfit ); - - } -}; - -// checks for help demand, and writes the status file and make_help; in libutils -void make_help(eoParser & _parser); - -// now use all of the above, + representation dependent things -int main(int argc, char* argv[]){ - - std::cout << "-----------------------------------" << std::endl; - std::cout << "START t-eoFitnessAssembledEA" << std::endl; - - try{ - - // Parser & State - eoParser parser(argc, argv); // for user-parameter reading - eoState state; // keeps all things allocated - - //// - // A) Representation dependent stuff - //// - - // The fitness - eoAssembledEvalFunc plainEval; - // turn that object into an evaluation counter - eoEvalFuncCounter eval(plainEval); - - // The genotype - eoRealInitBounded& init = do_make_genotype(parser, state, Indi() ); - - // The variation operators - eoGenOp& op = do_make_op(parser, state, init); - - //// - // B) Create representation independent stuff - //// - - // initialize the population - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = do_make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = do_make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = do_make_checkpoint_assembled(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = do_make_algo_scalar(parser, state, eval, checkpoint, op); - - - make_help(parser); // To be called after all parameters have been read ! - - //// - // C) Run the algorithm - //// - - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // if you want to print it out - std::cout << "Initial Population\n"; - pop.sortedPrintOn(std::cout); - std::cout << std::endl; - - do_run(ga, pop); // run the ga - - std::cout << "Final Population\n"; - pop.sortedPrintOn(std::cout); - std::cout << std::endl; - - } - catch(std::exception& e) - { - std::cout << e.what() << std::endl; - return 1; - } - - std::cout << "-----------------------------------" << std::endl; - std::cout << "END t-eoFitnessAssembledEA" << std::endl; - - return 0; - -} diff --git a/trunk/paradiseo-eo/test/t-eoFunctor.cpp b/trunk/paradiseo-eo/test/t-eoFunctor.cpp deleted file mode 100644 index 27ccf995d..000000000 --- a/trunk/paradiseo-eo/test/t-eoFunctor.cpp +++ /dev/null @@ -1,49 +0,0 @@ - -#include -#include - -void f(eoInit& func) -{ - int i; - func(i); -} - -class Tester : public eoInit -{ -public : - void operator()(int& i) - { - i=1; - } -}; - -#include -#include -#include - -using namespace std; - -int main(void) -{ - Tester test; - - eoFunctorStore store; - - /// make a counter and store it in 'store' - eoInit& cntr = make_counter(functor_category(test), test, store); - - eoUnaryFunctorCounter > cntr2(test); - - f(cntr); - f(cntr2); - f(cntr2); - f(test); - - typedef eoVariableLength EoType; - EoType eo; - - eo.push_back(1); - eo.push_back(2); - - return 1; -} \ No newline at end of file diff --git a/trunk/paradiseo-eo/test/t-eoGA.cpp b/trunk/paradiseo-eo/test/t-eoGA.cpp deleted file mode 100644 index effac3b03..000000000 --- a/trunk/paradiseo-eo/test/t-eoGA.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include - -#include -#include -#include "binary_value.h" -#include - -using namespace std; - -int main(int argc, char* argv[]) -{ - - try - { - typedef eoBit EOT; - - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - ///// FIRST, problem or representation dependent stuff - ////////////////////////////////////////////////////// - - // The evaluation fn - encapsulated into an eval counter for output - eoEvalFuncPtr mainEval( binary_value ); - eoEvalFuncCounter eval(mainEval); - - // the genotype - through a genotype initializer - eoInit& init = make_genotype(parser, state, EOT()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(parser, state, init); - - //// Now the representation-independent things - ////////////////////////////////////////////// - - // initialize the population - and evaluate - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op); - - ///// End of construction of the algorith - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // print it out - std::cout << "Initial Population\n"; - pop.sortedPrintOn(std::cout); - std::cout << std::endl; - - run_ea(ga, pop); // run the ga - - std::cout << "Final Population\n"; - pop.sortedPrintOn(std::cout); - std::cout << std::endl; - } - catch(std::exception& e) - { - std::cout << e.what() << std::endl; - } -} diff --git a/trunk/paradiseo-eo/test/t-eoGOpSel.cpp b/trunk/paradiseo-eo/test/t-eoGOpSel.cpp deleted file mode 100644 index 2606bab69..000000000 --- a/trunk/paradiseo-eo/test/t-eoGOpSel.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - t-eoGOpSel.cpp - Testing proportional operator selectors - - (c) Maarten Keijzer and GeNeura Team, 2000 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - -*/ - -//-----------------------------------------------------------------------------// - -#ifndef __GNUG__ -// to avoid long name warnings -#pragma warning(disable:4786) -#endif // __GNUG__ - -#include - -#include // eoBin, eoPop, eoBreeder -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include -#include - -// Fitness evaluation -#include "binary_value.h" - -//----------------------------------------------------------------------------- - -typedef eoBin Chrom; - -//----------------------------------------------------------------------------- - -main() -{ - rng.reseed(42); // reproducible random seed - - const unsigned POP_SIZE = 8, CHROM_SIZE = 4; - unsigned i; - - eoBinRandom random; - eoPop pop; - - for (i = 0; i < POP_SIZE; ++i) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - chrom.fitness(binary_value(chrom)); - pop.push_back(chrom); - } - - std::cout << "population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << pop[i] << " " << pop[i].fitness() << std::endl; - - eoBinBitFlip bitflip; - eoBinCrossover xover; - - eoEvalFuncPtr eval(binary_value); - - //Create the proportional operator selector and add the - // two operators creatd above to it. - - eoProportionalGOpSel propSel; - eoSequentialGOpSel seqSel; - - propSel.addOp(bitflip, 0.5); - propSel.addOp(xover, 0.5); - - // seqSel selects operator in sequence, creating a combined operator - // add a bitflip, an xover and another bitflip - seqSel.addOp(bitflip, 0.25); - seqSel.addOp(xover, 0.5); - seqSel.addOp(bitflip, 0.25); - - - eoRandomIndiSelector selector1; - eoDetTournamentIndiSelector selector2(2); - - eoBackInserter inserter1; - eoDetTournamentInserter inserter2(eval, 2); - eoStochTournamentInserter inserter3(eval, 0.9f); - - eoGOpBreeder breeder1(propSel, selector1); - eoGOpBreeder breeder2(seqSel, selector1); - eoGOpBreeder breeder3(propSel, selector2); - eoGOpBreeder breeder4(seqSel, selector2); - - // test the breeders - - breeder1(pop); - breeder2(pop); - breeder3(pop); - breeder4(pop); - - eoState state; - - state.registerObject(pop); - - state.save(std::std::cout); - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoGenOp.cpp b/trunk/paradiseo-eo/test/t-eoGenOp.cpp deleted file mode 100644 index 45a790db8..000000000 --- a/trunk/paradiseo-eo/test/t-eoGenOp.cpp +++ /dev/null @@ -1,428 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoGenOp.cpp -// (c) Maarten Keijzer and Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mkeijzer@dhi.dk - Marc.Schoenauer@polytechnique.fr - */ -//----------------------------------------------------------------------------- - -/** test program for the general operator - millenium version! - * uses dummy individuals - */ - -#include - -#include -#include -#include - -struct Dummy : public EO -{ - typedef double Type; - Dummy(std::string _s="") : s(_s) {} - - void printOn(std::ostream & _os) const - { - EO::printOn(_os); - _os << " - " << s ; - } - - std::string s; -}; - -typedef Dummy EOT; - -unsigned int pSize; // global to be used as marker in the fitness - -// DEFINITIONS of the eoOps -class monop : public eoMonOp -{ - public : - monop(char * _sig){sig=_sig;} - bool operator()(EOT& _eo) - { - _eo.s = sig + "(" + _eo.s + ")"; - _eo.fitness(_eo.fitness()+pSize); - return false; - } - std::string className() const {return sig;} - private: - std::string sig; -}; - -class binop: public eoBinOp -{ - public : - bool operator()(EOT& _eo1, const EOT& _eo2) - { - _eo1.s = "bin(" + _eo1.s + "," + _eo2.s + ")"; - double f= (_eo1.fitness()+_eo2.fitness()) * pSize; - _eo1.fitness(_eo1.fitness()+f); - return false; - } - std::string className() const {return "binop";} -}; - -class quadop: public eoQuadOp -{ - public : - std::string className() const {return "quadop";} - bool operator()(EOT& a, EOT& b) - { - EOT oi = a; - EOT oj = b; - - a.s = "quad1(" + oi.s + "," + oj.s + ")"; - b.s = "quad2(" + oj.s + "," + oi.s + ")"; - double f= (a.fitness()+b.fitness()+2*pSize) * pSize; - a.fitness(a.fitness()+f); - b.fitness(b.fitness()+f); - return false; - } -}; -// an eoQuadOp that does nothing -class quadClone: public eoQuadOp -{ - public : - std::string className() const {return "quadclone";} - bool operator()(EOT& , EOT& ) {return false;} -}; - -// User defined General Operator... adapted from Marc's example - -class one2threeOp : public eoGenOp // :-) -{ - public: - unsigned max_production(void) { return 3; } - - void apply(eoPopulator& _plop) - { - EOT& eo = *_plop; // select the guy - - ++_plop; // advance - _plop.insert("v(" + eo.s + ", 1)"); - ++_plop; - _plop.insert("v(" + eo.s + ", 2)"); - eo.s = "v(" + eo.s + ", 0)"; // only now change the thing - // oh right, and invalidate fitnesses - } - virtual std::string className() const {return "one2threeOp";} -}; - - -class two2oneOp : public eoGenOp // :-) -{ - public: - unsigned max_production(void) { return 1; } - - void apply(eoPopulator& _plop) - { - EOT& eo = *_plop; // select the guy - const EOT& eo2 = _plop.select(); - eo.s = "221(" + eo.s + ", " + eo2.s + ")"; - // oh right, and invalidate fitnesses - } - virtual std::string className() const {return "two2oneOp";} -}; - -class three2threeOp : public eoGenOp // :-) -{ - public: - unsigned max_production(void) { return 3; } - - void apply(eoPopulator& _plop) - { - EOT& eo1 = *_plop; // select 1st guy - EOT& eo2 = *++_plop; // select 2nd guy - EOT& eo3 = *++_plop; // select 3rd guy - EOT a = eo1; - EOT b = eo2; - EOT c = eo3; - std::cout << "les selectionnes: a=" << a << " et b=" << b << " et c=" << c << std::endl; - eo1.s = "323-1(" + a.s + ", " + b.s + ", " + c.s + ")"; - eo2.s = "323-2(" + a.s + ", " + b.s + ", " + c.s + ")"; - eo3.s = "323-3(" + a.s + ", " + b.s + ", " + c.s + ")"; - // oh right, and invalidate fitnesses - std::cout << "les enfants: a=" << eo1 << " et b=" << eo2 << " et c=" << eo3 << std::endl; - } - virtual std::string className() const {return "three2threeOp";} -}; - - -// dummy intialization. Re-init if no pSize, resize first if pSize -void init(eoPop & _pop, unsigned _pSize) -{ - if (_pSize) - { - _pop.resize(_pSize); - } - else - { - throw std::runtime_error("init pop with 0 size"); - } - for (unsigned i=0; i<_pSize; i++) - { - std::ostringstream os; - os << i << std::ends; - _pop[i] = Dummy(os.str()); - _pop[i].fitness(i); - } -} - -// ok, now for the real work -int the_main(int argc, char **argv) -{ - - eoParser parser(argc, argv); - eoValueParam parentSizeParam = parser.createParam(unsigned(10), "parentSize", "Parent size",'P'); - pSize = parentSizeParam.value(); // global variable - - eoValueParam seedParam(time(0), "seed", "Random number seed", 'S'); - parser.processParam( seedParam ); - eo::rng.reseed(seedParam.value()); - - // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED - // i.e. in case you need parameters somewhere else, postpone these - if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - exit(1); - } - - ////////////////////////////////// define operators - monop mon("mon1"); - monop clone("clone"); - binop bin; - quadop quad; - quadClone quadclone; - - // our own operator - one2threeOp o2t; - two2oneOp t2o; - three2threeOp t2t; - - - // a selector - eoDetTournamentSelect select; - // and a recognizable selector for testing the inbedded selector mechanism - eoBestSelect selectBest; - - // proportional selection between quad and bin - // so we either do a quad or a bin - eoProportionalOp pOp; - pOp.add(quad, 0.1); - pOp.add(bin, 0.1); - - // sequential selection between pOp and mon - eoSequentialOp sOp; - sOp.add(pOp, 0.9); - sOp.add(mon, 0.1); - - // with one2three op - eoSequentialOp sOp2; - sOp2.add(o2t, 1); - // sOp2.add(quad, 1); - - // with three2three op - eoSequentialOp sOp3; - sOp3.add(t2t, 1); - -// eoSequentialOp sOp3; -// sOp3.add(t2o, 1); -// sOp3.add(bin, 1); -// sOp3.add(quad, 1); - // try adding quads and bins to see what results you'll get - - // now a sequential selection that is a simple "addition" - eoSequentialOp sOpQuadPlusMon; - sOpQuadPlusMon.add(quad, 1); - sOpQuadPlusMon.add(mon, 1); - - // this corresponds - eoProportionalOp pOpSAGLike; - pOpSAGLike.add(sOpQuadPlusMon, 0.24); - pOpSAGLike.add(quad, 0.56); - pOpSAGLike.add(mon, 0.06); - pOpSAGLike.add(clone, 0.14); - - // init - eoPop pop; - eoPop offspring; - - init(pop, pSize); -// sort pop so seqPopulator is identical to SelectPopulator(SequentialSelect) - pop.sort(); - std::cout << "Population initiale\n" << pop << std::endl; - - // To simulate SGA: first a prop between quadOp and quadClone - eoProportionalOp pSGAOp; - pSGAOp.add(quad, 0.8); - pSGAOp.add(quadclone, 0.2); - // sequential selection between pSGAOp and mon - eoSequentialOp virtualSGA; - virtualSGA.add(pSGAOp, 1.0); - virtualSGA.add(mon, 0.3); - - eoSeqPopulator popit(pop, offspring); // no selection, a copy of pop - - // until we filled a new population - try - { - while (offspring.size() < pop.size()) - { - virtualSGA(popit); - std::cout << "SeqPopulator boucle et incremente\n"; - ++popit; - } - } - catch(eoPopulator::OutOfIndividuals&) - { - std::cout << "Warning: not enough individuals to handle\n"; - } - - - std::swap(pop, offspring); - offspring.clear(); - - // ok, now print - std::cout << "Apres virtualSGA \n" << pop << std::endl; - init(pop, pSize); - - std::cout << "=========================================================\n"; - std::cout << "Now the eoSelectPopulator version !" << std::endl; - - eoSequentialSelect seqSelect; - // select.init(); should be sorted out: is it the setup method??? - eoSelectivePopulator it_step3(pop, offspring, seqSelect); - - while (offspring.size() < 2*pop.size()) - { - virtualSGA(it_step3); - std::cout << "SelectPopulator boucle et incremente\n"; - ++it_step3; - } - - std::swap(pop, offspring); - offspring.clear(); - - // ok, now print - std::cout << "Apres SGA-like eoSelectivePopulator\n" << pop << std::endl; - - std::cout << "=========================================================\n"; - std::cout << "Now the pure addition !" << std::endl; - - init(pop, pSize); - eoSelectivePopulator it_step4(pop, offspring, seqSelect); - while (offspring.size() < 2*pop.size()) - { - sOpQuadPlusMon(it_step4); - ++it_step4; - } - - std::swap(pop, offspring); - offspring.clear(); - - // ok, now print - std::cout << "Apres Quad+Mon ds un eoSelectivePopulator\n" << pop << std::endl; - - // On teste 1->3 - init(pop, pSize); - eoSelectivePopulator it_step5(pop, offspring, seqSelect); - while (offspring.size() < 2*pop.size()) - { - sOp2(it_step5); - ++it_step5; - } - - std::swap(pop, offspring); - offspring.clear(); - - // ok, now print - std::cout << "Apres 1->3 seul ds un eoSelectivePopulator\n" << pop << std::endl; - - // On teste 3->3 - init(pop, pSize); - eoSelectivePopulator it_step6(pop, offspring, seqSelect); - while (offspring.size() < 2*pop.size()) - { - sOp3(it_step6); - ++it_step6; - } - - std::swap(pop, offspring); - offspring.clear(); - - // ok, now print - std::cout << "Apres 3->3 seul ds un eoSelectivePopulator\n" << pop << std::endl; - - - return 1; -} - -int main(int argc, char **argv) -{ - try - { - the_main(argc, argv); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << std::endl; - } - -} - -/* -If you want to build an SGA, you will need a copying quad op: - -class quadclone : ... -{ - operator(EOT& a, EOT& b) - { - // do nothing - } - -} - -Then the SGA operator will look like: - -quadop quad; -guadclone clone; - -ProportionalGenOp pOp; -pOp.add(quad, 0.8); -pOp.add(clone, 0.2); // so 80% xover rate - -SequentialGenOp sOp; -sOp.add(pOp, 1,0); // always try a xover (clone 20%) -sOp.add(mut, 0.1); // low mutation rate - -will result in an algorithm with: - -p_xover = 0.8 -p_mut = 0.1; - -p_reproduction = 0.2 * 0.9 = 0.18 - -this does not add up to 1 because xover and mutation can be applied to a single indi - -So what do you think? - -*/ diff --git a/trunk/paradiseo-eo/test/t-eoNonUniform.cpp b/trunk/paradiseo-eo/test/t-eoNonUniform.cpp deleted file mode 100644 index 3a59bc8c2..000000000 --- a/trunk/paradiseo-eo/test/t-eoNonUniform.cpp +++ /dev/null @@ -1,31 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eoNonUniform.cc -//----------------------------------------------------------------------------- - -#include -#include - -//----------------------------------------------------------------------------- - -main() -{ - eoNonUniform nu(1000); - - std::cout << "----------------------------------------------------------" << std::endl - << "nu.step() = " << nu.step() - << "\t nu.num_step() = " << nu.num_step() << std::endl - << "----------------------------------------------------------" << std::endl; - - eoLinear l1(0, 1, nu), l2(1, 0, nu); - eoNegExp2 n1(0.1, 8, nu), n2(0.75, 3, nu); - - for (; nu; ++nu) - { - std::cout << nu.step() - << "\t" << l1() << "\t" << l2() - << "\t" << n1() << "\t" << n2() - << std::endl; - } -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoPBIL.cpp b/trunk/paradiseo-eo/test/t-eoPBIL.cpp deleted file mode 100644 index b7f39c7b5..000000000 --- a/trunk/paradiseo-eo/test/t-eoPBIL.cpp +++ /dev/null @@ -1,141 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// t-eoPBIL.cpp -// (c) Marc Schoenauer, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: Marc.Schoenauer@inria.fr - */ -//----------------------------------------------------------------------------- - -/** test program for PBIL algorithm */ - -#include -#include -#include -#include "binary_value.h" -#include -#include -#include -#include -#include - -using namespace std; - -typedef eoBit Indi; - -// instanciating the outside subroutine that creates the distribution -#include "ga/make_PBILdistrib.h" -eoPBILDistrib & make_PBILdistrib(eoParser& _parser, eoState&_state, Indi _eo) -{ - return do_make_PBILdistrib(_parser, _state, _eo); -} - -// instanciating the outside subroutine that creates the update rule -#include "ga/make_PBILupdate.h" -eoDistribUpdater & make_PBILupdate(eoParser& _parser, eoState&_state, Indi _eo) -{ - return do_make_PBILupdate(_parser, _state, _eo); -} - - -int main(int argc, char* argv[]) -{ - - try - { - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - ///// FIRST, problem or representation dependent stuff - ////////////////////////////////////////////////////// - - // The evaluation fn - encapsulated into an eval counter for output - eoEvalFuncPtr mainEval( binary_value); - eoEvalFuncCounter eval(mainEval); - - // COnstruction of the distribution - eoPBILDistrib & distrib = make_PBILdistrib(parser, state, Indi()); - // and the update rule - eoDistribUpdater & update = make_PBILupdate(parser, state, Indi()); - - //// Now the representation-independent things - ////////////////////////////////////////////// - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - - // add a graphical output for the distribution - // first, get the direname from the parser - // it has been enetered in make_checkoint - - eoParam* ptParam = parser.getParamWithLongName(string("resDir")); - eoValueParam* ptDirNameParam = dynamic_cast*>(ptParam); - if (!ptDirNameParam) // not found - throw runtime_error("Parameter resDir not found where it was supposed to be"); - - // now create the snapshot monitor - eoValueParam& plotDistribParam = parser.getORcreateParam(false, "plotDistrib", - "Plot Distribution", '\0', - "Output - Graphical"); - if (plotDistribParam.value()) - { - unsigned frequency=1; // frequency of plots updates - eoGnuplot1DSnapshot *distribSnapshot = new eoGnuplot1DSnapshot(ptDirNameParam->value(), - frequency, "distrib"); - state.storeFunctor(distribSnapshot); - // add the distribution (it is an eoValueParam >) - distribSnapshot->add(distrib); - // and of course add it to the checkpoint - checkpoint.add(*distribSnapshot); - } - - // the algorithm: EDA - // don't know where else to put the population size! - unsigned popSize = parser.getORcreateParam(unsigned(100), "popSize", - "Population Size", 'P', "Algorithm").value(); - eoSimpleEDA eda(update, eval, popSize, checkpoint); - - ///// End of construction of the algorith - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - - eda(distrib); // run the eda - - std::cout << "Final Distribution\n"; - distrib.printOn(std::cout); - std::cout << std::endl; - - // wait - for graphical output - if (plotDistribParam.value()) - { - string foo; - cin >> foo; - } - } - catch(std::exception& e) - { - std::cout << e.what() << std::endl; - } -} diff --git a/trunk/paradiseo-eo/test/t-eoPareto.cpp b/trunk/paradiseo-eo/test/t-eoPareto.cpp deleted file mode 100644 index f98a0d966..000000000 --- a/trunk/paradiseo-eo/test/t-eoPareto.cpp +++ /dev/null @@ -1,248 +0,0 @@ - -#include - -//#include -#include -#include - -using namespace std; - -// Look: overloading the maximization without overhead (thing can be inlined) -class MinimizingFitnessTraits : public eoParetoFitnessTraits -{ - public : - static bool maximizing(int) { return false; } -}; - -typedef eoParetoFitness fitness_type; - -const unsigned chromsize=3; -const double minval = -5; -const double maxval = 5; - -struct eoDouble : public EO -{ - double value[chromsize]; -}; - -class Mutate : public eoMonOp -{ - bool operator()(eoDouble& _eo) - { - for (unsigned i = 0; i < chromsize; ++i) - { - if (rng.flip(1./chromsize)) - _eo.value[i] += rng.normal() * 0.1 * _eo.value[i]; - - if (_eo.value[i] < minval) - _eo.value[i] = minval; - else if (_eo.value[i] > maxval) - _eo.value[i] = maxval; - } - - return true; - } -}; - -class Eval : public eoEvalFunc -{ - void operator()(eoDouble& _eo) - { - vector x(_eo.value, _eo.value + chromsize); - fitness_type f; - - for (unsigned i = 0; i < chromsize; ++i) - { - if (i < chromsize-1) - { - f[0] += -10.0 * exp(-0.2 * sqrt(x[i]*x[i] + x[i+1]*x[i+1])); - } - - f[1] += pow(fabs(x[i]), 0.8) + 5 * pow(sin(x[i]),3.); - } - - _eo.fitness(f); - } -}; - -class Init : public eoInit -{ - void operator()(eoDouble& _eo) - { - _eo.value[0] = rng.uniform(); - - double range = maxval - minval; - - for (unsigned i = 1; i < chromsize; ++i) - _eo.value[i] = rng.uniform() * range + minval; - _eo.invalidate(); - } -}; - -/** @brief An elitist non-dominated sorted replacement scheme. - -Trying out an elitist non-dominated sorted replacement scheme. -*/ -template -class eoNDPlusReplacement : public eoReplacement -{ -public: - - // using eoNDPlusReplacement< EOT, WorthT >::first; - - eoNDPlusReplacement(eoPerf2Worth& _perf2worth) - : perf2worth(_perf2worth) - {} - - struct WorthPair : public pair - { - bool operator<(const WorthPair& other) const - { return other.first < this->first; } - }; - - - void operator()(eoPop& _parents, eoPop& _offspring) - { - unsigned sz = _parents.size(); - _parents.reserve(_parents.size() + _offspring.size()); - std::copy(_offspring.begin(), _offspring.end(), back_inserter(_parents)); - - // calculate worths - perf2worth(_parents); - perf2worth.sort_pop(_parents); - perf2worth.resize(_parents, sz); - - _offspring.clear(); - } - -private : - eoPerf2Worth& perf2worth; -}; - -template -eoPerf2Worth& make_perf2worth(eoParser& parser, eoState& state) -{ - - unsigned what = parser.createParam(unsigned(1), "perf2worth", "worth mapping indicator : \n\t \ - 0: non_dominated sorting \n\t\ - 1: non_dominated sorting 2 \n\t\ - 2: simple ranking \n\t", 'w').value(); - - switch (what) - { - case 1 : return state.storeFunctor(new eoNDSorting_II()); - case 2 : - { - eoDominanceMap& dominance = state.storeFunctor(new eoDominanceMap); - return state.storeFunctor(new eoParetoRanking(dominance)); - } - } - //default - - if (what > 2) - { - std::cout << "Warning, need an integer < 3 for perf2worth" << std::endl; - // should actually set parser flag, but I don't care - } - - return state.storeFunctor(new eoNDSorting_I(0.5)); -} - -template -eoSelectOne& make_selector(eoParser& parser, eoState& state, eoPerf2Worth& perf2worth) -{ - unsigned tournamentsize = parser.createParam(unsigned(2), "tournament_size", "Tournament Size", 't').value(); - double stochtour = parser.createParam(unsigned(0.95), "tournament_prob", "Probability in stochastic tournament").value(); - - switch (parser.createParam(unsigned(0), "selector", "Which selector (too lazy to explain: use the source)", 's').value()) - { - case 1 : return state.storeFunctor(new eoStochTournamentWorthSelect(perf2worth, stochtour)); - case 2 : return state.storeFunctor(new eoRouletteWorthSelect(perf2worth)); - case 3 : return state.storeFunctor(new eoRandomSelect); - } - // default - - return state.storeFunctor(new eoDetTournamentWorthSelect(perf2worth, tournamentsize)); -} - -// Test pareto dominance and perf2worth, and while you're at it, test the eoGnuPlot monitor as well -void the_main(int argc, char* argv[]) -{ - Init init; - Eval eval; - Mutate mutate; - - eoParser parser(argc, argv); - eoState state; - - unsigned num_gen = parser.createParam(unsigned(50), "num_gen", "number of generations to run", 'g').value(); - unsigned pop_size = parser.createParam(unsigned(100), "pop_size", "population size", 'p').value(); - eoPop pop(pop_size, init); - - // Look, a factory function - eoPerf2Worth& perf2worth = make_perf2worth(parser, state); - - // Look: another factory function, now for selection - eoSelectOne& select = make_selector(parser, state, perf2worth); - - // One general operator - eoProportionalOp opsel; - opsel.add(mutate, 1.0); - - // the breeder - eoGeneralBreeder breeder(select, opsel); - - // replacement - eoNDPlusReplacement replace(perf2worth); - - unsigned long generation = 0; - eoGenContinue gen(num_gen, generation); - eoCheckPoint cp(gen); - - eoMOFitnessStat fitness0(0, "FirstObjective"); - eoMOFitnessStat fitness1(1, "SecondObjective"); - - cp.add(fitness0); - cp.add(fitness1); - - eoGnuplot1DSnapshot snapshot("pareto"); - //snapshot.with(eoGnuplot::Points(3)); - - cp.add(snapshot); - - snapshot.add(fitness0); - snapshot.add(fitness1); - - // the algo - eoEasyEA ea(cp, eval, breeder, replace); - - if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - return; - } - - apply(eval, pop); - ea(pop); -} - - -int main(int argc, char* argv[]) -{ - try - { - the_main(argc, argv); - } - catch (std::exception& e) - { - std::cout << "Exception thrown: " << e.what() << std::endl; - throw e; // make sure it does not pass the test - } -} - - - -// Local Variables: -// mode: C++ -// c-file-style: "Stroustrup" -// End: diff --git a/trunk/paradiseo-eo/test/t-eoParetoFitness.cpp b/trunk/paradiseo-eo/test/t-eoParetoFitness.cpp deleted file mode 100644 index bd5d0d2bd..000000000 --- a/trunk/paradiseo-eo/test/t-eoParetoFitness.cpp +++ /dev/null @@ -1,196 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// t-eoParetoFitness.cpp -// (c) Maarten Keijzer -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: mak@dhi.dk - -30/01/02 - MS - Added the eoVariableParetoTraits - and the compare Fn - */ -//----------------------------------------------------------------------------- - -#include -#include - -#include "eoParetoFitness.h" - -using namespace std; - -/** test program for Pareto Fitness */ - -class MinimizingTraits : public eoParetoFitnessTraits -{ -public : - - static bool maximizing(int) { return false; } -}; - -template -void compare(F & _eo1, F & _eo2) -{ - if (_eo1.dominates(_eo2)) - std::cout << _eo1 << " dominates " << _eo2 << std::endl; - else if (_eo2.dominates(_eo1)) - std::cout << _eo2 << " dominates " << _eo1 << std::endl; - else - std::cout << "None of " << _eo1 << " and " << _eo2 << "dominates the other" << std::endl; - return; -} - -int main() -{ - typedef eoParetoFitness<> MaxFitness; - typedef eoParetoFitness MinFitness; - - typedef eoParetoFitness VarFitness; - - try{ - - MaxFitness f0; - f0[0] = 0.0; - f0[1] = 1.0; - - MaxFitness f1; - f1[0] = 1.0; - f1[1] = 0.0; - - MaxFitness f2; - f2[0] = 0.0; - f2[1] = 0.5; - - // now f0 should dominate f2; - - if (!f0.dominates(f2)) - { - std::cout << f2 << " not dominated by " << f0; - throw; - } - - // f0 and f1 should not dominate each other - - if (f0.dominates(f1) || f1.dominates(f0)) - { - std::cout << f0 << " and " << f1 << " dominate"; - throw; - } - - if (! (f0 == f0)) - { - std::cout << "f0 == f0 failed" << std::endl; - throw; - } - - // test ctors and such - MaxFitness f3 = f0; - f3[0] += 1e-9; - - // test tolerance - assert(f3 == f0); - - MinFitness m0; - MinFitness m1; - MinFitness m2; - MinFitness m3; - - m0[0] = 0.0; - m0[1] = 1.0; - - m1[0] = 1.0; - m1[1] = 0.0; - - m2[0] = 0.0; - m2[1] = 0.5; - - m3[0] = 0.5; - m3[1] = 0.5; - - //m2 should dominate m0 - assert(m2.dominates(m0)); - - assert(!m1.dominates(m0)); - assert(!m0.dominates(m1)); - assert(!m0.dominates(m2)); // (m2 < m0)); - assert(m2.dominates(m3)); //m3 < m2); - assert(!m3.dominates(m2)); // (m2 < m3)); - assert(m2.dominates(m3)); //m2 > m3); - - - ////////////////////////////////////////// - // now the run-time set-able number of objectives - //////////////////////////////////////////// - - std::cout << "On y va" << std::endl; - - - // setup fitness WARNING do not try to allocate any EO before that (runtime error) - vector b(2, true); - b[0]=true; - b[1]=false; - VarFitness::setUp(2, b); - std::cout << "\nMAXimizing on Obj 0 and MINimizing on Obj 1\n"; - - VarFitness mv0; - VarFitness mv1; - VarFitness mv2; - VarFitness mv3; - - mv0[0] = 0.0; - mv0[1] = 1.0; - - mv1[0] = 1.0; - mv1[1] = 0.0; - - mv2[0] = 0.0; - mv2[1] = 0.5; - - mv3[0] = 0.5; - mv3[1] = 0.5; - - compare (mv0,mv1); - compare (mv0,mv2); - compare (mv0,mv3); - compare (mv1,mv2); - compare (mv1,mv3); - compare (mv2,mv3); - - std::cout << "\nChanging now the min <-> max\n"; - b[0]=false; - b[1]=true; - VarFitness::setUp(2, b); - std::cout << "\nMINimizing on Obj 0 and MAXimizing on Obj 1\n"; - compare (mv0,mv1); - compare (mv0,mv2); - compare (mv0,mv3); - compare (mv1,mv2); - compare (mv1,mv3); - compare (mv2,mv3); - - std::cout << "\nTesting WARNING\n"; - b.resize(3); - b[0]=false; - b[1]=true; - b[2]=true; - VarFitness::setUp(3, b); - - } - catch(std::exception& e) - { - std::cout << e.what() << std::endl; - } - -} diff --git a/trunk/paradiseo-eo/test/t-eoRandom.cpp b/trunk/paradiseo-eo/test/t-eoRandom.cpp deleted file mode 100644 index 14a2803bf..000000000 --- a/trunk/paradiseo-eo/test/t-eoRandom.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - t-eoRandom.cpp - Test program for random generator - - (c) GeNeura Team, 1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - -*/ - -/** -CVS Info: $Date: 2003/02/27 19:20:24 $ $Author: okoenig $ $Revision: 1.13 $ -*/ - -//----------------------------------------------------------------------------- - -#include // cout -#include // ostrstream, istrstream -#include // eoBin -//#include -//#include - -//----------------------------------------------------------------------------- - -int main() { - eoUniformGenerator u1(-2.5,3.5); - eoUniformGenerator u2(0.003, 0.05 ); - eoUniformGenerator u3( 10000U, 10000000U); - - try - { // throws an error - eoUniformGenerator utest( 10000000U, 10000U); - throw; // if this succeeds something is wrong, make sure that that is noticed - } - catch (std::logic_error& e) - { - std::cout << e.what() << std::endl; - } - - std::ofstream os("t-eoRandom.out"); - - for ( unsigned i = 0; i < 100; i ++) - { - os << u1() << "\t" << u2() << "\t" << u3() << std::endl; - } - - return 0; // to avoid VC++ complaints - -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoReal.cpp b/trunk/paradiseo-eo/test/t-eoReal.cpp deleted file mode 100644 index 851e19829..000000000 --- a/trunk/paradiseo-eo/test/t-eoReal.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include - -#include -#include "real_value.h" -#include - -using namespace std; - -int main(int argc, char* argv[]) -{ - - try - { - typedef eoReal EOT; - - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - ///// FIRST, problem or representation dependent stuff - ////////////////////////////////////////////////////// - - // The evaluation fn - encapsulated into an eval counter for output - eoEvalFuncPtr&> - mainEval( real_value ); - eoEvalFuncCounter eval(mainEval); - - // the genotype - through a genotype initializer - eoRealInitBounded& init = make_genotype(parser, state, EOT()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(parser, state, init); - - //// Now the representation-independent things - ////////////////////////////////////////////// - - // initialize the population - and evaluate - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ea = make_algo_scalar(parser, state, eval, checkpoint, op); - - ///// End of construction of the algorith - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // print it out - std::cout << "Initial Population\n"; - pop.sortedPrintOn(std::cout); - std::cout << std::endl; - - run_ea(ea, pop); // run the ea - - std::cout << "Final Population\n"; - pop.sortedPrintOn(std::cout); - std::cout << std::endl; - } - catch(std::exception& e) - { - std::cout << e.what() << std::endl; - } -} diff --git a/trunk/paradiseo-eo/test/t-eoReplacement.cpp b/trunk/paradiseo-eo/test/t-eoReplacement.cpp deleted file mode 100644 index a0f024060..000000000 --- a/trunk/paradiseo-eo/test/t-eoReplacement.cpp +++ /dev/null @@ -1,223 +0,0 @@ -//----------------------------------------------------------------------------- - -// to avoid long name warnings -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include // runtime_error - -//----------------------------------------------------------------------------- -// tt.cpp: -// -//----------------------------------------------------------------------------- - - -// general -#include -//----------------------------------------------------------------------------- - -struct Dummy : public EO -{ - typedef double Type; - void printOn(std::ostream & _os) const - { - _os << " - "; - EO::printOn(_os); - } -}; - - -struct eoDummyPop : public eoPop -{ -public : - eoDummyPop(int s=0) { resize(s); } -}; - -//----------------------------------------------------------------------------- - -int the_main(int argc, char **argv) -{ - eoParser parser(argc, argv); - eoValueParam parentSizeParam(10, "parentSize", "Parent size",'P'); - parser.processParam( parentSizeParam ); - unsigned int pSize = parentSizeParam.value(); - - eoValueParam offsrpringSizeParam(10, "offsrpringSize", "Offsrpring size",'O'); - parser.processParam( offsrpringSizeParam ); - unsigned int oSize = offsrpringSizeParam.value(); - - eoValueParam tournamentSizeParam(2, "tournamentSize", "Deterministic tournament size",'T'); - parser.processParam( tournamentSizeParam ); - unsigned int tSize = tournamentSizeParam.value(); - - eoValueParam tournamentRateParam(0.75, "tournamentRate", "Stochastic tournament rate",'R'); - parser.processParam( tournamentRateParam ); - double tRate = tournamentRateParam.value(); - - eoValueParam sParentsElitismRateParam(0.1, "sParentsElitismRateParam", "Strong elitism rate for parents",'E'); - parser.processParam( sParentsElitismRateParam ); - double sParentsElitismRate = sParentsElitismRateParam.value(); - - eoValueParam sParentsEugenismRateParam(0, "sParentsEugenismRateParam", "Strong Eugenism rate",'e'); - parser.processParam( sParentsEugenismRateParam ); - double sParentsEugenismRate = sParentsEugenismRateParam.value(); - - eoValueParam sOffspringElitismRateParam(0, "sOffspringElitismRateParam", "Strong elitism rate for parents",'E'); - parser.processParam( sOffspringElitismRateParam ); - double sOffspringElitismRate = sOffspringElitismRateParam.value(); - - eoValueParam sOffspringEugenismRateParam(0, "sOffspringEugenismRateParam", "Strong Eugenism rate",'e'); - parser.processParam( sOffspringEugenismRateParam ); - double sOffspringEugenismRate = sOffspringEugenismRateParam.value(); - - if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - exit(1); - } - - unsigned i; - - std::cout << "Testing the replacements\nParents SIze = " << pSize - << " and offspring size = " << oSize << std::endl; - - rng.reseed(42); - - - eoDummyPop orgParents(pSize); - eoDummyPop orgOffspring(oSize); - - // initialize so we can recognize them later! - for (i=0; i genReplace; - eoPlusReplacement plusReplace; - eoEPReplacement epReplace(tSize); - eoCommaReplacement commaReplace; - eoWeakElitistReplacement weakElitistReplace(commaReplace); - // the SSGA replacements - eoSSGAWorseReplacement ssgaWorseReplace; - eoSSGADetTournamentReplacement ssgaDTReplace(tSize); - eoSSGAStochTournamentReplacement ssgaDSReplace(tRate); - - // here we go - // Generational - parents = orgParents; - offspring = orgOffspring; - - std::cout << "eoGenerationalReplacement\n"; - std::cout << "=========================\n"; - genReplace(parents, offspring); -std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (orogonally even\n" << offspring << std::endl; - - // Plus - parents = orgParents; - offspring = orgOffspring; - - std::cout << "eoPlusReplacement\n"; - std::cout << "=================\n"; - plusReplace(parents, offspring); -std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl; - - // EP (proche d'un PLUS - parents = orgParents; - offspring = orgOffspring; - - std::cout << "eoEPReplacement\n"; - std::cout << "===============\n"; - epReplace(parents, offspring); -std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl; - - // Comma - parents = orgParents; - offspring = orgOffspring; - - if (parents.size() > offspring.size() ) - std::cout << "Skipping Comma Replacement, more parents than offspring\n"; - else - { - std::cout << "eoCommaReplacement\n"; - std::cout << "==================\n"; - commaReplace(parents, offspring); - std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl; - - // Comma with weak elitism - parents = orgParents; - offspring = orgOffspring; - - std::cout << "The same, with WEAK elitism\n"; - std::cout << "===========================\n"; - weakElitistReplace(parents, offspring); - std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl; - } - - // preparing SSGA replace worse - parents = orgParents; - offspring = orgOffspring; - - if (parents.size() < offspring.size() ) - std::cout << "Skipping all SSGA Replacements, more offspring than parents\n"; - else - { - std::cout << "SSGA replace worse\n"; - std::cout << "==================\n"; - ssgaWorseReplace(parents, offspring); - std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl; - - // SSGA deterministic tournament - parents = orgParents; - offspring = orgOffspring; - - std::cout << "SSGA deterministic tournament\n"; - std::cout << "=============================\n"; - ssgaDTReplace(parents, offspring); - std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl; - - // SSGA stochastic tournament - parents = orgParents; - offspring = orgOffspring; - - std::cout << "SSGA stochastic tournament\n"; - std::cout << "==========================\n"; - ssgaDTReplace(parents, offspring); - std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl; - } - - // the general replacement - eoDeterministicSaDReplacement sAdReplace(sParentsElitismRate, sParentsEugenismRate, sOffspringElitismRate, sOffspringEugenismRate);// 10% parents survive - - parents = orgParents; - offspring = orgOffspring; - - std::cout << "General - strong elitism\n"; - std::cout << "========================\n"; - sAdReplace(parents, offspring); - std::cout << "Parents (originally odd)\n" << parents << "\n And offsprings (originally even)\n" << offspring << std::endl; - - - return 1; -} - -int main(int argc, char **argv) -{ - try - { - the_main(argc, argv); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << std::endl; - } - -} diff --git a/trunk/paradiseo-eo/test/t-eoRoulette.cpp b/trunk/paradiseo-eo/test/t-eoRoulette.cpp deleted file mode 100644 index 5c350122c..000000000 --- a/trunk/paradiseo-eo/test/t-eoRoulette.cpp +++ /dev/null @@ -1,68 +0,0 @@ - -#include -#include -#include -#include - -class TestEO : public EO { public: unsigned index; }; - -using namespace std; - -template -int test_select() -{ - vector probs(4); - probs[0] = 0.1; - probs[1] = 0.4; - probs[2] = 0.2; - probs[3] = 0.3; - - vector counts(4,0.0); - - // setup population - eoPop pop; - for (unsigned i = 0; i < probs.size(); ++i) - { - pop.push_back( TestEO()); - pop.back().fitness( probs[i] * 2.1232 ); // some number to check scaling - pop.back().index = i; - } - - Select select; - - unsigned ndraws = 10000; - - for (unsigned i = 0; i < ndraws; ++i) - { - const TestEO& eo = select(pop); - - counts[eo.index]++; - } - - cout << "Threshold = " << 1./sqrt(double(ndraws)) << endl; - - for (unsigned i = 0; i < 4; ++i) - { - cout << counts[i]/ndraws << ' '; - - double c = counts[i]/ndraws; - - if (fabs(c - probs[i]) > 1./sqrt((double)ndraws)) { - cout << "ERROR" << endl; - return 1; - } - } - - cout << endl; - return 0; -} - -int main() -{ - rng.reseed(44); - - if (test_select >()) return 1; - - return test_select >(); -} - diff --git a/trunk/paradiseo-eo/test/t-eoSSGA.cpp b/trunk/paradiseo-eo/test/t-eoSSGA.cpp deleted file mode 100644 index d1c467e5a..000000000 --- a/trunk/paradiseo-eo/test/t-eoSSGA.cpp +++ /dev/null @@ -1,117 +0,0 @@ -#include - -// tests a Steady State GA - -// Needed to define this breeder, maybe make it a breeder -template -class eoBreedOne : public eoBreed -{ -public : - eoBreedOne(eoSelectOne& _select, eoGenOp& _op) : select(_select), op(_op) {} - - void operator()(const eoPop& _src, eoPop& _dest) - { - _dest.clear(); - eoSelectivePopulator pop(_src, _dest, select); - op(pop); - } - -private : - eoSelectOne& select; - eoGenOp& op; -}; - -typedef eoMinimizingFitness FitnessType; -typedef eoVector EoType; - -template -class eoMyEval : public eoEvalFunc -{ - public : - - void operator()(EOT& _eo) - { - _eo.fitness(*std::max_element(_eo.begin(), _eo.end())); - } -}; - -template -class Xover : public eoBinOp -{ - bool operator()(EOT& _eo, const EOT& _eo2) - { - unsigned point = rng.random(_eo.size()); - std::copy(_eo2.begin() + point, _eo2.end(), _eo.begin() + point); - return true; - } -}; - -template -class Mutate : public eoMonOp -{ - bool operator()(EOT& _eo) - { - unsigned point = rng.random(_eo.size()); - _eo[point] = rng.random(1024); - return true; - } -}; - - -int main() -{ - int pop_size = 10; - - eoGenContinue cnt(10); - eoCheckPoint cp(cnt); - - - Xover xover; - Mutate mutate; - - eoProportionalOp opsel; - - opsel.add(xover, 0.8); - opsel.add(mutate, 0.2); - - - eoDetTournamentSelect selector(3); - eoBreedOne breed(selector, opsel); - - // Replace a single one - eoSSGAWorseReplacement replace; - - -// eoRandomSelect selector; -// eoGeneralBreeder breed(selector, opsel); -// eoPlusReplacement replace; - - - eoMyEval eval; - - eoEasyEA algo(cp, eval, breed, replace); - - eoUniformGenerator unif(0,1024); - eoInitFixedLength init(20, unif); - - eoPop pop(pop_size, init); - - // evaluate - apply(eval, pop); - - eoBestFitnessStat best("Best_Fitness"); - eoAverageStat avg("Avg_Fitness"); - eoStdoutMonitor mon; - - cp.add(best); - cp.add(avg); - -// cp.add(mon); - - mon.add(best); - mon.add(avg); - - // and run - algo(pop); - -} diff --git a/trunk/paradiseo-eo/test/t-eoSelect.cpp b/trunk/paradiseo-eo/test/t-eoSelect.cpp deleted file mode 100644 index 30fb00085..000000000 --- a/trunk/paradiseo-eo/test/t-eoSelect.cpp +++ /dev/null @@ -1,224 +0,0 @@ -//----------------------------------------------------------------------------- - -// to avoid long name warnings -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include // runtime_error - -// general -#include - -//----------------------------------------------------------------------------- - -struct Dummy : public EO -{ - typedef double Type; - void printOn(std::ostream & _os) const - { - _os << " - "; - EO::printOn(_os); - } -}; - -bool operator==(const Dummy & _d1, const Dummy & _d2) -{ - return _d1.fitness() == _d2.fitness(); -} - -struct eoDummyPop : public eoPop -{ -public : - eoDummyPop(int s=0) { resize(s); } -}; - -// helper - DOES NOT WORK if different individuals have same fitness!!! -template -unsigned isInPop(EOT & _indi, eoPop & _pop) -{ - for (unsigned i=0; i<_pop.size(); i++) - if (_pop[i] == _indi) - return i; - return _pop.size(); -} - -unsigned int pSize; // global variable, bouh! -std::string fitnessType; // yes, a global variable :-) -eoDummyPop parentsOrg; - -template -void testSelectMany(eoSelect & _select, std::string _name) -{ - unsigned i; - std::cout << "\n\n" << fitnessType + _name << std::endl; - std::cout << "===============\n"; - - eoDummyPop parents(parentsOrg); - eoDummyPop offspring(0); - - // do the selection - _select(parents, offspring); - - // compute stats - std::vector nb(parents.size(), 0); - for (i=0; i(offspring[i], parents); - if (trouve == parents.size()) // pas trouve - throw std::runtime_error("Pas trouve ds parents"); - nb[trouve]++; - } - // dump to file so you can plot using gnuplot - dir name is hardcoded! - std::string fName = "ResSelect/" + fitnessType + _name + ".select"; - std::ofstream os(fName.c_str()); - for (i=0; i " << ( (double)nb[i])/offspring.size() << std::endl; - os << i << " " << ( (double)nb[i])/offspring.size() << std::endl; - } - -} - -template -void testSelectOne(eoSelectOne & _select, eoHowMany & _offspringRate, - eoHowMany & _fertileRate, std::string _name) -{ - eoTruncatedSelectOne truncSelect(_select, _fertileRate); - eoSelectMany percSelect(truncSelect, _offspringRate); - testSelectMany(percSelect, _name); -} - - -//----------------------------------------------------------------------------- - -int the_main(int argc, char **argv) -{ - eoParser parser(argc, argv); - eoValueParam parentSizeParam = parser.createParam(unsigned(10), "parentSize", "Parent size",'P'); - pSize = parentSizeParam.value(); // global variable - -// eoValueParam offsrpringRateParam = parser.createParam(1.0, "offsrpringRate", "Offsrpring rate",'O'); -// double oRate = offsrpringRateParam.value(); - eoValueParam offsrpringRateParam = parser.createParam(eoHowMany(1.0), "offsrpringRate", "Offsrpring rate (% or absolute)",'O'); - eoHowMany oRate = offsrpringRateParam.value(); - - eoValueParam fertileRateParam = parser.createParam(eoHowMany(1.0), "fertileRate", "Fertility rate (% or absolute)",'F'); - eoHowMany fRate = fertileRateParam.value(); - -eoValueParam tournamentSizeParam = parser.createParam(unsigned(2), "tournamentSize", "Deterministic tournament size",'T'); - unsigned int tSize = tournamentSizeParam.value(); - - eoValueParam tournamentRateParam = parser.createParam(1.0, "tournamentRate", "Stochastic tournament rate",'t'); - double tRate = tournamentRateParam.value(); - - eoValueParam rankingPressureParam = parser.createParam(2.0, "rankingPressure", "Selective pressure for the ranking selection",'p'); - double rankingPressure = rankingPressureParam.value(); - - eoValueParam rankingExponentParam = parser.createParam(1.0, "rankingExponent", "Exponent for the ranking selection",'e'); - double rankingExponent = rankingExponentParam.value(); - - eoValueParam fitTypeParam = parser.createParam(std::string("linear"), "fitType", "Type of fitness (linear, exp, log, super",'f'); - fitnessType = fitTypeParam.value(); - - if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - exit(0); - } - - // hard-coded directory name ... - system("mkdir ResSelect"); - std::cout << "Testing the Selections\nParents size = " << pSize - << ", offspring rate = " << oRate; - std::cout << " and putting rsulting files in dir ResSelect" << std::endl; - - // initialize parent population - parentsOrg.resize(pSize); - if (fitnessType == std::string("linear")) - for (unsigned i=0; i& seedParam = parser.createParam(uint32_t(0), "seed", - "Random number seed", 'S'); - if (seedParam.value() == 0) - seedParam.value() = time(0); - rng.reseed(seedParam.value()); - - char fileName[1024]; - -// the selection procedures under test - // eoDetSelect detSelect(oRate); - // testSelectMany(detSelect, "detSelect"); - - // Roulette - eoProportionalSelect propSelect; - testSelectOne(propSelect, oRate, fRate, "PropSelect"); - - // Linear ranking using the perf2Worth construct - eoRankingSelect newRankingSelect(rankingPressure); - sprintf(fileName,"LinRank_%g",rankingPressure); - testSelectOne(newRankingSelect, oRate, fRate, fileName); - - // Exponential ranking using the perf2Worth construct - std::cout << "rankingExponent " << rankingExponent << std::endl; - eoRankingSelect expRankingSelect(rankingPressure,rankingExponent); - sprintf(fileName,"ExpRank_%g_%g",rankingPressure, rankingExponent); - testSelectOne(expRankingSelect, oRate, fRate, fileName); - - // Det tournament - eoDetTournamentSelect detTourSelect(tSize); - sprintf(fileName,"DetTour_%d",tSize); - testSelectOne(detTourSelect, oRate, fRate, fileName); - - // Stoch tournament - eoStochTournamentSelect stochTourSelect(tRate); - sprintf(fileName,"StochTour_%g",tRate); - testSelectOne(stochTourSelect, oRate, fRate, fileName); - - // Fitness scaling - eoFitnessScalingSelect newFitScaleSelect(rankingPressure); - sprintf(fileName,"LinFitScale_%g",rankingPressure); - testSelectOne(newFitScaleSelect, oRate, fRate, fileName); - - // Sequential selections - eoSequentialSelect seqSel(false); - strcpy(fileName,"Sequential"); - testSelectOne(seqSel, oRate, fRate, fileName); - - eoEliteSequentialSelect eliteSeqSel; - strcpy(fileName,"EliteSequential"); - testSelectOne(eliteSeqSel, oRate, fRate, fileName); - - return 1; -} - -int main(int argc, char **argv) -{ - try - { - the_main(argc, argv); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << std::endl; - return 1; - } -} diff --git a/trunk/paradiseo-eo/test/t-eoSharing.cpp b/trunk/paradiseo-eo/test/t-eoSharing.cpp deleted file mode 100644 index a68820bed..000000000 --- a/trunk/paradiseo-eo/test/t-eoSharing.cpp +++ /dev/null @@ -1,240 +0,0 @@ -#ifdef HAVE_CONFIG_H -#include -#endif - -// to avoid long name warnings -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include -#include -#include - -// general -#include -#include - -//----------------------------------------------------------------------------- - -struct Dummy : public EO -{ - typedef double Type; - void printOn(std::ostream & _os) const - { - EO::printOn(_os); - std::cout << " " << xdist ; - } - double xdist; -}; - -class -eoDummyDistance : public eoDistance -{ - double operator()(const Dummy & _v1, const Dummy & _v2) - { - double r= _v1.xdist - _v2.xdist; - return sqrt(r*r); - } -}; - - -bool operator==(const Dummy & _d1, const Dummy & _d2) -{ - return _d1.fitness() == _d2.fitness(); -} - -struct eoDummyPop : public eoPop -{ -public : - eoDummyPop(int s=0) { resize(s); } -}; - -// helper - DOES NOT WORK if different individuals have same fitness!!! -template -unsigned isInPop(EOT & _indi, eoPop & _pop) -{ - for (unsigned i=0; i<_pop.size(); i++) - if (_pop[i] == _indi) - return i; - return _pop.size(); -} - -unsigned int pSize; // global variable, bouh! -std::string fitnessType; // yes, a global variable :-) -eoDummyPop parentsOrg; - -template -void testSelectMany(eoSelect & _select, std::string _name) -{ - unsigned i; - std::cout << "\n\n" << fitnessType + _name << std::endl; - std::cout << "===============\n"; - - eoDummyPop parents(parentsOrg); - eoDummyPop offspring(0); - - // do the selection - _select(parents, offspring); - - // cout << "Pop offspring \n" << offspring << endl; - - // compute stats - std::vector nb(parents.size(), 0); - for (i=0; i(offspring[i], parents); - if (trouve == parents.size()) // pas trouve - throw std::runtime_error("Pas trouve ds parents"); - nb[trouve]++; - } - // dump to file so you can plot using gnuplot - dir name is hardcoded! - std::string fName = "ResSelect/" + fitnessType + _name + ".select"; - std::ofstream os(fName.c_str()); - for (i=0; i " << ( (double)nb[i])/offspring.size() << std::endl; - os << i << " " << ( (double)nb[i])/offspring.size() << std::endl; - } - -} - -template -void testSelectOne(eoSelectOne & _select, eoHowMany & _offspringRate, - eoHowMany & _fertileRate, std::string _name) -{ - eoTruncatedSelectOne truncSelect(_select, _fertileRate); - eoSelectMany percSelect(truncSelect, _offspringRate); - testSelectMany(percSelect, _name); -} - - -//----------------------------------------------------------------------------- - -int the_main(int argc, char **argv) -{ - eoParser parser(argc, argv); - - // random seed - eoValueParam& seedParam = parser.createParam(uint32_t(0), "seed", "Random number seed", 'S'); - if (seedParam.value() == 0) - seedParam.value() = time(0); - rng.reseed(seedParam.value()); - - - // pSize global variable ! - eoValueParam pSizeParam = parser.createParam(unsigned(10), "parentSize", "Parent size",'P'); - pSize = pSizeParam.value(); - - eoHowMany oRate = parser.createParam(eoHowMany(1.0), "offsrpringRate", "Offsrpring rate (% or absolute)",'O').value(); - - eoHowMany fRate = parser.createParam(eoHowMany(1.0), "fertileRate", "Fertility rate (% or absolute)",'F').value(); - - - double nicheSize = parser.createParam(0.1, "nicheSize", "Paramter Sigma for Sharing",'\0').value(); - - eoParamParamType & peakParam = parser.createParam(eoParamParamType("2(1,2)"), "peaks", "Description of the peaks: N(nb1,nb2,...,nbN)", 'p').value(); - - // the number of peaks: first item of the paramparam - unsigned peakNumber = atoi(peakParam.first.c_str()); - if (peakNumber < 2) - { - std::cerr << "WARNING, nb of peaks must be larger than 2, using 2" << std::endl; - peakNumber = 2; - } - - std::vector nbIndiPerPeak(peakNumber); - unsigned i, sum=0; - - // the second item is a vector containing all values - if (!peakParam.second.size()) // no other parameter : equal peaks - { - std::cerr << "WARNING, no nb of indis per peaks, using equal nbs" << std::endl; - for (i=0; i detSelect(oRate); - // testSelectMany(detSelect, "detSelect"); - - // Sharing using the perf2Worth construct - // need a distance for that - eoDummyDistance dist; - eoSharingSelect newSharingSelect(nicheSize, dist); - sprintf(fileName,"Niche_%g",nicheSize); - testSelectOne(newSharingSelect, oRate, fRate, fileName); - - return 1; -} - -int main(int argc, char **argv) -{ - try - { - the_main(argc, argv); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << std::endl; - return 1; - } -} diff --git a/trunk/paradiseo-eo/test/t-eoStateAndParser.cpp b/trunk/paradiseo-eo/test/t-eoStateAndParser.cpp deleted file mode 100644 index 80551279c..000000000 --- a/trunk/paradiseo-eo/test/t-eoStateAndParser.cpp +++ /dev/null @@ -1,139 +0,0 @@ -//----------------------------------------------------------------------------- - -// to avoid long name warnings -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include // runtime_error - -//----------------------------------------------------------------------------- -// tt.cpp: -// -//----------------------------------------------------------------------------- - - -// general -#include // Random number generators -#include -#include -#include - -//----------------------------------------------------------------------------- - -// include package checkpointing -#include -// and provisions for Bounds reading -#include - -struct Dummy : public EO -{ - typedef double Type; -}; - - -//----------------------------------------------------------------------------- - -int the_main(int argc, char **argv) -{ // ok, we have a command line parser and a state - - typedef eoBit Chrom; - - eoParser parser(argc, argv); - - // Define Parameters - eoValueParam dimParam((unsigned int)(5), "dimension", "dimension"); - eoValueParam rate(0.01, "mutationRatePerBit", "Initial value for mutation rate per bit"); - eoValueParam factor(0.99, "mutationFactor", "Decrease factor for mutation rate"); - eoValueParam seed(time(0), "seed", "Random number seed"); - // test if user entered or if default value used - if (parser.isItThere(seed)) - std::cout << "YES\n"; - else - std::cout << "NO\n"; - - eoValueParam load_name("", "Load","Load",'L'); - eoValueParam save_name("", "Save","Save",'S'); - - - // Register them - parser.processParam(dimParam, "Genetic Operators"); - parser.processParam(rate, "Genetic Operators"); - parser.processParam(factor, "Genetic Operators"); - parser.processParam(load_name, "Persistence"); - parser.processParam(save_name, "Persistence"); - parser.processParam(seed, "Rng seeding"); - - // a bound param (need dim) - eoValueParam boundParam(eoRealVectorBounds(dimParam.value(),eoDummyRealNoBounds), "bounds","bounds",'b'); - - parser.processParam(boundParam, "Genetic Operators"); - - std::cout << "Bounds: " << boundParam.value() << std::endl; - - eoState state; - state.registerObject(parser); - - - if (load_name.value() != "") - { // load the parser. This is only neccessary when the user wants to - // be able to change the parameters in the state file by hand. - state.load(load_name.value()); // load the parser - } - - // Create the algorithm here - - // Register the algorithm - state.registerObject(rng); - //state.registerObject(pop); - - if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - return 0; - } - - // Either load or initialize - if (load_name.value() != "") - { - state.load(load_name.value()); // load the rest - } - else - { - // else - - // initialize rng and population - - rng.reseed(seed.value()); - } - - // run the algorithm - - // Save when needed - if (save_name.value() != "") - { - std::string file_name = save_name.value(); - save_name.value() = ""; // so that it does not appear in the parser section of the state file - state.save(file_name); - } - - for (int i = 0; i < 100; ++i) - rng.rand(); - - std::cout << "a random number is " << rng.random(1024) << std::endl;; - - return 1; -} - -int main(int argc, char **argv) -{ - try - { - the_main(argc, argv); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << std::endl; - } - -} diff --git a/trunk/paradiseo-eo/test/t-eoSymreg.cpp b/trunk/paradiseo-eo/test/t-eoSymreg.cpp deleted file mode 100644 index f83f3aaa4..000000000 --- a/trunk/paradiseo-eo/test/t-eoSymreg.cpp +++ /dev/null @@ -1,295 +0,0 @@ -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include - -using namespace gp_parse_tree; -using namespace std; - -//----------------------------------------------------------------------------- - -class SymregNode -{ -public : - - enum Operator {X = 'x', Plus = '+', Min = '-', Mult = '*', PDiv = '/'}; - - SymregNode(void) { init(); } - SymregNode(Operator _op) { op = _op; } - virtual ~SymregNode(void) {} - - // arity function, need this function! - int arity(void) const { return op == X? 0 : 2; } - - void randomize(void) {} - - // evaluation function, single case, using first argument to give value of variable - template - void operator()(double& result, Children args, double var) const - { - double r1, r2; - - if (arity() == 2) - { - args[0].apply(r1, var); - args[1].apply(r2, var); - } - - switch (op) - { - case Plus : result = r1 + r2; break; - case Min : result = r1 - r2; break; - case Mult : result = r1 * r2; break; - case PDiv : - { - if (r2 == 0.0) - result = 1.0; // protection a la Koza, realistic implementations should maybe throw an exception - else - result = r1 / r2; - break; - } - - case X : result = var; break; - } - - } - - /// 'Pretty' print to ostream function - template - void operator()(string& result, Children args) const - { - static const string lb = "("; - static const string rb = ")"; - char opStr[4] = " "; - opStr[1] = op; - - if (arity() == 0) - { - result = "x"; - return; - } - // else - string r1; - args[0].apply(r1); - result = lb + r1; - result += opStr; - args[1].apply(r1); - result += r1 + rb; - } - - Operator getOp(void) const { return op; } - -protected : - - void init(void) { op = X; } - -private : - - Operator op; // the type of node -}; - -/// initializor -static SymregNode init_sequence[5] = {SymregNode::X, SymregNode::Plus, SymregNode::Min, SymregNode::Mult, SymregNode::PDiv}; // needed for intialization - -// MSVC does not recognize the lt_arity in eoParseTreeDepthInit -// without this specialization ... -// 2 months later, it seems it does not accept this definition ... -// but dies accept the lt_arity in eoParseTreeDepthInit -// !!! -// #ifdef _MSC_VER -// template <> -// bool lt_arity(const SymregNode &node1, const SymregNode &node2) -// { -// return (node1.arity() < node2.arity()); -// } -// #endif - -//----------------------------------------------------------- -// saving, loading - -std::ostream& operator<<(std::ostream& os, const SymregNode& eot) -{ - os << static_cast(eot.getOp()); - return os; -} - -std::istream& operator>>(std::istream& is, SymregNode& eot) -{ - char type; - type = (char) is.get(); - eot = SymregNode(static_cast(type)); - return is; -} - - -//----------------------------------------------------------------------------- -/** Implementation of a function evaluation object. */ - -double targetFunction(double x) -{ - return x * x * x * x - x * x * x + x * x * x - x * x + x - 10; -} - -// parameters controlling the sampling of points -const double xbegin = -10.0f; -const double xend = 10.0f; -const double xstep = 1.3f; - -template struct RMS: public eoEvalFunc< eoParseTree > -{ -public : - - typedef eoParseTree EoType; - - typedef eoParseTree argument_type; - typedef double fitness_type; - - RMS(void) : eoEvalFunc() - { - int n = int( (xend - xbegin) / xstep); - - inputs.resize(n); - target.resize(n); - - int i = 0; - - for (double x = xbegin; x < xend && i < n; ++i, x+=xstep) - { - target[i] = targetFunction(x); - inputs[i] = x; - } - } - - ~RMS() {} - - void operator()( EoType & _eo ) - { - vector outputs; - outputs.resize(inputs.size()); - - double fitness = 0.0; - - for (unsigned i = 0; i < inputs.size(); ++i) - { - _eo.apply(outputs[i], inputs[i]); - fitness += (outputs[i] - target[i]) * (outputs[i] - target[i]); - } - - fitness /= (double) target.size(); - fitness = sqrt(fitness); - - if (fitness > 1e+20) - fitness = 1e+20; - - _eo.fitness(fitness); - } - -private : - vector inputs; - vector target; -}; - -template -void print_best(eoPop& pop) -{ - std::cout << std::endl; - FitnessType best = pop[0].fitness(); - int index = 0; - - for (unsigned i = 1; i < pop.size(); ++i) - { - if (best < pop[i].fitness()) - { - best = pop[i].fitness(); - index = i; - } - } - - std::cout << "\t"; - - string str; - pop[index].apply(str); - - std::cout << str.c_str(); - std::cout << std::endl << "RMS Error = " << pop[index].fitness() << std::endl; -} - -int main() -{ - typedef eoMinimizingFitness FitnessType; - typedef SymregNode GpNode; - - typedef eoParseTree EoType; - typedef eoPop Pop; - - const int MaxSize = 100; - const int nGenerations = 10; // only a test, so few generations - - // Initializor sequence, contains the allowable nodes - vector init(init_sequence, init_sequence + 5); - - // Depth Initializor, defaults to grow method. - eoGpDepthInitializer initializer(10, init); - - // Root Mean Squared Error Measure - RMS eval; - - Pop pop(50, initializer); - - apply(eval, pop); - - eoSubtreeXOver xover(MaxSize); - eoBranchMutation mutation(initializer, MaxSize); - - // The operators are encapsulated into an eoTRansform object, - // that performs sequentially crossover and mutation - eoSGATransform transform(xover, 0.75, mutation, 0.25); - - // The robust tournament selection - eoDetTournamentSelect selectOne(2); // tSize in [2,POPSIZE] - // is now encapsulated in a eoSelectMany: 2 at a time -> SteadyState - eoSelectMany select(selectOne,2, eo_is_an_integer); - - // and the Steady-State replacement - eoSSGAWorseReplacement replace; - - // Terminators - eoGenContinue term(nGenerations); - - eoCheckPoint checkPoint(term); - - eoAverageStat avg; - eoBestFitnessStat best; - eoStdoutMonitor monitor; - - checkPoint.add(monitor); - checkPoint.add(avg); - checkPoint.add(best); - - monitor.add(avg); - monitor.add(best); - - // GP generation - eoEasyEA gp(checkPoint, eval, select, transform, replace); - - std::cout << "Initialization done" << std::endl; - - print_best(pop); - - try - { - gp(pop); - } - catch (std::exception& e) - { - std::cout << "exception: " << e.what() << std::endl;; - exit(EXIT_FAILURE); - } - - print_best(pop); - -} - - diff --git a/trunk/paradiseo-eo/test/t-eoUniform.cpp b/trunk/paradiseo-eo/test/t-eoUniform.cpp deleted file mode 100644 index 04c23e5ca..000000000 --- a/trunk/paradiseo-eo/test/t-eoUniform.cpp +++ /dev/null @@ -1,22 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eouniform -//----------------------------------------------------------------------------- - -#include // std::cout -#include // ostrstream, istrstream -#include // eoBin - -//----------------------------------------------------------------------------- - -main() { - eoUniform u1(-2.5,3.5); - eoUniform u2(0.003, 0 ); - eoUniform u3( 10000U, 10000000U); - std::cout << "u1\t\tu2\t\tu3" << std::endl; - for ( unsigned i = 0; i < 100; i ++) { - std::cout << u1() << "\t" << u2() << "\t" << u3() << std::endl; - } - -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoVector.cpp b/trunk/paradiseo-eo/test/t-eoVector.cpp deleted file mode 100644 index 768178c3f..000000000 --- a/trunk/paradiseo-eo/test/t-eoVector.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - t-eoVector.cpp - This program tests vector-like chromosomes - (c) GeNeura Team, 1999, 2000 - - Modified by Maarten Keijzer 2001 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - -*/ -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include // eoVector -#include -#include - -//----------------------------------------------------------------------------- - -typedef eoVector Chrom1; -typedef eoVector Chrom2; - -//----------------------------------------------------------------------------- - -int main() -{ - const unsigned SIZE = 4; - - // check if the appropriate ctor gets called - Chrom1 chrom(SIZE, 5); - - for (unsigned i = 0; i < chrom.size(); ++i) - { - assert(chrom[i] == 5); - } - - eoUniformGenerator uniform(-1,1); - eoInitFixedLength init(SIZE, uniform); - - init(chrom); - - std::cout << chrom << std::endl; - - Chrom2 chrom2(chrom); - - std::cout << chrom2 << std::endl; - -// eoInitVariableLength initvar( - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoVirus.cpp b/trunk/paradiseo-eo/test/t-eoVirus.cpp deleted file mode 100644 index 347a78963..000000000 --- a/trunk/paradiseo-eo/test/t-eoVirus.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - t-eoVirus.cpp - This program tests the the binary cromosomes and several genetic operators - (c) GeNeura Team, 1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - -*/ -//----------------------------------------------------------------------------- - -#include // std::cout -#include // general EO -#include "MGE/VirusOp.h" -#include "MGE/eoVirus.h" -#include "MGE/eoInitVirus.h" -#include - -#include "binary_value.h" - -//----------------------------------------------------------------------------- - -typedef eoVirus Chrom; - -//----------------------------------------------------------------------------- - -int main() -{ - const unsigned SIZE = 8; - eoBooleanGenerator gen; - eo::rng.reseed( time( 0 ) ); - - Chrom chrom(SIZE), chrom2(SIZE); - chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2)); - std::cout << chrom << std::endl; - std::cout << chrom2 << std::endl; - - // Virus Mutation - VirusBitFlip vf; - unsigned i; - for ( i = 0; i < 10; i++ ) { - vf( chrom ); - std::cout << chrom << std::endl; - } - - // Chrom Mutation - std::cout << "Chrom mutation--------" << std::endl; - VirusMutation vm; - for ( i = 0; i < 10; i++ ) { - vm( chrom ); - std::cout << chrom << std::endl; - } - - // Chrom Transmision - std::cout << "Chrom transmission--------" << std::endl; - VirusTransmission vt; - vt( chrom2, chrom ); - std::cout << chrom2 << std::endl; - - return 0; - -} - diff --git a/trunk/paradiseo-eo/test/t-eobin.cpp b/trunk/paradiseo-eo/test/t-eobin.cpp deleted file mode 100644 index 7c27e001f..000000000 --- a/trunk/paradiseo-eo/test/t-eobin.cpp +++ /dev/null @@ -1,218 +0,0 @@ -/* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - - t-eobin.cpp - This program tests the the binary cromosomes and several genetic operators - (c) GeNeura Team, 1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - -*/ -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -#include // std::cout -#include - -#include // general EO -#include // bitstring representation & operators -#include -#include "binary_value.h" - -//----------------------------------------------------------------------------- - -typedef eoBit Chrom; - -//----------------------------------------------------------------------------- - -void main_function() -{ - const unsigned SIZE = 8; - unsigned i, j; - eoBooleanGenerator gen; - - Chrom chrom(SIZE), chrom2; - chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2)); - - std::cout << "chrom: " << chrom << std::endl; - chrom[0] = chrom[SIZE - 1] = true; chrom.fitness(binary_value(chrom)); - std::cout << "chrom: " << chrom << std::endl; - chrom[0] = chrom[SIZE - 1] = false; chrom.fitness(binary_value(chrom)); - std::cout << "chrom: " << chrom << std::endl; - chrom[0] = chrom[SIZE - 1] = true; chrom.fitness(binary_value(chrom)); - - std::cout << "chrom.className() = " << chrom.className() << std::endl; - - std::cout << "chrom: " << chrom << std::endl - << "chrom2: " << chrom2 << std::endl; - - std::ostringstream os; - os << chrom; - std::istringstream is(os.str()); - is >> chrom2; chrom.fitness(binary_value(chrom2)); - - std::cout << "\nTesting reading, writing\n"; - std::cout << "chrom: " << chrom << "\nchrom2: " << chrom2 << '\n'; - - std::fill(chrom.begin(), chrom.end(), false); - std::cout << "--------------------------------------------------" - << std::endl << "eoMonOp's aplied to .......... " << chrom << std::endl; - - eoInitFixedLength - random(chrom.size(), gen); - - random(chrom); chrom.fitness(binary_value(chrom)); - std::cout << "after eoBinRandom ............ " << chrom << std::endl; - - eoOneBitFlip bitflip; - bitflip(chrom); chrom.fitness(binary_value(chrom)); - std::cout << "after eoBitFlip .............. " << chrom << std::endl; - - eoBitMutation mutation(0.5); - mutation(chrom); chrom.fitness(binary_value(chrom)); - std::cout << "after eoBinMutation(0.5) ..... " << chrom << std::endl; - - eoBitInversion inversion; - inversion(chrom); chrom.fitness(binary_value(chrom)); - std::cout << "after eoBinInversion ......... " << chrom << std::endl; - - eoBitNext next; - next(chrom); chrom.fitness(binary_value(chrom)); - std::cout << "after eoBinNext .............. " << chrom << std::endl; - - eoBitPrev prev; - prev(chrom); chrom.fitness(binary_value(chrom)); - std::cout << "after eoBinPrev .............. " << chrom << std::endl; - - std::fill(chrom.begin(), chrom.end(), false); chrom.fitness(binary_value(chrom)); - std::fill(chrom2.begin(), chrom2.end(), true); chrom2.fitness(binary_value(chrom2)); - std::cout << "--------------------------------------------------" - << std::endl << "eoBinOp's aplied to ... " - << chrom << " " << chrom2 << std::endl; - - eo1PtBitXover xover; - std::fill(chrom.begin(), chrom.end(), false); - std::fill(chrom2.begin(), chrom2.end(), true); - xover(chrom, chrom2); - chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2)); - std::cout << "eoBinCrossover ........ " << chrom << " " << chrom2 << std::endl; - - for (i = 1; i < SIZE; i++) - { - eoNPtsBitXover nxover(i); - std::fill(chrom.begin(), chrom.end(), false); - std::fill(chrom2.begin(), chrom2.end(), true); - nxover(chrom, chrom2); - chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2)); - std::cout << "eoBinNxOver(" << i << ") ........ " - << chrom << " " << chrom2 << std::endl; - } - - for (i = 1; i < SIZE / 2; i++) - for (j = 1; j < SIZE / 2; j++) - { - eoBitGxOver gxover(i, j); - std::fill(chrom.begin(), chrom.end(), false); - std::fill(chrom2.begin(), chrom2.end(), true); - gxover(chrom, chrom2); - chrom.fitness(binary_value(chrom)); chrom2.fitness(binary_value(chrom2)); - std::cout << "eoBinGxOver(" << i << ", " << j << ") ..... " - << chrom << " " << chrom2 << std::endl; - } - - // test SGA algorithm - eoGenContinue continuator1(50); - eoFitContinue continuator2(65535.f); - - eoCombinedContinue continuator(continuator1, continuator2); - - eoCheckPoint checkpoint(continuator); - - eoStdoutMonitor monitor; - - checkpoint.add(monitor); - - eoSecondMomentStats stats; - - monitor.add(stats); - checkpoint.add(stats); - - eoProportionalSelect select; - eoEvalFuncPtr eval(binary_value); - - eoSGA sga(select, xover, 0.8f, bitflip, 0.1f, eval, checkpoint); - - eoInitFixedLength init(16, gen); - eoPop pop(100, init); - - apply(eval, pop); - - sga(pop); - - pop.sort(); - - std::cout << "Population " << pop << std::endl; - - std::cout << "\nBest: " << pop[0].fitness() << '\n'; - - /* - - Commented this out, waiting for a definite decision what to do with the mOp's - - // Check multiOps - eoMultiMonOp mOp( &next ); - mOp.adOp( &bitflip ); - std::cout << "before multiMonOp............ " << chrom << std::endl; - mOp( chrom ); - std::cout << "after multiMonOp .............. " << chrom << std::endl; - - eoBinGxOver gxover(2, 4); - eoMultiBinOp mbOp( &gxover ); - mOp.adOp( &bitflip ); - std::cout << "before multiBinOp............ " << chrom << " " << chrom2 << std::endl; - mbOp( chrom, chrom2 ); - std::cout << "after multiBinOp .............. " << chrom << " " << chrom2 < -#endif - -int main() -{ -#ifdef _MSC_VER - // rng.reseed(42); - int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); - flag |= _CRTDBG_LEAK_CHECK_DF; - _CrtSetDbgFlag(flag); -// _CrtSetBreakAlloc(100); -#endif - - try - { - main_function(); - } - catch(std::exception& e) - { - std::cout << "Exception: " << e.what() << '\n'; - } - -} diff --git a/trunk/paradiseo-eo/test/t-eobreeder.cpp b/trunk/paradiseo-eo/test/t-eobreeder.cpp deleted file mode 100644 index 3127bd4e3..000000000 --- a/trunk/paradiseo-eo/test/t-eobreeder.cpp +++ /dev/null @@ -1,87 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// t-eobreeder.cpp -// This program test the breeder object -// (c) GeNeura Team, 1998 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - -*/ -//----------------------------------------------------------------------------- - -#ifndef __GNUG__ -// to avoid long name warnings -#pragma warning(disable:4786) -#endif // __GNUG__ - -#include // eoBin, eoPop, eoBreeder -#include -#include -#include -#include - -//----------------------------------------------------------------------------- - -typedef eoBin Chrom; - -#include "binary_value.h" - -//----------------------------------------------------------------------------- - -main() -{ - const unsigned POP_SIZE = 8, CHROM_SIZE = 4; - unsigned i; - - eoBinRandom random; - eoPop pop; - - BinaryValue eval; - - for (i = 0; i < POP_SIZE; ++i) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - eval(chrom); - pop.push_back(chrom); - } - - std::cout << "population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << pop[i] << " " << pop[i].fitness() << std::endl; - - eoBinBitFlip bitflip; - eoBinCrossover xover; - eoProportionalOpSel propSel; - eoBreeder breeder( propSel ); - propSel.addOp(bitflip, 0.25); - propSel.addOp(xover, 0.75); - - breeder(pop); - - // reevaluation of fitness - for_each(pop.begin(), pop.end(), BinaryValue()); - - std::cout << "new population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << pop[i] << " " << pop[i].fitness() << std::endl; - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eofitness.cpp b/trunk/paradiseo-eo/test/t-eofitness.cpp deleted file mode 100644 index 1999e9fd5..000000000 --- a/trunk/paradiseo-eo/test/t-eofitness.cpp +++ /dev/null @@ -1,90 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eofitness.cpp -// (c) GeNeura Team 1998 -//----------------------------------------------------------------------------- - -#include // time -#include // srand, rand -#include // std::cout - -#include - -using namespace std; - -//----------------------------------------------------------------------------- - -template -int test_fitness(Fitness a, Fitness b) -{ -// srand(time(0)); - -// Fitness a = aval; //static_cast(rand()) / RAND_MAX; -// Fitness b = bval; //static_cast(rand()) / RAND_MAX; - - std::cout.precision(2); - - unsigned repeat = 2; - while (repeat--) - { - std::cout << "------------------------------------------------------" << std::endl; - std::cout << "testing < "; - if (a < b) - std::cout << a << " < " << b << " is true" << std::endl; - else - std::cout << a << " < " << b << " is false" < "; - if (a > b) - std::cout << a << " > " << b << " is true" << std::endl; - else - std::cout << a << " > " << b << " is false" < -#include - -#include "binary_value.h" - -//----------------------------------------------------------------------------- - -typedef eoBin Chrom; - -//----------------------------------------------------------------------------- - -main() -{ - const unsigned POP_SIZE = 8, CHROM_SIZE = 16; - unsigned i; - - eoBinRandom random; - eoPop pop; - - // Evaluation - eoEvalFuncPtr eval( binary_value ); - - for (i = 0; i < POP_SIZE; ++i) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - eval(chrom); - pop.push_back(chrom); - } - - std::cout << "population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - - // selection - eoLottery lottery; - - // breeder - eoBinBitFlip bitflip; - eoBinCrossover xover; - eoProportionalOpSel propSel; - eoBreeder breeder( propSel ); - propSel.addOp(bitflip, 0.25); - propSel.addOp(xover, 0.75); - - // replacement - eoInclusion inclusion; - - - - // GA generation - eoGeneration generation(lottery, breeder, inclusion, eval); - - // evolution - unsigned g = 0; - do { - try - { - generation(pop); - } - catch (std::exception& e) - { - std::cout << "exception: " << e.what() << std::endl;; - exit(EXIT_FAILURE); - } - - std::cout << "pop[" << ++g << "]" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << "\t" << pop[i] << " " << pop[i].fitness() << std::endl; - - } while (pop[0].fitness() < pow(2.0, CHROM_SIZE) - 1); - - // Try again, with a "counted" evaluation function - // GA generation - // Evaluation - eoEvalFuncPtrCnt eval2( binary_value ); - eoPop pop2; - - for (i = 0; i < POP_SIZE; ++i) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - binary_value(chrom); - eval2(chrom); - pop2.push_back(chrom); - } - eoGeneration generation2(lottery, breeder, inclusion, eval2); - - // evolution - do { - try - { - generation2(pop2); - } - catch (std::exception& e) - { - std::cout << "exception: " << e.what() << std::endl;; - exit(EXIT_FAILURE); - } - - std::cout << "pop[" << ++g << "]" << std::endl; - for (i = 0; i < pop2.size(); ++i) - std::cout << "\t" << pop2[i] << " " << pop[i].fitness() << std::endl; - - } while (pop2[0].fitness() < pow(2.0, CHROM_SIZE) - 1); - - std::cout << "Number of evaluations " << eval2.getNumOfEvaluations() << std::endl; - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoinclusion.cpp b/trunk/paradiseo-eo/test/t-eoinclusion.cpp deleted file mode 100644 index 217f2eff0..000000000 --- a/trunk/paradiseo-eo/test/t-eoinclusion.cpp +++ /dev/null @@ -1,97 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eoinclusion.cpp -//----------------------------------------------------------------------------- - -#include -#include -#include - -//----------------------------------------------------------------------------- - -typedef eoBin Chrom; - -#include "binary_value.h" - -//----------------------------------------------------------------------------- - -main() -{ - const unsigned CHROM_SIZE = 4; - - eoBinRandom random; - BinaryValue eval; - - for (unsigned POP_SIZE = 4; POP_SIZE <=6; POP_SIZE++) - { - eoPop pop; - unsigned i; - for ( i = 0; i < POP_SIZE; i++) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - eval(chrom); - pop.push_back(chrom); - } - - for (unsigned POP2_SIZE = 4; POP2_SIZE <=6; POP2_SIZE++) - { - eoPop pop2, pop3, pop4, pop5; - - for (i = 0; i < POP2_SIZE; i++) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - eval(chrom); - pop2.push_back(chrom); - } - - std::cout << "--------------------------------------------------" << std::endl - << "breeders \tpop" << std::endl - << "--------------------------------------------------" << std::endl; - for (i = 0; i < max(pop.size(), pop2.size()); i++) - { - if (pop.size() > i) - std::cout << pop[i] << " " << pop[i].fitness() << " \t"; - else - std::cout << "\t\t"; - if (pop2.size() > i) - std::cout << pop2[i] << " " << pop2[i].fitness(); - std::cout << std::endl; - } - - eoInclusion inclusion(0.75); - pop3 = pop2; - inclusion(pop, pop3); - - eoInclusion inclusion2; - pop4 = pop2; - inclusion2(pop, pop4); - - eoInclusion inclusion3(1.5); - pop5 = pop2; - inclusion3(pop, pop5); - - std::cout << std::endl - << "0.75 \t\t1.0 \t\t1.5" << std::endl - << "---- \t\t--- \t\t---" << std::endl; - for (i = 0; i < pop5.size(); i++) - { - if (pop3.size() > i) - std::cout << pop3[i] << " " << pop3[i].fitness() << " \t"; - else - std::cout << " \t\t"; - if (pop4.size() > i) - std::cout << pop4[i] << " " << pop4[i].fitness() << " \t"; - else - std::cout << " \t\t"; - if (pop5.size() > i) - std::cout << pop5[i] << " " << pop5[i].fitness(); - std::cout << std::endl; - } - } - } - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoinsertion.cpp b/trunk/paradiseo-eo/test/t-eoinsertion.cpp deleted file mode 100644 index 051ca8211..000000000 --- a/trunk/paradiseo-eo/test/t-eoinsertion.cpp +++ /dev/null @@ -1,108 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eoinsertion.cpp -//----------------------------------------------------------------------------- - -#include // eoBin, eoPop, eoInsertion - -//----------------------------------------------------------------------------- - -typedef eoBin Chrom; - -//----------------------------------------------------------------------------- - -void binary_value(Chrom& chrom) -{ - float sum = 0; - for (unsigned i = 0; i < chrom.size(); i++) - if (chrom[i]) - sum += pow(2, chrom.size() - i - 1); - chrom.fitness(sum); -} - -//----------------------------------------------------------------------------- - -main() -{ - const unsigned CHROM_SIZE = 4; - unsigned i; - - eoBinRandom random; - - for (unsigned POP_SIZE = 4; POP_SIZE <=6; POP_SIZE++) - { - eoPop pop; - - for (i = 0; i < POP_SIZE; i++) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - binary_value(chrom); - pop.push_back(chrom); - } - - for (unsigned POP2_SIZE = 4; POP2_SIZE <=6; POP2_SIZE++) - { - eoPop pop2, pop3, pop4, pop5, popx; - - for (i = 0; i < POP2_SIZE; i++) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - binary_value(chrom); - pop2.push_back(chrom); - } - - std::cout << "--------------------------------------------------" << std::endl - << "breeders \tpop" << std::endl - << "--------------------------------------------------" << std::endl; - for (i = 0; i < max(pop.size(), pop2.size()); i++) - { - if (pop.size() > i) - std::cout << pop[i] << " " << pop[i].fitness() << " \t"; - else - std::cout << "\t\t"; - if (pop2.size() > i) - std::cout << pop2[i] << " " << pop2[i].fitness(); - std::cout << std::endl; - } - - eoInsertion insertion(0.75); - popx = pop; - pop3 = pop2; - insertion(popx, pop3); - - eoInsertion insertion2; - popx = pop; - pop4 = pop2; - insertion2(popx, pop4); - - eoInsertion insertion3(1.5); - popx = pop; - pop5 = pop2; - insertion3(popx, pop5); - - std::cout << std::endl - << "0.75 \t\t1.0 \t\t1.5" << std::endl - << "---- \t\t--- \t\t---" << std::endl; - for (i = 0; i < pop5.size(); i++) - { - if (pop3.size() > i) - std::cout << pop3[i] << " " << pop3[i].fitness() << " \t"; - else - std::cout << " \t\t"; - if (pop4.size() > i) - std::cout << pop4[i] << " " << pop4[i].fitness() << " \t"; - else - std::cout << " \t\t"; - if (pop5.size() > i) - std::cout << pop5[i] << " " << pop5[i].fitness(); - std::cout << std::endl; - } - } - } - - return 0; -} - -//----------------------------------------------------------------------------- - diff --git a/trunk/paradiseo-eo/test/t-eolottery.cpp b/trunk/paradiseo-eo/test/t-eolottery.cpp deleted file mode 100644 index e03926380..000000000 --- a/trunk/paradiseo-eo/test/t-eolottery.cpp +++ /dev/null @@ -1,54 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eolottery.cpp -//----------------------------------------------------------------------------- - -#include // eoBin, eoPop, eoLottery - -//----------------------------------------------------------------------------- - -typedef eoBin Chrom; - -void binary_value(Chrom& chrom) -{ - float sum = 0; - for (unsigned i = 0; i < chrom.size(); i++) - if (chrom[i]) - sum += pow(2, i); - chrom.fitness(sum); -} - -//----------------------------------------------------------------------------- - -main() -{ - const unsigned POP_SIZE = 8, CHROM_SIZE = 4; - - eoPop pop, pop2; - eoBinRandom random; - unsigned i; - - for (i = 0; i < POP_SIZE; i++) - { - Chrom chrom(CHROM_SIZE); - random(chrom); - binary_value(chrom); - pop.push_back(chrom); - } - - std::cout << "original population:" << std::endl; - sort(pop.begin(), pop.end()); - for (i = 0; i < pop.size(); i++) - std::cout << pop[i] << " " << pop[i].fitness() << std::endl; - - eoLottery lottery; - lottery(pop, pop2); - - std::cout << "selected by lottery population:" << std::endl; - sort(pop2.begin(), pop2.end()); - for (i = 0; i < pop2.size(); i++) - std::cout << pop2[i] << " " << pop2[i].fitness() << std::endl; - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-eoproblem.cpp b/trunk/paradiseo-eo/test/t-eoproblem.cpp deleted file mode 100644 index 066efb62f..000000000 --- a/trunk/paradiseo-eo/test/t-eoproblem.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//----------------------------------------------------------------------------- -// t-eoproblem.cpp -// (c) GeNeura Team 1998 -//----------------------------------------------------------------------------- - -#include // time -#include // fabs -#include // std::cout -#include // eoVector, eoProblem - -//----------------------------------------------------------------------------- - -typedef eoVector Chrom; - -//----------------------------------------------------------------------------- - -std::ostream& operator<<(std::ostream& os, const Chrom& chrom) -{ - copy(chrom.begin(), chrom.end(), std::ostream_iterator(os)); - return os; -} - -//----------------------------------------------------------------------------- - -class Easy//: public eoProblem -{ -public: - static const unsigned size; - - float operator()(const Chrom& chrom) - { - return 1.0 / (fabs(chrom[0]) + 1.0); - } -}; -const unsigned Easy::size = 1; - -//----------------------------------------------------------------------------- - -int main() -{ - Easy easy; - Chrom chrom(Easy::size); - - srand(time(0)); - - chrom[0] = ((float)rand()) / ((float)RAND_MAX); - chrom.fitness(easy(chrom)); - - std::cout << "chrom = " << chrom << std::endl - << "chrom.fitness() = " << chrom.fitness() << std::endl; - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/test/t-selectOne.cpp b/trunk/paradiseo-eo/test/t-selectOne.cpp deleted file mode 100644 index e401188eb..000000000 --- a/trunk/paradiseo-eo/test/t-selectOne.cpp +++ /dev/null @@ -1,88 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// t-selectOne.cpp -// This program test the breeder object -// (c) GeNeura Team, 1998 -/* - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - -*/ -//----------------------------------------------------------------------------- - -#ifndef __GNUG__ -// to avoid long name warnings -#pragma warning(disable:4786) -#endif // __GNUG__ - -#include // eoBin, eoPop, eoBreeder -#include -#include - -#include -#include -#include - - -//----------------------------------------------------------------------------- - -typedef eoBin Chrom; - -#include "binary_value.h" - -//----------------------------------------------------------------------------- - -main() -{ - const unsigned POP_SIZE = 8, CHROM_SIZE = 4; - unsigned i; - - eoBinRandom random; - eoPop pop; - - // Create the population - for (i = 0; i < POP_SIZE; ++i) { - Chrom chrom(CHROM_SIZE); - random(chrom); - BinaryValue()(chrom); - pop.push_back(chrom); - } - - // print population - std::cout << "population:" << std::endl; - for (i = 0; i < pop.size(); ++i) - std::cout << pop[i] << " " << pop[i].fitness() << std::endl; - - // Declare 1-selectors - eoUniformSelect uSelect; - - Chrom aChrom; - aChrom = uSelect( pop ); - std::cout << "Uniform Select " << aChrom << " " << aChrom.fitness() << std::endl; - - eoStochTournament sSelect(0.7); - aChrom = sSelect( pop ); - std::cout << "Stochastic Tournament " << aChrom << " " << aChrom.fitness() << std::endl; - - eoDetTournament dSelect(3); - aChrom = dSelect( pop ); - std::cout << "Deterministic Tournament " << aChrom << " " << aChrom.fitness() << std::endl; - - return 0; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-eo/tutorial/.cvsignore b/trunk/paradiseo-eo/tutorial/.cvsignore deleted file mode 100644 index 70845e08e..000000000 --- a/trunk/paradiseo-eo/tutorial/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.in diff --git a/trunk/paradiseo-eo/tutorial/CVS/Entries b/trunk/paradiseo-eo/tutorial/CVS/Entries deleted file mode 100644 index debcc0bf3..000000000 --- a/trunk/paradiseo-eo/tutorial/CVS/Entries +++ /dev/null @@ -1,6 +0,0 @@ -/.cvsignore/1.1/Fri Sep 17 16:53:15 2004// -/Makefile.am/1.3/Tue Feb 22 14:12:19 2005// -/Makefile.simple/1.1/Fri Sep 17 15:20:15 2004// -/README/1.4/Tue Dec 19 18:18:08 2000// -/index.html/1.3/Thu Jan 4 15:23:14 2001// -D diff --git a/trunk/paradiseo-eo/tutorial/CVS/Entries.Log b/trunk/paradiseo-eo/tutorial/CVS/Entries.Log deleted file mode 100644 index ff2744c3c..000000000 --- a/trunk/paradiseo-eo/tutorial/CVS/Entries.Log +++ /dev/null @@ -1,10 +0,0 @@ -A D/Lesson1//// -A D/Lesson2//// -A D/Lesson3//// -A D/Lesson4//// -A D/Lesson5//// -A D/ParadisEO//// -A D/Templates//// -A D/examples//// -A D/html//// -A D/pdf//// diff --git a/trunk/paradiseo-eo/tutorial/CVS/Repository b/trunk/paradiseo-eo/tutorial/CVS/Repository deleted file mode 100644 index 0ba75763d..000000000 --- a/trunk/paradiseo-eo/tutorial/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial diff --git a/trunk/paradiseo-eo/tutorial/CVS/Root b/trunk/paradiseo-eo/tutorial/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/.cvsignore b/trunk/paradiseo-eo/tutorial/Lesson1/.cvsignore deleted file mode 100644 index 70845e08e..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.in diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Entries b/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Entries deleted file mode 100644 index 0d1fe924e..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/.cvsignore/1.1/Fri Sep 17 16:53:14 2004// -/FirstBitGA.cpp/1.10/Wed Sep 28 21:49:26 2005// -/FirstRealGA.cpp/1.9/Wed Sep 28 21:49:26 2005// -/Makefile.am/1.2/Wed Sep 22 18:18:30 2004// -/Makefile.simple/1.1/Fri Sep 17 15:20:17 2004// -/exercise1.3.cpp/1.7/Wed Sep 28 21:49:26 2005// -D diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Repository b/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Repository deleted file mode 100644 index e47e5f49b..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/Lesson1 diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Root b/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/FirstBitGA.cpp b/trunk/paradiseo-eo/tutorial/Lesson1/FirstBitGA.cpp deleted file mode 100644 index ac53607ae..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/FirstBitGA.cpp +++ /dev/null @@ -1,167 +0,0 @@ -//----------------------------------------------------------------------------- -// FirstBitGA.cpp -//----------------------------------------------------------------------------- -//* -// An instance of a VERY simple Bitstring Genetic Algorithm -// -//----------------------------------------------------------------------------- - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include - -// Use functions from namespace std -using namespace std; - -// REPRESENTATION -//----------------------------------------------------------------------------- -// define your individuals -typedef eoBit Indi; // A bitstring with fitness double - -// EVAL -//----------------------------------------------------------------------------- -// a simple fitness function that computes the number of ones of a bitstring -// @param _indi A biststring individual - -double binary_value(const Indi & _indi) -{ - double sum = 0; - for (unsigned i = 0; i < _indi.size(); i++) - sum += _indi[i]; - return sum; -} -// GENERAL -//----------------------------------------------------------------------------- -void main_function(int argc, char **argv) -{ -// PARAMETRES - // all parameters are hard-coded! - const unsigned int SEED = 42; // seed for random number generator - const unsigned int T_SIZE = 3; // size for tournament selection - const unsigned int VEC_SIZE = 16; // Number of bits in genotypes - const unsigned int POP_SIZE = 100; // Size of population - const unsigned int MAX_GEN = 400; // Maximum number of generation before STOP - const float CROSS_RATE = 0.8; // Crossover rate - const double P_MUT_PER_BIT = 0.01; // probability of bit-flip mutation - const float MUT_RATE = 1.0; // mutation rate - -// GENERAL - ////////////////////////// - // Random seed - ////////////////////////// - //reproducible random seed: if you don't change SEED above, - // you'll aways get the same result, NOT a random run - rng.reseed(SEED); - -// EVAL - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object - eoEvalFuncPtr eval( binary_value ); - -// INIT - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - - // declare the population - eoPop pop; - // fill it! - for (unsigned int igeno=0; igeno select(T_SIZE); // T_SIZE in [2,POP_SIZE] - -// REPLACE - // The simple GA evolution engine uses generational replacement - // so no replacement procedure is needed - -// OPERATORS - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// -// CROSSOVER - // 1-point crossover for bitstring - eo1PtBitXover xover; -// MUTATION - // standard bit-flip mutation for bitstring - eoBitMutation mutation(P_MUT_PER_BIT); - -// STOP -// CHECKPOINT - ////////////////////////////////////// - // termination condition - ///////////////////////////////////// - // stop after MAX_GEN generations - eoGenContinue continuator(MAX_GEN); - -// GENERATION - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - // standard Generational GA requires as parameters - // selection, evaluation, crossover and mutation, stopping criterion - - - eoSGA gga(select, xover, CROSS_RATE, mutation, MUT_RATE, - eval, continuator); - - // Apply algo to pop - that's it! - gga(pop); - -// OUTPUT - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -// GENERAL -} - // A main that catches the exceptions - -int main(int argc, char **argv) -{ - - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/FirstRealGA.cpp b/trunk/paradiseo-eo/tutorial/Lesson1/FirstRealGA.cpp deleted file mode 100644 index 09db59e61..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/FirstRealGA.cpp +++ /dev/null @@ -1,162 +0,0 @@ -//----------------------------------------------------------------------------- -// FirstRealGA.cpp -//----------------------------------------------------------------------------- -//* -// An instance of a VERY simple Real-coded Genetic Algorithm -// -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include -#include - -// Use functions from namespace std -using namespace std; - -// REPRESENTATION -//----------------------------------------------------------------------------- -// define your individuals - typedef eoReal Indi; - -// EVAL -//----------------------------------------------------------------------------- -// a simple fitness function that computes the euclidian norm of a real vector -// @param _indi A real-valued individual - -double real_value(const Indi & _indi) -{ - double sum = 0; - for (unsigned i = 0; i < _indi.size(); i++) - sum += _indi[i]*_indi[i]; - return (-sum); // maximizing only -} -// GENERAL -//----------------------------------------------------------------------------- -void main_function(int argc, char **argv) -{ -// PARAMETRES - // all parameters are hard-coded! - const unsigned int SEED = 42; // seed for random number generator - const unsigned int VEC_SIZE = 8; // Number of object variables in genotypes - const unsigned int POP_SIZE = 20; // Size of population - const unsigned int T_SIZE = 3; // size for tournament selection - const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP - const float CROSS_RATE = 0.8; // Crossover rate - const double EPSILON = 0.01; // range for real uniform mutation - const float MUT_RATE = 0.5; // mutation rate - -// GENERAL - ////////////////////////// - // Random seed - ////////////////////////// - //reproducible random seed: if you don't change SEED above, - // you'll aways get the same result, NOT a random run - rng.reseed(SEED); - -// EVAL - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object - eoEvalFuncPtr eval( real_value ); - -// INIT - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - - // declare the population - eoPop pop; - // fill it! - for (unsigned int igeno=0; igeno select(T_SIZE); // T_SIZE in [2,POP_SIZE] - -// REPLACE - // eoSGA uses generational replacement by default - // so no replacement procedure has to be given - -// OPERATORS - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// -// CROSSOVER - // offspring(i) is a linear combination of parent(i) - eoSegmentCrossover xover; -// MUTATION - // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon] - eoUniformMutation mutation(EPSILON); - -// STOP -// CHECKPOINT - ////////////////////////////////////// - // termination condition - ///////////////////////////////////// - // stop after MAX_GEN generations - eoGenContinue continuator(MAX_GEN); - -// GENERATION - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - // standard Generational GA requires - // selection, evaluation, crossover and mutation, stopping criterion - - - eoSGA gga(select, xover, CROSS_RATE, mutation, MUT_RATE, - eval, continuator); - - // Apply algo to pop - that's it! - gga(pop); - -// OUTPUT - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -// GENERAL -} - -// A main that catches the exceptions - -int main(int argc, char **argv) -{ - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/Makefile.am b/trunk/paradiseo-eo/tutorial/Lesson1/Makefile.am deleted file mode 100644 index d74f07337..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ - -noinst_PROGRAMS = FirstBitGA FirstRealGA exercise1.3 - -FirstBitGA_SOURCES = FirstBitGA.cpp - -FirstRealGA_SOURCES = FirstRealGA.cpp - -exercise1_3_SOURCES = exercise1.3.cpp - - -LDADD = -L$(top_builddir)/src -L$(top_builddir)/src/ga -L$(top_builddir)/src/utils - -LIBS = -lga -leoutils -leo - -INCLUDES = -I$(top_srcdir)/src - diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/Makefile.simple b/trunk/paradiseo-eo/tutorial/Lesson1/Makefile.simple deleted file mode 100644 index 093ca8525..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/Makefile.simple +++ /dev/null @@ -1,25 +0,0 @@ -# if you use this Makefile as a starting point for another application -# you might need to modify the following -DIR_EO = ../../src - -.SUFFIXES: .cpp - -# Warning: $(CXX) in Linux (RedHat and Mandrake at least) is g++ -# However, if you are using this Makefile within xemacs, -# and have problems with the interpretation of the output (and its colors) -# then you should use c++ instead (make CXX=c++ will do) - -.cpp: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -pg -o $@ $*.cpp $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -.cpp.o: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -c -pg $*.cpp - -firstGA = FirstRealGA FirstBitGA - -ALL = $(firstGA) exercise1.3 - -lesson1 : $(firstGA) - -all : $(ALL) - -clean : - @/bin/rm $(ALL) *.o *~ diff --git a/trunk/paradiseo-eo/tutorial/Lesson1/exercise1.3.cpp b/trunk/paradiseo-eo/tutorial/Lesson1/exercise1.3.cpp deleted file mode 100644 index abd62a0b9..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson1/exercise1.3.cpp +++ /dev/null @@ -1,162 +0,0 @@ -#ifdef HAVE_CONFIG_H -#include -#endif - -//----------------------------------------------------------------------------- -// FirstBitGA.cpp -//----------------------------------------------------------------------------- -//* -// An instance of a VERY simple Bitstring Genetic Algorithm -// -//----------------------------------------------------------------------------- -// standard includes -#include -#include - -// the general include for eo -#include - -//----------------------------------------------------------------------------- -// Include the corresponding file -#include // bitstring representation & operators -// define your individuals -typedef eoBit Indi; // A bitstring with fitness double - -using namespace std; - -//----------------------------------------------------------------------------- -/** a simple fitness function that computes the number of ones of a bitstring - @param _indi A biststring individual -*/ - -double binary_value(const Indi & _indi) -{ - double sum = 0; - for (unsigned i = 0; i < _indi.size(); i++) - sum += _indi[i]; - return sum; -} - -//----------------------------------------------------------------------------- - -void main_function(int argc, char **argv) -{ - const unsigned int SEED = 42; // seed for random number generator - const unsigned int VEC_SIZE = 8; // Number of bits in genotypes - const unsigned int POP_SIZE = 20; // Size of population - const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP - const float CROSS_RATE = 0.8; // Crossover rate - const double P_MUT_PER_BIT = 0.01; // probability of bit-flip mutation - const float MUT_RATE = 1.0; // mutation rate - - ////////////////////////// - // Random seed - ////////////////////////// - //reproducible random seed: if you don't change SEED above, - // you'll aways get the same result, NOT a random run - rng.reseed(SEED); - - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object - eoEvalFuncPtr eval( binary_value ); - - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - - // declare the population - eoPop pop; - // fill it! - for (unsigned int igeno=0; igeno select; - - // could also use stochastic binary tournament selection - // - // const double RATE = 0.75; - // eoStochTournamentSelect select(RATE); // RATE in ]0.5,1] - // The robust tournament selection - const unsigned int T_SIZE = 3; // size for tournament selection - eoDetTournamentSelect select(T_SIZE); // T_SIZE in [2,POP_SIZE] - - // and of course the random selection - // eoRandomSelect select; - - // The simple GA evolution engine uses generational replacement - // so no replacement procedure is needed - - ////////////////////////////////////// - // termination condition - ///////////////////////////////////// - // stop after MAX_GEN generations - eoGenContinue continuator(MAX_GEN); - - - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// - // standard bit-flip mutation for bitstring - eoBitMutation mutation(P_MUT_PER_BIT); - // 1-point mutation for bitstring - eo1PtBitXover xover; - - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - // standard Generational GA requires as parameters - // selection, evaluation, crossover and mutation, stopping criterion - - - eoSGA gga(select, xover, CROSS_RATE, mutation, MUT_RATE, - eval, continuator); - - // Apply algo to pop - that's it! - gga(pop); - - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -} - -// A main that catches the exceptions - -int main(int argc, char **argv) -{ - - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/.cvsignore b/trunk/paradiseo-eo/tutorial/Lesson2/.cvsignore deleted file mode 100644 index 70845e08e..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.in diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Entries b/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Entries deleted file mode 100644 index 42b9146d4..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/.cvsignore/1.1/Fri Sep 17 16:53:14 2004// -/FirstBitEA.cpp/1.11/Wed Sep 28 21:49:26 2005// -/FirstRealEA.cpp/1.14/Wed Sep 28 21:49:26 2005// -/Makefile.am/1.3/Sun Oct 2 21:42:08 2005// -/Makefile.simple/1.1/Fri Sep 17 15:20:18 2004// -/binary_value.h/1.2/Thu Feb 27 19:19:51 2003// -/exercise2.3.cpp/1.8/Wed Sep 28 21:49:26 2005// -/real_value.h/1.3/Tue Feb 27 05:09:09 2001// -D diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Repository b/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Repository deleted file mode 100644 index 9e14e730f..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/Lesson2 diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Root b/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/FirstBitEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson2/FirstBitEA.cpp deleted file mode 100644 index 13da78957..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/FirstBitEA.cpp +++ /dev/null @@ -1,193 +0,0 @@ -//----------------------------------------------------------------------------- -// FirstBitEA.cpp -//----------------------------------------------------------------------------- -//* -// Still an instance of a VERY simple Bitstring Genetic Algorithm -// (see FirstBitGA.cpp) but now with Breeder - and Combined Ops -// -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -// standard includes -#include // runtime_error -#include // cout - -// the general include for eo -#include -#include - -// Use functions from namespace std -using namespace std; - -// REPRESENTATION -//----------------------------------------------------------------------------- -// define your individuals -typedef eoBit Indi; // A bitstring with fitness double - -// EVALFUNC -//----------------------------------------------------------------------------- -// a simple fitness function that computes the number of ones of a bitstring -// Now in a separate file, and declared as binary_value(const vector &) - -#include "binary_value.h" - -// GENERAL -//----------------------------------------------------------------------------- - -void main_function(int argc, char **argv) -{ -// PARAMETRES - const unsigned int SEED = 42; // seed for random number generator - const unsigned int T_SIZE = 3; // size for tournament selection - const unsigned int VEC_SIZE = 8; // Number of bits in genotypes - const unsigned int POP_SIZE = 20; // Size of population - - const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP - const unsigned int MIN_GEN = 10; // Minimum number of generation before ... - const unsigned int STEADY_GEN = 50; // stop after STEADY_GEN gen. without improvelent - - const double P_CROSS = 0.8; // Crossover probability - const double P_MUT = 1.0; // mutation probability - - const double P_MUT_PER_BIT = 0.01; // internal probability for bit-flip mutation - // some parameters for chosing among different operators - const double onePointRate = 0.5; // rate for 1-pt Xover - const double twoPointsRate = 0.5; // rate for 2-pt Xover - const double URate = 0.5; // rate for Uniform Xover - const double bitFlipRate = 0.5; // rate for bit-flip mutation - const double oneBitRate = 0.5; // rate for one-bit mutation - -// GENERAL - ////////////////////////// - // Random seed - ////////////////////////// - //reproducible random seed: if you don't change SEED above, - // you'll aways get the same result, NOT a random run - rng.reseed(SEED); - -// EVAL - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object - // you need to give the full description of the function - eoEvalFuncPtr& > eval( binary_value ); - -// INIT - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - - // based on boolean_generator class (see utils/eoRndGenerators.h) - eoUniformGenerator uGen; - eoInitFixedLength random(VEC_SIZE, uGen); - // Initialization of the population - eoPop pop(POP_SIZE, random); - - // and evaluate it in one loop - apply(eval, pop); // STL syntax - -// OUTPUT - // sort pop before printing it! - pop.sort(); - // Print (sorted) intial population (raw printout) - cout << "Initial Population" << endl; - cout << pop; - -// ENGINE - ///////////////////////////////////// - // selection and replacement - //////////////////////////////////// -// SELECT - // The robust tournament selection - eoDetTournamentSelect selectOne(T_SIZE); // T_SIZE in [2,POP_SIZE] - // is now encapsulated in a eoSelectPerc (entage) - eoSelectPerc select(selectOne);// by default rate==1 - -// REPLACE - // And we now have the full slection/replacement - though with - // no replacement (== generational replacement) at the moment :-) - eoGenerationalReplacement replace; - -// OPERATORS - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// -// CROSSOVER - // 1-point crossover for bitstring - eo1PtBitXover xover1; - // uniform crossover for bitstring - eoUBitXover xoverU; - // 2-pots xover - eoNPtsBitXover xover2(2); - // Combine them with relative rates - eoPropCombinedQuadOp xover(xover1, onePointRate); - xover.add(xoverU, URate); - xover.add(xover2, twoPointsRate, true); - -// MUTATION - // standard bit-flip mutation for bitstring - eoBitMutation mutationBitFlip(P_MUT_PER_BIT); - // mutate exactly 1 bit per individual - eoDetBitFlip mutationOneBit; - // Combine them with relative rates - eoPropCombinedMonOp mutation(mutationBitFlip, bitFlipRate); - mutation.add(mutationOneBit, oneBitRate, true); - - // The operators are encapsulated into an eoTRansform object - eoSGATransform transform(xover, P_CROSS, mutation, P_MUT); - -// STOP -// CHECKPOINT - ////////////////////////////////////// - // termination conditions: use more than one - ///////////////////////////////////// - // stop after MAX_GEN generations - eoGenContinue genCont(MAX_GEN); - // do MIN_GEN gen., then stop after STEADY_GEN gen. without improvement - eoSteadyFitContinue steadyCont(MIN_GEN, STEADY_GEN); - // stop when fitness reaches a target (here VEC_SIZE) - eoFitContinue fitCont(VEC_SIZE); - // do stop when one of the above says so - eoCombinedContinue continuator(genCont); - continuator.add(steadyCont); - continuator.add(fitCont); - -// GENERATION - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - - // Easy EA requires - // selection, transformation, eval, replacement, and stopping criterion - eoEasyEA gga(continuator, eval, select, transform, replace); - - // Apply algo to pop - that's it! - cout << "\n Here we go\n\n"; - gga(pop); - -// OUTPUT - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -// GENERAL -} - -// A main that catches the exceptions - -int main(int argc, char **argv) -{ - - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/FirstRealEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson2/FirstRealEA.cpp deleted file mode 100644 index 8901c3818..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/FirstRealEA.cpp +++ /dev/null @@ -1,192 +0,0 @@ -//----------------------------------------------------------------------------- -// FirstRealEA.cpp -//----------------------------------------------------------------------------- -//* -// Still an instance of a VERY simple Real-coded Genetic Algorithm -// (see FirstBitGA.cpp) but now with Breeder - and Combined Ops -// -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -// standard includes -#include // runtime_error -#include // cout - -// the general include for eo -#include -#include - -// REPRESENTATION -//----------------------------------------------------------------------------- -// define your individuals -typedef eoReal Indi; - -// Use functions from namespace std -using namespace std; - -// EVALFUNC -//----------------------------------------------------------------------------- -// a simple fitness function that computes the euclidian norm of a real vector -// Now in a separate file, and declared as binary_value(const vector &) - -#include "real_value.h" - -// GENERAL -//----------------------------------------------------------------------------- - -void main_function(int argc, char **argv) -{ -// PARAMETRES - const unsigned int SEED = 42; // seed for random number generator - const unsigned int T_SIZE = 3; // size for tournament selection - const unsigned int VEC_SIZE = 8; // Number of object variables in genotypes - const unsigned int POP_SIZE = 20; // Size of population - - const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP - const unsigned int MIN_GEN = 10; // Minimum number of generation before ... - const unsigned int STEADY_GEN = 50; // stop after STEADY_GEN gen. without improvelent - - const float P_CROSS = 0.8; // Crossover probability - const float P_MUT = 0.5; // mutation probability - - const double EPSILON = 0.01; // range for real uniform mutation - double SIGMA = 0.3; // std dev. for normal mutation - // some parameters for chosing among different operators - const double hypercubeRate = 0.5; // relative weight for hypercube Xover - const double segmentRate = 0.5; // relative weight for segment Xover - const double uniformMutRate = 0.5; // relative weight for uniform mutation - const double detMutRate = 0.5; // relative weight for det-uniform mutation - const double normalMutRate = 0.5; // relative weight for normal mutation - -// GENERAL - ////////////////////////// - // Random seed - ////////////////////////// - //reproducible random seed: if you don't change SEED above, - // you'll aways get the same result, NOT a random run - rng.reseed(SEED); - -// EVAL - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object - // you need to give the full description of the function - eoEvalFuncPtr& > eval( real_value ); - -// INIT - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - // based on a uniform generator - eoUniformGenerator uGen(-1.0, 1.0); - eoInitFixedLength random(VEC_SIZE, uGen); - // Initialization of the population - eoPop pop(POP_SIZE, random); - - // and evaluate it in one loop - apply(eval, pop); // STL syntax - -// OUTPUT - // sort pop before printing it! - pop.sort(); - // Print (sorted) intial population (raw printout) - cout << "Initial Population" << endl; - cout << pop; - -// ENGINE - ///////////////////////////////////// - // selection and replacement - //////////////////////////////////// -// SELECT - // The robust tournament selection - eoDetTournamentSelect selectOne(T_SIZE); - // is now encapsulated in a eoSelectPerc (entage) - eoSelectPerc select(selectOne);// by default rate==1 - -// REPLACE - // And we now have the full slection/replacement - though with - // no replacement (== generational replacement) at the moment :-) - eoGenerationalReplacement replace; - -// OPERATORS - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// -// CROSSOVER - // uniform chooce on segment made by the parents - eoSegmentCrossover xoverS; - // uniform choice in hypercube built by the parents - eoHypercubeCrossover xoverA; - // Combine them with relative weights - eoPropCombinedQuadOp xover(xoverS, segmentRate); - xover.add(xoverA, hypercubeRate, true); - -// MUTATION - // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon] - eoUniformMutation mutationU(EPSILON); - // k (=1) coordinates of parents are uniformly modified - eoDetUniformMutation mutationD(EPSILON); - // all coordinates of parents are normally modified (stDev SIGMA) - eoNormalMutation mutationN(SIGMA); - // Combine them with relative weights - eoPropCombinedMonOp mutation(mutationU, uniformMutRate); - mutation.add(mutationD, detMutRate); - mutation.add(mutationN, normalMutRate, true); - -// STOP -// CHECKPOINT - ////////////////////////////////////// - // termination conditions: use more than one - ///////////////////////////////////// - // stop after MAX_GEN generations - eoGenContinue genCont(MAX_GEN); - // do MIN_GEN gen., then stop after STEADY_GEN gen. without improvement - eoSteadyFitContinue steadyCont(MIN_GEN, STEADY_GEN); - // stop when fitness reaches a target (here VEC_SIZE) - eoFitContinue fitCont(0); - // do stop when one of the above says so - eoCombinedContinue continuator(genCont); - continuator.add(steadyCont); - continuator.add(fitCont); - - // The operators are encapsulated into an eoTRansform object - eoSGATransform transform(xover, P_CROSS, mutation, P_MUT); - -// GENERATION - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - - // Easy EA requires - // selection, transformation, eval, replacement, and stopping criterion - eoEasyEA gga(continuator, eval, select, transform, replace); - - // Apply algo to pop - that's it! - cout << "\n Here we go\n\n"; - gga(pop); - -// OUTPUT - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -// GENERAL -} - -// A main that catches the exceptions - -int main(int argc, char **argv) -{ - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/Makefile.am b/trunk/paradiseo-eo/tutorial/Lesson2/Makefile.am deleted file mode 100644 index 44abb144c..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/Makefile.am +++ /dev/null @@ -1,23 +0,0 @@ - -noinst_PROGRAMS = FirstBitEA FirstRealEA exercise2.3 - - -FirstBitEA_SOURCES = FirstBitEA.cpp - -FirstRealEA_SOURCES = FirstRealEA.cpp - -exercise2_3_SOURCES = exercise2.3.cpp - - -noinst_HEADERS = binary_value.h \ - real_value.h - -extra_DIST = Makefile.simple - - -LDADD = -L$(top_builddir)/src -L$(top_builddir)/src/ga -L$(top_builddir)/src/utils - -LIBS = -lga -leo -leoutils - -INCLUDES = -I$(top_srcdir)/src - diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/Makefile.simple b/trunk/paradiseo-eo/tutorial/Lesson2/Makefile.simple deleted file mode 100644 index 1aec17105..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/Makefile.simple +++ /dev/null @@ -1,34 +0,0 @@ -### This Makefile is part of the tutorial of the EO library -# Unlike other Makefiles in EO, it is not using the automake/autoconf -# so that it stays easy to understant (you are in the tutorial, remember!) -# MS, Oct. 2002 - -# if you use this Makefile as a starting point for another application -# you might need to modify the following -DIR_EO = ../../src - -.SUFFIXES: .cpp - -# Warning: $(CXX) in Linux (RedHat and Mandrake at least) is g++ -# However, if you are using this Makefile within xemacs, -# and have problems with the interpretation of the output (and its colors) -# then you should use c++ instead (make CXX=c++ will do) - -.cpp: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -pg -o $@ $*.cpp $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -.cpp.o: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -c -pg $*.cpp - -firstEA = FirstRealEA FirstBitEA - -ALL = $(firstEA) exercise2.3 - -lesson2 : $(firstEA) - -all : $(ALL) - -clean : - @/bin/rm $(ALL) *.o *~ - -FirstRealEA : real_value.h - -FirstBitEA : binary_value.h diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/binary_value.h b/trunk/paradiseo-eo/tutorial/Lesson2/binary_value.h deleted file mode 100644 index f2f5d6ca1..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/binary_value.h +++ /dev/null @@ -1,17 +0,0 @@ -#include - -//----------------------------------------------------------------------------- - -/** Just a simple function that takes binary value of a chromosome and sets - the fitnes. - @param _chrom A binary chromosome -*/ -// INIT -double binary_value(const std::vector& _chrom) -{ - double sum = 0; - for (unsigned i = 0; i < _chrom.size(); i++) - sum += _chrom[i]; - return sum; -} - diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/exercise2.3.cpp b/trunk/paradiseo-eo/tutorial/Lesson2/exercise2.3.cpp deleted file mode 100644 index dc39e5d9f..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/exercise2.3.cpp +++ /dev/null @@ -1,197 +0,0 @@ -//----------------------------------------------------------------------------- -// FirstBitEA.cpp -//----------------------------------------------------------------------------- -//* -// Still an instance of a VERY simple Bitstring Genetic Algorithm -// (see FirstBitGA.cpp) but now with Breeder - and Combined Ops -// -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -// standard includes -#include // runtime_error -#include // cout - -// the general include for eo -#include - -// REPRESENTATION -//----------------------------------------------------------------------------- -// Include the corresponding file -#include // bitstring representation & operators -// define your individuals -typedef eoBit Indi; // A bitstring with fitness double - -// EVAL -//----------------------------------------------------------------------------- -// a simple fitness function that computes the number of ones of a bitstring -// Now in a separate file, and declared as binary_value(const vector &) - -#include "binary_value.h" - -// GENERAL -//----------------------------------------------------------------------------- - -using namespace std; - -void main_function(int argc, char **argv) -{ -// PARAMETRES - const unsigned int SEED = 42; // seed for random number generator - const unsigned int T_SIZE = 3; // size for tournament selection - const unsigned int VEC_SIZE = 20; // Number of bits in genotypes - const unsigned int POP_SIZE = 20; // Size of population - - const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP - const unsigned int MIN_GEN = 10; // Minimum number of generation before ... - const unsigned int STEADY_GEN = 50; // stop after STEADY_GEN gen. without improvelent - - const double P_CROSS = 0.8; // Crossover probability - const double P_MUT = 1.0; // mutation probability - - const double P_MUT_PER_BIT = 0.01; // internal probability for bit-flip mutation - // some parameters for chosing among different operators - const double onePointRate = 0.5; // rate for 1-pt Xover - const double twoPointsRate = 0.5; // rate for 2-pt Xover - const double URate = 0.5; // rate for Uniform Xover - const double bitFlipRate = 0.5; // rate for bit-flip mutation - const double oneBitRate = 0.5; // rate for one-bit mutation - -// GENERAL - ////////////////////////// - // Random seed - ////////////////////////// - //reproducible random seed: if you don't change SEED above, - // you'll aways get the same result, NOT a random run - rng.reseed(SEED); - -// EVAL - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object - // you need to give the full description of the function - eoEvalFuncPtr& > eval( binary_value ); - -// INIT - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - - // based on boolean_generator class (see utils/rnd_generator.h) - eoUniformGenerator uGen; - eoInitFixedLength random(VEC_SIZE, uGen); - // Initialization of the population - eoPop pop(POP_SIZE, random); - - // and evaluate it in one loop - apply(eval, pop); // STL syntax - -// OUTPUT - // sort pop before printing it! - pop.sort(); - // Print (sorted) intial population (raw printout) - cout << "Initial Population" << endl; - cout << pop; - -// ENGINE - ///////////////////////////////////// - // selection and replacement - //////////////////////////////////// -// SELECT - // The robust tournament selection - eoDetTournamentSelect selectOne(T_SIZE); // T_SIZE in [2,POP_SIZE] - // solution solution solution solution solution solution solution - // modify the nb offspring / rate in the constructor. 2 ways: - // second arg treated as integer - eoSelectMany select(selectOne,2, eo_is_an_integer); - // second arg treated as a rate (default behavior) - // eoSelectMany select(selectOne,0.1); - -// REPLACE - // solution solution solution solution solution solution solution - // eoCommaReplacement keeps the best among offspring - // eoPlusReplacement keeps the best among parents + offspring - // eoCommaReplacement replace; - eoPlusReplacement replace; - -// OPERATORS - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// -// CROSSOVER - // 1-point crossover for bitstring - eo1PtBitXover xover1; - // uniform crossover for bitstring - eoUBitXover xoverU; - // 2-pots xover - eoNPtsBitXover xover2(2); - // Combine them with relative rates - eoPropCombinedQuadOp xover(xover1, onePointRate); - xover.add(xoverU, URate); - xover.add(xover2, twoPointsRate, true); - -// MUTATION - // standard bit-flip mutation for bitstring - eoBitMutation mutationBitFlip(P_MUT_PER_BIT); - // mutate exactly 1 bit per individual - eoDetBitFlip mutationOneBit; - // Combine them with relative rates - eoPropCombinedMonOp mutation(mutationBitFlip, bitFlipRate); - mutation.add(mutationOneBit, oneBitRate, true); - - // The operators are encapsulated into an eoTRansform object - eoSGATransform transform(xover, P_CROSS, mutation, P_MUT); - -// STOP -// CHECKPOINT - ////////////////////////////////////// - // termination conditions: use more than one - ///////////////////////////////////// - // stop after MAX_GEN generations - eoGenContinue genCont(MAX_GEN); - // do MIN_GEN gen., then stop after STEADY_GEN gen. without improvement - eoSteadyFitContinue steadyCont(MIN_GEN, STEADY_GEN); - // stop when fitness reaches a target (here VEC_SIZE) - eoFitContinue fitCont(VEC_SIZE); - // do stop when one of the above says so - eoCombinedContinue continuator(genCont); - continuator.add(steadyCont); - continuator.add(fitCont); - -// GENERATION - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - - // Easy EA requires - // selection, transformation, eval, replacement, and stopping criterion - eoEasyEA gga(continuator, eval, select, transform, replace); - - // Apply algo to pop - that's it! - gga(pop); - -// OUTPUT - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -// GENERAL -} - -// A main that catches the exceptions - -int main(int argc, char **argv) -{ - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson2/real_value.h b/trunk/paradiseo-eo/tutorial/Lesson2/real_value.h deleted file mode 100644 index cc32e633f..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson2/real_value.h +++ /dev/null @@ -1,20 +0,0 @@ -#include -//----------------------------------------------------------------------------- -/** Just a simple function that takes an vector and sets the fitnes - to the sphere function. Please use doubles not float!!! - @param _ind A floatingpoint vector -*/ - -// INIT -double real_value(const std::vector& _ind) -{ - double sum = 0; - for (unsigned i = 0; i < _ind.size(); i++) - { - sum += _ind[i] * _ind[i]; - } - return -sum; -} - - - diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/.cvsignore b/trunk/paradiseo-eo/tutorial/Lesson3/.cvsignore deleted file mode 100644 index 70845e08e..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.in diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Entries b/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Entries deleted file mode 100644 index 125db17d2..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/.cvsignore/1.1/Fri Sep 17 16:53:13 2004// -/Makefile.am/1.5/Wed Dec 7 15:51:32 2005// -/Makefile.simple/1.1/Fri Sep 17 15:20:18 2004// -/SecondBitEA.cpp/1.17/Wed Sep 28 21:49:26 2005// -/SecondRealEA.cpp/1.4/Wed Sep 28 21:49:26 2005// -/binary_value.h/1.2/Thu Feb 27 19:19:40 2003// -/exercise3.1.cpp/1.19/Wed Sep 28 21:49:26 2005// -/real_value.h/1.1/Wed May 22 02:13:06 2002// -D diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Repository b/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Repository deleted file mode 100644 index 125e4ffb8..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/Lesson3 diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Root b/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/Makefile.am b/trunk/paradiseo-eo/tutorial/Lesson3/Makefile.am deleted file mode 100644 index 50f53cd8b..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ - -noinst_PROGRAMS = SecondBitEA SecondRealEA exercise3.1 - - -SecondBitEA_SOURCES = SecondBitEA.cpp - -SecondRealEA_SOURCES = SecondRealEA.cpp - -exercise3_1_SOURCES = exercise3.1.cpp - - -noinst_HEADERS = binary_value.h \ - real_value.h - -extra_DIST = Makefile.simple - - -LDADD = -L$(top_builddir)/src -L$(top_builddir)/src/ga -L$(top_builddir)/src/utils - -LIBS = -lga -leoutils -leo - -INCLUDES = -I$(top_srcdir)/src diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/Makefile.simple b/trunk/paradiseo-eo/tutorial/Lesson3/Makefile.simple deleted file mode 100644 index 186791f26..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/Makefile.simple +++ /dev/null @@ -1,33 +0,0 @@ -### This Makefile is part of the tutorial of the EO library -# Unlike other Makefiles in EO, it is not using the automake/autoconf -# so that it stays easy to understant (you are in the tutorial, remember!) -# MS, Oct. 2002 - -# if you use this Makefile as a starting point for another application -# you might need to modify the following -DIR_EO = ../../src - -.SUFFIXES: .cpp - -# Warning: $(CXX) in Linux (RedHat and Mandrake at least) is g++ -# However, if you are using this Makefile within xemacs, -# and have problems with the interpretation of the output (and its colors) -# then you should use c++ instead (make CXX=c++ will do) - -.cpp: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -pg -o $@ $*.cpp $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -.cpp.o: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -c -pg $*.cpp - -secondEA = SecondBitEA SecondRealEA - -ALL = $(secondEA) exercise3.1 - -lesson3 : $(secondEA) - -all : $(ALL) - -SecondBitEA : binary_value.h -SecondRealEA : real_value.h - -clean : - @/bin/rm $(ALL) *.o *.sav *.xg *.status *~ diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/SecondBitEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson3/SecondBitEA.cpp deleted file mode 100644 index 0507bc5c3..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/SecondBitEA.cpp +++ /dev/null @@ -1,348 +0,0 @@ -//----------------------------------------------------------------------------- -// SecondGA.cpp -//----------------------------------------------------------------------------- -//* -// Same code than FirstBitEA as far as Evolutionary Computation is concerned -// but now you learn to enter the parameters in a more flexible way -// and to twidle the output to your preferences! -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -// standard includes -#include -#include // cout -#include // runtime_error - -// the general include for eo -#include -#include - -// Use functions from namespace std -using namespace std; - -// EVAL -#include "binary_value.h" - -// REPRESENTATION -//----------------------------------------------------------------------------- -// define your genotype and fitness types -typedef eoBit Indi; - -// the main_function: nothing changed(!), except variable initialization -void main_function(int argc, char **argv) -{ -// PARAMETRES -//----------------------------------------------------------------------------- -// instead of having all values of useful parameters as constants, read them: -// either on the command line (--option=value or -o=value) -// or in a parameter file (same syntax, order independent, -// # = usual comment character -// or in the environment (TODO) - - // First define a parser from the command-line arguments - eoParser parser(argc, argv); - - // For each parameter, define Parameter, read it through the parser, - // and assign the value to the variable - - eoValueParam seedParam(time(0), "seed", "Random number seed", 'S'); - parser.processParam( seedParam ); - unsigned seed = seedParam.value(); - - // description of genotype - eoValueParam vecSizeParam(8, "vecSize", "Genotype size",'V'); - parser.processParam( vecSizeParam, "Representation" ); - unsigned vecSize = vecSizeParam.value(); - - // parameters for evolution engine - eoValueParam popSizeParam(10, "popSize", "Population size",'P'); - parser.processParam( popSizeParam, "Evolution engine" ); - unsigned popSize = popSizeParam.value(); - - eoValueParam tSizeParam(10, "tSize", "Tournament size",'T'); - parser.processParam( tSizeParam, "Evolution Engine" ); - unsigned tSize = tSizeParam.value(); - - // init and stop - eoValueParam loadNameParam("", "Load","A save file to restart from",'L'); - parser.processParam( loadNameParam, "Persistence" ); - string loadName = loadNameParam.value(); - - eoValueParam maxGenParam(100, "maxGen", "Maximum number of generations",'G'); - parser.processParam( maxGenParam, "Stopping criterion" ); - unsigned maxGen = maxGenParam.value(); - - eoValueParam minGenParam(100, "minGen", "Minimum number of generations",'g'); - parser.processParam( minGenParam, "Stopping criterion" ); - unsigned minGen = minGenParam.value(); - - eoValueParam steadyGenParam(100, "steadyGen", "Number of generations with no improvement",'s'); - parser.processParam( steadyGenParam, "Stopping criterion" ); - unsigned steadyGen = steadyGenParam.value(); - - // operators probabilities at the algorithm level - eoValueParam pCrossParam(0.6, "pCross", "Probability of Crossover", 'C'); - parser.processParam( pCrossParam, "Genetic Operators" ); - double pCross = pCrossParam.value(); - - eoValueParam pMutParam(0.1, "pMut", "Probability of Mutation", 'M'); - parser.processParam( pMutParam, "Genetic Operators" ); - double pMut = pMutParam.value(); - - // relative rates for crossovers - eoValueParam onePointRateParam(1, "onePointRate", "Relative rate for one point crossover", '1'); - parser.processParam( onePointRateParam, "Genetic Operators" ); - double onePointRate = onePointRateParam.value(); - - eoValueParam twoPointsRateParam(1, "twoPointRate", "Relative rate for two point crossover", '2'); - parser.processParam( twoPointsRateParam, "Genetic Operators" ); - double twoPointsRate = twoPointsRateParam.value(); - - eoValueParam uRateParam(2, "uRate", "Relative rate for uniform crossover", 'U'); - parser.processParam( uRateParam, "Genetic Operators" ); - double URate = uRateParam.value(); - - // relative rates and private parameters for mutations; - eoValueParam pMutPerBitParam(0.01, "pMutPerBit", "Probability of flipping 1 bit in bit-flip mutation", 'b'); - parser.processParam( pMutPerBitParam, "Genetic Operators" ); - double pMutPerBit = pMutPerBitParam.value(); - - eoValueParam bitFlipRateParam(0.01, "bitFlipRate", "Relative rate for bit-flip mutation", 'B'); - parser.processParam( bitFlipRateParam, "Genetic Operators" ); - double bitFlipRate = bitFlipRateParam.value(); - - eoValueParam oneBitRateParam(0.01, "oneBitRate", "Relative rate for deterministic bit-flip mutation", 'D'); - parser.processParam( oneBitRateParam, "Genetic Operators" ); - double oneBitRate = oneBitRateParam.value(); - - // the name of the "status" file where all actual parameter values will be saved - string str_status = parser.ProgramName() + ".status"; // default value - eoValueParam statusParam(str_status.c_str(), "status","Status file",'S'); - parser.processParam( statusParam, "Persistence" ); - - // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED - // i.e. in case you need parameters somewhere else, postpone these - if (parser.userNeedsHelp()) - { - parser.printHelp(cout); - exit(1); - } - if (statusParam.value() != "") - { - ofstream os(statusParam.value().c_str()); - os << parser; // and you can use that file as parameter file - } - -// EVAL - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object ... - eoEvalFuncPtr& > plainEval( binary_value ); - // ... to an object that counts the nb of actual evaluations - eoEvalFuncCounter eval(plainEval); - -// INIT - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - // Either load or initialize - // create an empty pop - eoPop pop; - // create a state for reading - eoState inState; // a state for loading - WITHOUT the parser - // register the rng and the pop in the state, so they can be loaded, - // and the present run will be the exact conitnuation of the saved run - // eventually with different parameters - inState.registerObject(rng); - inState.registerObject(pop); - - if (loadName != "") - { - inState.load(loadName); // load the pop and the rng - // the fitness is read in the file: - // do only evaluate the pop if the fitness has changed - } - else - { - rng.reseed(seed); - // a Indi random initializer - // based on boolean_generator class (see utils/rnd_generator.h) - eoUniformGenerator uGen; - eoInitFixedLength random(vecSize, uGen); - - // Init pop from the randomizer: need to use the append function - pop.append(popSize, random); - // and evaluate pop (STL syntax) - apply(eval, pop); - } // end of initializatio of the population - -// OUTPUT - // sort pop for pretty printout - pop.sort(); - // Print (sorted) intial population (raw printout) - cout << "Initial Population" << endl << pop << endl; - -// ENGINE - ///////////////////////////////////// - // selection and replacement - //////////////////////////////////// -// SELECT - // The robust tournament selection - eoDetTournamentSelect selectOne(tSize); // tSize in [2,POPSIZE] - // is now encapsulated in a eoSelectPerc (stands for Percentage) - eoSelectPerc select(selectOne); - -// REPLACE - // And we now have the full slection/replacement - though with - // the same generational replacement at the moment :-) - eoGenerationalReplacement replace; - -// OPERATORS - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// -// CROSSOVER - // 1-point crossover for bitstring - eo1PtBitXover xover1; - // uniform crossover for bitstring - eoUBitXover xoverU; - // 2-pots xover - eoNPtsBitXover xover2(2); - // Combine them with relative rates - eoPropCombinedQuadOp xover(xover1, onePointRate); - xover.add(xoverU, URate); - xover.add(xover2, twoPointsRate, true); - -// MUTATION - // standard bit-flip mutation for bitstring - eoBitMutation mutationBitFlip(pMutPerBit); - // mutate exactly 1 bit per individual - eoDetBitFlip mutationOneBit; - // Combine them with relative rates - eoPropCombinedMonOp mutation(mutationBitFlip, bitFlipRate); - mutation.add(mutationOneBit, oneBitRate, true); - - // The operators are encapsulated into an eoTRansform object - eoSGATransform transform(xover, pCross, mutation, pMut); - -// STOP - ////////////////////////////////////// - // termination condition see FirstBitEA.cpp - ///////////////////////////////////// - eoGenContinue genCont(maxGen); - eoSteadyFitContinue steadyCont(minGen, steadyGen); - eoFitContinue fitCont(vecSize); - eoCombinedContinue continuator(genCont); - continuator.add(steadyCont); - continuator.add(fitCont); - - -// CHECKPOINT - // but now you want to make many different things every generation - // (e.g. statistics, plots, ...). - // the class eoCheckPoint is dedicated to just that: - - // Declare a checkpoint (from a continuator: an eoCheckPoint - // IS AN eoContinue and will be called in the loop of all algorithms) - eoCheckPoint checkpoint(continuator); - - // Create a counter parameter - eoValueParam generationCounter(0, "Gen."); - - // Create an incrementor (sub-class of eoUpdater). Note that the - // parameter's value is passed by reference, - // so every time the incrementer is updated (every generation), - // the data in generationCounter will change. - eoIncrementor increment(generationCounter.value()); - - // Add it to the checkpoint, - // so the counter is updated (here, incremented) every generation - checkpoint.add(increment); - - // now some statistics on the population: - // Best fitness in population - eoBestFitnessStat bestStat; - // Second moment stats: average and stdev - eoSecondMomentStats SecondStat; - - // Add them to the checkpoint to get them called at the appropriate time - checkpoint.add(bestStat); - checkpoint.add(SecondStat); - - // The Stdout monitor will print parameters to the screen ... - eoStdoutMonitor monitor(false); - - // when called by the checkpoint (i.e. at every generation) - checkpoint.add(monitor); - - // the monitor will output a series of parameters: add them - monitor.add(generationCounter); - monitor.add(eval); // because now eval is an eoEvalFuncCounter! - monitor.add(bestStat); - monitor.add(SecondStat); - - // A file monitor: will print parameters to ... a File, yes, you got it! - eoFileMonitor fileMonitor("stats.xg", " "); - - // the checkpoint mechanism can handle multiple monitors - checkpoint.add(fileMonitor); - - // the fileMonitor can monitor parameters, too, but you must tell it! - fileMonitor.add(generationCounter); - fileMonitor.add(bestStat); - fileMonitor.add(SecondStat); - - // Last type of item the eoCheckpoint can handle: state savers: - eoState outState; - // Register the algorithm into the state (so it has something to save!!) - outState.registerObject(parser); - outState.registerObject(pop); - outState.registerObject(rng); - - // and feed the state to state savers - // save state every 100th generation - eoCountedStateSaver stateSaver1(20, outState, "generation"); - // save state every 1 seconds - eoTimedStateSaver stateSaver2(1, outState, "time"); - - // Don't forget to add the two savers to the checkpoint - checkpoint.add(stateSaver1); - checkpoint.add(stateSaver2); - // and that's it for the (control and) output - -// GENERATION - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - - // Easy EA requires - // stopping criterion, eval, selection, transformation, replacement - eoEasyEA gga(checkpoint, eval, select, transform, replace); - - // Apply algo to pop - that's it! - gga(pop); - -// OUTPUT - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -// GENERAL -} - -// A main that catches the exceptions -int main(int argc, char **argv) -{ - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/SecondRealEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson3/SecondRealEA.cpp deleted file mode 100644 index 2ae69fd81..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/SecondRealEA.cpp +++ /dev/null @@ -1,329 +0,0 @@ -//----------------------------------------------------------------------------- -// SecondRealEA.cpp -//----------------------------------------------------------------------------- -//* -// Same code than FirstBitEA as far as Evolutionary Computation is concerned -// but now you learn to enter the parameters in a more flexible way -// (also slightly different than in SecondBitEA.cpp) -// and to twidle the output to your preferences (as in SecondBitEA.cpp) -// -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -// standard includes -#include -#include // cout -#include // runtime_error - -// the general include for eo -#include -#include - -// REPRESENTATION -//----------------------------------------------------------------------------- -// define your individuals -typedef eoReal Indi; - -// Use functions from namespace std -using namespace std; - -// EVALFUNC -//----------------------------------------------------------------------------- -// a simple fitness function that computes the euclidian norm of a real vector -// Now in a separate file, and declared as binary_value(const vector &) - -#include "real_value.h" - -// GENERAL -//----------------------------------------------------------------------------- - -void main_function(int argc, char **argv) -{ -// PARAMETRES -//----------------------------------------------------------------------------- -// instead of having all values of useful parameters as constants, read them: -// either on the command line (--option=value or -o=value) -// or in a parameter file (same syntax, order independent, -// # = usual comment character -// or in the environment (TODO) - - // First define a parser from the command-line arguments - eoParser parser(argc, argv); - - // For each parameter, you can in on single line - // define the parameter, read it through the parser, and assign it - - unsigned seed = parser.createParam(unsigned(time(0)), "seed", "Random number seed", 'S').value(); // will be in default section General - - // description of genotype - unsigned vecSize = parser.createParam(unsigned(8), "vecSize", "Genotype size",'V', "Representation" ).value(); - - // parameters for evolution engine - unsigned popSize = parser.createParam(unsigned(10), "popSize", "Population size",'P', "Evolution engine" ).value(); - - unsigned tSize = parser.createParam(unsigned(2), "tSize", "Tournament size",'T', "Evolution Engine" ).value(); - - // init and stop - string loadName = parser.createParam(string(""), "Load","A save file to restart from",'L', "Persistence" ).value(); - - unsigned maxGen = parser.createParam(unsigned(100), "maxGen", "Maximum number of generations",'G', "Stopping criterion" ).value(); - - unsigned minGen = parser.createParam(unsigned(100), "minGen", "Minimum number of generations",'g', "Stopping criterion" ).value(); - - unsigned steadyGen = parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion" ).value(); - - // operators probabilities at the algorithm level - double pCross = parser.createParam(double(0.6), "pCross", "Probability of Crossover", 'C', "Genetic Operators" ).value(); - - double pMut = parser.createParam(double(0.1), "pMut", "Probability of Mutation", 'M', "Genetic Operators" ).value(); - - // relative rates for crossovers - double hypercubeRate = parser.createParam(double(1), "hypercubeRate", "Relative rate for hypercube crossover", '\0', "Genetic Operators" ).value(); - - double segmentRate = parser.createParam(double(1), "segmentRate", "Relative rate for segment crossover", '\0', "Genetic Operators" ).value(); - - // internal parameters for the mutations - double EPSILON = parser.createParam(double(0.01), "EPSILON", "Width for uniform mutation", '\0', "Genetic Operators" ).value(); - - double SIGMA = parser.createParam(double(0.3), "SIGMA", "Sigma for normal mutation", '\0', "Genetic Operators" ).value(); - - // relative rates for mutations - double uniformMutRate = parser.createParam(double(1), "uniformMutRate", "Relative rate for uniform mutation", '\0', "Genetic Operators" ).value(); - - double detMutRate = parser.createParam(double(1), "detMutRate", "Relative rate for det-uniform mutation", '\0', "Genetic Operators" ).value(); - - double normalMutRate = parser.createParam(double(1), "normalMutRate", "Relative rate for normal mutation", '\0', "Genetic Operators" ).value(); - - // the name of the "status" file where all actual parameter values will be saved - string str_status = parser.ProgramName() + ".status"; // default value - string statusName = parser.createParam(str_status, "status","Status file",'S', "Persistence" ).value(); - - // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED - // i.e. in case you need parameters somewhere else, postpone these - if (parser.userNeedsHelp()) - { - parser.printHelp(cout); - exit(1); - } - if (statusName != "") - { - ofstream os(statusName.c_str()); - os << parser; // and you can use that file as parameter file - } - -// EVAL - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object - // you need to give the full description of the function - eoEvalFuncPtr& > plainEval( real_value ); - // ... to an object that counts the nb of actual evaluations - eoEvalFuncCounter eval(plainEval); - -// INIT - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - // Either load or initialize - // create an empty pop - eoPop pop; - // create a state for reading - eoState inState; // a state for loading - WITHOUT the parser - // register the rng and the pop in the state, so they can be loaded, - // and the present run will be the exact conitnuation of the saved run - // eventually with different parameters - inState.registerObject(rng); - inState.registerObject(pop); - - if (loadName != "") - { - inState.load(loadName); // load the pop and the rng - // the fitness is read in the file: - // do only evaluate the pop if the fitness has changed - } - else - { - rng.reseed(seed); - // a Indi random initializer - // based on boolean_generator class (see utils/rnd_generator.h) - eoUniformGenerator uGen(-1.0, 1.0); - eoInitFixedLength random(vecSize, uGen); - - // Init pop from the randomizer: need to use the append function - pop.append(popSize, random); - // and evaluate pop (STL syntax) - apply(eval, pop); - } // end of initializatio of the population - -// OUTPUT - // sort pop before printing it! - pop.sort(); - // Print (sorted) intial population (raw printout) - cout << "Initial Population" << endl; - cout << pop; - -// ENGINE - ///////////////////////////////////// - // selection and replacement - //////////////////////////////////// -// SELECT - // The robust tournament selection - eoDetTournamentSelect selectOne(tSize); - // is now encapsulated in a eoSelectPerc (entage) - eoSelectPerc select(selectOne);// by default rate==1 - -// REPLACE - // And we now have the full slection/replacement - though with - // no replacement (== generational replacement) at the moment :-) - eoGenerationalReplacement replace; - -// OPERATORS - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// -// CROSSOVER - // uniform chooce on segment made by the parents - eoSegmentCrossover xoverS; - // uniform choice in hypercube built by the parents - eoHypercubeCrossover xoverA; - // Combine them with relative weights - eoPropCombinedQuadOp xover(xoverS, segmentRate); - xover.add(xoverA, hypercubeRate, true); - -// MUTATION - // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon] - eoUniformMutation mutationU(EPSILON); - // k (=1) coordinates of parents are uniformly modified - eoDetUniformMutation mutationD(EPSILON); - // all coordinates of parents are normally modified (stDev SIGMA) - eoNormalMutation mutationN(SIGMA); - // Combine them with relative weights - eoPropCombinedMonOp mutation(mutationU, uniformMutRate); - mutation.add(mutationD, detMutRate); - mutation.add(mutationN, normalMutRate, true); - - // The operators are encapsulated into an eoTRansform object - eoSGATransform transform(xover, pCross, mutation, pMut); - -// STOP - ////////////////////////////////////// - // termination condition see FirstBitEA.cpp - ///////////////////////////////////// - eoGenContinue genCont(maxGen); - eoSteadyFitContinue steadyCont(minGen, steadyGen); - eoFitContinue fitCont(0); - eoCombinedContinue continuator(genCont); - continuator.add(steadyCont); - continuator.add(fitCont); - - -// CHECKPOINT - // but now you want to make many different things every generation - // (e.g. statistics, plots, ...). - // the class eoCheckPoint is dedicated to just that: - - // Declare a checkpoint (from a continuator: an eoCheckPoint - // IS AN eoContinue and will be called in the loop of all algorithms) - eoCheckPoint checkpoint(continuator); - - // Create a counter parameter - eoValueParam generationCounter(0, "Gen."); - - // Create an incrementor (sub-class of eoUpdater). Note that the - // parameter's value is passed by reference, - // so every time the incrementer is updated (every generation), - // the data in generationCounter will change. - eoIncrementor increment(generationCounter.value()); - - // Add it to the checkpoint, - // so the counter is updated (here, incremented) every generation - checkpoint.add(increment); - - // now some statistics on the population: - // Best fitness in population - eoBestFitnessStat bestStat; - // Second moment stats: average and stdev - eoSecondMomentStats SecondStat; - - // Add them to the checkpoint to get them called at the appropriate time - checkpoint.add(bestStat); - checkpoint.add(SecondStat); - - // The Stdout monitor will print parameters to the screen ... - eoStdoutMonitor monitor(false); - - // when called by the checkpoint (i.e. at every generation) - checkpoint.add(monitor); - - // the monitor will output a series of parameters: add them - monitor.add(generationCounter); - monitor.add(eval); // because now eval is an eoEvalFuncCounter! - monitor.add(bestStat); - monitor.add(SecondStat); - - // A file monitor: will print parameters to ... a File, yes, you got it! - eoFileMonitor fileMonitor("stats.xg", " "); - - // the checkpoint mechanism can handle multiple monitors - checkpoint.add(fileMonitor); - - // the fileMonitor can monitor parameters, too, but you must tell it! - fileMonitor.add(generationCounter); - fileMonitor.add(bestStat); - fileMonitor.add(SecondStat); - - // Last type of item the eoCheckpoint can handle: state savers: - eoState outState; - // Register the algorithm into the state (so it has something to save!!) - outState.registerObject(parser); - outState.registerObject(pop); - outState.registerObject(rng); - - // and feed the state to state savers - // save state every 100th generation - eoCountedStateSaver stateSaver1(20, outState, "generation"); - // save state every 1 seconds - eoTimedStateSaver stateSaver2(1, outState, "time"); - - // Don't forget to add the two savers to the checkpoint - checkpoint.add(stateSaver1); - checkpoint.add(stateSaver2); - // and that's it for the (control and) output - -// GENERATION - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - - // Easy EA requires - // stopping criterion, eval, selection, transformation, replacement - eoEasyEA gga(checkpoint, eval, select, transform, replace); - - // Apply algo to pop - that's it! - gga(pop); - -// OUTPUT - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -// GENERAL -} - -// A main that catches the exceptions - -int main(int argc, char **argv) -{ - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/binary_value.h b/trunk/paradiseo-eo/tutorial/Lesson3/binary_value.h deleted file mode 100644 index f2f5d6ca1..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/binary_value.h +++ /dev/null @@ -1,17 +0,0 @@ -#include - -//----------------------------------------------------------------------------- - -/** Just a simple function that takes binary value of a chromosome and sets - the fitnes. - @param _chrom A binary chromosome -*/ -// INIT -double binary_value(const std::vector& _chrom) -{ - double sum = 0; - for (unsigned i = 0; i < _chrom.size(); i++) - sum += _chrom[i]; - return sum; -} - diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/exercise3.1.cpp b/trunk/paradiseo-eo/tutorial/Lesson3/exercise3.1.cpp deleted file mode 100644 index 50531e094..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/exercise3.1.cpp +++ /dev/null @@ -1,404 +0,0 @@ -//----------------------------------------------------------------------------- -// SecondBitGA.cpp -//----------------------------------------------------------------------------- -//* -// Same code than FirstBitEA as far as Evolutionary Computation is concerned -// but now you learn to enter the parameters in a more flexible way -// and to twidle the output to your preferences! -//----------------------------------------------------------------------------- -#ifdef HAVE_CONFIG_H -#include -#endif - -// standard includes -#include -#include // cout -#include // runtime_error - -// the general include for eo -#include - -// EVAL -#include "binary_value.h" - -// REPRESENTATION -//----------------------------------------------------------------------------- -// Include the corresponding file -#include // bitstring representation & operators -// define your genotype and fitness types -typedef eoBit Indi; - -using namespace std; - -// the main_function: nothing changed(!), except variable initialization -void main_function(int argc, char **argv) -{ -// PARAMETRES -//----------------------------------------------------------------------------- -// instead of having all values of useful parameters as constants, read them: -// either on the command line (--option=value or -o=value) -// or in a parameter file (same syntax, order independent, -// # = usual comment character -// or in the environment (TODO) - - // First define a parser from the command-line arguments - eoParser parser(argc, argv); - - // For each parameter, define Parameter, read it through the parser, - // and assign the value to the variable - - eoValueParam seedParam(time(0), "seed", "Random number seed", 'S'); - parser.processParam( seedParam ); - unsigned seed = seedParam.value(); - - // description of genotype - eoValueParam vecSizeParam(100, "vecSize", "Genotype size",'V'); - parser.processParam( vecSizeParam, "Representation" ); - unsigned vecSize = vecSizeParam.value(); - - // parameters for evolution engine - eoValueParam popSizeParam(100, "popSize", "Population size",'P'); - parser.processParam( popSizeParam, "Evolution engine" ); - unsigned popSize = popSizeParam.value(); - - eoValueParam tSizeParam(10, "tSize", "Tournament size",'T'); - parser.processParam( tSizeParam, "Evolution Engine" ); - unsigned tSize = tSizeParam.value(); - - // init and stop - eoValueParam loadNameParam("", "Load","A save file to restart from",'L'); - parser.processParam( loadNameParam, "Persistence" ); - string loadName = loadNameParam.value(); - - eoValueParam maxGenParam(500, "maxGen", "Maximum number of generations",'G'); - parser.processParam( maxGenParam, "Stopping criterion" ); - unsigned maxGen = maxGenParam.value(); - - eoValueParam minGenParam(500, "minGen", "Minimum number of generations",'g'); - parser.processParam( minGenParam, "Stopping criterion" ); - unsigned minGen = minGenParam.value(); - - eoValueParam steadyGenParam(100, "steadyGen", "Number of generations with no improvement",'s'); - parser.processParam( steadyGenParam, "Stopping criterion" ); - unsigned steadyGen = steadyGenParam.value(); - - // operators probabilities at the algorithm level - eoValueParam pCrossParam(0.6, "pCross", "Probability of Crossover", 'C'); - parser.processParam( pCrossParam, "Genetic Operators" ); - double pCross = pCrossParam.value(); - - eoValueParam pMutParam(0.1, "pMut", "Probability of Mutation", 'M'); - parser.processParam( pMutParam, "Genetic Operators" ); - double pMut = pMutParam.value(); - - // relative rates for crossovers - eoValueParam onePointRateParam(1, "onePointRate", "Relative rate for one point crossover", '1'); - parser.processParam( onePointRateParam, "Genetic Operators" ); - double onePointRate = onePointRateParam.value(); - - eoValueParam twoPointsRateParam(1, "twoPointRate", "Relative rate for two point crossover", '2'); - parser.processParam( twoPointsRateParam, "Genetic Operators" ); - double twoPointsRate = twoPointsRateParam.value(); - - eoValueParam uRateParam(2, "uRate", "Relative rate for uniform crossover", 'U'); - parser.processParam( uRateParam, "Genetic Operators" ); - double URate = uRateParam.value(); - - // relative rates and private parameters for mutations; - eoValueParam pMutPerBitParam(0.01, "pMutPerBit", "Probability of flipping 1 bit in bit-flip mutation", 'b'); - parser.processParam( pMutPerBitParam, "Genetic Operators" ); - double pMutPerBit = pMutPerBitParam.value(); - - eoValueParam bitFlipRateParam(0.01, "bitFlipRate", "Relative rate for bit-flip mutation", 'B'); - parser.processParam( bitFlipRateParam, "Genetic Operators" ); - double bitFlipRate = bitFlipRateParam.value(); - - eoValueParam oneBitRateParam(0.01, "oneBitRate", "Relative rate for deterministic bit-flip mutation", 'D'); - parser.processParam( oneBitRateParam, "Genetic Operators" ); - double oneBitRate = oneBitRateParam.value(); - - // the name of the "status" file where all actual parameter values will be saved - string str_status = parser.ProgramName() + ".status"; // default value - eoValueParam statusParam(str_status.c_str(), "status","Status file",'S'); - parser.processParam( statusParam, "Persistence" ); - - // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED - // i.e. in case you need parameters somewhere else, postpone these - if (parser.userNeedsHelp()) - { - parser.printHelp(cout); - exit(1); - } - if (statusParam.value() != "") - { - ofstream os(statusParam.value().c_str()); - os << parser; // and you can use that file as parameter file - } - -// EVAL - ///////////////////////////// - // Fitness function - //////////////////////////// - // Evaluation: from a plain C++ fn to an EvalFunc Object ... - eoEvalFuncPtr& > plainEval( binary_value ); - // ... to an object that counts the nb of actual evaluations - eoEvalFuncCounter eval(plainEval); - -// INIT - //////////////////////////////// - // Initilisation of population - //////////////////////////////// - // Either load or initialize - // create an empty pop - eoPop pop; - // create a state for reading - eoState inState; // a state for loading - WITHOUT the parser - // register the rng and the pop in the state, so they can be loaded, - // and the present run will be the exact conitnuation of the saved run - // eventually with different parameters - inState.registerObject(rng); - inState.registerObject(pop); - - if (loadName != "") - { - inState.load(loadName); // load the pop and the rng - // the fitness is read in the file: - // do only evaluate the pop if the fitness has changed - } - else - { - rng.reseed(seed); - // a Indi random initializer - // based on boolean_generator class (see utils/rnd_generator.h) - eoUniformGenerator uGen; - eoInitFixedLength random(vecSize, uGen); - - // Init pop from the randomizer: need to use the append function - pop.append(popSize, random); - // and evaluate pop (STL syntax) - apply(eval, pop); - } // end of initializatio of the population - -// OUTPUT - // sort pop for pretty printout - // pop.sort(); - // Print (sorted) intial population (raw printout) - cout << "Initial Population" << endl << pop ; - cout << "and best is " << pop.best_element() << "\n\n"; - cout << "and worse is " << pop.worse_element() << "\n\n"; -// ENGINE - ///////////////////////////////////// - // selection and replacement - //////////////////////////////////// -// SELECT - // The robust tournament selection - eoDetTournamentSelect selectOne(tSize); // tSize in [2,POPSIZE] - // is now encapsulated in a eoSelectPerc (entage) - eoSelectPerc select(selectOne);// by default rate==1 - -// REPLACE - // And we now have the full slection/replacement - though with - // generational replacement at the moment :-) - eoGenerationalReplacement replace; - // want to add (weak) elitism? easy! - // rename the eoGenerationalReplacement replace_main, - // then encapsulate it in the elitist replacement - // eoWeakElitistReplacement replace(replace_main); - -// OPERATORS - ////////////////////////////////////// - // The variation operators - ////////////////////////////////////// -// CROSSOVER - // 1-point crossover for bitstring - eo1PtBitXover xover1; - // uniform crossover for bitstring - eoUBitXover xoverU; - // 2-pots xover - eoNPtsBitXover xover2(2); - // Combine them with relative rates - eoPropCombinedQuadOp xover(xover1, onePointRate); - xover.add(xoverU, URate); - xover.add(xover2, twoPointsRate, true); - -// MUTATION - // standard bit-flip mutation for bitstring - eoBitMutation mutationBitFlip(pMutPerBit); - // mutate exactly 1 bit per individual - eoDetBitFlip mutationOneBit; - // Combine them with relative rates - eoPropCombinedMonOp mutation(mutationBitFlip, bitFlipRate); - mutation.add(mutationOneBit, oneBitRate, true); - - // The operators are encapsulated into an eoTRansform object - eoSGATransform transform(xover, pCross, mutation, pMut); - -// STOP - ////////////////////////////////////// - // termination condition see FirstBitEA.cpp - ///////////////////////////////////// - eoGenContinue genCont(maxGen); - eoSteadyFitContinue steadyCont(minGen, steadyGen); - // eoFitContinue fitCont(vecSize); // remove if minimizing :-) - eoCombinedContinue continuator(genCont); - continuator.add(steadyCont); - // continuator.add(fitCont); - // Ctrl C signal handling: don't know if that works in MSC ... -#ifndef _MSC_VER - eoCtrlCContinue ctrlC; - continuator.add(ctrlC); -#endif - -// CHECKPOINT - // but now you want to make many different things every generation - // (e.g. statistics, plots, ...). - // the class eoCheckPoint is dedicated to just that: - - // Declare a checkpoint (from a continuator: an eoCheckPoint - // IS AN eoContinue and will be called in the loop of all algorithms) - eoCheckPoint checkpoint(continuator); - - // Create a counter parameter - eoValueParam generationCounter(0, "Gen."); - - // Create an incrementor (sub-class of eoUpdater). Note that the - // parameter's value is passed by reference, - // so every time the incrementer is updated (every generation), - // the data in generationCounter will change. - eoIncrementor increment(generationCounter.value()); - - // Add it to the checkpoint, - // so the counter is updated (here, incremented) every generation - checkpoint.add(increment); - - // now some statistics on the population: - // Best fitness in population - eoBestFitnessStat bestStat; - eoAverageStat averageStat; - // Second moment stats: average and stdev - eoSecondMomentStats SecondStat; - // the Fitness Distance Correlation - // need first an object to compute the distances - eoQuadDistance dist; // Hamming distance - eoFDCStat fdcStat(dist); - - // Add them to the checkpoint to get them called at the appropriate time - checkpoint.add(bestStat); - checkpoint.add(averageStat); - checkpoint.add(SecondStat); - checkpoint.add(fdcStat); - - // The Stdout monitor will print parameters to the screen ... - eoStdoutMonitor monitor(false); - - // when called by the checkpoint (i.e. at every generation) - checkpoint.add(monitor); - - // the monitor will output a series of parameters: add them - monitor.add(generationCounter); - monitor.add(eval); // because now eval is an eoEvalFuncCounter! - monitor.add(bestStat); - monitor.add(SecondStat); - monitor.add(fdcStat); - - // test de eoPopStat and/or eoSortedPopStat. - // Dumps the whole pop every 10 gen. - // eoSortedPopStat popStat(10, "Dump of whole population"); -// eoPopStat popStat(10, "Dump of whole population"); -// checkpoint.add(popStat); -// monitor.add(popStat); - - // A file monitor: will print parameters to ... a File, yes, you got it! - eoFileMonitor fileMonitor("stats.xg", " "); - - // the checkpoint mechanism can handle monitors - checkpoint.add(fileMonitor); - - // the fileMonitor can monitor parameters, too, but you must tell it! - fileMonitor.add(generationCounter); - fileMonitor.add(bestStat); - fileMonitor.add(SecondStat); - -#ifndef _MSC_VER - // and an eoGnuplot1DMonitor will 1-print to a file, and 2- plot on screen - eoGnuplot1DMonitor gnuMonitor("best_average.xg",minimizing_fitness()); - // the checkpoint mechanism can handle multiple monitors - checkpoint.add(gnuMonitor); - // the gnuMonitor can monitor parameters, too, but you must tell it! - gnuMonitor.add(eval); - gnuMonitor.add(bestStat); - gnuMonitor.add(averageStat); - - // send a scaling command to gnuplot - gnuMonitor.gnuplotCommand("set yrange [0:500]"); - - // a specific plot monitor for FDC - // first into a file (it adds everything ti itself - eoFDCFileSnapshot fdcFileSnapshot(fdcStat); - // then to a Gnuplot monitor - eoGnuplot1DSnapshot fdcGnuplot(fdcFileSnapshot); - // and of coruse add them to the checkPoint - checkpoint.add(fdcFileSnapshot); - checkpoint.add(fdcGnuplot); - - // want to see how the fitness is spread? - eoScalarFitnessStat fitStat; - checkpoint.add(fitStat); - // a gnuplot-based monitor for snapshots: needs a dir name - // where to store the files - eoGnuplot1DSnapshot fitSnapshot("Fitnesses"); - // add any stat that is a vector to it - fitSnapshot.add(fitStat); - // and of course add it to the checkpoint - checkpoint.add(fitSnapshot); -#endif - // Last type of item the eoCheckpoint can handle: state savers: - eoState outState; - // Register the algorithm into the state (so it has something to save!!) - outState.registerObject(rng); - outState.registerObject(pop); - - // and feed the state to state savers - // save state every 100th generation - eoCountedStateSaver stateSaver1(100, outState, "generation"); - // save state every 1 seconds - eoTimedStateSaver stateSaver2(1, outState, "time"); - - // Don't forget to add the two savers to the checkpoint - checkpoint.add(stateSaver1); - checkpoint.add(stateSaver2); - // and that's it for the (control and) output - -// GENERATION - ///////////////////////////////////////// - // the algorithm - //////////////////////////////////////// - - // Easy EA requires - // selection, transformation, eval, replacement, and stopping criterion - eoEasyEA gga(checkpoint, eval, select, transform, replace); - - // Apply algo to pop - that's it! - gga(pop); - -// OUTPUT - // Print (sorted) intial population - pop.sort(); - cout << "FINAL Population\n" << pop << endl; -// GENERAL -} - -// A main that catches the exceptions -int main(int argc, char **argv) -{ - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson3/real_value.h b/trunk/paradiseo-eo/tutorial/Lesson3/real_value.h deleted file mode 100644 index 7fe002b63..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson3/real_value.h +++ /dev/null @@ -1,20 +0,0 @@ -#include -//----------------------------------------------------------------------------- -/** Just a simple function that takes an vector and sets the fitnes - to the sphere function. Please use doubles not float!!! - @param _ind A floatingpoint vector -*/ - -// INIT -double real_value(const std::vector& _ind) -{ - double sum = 0; - for (unsigned i = 0; i < _ind.size(); i++) - { - sum += _ind[i] * _ind[i]; - } - return sum; -} - - - diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/.cvsignore b/trunk/paradiseo-eo/tutorial/Lesson4/.cvsignore deleted file mode 100644 index 70845e08e..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.in diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/BitEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson4/BitEA.cpp deleted file mode 100644 index fd6f1fbda..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/BitEA.cpp +++ /dev/null @@ -1,95 +0,0 @@ -#include - -#include -#include - -// EVAL -#include "binary_value.h" - -// GENERAL -using namespace std; - -int main(int argc, char* argv[]) -{ - - try - { -// REPRESENTATION -//----------------------------------------------------------------------------- -// define your genotype and fitness types - typedef eoBit EOT; - -// PARAMETRES - eoParser parser(argc, argv); // for user-parameter reading - -// GENERAL - eoState state; // keeps all things allocated - - ///// FIRST, problem or representation dependent stuff - ////////////////////////////////////////////////////// - -// EVAL - // The evaluation fn - encapsulated into an eval counter for output - eoEvalFuncPtr mainEval( binary_value ); - eoEvalFuncCounter eval(mainEval); - -// REPRESENTATION - // the genotype - through a genotype initializer - eoInit& init = make_genotype(parser, state, EOT()); - - // if you want to do sharing, you'll need a distance. - // here Hamming distance - eoHammingDistance dist; - -// OPERATORS - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(parser, state, init); - -// GENERAL - //// Now the representation-independent things - ////////////////////////////////////////////// - - // initialize the population - and evaluate - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - -// STOP - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); -// GENERATION - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op, &dist); - - ///// End of construction of the algorith - ///////////////////////////////////////// -// PARAMETRES - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// -// EVAL - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); -// STOP - // print it out (sort witout modifying) - cout << "Initial Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - -// GENERATION - run_ea(ga, pop); // run the ga -// STOP - // print it out (sort witout modifying) - cout << "Final Population\n"; - pop.sortedPrintOn(cout); - cout << endl; -// GENERAL - } - catch(exception& e) - { - cout << e.what() << endl; - } -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Entries b/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Entries deleted file mode 100644 index 75441eb91..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Entries +++ /dev/null @@ -1,11 +0,0 @@ -/.cvsignore/1.1/Fri Sep 17 16:53:13 2004// -/BitEA.cpp/1.4/Tue May 25 08:03:30 2004// -/ESEA.cpp/1.4/Thu Jan 17 17:51:58 2002// -/ESEA.param/1.1/Mon Dec 27 07:59:58 2004// -/Makefile.am/1.4/Wed Sep 28 21:49:25 2005// -/Makefile.simple/1.1/Fri Sep 17 15:20:18 2004// -/RealEA.cpp/1.2/Thu Jan 17 17:51:58 2002// -/RealEA.param/1.1/Mon Dec 27 07:59:58 2004// -/binary_value.h/1.3/Tue May 25 08:03:30 2004// -/real_value.h/1.1/Thu May 3 13:06:34 2001// -D diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Repository b/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Repository deleted file mode 100644 index 1e57ae6eb..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/Lesson4 diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Root b/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/ESEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson4/ESEA.cpp deleted file mode 100644 index 1c1bd30cf..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/ESEA.cpp +++ /dev/null @@ -1,137 +0,0 @@ -// Program to test several EO-ES features - -#ifdef _MSC_VER -#pragma warning(disable:4786) -#endif - -#include -#include -#include -#include -#include -#include - -using namespace std; - -#include - -// representation specific -#include - -#include "real_value.h" // the sphere fitness - -// Now the main -/////////////// -typedef eoMinimizingFitness FitT; - -template -void runAlgorithm(EOT, eoParser& _parser, eoState& _state); - -int main_function(int argc, char *argv[]) -{ - // Create the command-line parser - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - - eoValueParam& simpleParam = parser.createParam(true, "Isotropic", "Isotropic self-adaptive mutation", 'i', "ES mutation"); - eoValueParam& stdevsParam = parser.createParam(false, "Stdev", "One self-adaptive stDev per variable", 's', "ES mutation"); - eoValueParam& corrParam = parser.createParam(false, "Correl", "Use correlated mutations", 'c', "ES mutation"); - - // Run the appropriate algorithm - if (simpleParam.value() == false) - { - cout << "Using eoReal" << endl; - runAlgorithm(eoReal(), parser, state); - } - else if (stdevsParam.value() == false) - { - cout << "Using eoEsSimple" << endl; - runAlgorithm(eoEsSimple(), parser, state); - } - else if (corrParam.value() == false) - { - cout << "Using eoEsStdev" << endl; - runAlgorithm(eoEsStdev(), parser, state); - } - else - { - cout << "Using eoEsFull" << endl; - runAlgorithm(eoEsFull(), parser, state); - } - - return 0; -} - -// A main that catches the exceptions - -int main(int argc, char **argv) -{ - try - { - main_function(argc, argv); - } - catch(exception& e) - { - cout << "Exception: " << e.what() << '\n'; - } - - return 1; -} - -/** The templatized main (sort of) - * quite similar to the main of other genotypes - * (e.g. t-eoReal and t-eoGA in test dir) - */ -template -void runAlgorithm(EOT, eoParser& _parser, eoState& _state) -{ - typedef typename EOT::Fitness FitT; - - ///// FIRST, problem or representation dependent stuff - ////////////////////////////////////////////////////// - - // The evaluation fn - encapsulated into an eval counter for output - eoEvalFuncPtr&> - mainEval( real_value ); - eoEvalFuncCounter eval(mainEval); - - // the genotype - through a genotype initializer - eoRealInitBounded& init = make_genotype(_parser, _state, EOT()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(_parser, _state, init); - - //// Now the representation-independent things - ////////////////////////////////////////////// - - // initialize the population - and evaluate - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(_parser, _state, init); - apply(eval, pop); - - // stopping criteria - eoContinue & term = make_continue(_parser, _state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(_parser, _state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(_parser, _state, eval, checkpoint, op); - - ///// End of construction of the algorith - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(_parser); - - //// GO - /////// - cout << "Initial Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - run_ea(ga, pop); // run the ga - - cout << "Final Population\n"; - pop.sortedPrintOn(cout); - cout << endl; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/ESEA.param b/trunk/paradiseo-eo/tutorial/Lesson4/ESEA.param deleted file mode 100644 index 06df5c738..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/ESEA.param +++ /dev/null @@ -1,62 +0,0 @@ - -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered -# --seed=1104133126 # -S : Random number seed - -###### ES mutation ###### -# --Isotropic=1 # -i : Isotropic self-adaptive mutation -# --Stdev=0 # -s : One self-adaptive stDev per variable -# --Correl=0 # -c : Use correlated mutations - -###### Evolution Engine ###### ---popSize=1 # -P : Population Size ---selection=Sequential # -S : Selection: DetTour(T), StochTour(t), Roulette, Ranking(p,e) or Sequential(ordered/unordered) ---nbOffspring=700% # -O : Nb of offspring (percentage or absolute) ---replacement=Comma # -R : Replacement: Comma, Plus or EPTour(T), SSGAWorst, SSGADet(T), SSGAStoch(t) ---weakElitism=0 # -w : Old best parent replaces new worst offspring *if necessary* - -###### Genotype Initialization ###### -# --vecSize=10 # -n : The number of variables -# --initBounds=10[-1,1] # -B : Bounds for initialization (MUST be bounded) ---sigmaInit=0.3% # -s : Initial value for Sigmas (with a '%' -> scaled by the range of each variable) - -###### Output ###### -# --useEval=1 # Use nb of eval. as counter (vs nb of gen.) -# --useTime=1 # Display time (s) every generation -# --printBestStat=1 # Print Best/avg/stdev every gen. -# --printPop=0 # Print sorted pop. every gen. - -###### Output - Disk ###### -# --resDir=Res # Directory to store DISK outputs -# --eraseDir=1 # erase files in dirName if any -# --fileBestStat=0 # Output bes/avg/std to file - -###### Output - Graphical ###### -# --plotBestStat=0 # Plot Best/avg Stat -# --plotHisto=0 # Plot histogram of fitnesses - -###### Persistence ###### -# --Load= # -L : A save file to restart from -# --recomputeFitness=0 # -r : Recompute the fitness after re-loading the pop.? -# --saveFrequency=0 # Save every F generation (0 = only final state, absent = never) -# --saveTimeInterval=0 # Save every T seconds (0 or absent = never) -# --status=t-eoESAll.status # Status file - -###### Stopping criterion ###### -# --maxGen=100 # -G : Maximum number of generations () = none) -# --steadyGen=100 # -s : Number of generations with no improvement -# --minGen=0 # -g : Minimum number of generations -# --maxEval=0 # -E : Maximum number of evaluations (0 = none) -# --targetFitness=0 # -T : Stop when fitness reaches -# --CtrlC=0 # -C : Terminate current generation upon Ctrl C - -###### Variation Operators ###### -# --objectBounds=10[-inf,+inf] # -B : Bounds for variables -# --operator=SGA # -o : Description of the operator (SGA only now) -# --pCross=1 # -C : Probability of Crossover -# --pMut=1 # -M : Probability of Mutation -# --crossType=global # -C : Type of ES recombination (global or standard) -# --crossObj=discrete # -O : Recombination of object variables (discrete, intermediate or none) -# --crossStdev=intermediate # -S : Recombination of mutation strategy parameters (intermediate, discrete or none) -# --TauLoc=1 # -l : Local Tau (before normalization) diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/Makefile.am b/trunk/paradiseo-eo/tutorial/Lesson4/Makefile.am deleted file mode 100644 index 7b1c2dcce..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/Makefile.am +++ /dev/null @@ -1,26 +0,0 @@ -noinst_PROGRAMS = BitEA RealEA ESEA - - -BitEA_SOURCES = BitEA.cpp - -RealEA_SOURCES = RealEA.cpp - -ESEA_SOURCES = ESEA.cpp - - -noinst_HEADERS = binary_value.h \ - real_value.h - -extra_DIST = Makefile.simple - - -AM_CXXFLAGS = -I$(top_srcdir)/src - -LIBEO = $(top_builddir)/src/libeo.a -LIBES = $(top_builddir)/src/es/libes.a -LIBGA = $(top_builddir)/src/ga/libga.a -LIBUTILS = $(top_builddir)/src/utils/libeoutils.a - -DEPS = $(LIBEO) $(LIBUTILS) $(LIBES) $(LIBGA) - -LIBS = $(LIBES) $(LIBGA) $(LIBEO) $(LIBUTILS) diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/Makefile.simple b/trunk/paradiseo-eo/tutorial/Lesson4/Makefile.simple deleted file mode 100644 index 75bd41dd4..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/Makefile.simple +++ /dev/null @@ -1,33 +0,0 @@ -### This Makefile is part of the tutorial of the EO library -# Unlike other Makefiles in EO, it is not using the automake/autoconf -# so that it stays easy to understant (you are in the tutorial, remember!) -# MS, Oct. 2002 - -# if you use this Makefile as a starting point for another application -# you might need to modify the following -DIR_EO = ../../src - -.SUFFIXES: .cpp - -# Warning: $(CXX) in Linux (RedHat and Mandrake at least) is g++ -# However, if you are using this Makefile within xemacs, -# and have problems with the interpretation of the output (and its colors) -# then you should use c++ instead (make CXX=c++ will do) - -.cpp: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -o $@ $*.cpp $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -.cpp.o: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -c $*.cpp - -ALL = BitEA RealEA ESEA - -all : $(ALL) - -BitEA : BitEA.o ; - $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.2\" -Wall -g -o $@ $< $(DIR_EO)/ga/libga.a $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -RealEA : RealEA.o ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.2\" -Wall -g -o $@ $< $(DIR_EO)/es/libes.a $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -ESEA : ESEA.o ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.2\" -Wall -g -o $@ $< $(DIR_EO)/es/libes.a $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -clean : - @/bin/rm $(ALL) *.o *.sav *.xg *.status *~ diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/RealEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson4/RealEA.cpp deleted file mode 100644 index 8002136c0..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/RealEA.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include - -#include -#include "real_value.h" -#include - -using namespace std; - -int main(int argc, char* argv[]) -{ - - try - { - typedef eoReal EOT; - - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - ///// FIRST, problem or representation dependent stuff - ////////////////////////////////////////////////////// - - // The evaluation fn - encapsulated into an eval counter for output - eoEvalFuncPtr&> - mainEval( real_value ); - eoEvalFuncCounter eval(mainEval); - - // the genotype - through a genotype initializer - eoRealInitBounded& init = make_genotype(parser, state, EOT()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(parser, state, init); - - //// Now the representation-independent things - ////////////////////////////////////////////// - - // initialize the population - and evaluate - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ea = make_algo_scalar(parser, state, eval, checkpoint, op); - - ///// End of construction of the algorith - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // print it out - cout << "Initial Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - run_ea(ea, pop); // run the ea - - cout << "Final Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - } - catch(exception& e) - { - cout << e.what() << endl; - } -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/RealEA.param b/trunk/paradiseo-eo/tutorial/Lesson4/RealEA.param deleted file mode 100644 index dba2db343..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/RealEA.param +++ /dev/null @@ -1,57 +0,0 @@ - -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered -# --seed=1104133126 # -S : Random number seed - -###### Evolution Engine ###### ---popSize=10 # -P : Population Size ---selection=Sequential # -S : Selection: DetTour(T), StochTour(t), Roulette, Ranking(p,e) or Sequential(ordered/unordered) ---nbOffspring=700% # -O : Nb of offspring (percentage or absolute) ---replacement=Plus # -R : Replacement: Comma, Plus or EPTour(T), SSGAWorst, SSGADet(T), SSGAStoch(t) ---weakElitism=0 # -w : Old best parent replaces new worst offspring *if necessary* - -###### Genotype Initialization ###### -# --vecSize=10 # -n : The number of variables -# --initBounds=10[-1,1] # -B : Bounds for initialization (MUST be bounded) ---sigmaInit=0.3% # -s : Initial value for Sigmas (with a '%' -> scaled by the range of each variable) - -###### Output ###### -# --useEval=1 # Use nb of eval. as counter (vs nb of gen.) -# --useTime=1 # Display time (s) every generation -# --printBestStat=1 # Print Best/avg/stdev every gen. -# --printPop=0 # Print sorted pop. every gen. - -###### Output - Disk ###### -# --resDir=Res # Directory to store DISK outputs -# --eraseDir=1 # erase files in dirName if any -# --fileBestStat=0 # Output bes/avg/std to file - -###### Output - Graphical ###### -# --plotBestStat=0 # Plot Best/avg Stat -# --plotHisto=0 # Plot histogram of fitnesses - -###### Persistence ###### -# --Load= # -L : A save file to restart from -# --recomputeFitness=0 # -r : Recompute the fitness after re-loading the pop.? -# --saveFrequency=0 # Save every F generation (0 = only final state, absent = never) -# --saveTimeInterval=0 # Save every T seconds (0 or absent = never) -# --status=t-eoESAll.status # Status file - -###### Stopping criterion ###### -# --maxGen=100 # -G : Maximum number of generations () = none) -# --steadyGen=100 # -s : Number of generations with no improvement -# --minGen=0 # -g : Minimum number of generations -# --maxEval=0 # -E : Maximum number of evaluations (0 = none) -# --targetFitness=0 # -T : Stop when fitness reaches -# --CtrlC=0 # -C : Terminate current generation upon Ctrl C - -###### Variation Operators ###### -# --objectBounds=10[-inf,+inf] # -B : Bounds for variables -# --operator=SGA # -o : Description of the operator (SGA only now) -# --pCross=1 # -C : Probability of Crossover -# --pMut=1 # -M : Probability of Mutation -# --crossType=global # -C : Type of ES recombination (global or standard) -# --crossObj=discrete # -O : Recombination of object variables (discrete, intermediate or none) -# --crossStdev=intermediate # -S : Recombination of mutation strategy parameters (intermediate, discrete or none) -# --TauLoc=1 # -l : Local Tau (before normalization) diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/binary_value.h b/trunk/paradiseo-eo/tutorial/Lesson4/binary_value.h deleted file mode 100644 index 188835fca..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/binary_value.h +++ /dev/null @@ -1,25 +0,0 @@ -#include - -//----------------------------------------------------------------------------- - -/** Just a simple function that takes binary value of a chromosome and sets - the fitnes. - @param _chrom A binary chromosome -*/ - -template double binary_value(const Chrom& _chrom) -{ - double sum = 0; - for (unsigned i = 0; i < _chrom.size(); i++) - if (_chrom[i]) - sum += _chrom[i]; - return sum; -} - -struct BinaryValue -{ - template void operator()(Chrom& _chrom) - { - _chrom.fitness(binary_value(_chrom)); - } -}; diff --git a/trunk/paradiseo-eo/tutorial/Lesson4/real_value.h b/trunk/paradiseo-eo/tutorial/Lesson4/real_value.h deleted file mode 100644 index 8f3a0df59..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson4/real_value.h +++ /dev/null @@ -1,19 +0,0 @@ -#include -//----------------------------------------------------------------------------- - - -/** Just a simple function that takes an eoEsBase and sets the fitnes - to sphere - @param _ind vector -*/ - -double real_value(const std::vector& _ind) -{ - double sum = 0; - for (unsigned i = 0; i < _ind.size(); i++) - sum += _ind[i] * _ind[i]; - return sqrt(sum); -} - - - diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/.cvsignore b/trunk/paradiseo-eo/tutorial/Lesson5/.cvsignore deleted file mode 100644 index 70845e08e..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.in diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Entries b/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Entries deleted file mode 100644 index cc1c584ae..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Entries +++ /dev/null @@ -1,14 +0,0 @@ -/.cvsignore/1.1/Fri Sep 17 16:53:10 2004// -/Makefile.am/1.4/Wed Sep 28 21:49:25 2005// -/Makefile.simple/1.1/Fri Sep 17 15:20:18 2004// -/OneMaxEA.cpp/1.1/Wed May 8 06:44:04 2002// -/OneMaxLibEA.cpp/1.1/Wed May 8 06:44:04 2002// -/eoOneMax.h/1.1/Wed May 8 06:44:04 2002// -/eoOneMaxEvalFunc.h/1.1/Wed May 8 06:44:04 2002// -/eoOneMaxInit.h/1.1/Wed May 8 06:44:04 2002// -/eoOneMaxMutation.h/1.3/Mon Oct 3 09:47:06 2005// -/eoOneMaxQuadCrossover.h/1.2/Mon Oct 3 09:47:06 2005// -/make_OneMax.cpp/1.1/Wed May 8 06:44:04 2002// -/make_genotype_OneMax.h/1.1/Wed May 8 06:44:04 2002// -/make_op_OneMax.h/1.1/Wed May 8 06:44:04 2002// -D diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Repository b/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Repository deleted file mode 100644 index b734b7655..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/Lesson5 diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Root b/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/Makefile.am b/trunk/paradiseo-eo/tutorial/Lesson5/Makefile.am deleted file mode 100644 index 110cfb087..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ - -noinst_PROGRAMS = OneMaxEA OneMaxLibEA - -OneMaxEA_SOURCES = OneMaxEA.cpp - -OneMaxLibEA_SOURCES = OneMaxLibEA.cpp make_OneMax.cpp - - -noinst_HEADERS = eoOneMax.h \ - eoOneMaxEvalFunc.h \ - eoOneMaxInit.h \ - eoOneMaxMutation.h \ - eoOneMaxQuadCrossover.h \ - make_genotype_OneMax.h \ - make_op_OneMax.h - -extra_DIST = Makefile.simple - -AM_CXXFLAGS = -I$(top_srcdir)/src - -LIBEO = $(top_builddir)/src/libeo.a -LIBES = $(top_builddir)/src/es/libes.a -LIBGA = $(top_builddir)/src/ga/libga.a -LIBUTILS = $(top_builddir)/src/utils/libeoutils.a - -DEPS = $(LIBEO) $(LIBUTILS) $(LIBES) $(LIBGA) - -LIBS = $(LIBES) $(LIBGA) $(LIBEO) $(LIBUTILS) diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/Makefile.simple b/trunk/paradiseo-eo/tutorial/Lesson5/Makefile.simple deleted file mode 100644 index bb865c104..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/Makefile.simple +++ /dev/null @@ -1,56 +0,0 @@ -### This Makefile is part of the tutorial of the EO library -# Unlike other Makefiles in EO, it is not using the automake/autoconf -# so that it stays easy to understant (you are in the tutorial, remember!) -# MS, Oct. 2002 - -# if you use this Makefile as a starting point for another application -# you might need to modify the following -DIR_EO = ../../src - -.SUFFIXES: .cpp - -# Warning: $(CXX) in Linux (RedHat and Mandrake at least) is g++ -# However, if you are using this Makefile within xemacs, -# and have problems with the interpretation of the output (and its colors) -# then you should use c++ instead (make CXX=c++ will do) - -.cpp: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -o $@ $*.cpp $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -.cpp.o: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -c $*.cpp - -# local sources -COMMON_SOURCES = eoOneMax.h \ - eoOneMaxEvalFunc.h \ - eoOneMaxInit.h \ - eoOneMaxMutation.h \ - eoOneMaxQuadCrossover.h \ - make_genotype_OneMax.h \ - make_op_OneMax.h - -NO_LIB_SOURCES = OneMaxEA.cpp - -LIB_SOURCES = OneMaxLibEA.cpp make_OneMax.cpp - - -SOURCES = $(COMMON_SOURCES) OneMaxEA.cpp OneMaxLibEA.cpp make_OneMax.cpp - -LIB_EO = $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -ALL = OneMaxEA OneMaxLibEA - -OneMaxEA : OneMaxEA.o - $(CXX) -g -o $@ OneMaxEA.o $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a -lm - -OneMaxLibEA : OneMaxLibEA.o make_OneMax.o - $(CXX) -g -o $@ OneMaxLibEA.o make_OneMax.o $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a -lm - -tar : ; tar czvf OneMax.tgz *.h *.cpp Makefile - -all : $(ALL) - -clean : ; /bin/rm *.o $(ALL) - -########## local dependencies -OneMaxEA.o : $(COMMON_SOURCES) OneMaxEA.cpp -OneMaxLibEA.o : $(COMMON_SOURCES) OneMaxLibEA.cpp -make_OneMax.o : make_OneMax.cpp eoOneMax.h diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/OneMaxEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson5/OneMaxEA.cpp deleted file mode 100644 index 1f3470f33..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/OneMaxEA.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ - -This is the template main file. -It includes all other files that have been generated by the script create.sh -so it is the only file to compile. - -In case you want to build up a separate library for your new Evolving Object, -you'll need some work - follow what's done in the src/ga dir, used in the -main file BitEA in tutorial/Lesson4 dir. -Or you can wait until we do it :-) -*/ - -// Miscilaneous include and declaration -#include -using namespace std; - -// eo general include -#include "eo" -// the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" - -// include here whatever specific files for your representation -// Basically, this should include at least the following - -/** definition of representation: - * class eoOneMax MUST derive from EO for some fitness - */ -#include "eoOneMax.h" - -/** definition of initilizqtion: - * class eoOneMaxInit MUST derive from eoInit - */ -#include "eoOneMaxInit.h" - -/** definition of evaluation: - * class eoOneMaxEvalFunc MUST derive from eoEvalFunc - * and should test for validity before doing any computation - * see tutorial/Templates/evalFunc.tmpl - */ -#include "eoOneMaxEvalFunc.h" - -// GENOTYPE eoOneMax ***MUST*** be templatized over the fitness - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// START fitness type: double or eoMaximizingFitness if you are maximizing -// eoMinimizingFitness if you are minimizing -typedef eoMaximizingFitness MyFitT ; // type of fitness -// END fitness type -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -// Then define your EO objects using that fitness type -typedef eoOneMax Indi; // ***MUST*** derive from EO - -// create an initializer -#include "make_genotype_OneMax.h" -eoInit & make_genotype(eoParser& _parser, eoState&_state, Indi _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - -// and the variation operaotrs -#include "make_op_OneMax.h" -eoGenOp& make_op(eoParser& _parser, eoState& _state, eoInit& _init) -{ - return do_make_op(_parser, _state, _init); -} - -// Use existing modules to define representation independent routines -// These are parser-based definitions of objects - -// how to initialize the population -// it IS representation independent if an eoInit is given -#include -eoPop& make_pop(eoParser& _parser, eoState& _state, eoInit & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -// the stopping criterion -#include -eoContinue& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -// outputs (stats, population dumps, ...) -#include -eoCheckPoint& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -// evolution engine (selection and replacement) -#include -eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -// simple call to the algo. stays there for consistency reasons -// no template for that one -#include -// the instanciating fitnesses -#include -void run_ea(eoAlgo& _ga, eoPop& _pop) -{ - do_run(_ga, _pop); -} - -// checks for help demand, and writes the status file -// and make_help; in libutils -void make_help(eoParser & _parser); - -// now use all of the above, + representation dependent things -int main(int argc, char* argv[]) -{ - - try - { - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - // The fitness - ////////////// - eoOneMaxEvalFunc plainEval/* (varType _anyVariable) */; - // turn that object into an evaluation counter - eoEvalFuncCounter eval(plainEval); - - // the genotype - through a genotype initializer - eoInit& init = make_genotype(parser, state, Indi()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(parser, state, init); - - - //// Now the representation-independent things - // - // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT - // unless you want to add specific statistics to the checkpoint - ////////////////////////////////////////////// - - // initialize the population - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op); - - ///// End of construction of the algorithm - - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // if you want to print it out - cout << "Initial Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - run_ea(ga, pop); // run the ga - - cout << "Final Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - } - catch(exception& e) - { - cout << e.what() << endl; - } - return 0; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/OneMaxLibEA.cpp b/trunk/paradiseo-eo/tutorial/Lesson5/OneMaxLibEA.cpp deleted file mode 100644 index 42d25f923..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/OneMaxLibEA.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ - -This is the template main file for compiling after creating a -library. -See make_OneMax.cpp file. -*/ - -// Miscilaneous include and declaration -#include -using namespace std; - -// eo general include -#include "eo" -// the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" - -// include here whatever specific files for your representation -// Basically, this should include at least the following - -/** definition of representation: - * class eoOneMax MUST derive from EO for some fitness - */ -#include "eoOneMax.h" - -/** definition of initilizqtion: - * class eoOneMaxInit MUST derive from eoInit - */ -#include "eoOneMaxInit.h" - -/** definition of evaluation: - * class eoOneMaxEvalFunc MUST derive from eoEvalFunc - * and should test for validity before doing any computation - * see tutorial/Templates/evalFunc.tmpl - */ -#include "eoOneMaxEvalFunc.h" - -// GENOTYPE eoOneMax ***MUST*** be templatized over the fitness - -// -// START fitness type: double or eoMaximizingFitness if you are maximizing -// eoMinimizingFitness if you are minimizing -typedef eoMinimizingFitness MyFitT ; // type of fitness -// END fitness type -// - -// Then define your EO objects using that fitness type -typedef eoOneMax Indi; // ***MUST*** derive from EO - -// create an initializer - done here and NOT in make_OneMax.cpp -// because it is NOT representation independent -#include "make_genotype_OneMax.h" -eoInit & make_genotype(eoParser& _parser, eoState&_state, Indi _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - -// same thing for the variation operaotrs -#include "make_op_OneMax.h" -eoGenOp& make_op(eoParser& _parser, eoState& _state, eoInit& _init) -{ - return do_make_op(_parser, _state, _init); -} - -// The representation independent routines are simply declared here - -// how to initialize the population -// it IS representation independent if an eoInit is given -eoPop& make_pop(eoParser& _parser, eoState& _state, eoInit & _init); - -// the stopping criterion -eoContinue& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval); - -// outputs (stats, population dumps, ...) -eoCheckPoint& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue); - -// evolution engine (selection and replacement) -eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op); - -// simple call to the algo. stays there for consistency reasons -// no template for that one -void run_ea(eoAlgo& _ga, eoPop& _pop); - -// checks for help demand, and writes the status file -// and make_help; in libutils - just a declaration, code in libeoutils.a -void make_help(eoParser & _parser); - -// now use all of the above, + representation dependent things -// from here on, no difference with eoOneMax.cpp -int main(int argc, char* argv[]) -{ - - try - { - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - // The fitness - ////////////// - eoOneMaxEvalFunc plainEval/* (varType _anyVariable) */; - // turn that object into an evaluation counter - eoEvalFuncCounter eval(plainEval); - - // the genotype - through a genotype initializer - eoInit& init = make_genotype(parser, state, Indi()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(parser, state, init); - - - //// Now the representation-independent things - // - // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT - // unless you want to add specific statistics to the checkpoint - ////////////////////////////////////////////// - - // initialize the population - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op); - - ///// End of construction of the algorithm - - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // if you want to print it out - cout << "Initial Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - run_ea(ga, pop); // run the ga - - cout << "Final Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - } - catch(exception& e) - { - cout << e.what() << endl; - } - return 0; -} diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMax.h b/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMax.h deleted file mode 100644 index a85bb89f7..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMax.h +++ /dev/null @@ -1,111 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ -*/ - -#ifndef _eoOneMax_h -#define _eoOneMax_h - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - - * Note that you MUST derive your structure from EO - * but you MAY use some other already prepared class in the hierarchy - * like eoVector for instance, if you handle a vector of something.... - - * If you create a structure from scratch, - * the only thing you need to provide are - * a default constructor - * IO routines printOn and readFrom - * - * Note that operator<< and operator>> are defined at EO level - * using these routines - */ -template< class FitT> -class eoOneMax: public EO { -public: - /** Ctor: you MUST provide a default ctor. - * though such individuals will generally be processed - * by some eoInit object - */ - eoOneMax() - { - // START Code of default Ctor of an eoOneMax object - // END Code of default Ctor of an eoOneMax object - } - - virtual ~eoOneMax() - { - // START Code of Destructor of an eoEASEAGenome object - // END Code of Destructor of an eoEASEAGenome object - } - - virtual string className() const { return "eoOneMax"; } - - /** printing... */ - void printOn(ostream& _os) const - { - // First write the fitness - EO::printOn(_os); - _os << ' '; - // START Code of default output - - /** HINTS - * in EO we systematically write the sizes of things before the things - * so readFrom is easier to code (see below) - */ - _os << b.size() << ' ' ; - for (unsigned i=0; i::readFrom(_is); - // START Code of input - - /** HINTS - * remember the eoOneMax object will come from the default ctor - * this is why having the sizes written out is useful - */ - unsigned s; - _is >> s; - b.resize(s); - for (unsigned i=0; i> bTmp; - b[i] = bTmp; - } - // END Code of input - } - - // accessing and setting values - void setB(vector & _b) - { - b=_b; - } - const vector & B() - { - return b; - } - -private: // put all data here - // START Private data of an eoOneMax object - std::vector b; - // END Private data of an eoOneMax object -}; - -#endif - diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMaxEvalFunc.h b/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMaxEvalFunc.h deleted file mode 100644 index b7f187462..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMaxEvalFunc.h +++ /dev/null @@ -1,68 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for evaluator in EO, a functor that computes the fitness of an EO -========================================================================== -*/ - -#ifndef _eoOneMaxEvalFunc_h -#define _eoOneMaxEvalFunc_h - -// include whatever general include you need -#include -#include - -// include the base definition of eoEvalFunc -#include "eoEvalFunc.h" - -/** - Always write a comment in this format before class definition - if you want the class to be documented by Doxygen -*/ -template -class eoOneMaxEvalFunc : public eoEvalFunc -{ -public: - /// Ctor - no requirement -// START eventually add or modify the anyVariable argument - eoOneMaxEvalFunc() - // eoOneMaxEvalFunc( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoOneMaxEvalFunc object - // END Code of Ctor of an eoOneMaxEvalFunc object - } - - /** Actually compute the fitness - * - * @param EOT & _eo the EO object to evaluate - * it should stay templatized to be usable - * with any fitness type - */ - void operator()(EOT & _eo) - { - // test for invalid to avoid recomputing fitness of unmodified individuals - if (_eo.invalid()) - { - double fit; // to hold fitness value - // START Code of computation of fitness of the eoOneMax object - const vector & b = _eo.B(); - fit = 0; - for (unsigned i=0; i - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * There is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO (e.g. to initialize - * atoms of an eoVector you will need an eoInit) - */ -template -class eoOneMaxInit: public eoInit { -public: - /// Ctor - no requirement -// START eventually add or modify the anyVariable argument -// eoOneMaxInit() - eoOneMaxInit( unsigned _vecSize) : vecSize(_vecSize) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoOneMaxInit object - // END Code of Ctor of an eoOneMaxInit object - } - - - /** initialize a genotype - * - * @param _genotype generally a genotype that has been default-constructed - * whatever it contains will be lost - */ - void operator()(GenotypeT & _genotype) - { - // START Code of random initialization of an eoOneMax object - vector b(vecSize); - for (unsigned i=0; i - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * THere is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO - */ -template -class eoOneMaxMutation: public eoMonOp -{ -public: - /** - * Ctor - no requirement - */ - // START eventually add or modify the anyVariable argument - eoOneMaxMutation() - // eoOneMaxMutation( varType _anyVariable) : anyVariable(_anyVariable) - // END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoOneMaxEvalFunc object - // END Code of Ctor of an eoOneMaxEvalFunc object - } - - /// The class name. Used to display statistics - string className() const { return "eoOneMaxMutation"; } - - /** - * modifies the parent - * @param _genotype The parent genotype (will be modified) - */ - bool operator()(GenotypeT & _genotype) - { - bool isModified(true); - // START code for mutation of the _genotype object - - /** Requirement - * if (_genotype has been modified) - * isModified = true; - * else - * isModified = false; - */ - return isModified; - // END code for mutation of the _genotype object - } - -private: -// START Private data of an eoOneMaxMutation object - // varType anyVariable; // for example ... -// END Private data of an eoOneMaxMutation object -}; - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h b/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h deleted file mode 100644 index 5a201bd08..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/eoOneMaxQuadCrossover.h +++ /dev/null @@ -1,70 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors -*/ - -/* -Template for simple quadratic crossover operators -================================================= - -Quadratic crossover operators modify the both genotypes -*/ - -#ifndef eoOneMaxQuadCrossover_H -#define eoOneMaxQuadCrossover_H - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * THere is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO - */ -template -class eoOneMaxQuadCrossover: public eoQuadOp -{ -public: - /** - * Ctor - no requirement - */ -// START eventually add or modify the anyVariable argument - eoOneMaxQuadCrossover() - // eoOneMaxQuadCrossover( varType _anyVariable) : anyVariable(_anyVariable) - // END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoOneMaxEvalFunc object - // END Code of Ctor of an eoOneMaxEvalFunc object - } - - /// The class name. Used to display statistics - string className() const { return "eoOneMaxQuadCrossover"; } - - /** - * eoQuad crossover - modifies both parents - * @param _genotype1 The first parent - * @param _genotype2 The second parent - */ - bool operator()(GenotypeT& _genotype1, GenotypeT & _genotype2) - { - bool oneAtLeastIsModified(true); - // START code for crossover of _genotype1 and _genotype2 objects - - /** Requirement - * if (at least one genotype has been modified) // no way to distinguish - * oneAtLeastIsModified = true; - * else - * oneAtLeastIsModified = false; - */ - return oneAtLeastIsModified; - // END code for crossover of _genotype1 and _genotype2 objects - } - -private: -// START Private data of an eoOneMaxQuadCrossover object - // varType anyVariable; // for example ... -// END Private data of an eoOneMaxQuadCrossover object -}; - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/make_OneMax.cpp b/trunk/paradiseo-eo/tutorial/Lesson5/make_OneMax.cpp deleted file mode 100644 index 29fa78e6d..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/make_OneMax.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ - -This is the template file that llows separate compilation of -everything that is representation independant (evolution engine and -general output) for an Evolutionary Algorithm with scalar fitness. - -It includes of course the definition of the genotype (eoOneMax.h) and -is written like the make_xxx.cpp files in dirs src/ga (for bitstrings) -and src/es (for real vectors). - -*/ - -// Miscilaneous include and declaration -#include -using namespace std; - -// eo general include -#include "eo" -// the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" - -// include here whatever specific files for your representation -// Basically, this should include at least the following - -/** definition of representation: - * class eoOneMax MUST derive from EO for some fitness - */ -#include "eoOneMax.h" - -// create an initializer: this is NOT representation-independent -// and will be done in the main file -// However, should you decide to freeze that part, you could use the -// following (and remove it from the main file, of course!!!) -//------------------------------------------------------------------ -// #include "make_genotype_OneMax.h" -// eoInit> & make_genotype(eoParser& _parser, eoState&_state, eoOneMax _eo) -// { -// return do_make_genotype(_parser, _state, _eo); -// } - -// eoInit> & make_genotype(eoParser& _parser, eoState&_state, eoOneMax _eo) -// { -// return do_make_genotype(_parser, _state, _eo); -// } - -// same thing for the variation operaotrs -//--------------------------------------- -// #include "make_op_OneMax.h" -// eoGenOp>& make_op(eoParser& _parser, eoState& _state, eoInit>& _init) -// { -// return do_make_op(_parser, _state, _init); -// } - -// eoGenOp>& make_op(eoParser& _parser, eoState& _state, eoInit>& _init) -// { -// return do_make_op(_parser, _state, _init); -// } - -// The following modules use ***representation independent*** routines - -// how to initialize the population -// it IS representation independent if an eoInit is given -#include -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -// the stopping criterion -#include -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -// outputs (stats, population dumps, ...) -#include -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -// evolution engine (selection and replacement) -#include -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -// simple call to the algo. stays there for consistency reasons -// no template for that one -#include -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/make_genotype_OneMax.h b/trunk/paradiseo-eo/tutorial/Lesson5/make_genotype_OneMax.h deleted file mode 100644 index 52ff9ebf5..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/make_genotype_OneMax.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_genotype.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_genotype_h -#define _make_genotype_h - -#include -#include - // also need the parser and param includes -#include -#include - - -/* - * This fuction does the create an eoInit - * - * It could be here tempatized only on the fitness, as it can be used - * to evolve structures with any fitness. - * However, for consistency reasons, it was finally chosen, as in - * the rest of EO, to templatize by the full EOT, as this eventually - * allows to choose the type of genotype at run time (see in es dir) - * - * It returns an eoInit that can later be used to initialize - * the population (see make_pop.h). - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is to disambiguate the call upon different instanciations. - * - * WARNING: that last argument will generally be the result of calling - * the default ctor of EOT, resulting in most cases in an EOT - * that is ***not properly initialized*** -*/ - -template -eoInit & do_make_genotype(eoParameterLoader& _parser, eoState& _state, EOT) -{ - // read any useful parameter here from the parser - // the param itself will belong to the parser (as far as memory is concerned) - - // paramType & param = _parser.createParam(deafultValue, "Keyword", "Comment to appear in help and status", 'c',"Section of status file").value(); - - unsigned vecSize = _parser.createParam(unsigned(8), "VecSize", "Size of the bitstrings", 'v',"Representation").value(); - - // Then built the initializer - a pointer, stored in the eoState - eoInit* init = new eoOneMaxInit(vecSize); - // store in state - _state.storeFunctor(init); - // and return a reference - return *init; -} - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Lesson5/make_op_OneMax.h b/trunk/paradiseo-eo/tutorial/Lesson5/make_op_OneMax.h deleted file mode 100644 index d19c89301..000000000 --- a/trunk/paradiseo-eo/tutorial/Lesson5/make_op_OneMax.h +++ /dev/null @@ -1,210 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_op_OneMax.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_op_OneMax_h -#define _make_op_OneMax_h - -// the operators -#include -#include -#include -#include -// combinations of simple eoOps (eoMonOp and eoQuadOp) -#include - -/** definition of mutation: - * class eoOneMaxMonop MUST derive from eoMonOp - */ -#include "eoOneMaxMutation.h" - -/** definition of crossover (either as eoBinOp (2->1) or eoQuadOp (2->2): - * class eoOneMaxBinCrossover MUST derive from eoBinOp - * OR - * class eoOneMaxQuadCrossover MUST derive from eoQuadOp - */ -// #include "eoOneMaxBinOp.h" -// OR -#include "eoOneMaxQuadCrossover.h" - - // also need the parser and state includes -#include -#include - - -/////////////////// variation operators /////////////// -// canonical (crossover + mutation) only at the moment // - -/* - * This function builds the operators that will be applied to the eoOneMax - * - * It uses a parser (to get user parameters), a state (to store the memory) - * the last parameter is an eoInit: if some operator needs some info - * about the genotypes, the init has it all (e.g. bounds, ...) - * Simply do - * EOT myEO; - * _init(myEO); - * and myEO is then an ACTUAL object - * - * As usual, the template is the complete EOT even though only the fitness - * is actually templatized here: the following only applies to eoOneMax -*/ - -template -eoGenOp & do_make_op(eoParameterLoader& _parser, eoState& _state, eoInit& _init) -{ - // this is a temporary version, while Maarten codes the full tree-structured - // general operator input - // BTW we must leave that simple version available somehow, as it is the one - // that 90% people use! - - - ///////////////////////////// - // Variation operators - //////////////////////////// - // read crossover and mutations, combine each in a proportional Op - // and create the eoGenOp that calls crossover at rate pCross - // then mutation with rate pMut - - // the crossovers - ///////////////// - - // here we can have eoQuadOp (2->2) only - no time for the eoBinOp case - - // you can have more than one - combined in a proportional way - - // first, define the crossover objects and read their rates from the parser - - // A first crossover - eoQuadOp *cross = new eoOneMaxQuadCrossover /* (varType _anyVariable) */; - // store in the state - _state.storeFunctor(cross); - - // read its relative rate in the combination - double cross1Rate = _parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", '1', "Variation Operators").value(); - - // and create the combined operator with this one - eoPropCombinedQuadOp *propXover = - new eoPropCombinedQuadOp(*cross, cross1Rate); - // and of course stor it in the state - _state.storeFunctor(propXover); - - - // Optional: A second(and third, and ...) crossover - // of course you must create the corresponding classes - // and all ***MUST*** derive from eoQuadOp - - /* Uncomment if necessary - and replicate as many time as you need - cross = new eoOneMaxSecondCrossover(varType _anyVariable); - _state.storeFunctor(cross); - double cross2Rate = _parser.createParam(1.0, "cross2Rate", "Relative rate for crossover 2", '2', "Variation Operators").value(); - propXover.add(*cross, cross2Rate); - */ - // if you want some gentle output, the last one shoudl be like - // propXover.add(*cross, crossXXXRate, true); - - - // the mutation: same story - //////////////// - // you can have more than one - combined in a proportional way - - // for each mutation, - // - define the mutator object - // - read its rate from the parser - // - add it to the proportional combination - - // a first mutation - eoMonOp *mut = new eoOneMaxMutation/* (varType _anyVariable) */; - _state.storeFunctor(mut); - // its relative rate in the combination - double mut1Rate = _parser.createParam(1.0, "mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value(); - // and the creation of the combined operator with this one - eoPropCombinedMonOp *propMutation = new eoPropCombinedMonOp(*mut, mut1Rate); - _state.storeFunctor(propMutation); - - // Optional: A second(and third, and ...) mutation with their rates - // of course you must create the corresponding classes - // and all ***MUST*** derive from eoMonOp - - /* Uncomment if necessary - and replicate as many time as you need - mut = new eoOneMaxSecondMutation(varType _anyVariable); - _state.storeFunctor(mut); - double mut2Rate = _parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value(); - propMutation.add(*mut, mut2Rate); - */ - // if you want some gentle output, the last one shoudl be like - // propMutation.add(*mut, mutXXXRate, true); - - // end of crossover and mutation definitions - //////////////////////////////////////////// - -// END Modify definitions of objects by eventually add parameters -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -// from now on, you do not need to modify anything -// though you CAN add things to the checkpointing (see tutorial) - - // now build the eoGenOp: - // to simulate SGA (crossover with proba pCross + mutation with proba pMut - // we must construct - // a sequential combination of - // with proba 1, a proportional combination of - // a QuadCopy and our crossover - // with proba pMut, our mutation - - // but of course you're free to use any smart combination you could think of - // especially, if you have to use eoBinOp rather than eoQuad Op youùll have - // to modify that part - - // First read the individual level parameters - eoValueParam& pCrossParam = _parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" ); - // minimum check - if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) ) - throw runtime_error("Invalid pCross"); - - eoValueParam& pMutParam = _parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" ); - // minimum check - if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) ) - throw runtime_error("Invalid pMut"); - - - // the crossover - with probability pCross - eoProportionalOp * propOp = new eoProportionalOp ; - _state.storeFunctor(propOp); - eoQuadOp *ptQuad = new eoQuadCloneOp; - _state.storeFunctor(ptQuad); - propOp->add(*propXover, pCrossParam.value()); // crossover, with proba pcross - propOp->add(*ptQuad, 1-pCrossParam.value()); // nothing, with proba 1-pcross - - // now the sequential - eoSequentialOp *op = new eoSequentialOp; - _state.storeFunctor(op); - op->add(*propOp, 1.0); // always do combined crossover - op->add(*propMutation, pMutParam.value()); // then mutation, with proba pmut - - // that's it - return a reference - return *op; -} -#endif diff --git a/trunk/paradiseo-eo/tutorial/Makefile.am b/trunk/paradiseo-eo/tutorial/Makefile.am deleted file mode 100644 index 66ed8252c..000000000 --- a/trunk/paradiseo-eo/tutorial/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -SUBDIRS = Lesson1 Lesson2 Lesson3 Lesson4 Lesson5 - diff --git a/trunk/paradiseo-eo/tutorial/Makefile.simple b/trunk/paradiseo-eo/tutorial/Makefile.simple deleted file mode 100644 index 61396d3c2..000000000 --- a/trunk/paradiseo-eo/tutorial/Makefile.simple +++ /dev/null @@ -1,29 +0,0 @@ -SUBDIRS = Lesson1 Lesson2 Lesson3 Lesson4 Lesson5 - -all: - for i in $(SUBDIRS); do cd $$i && $(MAKE) all; cd ..; done - -lesson1 : - cd Lesson1; make - -lesson2 : - cd Lesson2; make - -lesson3 : - cd Lesson3; make - -lesson4 : - cd Lesson4; make - -lesson5 : - cd Lesson5; make - -#empty dist and distdir to let top-level 'make' do its job -dist : - -distdir : - -check : - -clean: - for i in $(SUBDIRS); do cd $$i && $(MAKE) clean; cd ..; done diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Entries b/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Entries.Log b/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Entries.Log deleted file mode 100644 index 6dfb6ceae..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Entries.Log +++ /dev/null @@ -1,3 +0,0 @@ -A D/Lesson1//// -A D/Lesson2//// -A D/Lesson3//// diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Repository b/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Repository deleted file mode 100644 index 928556620..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/ParadisEO diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Root b/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Entries b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Repository b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Repository deleted file mode 100644 index 26082a117..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/ParadisEO/Lesson1 diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Root b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson1/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Entries b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Repository b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Repository deleted file mode 100644 index 4be211061..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/ParadisEO/Lesson2 diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Root b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson2/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Entries b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Repository b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Repository deleted file mode 100644 index 214585d9f..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/ParadisEO/Lesson3 diff --git a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Root b/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/ParadisEO/Lesson3/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/README b/trunk/paradiseo-eo/tutorial/README deleted file mode 100644 index aecd143e2..000000000 --- a/trunk/paradiseo-eo/tutorial/README +++ /dev/null @@ -1,13 +0,0 @@ -Eo Tutorial - corresponding to EO version 0.9.1+ - -To start the tutorial, read index.html in your favorite browser. - -Many things are missing, including many solutions for the exercises, -the introduction to EC and most of the Component-based pages. -More important, all examples of this tutorial have only been tested -on a Linux computer, and the Makefile will not work with MS-Windows -systems. Any help is welcome! - -Be patient ... -evoMarc - diff --git a/trunk/paradiseo-eo/tutorial/Templates/CVS/Entries b/trunk/paradiseo-eo/tutorial/Templates/CVS/Entries deleted file mode 100644 index 789a4c4b7..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/CVS/Entries +++ /dev/null @@ -1,24 +0,0 @@ -/EO.tpl/1.1/Fri Aug 23 16:02:02 2002// -/MakeSimple.tmpl/1.2/Tue May 25 07:57:52 2004// -/Makefile.tmpl/1.6/Wed Oct 23 04:42:07 2002// -/MyStructEA.cpp/1.5/Wed May 1 04:04:15 2002// -/MyStructLibEA.cpp/1.1/Wed May 8 06:47:50 2002// -/MyStructSEA.cpp/1.4/Wed Oct 5 21:34:19 2005// -/README/1.4/Tue May 25 07:57:52 2004// -/binCrossover.tmpl/1.3/Tue Sep 4 08:35:22 2001// -/continue.tmpl/1.2/Tue Sep 4 08:35:22 2001// -/create.sh/1.4/Wed May 8 06:47:50 2002// -/createSimple/1.2/Tue May 25 07:57:52 2004// -/eoMyStruct.tmpl/1.4/Sat Mar 22 06:39:21 2003// -/evalFunc.tmpl/1.2/Thu Oct 4 20:12:19 2001// -/init.tmpl/1.2/Sat Nov 10 06:32:05 2001// -/lessOffspringExternalSelectorGenOp.tmpl/1.3/Tue Sep 4 08:35:22 2001// -/lessOffspringSameSelectorGenOp.tmpl/1.3/Tue Sep 4 08:35:22 2001// -/make_MyStruct.cpp/1.1/Wed May 8 06:47:50 2002// -/make_genotype_MyStruct.h/1.2/Fri May 3 05:12:32 2002// -/make_op_MyStruct.h/1.1/Thu Oct 4 20:12:19 2001// -/moreOffspringGenOp.tmpl/1.3/Tue Sep 4 08:35:22 2001// -/mutation.tmpl/1.6/Mon Sep 24 05:59:13 2001// -/quadCrossover.tmpl/1.5/Sat Jun 21 06:34:00 2003// -/stat.tmpl/1.2/Thu Feb 10 09:57:28 2005// -D diff --git a/trunk/paradiseo-eo/tutorial/Templates/CVS/Repository b/trunk/paradiseo-eo/tutorial/Templates/CVS/Repository deleted file mode 100644 index 4996367c2..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/Templates diff --git a/trunk/paradiseo-eo/tutorial/Templates/CVS/Root b/trunk/paradiseo-eo/tutorial/Templates/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/Templates/EO.tpl b/trunk/paradiseo-eo/tutorial/Templates/EO.tpl deleted file mode 100644 index 438a442ca..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/EO.tpl +++ /dev/null @@ -1,938 +0,0 @@ -\TEMPLATE_START// -*- mode: c++; c-indent-level: 2; c++-member-init-indent: 8; comment-column: 35; -*- -// -// (The above line is useful in Emacs-like editors) -// -//************************************* -// -// EASEA.cpp -// -// C++ file generated by AESAE-EO v0.7 -// -//************************************* -// -// -// Main file for creating a new representation in EO -// ================================================= -// -// This main file includes all other files that have been generated by the -// script create.sh, so it is the only file to compile. -// -// In case you want to build up a separate library for your new Evolving Object, -// you'll need some work - follow what's done in the src/ga dir, used in the -// main file BitEA in tutorial/Lesson4 dir. -// Or you can wait until we do it :-) - -// Miscellany includes and declarations -#include -using namespace std; - -// eo general include -#include "eo" -// real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" - -unsigned *pCurrentGeneration; -unsigned *pEZ_NB_GEN; -double EZ_MUT_PROB, EZ_XOVER_PROB, EZ_REPL_PERC=0.0; -int EZ_NB_GEN, EZ_POP_SIZE; -unsigned long EZ_NB_EVALUATIONS=0L; - -inline int random(int b1=0, int b2=1){ - return rng.random(b2-b1)+b1; -} -inline double random(double b1=0, double b2=1){ - return rng.uniform(b2-b1)+b1; -} -inline float random(float b1=0, float b2=1){ - return rng.uniform(b2-b1)+b1; -} - -\ANALYSE_PARAMETERS -\INSERT_USER_DECLARATIONS -\INSERT_INITIALISATION_FUNCTION - -// include here whatever specific files for your representation -// Basically, this should include at least the following - -/** definition of representation: - * class EASEAGenome MUST derive from EO for some fitness - */ -#include "EASEAGenome.h" - -// GENOTYPE EASEAGenome ***MUST*** be templatized over the fitness - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// START fitness type: double or eoMaximizingFitness if you are maximizing -// eoMinimizingFitness if you are minimizing -typedef \MINIMAXI MyFitT ; // type of fitness -// END fitness type -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -// Then define your EO objects using that fitness type -typedef EASEAGenome Indi; // ***MUST*** derive from EO - -\INSERT_USER_FUNCTIONS - -/** definition of evaluation: - * class EASEAEvalFunc MUST derive from eoEvalFunc - * and should test for validity before doing any computation - * see tutorial/Templates/evalFunc.tmpl - */ -#include "EASEAEvalFunc.h" - -/** definition of initialization: - * class EASEAGenomeInit MUST derive from eoInit - */ -#include "EASEAInit.h" - -/** include all files defining variation operator classes - */ -#include "EASEAMutation.h" -#include "EASEAQuadCrossover.h" - -// Use existing modules to define representation independent routines -// These are parser-based definitions of objects - -// how to initialize the population -// it IS representation independent if an eoInit is given -#include -eoPop& make_pop(eoParser& _parser, eoState& _state, eoInit & _init){ - return do_make_pop(_parser, _state, _init); -} - -// the stopping criterion -#include "do/make_continue.h" -eoContinue& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval){ - return do_make_continue(_parser, _state, _eval); -} - -// outputs (stats, population dumps, ...) -#include -eoCheckPoint& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue) { - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -// evolution engine (selection and replacement) -#include -eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op){ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -// simple call to the algo. stays there for consistency reasons -// no template for that one -#include -// the instanciating fitnesses -#include -void run_ea(eoAlgo& _ga, eoPop& _pop){ - do_run(_ga, _pop); -} - -// checks for help demand, and writes the status file -// and make_help; in libutils -void make_help(eoParser & _parser); - -// now use all of the above, + representation dependent things -int main(int argc, char* argv[]){ - -try { -\INSERT_INIT_FCT_CALL - - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - // The fitness - ////////////// - EASEAEvalFunc plainEval/* (varType _anyVariable) */; - // turn that object into an evaluation counter - eoEvalFuncCounter eval(plainEval); - - // a genotype initializer - EASEAInit init; - // or, if you need some parameters, you might as well - // - write a constructor of the eoMyStructInit that uses a parser - // - call it from here: - // eoEASEAInit init(parser); - - - // Build the variation operator (any seq/prop construct) - // here, a simple example with only 1 crossover (2->2, a QuadOp) and - // one mutation, is given. - // Hints to have choice among multiple crossovers and mutations are given - - // A (first) crossover (possibly use the parser in its Ctor) - EASEAQuadCrossover cross /* (eoParser parser) */; - - // IF MORE THAN ONE: - - // read its relative rate in the combination -// double cross1Rate = parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", '1', "Variation Operators").value(); - - // create the combined operator with the first one (rename it cross1 !!!) -// eoPropCombinedQuadOp cross(cross1, cross1Rate); - - // and as many as you want the following way: - // 1- write the new class by mimicking eoEASEAQuadCrossover.h - // 2- include that file here together with eoEASEAQuadCrossover above - // 3- uncomment and duplicate the following lines: - // -// eoEASEASecondCrossover cross2(eoParser parser); -// double cross2Rate = parser.createParam(1.0, "cross2Rate", "Relative rate for crossover 2", '2', "Variation Operators").value(); -// cross.add(cross2, cross2Rate); - - // NOTE: if you want some gentle output, the last one shoudl be like - // cross.add(cross, crossXXXRate, true); - - /////////////// Same thing for MUTATION - - // a (first) mutation (possibly use the parser in its Ctor) - EASEAMutation mut /* (eoParser parser) */; - - // IF MORE THAN ONE: - - // read its relative rate in the combination -// double mut1Rate = parser.createParam(1.0, "mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value(); - - // create the combined operator with the first one (rename it cross1 !!!) -// eoPropCombinedMonOp mut(mut1, mut1Rate); - - // and as many as you want the following way: - // 1- write the new class by mimicking eoEASEAMutation.h - // 2- include that file here together with eoEASEAMutation above - // 3- uncomment and duplicate the following lines: - // -// eoEASEASecondMutation mut2(eoParser parser); -// double mut2Rate = parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value(); -// mut.add(mut2, mut2Rate); - - // NOTE: if you want some gentle output, the last one shoudl be like - // mut.add(mut, mutXXXRate, true); - - // now encapsulate your crossover(s) and mutation(s) into an eoGeneralOp - // so you can fully benefit of the existing evolution engines - - // First read the individual level parameters - double pCross = parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" ).value(); - // minimum check - if ( (pCross < 0) || (pCross > 1) ) - throw runtime_error("Invalid pCross"); - - double pMut = parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" ).value(); - // minimum check - if ( (pMut < 0) || (pMut > 1) ) - throw runtime_error("Invalid pMut"); - - // now create the generalOp - eoSGAGenOp op(cross, pCross, mut, pMut); - - - - //// Now the representation-independent things - // - // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT - // unless you want to add specific statistics to the checkpoint - ////////////////////////////////////////////// - - // initialize the population - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - // give popSize to AESAE control - EZ_POP_SIZE = pop.size(); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op); - - ///// End of construction of the algorithm - - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // if you want to print it out -// cout << "Initial Population\n"; -// pop.sortedPrintOn(cout); -// cout << endl; - - run_ea(ga, pop); // run the ga - - cout << "Best individual in final population\n"; - cout << pop.best_element() << endl; - - } - catch(exception& e) - { - cout << e.what() << endl; - } - return 0; -} - -\START_EO_GENOME_H_TPL// -*- mode: c++; c-indent-level: 2; c++-member-init-indent: 8; comment-column: 35; -*- -// -// (The above line is useful in Emacs-like editors) -// -//************************************* -// -// EASEAGenome.h -// -// C++ file generated by AESAE-EO v0.7 -// -//************************************* -// - -#ifndef _EASEAGenome_h -#define _EASEAGenome_h - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - - * Note that you MUST derive your structure from EO - * but you MAY use some other already prepared class in the hierarchy - * like eoVector for instance, if you handle a vector of something.... - - * If you create a structure from scratch, - * the only thing you need to provide are - * a default constructor - * IO routines printOn and readFrom - * - * Note that operator<< and operator>> are defined at EO level - * using these routines - */ -\ANALYSE_USER_CLASSES -\INSERT_USER_CLASSES - -template< class FitT> -class EASEAGenome: public EO { -public: - /** Ctor: you MUST provide a default ctor. - * though such individuals will generally be processed - * by some eoInit object - */ - EASEAGenome() : EO() - { - // START Code of default Ctor of an EASEAGenome object -\GENOME_CTOR - // END Code of default Ctor of an EASEAGenome object - } - - EASEAGenome(const EASEAGenome & arg) : EO() - { -\GENOME_CTOR - copy(arg); - } - - virtual ~EASEAGenome() - { - // START Code of Destructor of an EASEAGenome object - \GENOME_DTOR - // END Code of Destructor of an EASEAGenome object - } - - virtual string className() const { return "EASEAGenome"; } - - EASEAGenome& operator=(const EASEAGenome & arg) { - copy(arg); - return *this; - } - - void copy(const EASEAGenome& genome) - { - if(&genome != this){ - \GENOME_DTOR - \COPY_CTOR - if (genome.invalid()) { // copying an invalid genome - fitness(FitT()); // put a valid value (i.e. non NAN) - invalidate(); // but INVALIDATE the genome - } - else - fitness(genome.fitness()); - } - } - - bool operator==(const EASEAGenome & genome) const { - \EQUAL - return true; - } - - bool operator!=(const EASEAGenome & genome) const { - return !(*this==genome); - } - - /** printing... */ - void printOn(ostream& os) const - { - // First write the fitness - EO::printOn(os); - os << ' '; - // START Code of default output - - /** HINTS - * in EO we systematically write the sizes of things before the things - * so readFrom is easier to code (see below) - */ -\INSERT_DISPLAY -\WRITE - // END Code of default output - } - - /** reading... - * of course, your readFrom must be able to read what printOn writes!!! - */ - void readFrom(istream& is) - { - // of course you should read the fitness first! - EO::readFrom(is); - // START Code of input - - /** HINTS - * remember the EASEAGenome object will come from the default ctor - * this is why having the sizes written out is useful - */ -\READ - // END Code of input - } - - //private: // put all data here - no privacy in EASEA - // START Private data of an EASEAGenome object -\INSERT_GENOME - // END Private data of an EASEAGenome object -}; -#endif - -\START_EO_EVAL_TPL// -*- mode: c++; c-indent-level: 2; c++-member-init-indent: 8; comment-column: 35; -*- -// -// (The above line is useful in Emacs-like editors) -// -//************************************* -// -// EASEAEvalFunc.h -// -// C++ file generated by AESAE-EO v0.7 -// -//************************************* -// - -/* -Evaluator in EO: a functor that computes the fitness of an EO -============================================================= -*/ - -#ifndef _EASEAEvalFunc_h -#define _EASEAEvalFunc_h - -// include whatever general include you need -#include -#include - -// include the base definition of eoEvalFunc -#include "eoEvalFunc.h" - -/** - Always write a comment in this format before class definition - if you want the class to be documented by Doxygen -*/ -template -class EASEAEvalFunc : public eoEvalFunc -{ -public: - /// Ctor - no requirement -// START eventually add or modify the anyVariable argument - EASEAEvalFunc() - // EASEAEvalFunc( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an EASEAEvalFunc object - // END Code of Ctor of an EASEAEvalFunc object - } - - /** Actually compute the fitness - * - * @param EOT & _eo the EO object to evaluate - * it should stay templatized to be usable - * with any fitness type - */ - void operator()(EOT & genome) - { - // test for invalid to avoid recomputing fitness of unmodified individuals - if (genome.invalid()) - { - // START Code of computation of fitness of the EASEA object -\INSERT_EVALUATOR - // END Code of computation of fitness of the EASEA object - } - } - -private: -// START Private data of an EASEAEvalFunc object - // varType anyVariable; // for example ... -// END Private data of an EASEAEvalFunc object -}; - - -#endif - -\START_EO_INITER_TPL// -*- mode: c++; c-indent-level: 2; c++-member-init-indent: 8; comment-column: 35; -*- -// -// (The above line is useful in Emacs-like editors) -// -//************************************* -// -// EASEAInit.h -// -// C++ file generated by AESAE-EO v0.7 -// -//************************************* -// - -/* -objects initialization in EO -============================ -*/ - -#ifndef _EASEAInit_h -#define _EASEAInit_h - -// include the base definition of eoInit -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * There is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO (e.g. to initialize - * atoms of an eoVector you will need an eoInit) - */ -template -class EASEAInit: public eoInit { -public: - /// Ctor - no requirement -// START eventually add or modify the anyVariable argument - EASEAInit() - // EASEAInit( varType & _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an EASEAInit object - // END Code of Ctor of an EASEAInit object - } - - - /** initialize a genotype - * - * @param _genotype generally a genotype that has been default-constructed - * whatever it contains will be lost - */ - void operator()(GenotypeT & _genotype) - { - // START Code of random initialization of an EASEAGenome object -\INSERT_EO_INITIALISER - // END Code of random initialization of an EASEAGenome object - _genotype.invalidate(); // IMPORTANT in case the _genotype is old - } - -private: -// START Private data of an EASEAInit object - // varType & anyVariable; // for example ... -// END Private data of an EASEAInit object -}; - -#endif - - -\START_EO_MUT_TPL// -*- mode: c++; c-indent-level: 2; c++-member-init-indent: 8; comment-column: 35; -*- -// -// (The above line is useful in Emacs-like editors) -// -//************************************* -// -// EASEAMutation.h -// -// C++ file generated by AESAE-EO v0.7 -// -//************************************* -// - -/* -simple mutation operators -========================= -*/ - -#ifndef EASEAMutation_H -#define EASEAMutation_H - - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * THere is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO - */ -template -class EASEAMutation: public eoMonOp -{ -public: - /** - * Ctor - no requirement - */ -// START eventually add or modify the anyVariable argument - EASEAMutation() - // EASEAMutation( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an EASEAMutation object - // END Code of Ctor of an EASEAMutation object - } - - /// The class name. Used to display statistics - string className() const { return "EASEAMutation"; } - - /** - * modifies the parent - * @param _genotype The parent genotype (will be modified) - */ - bool operator()(GenotypeT & _genotype) - { - // START code for mutation of the _genotype object -\INSERT_MUTATOR - // END code for mutation of the _genotype object - -private: -// START Private data of an EASEAMutation object - // varType anyVariable; // for example ... -// END Private data of an EASEAMutation object -}; - -#endif - -\START_EO_QUAD_XOVER_TPL// -*- mode: c++; c-indent-level: 2; c++-member-init-indent: 8; comment-column: 35; -*- -// -// (The above line is useful in Emacs-like editors) -// -//************************************* -// -// EASEAQuadCrossover.h -// -// C++ file generated by AESAE-EO v0.7 -// -//************************************* -// - -/* -Template for simple quadratic crossover operators -================================================= - -Quadratic crossover operators modify both genotypes -*/ - -#ifndef EASEAQuadCrossover_H -#define EASEAQuadCrossover_H - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * THere is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO - */ -template -class EASEAQuadCrossover: public eoQuadOp -{ -public: - /** - * Ctor - no requirement - */ -// START eventually add or modify the anyVariable argument - EASEAQuadCrossover() - // EASEAQuadCrossover( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an EASEAQuadCrossover object - // END Code of Ctor of an EASEAQuadCrossover object - } - - /// The class name. Used to display statistics - string className() const { return "EASEAQuadCrossover"; } - - /** - * eoQuad crossover - modifies both genotypes - */ - bool operator()(GenotypeT& child1, GenotypeT & child2) - { - GenotypeT parent1(child1); - GenotypeT parent2(child2); - - // START code for crossover of child1 and child2 objects -\INSERT_CROSSOVER - return (parent1!=child1)||(parent2!=child2); - // END code for crossover of child1 and child2 objects - } - -private: -// START Private data of an EASEAQuadCrossover object - // varType anyVariable; // for example ... -// END Private data of an EASEAQuadCrossover object -}; - -#endif - -\START_EO_CONTINUE_TPL// -*- mode: c++; c-indent-level: 2; c++-member-init-indent: 8; comment-column: 35; -*- -// -// (The above line is useful in Emacs-like editors) -// -//************************************* -// -// EASEA_make_continue.h -// -// C++ file generated by AESAE-EO v0.7 -// -//************************************* -// - -#ifndef _make_continue_h -#define _make_continue_h - -/* -Contains the templatized version of parser-based choice of stopping criterion -It can then be instantiated, and compiled on its own for a given EOType -(see e.g. in dir ga, ga.cpp) -*/ - -// Continuators - all include eoContinue.h -#include -#include -#include -#include -#include -#ifndef _MSC_VER -#include // CtrlC handling (using 2 global variables!) -#endif - - // also need the parser and param includes -#include -#include - - -/////////////////// the stopping criterion //////////////// -template -eoCombinedContinue * make_combinedContinue(eoCombinedContinue *_combined, eoContinue *_cont) -{ - if (_combined) // already exists - _combined->add(*_cont); - else - _combined = new eoCombinedContinue(*_cont); - return _combined; -} - -template -eoContinue & do_make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval) -{ - //////////// Stopping criterion /////////////////// - // the combined continue - to be filled - eoCombinedContinue *continuator = NULL; - - // for each possible criterion, check if wanted, otherwise do nothing - - // First the eoGenContinue - need a default value so you can run blind - // but we also need to be able to avoid it <--> 0 - eoValueParam& maxGenParam = _parser.createParam(\NB_GEN, "maxGen", "Maximum number of generations () = none)",'G',"Stopping criterion"); - // and give control to EASEA - EZ_NB_GEN = maxGenParam.value(); - pEZ_NB_GEN = & maxGenParam.value(); - - // do not test for positivity in EASEA - // if (maxGenParam.value()) // positive: -> define and store - // { - eoGenContinue *genCont = new eoGenContinue(maxGenParam.value()); - _state.storeFunctor(genCont); - // and "add" to combined - continuator = make_combinedContinue(continuator, genCont); - // } - - // the steadyGen continue - only if user imput - eoValueParam& steadyGenParam = _parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion"); - eoValueParam& minGenParam = _parser.createParam(unsigned(0), "minGen", "Minimum number of generations",'g', "Stopping criterion"); - if (_parser.isItThere(steadyGenParam)) - { - eoSteadyFitContinue *steadyCont = new eoSteadyFitContinue - (minGenParam.value(), steadyGenParam.value()); - // store - _state.storeFunctor(steadyCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, steadyCont); - } - - // Same thing with Eval - but here default value is 0 - eoValueParam& maxEvalParam = _parser.createParam((unsigned long)0, "maxEval", "Maximum number of evaluations (0 = none)",'E',"Stopping criterion"); - - if (maxEvalParam.value()) // positive: -> define and store - { - eoEvalContinue *evalCont = new eoEvalContinue(_eval, maxEvalParam.value()); - _state.storeFunctor(evalCont); - // and "add" to combined - continuator = make_combinedContinue(continuator, evalCont); - } - /* - // the steadyEval continue - only if user imput - eoValueParam& steadyGenParam = _parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion"); - eoValueParam& minGenParam = _parser.createParam(unsigned(0), "minGen", "Minimum number of generations",'g', "Stopping criterion"); - if (_parser.isItThere(steadyGenParam)) - { - eoSteadyGenContinue *steadyCont = new eoSteadyFitContinue - (minGenParam.value(), steadyGenParam.value()); - // store - _state.storeFunctor(steadyCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, steadyCont); - } - */ - // the target fitness - eoFitContinue *fitCont; - eoValueParam& targetFitnessParam = _parser.createParam(double(0.0), "targetFitness", "Stop when fitness reaches",'T', "Stopping criterion"); - if (_parser.isItThere(targetFitnessParam)) - { - fitCont = new eoFitContinue - (targetFitnessParam.value()); - // store - _state.storeFunctor(fitCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, fitCont); - } - -#ifndef _MSC_VER - // the CtrlC interception (Linux only I'm afraid) - eoCtrlCContinue *ctrlCCont; - eoValueParam& ctrlCParam = _parser.createParam(false, "CtrlC", "Terminate current generation upon Ctrl C",'C', "Stopping criterion"); - if (_parser.isItThere(ctrlCParam)) - { - ctrlCCont = new eoCtrlCContinue; - // store - _state.storeFunctor(ctrlCCont); - // add to combinedContinue - continuator = make_combinedContinue(continuator, ctrlCCont); - } -#endif - - // now check that there is at least one! - if (!continuator) - throw runtime_error("You MUST provide a stopping criterion"); - // OK, it's there: store in the eoState - _state.storeFunctor(continuator); - - // and return - return *continuator; -} - -#endif - -\START_EO_PARAM_TPL#************************************* -# -# EASEA.prm -# -# Parameter file generated by AESAE-EO v0.7 -# -#************************************* -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unknown param entered ---seed=0 # -S : Random number seed - -###### Evolution Engine ###### ---popSize=\POP_SIZE # -P : Population Size ---selection=\SELECTOR\SELECT_PRM # -S : Selection: Roulette, Ranking(p,e), DetTour(T), StochTour(t) or Sequential(ordered/unordered) ---nbOffspring=\OFF_SIZE # -O : Nb of offspring (percentage or absolute) ---replacement=General # Type of replacement: Generational, ESComma, ESPlus, SSGA(T), EP(T) - -###### Evolution Engine / Replacement ###### ---elite=\ELITE_SIZE # Nb of elite parents (percentage or absolute) ---eliteType=\ELITISM # Strong (true) or weak (false) elitism (set elite to 0 for none) ---surviveParents=\SURV_PAR_SIZE # Nb of surviving parents (percentage or absolute) ---reduceParents=\RED_PAR\RED_PAR_PRM # Parents reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform ---surviveOffspring=\SURV_OFF_SIZE # Nb of surviving offspring (percentage or absolute) ---reduceOffspring=\RED_OFF\RED_OFF_PRM # Offspring reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform ---reduceFinal=\RED_FINAL\RED_FINAL_PRM # Final reducer: Deterministic, EP(T), DetTour(T), StochTour(t), Uniform - -###### Output ###### -# --useEval=1 # Use nb of eval. as counter (vs nb of gen.) -# --useTime=1 # Display time (s) every generation -# --printBestStat=1 # Print Best/avg/stdev every gen. -# --printPop=0 # Print sorted pop. every gen. - -###### Output - Disk ###### -# --resDir=Res # Directory to store DISK outputs -# --eraseDir=1 # erase files in dirName if any -# --fileBestStat=0 # Output bes/avg/std to file - -###### Output - Graphical ###### -# --plotBestStat=0 # Plot Best/avg Stat -# --plotHisto=0 # Plot histogram of fitnesses - -###### Persistence ###### -# --Load= # -L : A save file to restart from -# --recomputeFitness=0 # -r : Recompute the fitness after re-loading the pop.? -# --saveFrequency=0 # Save every F generation (0 = only final state, absent = never) -# --saveTimeInterval=0 # Save every T seconds (0 or absent = never) -# --status=OneMaxGenomeEA.status # Status file - -###### Stopping criterion ###### -# --maxGen=100 # -G : Maximum number of generations () = none) -# --steadyGen=100 # -s : Number of generations with no improvement -# --minGen=0 # -g : Minimum number of generations -# --maxEval=0 # -E : Maximum number of evaluations (0 = none) -# --targetFitness=0 # -T : Stop when fitness reaches -# --CtrlC=0 # -C : Terminate current generation upon Ctrl C - -###### Variation Operators ###### -# --cross1Rate=1 # -1 : Relative rate for crossover 1 -# --mut1Rate=1 # -1 : Relative rate for mutation 1 ---pCross=\XOVER_PROB # -C : Probability of Crossover ---pMut=\MUT_PROB # -M : Probability of Mutation - -\START_EO_MAKEFILE_TPL#************************************* -# -# EASEA.mak -# -# Makefile generated by AESAE-EO v0.7 -# -#************************************* - -# sample makefile for building an EA evolving a new genotype - -DIR_EO = \EO_DIR - -.cpp: ; c++ -DPACKAGE=\"eo\" -I. -I$(DIR_EO)/src -Wall -g -o $@ $*.cpp $(DIR_EO)/src/libeo.a $(DIR_EO)/src/utils/libeoutils.a - -.cpp.o: ; c++ -DPACKAGE=\"eo\" -I. -I\EO_DIR/src -Wall -g -c $*.cpp - -LIB_EO = $(DIR_EO)/src/utils/libeoutils.a $(DIR_EO)/src/libeo.a - -SOURCES = EASEA.cpp \ - EASEAEvalFunc.h \ - EASEAGenome.h \ - EASEAInit.h \ - EASEAMutation.h \ - EASEAQuadCrossover.h \ - $(LIB_EO) - -ALL = EASEA - -EASEA : $(SOURCES) - c++ -g -I. -I$(DIR_EO)/src -o $@ EASEA.cpp $(LIB_EO) -lm - -all : $(ALL) - -clean : ; /bin/rm *.o $(ALL) - -\TEMPLATE_END diff --git a/trunk/paradiseo-eo/tutorial/Templates/MakeSimple.tmpl b/trunk/paradiseo-eo/tutorial/Templates/MakeSimple.tmpl deleted file mode 100644 index 85ddd69d6..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/MakeSimple.tmpl +++ /dev/null @@ -1,28 +0,0 @@ -# sample makefile for building an EA evolving a new genotype - -# START eventually modify the name of EO dir -DIR_EO = ../../src -# END eventually modify the name of EO dir -LIB_EO = $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -.cpp: ; c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -Wno-deprecated -g -o $@ $*.cpp $(LIB_EO) - -.cpp.o: ; c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -Wno-deprecated -g -c $*.cpp - -# local sources -SOURCES = MyStructEA.cpp \ - eoMyStruct.h \ - eoMyStructEvalFunc.h \ - eoMyStructInit.h \ - eoMyStructMutation.h \ - eoMyStructQuadCrossover.h - -MyStructEA : MyStructEA.cpp - c++ -I. -I$(DIR_EO) -Wno-deprecated -g -o $@ MyStructEA.cpp $(LIB_EO) -lm - -tar : ; tar czvf MyStruct.tgz *.h *.cpp Makefile - -clean : ; /bin/rm *.o MyStructEA - -########## local dependencies -MyStructEA : $(SOURCES) diff --git a/trunk/paradiseo-eo/tutorial/Templates/Makefile.tmpl b/trunk/paradiseo-eo/tutorial/Templates/Makefile.tmpl deleted file mode 100644 index 722a78dcc..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/Makefile.tmpl +++ /dev/null @@ -1,48 +0,0 @@ -# sample makefile for building an EA evolving a new genotype - -# START eventually modify the name of EO dir -DIR_EO = ../../src -# END eventually modify the name of EO dir - -# eo libs -LIB_EO = $(DIR_EO)/utils/libeoutils.a $(DIR_EO)/libeo.a - -# implicit compile rules -.SUFFIXES: .cpp -.cpp: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -o $@ $*.cpp $(LIB_EO) - -.cpp.o: ; $(CXX) -DPACKAGE=\"eo\" -DVERSION=\"0.9.3\" -I. -I$(DIR_EO) -Wall -g -c $*.cpp - -# local sources -COMMON_SOURCES = eoMyStruct.h \ - eoMyStructEvalFunc.h \ - eoMyStructInit.h \ - eoMyStructMutation.h \ - eoMyStructQuadCrossover.h \ - make_genotype_MyStruct.h \ - make_op_MyStruct.h - -NO_LIB_SOURCES = MyStructEA.cpp - -LIB_SOURCES = MyStructLibEA.cpp make_MyStruct.cpp - -SOURCES = $(COMMON_SOURCES) MyStructEA.cpp MyStructLibEA.cpp make_MyStruct.cpp - -ALL = MyStructEA MyStructLibEA - -MyStructEA : MyStructEA.cpp - $(CXX) -I. -I$(DIR_EO) -g -o $@ MyStructEA.cpp $(LIB_EO) -lm - -MyStructLibEA : MyStructLibEA.o make_MyStruct.o - $(CXX) -g -o $@ MyStructLibEA.o make_MyStruct.o $(LIB_EO) -lm - -tar : ; tar czvf MyStruct.tgz *.h *.cpp Makefile - -all : $(ALL) - -clean : ; /bin/rm *.o $(ALL) - -########## local dependencies -MyStructEA.cpp : $(COMMON_SOURCES) -MyStructLibEA.o : $(COMMON_SOURCES) MyStructLibEA.cpp -make_MyStruct.o : make_MyStruct.cpp eoMyStruct.h diff --git a/trunk/paradiseo-eo/tutorial/Templates/MyStructEA.cpp b/trunk/paradiseo-eo/tutorial/Templates/MyStructEA.cpp deleted file mode 100644 index 6b904a189..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/MyStructEA.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ - -This is the template main file. -It includes all other files that have been generated by the script create.sh -so it is the only file to compile. - -In case you want to build up a separate library for your new Evolving Object, -you'll need some work - follow what's done in the src/ga dir, used in the -main file BitEA in tutorial/Lesson4 dir. -Or you can wait until we do it :-) -*/ - -// Miscilaneous include and declaration -#include -using namespace std; - -// eo general include -#include "eo" -// the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" - -// include here whatever specific files for your representation -// Basically, this should include at least the following - -/** definition of representation: - * class eoMyStruct MUST derive from EO for some fitness - */ -#include "eoMyStruct.h" - -/** definition of initilizqtion: - * class eoMyStructInit MUST derive from eoInit - */ -#include "eoMyStructInit.h" - -/** definition of evaluation: - * class eoMyStructEvalFunc MUST derive from eoEvalFunc - * and should test for validity before doing any computation - * see tutorial/Templates/evalFunc.tmpl - */ -#include "eoMyStructEvalFunc.h" - -// GENOTYPE eoMyStruct ***MUST*** be templatized over the fitness - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// START fitness type: double or eoMaximizingFitness if you are maximizing -// eoMinimizingFitness if you are minimizing -typedef eoMinimizingFitness MyFitT ; // type of fitness -// END fitness type -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -// Then define your EO objects using that fitness type -typedef eoMyStruct Indi; // ***MUST*** derive from EO - -// create an initializer -#include "make_genotype_MyStruct.h" -eoInit & make_genotype(eoParser& _parser, eoState&_state, Indi _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - -// and the variation operaotrs -#include "make_op_MyStruct.h" -eoGenOp& make_op(eoParser& _parser, eoState& _state, eoInit& _init) -{ - return do_make_op(_parser, _state, _init); -} - -// Use existing modules to define representation independent routines -// These are parser-based definitions of objects - -// how to initialize the population -// it IS representation independent if an eoInit is given -#include -eoPop& make_pop(eoParser& _parser, eoState& _state, eoInit & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -// the stopping criterion -#include -eoContinue& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -// outputs (stats, population dumps, ...) -#include -eoCheckPoint& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -// evolution engine (selection and replacement) -#include -eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -// simple call to the algo. stays there for consistency reasons -// no template for that one -#include -// the instanciating fitnesses -#include -void run_ea(eoAlgo& _ga, eoPop& _pop) -{ - do_run(_ga, _pop); -} - -// checks for help demand, and writes the status file -// and make_help; in libutils -void make_help(eoParser & _parser); - -// now use all of the above, + representation dependent things -int main(int argc, char* argv[]) -{ - - try - { - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - // The fitness - ////////////// - eoMyStructEvalFunc plainEval/* (varType _anyVariable) */; - // turn that object into an evaluation counter - eoEvalFuncCounter eval(plainEval); - - // the genotype - through a genotype initializer - eoInit& init = make_genotype(parser, state, Indi()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(parser, state, init); - - - //// Now the representation-independent things - // - // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT - // unless you want to add specific statistics to the checkpoint - ////////////////////////////////////////////// - - // initialize the population - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op); - - ///// End of construction of the algorithm - - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // if you want to print it out -// cout << "Initial Population\n"; -// pop.sortedPrintOn(cout); -// cout << endl; - - run_ea(ga, pop); // run the ga - - cout << "Final Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - } - catch(exception& e) - { - cout << e.what() << endl; - } - return 0; -} diff --git a/trunk/paradiseo-eo/tutorial/Templates/MyStructLibEA.cpp b/trunk/paradiseo-eo/tutorial/Templates/MyStructLibEA.cpp deleted file mode 100644 index 24fed341d..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/MyStructLibEA.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ - -This is the template main file for compiling after creating a -"library", i.e. putting everything but the fitness in a separate file -(make_MyStruct.cpp) and compiling it once and for all. -*/ - -// Miscilaneous include and declaration -#include -using namespace std; - -// eo general include -#include "eo" -// the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" - -// include here whatever specific files for your representation -// Basically, this should include at least the following - -/** definition of representation: - * class eoMyStruct MUST derive from EO for some fitness - */ -#include "eoMyStruct.h" - -/** definition of initilizqtion: - * class eoMyStructInit MUST derive from eoInit - */ -#include "eoMyStructInit.h" - -/** definition of evaluation: - * class eoMyStructEvalFunc MUST derive from eoEvalFunc - * and should test for validity before doing any computation - * see tutorial/Templates/evalFunc.tmpl - */ -#include "eoMyStructEvalFunc.h" - -// GENOTYPE eoMyStruct ***MUST*** be templatized over the fitness - -// -// START fitness type: double or eoMaximizingFitness if you are maximizing -// eoMinimizingFitness if you are minimizing -typedef eoMinimizingFitness MyFitT ; // type of fitness -// END fitness type -// - -// Then define your EO objects using that fitness type -typedef eoMyStruct Indi; // ***MUST*** derive from EO - -// create an initializer - done here and NOT in make_MyStruct.cpp -// because it is NOT representation independent -#include "make_genotype_MyStruct.h" -eoInit & make_genotype(eoParser& _parser, eoState&_state, Indi _eo) -{ - return do_make_genotype(_parser, _state, _eo); -} - -// same thing for the variation operaotrs -#include "make_op_MyStruct.h" -eoGenOp& make_op(eoParser& _parser, eoState& _state, eoInit& _init) -{ - return do_make_op(_parser, _state, _init); -} - -// The representation independent routines are simply declared here - -// how to initialize the population -// it IS representation independent if an eoInit is given -eoPop& make_pop(eoParser& _parser, eoState& _state, eoInit & _init); - -// the stopping criterion -eoContinue& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval); - -// outputs (stats, population dumps, ...) -eoCheckPoint& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue); - -// evolution engine (selection and replacement) -eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op); - -// simple call to the algo. stays there for consistency reasons -// no template for that one -void run_ea(eoAlgo& _ga, eoPop& _pop); - -// checks for help demand, and writes the status file -// and make_help; in libutils - just a declaration, code in libeoutils.a -void make_help(eoParser & _parser); - -// now use all of the above, + representation dependent things -// from here on, no difference with eoMyStruct.cpp -int main(int argc, char* argv[]) -{ - - try - { - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - // The fitness - ////////////// - eoMyStructEvalFunc plainEval/* (varType _anyVariable) */; - // turn that object into an evaluation counter - eoEvalFuncCounter eval(plainEval); - - // the genotype - through a genotype initializer - eoInit& init = make_genotype(parser, state, Indi()); - - // Build the variation operator (any seq/prop construct) - eoGenOp& op = make_op(parser, state, init); - - - //// Now the representation-independent things - // - // YOU SHOULD NOT NEED TO MODIFY ANYTHING BEYOND THIS POINT - // unless you want to add specific statistics to the checkpoint - ////////////////////////////////////////////// - - // initialize the population - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op); - - ///// End of construction of the algorithm - - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // if you want to print it out - cout << "Initial Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - run_ea(ga, pop); // run the ga - - cout << "Final Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - } - catch(exception& e) - { - cout << e.what() << endl; - } - return 0; -} diff --git a/trunk/paradiseo-eo/tutorial/Templates/MyStructSEA.cpp b/trunk/paradiseo-eo/tutorial/Templates/MyStructSEA.cpp deleted file mode 100644 index 0f18519a3..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/MyStructSEA.cpp +++ /dev/null @@ -1,350 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ - -This is the template main file. -It includes all other files that have been generated by the script create.sh -so it is the only file to compile. - -In case you want to build up a separate library for your new Evolving Object, -you'll need some work - follow what's done in the src/ga dir, used in the -main file BitEA in tutorial/Lesson4 dir. -Or you can wait until we do it :-) -*/ - -// Miscilaneous include and declaration -#include -using namespace std; - -// eo general include -#include "eo" -// the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" - -// include here whatever specific files for your representation -// Basically, this should include at least the following - -/** definition of representation: - * class eoMyStruct MUST derive from EO for some fitness - */ -#include "eoMyStruct.h" - -/** definition of initilizqtion: - * class eoMyStructInit MUST derive from eoInit - */ -#include "eoMyStructInit.h" - -/** definition of evaluation: - * class eoMyStructEvalFunc MUST derive from eoEvalFunc - * and should test for validity before doing any computation - * see tutorial/Templates/evalFunc.tmpl - */ -#include "eoMyStructEvalFunc.h" - -/** definitions of operators: write as many classes as types of operators - * and include them here. In this simple example, - * one crossover (2->2) and one mutation (1->1) operators are used - */ -#include "eoMyStructQuadCrossover.h" -#include "eoMyStructMutation.h" - -/* and (possibly) your personal statistics */ -#include "eoMyStructStat.h" - -// GENOTYPE eoMyStruct ***MUST*** be templatized over the fitness - -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -// START fitness type: double or eoMaximizingFitness if you are maximizing -// eoMinimizingFitness if you are minimizing -typedef eoMinimizingFitness MyFitT ; // type of fitness -// END fitness type -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -// Then define your EO objects using that fitness type -typedef eoMyStruct Indi; // ***MUST*** derive from EO - - -// Use existing modules to define representation independent routines - -// how to initialize the population -// it IS representation independent if an eoInit is given -#include -eoPop& make_pop(eoParser& _parser, eoState& _state, eoInit & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -// the stopping criterion -#include -eoContinue& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -// outputs (stats, population dumps, ...) -#include -eoCheckPoint& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter& _eval, eoContinue& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -// evolution engine (selection and replacement) -#include -eoAlgo& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc& _eval, eoContinue& _continue, eoGenOp& _op, eoDistance *_dist = NULL) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op, _dist); -} - -// simple call to the algo. stays there for consistency reasons -// no template for that one -#include -// the instanciating fitnesses -#include -void run_ea(eoAlgo& _ga, eoPop& _pop) -{ - do_run(_ga, _pop); -} - -// checks for help demand, and writes the status file -// and make_help; in libutils -void make_help(eoParser & _parser); - -// now use all of the above, + representation dependent things -int main(int argc, char* argv[]) -{ -try - { - eoParser parser(argc, argv); // for user-parameter reading - - eoState state; // keeps all things allocated - - // The fitness - ////////////// - eoMyStructEvalFunc plainEval/* (varType _anyVariable) */; - // turn that object into an evaluation counter - eoEvalFuncCounter eval(plainEval); - - // a genotype initializer - eoMyStructInit init; - // or, if you need some parameters, you might as well - // - write a constructor of the eoMyStructInit that uses a parser - // - call it from here: - // eoMyStructInit init(parser); - - // if you want to do sharing, you'll need a distance. - // see file utils/eoDistance.h - // - // IF you representation has an operator[]() double-castable, - // then you can use for instance the quadratic distance (L2 norm) - // eoQuadDistance dist; - // or the Hamming distance (L1 norm) - // eoHammingDistance dist; - - - // Build the variation operator (any seq/prop construct) - // here, a simple example with only 1 crossover (2->2, a QuadOp) and - // one mutation, is given. - // Hints to have choice among multiple crossovers and mutations are given - - // A (first) crossover (possibly use the parser in its Ctor) - eoMyStructQuadCrossover cross /* (eoParser parser) */; - - // IF MORE THAN ONE: - - // read its relative rate in the combination -// double cross1Rate = parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", '1', "Variation Operators").value(); - - // create the combined operator with the first one (rename it cross1 !!!) -// eoPropCombinedQuadOp cross(cross1, cross1Rate); - - // and as many as you want the following way: - // 1- write the new class by mimicking eoMyStructQuadCrossover.h - // 2- include that file here together with eoMyStructQuadCrossover above - // 3- uncomment and duplicate the following lines: - // -// eoMyStructSecondCrossover cross2(eoParser parser); -// double cross2Rate = parser.createParam(1.0, "cross2Rate", "Relative rate for crossover 2", '2', "Variation Operators").value(); -// cross.add(cross2, cross2Rate); - - // NOTE: if you want some gentle output, the last one shoudl be like - // cross.add(cross, crossXXXRate, true); - - /////////////// Same thing for MUTATION - - // a (first) mutation (possibly use the parser in its Ctor) - eoMyStructMutation mut /* (parser) */; - - // IF MORE THAN ONE: - - // read its relative rate in the combination -// double mut1Rate = parser.createParam(1.0, "mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value(); - - // create the combined operator with the first one (rename it cross1 !!!) -// eoPropCombinedMonOp mut(mut1, mut1Rate); - - // and as many as you want the following way: - // 1- write the new class by mimicking eoMyStructMutation.h - // 2- include that file here together with eoMyStructMutation above - // 3- uncomment and duplicate the following lines: - // -// eoMyStructSecondMutation mut2(eoParser parser); -// double mut2Rate = parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value(); -// mut.add(mut2, mut2Rate); - - // NOTE: if you want some gentle output, the last one shoudl be like - // mut.add(mut, mutXXXRate, true); - - // now encapsulate your crossover(s) and mutation(s) into an eoGeneralOp - // so you can fully benefit of the existing evolution engines - - // First read the individual level parameters - double pCross = parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" ).value(); - // minimum check - if ( (pCross < 0) || (pCross > 1) ) - throw runtime_error("Invalid pCross"); - - double pMut = parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" ).value(); - // minimum check - if ( (pMut < 0) || (pMut > 1) ) - throw runtime_error("Invalid pMut"); - - // now create the generalOp - eoSGAGenOp op(cross, pCross, mut, pMut); - - - //// Now some representation-independent things - // - // You do not need to modify anything beyond this point - // unless you want to add specific statistics to the checkpoint - // in which case you should uncomment the corresponding block - // and possibly modify the parameters in the stat object creation - ////////////////////////////////////////////// - - // initialize the population - // yes, this is representation indepedent once you have an eoInit - eoPop& pop = make_pop(parser, state, init); - - // stopping criteria - eoContinue & term = make_continue(parser, state, eval); - // output - eoCheckPoint & checkpoint = make_checkpoint(parser, state, eval, term); - - - // UNCOMMENT the following commented block if you want to add you stats - - // if uncommented, it is assumed that you will want to print some stat. - // if not, then the following objects will be created uselessly - but what the heck! - - eoMyStructStat myStat; // or maybe myStat(parser); - checkpoint.add(myStat); - // This one is probably redundant with the one in make_checkpoint, but w.t.h. - eoIncrementorParam generationCounter("Gen."); - checkpoint.add(generationCounter); - // need to get the name of the redDir param (if any) - std::string dirName = parser.getORcreateParam(std::string("Res"), "resDir", "Directory to store DISK outputs", '\0', "Output - Disk").value() + "/"; - - - // those need to be pointers because of the if's - eoStdoutMonitor *myStdOutMonitor; - eoFileMonitor *myFileMonitor; -#ifdef HAVE_GNUPLOT - eoGnuplot1DMonitor *myGnuMonitor; -#endif - - // now check how you want to output the stat: - bool printMyStructStat = parser.createParam(false, "coutMyStructStat", "Prints my stat to screen, one line per generation", '\0', "My application").value(); - bool fileMyStructStat = parser.createParam(false, "fileMyStructStat", "Saves my stat to file (in resDir", '\0', "My application").value(); - bool plotMyStructStat = parser.createParam(false, "plotMyStructStat", "On-line plots my stat using gnuplot", '\0', "My application").value(); - - // should we write it on StdOut ? - if (printMyStructStat) - { - myStdOutMonitor = new eoStdoutMonitor(false); - // don't forget to store the memory in the state - state.storeFunctor(myStdOutMonitor); - // and of course to add the monitor to the checkpoint - checkpoint.add(*myStdOutMonitor); - // and the different fields to the monitor - myStdOutMonitor->add(generationCounter); - myStdOutMonitor->add(eval); - myStdOutMonitor->add(myStat); - } - - // first check the directory (and creates it if not exists already): - if (fileMyStructStat || plotMyStructStat) - if (! testDirRes(dirName, true) ) - throw runtime_error("Problem with resDir"); - - // should we write it to a file ? - if (fileMyStructStat) - { - // the file name is hard-coded - of course you can read - // a string parameter in the parser if you prefer - myFileMonitor = new eoFileMonitor(dirName + "myStat.xg"); - // don't forget to store the memory in the state - state.storeFunctor(myFileMonitor); - // and of course to add the monitor to the checkpoint - checkpoint.add(*myFileMonitor); - // and the different fields to the monitor - myFileMonitor->add(generationCounter); - myFileMonitor->add(eval); - myFileMonitor->add(myStat); - } - -#ifdef HAVE_GNUPLOT - // should we PLOT it on StdOut ? (one dot per generation, incremental plot) - if (plotMyStructStat) - { - myGnuMonitor = new eoGnuplot1DMonitor(dirName+"plot_myStat.xg",minimizing_fitness()); - // NOTE: you cand send commands to gnuplot at any time with the method - // myGnuMonitor->gnuplotCommand(string) - // par exemple, gnuplotCommand("set logscale y") - - // don't forget to store the memory in the state - state.storeFunctor(myGnuMonitor); - // and of course to add the monitor to the checkpoint - checkpoint.add(*myGnuMonitor); - // and the different fields to the monitor (X = eval, Y = myStat) - myGnuMonitor->add(eval); - myGnuMonitor->add(myStat); - } -#endif - - // algorithm (need the operator!) - eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op); - // and the distance if you want to do sharing - // eoAlgo& ga = make_algo_scalar(parser, state, eval, checkpoint, op, &dist); - - ///// End of construction of the algorithm - - ///////////////////////////////////////// - // to be called AFTER all parameters have been read!!! - make_help(parser); - - //// GO - /////// - // evaluate intial population AFTER help and status in case it takes time - apply(eval, pop); - // if you want to print it out -// cout << "Initial Population\n"; -// pop.sortedPrintOn(cout); -// cout << endl; - - run_ea(ga, pop); // run the ga - - cout << "Final Population\n"; - pop.sortedPrintOn(cout); - cout << endl; - - } - catch(exception& e) - { - cout << e.what() << endl; - } - return 0; -} diff --git a/trunk/paradiseo-eo/tutorial/Templates/README b/trunk/paradiseo-eo/tutorial/Templates/README deleted file mode 100644 index d0904df8d..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/README +++ /dev/null @@ -1,149 +0,0 @@ -Quick NOTE: This version of README is obsolete (May 25, 2004) -In particular, a simpler version of the algorithm can be generated -using the script - createSimple - -with the same syntax. It is also more powerful, allowing for instance -to create you own statistics on the population, saving it in a file -and/or plotting on on-line during the run (see eoStat.tmpl). -More details some day, when I have some time ... - -============= Old README (most is still accurate, though) ========== - -This directory contains sample files that should make it easy to -create an EO algorithm to evolve any type of structure -(EO comes with two examples, bitstrings and vector of real variables, -so you'll need this as soon as you want to evolve something else). - -At the moment, only algorithms involving a scalar fitness (double) -are implemented (see test dir for Pareto optimization of multiple- -objective fitness - or be patient :-) - -This file will help you to build the same algorithm than the ones -in the Lesson4 of the tutorial, but with YOUR genotype instead of -bitstrings or vector. More details in Lesson5 of the tutorial. - -It is assumed in the following that you have read the first part of -the tutorial (Lessons 1 to 4). - -Creating the algorithm for your genotype ----------------------------------------- -In what follows, we will suppose that you want to evolve some data -structure, and that you have enough programming skills to be able to -write C code for its random initilialization, its crossover, its -mutation and the computation of its fitness. - -The helper script * create.sh * will create for you the files you need -from the samples in tutorial/Templates dir, and all you'll have to do -is to include the actual code where indicated in those files (between -keywords START and END). - -First, let's choose a name: let's call the new EO class eoAppli. -All newly created classes will be named eoAppliXXX (in the file -eoAppliXXX) - -1- cd to the tutorial dir - -2- create the directory for your application (let's assume you call it -APPLICATION): type in - - mkdir APPLICATION - -3- go to the Templates dir - - cd Templates - -and run the helper script create.sh with the following arguments - - ./create.sh Appli ../APPLICATION - -4- cd to the APPLICATION dir (cd ../APPLICATION). -You should see there the following files: - AppliEA.cpp the main file, includes all other, to be compiled - Makefile with default target eoAppliEA - eoAppli.h class eoAppli, FitT = template fitness - eoAppliEvalFunc.h class for the computation of fotness - eoAppliInit.h class for genotype initlialization - eoAppliMutation.h class for mutation - eoAppliQuadCrossover.h class for (quadratic) crossover - make_genotype_Appli.h helper function that create the initializer - make_op_Appli.h helper function that creates the variatin operators - -Note: You can go directly to step 6 and 7: you'll get a lot of -warnings, but will be able to run an EA that does nothing! - -5- Edit those files to suit your needs. The minimal addition you'll need -to make are - in eoAppli.h define your genotype - in eoAppliInit.h define the initialization of one genotype - in eoAppliMutation.h define the mutation of one genotype - in eoAppliQuadCrossover.h define the crossover of 2 genotypes - -HINT: look for keywords START and END and modify code in between. - -6- Compile eoAppliEA.cpp. If your APPLICATION dir is in the tutorial -dir, you don't need to modify Makefile. Just type in - - % make - -7- Run the resulting program: - - % eoAppliEA - -The default output is one line per generation with the generation -number, the number of evaluations performed, the best and average -fitnesses in the population. -The algorithm stops by default after 100 generations. - -8- Customize the parameters: copy eoAppliEA.status into -e.g. eoAppliEA.param, edit eoAppliEA.param (uncomment the lines you -want to become active), and run - - % eoAppliEA @eoAppliEA.param - -(see the Lesson 5 of the tutorial for more details now). - -HINTS ------ - -1- If some new classes you create require some user parameter, you can -either read them in the file where they are created (e.g. -make_op_Appli.h for variation operators), or pass the eoParser to the -constructor of the class, and read the parameter from the parser. - -2- If you stick to privacy for the data in your EO class, you will -probably need to write accessors to those data, as well as some public -methods to modify them, as soon as some other methods need them too. - -3- The sample make_op_Appli.h supposes that you ony have one crossover -and one mutation operator. However, the code for multiple operators is -there: you can have for instance 2 crossover operators, and choose -among them according to relative weights (proportional choice) - same -for mutation. Look at the operator section in eoAppliEA.cpp In -particular, the user parameters cross1Rate and mut1Rate are totally -useless for a single operator. - -To add another operator, you have to create another class by mimicking -what has been done for the first operator. -For instance, let's suppose you want to create another mutation. - -* duplicate the code for eoAppliMutation class -* in the second version, change the class name (eoAppliMutation) into -another name (let's say eoAppliBetterMutation) - you must change the -name in the class declaration, in the constructor and in the -className() method. -* in the new eoAppliBetterMutation class, change the code for the -operator() - and eventually the code for the constructor. -* in the make_op_Appli.h file, in the mutation section, uncomment the -lines - mut = new eoAppliSecondMutation(varType _anyVariable); - _state.storeFunctor(mut); - double mut2Rate = _parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value(); - propMutation.add(*mut, mut2Rate); - -and change the name of the class from eoAppliSecondMutation to your -name eoAppliBetterMutation (you can also change the keyword from -mut2Rate to something more meaningful like BetterMutationRate). -You're done! - -In case of problem: Marc.Schoenauer@inria.fr diff --git a/trunk/paradiseo-eo/tutorial/Templates/binCrossover.tmpl b/trunk/paradiseo-eo/tutorial/Templates/binCrossover.tmpl deleted file mode 100644 index 5adabe688..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/binCrossover.tmpl +++ /dev/null @@ -1,70 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is useful in Emacs-like editors - */ - -/* -Template for simple binary crossover operators -============================================== - -Binary crossover operators modify the first genotype only, -based on the second -*/ - -#ifndef eoMyStructBinCrossover_H -#define eoMyStructBinCrossover_H - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * THere is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO - */ -template -class eoMyStructBinCrossover: public eoBinOp -{ -public: - /** - * Ctor - no requirement - */ -// START eventually add or modify the anyVariable argument - eoMyStructBinCrossover() - // eoMyStructBinCrossover( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoMyStructEvalFunc object - // END Code of Ctor of an eoMyStructEvalFunc object - } - - /// The class name. Used to display statistics - string className() const { return "eoMyStructBinCrossover"; } - - /** - * binCrossover - modifies first genotype only - * @param _genotype1 The first genotype - * @param _genotype2 The second genotype - const - */ - bool operator()(GenotypeT & _genotype1, const GenotypeT & _genotype2) - { - // START code for crossover of _genotype1 and _genotype2 objects - - /** Requirement - * if _genotype1 has been modified - * return true; - * otherwise - * return false; - */ - - // END code for crossover of _genotype1 and _genotype2 objects - } - -private: -// START Private data of an eoMyStructBinCrossover object - // varType anyVariable; // for example ... -// END Private data of an eoMyStructBinCrossover object -}; - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/continue.tmpl b/trunk/paradiseo-eo/tutorial/Templates/continue.tmpl deleted file mode 100644 index 2ec5a7be8..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/continue.tmpl +++ /dev/null @@ -1,65 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for continuator in EO, i.e. stopping conditions for EO algorithms -========================================================================== -*/ - -#ifndef _eoMyStructContinue_h -#define _eoMyStructContinue_h - -// include the base definition of eoContinue -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * ATTENTION, class EOT *must* derive from EO, as operator() will - * be called with an eoPop - */ -template< class EOT> -class eoMyStructContinue: public eoContinue { -public: - /** - * Ctor - no requirement - */ -// START eventually add or modify the anyVariable argument - eoMyStructContinue() - // eoMyStructBinCrossover( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoMyStructEvalFunc object - // END Code of Ctor of an eoMyStructEvalFunc object - } - - - /** Returns false when you want to stop - * - * @param _pop an eoPop - */ - virtual bool operator() ( const eoPop& _pop ) - { - bool stopCondition ; // to store the stopping condition - // START Code of computation of stopping condition - // stopCondition = blablabla - // END Code of computation of stopping condition - if (stopCondition) // the algo will stop upon return FALSE - { - cout << "STOP in eoMyStructContinue \n"; - return false; - } - return true; // == do not stop - } - -private: -// START Private data of an eoMyStructContinue object - // varType anyVariable; // for example ... -// END Private data of an eoMyStructContinue object -}; - -#endif - diff --git a/trunk/paradiseo-eo/tutorial/Templates/create.sh b/trunk/paradiseo-eo/tutorial/Templates/create.sh deleted file mode 100755 index 25aa1bd3d..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/create.sh +++ /dev/null @@ -1,62 +0,0 @@ -#! /bin/tcsh -f -if ($PWD:t != Templates) then - echo You must be in the Template dir to run that script - exit -endif - -if ($#argv < 1) then - echo "Usage $0 ApplicationName [TargetDirName]" - echo " will create ../TargetDirName if necessary" - echo " (default dir name = ApplicationName)," - echo " and will put there all files that are strictly necessary" - echo " to compile and run you Application from there" - exit -endif - -echo " " # we're going to do something - -if ($#argv == 1) then - set TargetDir = ../$1 -else - set TargetDir = ../$2 -endif - -if (! -e $TargetDir) then - mkdir $TargetDir -endif - -if ( (-f $TargetDir/eo$1.h) || (-f $TargetDir/eo$1Init.h) || (-f $TargetDir/eo$1EvalFunc.h) || (-f $TargetDir/eo$1Mutation.h) || (-f $TargetDir/eo$1QuadCrossover.h) || (-f $TargetDir/$1EA.cpp) || (-f $TargetDir/make_genotype_$1.h) || (-f $TargetDir/make_op_$1.h) ) then - echo WARNING: some files already exist there. - echo -n "Overwrite ALL (yes/no)? " - set REP = $< - if ($REP != "yes") then - echo Nothing done! - exit - endif -endif - -if (-f $TargetDir/Makefile) then - echo A Makefile already exists there. - echo I'm creating Makefile.$1. You'll have to merge them both, - echo OR to call make -f Makefile.$1 - set MakeName = Makefile.$1 -else - set MakeName = Makefile -endif - -echo Creating source files for application $1 in $TargetDir/ - -sed s/MyStruct/$1/g eoMyStruct.tmpl > $TargetDir/eo$1.h -sed s/MyStruct/$1/g init.tmpl > $TargetDir/eo$1Init.h -sed s/MyStruct/$1/g evalFunc.tmpl > $TargetDir/eo$1EvalFunc.h -sed s/MyStruct/$1/g mutation.tmpl > $TargetDir/eo$1Mutation.h -sed s/MyStruct/$1/g quadCrossover.tmpl > $TargetDir/eo$1QuadCrossover.h -sed s/MyStruct/$1/g MyStructEA.cpp > $TargetDir/$1EA.cpp -sed s/MyStruct/$1/g make_genotype_MyStruct.h > $TargetDir/make_genotype_$1.h -sed s/MyStruct/$1/g make_op_MyStruct.h > $TargetDir/make_op_$1.h -sed s/MyStruct/$1/g make_MyStruct.cpp > $TargetDir/make_$1.cpp -sed s/MyStruct/$1/g MyStructLibEA.cpp > $TargetDir/$1LibEA.cpp -sed s/MyStruct/$1/g Makefile.tmpl > $TargetDir/$MakeName - -echo Done! - diff --git a/trunk/paradiseo-eo/tutorial/Templates/createSimple b/trunk/paradiseo-eo/tutorial/Templates/createSimple deleted file mode 100755 index 9d7184754..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/createSimple +++ /dev/null @@ -1,59 +0,0 @@ -#! /bin/tcsh -f -if ($PWD:t != Templates) then - echo You must be in the Template dir to run that script - exit -endif - -if ($#argv < 1) then - echo "Usage $0 ApplicationName [TargetDirName]" - echo " will create ../TargetDirName if necessary" - echo " (default dir name = ApplicationName)," - echo " and will put there all files that are strictly necessary" - echo " to compile and run you Application from there" - exit -endif - -echo " " # we're going to do something - -if ($#argv == 1) then - set TargetDir = ../$1 -else - set TargetDir = ../$2 -endif - -if (! -e $TargetDir) then - mkdir $TargetDir -endif - -if ( (-f $TargetDir/eo$1.h) || (-f $TargetDir/eo$1Init.h) || (-f $TargetDir/eo$1EvalFunc.h) || (-f $TargetDir/eo$1Mutation.h) || (-f $TargetDir/eo$1QuadCrossover.h) || (-f $TargetDir/$1EA.cpp) || (-f $TargetDir/make_genotype_$1.h) || (-f $TargetDir/make_op_$1.h) ) then - echo WARNING: some files already exist there. - echo -n "Overwrite ALL (yes/no)? " - set REP = $< - if ($REP != "yes") then - echo Nothing done! - exit - endif -endif - -if (-f $TargetDir/Makefile) then - echo A Makefile already exists there. - echo "I'm creating Makefile.$1. You'll have to merge them both," - echo OR to call make -f Makefile.$1 - set MakeName = Makefile.$1 -else - set MakeName = Makefile -endif - -echo Creating source files for application $1 in $TargetDir/ - -sed s/MyStruct/$1/g eoMyStruct.tmpl > $TargetDir/eo$1.h -sed s/MyStruct/$1/g init.tmpl > $TargetDir/eo$1Init.h -sed s/MyStruct/$1/g stat.tmpl > $TargetDir/eo$1Stat.h -sed s/MyStruct/$1/g evalFunc.tmpl > $TargetDir/eo$1EvalFunc.h -sed s/MyStruct/$1/g mutation.tmpl > $TargetDir/eo$1Mutation.h -sed s/MyStruct/$1/g quadCrossover.tmpl > $TargetDir/eo$1QuadCrossover.h -sed s/MyStruct/$1/g MyStructSEA.cpp > $TargetDir/$1EA.cpp -sed s/MyStruct/$1/g MakeSimple.tmpl > $TargetDir/$MakeName - -echo Done! - diff --git a/trunk/paradiseo-eo/tutorial/Templates/eoMyStruct.tmpl b/trunk/paradiseo-eo/tutorial/Templates/eoMyStruct.tmpl deleted file mode 100644 index ddf4e0089..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/eoMyStruct.tmpl +++ /dev/null @@ -1,118 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ - -Mandatory: -- a default constructor (constructor without any argument) -- the I/O functions (readFrom and printOn) - -However, if you are using dynamic memory, there are 2 places -to allocate it: the default constructor (if possible?), or, more in -the EO spirit, the eoInit object, that you will need to write anyway -(template file init.tmpl). - -But remember that a COPY CONSTRUCTOR will be used in many places in EO, -so make sure that the default copy constructor works, or, even better, -do write your own if in doubt. -And of course write the corresponding destructor! - -*/ - -#ifndef _eoMyStruct_h -#define _eoMyStruct_h - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - - * Note that you MUST derive your structure from EO - * but you MAY use some other already prepared class in the hierarchy - * like eoVector for instance, if you handle a vector of something.... - - * If you create a structure from scratch, - * the only thing you need to provide are - * a default constructor - * IO routines printOn and readFrom - * - * Note that operator<< and operator>> are defined at EO level - * using these routines - */ -template< class FitT> -class eoMyStruct: public EO { -public: - /** Ctor: you MUST provide a default ctor. - * though such individuals will generally be processed - * by some eoInit object - */ - eoMyStruct() - { - // START Code of default Ctor of an eoMyStruct object - // END Code of default Ctor of an eoMyStruct object - } - - /** Copy Ctor: you MUST provide a copy ctor if the default - * one is not what you want - * If this is the case, uncomment and fill the following - */ - /* - eoMyStruct(const eoMyStruct &) - { - // START Code of copy Ctor of an eoMyStruct object - // END Code of copy Ctor of an eoMyStruct object - } - */ - - - virtual ~eoMyStruct() - { - // START Code of Destructor of an eoEASEAGenome object - // END Code of Destructor of an eoEASEAGenome object - } - - virtual string className() const { return "eoMyStruct"; } - - /** printing... */ - void printOn(ostream& os) const - { - // First write the fitness - EO::printOn(os); - os << ' '; - // START Code of default output - - /** HINTS - * in EO we systematically write the sizes of things before the things - * so readFrom is easier to code (see below) - */ - - // END Code of default output - } - - /** reading... - * of course, your readFrom must be able to read what printOn writes!!! - */ - void readFrom(istream& is) - { - // of course you should read the fitness first! - EO::readFrom(is); - // START Code of input - - /** HINTS - * remember the eoMyStruct object will come from the default ctor - * this is why having the sizes written out is useful - */ - - // END Code of input - } - -private: // put all data here - // START Private data of an eoMyStruct object - // END Private data of an eoMyStruct object -}; - -#endif - diff --git a/trunk/paradiseo-eo/tutorial/Templates/evalFunc.tmpl b/trunk/paradiseo-eo/tutorial/Templates/evalFunc.tmpl deleted file mode 100644 index b8c9f1ed7..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/evalFunc.tmpl +++ /dev/null @@ -1,65 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for evaluator in EO, a functor that computes the fitness of an EO -========================================================================== -*/ - -#ifndef _eoMyStructEvalFunc_h -#define _eoMyStructEvalFunc_h - -// include whatever general include you need -#include -#include - -// include the base definition of eoEvalFunc -#include "eoEvalFunc.h" - -/** - Always write a comment in this format before class definition - if you want the class to be documented by Doxygen -*/ -template -class eoMyStructEvalFunc : public eoEvalFunc -{ -public: - /// Ctor - no requirement -// START eventually add or modify the anyVariable argument - eoMyStructEvalFunc() - // eoMyStructEvalFunc( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoMyStructEvalFunc object - // END Code of Ctor of an eoMyStructEvalFunc object - } - - /** Actually compute the fitness - * - * @param EOT & _eo the EO object to evaluate - * it should stay templatized to be usable - * with any fitness type - */ - void operator()(EOT & _eo) - { - // test for invalid to avoid recomputing fitness of unmodified individuals - if (_eo.invalid()) - { - double fit; // to hold fitness value - // START Code of computation of fitness of the eoMyStruct object - // fit = blablabla - // END Code of computation of fitness of the eoMyStruct object - _eo.fitness(fit); - } - } - -private: -// START Private data of an eoMyStructEvalFunc object - // varType anyVariable; // for example ... -// END Private data of an eoMyStructEvalFunc object -}; - - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/init.tmpl b/trunk/paradiseo-eo/tutorial/Templates/init.tmpl deleted file mode 100644 index f3c0fbd94..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/init.tmpl +++ /dev/null @@ -1,58 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for EO objects initialization in EO -============================================ -*/ - -#ifndef _eoMyStructInit_h -#define _eoMyStructInit_h - -// include the base definition of eoInit -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * There is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO (e.g. to initialize - * atoms of an eoVector you will need an eoInit) - */ -template -class eoMyStructInit: public eoInit { -public: - /// Ctor - no requirement -// START eventually add or modify the anyVariable argument - eoMyStructInit() - // eoMyStructInit( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoMyStructInit object - // END Code of Ctor of an eoMyStructInit object - } - - - /** initialize a genotype - * - * @param _genotype generally a genotype that has been default-constructed - * whatever it contains will be lost - */ - void operator()(GenotypeT & _genotype) - { - // START Code of random initialization of an eoMyStruct object - // END Code of random initialization of an eoMyStruct object - _genotype.invalidate(); // IMPORTANT in case the _genotype is old - } - -private: -// START Private data of an eoMyStructInit object - // varType anyVariable; // for example ... -// END Private data of an eoMyStructInit object -}; - -#endif - diff --git a/trunk/paradiseo-eo/tutorial/Templates/lessOffspringExternalSelectorGenOp.tmpl b/trunk/paradiseo-eo/tutorial/Templates/lessOffspringExternalSelectorGenOp.tmpl deleted file mode 100644 index 9a0c3c426..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/lessOffspringExternalSelectorGenOp.tmpl +++ /dev/null @@ -1,81 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for general operators -=============================== -i.e. that takes any number of parents and generates any number of offspring - -a GenOp that creates less offspring than there are parents - -Second version, get parents using an external eoSelectOne -*/ - -#ifndef eoLessOffspringExternalSelectorGenOp_H -#define eoLessOffspringExternalSelectorGenOp_H - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * ATTENTION, class EOT *must* derive from EO, as method invalidate() - * must be called if the genotypes of the indis is modified - */ -template -class eoLessOffspringExternalSelectorGenOp: public eoGenOp -{ -public: - /** - * (Default) Constructor. - */ - eoLessOffspringExternalSelectorGenOp(eoSelectOne & _sel, paramType _anyParameter) : - sel(_sel), anyParameter(_anyParameter) {} - - /// The class name. Used to display statistics - string className() const { return "eoLessOffspringExternalSelectorGenOp"; } - - /// The TOTAL number of offspring (here = nb of parents modified in place) - unsigned max_production(void) { return NbLeftParents; } - - /** - * eoShrinkGen operator - modifies some parents in the populator - * using extra "parents" selected from an external selector - * - * @param _pop a POPULATOR (not a simple population) - */ - void apply(eoPopulator& _plop) - { - // First, select as many parents as you will have offspring - EOT& parent1 = *_plop; // select the first parent - ++_plop; // advance once for each selected parents - ... - EOT& parentN = *_plop; // say you want N offspring - - // get extra parents - use private selector - // _plop.source() is the eoPop used by _plop to get parents - // WARNING: you are not allowed to modify them (mandatory "const") - const EOT& parentN+1 = sel(_plop.source()); - ... - const EOT& parentN+K = sel(_plop.source()); - - // modify (in place) the "true" parents - // (i.e. parent1, ..., parentsN) - ... - - // invalidate fitnesses of modified parents - parent1.invalidate(); - ... - parentN.invalidate(); - } - - -private: - eoSelectOne & sel; - paramType anyParameter -}; - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/lessOffspringSameSelectorGenOp.tmpl b/trunk/paradiseo-eo/tutorial/Templates/lessOffspringSameSelectorGenOp.tmpl deleted file mode 100644 index c0790f93c..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/lessOffspringSameSelectorGenOp.tmpl +++ /dev/null @@ -1,76 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for general operators -=============================== -i.e. that takes any number of parents and generates any number of offspring - -a GenOp that creates less offspring than there are parents - -First version, get parents from populator using the imbedded select() method -*/ - -#ifndef eoLessOffspringSameSelectorGenOp_H -#define eoLessOffspringSameSelectorGenOp_H - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * ATTENTION, class EOT *must* derive from EO, as method invalidate() - * must be called if the genotypes of the indis is modified - */ -template -class eoLessOffspringSameSelectorGenOp: public eoGenOp -{ -public: - /** - * (Default) Constructor. - */ - eoLessOffspringSameSelectorGenOp(paramType _anyParameter) : - anyParameter(_anyParameter) {} - - /// The class name. Used to display statistics - string className() const { return "eoLessOffspringSameSelectorGenOp"; } - - /// The TOTAL number of offspring (here = nb of remaining modified parents) - unsigned max_production(void) { return NbLeftParents; } - - /** - * eoLesOffspringSameSelectorGenOp operator - - * gets extra parents from the populator - * - * @param _pop a POPULATOR (not a simple population) - */ - void apply(eoPopulator& _plop) - { - // First, select as many parents as you will have offspring - EOT& parent1 = *_plop; // select the first parent - ++_plop; // advance once for each selected parents - ... - EOT& parentN = *_plop; // say you want N offspring - - // Now select extra parents from the populator - EOT& parentN+1 = _plop.select(); - ... - EOT& parentN+K = _plop.select(); - - // modify the first N parents - ... - - // oh right, and invalidate their fitnesses - parent1.invalidate(); - ... - parentN.invalidate(); - } - -private: - paramType anyParameter -}; - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/make_MyStruct.cpp b/trunk/paradiseo-eo/tutorial/Templates/make_MyStruct.cpp deleted file mode 100644 index fff16f4a6..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/make_MyStruct.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for creating a new representation in EO -================================================ - -This is the template file that allows separate compilation of -everything that is representation independant (evolution engine and -general output) for an Evolutionary Algorithm with scalar fitness. - -It includes of course the definition of the genotype (eoMyStruct.h) and -is written like the make_xxx.cpp files in dirs src/ga (for bitstrings) -and src/es (for real vectors). - -*/ - -// Miscilaneous include and declaration -#include -using namespace std; - -// eo general include -#include "eo" -// the real bounds (not yet in general eo include) -#include "utils/eoRealVectorBounds.h" - -// include here whatever specific files for your representation -// Basically, this should include at least the following - -/** definition of representation: - * class eoMyStruct MUST derive from EO for some fitness - */ -#include "eoMyStruct.h" - -// create an initializer: this is NOT representation-independent -// and will be done in the main file -// However, should you decide to freeze that part, you could use the -// following (and remove it from the main file, of course!!!) -//------------------------------------------------------------------ -// #include "make_genotype_MyStruct.h" -// eoInit> & make_genotype(eoParser& _parser, eoState&_state, eoMyStruct _eo) -// { -// return do_make_genotype(_parser, _state, _eo); -// } - -// eoInit> & make_genotype(eoParser& _parser, eoState&_state, eoMyStruct _eo) -// { -// return do_make_genotype(_parser, _state, _eo); -// } - -// same thing for the variation operaotrs -//--------------------------------------- -// #include "make_op_MyStruct.h" -// eoGenOp>& make_op(eoParser& _parser, eoState& _state, eoInit>& _init) -// { -// return do_make_op(_parser, _state, _init); -// } - -// eoGenOp>& make_op(eoParser& _parser, eoState& _state, eoInit>& _init) -// { -// return do_make_op(_parser, _state, _init); -// } - -// The following modules use ***representation independent*** routines - -// how to initialize the population -// it IS representation independent if an eoInit is given -#include -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit > & _init) -{ - return do_make_pop(_parser, _state, _init); -} - -// the stopping criterion -#include -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval) -{ - return do_make_continue(_parser, _state, _eval); -} - -// outputs (stats, population dumps, ...) -#include -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -eoCheckPoint >& make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue) -{ - return do_make_checkpoint(_parser, _state, _eval, _continue); -} - -// evolution engine (selection and replacement) -#include -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -eoAlgo >& make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _continue, eoGenOp >& _op) -{ - return do_make_algo_scalar(_parser, _state, _eval, _continue, _op); -} - -// simple call to the algo. stays there for consistency reasons -// no template for that one -#include -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - -void run_ea(eoAlgo >& _ga, eoPop >& _pop) -{ - do_run(_ga, _pop); -} - diff --git a/trunk/paradiseo-eo/tutorial/Templates/make_genotype_MyStruct.h b/trunk/paradiseo-eo/tutorial/Templates/make_genotype_MyStruct.h deleted file mode 100644 index 9892583b4..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/make_genotype_MyStruct.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_genotype.h -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_genotype_h -#define _make_genotype_h - -#include -#include - // also need the parser and param includes -#include -#include - - -/* - * This fuction does the create an eoInit - * - * It could be here tempatized only on the fitness, as it can be used - * to evolve structures with any fitness. - * However, for consistency reasons, it was finally chosen, as in - * the rest of EO, to templatize by the full EOT, as this eventually - * allows to choose the type of genotype at run time (see in es dir) - * - * It returns an eoInit that can later be used to initialize - * the population (see make_pop.h). - * - * It uses a parser (to get user parameters) and a state (to store the memory) - * the last argument is to disambiguate the call upon different instanciations. - * - * WARNING: that last argument will generally be the result of calling - * the default ctor of EOT, resulting in most cases in an EOT - * that is ***not properly initialized*** -*/ - -template -eoInit & do_make_genotype(eoParser& _parser, eoState& _state, EOT) -{ - // read any useful parameter here from the parser - // the param itself will belong to the parser (as far as memory is concerned) - - // paramType & param = _parser.createParam(deafultValue, "Keyword", "Comment to appear in help and status", 'c',"Section of status file").value(); - - // Then built the initializer - a pointer, stored in the eoState - eoInit* init = new eoMyStructInit /* ( param ) */ ; - // store in state - _state.storeFunctor(init); - // and return a reference - return *init; -} - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/make_op_MyStruct.h b/trunk/paradiseo-eo/tutorial/Templates/make_op_MyStruct.h deleted file mode 100644 index 8b43d17bb..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/make_op_MyStruct.h +++ /dev/null @@ -1,210 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// make_op_MyStruct.h -// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2001 -/* - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Contact: todos@geneura.ugr.es, http://geneura.ugr.es - Marc.Schoenauer@polytechnique.fr - mkeijzer@dhi.dk - */ -//----------------------------------------------------------------------------- - -#ifndef _make_op_MyStruct_h -#define _make_op_MyStruct_h - -// the operators -#include -#include -#include -#include -// combinations of simple eoOps (eoMonOp and eoQuadOp) -#include - -/** definition of mutation: - * class eoMyStructMonop MUST derive from eoMonOp - */ -#include "eoMyStructMutation.h" - -/** definition of crossover (either as eoBinOp (2->1) or eoQuadOp (2->2): - * class eoMyStructBinCrossover MUST derive from eoBinOp - * OR - * class eoMyStructQuadCrossover MUST derive from eoQuadOp - */ -// #include "eoMyStructBinOp.h" -// OR -#include "eoMyStructQuadCrossover.h" - - // also need the parser and state includes -#include -#include - - -/////////////////// variation operators /////////////// -// canonical (crossover + mutation) only at the moment // - -/* - * This function builds the operators that will be applied to the eoMyStruct - * - * It uses a parser (to get user parameters), a state (to store the memory) - * the last parameter is an eoInit: if some operator needs some info - * about the genotypes, the init has it all (e.g. bounds, ...) - * Simply do - * EOT myEO; - * _init(myEO); - * and myEO is then an ACTUAL object - * - * As usual, the template is the complete EOT even though only the fitness - * is actually templatized here: the following only applies to eoMyStruct -*/ - -template -eoGenOp & do_make_op(eoParameterLoader& _parser, eoState& _state, eoInit& _init) -{ - // this is a temporary version, while Maarten codes the full tree-structured - // general operator input - // BTW we must leave that simple version available somehow, as it is the one - // that 90% people use! - - - ///////////////////////////// - // Variation operators - //////////////////////////// - // read crossover and mutations, combine each in a proportional Op - // and create the eoGenOp that calls crossover at rate pCross - // then mutation with rate pMut - - // the crossovers - ///////////////// - - // here we can have eoQuadOp (2->2) only - no time for the eoBinOp case - - // you can have more than one - combined in a proportional way - - // first, define the crossover objects and read their rates from the parser - - // A first crossover - eoQuadOp *cross = new eoMyStructQuadCrossover /* (varType _anyVariable) */; - // store in the state - _state.storeFunctor(cross); - - // read its relative rate in the combination - double cross1Rate = _parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", '1', "Variation Operators").value(); - - // and create the combined operator with this one - eoPropCombinedQuadOp *propXover = - new eoPropCombinedQuadOp(*cross, cross1Rate); - // and of course stor it in the state - _state.storeFunctor(propXover); - - - // Optional: A second(and third, and ...) crossover - // of course you must create the corresponding classes - // and all ***MUST*** derive from eoQuadOp - - /* Uncomment if necessary - and replicate as many time as you need - cross = new eoMyStructSecondCrossover(varType _anyVariable); - _state.storeFunctor(cross); - double cross2Rate = _parser.createParam(1.0, "cross2Rate", "Relative rate for crossover 2", '2', "Variation Operators").value(); - propXover.add(*cross, cross2Rate); - */ - // if you want some gentle output, the last one shoudl be like - // propXover.add(*cross, crossXXXRate, true); - - - // the mutation: same story - //////////////// - // you can have more than one - combined in a proportional way - - // for each mutation, - // - define the mutator object - // - read its rate from the parser - // - add it to the proportional combination - - // a first mutation - eoMonOp *mut = new eoMyStructMutation/* (varType _anyVariable) */; - _state.storeFunctor(mut); - // its relative rate in the combination - double mut1Rate = _parser.createParam(1.0, "mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value(); - // and the creation of the combined operator with this one - eoPropCombinedMonOp *propMutation = new eoPropCombinedMonOp(*mut, mut1Rate); - _state.storeFunctor(propMutation); - - // Optional: A second(and third, and ...) mutation with their rates - // of course you must create the corresponding classes - // and all ***MUST*** derive from eoMonOp - - /* Uncomment if necessary - and replicate as many time as you need - mut = new eoMyStructSecondMutation(varType _anyVariable); - _state.storeFunctor(mut); - double mut2Rate = _parser.createParam(1.0, "mut2Rate", "Relative rate for mutation 2", '2', "Variation Operators").value(); - propMutation.add(*mut, mut2Rate); - */ - // if you want some gentle output, the last one shoudl be like - // propMutation.add(*mut, mutXXXRate, true); - - // end of crossover and mutation definitions - //////////////////////////////////////////// - -// END Modify definitions of objects by eventually add parameters -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -// from now on, you do not need to modify anything -// though you CAN add things to the checkpointing (see tutorial) - - // now build the eoGenOp: - // to simulate SGA (crossover with proba pCross + mutation with proba pMut - // we must construct - // a sequential combination of - // with proba 1, a proportional combination of - // a QuadCopy and our crossover - // with proba pMut, our mutation - - // but of course you're free to use any smart combination you could think of - // especially, if you have to use eoBinOp rather than eoQuad Op youùll have - // to modify that part - - // First read the individual level parameters - eoValueParam& pCrossParam = _parser.createParam(0.6, "pCross", "Probability of Crossover", 'C', "Variation Operators" ); - // minimum check - if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) ) - throw runtime_error("Invalid pCross"); - - eoValueParam& pMutParam = _parser.createParam(0.1, "pMut", "Probability of Mutation", 'M', "Variation Operators" ); - // minimum check - if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) ) - throw runtime_error("Invalid pMut"); - - - // the crossover - with probability pCross - eoProportionalOp * propOp = new eoProportionalOp ; - _state.storeFunctor(propOp); - eoQuadOp *ptQuad = new eoQuadCloneOp; - _state.storeFunctor(ptQuad); - propOp->add(*propXover, pCrossParam.value()); // crossover, with proba pcross - propOp->add(*ptQuad, 1-pCrossParam.value()); // nothing, with proba 1-pcross - - // now the sequential - eoSequentialOp *op = new eoSequentialOp; - _state.storeFunctor(op); - op->add(*propOp, 1.0); // always do combined crossover - op->add(*propMutation, pMutParam.value()); // then mutation, with proba pmut - - // that's it - return a reference - return *op; -} -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/moreOffspringGenOp.tmpl b/trunk/paradiseo-eo/tutorial/Templates/moreOffspringGenOp.tmpl deleted file mode 100644 index c8644276a..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/moreOffspringGenOp.tmpl +++ /dev/null @@ -1,77 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for general operators -=============================== -i.e. that takes any number of parents and generates any number of offspring - -Here, a GenOp that creates more (or same number of) offspring -than there are parents -*/ - -#ifndef eoMoreOffspringGenOp_H -#define eoMoreOffspringGenOp_H - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * ATTENTION, class EOT *must* derive from EO, as method invalidate() - * must be called if the genotypes of the indis is modified - */ -template -class eoMoreOffspringGenOp: public eoGenOp -{ -public: - /** - * (Default) Constructor. - */ - eoMoreOffspringGenOp(paramType _anyParameter) : - anyParameter(_anyParameter) {} - - /// The class name. Used to display statistics - string className() const { return "eoMoreOffspringGenOp"; } - - /// The TOTAL number of offspring (including modified parents) - unsigned max_production(void) { return NbOffspring; } - - /** - * eoMoreOffspringGenOp operator - eventually modifies the parents - * BUT does generate more offspring - * - * @param _pop a POPULATOR (not a simple population) - */ - void apply(eoPopulator& _plop) - { - EOT& parent1 = *_plop; // select the first parent - ++_plop; // advance once for each selected parents - ... - EOT& parentN = *_plop; // select the last parent - // don't advance after the last one: _plop always - // points to the last that has already been treated - - // apply operator to the parents (modifying them AND generating - // new individuals ofs1, ofs2, ..., ofsN - ++_plop; // advance before each insertion - _plop.insert(ofs1); - ... - ++_plop; // advance before each insertion - _plop.insert(ofsN); - - // oh right, and invalidate fitnesses of modified parents - parent1.invalidate(); - ... - parentN.invalidate(); - } - - -private: - paramType anyParameter -}; - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/mutation.tmpl b/trunk/paradiseo-eo/tutorial/Templates/mutation.tmpl deleted file mode 100644 index befbcea93..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/mutation.tmpl +++ /dev/null @@ -1,68 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is useful in Emacs-like editors - */ - -/* -Template for simple mutation operators -====================================== -*/ - -#ifndef eoMyStructMutation_H -#define eoMyStructMutation_H - - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * THere is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO - */ -template -class eoMyStructMutation: public eoMonOp -{ -public: - /** - * Ctor - no requirement - */ -// START eventually add or modify the anyVariable argument - eoMyStructMutation() - // eoMyStructMutation( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoMyStructEvalFunc object - // END Code of Ctor of an eoMyStructEvalFunc object - } - - /// The class name. Used to display statistics - string className() const { return "eoMyStructMutation"; } - - /** - * modifies the parent - * @param _genotype The parent genotype (will be modified) - */ - bool operator()(GenotypeT & _genotype) - { - bool isModified; - // START code for mutation of the _genotype object - - /** Requirement - * if (_genotype has been modified) - * isModified = true; - * else - * isModified = false; - */ - return isModified; - // END code for mutation of the _genotype object - } - -private: -// START Private data of an eoMyStructMutation object - // varType anyVariable; // for example ... -// END Private data of an eoMyStructMutation object -}; - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/quadCrossover.tmpl b/trunk/paradiseo-eo/tutorial/Templates/quadCrossover.tmpl deleted file mode 100644 index c3b92ca55..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/quadCrossover.tmpl +++ /dev/null @@ -1,71 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for simple quadratic crossover operators -================================================= - -Quadratic crossover operators modify the both genotypes -*/ - -#ifndef eoMyStructQuadCrossover_H -#define eoMyStructQuadCrossover_H - -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * THere is NO ASSUMPTION on the class GenoypeT. - * In particular, it does not need to derive from EO - */ -template -class eoMyStructQuadCrossover: public eoQuadOp -{ -public: - /** - * Ctor - no requirement - */ -// START eventually add or modify the anyVariable argument - eoMyStructQuadCrossover() - // eoMyStructQuadCrossover( varType _anyVariable) : anyVariable(_anyVariable) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoMyStructEvalFunc object - // END Code of Ctor of an eoMyStructEvalFunc object - } - - /// The class name. Used to display statistics - string className() const { return "eoMyStructQuadCrossover"; } - - /** - * eoQuad crossover - _genotype1 and _genotype2 are the (future) - * offspring, i.e. _copies_ of the parents, to be modified - * @param _genotype1 The first parent - * @param _genotype2 The second parent - */ - bool operator()(GenotypeT& _genotype1, GenotypeT & _genotype2) - { - bool oneAtLeastIsModified; - // START code for crossover of _genotype1 and _genotype2 objects - - /** Requirement - * if (at least one genotype has been modified) // no way to distinguish - * oneAtLeastIsModified = true; - * else - * oneAtLeastIsModified = false; - */ - return oneAtLeastIsModified; - // END code for crossover of _genotype1 and _genotype2 objects - } - -private: -// START Private data of an eoMyStructQuadCrossover object - // varType anyVariable; // for example ... -// END Private data of an eoMyStructQuadCrossover object -}; - -#endif diff --git a/trunk/paradiseo-eo/tutorial/Templates/stat.tmpl b/trunk/paradiseo-eo/tutorial/Templates/stat.tmpl deleted file mode 100644 index 792c05730..000000000 --- a/trunk/paradiseo-eo/tutorial/Templates/stat.tmpl +++ /dev/null @@ -1,64 +0,0 @@ -/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -The above line is usefulin Emacs-like editors - */ - -/* -Template for computing statistics on eoPop -============================================ -*/ - -#ifndef _eoMyStructStat_h -#define _eoMyStructStat_h - -// include the base definition of eoInit -#include - -/** - * Always write a comment in this format before class definition - * if you want the class to be documented by Doxygen - * - * ASSUMPTION on the class GenoypeT: - * it needs to derive from EO (i.e. has a Fitness). - * - * It is assumed that you want to compute a double. - * In case you want something else, then your stat should derive from - * eoStat - * where class T is the class of the computed statistics - */ -template -class eoMyStructStat : public eoStat -{ -public : - typedef typename EOT::Fitness Fitness; - -// START eventually add or modify the anyVariable argument - /** Ctor - you change the default name of course. - * @param - * _description : inherited from eoValueParam (eoStat is an from eoVapueParam) - */ - eoMyStructStat(std::string _description = "eoMyStructStat ") : - eoStat(0.0, _description) -// END eventually add or modify the anyVariable argument - { - // START Code of Ctor of an eoMonReelStat object - // END Code of Ctor of an eoMonReelStat object - } - - void operator()(const eoPop& _pop){ - double tmpStat; - // START Code for computing the statistics - in tmpStat - // tmpStat = blablabla - // END Code for computing the statistics - eoStat::value() = tmpStat; // store the stat in the eoParam value() field - } - - virtual std::string className(void) const { return "eoMyStructStat"; } -private : -// START Private data of an eoMyStructStat object - // varType anyVariable; // for example ... -// END Private data of an eoMyStructStat object -}; - -#endif - diff --git a/trunk/paradiseo-eo/tutorial/examples/CVS/Entries b/trunk/paradiseo-eo/tutorial/examples/CVS/Entries deleted file mode 100644 index 178481050..000000000 --- a/trunk/paradiseo-eo/tutorial/examples/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D diff --git a/trunk/paradiseo-eo/tutorial/examples/CVS/Repository b/trunk/paradiseo-eo/tutorial/examples/CVS/Repository deleted file mode 100644 index ca9657d23..000000000 --- a/trunk/paradiseo-eo/tutorial/examples/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/examples diff --git a/trunk/paradiseo-eo/tutorial/examples/CVS/Root b/trunk/paradiseo-eo/tutorial/examples/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/examples/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/html/BitEA.html b/trunk/paradiseo-eo/tutorial/html/BitEA.html deleted file mode 100644 index 7d75bec5b..000000000 --- a/trunk/paradiseo-eo/tutorial/html/BitEA.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - BitEA.cpp - - -Back to Lesson 4 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-BitEA.cpp

-Click on the figure to see the corresponding code.
-In the code, the colors are meaningfull
-The actual code is in boldface and the comment in normal face. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - -
-#include <iostream>
-#include <ga/make_ga.h>
-#include <apply.h>
-
-
- - - - -
- -#include "binary_value.h"
-
-
- - - - -
- -using namespace std;
-int main(int argc, char* argv[])
-{
-  try
-  {
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// define your genotype and fitness types
-  typedef eoBit<double> EOT;
-
-
- - - - -
- -  eoParser parser(argc, argv);  // for user-parameter reading
-
-
- - - - -
- -  eoState state;      // keeps all things allocated
-  ///// FIRST, problem or representation dependent stuff
-  //////////////////////////////////////////////////////
-
-
- - - - -
- -  // The evaluation fn - encapsulated into an eval counter for output
-  eoEvalFuncPtr<EOT, float> mainEval( binary_value<EOT> );
-  eoEvalFuncCounter<EOT> eval(mainEval);
-
-
- - - - -
- -  // the genotype - through a genotype initializer
-  eoInit<EOT>& init = make_genotype(parser, state, EOT());
-
-
- - - - -
- -  // Build the variation operator (any seq/prop construct)
-  eoGenOp<EOT>& op = make_op(parser, state, init);
-
-
- - - - -
- -  //// Now the representation-independent things
-  //////////////////////////////////////////////
-  // initialize the population - and evaluate
-  // yes, this is representation indepedent once you have an eoInit
-  eoPop<EOT>& pop    = make_pop(parser, state, init);
-
-
- - - - -
- -  // stopping criteria
-  eoContinue<EOT> & term = make_continue(parser, state, eval);
-  // output
-  eoCheckPoint<EOT> & checkpoint = make_checkpoint(parser, state, eval, term);
-
-
- - - - -
- -  // algorithm (need the operator!)
-  eoAlgo<EOT>& ga = make_algo_scalar(parser, state, eval, checkpoint, op);
-  ///// End of construction of the algorith
-  /////////////////////////////////////////
-
-
- - - - -
- -  // to be called AFTER all parameters have been read!!!
-  make_help(parser);
-  //// GO
-  ///////
-
-
- - - - -
- -  // evaluate intial population AFTER help and status in case it takes time
-  apply(eval, pop);
-
-
- - - - -
- -  // print it out (sort witout modifying)
-  cout << "Initial Population\n";
-  pop.sortedPrintOn(cout);
-  cout << endl;
-
-
- - - - -
- -  run_ea(ga, pop); // run the ga
-
-
- - - - -
- -  // print it out (sort witout modifying)
-  cout << "Final Population\n";
-  pop.sortedPrintOn(cout);
-  cout << endl;
-
-
- - - - -
- -  }
-  catch(exception& e)
-  {
-      cout << e.what() << endl;
-  }
-}
-
-
Back to Lesson 4 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Wed Mar 6 05:40:27 2002 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/CVS/Entries b/trunk/paradiseo-eo/tutorial/html/CVS/Entries deleted file mode 100644 index a1da78d94..000000000 --- a/trunk/paradiseo-eo/tutorial/html/CVS/Entries +++ /dev/null @@ -1,45 +0,0 @@ -/BitEA.html/1.1/Mon Apr 8 18:03:35 2002// -/EA_tutorial.jpg/1.2/Mon Apr 30 09:26:37 2001// -/FirstBitEA.html/1.11/Mon Apr 8 18:04:31 2002// -/FirstBitGA.html/1.7/Mon Apr 8 18:04:31 2002// -/FirstRealEA.html/1.12/Mon Apr 8 18:04:32 2002// -/FirstRealGA.html/1.10/Mon Apr 8 18:04:32 2002// -/Firstmerge.html/1.7/Mon Apr 8 18:04:31 2002// -/NoWay.html/1.5/Mon Apr 8 18:04:32 2002// -/OneMaxEA.html/1.1/Wed May 8 06:50:58 2002// -/SecondBitEA.html/1.16/Mon Dec 9 06:19:56 2002// -/SecondRealEA.html/1.2/Wed May 8 06:50:58 2002// -/beige009.jpg/1.1/Wed Nov 29 18:19:56 2000// -/binary_value.html/1.4/Mon Apr 8 18:04:31 2002// -/debut.html/1.3/Tue Dec 19 10:17:39 2000// -/eoBottomUp.html/1.6/Mon Apr 8 18:04:31 2002// -/eoCheckPoint.html/1.5/Mon Apr 8 18:04:31 2002// -/eoEngine.html/1.14/Wed May 8 06:50:58 2002// -/eoEval.html/1.4/Mon Apr 8 18:04:31 2002// -/eoGeneration.html/1.2/Mon Apr 8 18:04:31 2002// -/eoInit.html/1.4/Mon Apr 8 18:04:31 2002// -/eoIo.html/1.2/Mon Apr 8 18:04:31 2002// -/eoLesson1.html/1.14/Mon Apr 8 18:04:31 2002// -/eoLesson2.html/1.17/Wed May 8 06:50:58 2002// -/eoLesson3.html/1.13/Sun Apr 28 05:04:24 2002// -/eoLesson4.html/1.10/Mon Dec 27 09:08:44 2004// -/eoLesson5.html/1.3/Wed May 26 09:00:26 2004// -/eoOneMax.html/1.1/Wed May 8 06:50:58 2002// -/eoOneMaxEvalFunc.html/1.1/Wed May 8 06:50:58 2002// -/eoOneMaxInit.html/1.1/Wed May 8 06:50:58 2002// -/eoOneMaxMutation.html/1.1/Wed May 8 06:50:58 2002// -/eoOneMaxQuadCrossover.html/1.1/Wed May 8 06:50:58 2002// -/eoOneMax_complete.html/1.1/Wed May 8 06:50:58 2002// -/eoOperators.html/1.10/Fri Mar 15 06:28:25 2002// -/eoOutput.html/1.2/Mon Apr 8 18:04:31 2002// -/eoProgramming.html/1.16/Mon Dec 27 09:08:44 2004// -/eoRepresentation.html/1.2/Mon Apr 8 18:04:31 2002// -/eoSGA.html/1.4/Mon Apr 8 18:04:31 2002// -/eoSelect.html/1.2/Mon Apr 8 18:04:31 2002// -/eoStop.html/1.2/Mon Apr 8 18:04:31 2002// -/eoTopDown.html/1.10/Thu Sep 18 15:09:34 2003// -/eoTutorial.html/1.26/Wed Feb 22 04:53:20 2006// -/make_genotype_OneMax.html/1.1/Wed May 8 06:50:58 2002// -/make_op_OneMax.html/1.1/Wed May 8 06:50:58 2002// -/real_value.html/1.4/Mon Apr 8 18:04:32 2002// -D diff --git a/trunk/paradiseo-eo/tutorial/html/CVS/Repository b/trunk/paradiseo-eo/tutorial/html/CVS/Repository deleted file mode 100644 index c2f77cfc2..000000000 --- a/trunk/paradiseo-eo/tutorial/html/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/html diff --git a/trunk/paradiseo-eo/tutorial/html/CVS/Root b/trunk/paradiseo-eo/tutorial/html/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/html/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/html/EA_tutorial.jpg b/trunk/paradiseo-eo/tutorial/html/EA_tutorial.jpg deleted file mode 100644 index 11c0695fc..000000000 Binary files a/trunk/paradiseo-eo/tutorial/html/EA_tutorial.jpg and /dev/null differ diff --git a/trunk/paradiseo-eo/tutorial/html/FirstBitEA.html b/trunk/paradiseo-eo/tutorial/html/FirstBitEA.html deleted file mode 100644 index 4caa11055..000000000 --- a/trunk/paradiseo-eo/tutorial/html/FirstBitEA.html +++ /dev/null @@ -1,369 +0,0 @@ - - - - - - FirstBitEA.cpp - - - -Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-FirstBitEA.cpp

-Click on the figure to see the corresponding code.
-In the code, the colors are meaningfull
-The actual code is in boldface and the comment in normal face. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - -
-//-----------------------------------------------------------------------------
-// FirstBitEA.cpp
-//-----------------------------------------------------------------------------
-//*
-// Still an instance of a VERY simple Bitstring Genetic Algorithm
-// (see FirstBitGA.cpp) but now with  Breeder - and Combined Ops
-//
-//-----------------------------------------------------------------------------
-// standard includes
-#include <stdexcept>  // runtime_error
-#include <iostream>    // cout
-#include <strstream>  // ostrstream, istrstream
-// the general include for eo
-#include <eo>
-
-
- - - - -
- -#include <ga.h>
-//-----------------------------------------------------------------------------
-// define your individuals
-typedef eoBit<double> Indi; // A bitstring with fitness double
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// a simple fitness function that computes the number of ones of a bitstring
-// Now in a separate file, and declared as binary_value(const vector<bool> &)
-#include "binary_value.h"
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-void main_function(int argc, char **argv)
-{
-
-
- - - - -
- -  const unsigned int SEED = 42; // seed for random number generator
-  const unsigned int T_SIZE = 3; // size for tournament selection
-  const unsigned int VEC_SIZE = 8; // Number of bits in genotypes
-  const unsigned int POP_SIZE = 20; // Size of population
-  const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-  const float CROSS_RATE = 0.8; // Crossover rate
-  const double P_MUT_PER_BIT = 0.01; // probability of bit-flip mutation
-  const float MUT_RATE = 1.0; // mutation rate
-  // some parameters for chosing among different operators
-  const double onePointRate = 0.5;        // rate for 1-pt Xover
-  const double twoPointsRate = 0.5;        // rate for 2-pt Xover
-  const double URate = 0.5;                      // rate for Uniform Xover
-  const double bitFlipRate = 0.5;          // rate for bit-flip mutation
-  const double oneBitRate = 0.5;            // rate for one-bit mutation
-
-
- - - - -
- -  //////////////////////////
-  //  Random seed
-  //////////////////////////
-  //reproducible random seed: if you don't change SEED above,
-  // you'll aways get the same result, NOT a random run
-  rng.reseed(SEED);
-
-
- - - - -
- -  /////////////////////////////
-  // Fitness function
-  ////////////////////////////
-  // Evaluation: from a plain C++ fn to an EvalFunc Object
-  // you need to give the full description of the function
-  eoEvalFuncPtr<Indi, double, const vector<bool>& > eval(  binary_value );
-
-
- - - - -
- -  ////////////////////////////////
-  // Initilisation of population
-  ////////////////////////////////
-  // based on eoUniformGenerator class (see utils/eoRndGenerators.h)
-  eoUniformGenerator<bool> uGen;
-  eoInitFixedLength<Indi> random(VEC_SIZE, uGen);
-  // Initialization of the population
-  eoPop<Indi> pop(POP_SIZE, random);
-  // and evaluate it in one line
-  apply<Indi>(eval, pop); // STL syntax
-
-
- - - - -
- -  // sort pop before printing it!
-  pop.sort();
-  // Print (sorted) intial population (raw printout)
-  cout << "Initial Population" << endl;
-  cout << pop;
-
-
- - - - -
- -  /////////////////////////////////////
-  // selection and replacement
-  ////////////////////////////////////
-
-
- - - - -
- -  // The robust tournament selection
-  eoDetTournamentSelect<Indi> selectOne(T_SIZE);            // T_SIZE in [2,POP_SIZE]
- -  // is now encapsulated in a eoSelectPerc (entage)
-  eoSelectPerc<Indi> select(selectOne);// by default rate==1
-
-
- - - - -
- -  // And we now have the full slection/replacement - though with
-  // no replacement (== generational replacement) at the moment :-)
-  eoNoReplacement<Indi> replace;
-
-
- - - - -
- -  //////////////////////////////////////
-  // The variation operators
-  //////////////////////////////////////
-
-
- - - - -
- -  // 1-point crossover for bitstring
-  eo1PtBitXover<Indi> xover1;
-  // uniform crossover for bitstring
-  eoUBitXover<Indi> xoverU;
-  // 2-pots xover
-  eoNPtsBitXover<Indi> xover2(2);
-  // Combine them with relative rates
-  eoPropCombinedQuadOp<Indi> xover(xover1, onePointRate);
-  xover.add(xoverU, URate);
-  xover.add(xover2, twoPointsRate, true);
-
-
- - - - -
- -  
-  // standard bit-flip mutation for bitstring
-  eoBitMutation<Indi>  mutationBitFlip(P_MUT_PER_BIT);
-  // mutate exactly 1 bit per individual
-  eoDetBitFlip<Indi> mutationOneBit;
-  // Combine them with relative rates
-  eoPropCombinedMonOp<Indi> mutation(mutationBitFlip, bitFlipRate);
-  mutation.add(mutationOneBit, oneBitRate, true);
-  
- -  // The operators are  encapsulated into an eoTRansform object
-  eoSGATransform<Indi> transform(xover, CROSS_RATE, mutation, MUT_RATE);
-
-
- - - - -
- - -
- - - - -
- -  //////////////////////////////////////
-  // termination conditions: use more than one
-  /////////////////////////////////////
-  // stop after MAX_GEN generations
-  eoGenContinue<Indi> genCont(MAX_GEN);
-  // do MIN_GEN gen., then stop after STEADY_GEN gen. without improvement
-  eoSteadyFitContinue<Indi> steadyCont(MIN_GEN, STEADY_GEN);
-  // stop when fitness reaches a target (here VEC_SIZE)
-  eoFitContinue<Indi> fitCont(0);
-  // do stop when one of the above says so
-  eoCombinedContinue<Indi> continuator(genCont);
-  continuator.add(steadyCont);
-  continuator.add(fitCont);
-
-
- - - - -
- -  /////////////////////////////////////////
-  // the algorithm
-  ////////////////////////////////////////
-  // Easy EA requires
-  // selection, transformation, eval, replacement, and stopping criterion
-  eoEasyEA<Indi> gga(continuator, eval, select, transform, replace);
-  // Apply algo to pop - that's it!
-  gga(pop);
-  
-
-
- - - - -
- -  // Print (sorted) intial population
-  pop.sort();
-  cout << "FINAL Population\n" << pop << endl;
-
-
- - - - -
- -}
-// A main that catches the exceptions
-int main(int argc, char **argv)
-{
-#ifdef _MSC_VER
-  //  rng.reseed(42);
-      int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
-        flag |= _CRTDBG_LEAK_CHECK_DF;
-      _CrtSetDbgFlag(flag);
-//    _CrtSetBreakAlloc(100);
-#endif
-      try
-      {
-              main_function(argc, argv);
-      }
-      catch(exception& e)
-      {
-              cout << "Exception: " << e.what() << '\n';
-      }
-      return 1;
-}
-
-
Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Sun Nov 19 22:26:27 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/FirstBitGA.html b/trunk/paradiseo-eo/tutorial/html/FirstBitGA.html deleted file mode 100644 index d3012829a..000000000 --- a/trunk/paradiseo-eo/tutorial/html/FirstBitGA.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - FirstBitGA.html - - - -Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-Code for FirstBitGA

-Click on the figure to see the corresponding code. -
In the code, the colors are meaningfull -
The actual code is in boldface and the comment in normal face. -
-
- - - - -
//----------------------------------------------------------------------------- -
// FirstBitGA.cpp -
//----------------------------------------------------------------------------- -
//* -
// An instance of a VERY simple Bitstring -Genetic Algorithm -
// -
//----------------------------------------------------------------------------- -
// standard includes -
#include <stdexcept>  // runtime_error  -
#include <iostream>    -// cout -
#include <strstream>  // ostrstream, -istrstream -
// the general include for eo -
#include <eo>
- - - - - -
#include <ga.h>
-//----------------------------------------------------------------------------- -
// define your individuals -
typedef eoBit<double> Indi;        -// A bitstring with fitness double
- - - - - -
//----------------------------------------------------------------------------- -
// a simple fitness function that computes -the number of ones of a bitstring -
//  @param _indi A biststring individual -
double binary_value(const -Indi & _indi) -
{ -
 double sum = 0; -
 for (unsigned i = 0; i < _indi.size(); -i++) -
     sum += _indi[i]; -
 return sum; -
}
- - - - - -
//----------------------------------------------------------------------------- -
void main_function(int argc, char **argv) -
{
- - - - - -
 // all parameters are hard-coded! -
 const unsigned int SEED = 42;          -// seed for random number generator -
 const unsigned int T_SIZE = 3;        -// size for tournament selection -
 const unsigned int VEC_SIZE = 8;    -// Number of bits in genotypes -
 const unsigned int POP_SIZE = 20;  -// Size of population -
 const unsigned int MAX_GEN = 100;  -// Maximum number of generation before STOP -
 const float CROSS_RATE = 0.8;          -// Crossover rate -
 const double P_MUT_PER_BIT = 0.01; -// probability of bit-flip mutation -
 const float MUT_RATE = 1.0;              -// mutation rate
- - - - - -
////////////////////////// -
 //  Random seed -
 ////////////////////////// -
 //reproducible random seed: -if you don't change SEED above,  -
 // you'll aways get the same -result, NOT a random run -
 rng.reseed(SEED);
- - - - - -
 ///////////////////////////// -
 // Fitness function -
 //////////////////////////// -
 // Evaluation: from a plain -C++ fn to an EvalFunc Object -
 eoEvalFuncPtr<Indi> eval(  -binary_value );
- - - - - -
 //////////////////////////////// -
 // Initilisation of population -
 //////////////////////////////// -
 // declare the population -
 eoPop<Indi> pop; -
 // fill it! -
 for (unsigned int igeno=0; igeno<POP_SIZE; -igeno++) -
     { -
         -Indi v;                    -// void individual, to be filled -
         -for (unsigned ivar=0; ivar<VEC_SIZE; ivar++) -
             -{ -
                 -bool r = rng.flip(); // new value, random in {0,1} -
                 -v.push_back(r);          // -append that random value to v -
             -} -
         -eval(v);                                -// evaluate it -
         -pop.push_back(v);              -// and put it in the population -
     }
- - - - - -
 // sort pop before printing -it! -
 pop.sort(); -
 // Print (sorted) intial population -(raw printout) -
 cout << "Initial Population" -<< endl; -
 cout << pop;
- - - - - -
 ///////////////////////////////////// -
 // selection and replacement -
 ////////////////////////////////////
- - - - - -
 // The robust tournament selection -
 eoDetTournamentSelect<Indi> select(T_SIZE);  -// T_SIZE in [2,POP_SIZE]
- - - - - -
 // The simple GA evolution engine -uses generational replacement -
 // so no replacement procedure -is needed
- - - - - -
- - - - - -
 ////////////////////////////////////// -
 // The variation operators -
 //////////////////////////////////////
- - - - - -
 // 1-point crossover for bitstring -
 eo1PtBitXover<Indi> xover;
- - - - - -
-
 // standard bit-flip mutation -for bitstring -
 eoBitMutation<Indi>  mutation(P_MUT_PER_BIT);
- - - - - -
 ////////////////////////////////////// -
 // termination condition -
 ///////////////////////////////////// -
 // stop after MAX_GEN generations -
 eoGenContinue<Indi> continuator(MAX_GEN); -
 
- - - - - -
 ///////////////////////////////////////// -
 // the algorithm -
 //////////////////////////////////////// -
 // standard Generational GA -requires as parameters -
 // selection, evaluation, crossover -and mutation, stopping criterion -

 eoSGA<Indi> gga(select, xover, -CROSS_RATE, mutation, MUT_RATE,  -
                                 -eval, continuator); -
 // Apply algo to pop - that's -it! -
 gga(pop); -
 

- - - - - -
 // Print (sorted) intial population -
 pop.sort(); -
 cout << "FINAL Population\n" -<< pop << endl;
- - - - - -
} -
// A main that catches the exceptions -
int main(int argc, char **argv) -
{ -
#ifdef _MSC_VER -
 //  rng.reseed(42); -
     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); -
       flag -|= _CRTDBG_LEAK_CHECK_DF; -
     _CrtSetDbgFlag(flag); -
//    _CrtSetBreakAlloc(100); -
#endif -
     try -
     { -
             -main_function(argc, argv); -
     } -
     catch(exception& -e) -
     { -
             -cout << "Exception: " << e.what() << '\n'; -
     } -
     return 1; -
}
- -
Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sun Nov -19 08:31:26 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/FirstRealEA.html b/trunk/paradiseo-eo/tutorial/html/FirstRealEA.html deleted file mode 100644 index ad60c2c22..000000000 --- a/trunk/paradiseo-eo/tutorial/html/FirstRealEA.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - FirstRealEA.cpp - - -Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-FirstRealEA.cpp

-Click on the figure to see the corresponding code. -
In the code, the colors are meaningfull -
The actual code is in boldface and the comment in normal face. -
-
- - - - -
//----------------------------------------------------------------------------- -
// FirstRealEA.cpp -
//----------------------------------------------------------------------------- -
//* -
// Still an instance of a VERY simple Real-coded  -Genetic Algorithm  -
// (see FirstBitGA.cpp) but now with  -Breeder - and Combined Ops -
// -
//----------------------------------------------------------------------------- -
// standard includes -
#include <stdexcept>  // runtime_error  -
#include <iostream>    -// cout -
#include <strstream>  // ostrstream, -istrstream -
// the general include for eo -
#include <eo>
- - - - - -
#include <es.h>
-//----------------------------------------------------------------------------- -
// define your individuals -
typedef eoReal<double> Indi; 
- - - - - -
//----------------------------------------------------------------------------- -
// a simple fitness function that computes -the euclidian norm of a real vector -
// Now in a separate file, and declared as -binary_value(const vector<bool> &) -
#include "real_value.h"
- - - - - -
//----------------------------------------------------------------------------- -
void main_function(int argc, char **argv) -
{
- - - - - -
 const unsigned int SEED = 42; // -seed for random number generator -
 const unsigned int T_SIZE = 3; // -size for tournament selection -
 const unsigned int VEC_SIZE = 8; -// Number of object variables in genotypes -
 const unsigned int POP_SIZE = 20; -// Size of population -
 const unsigned int MAX_GEN = 500; -// Maximum number of generation before STOP -
 const unsigned int MIN_GEN = 10;  -// Minimum number of generation before ... -
 const unsigned int STEADY_GEN = -50; // stop after STEADY_GEN gen. without improvelent -
 const float P_CROSS = 0.8; // -Crossover probability -
 const float P_MUT = 0.5; // -mutation probability -
 const double EPSILON = 0.01; // -range for real uniform mutation -
       double -SIGMA = 0.3;        // std dev. -for normal mutation -
 // some parameters for chosing -among different operators -
 const double hypercubeRate = 0.5;    -// relative weight for hypercube Xover -
 const double segmentRate = 0.5; -// relative weight for segment Xover -
 const double uniformMutRate = 0.5; -// relative weight for uniform mutation -
 const double detMutRate = 0.5;     -// relative weight for det-uniform mutation -
 const double normalMutRate = 0.5;  -// relative weight for normal mutation
- - - - - -
 ////////////////////////// -
 //  Random seed -
 ////////////////////////// -
 //reproducible random seed: -if you don't change SEED above,  -
 // you'll aways get the same -result, NOT a random run -
 rng.reseed(SEED);
- - - - - -
 ///////////////////////////// -
 // Fitness function -
 //////////////////////////// -
 // Evaluation: from a plain -C++ fn to an EvalFunc Object -
 // you need to give the full -description of the function -
 eoEvalFuncPtr<Indi, double, const -vector<double>& > eval(  real_value );
- - - - - -
 //////////////////////////////// -
 // Initilisation of population -
 //////////////////////////////// -
 // based on a uniform generator -
 eoInitFixedLength<Indi, uniform_generator<double> -> -
         -random(VEC_SIZE, uniform_generator<double>(-1.0, 1.0)); -
   // Initialization of -the population -
 eoPop<Indi> pop(POP_SIZE, random); -

 // and evaluate it in one loop -
 apply<Indi>(eval, pop); // -STL syntax

- - - - - -
 // sort pop before printing -it! -
 pop.sort(); -
 // Print (sorted) intial population -(raw printout) -
 cout << "Initial Population" -<< endl; -
 cout << pop;
- - - - - -
 ///////////////////////////////////// -
 // selection and replacement -
 ////////////////////////////////////
- - - - - -
 // The robust tournament selection -
 eoDetTournamentSelect<Indi> selectOne(T_SIZE); -
// -is now encapsulated in a eoSelectPerc (entage) -
 eoSelectPerc<Indi> select(selectOne);// -by default rate==1
- - - - - -
 // And we now have the full -slection/replacement - though with  -
 // no replacement (== generational -replacement) at the moment :-) -
 eoNoReplacement<Indi> replace; 
- - - - - -
 ////////////////////////////////////// -
 // The variation operators -
 //////////////////////////////////////
- - - - - -
 // uniform chooce on segment -made by the parents -
 eoSegmentCrossover<Indi> xoverS; -
 // uniform choice in hypercube -built by the parents -
 eoHypercubeCrossover<Indi> xoverA; -
 // Combine them with relative -weights -
 eoPropCombinedQuadOp<Indi> xover(xoverS, -segmentRate); -
 xover.add(xoverA, hypercubeRate, -true);
- - - - - -
-
 // offspring(i) uniformly chosen -in [parent(i)-epsilon, parent(i)+epsilon] -
 eoUniformMutation<Indi>  -mutationU(EPSILON);  -
 // k (=1) coordinates of parents -are uniformly modified -
 eoDetUniformMutation<Indi>  -mutationD(EPSILON);  -
 // all coordinates of parents are normally -modified (stDev SIGMA) -
 eoNormalMutation<Indi>  -mutationN(SIGMA);  -
 // Combine them with relative -weights -
 eoPropCombinedMonOp<Indi> mutation(mutationU, -uniformMutRate); -
 mutation.add(mutationD, detMutRate); -
 mutation.add(mutationN, normalMutRate, -true); -

 // The operators are  encapsulated -into an eoTRansform object -
 eoSGATransform<Indi> transform(xover, -P_CROSS, mutation, P_MUT);

- - - - - -
- - - - - -
 ////////////////////////////////////// -
 // termination conditions: use -more than one -
 ///////////////////////////////////// -
 // stop after MAX_GEN generations -
 eoGenContinue<Indi> genCont(MAX_GEN); -
 // do MIN_GEN gen., then stop -after STEADY_GEN gen. without improvement -
 eoSteadyFitContinue<Indi> steadyCont(MIN_GEN, -STEADY_GEN); -
 // stop when fitness reaches -a target (here VEC_SIZE) -
 eoFitContinue<Indi> fitCont(0); -
 // do stop when one of the above -says so -
 eoCombinedContinue<Indi> continuator(genCont); -
 continuator.add(steadyCont); -
 continuator.add(fitCont);
- - - - - -
 ///////////////////////////////////////// -
 // the algorithm -
 //////////////////////////////////////// -
 // Easy EA requires  -
 // selection, transformation, -eval, replacement, and stopping criterion -
 eoEasyEA<Indi> gga(continuator, -eval, select, transform, replace); -
 // Apply algo to pop - that's -it! -
 cout << "\n              -Here we go\n\n"; -
 gga(pop); -
 
- - - - - -
 // Print (sorted) intial population -
 pop.sort(); -
 cout << "FINAL Population\n" -<< pop << endl;
- - - - - -
} -
// A main that catches the exceptions -
int main(int argc, char **argv) -
{ -
#ifdef _MSC_VER -
 //  rng.reseed(42); -
     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); -
       flag -|= _CRTDBG_LEAK_CHECK_DF; -
     _CrtSetDbgFlag(flag); -
//    _CrtSetBreakAlloc(100); -
#endif -
     try -
     { -
             -main_function(argc, argv); -
     } -
     catch(exception& -e) -
     { -
             -cout << "Exception: " << e.what() << '\n'; -
     } -
     return 1; -
}
- -
Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Wed Nov -29 07:38:36 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/FirstRealGA.html b/trunk/paradiseo-eo/tutorial/html/FirstRealGA.html deleted file mode 100644 index f228adfac..000000000 --- a/trunk/paradiseo-eo/tutorial/html/FirstRealGA.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - FirstRealGA.html - - - -Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-Code for FirstRealGA

-Click on the figure to see the corresponding code.
-In the code, the colors are meaningfull
-The actual code is in boldface and the comment in normal face. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - -
-//-----------------------------------------------------------------------------
-// FirstRealGA.cpp
-//-----------------------------------------------------------------------------
-//*
-// An instance of a VERY simple Real-coded Genetic Algorithm
-//
-//-----------------------------------------------------------------------------
-// standard includes
-#include <stdexcept>  // runtime_error
-#include <iostream>    // cout
-#include <strstream>  // ostrstream, istrstream
-// the general include for eo
-#include <eo>
-
-
- - - - -
- -#include <es.h>
-//-----------------------------------------------------------------------------
-// define your individuals
- typedef eoReal<double> Indi;
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// a simple fitness function that computes the euclidian norm of a real vector
-//      @param _indi A real-valued individual
- -double real_value(const Indi & _indi)
-{
-  double sum = 0;
-  for (unsigned i = 0; i < _indi.size(); i++)
-          sum += _indi[i]*_indi[i];
-  return (-sum);                      // maximizing only
-}
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-void main_function(int argc, char **argv)
-{
-
-
- - - - -
- -  // all parameters are hard-coded!
-  const unsigned int SEED = 42; // seed for random number generator
-  const unsigned int VEC_SIZE = 8; // Number of object variables in genotypes
-  const unsigned int POP_SIZE = 20; // Size of population
-  const unsigned int T_SIZE = 3; // size for tournament selection
-  const unsigned int MAX_GEN = 500; // Maximum number of generation before STOP
-  const float CROSS_RATE = 0.8; // Crossover rate
-  const double EPSILON = 0.01;  // range for real uniform mutation
-  const float MUT_RATE = 0.5;    // mutation rate
-
-
- - - - -
- - -  //////////////////////////
-  //  Random seed
-  //////////////////////////
-  //reproducible random seed: if you don't change SEED above,
-  // you'll aways get the same result, NOT a random run
-  rng.reseed(SEED);
-
-
- - - - -
- -  /////////////////////////////
-  // Fitness function
-  ////////////////////////////
-  // Evaluation: from a plain C++ fn to an EvalFunc Object
-  eoEvalFuncPtr<Indi> eval(  real_value );
-
-
- - - - -
- -  ////////////////////////////////
-  // Initilisation of population
-  ////////////////////////////////
-  // declare the population
-  eoPop<Indi> pop;
-  // fill it!
-  for (unsigned int igeno=0; igeno<POP_SIZE; igeno++)
-      {
-          Indi v;                  // void individual, to be filled
-          for (unsigned ivar=0; ivar<VEC_SIZE; ivar++)
-              {
-                  double r = 2*rng.uniform() - 1; // new value, random in [-1,1)
-                  v.push_back(r);            // append that random value to v
-              }
-          eval(v);                                  // evaluate it
-          pop.push_back(v);                // and put it in the population
-      }
-
-
- - - - -
- -  // sort pop before printing it!
-  pop.sort();
-  // Print (sorted) intial population (raw printout)
-  cout << "Initial Population" << endl;
-  cout << pop;
-
-
- - - - -
- -  /////////////////////////////////////
-  // selection and replacement
-  ////////////////////////////////////
-
-
- - - - -
- -  // The robust tournament selection
-  eoDetTournamentSelect<Indi> select(T_SIZE);            // T_SIZE in [2,POP_SIZE]
-
-
- - - - -
- -  // eoSGA uses generational replacement by default
-  // so no replacement procedure has to be given
-
-
- - - - -
- - -
- - - - -
- -  //////////////////////////////////////
-  // termination condition
-  /////////////////////////////////////
-  // stop after MAX_GEN generations
-  eoGenContinue<Indi> continuator(MAX_GEN);
-  
-
-
- - - - -
- -  //////////////////////////////////////
-  // The variation operators
-  //////////////////////////////////////
-
-
- - - - -
- -  // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-  eoUniformMutation<Indi>  mutation(EPSILON);
-
-
- - - - -
- -  // offspring(i) is a linear combination of parent(i)
-  eoSegmentCrossover<Indi> xover;
-
-
- - - - -
- -  /////////////////////////////////////////
-  // the algorithm
-  ////////////////////////////////////////
-  // standard Generational GA requires
-  // selection, evaluation, crossover and mutation, stopping criterion
-
-  eoSGA<Indi> gga(select, xover, CROSS_RATE, mutation, MUT_RATE,
-                                    eval, continuator);
-  // Apply algo to pop - that's it!
-  gga(pop);
-  
-
-
- - - - -
- -  // Print (sorted) intial population
-  pop.sort();
-  cout << "FINAL Population\n" << pop << endl;
-
-
- - - - -
- -}
-// A main that catches the exceptions
-int main(int argc, char **argv)
-{
-#ifdef _MSC_VER
-  //  rng.reseed(42);
-      int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
-        flag |= _CRTDBG_LEAK_CHECK_DF;
-      _CrtSetDbgFlag(flag);
-//    _CrtSetBreakAlloc(100);
-#endif
-      try
-      {
-              main_function(argc, argv);
-      }
-      catch(exception& e)
-      {
-              cout << "Exception: " << e.what() << '\n';
-      }
-      return 1;
-}
-
-
Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Sun Nov 19 08:31:29 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/Firstmerge.html b/trunk/paradiseo-eo/tutorial/html/Firstmerge.html deleted file mode 100644 index 2c4e7b9c5..000000000 --- a/trunk/paradiseo-eo/tutorial/html/Firstmerge.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Differences - - -Back to Lesson 1 - -Tutorial -main page - -Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-FirstBitGA and FirstRealGA: differences

-Below is a comparison of the codes for both algorithms (comments have been -removed). -
Warning: the pink -background here denotes the differences, not the section  of -the algorithm, which is only recalled by the color of the text! -
These differences are limited to -
    -
  • -the declaration of the type of the genotypes,
  • - -
  • -the fitness function (what did you expect -:-),
  • - -
  • -the initialization (and if you look carefully, -you'll find out that only a small part of the initialization is different, -as both genotypes are eoFixedLength objects) and of course
  • - -
  • -the choice of variation operators (including -the parameter for the mutation).
  • -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#include -<stdexcept > -
#include <iostream> -
#include <strstream> -
#include <eo>
#include -<stdexcept > -
#include <iostream> -
#include <strstream> -
#include <eo>
#include <es.h>
-typedef eoReal<double> Indi;
#include <ga.h>
-typedef eoBit<double> Indi;
double -real_value(const Indi & _indi) -
{ -
  double -sum = 0; -
  for (unsigned -i = 0; i < _indi.size(); i++) -
      -sum += _indi[i]*_indi[i]; -
  return -(-sum);   // maximizing -
}
double -binary_value(const Indi & _indi) -
{ -
  double -sum = 0; -
  for (unsigned -i = 0; i < _indi.size(); i++) -
      -sum += _indi[i]; -
  return -(sum); -
}
void -main_function(int argc, char **argv) -
{ -
const unsigned -int SEED = 42; -
const unsigned -int VEC_SIZE = 8; -
const unsigned -int POP_SIZE = 20; -
const unsigned -int T_SIZE = 3; -
const unsigned -int MAX_GEN = 500; -
const float -CROSS_RATE = 0.8; -
const float -MUT_RATE = 0.5;
void -main_function(int argc, char **argv) -
{ -
const unsigned -int SEED = 42; -
const unsigned -int VEC_SIZE = 8; -
const unsigned -int POP_SIZE = 20; -
const unsigned -int T_SIZE = 3; -
const unsigned -int MAX_GEN = 500; -
const float -CROSS_RATE = 0.8; -
const float -MUT_RATE = 0.5;
const -double EPSILON = 0.01;const -double P_MUT_PER_BIT = 0.01;
eoEvalFuncPtr<Indi> -eval(real_value);eoEvalFuncPtr<Indi> -eval(binary_value);
eoPop<Indi> -pop; -
for (unsigned -int igeno=0; igeno<POP_SIZE; igeno++) -
  { -
    -Indi v; -
    -for (unsigned ivar=0; ivar<VEC_SIZE; ivar++) -
      -{
eoPop<Indi> -pop; -
for (unsigned -int igeno=0; igeno<POP_SIZE; igeno++) -
  { -
    -Indi v; -
    -for (unsigned ivar=0; ivar<VEC_SIZE; ivar++) -
      -{
        -double r = 2*rng.uniform() - 1;        -bool r = rng.flip(); 
        -v.push_back(r); // -
      -} -
    -eval(v); -
    -pop.push_back(v); -
  } -
pop.sort(); -
cout << -"Initial Population" << endl; -
cout << -pop; -
eoDetTournament<Indi> -select(T_SIZE); -
eoGenContinue<Indi> -continuator(MAX_GEN);
        -v.push_back(r); // -
      -} -
    -eval(v); -
    -pop.push_back(v); -
  } -
pop.sort(); -
cout << -"Initial Population" << endl; -
cout << -pop; -
eoDetTournament<Indi> -select(T_SIZE); -
eoGenContinue<Indi> -continuator(MAX_GEN);
eoUniformMutation<Indi>  -mutation(EPSILON); -
eoSegmentCrossover<Indi> -xover;
eoBitMutation<Indi>  -mutation(P_MUT_PER_BIT); -
eo1PtBitXover<Indi> -xover;
-eoSGA<Indi> -gga(select, xover, CROSS_RATE, -
                -mutation, MUT_RATE, eval, continuator); -
gga(pop); -
pop.sort(); -
cout << -"FINAL Population\n" << pop << endl; -
} -
int main(int -argc, char **argv) -
{ -
... [technical -code removed] -
}
-eoSGA<Indi> -gga(select, xover, CROSS_RATE, -
                -mutation, MUT_RATE, eval, continuator); -
gga(pop); -
pop.sort(); -
cout << -"FINAL Population\n" << pop << endl; -
} -
int main(int -argc, char **argv) -
{ -
[... technical -code removed ] -
}
- -
Back to Lesson 1 - -Tutorial -main page - -Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Tue Nov 7 07:49:47 CET 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/NoWay.html b/trunk/paradiseo-eo/tutorial/html/NoWay.html deleted file mode 100644 index 74d7204cc..000000000 --- a/trunk/paradiseo-eo/tutorial/html/NoWay.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - Tutorial: Solutions - - -Tutorial main page - -Algorithm-Based -- Component-Based - Programming -hints -EO -documentation -
-
-
-

-Tutorial:

- -
Solutions of exercises
- -

No, we won't -provide -any -hypertext link directly to the correct code, so you get a chance -to find out the solution by yourself without immediately going there  -:-))) -

What you should do: -

    -
  • -copy the code of an example onto another name (e.g. mytest.cpp)
  • - -
  • -edit and modify mytest.cpp -according to the corresponding instructions of the exercise
  • - -
  • -compile mytest.cpp by typing -make -mytest at system prompt, and you will hopefully get an -executable file named mytest -(for Unix systems: if eventually someone tells me how to do that in Windows, -apart that you'll probably end up with an executable file named mytest.exe...).
  • -
- -
-
What you may do later: -

All solutions to exercises are in the same -sub-dir of the Tutorial directory than the example files (i.e. -Lesson1 for Lesson1, yes!) and are named exerciseN.p.cpp -where N is the lesson number and p the exercise number. Hence you may browse -through the code, eventually modifying it, and then simply type, in the -corresponding directory, -
... % make exerciseN.p -
which will compile file exerciseN.p.cpp -into executable exerciseN.p -(for Unix systems: if eventually someone tells me how to do that in Windows, -you'll probably end up with an executable file named exerciseN.p.exe). -

-


-
What you may not do: -
Complain that it does not work under Windows :-)
- -
Tutorial main page - -Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Fri Nov 3 18:49:12 CET 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/OneMaxEA.html b/trunk/paradiseo-eo/tutorial/html/OneMaxEA.html deleted file mode 100644 index 47102a452..000000000 --- a/trunk/paradiseo-eo/tutorial/html/OneMaxEA.html +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - Templates/OneMaxEA.cpp - - -Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-Templates/OneMaxEA.cpp

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -
/* -
Template for creating a new representation -in EO -
================================================ -
This is the template main file. -
It includes all other files that have been -generated by the script create.sh -
so it is the only file to compile. -
In case you want to build up a separate library -for your new Evolving Object, -
you'll need some work - follow what's done -in the src/ga dir, used in the -
main file BitEA in tutorial/Lesson4 dir. -
Or you can wait until we do it :-) -
*/ -
// Miscilaneous include and declaration  -
#include <iostream> -
using namespace std; -
// eo general include -
#include "eo" -
// the real bounds (not yet in general eo -include) -
#include "utils/eoRealVectorBounds.h" -
// include here whatever specific files for -your representation -
// Basically, this should include at least -the following -
/** definition of representation:  -
* class eoOneMax MUST derive from EO<FitT> -for some fitness -
*/
- - - - - -
#include "eoOneMax.h" -
/** definition of initilizqtion:  -
* class eoOneMaxInit MUST derive from eoInit<eoOneMax> -
*/
- - - - - -
#include "eoOneMaxInit.h" -
/** definition of evaluation:  -
* class eoOneMaxEvalFunc MUST derive from -eoEvalFunc<eoOneMax> -
* and should test for validity before doing -any computation -
* see tutorial/Templates/evalFunc.tmpl -
*/
- - - - - -
#include "eoOneMaxEvalFunc.h" -
// GENOTYPE    eoOneMax ***MUST*** -be templatized over the fitness
- - - - - -
// START fitness type: double or eoMaximizingFitness -if you are maximizing -
//                                        -eoMinimizingFitness if you are minimizing -
typedef eoMinimizingFitness MyFitT ; // -type of fitness  -
// END fitness type
- - - - - -
- - - - - -
// Then define your EO objects using that -fitness type -
typedef eoOneMax<MyFitT> Indi;           -// ***MUST*** derive from EO 
- - - - - -
// create an initializer -
#include "make_genotype_OneMax.h" -
eoInit<Indi> & make_genotype(eoParser& -_parser, eoState&_state, Indi _eo) -
{ -
 return do_make_genotype(_parser, -_state, _eo); -
- - - - - -
// and the variation operaotrs -
#include "make_op_OneMax.h" -
eoGenOp<Indi>&  make_op(eoParser& -_parser, eoState& _state, eoInit<Indi>& _init) -
{ -
 return do_make_op(_parser, _state, -_init); -
}
- - - - - -
// Use existing modules to define representation -independent routines -
// These are parser-based definitions of -objects -
// how to initialize the population  -
// it IS representation independent if an -eoInit is given -
#include <do/make_pop.h> -
eoPop<Indi >&  make_pop(eoParser& -_parser, eoState& _state, eoInit<Indi> & _init) -
{ -
 return do_make_pop(_parser, _state, -_init); -
}
- - - - - -
// the stopping criterion -
#include <do/make_continue.h> -
eoContinue<Indi>& make_continue(eoParser& -_parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval) -
{ -
 return do_make_continue(_parser, -_state, _eval); -
}
- - - - - -
// outputs (stats, population dumps, ...) -
#include <do/make_checkpoint.h> -
eoCheckPoint<Indi>& make_checkpoint(eoParser& -_parser, eoState& _state, eoEvalFuncCounter<Indi>& _eval, eoContinue<Indi>& -_continue)  -
{ -
 return do_make_checkpoint(_parser, -_state, _eval, _continue); -
}
- - - - - -
// evolution engine (selection and replacement) -
#include <do/make_algo_scalar.h> -
eoAlgo<Indi>&  make_algo_scalar(eoParser& -_parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& -_continue, eoGenOp<Indi>& _op) -
{ -
 return do_make_algo_scalar(_parser, -_state, _eval, _continue, _op); -
}
- - - - - -
// simple call to the algo. stays there for -consistency reasons  -
// no template for that one -
#include <do/make_run.h> -
// the instanciating fitnesses -
#include <eoScalarFitness.h> -
void run_ea(eoAlgo<Indi>& _ga, -eoPop<Indi>& _pop) -
{ -
 do_run(_ga, _pop); -
} -
// checks for help demand, and writes the -status file -
// and make_help; in libutils -
void make_help(eoParser & _parser); -
// now use all of the above, + representation -dependent things -
int main(int argc, char* argv[]) -
{ -
 try -
 { -
 eoParser parser(argc, argv);   -// for user-parameter reading -
 eoState state;       -// keeps all things allocated
- - - - - -
      // -The fitness -
      ////////////// -
   eoOneMaxEvalFunc<Indi> -plainEval /* (varType  _anyVariable) */;; -
    // turn that object -into an evaluation counter -
   eoEvalFuncCounter<Indi> -eval(plainEval);
- - - - - -
  // the genotype - through a -genotype initializer -
 eoInit<Indi>& init = make_genotype(parser, -state, Indi());
- - - - - -
  // Build the variation operator -(any seq/prop construct) -
 eoGenOp<Indi>& op = make_op(parser, -state, init); -
  //// Now the representation-independent -things  -
  // -
  // YOU SHOULD NOT NEED TO MODIFY -ANYTHING BEYOND THIS POINT -
  // unless you want to add specific -statistics to the checkpoint -
  //////////////////////////////////////////////
- - - - - -
  // initialize the population -
  // yes, this is representation -indepedent once you have an eoInit -
 eoPop<Indi>& pop    -= make_pop(parser, state, init);
- - - - - -
  // stopping criteria -
 eoContinue<Indi> & term = -make_continue(parser, state, eval);
- - - - - -
  // output -
 eoCheckPoint<Indi> & checkpoint -= make_checkpoint(parser, state, eval, term);
- - - - - -
  // algorithm (need the operator!) -
 eoAlgo<Indi>& ga = make_algo_scalar(parser, -state, eval, checkpoint, op); -
  ///// End of construction of -the algorithm -
  ///////////////////////////////////////// -
  // to be called AFTER all parameters -have been read!!! -
 make_help(parser); -
  //// GO -
  ///////
- - - - - -
  // evaluate intial population -AFTER help and status in case it takes time -
 apply<Indi>(eval, pop); -
  // if you want to print it -out -
//    cout << "Initial -Population\n"; -
//    pop.sortedPrintOn(cout); -
//    cout << endl;
- - - - - -
 run_ea(ga, pop); // run the -ga -
 cout << "Final Population\n"; -
 pop.sortedPrintOn(cout); -
 cout << endl; -
 } -
 catch(exception& e) -
 { -
     cout << -e.what() << endl; -
 } -
 return 0; -
}
- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sat May -4 07:37:41 2002 - - diff --git a/trunk/paradiseo-eo/tutorial/html/SecondBitEA.html b/trunk/paradiseo-eo/tutorial/html/SecondBitEA.html deleted file mode 100644 index ea043f026..000000000 --- a/trunk/paradiseo-eo/tutorial/html/SecondBitEA.html +++ /dev/null @@ -1,569 +0,0 @@ - - - - - - SecondBitEA.cpp - - - -Back to Lesson 3 - Tutorial -main page - Algorithm-Based - Component-Based -- -Programming -hints - EO -documentation -
-
-
-

-SecondBitEA.cpp

-Click on the figure to see the corresponding code. -
In the code, the colors are meaningfull -
The actual code is in boldface and the comment in normal face. -

For this particular program, as all new lines are concerned with program -parameter input and information output, the font -color for program-parameter-related sections will refer -to the section where the parameters are used whereas the background -color will remain blue. -

-
- - - - -
//----------------------------------------------------------------------------- -
// SecondGA.cpp -
//----------------------------------------------------------------------------- -
//* -
// Same code than FirstBitEA as far as Evolutionary -Computation is concerned -
// but now you learn to enter the parameters -in a more flexible way -
// and to twidle the output to your preferences! -
//----------------------------------------------------------------------------- -
// standard includes -
#include <stdexcept>  // runtime_error  -
#include <iostream>   // -cout -
#include <strstream>  // ostrstream, -istrstream -
#include <fstream> -
// the general include for eo -
#include <eo>
- - - - - -
// a simple fitness function that computes -the number of ones of a bitstring -
#include "binary_value.h"
- - - - - -
//----------------------------------------------------------------------------- -
// define your genotype and fitness types -
typedef eoBit<double> Indi;
- - - - - -
// the main_function: nothing changed(!), -except variable initialization -
void main_function(int argc, char **argv) -
{
- - - - - - - - - -
//----------------------------------------------------------------------------- -
// instead of having all values of useful -parameters as constants, read them: -
// either on the command line (--option=value -or -o=value) -
//        -or in a parameter file (same syntax, order independent,  -
//                                    -# = usual comment character  -
//        -or in the environment (TODO) -

// First define a parser from the command-line -arguments -
eoParser -parser(argc, argv); -

// For each parameter, define Parameter, read -it through the parser, -
// and assign the value to the variable -
-
eoValueParam<uint32> seedParam(time(0), -"seed", "Random number seed", 'S'); -
parser.processParam( -seedParam ); -
unsigned seed -= seedParam.value(); -

// decription -of genotype -
eoValueParam<unsigned int>& vecSizeParam(8, -"vecSize", "Genotype size",'V'); -
parser.processParam( vecSizeParam, "Representation" -); -
unsigned vecSize = vecSizeParam.value(); -

// parameters for evolution engine -
eoValueParam<unsigned int>& popSizeParam(10, -"popSize", "Population size",'P'); -
parser.processParam( popSizeParam, "Evolution -engine" ); -
unsigned popSize = popSizeParam.value(); -

eoValueParam<unsigned int>& tSizeParam(10, -"tSize", "Tournament size",'T'); -
parser.processParam( seedParam ); -
unsigned tSize = tSizeParam.value(); -
-
   // init and stop -
eoValueParam<string> loadNameParam("", -"Load","A save file to restart from",'L'); -
parser.processParam( loadNameParam, "Persistence" -); -
string loadName = loadNameParam.value(); -

eoValueParam<unsigned int> maxGenParam(100, -"maxGen", "Maximum number of generations",'G'); -
parser.processParam( maxGenParam, "Stopping -criterion" ); -
unsigned maxGen = maxGenParam.value(); -

eoValueParam<unsigned int> minGenParam(100, -"minGen", "Minimum number of generations",'g'); -
parser.processParam( minGenParam, "Stopping -criterion" ); -
unsigned minGen = minGenParam.value(); -

eoValueParam<unsigned int> steadyGenParam(100, -"steadyGen", "Number of generations with no improvement",'s'); -
parser.processParam( steadyGenParam, "Stopping -criterion" ); -
unsigned steadyGen = steadyGenParam.value(); -

// operators probabilities at the algorithm -level -
eoValueParam<double> pCrossParam(0.6, -"pCross", "Probability of Crossover", 'C');  -
parser.processParam( pCrossParam, "Genetic -Operators" ); -
double pCross = pCrossParam.value(); -

eoValueParam<double> pMutParam(0.1, -"pMut", "Probability of Mutation", 'M'); -
parser.processParam( pMutParam, "Genetic -Operators" ); -
double pMut = pMutParam.value(); -

// relative rates for crossovers -
eoValueParam<double> onePointRateParam(1, -"onePointRate", "Relative rate for one point crossover", '1'); -
parser.processParam( onePointRateParam, -"Genetic Operators" ); -
double onePointRate = onePointRateParam.value(); -

eoValueParam<double> twoPointsRateParam(1, -"twoPointRate", "Relative rate for two point crossover", '2'); -
parser.processParam( twoPointsRateParam, -"Genetic Operators" ); -
double twoPointsRate = twoPointsRateParam.value(); -

eoValueParam<double> uRateParam(2, "uRate", -"Relative rate for uniform crossover", 'U'); -
parser.processParam( uRateParam, "Genetic -Operators" ); -
double URate =  uRateParam.value(); -

// relative rates and private parameters for -mutations; -
eoValueParam<double> pMutPerBitParam(0.01, -"pMutPerBit", "Probability of flipping 1 bit in bit-flip mutation", 'b'); -
parser.processParam( pMutPerBitParam, -"Genetic Operators" ); -
double pMutPerBit = pMutPerBitParam.value(); -

eoValueParam<double> bitFlipRateParam(0.01, -"bitFlipRate", "Relative rate for bit-flip mutation", 'B'); -
parser.processParam( bitFlipRateParam, -"Genetic Operators" ); -
double bitFlipRate =  bitFlipRateParam.value(); -

eoValueParam<double> oneBitRateParam(0.01, -"oneBitRate", "Relative rate for deterministic bit-flip mutation", 'D'); -
parser.processParam( oneBitRateParam, -"Genetic Operators" ); -
double oneBitRate = oneBitRateParam.value(); -

// the name of the "status" file where all -actual parameter values will be saved -
string str_status = parser.ProgramName() -+ ".status"; // default value -
eoValueParam<string> statusParam(str_status.c_str(), -"status","Status file",'S'); -
parser.processParam( statusParam, "Persistence" -); -

// do the following AFTER ALL PARAMETERS HAVE -BEEN PROCESSED -
// i.e. in case you need parameters somewhere -else, postpone these -
if (parser.userNeedsHelp()) -
   { -
      parser.printHelp(cout); -
      exit(1); -
   } -
if (statusParam.value() != "") -
   { -
      ofstream -os(statusParam.value().c_str()); -
      os << -parser; // and you can use that file as parameter file -
   }

- - - - - -
 ///////////////////////////// -
 // Fitness function -
 //////////////////////////// -
 // Evaluation: from a plain -C++ fn to an EvalFunc Object ... -
 eoEvalFuncPtr<Indi, double, const -vector<bool>& > plainEval( binary_value ); -
// ... to an object -that counts the nb of actual evaluations -
 eoEvalFuncCounter<Indi> eval(plainEval);
- - - - - -
 //////////////////////////////// -
 // Initilisation of population -
 //////////////////////////////// -
 // Either load or initialize -
 // create an empty pop -
 eoPop<Indi> pop; -
 // create a state for reading -
 eoState inState; // a state -for loading - WITHOUT the parser -
// register the rng -and the pop in the state, so they can be loaded, -
 // and the present run will -be the exact conitnuation of the saved run -
 // eventually with different -parameters -
 inState.registerObject(rng); -
 inState.registerObject(pop); -

if (load_name -!= "") -
     { -
         -inState.load(load_name); //  load the pop and the rng -
       // -the fitness is read in the file:  -
       // -do only evaluate the pop if the fitness has changed -
     } -
 else -
     { -
         -rng.reseed(seed); -
       // -a Indi random initializer -
       // -based on eoUniformGenerator class (see utils/eoRndGenerators.h) -
       eoUniformGenerator<bool> -uGen; -
       eoInitFixedLength<Indi> -random(vecSize, uGen); -
       // -Init pop from the randomizer: need to use the append function -
         -pop.append(popSize, random);  -
       // -and evaluate pop (STL syntax)  -
         -apply<Indi>(eval, pop); -
     } // end -of initialization of the population

- - - - - -
 // sort pop for pretty printout -
 pop.sort(); -
 // Print (sorted) intial population -(raw printout) -
 cout << "Initial Population" -<< endl << pop << endl;
- - - - - -
 ///////////////////////////////////// -
 // selection and replacement -
 ////////////////////////////////////
- - - - - -
 // The robust tournament selection -
 eoDetTournamentSelect<Indi> selectOne(tSize);       -// tSize in [2,POPSIZE] -
 // is now encapsulated in a -eoSelectPerc (entage) -
 eoSelectPerc<Indi> select(selectOne); -
 // or eoSelectPerc<Indi> select(selectOne, -rate);  -
 // but by default rate==1
- - - - - -
 // And we now have the full -slection/replacement - though with  -
 // the same generational replacement -at the moment :-) -
 eoGenerationalReplacement<Indi> -replace; 
- - - - - -
 ////////////////////////////////////// -
 // The variation operators -
 //////////////////////////////////////
- - - - - -
 // 1-point crossover for bitstring -
 eo1PtBitXover<Indi> xover1; -
 // uniform crossover for bitstring -
 eoUBitXover<Indi> xoverU; -
 // 2-pots xover -
 eoNPtsBitXover<Indi> xover2(2); -
 // Combine them with relative -rates -
 eoPropCombinedQuadOp<Indi> xover(xover1, -onePointRate); -
 xover.add(xoverU, URate); -
 xover.add(xover2, twoPointsRate, -true);
- - - - - -
 // standard bit-flip mutation -for bitstring -
 eoBitMutation<Indi>  mutationBitFlip(pMutPerBit); -
 // mutate exactly 1 bit per -individual -
 eoDetBitFlip<Indi> mutationOneBit;  -
 // Combine them with relative -rates -
 eoPropCombinedMonOp<Indi> mutation(mutationBitFlip, -bitFlipRate); -
 mutation.add(mutationOneBit, oneBitRate, -true); -
 // The operators are  encapsulated -into an eoTRansform object -
 eoSGATransform<Indi> transform(xover, -pCross, mutation, pMut);
- - - - - -
 ////////////////////////////////////// -
 // termination condition see -FirstBitEA.cpp -
 ///////////////////////////////////// -
 eoGenContinue<Indi> genCont(maxGen); -
 eoSteadyFitContinue<Indi> steadyCont(minGen, -steadyGen); -
 eoFitContinue<Indi> fitCont(vecSize); -
 eoCombinedContinue<Indi> continuator(genCont); -
 continuator.add(steadyCont); -
 continuator.add(fitCont);
- - - - - -
 // but now you want to make -many different things every generation  -
 // (e.g. statistics, plots, -...). -
 // the class eoCheckPoint is -dedicated to just that: -
 // Declare a checkpoint (from -a continuator: an eoCheckPoint  -
 // IS AN eoContinue and will -be called in the loop of all algorithms) -
 eoCheckPoint<Indi> checkpoint(continuator); -

  // -Create a counter parameter -
     eoValueParam<unsigned> -generationCounter(0, "Gen."); -

   // -Create an incrementor (sub-class of eoUpdater). Note that the  -
     // parameter's -value is passed by reference,  -
     // so every -time the incrementer is updated (every generation), -
     // the data -in generationCounter will change. -
     eoIncrementor<unsigned> -increment(generationCounter.value()); -
  // -Add it to the checkpoint,  -
     // so the -counter is updated (here, incremented) every generation -
     checkpoint.add(increment); -
  // -now some statistics on the population: -
     // Best fitness -in population -
     eoBestFitnessStat<Indi> -bestStat; -
     // Second -moment stats: average and stdev -
     eoSecondMomentStats<Indi> -SecondStat; -
   // -Add them to the checkpoint to get them called at the appropriate time -
     checkpoint.add(bestStat); -
     checkpoint.add(SecondStat); -
     // The Stdout -monitor will print parameters to the screen ... -
     -eoStdoutMonitor monitor(false); -

     // when called -by the checkpoint (i.e. at every generation) -
     -checkpoint.add(monitor); -
     // the monitor -will output a series of parameters: add them  -
     -monitor.add(generationCounter); -
     monitor.add(eval); -// -because now eval is an eoEvalFuncCounter! -
     monitor.add(bestStat); -
     monitor.add(SecondStat); -
     // A file -monitor: will print parameters to ... a File, yes, you got it! -
     eoFileMonitor -fileMonitor("stats.xg", " "); -

     // the checkpoint -mechanism can handle multiple monitors -
     checkpoint.add(fileMonitor); -
     // the fileMonitor -can monitor parameters, too, but you must tell it! -
     fileMonitor.add(generationCounter); -
     fileMonitor.add(bestStat); -
     fileMonitor.add(SecondStat); -
     // Last type -of item the eoCheckpoint can handle: state savers: -
     -eoState outState; -
     // Register -the algorithm into the state -
     -outState.registerObject(parser); -
     outState.registerObject(pop); -
     outState.registerObject(rng); -
     // and feed -the state to state savers -
// save -state every 100th  generation -
     eoCountedStateSaver -stateSaver1(100, outState, "generation");  -
     // save state -every 1 seconds  -
     eoTimedStateSaver    -stateSaver2(1, outState, "time");  -
  // -Don't forget to add the two savers to the checkpoint -
     checkpoint.add(stateSaver1); -
     checkpoint.add(stateSaver2); -
     // and that's -it for the (control and) output

- - - - - -
 ///////////////////////////////////////// -
 // the algorithm -
 //////////////////////////////////////// -
 // Easy EA requires  -
 // stopping criterion, eval, selection, -transformation, replacement -
 eoEasyEA<Indi> gga(checkpoint, -eval, select, transform, replace); -
 // Apply algo to pop - that's -it! -
 gga(pop);
- - - - - -
 // Print (sorted) final population -
 pop.sort(); -
 cout << "FINAL Population\n" -<< pop << endl;
- - - - - -
} -
// A main that catches the exceptions -
int main(int argc, char **argv) -
{ -
#ifdef _MSC_VER -
     int flag = _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); -
       flag -|= _CRTDBG_LEAK_CHECK_DF; -
     _CrtSetDbgFlag(flag); -
//    _CrtSetBreakAlloc(100); -
#endif -
     try -
     { -
             -main_function(argc, argv); -
     } -
     catch(exception& -e) -
     { -
             -cout << "Exception: " << e.what() << '\n'; -
     } -
     return 1; -
}
- -


Back to Lesson 3 - Tutorial -main page - Algorithm-Based - Component-Based -- -Programming -hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sun Nov -26 09:31:04 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/SecondRealEA.html b/trunk/paradiseo-eo/tutorial/html/SecondRealEA.html deleted file mode 100644 index 7882e7bad..000000000 --- a/trunk/paradiseo-eo/tutorial/html/SecondRealEA.html +++ /dev/null @@ -1,468 +0,0 @@ - - - - - - SecondRealEA - - -Back to Lesson 3 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-SecondRealEA

-Click on the figure to see the corresponding code.
-In the code, the colors are meaningfull
-The actual code is in boldface and the comment in normal face. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - - -
-//-----------------------------------------------------------------------------
-// SecondRealEA.cpp
-//-----------------------------------------------------------------------------
-//*
-// Same code than FirstBitEA as far as Evolutionary Computation is concerned
-// but now you learn to enter the parameters in a more flexible way
-// (also slightly different than in SecondBitEA.cpp)
-// and to twidle the output to your preferences (as in SecondBitEA.cpp)
-//
-//-----------------------------------------------------------------------------
-// standard includes
-#include <stdexcept>  // runtime_error
-#include <iostream>    // cout
-#include <strstream>  // ostrstream, istrstream
-// the general include for eo
-#include <eo>
-#include <es.h>
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// define your individuals
-typedef eoReal<eoMinimizingFitness> Indi;
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// a simple fitness function that computes the euclidian norm of a real vector
-// Now in a separate file, and declared as binary_value(const vector<bool> &)
-#include "real_value.h"
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-void main_function(int argc, char **argv)
-{
-
-
- - - - -
- -//-----------------------------------------------------------------------------
-// instead of having all values of useful parameters as constants, read them:
-// either on the command line (--option=value or -o=value)
-//        or in a parameter file (same syntax, order independent,
-//                                                        # = usual comment character
-//        or in the environment (TODO)
-  // First define a parser from the command-line arguments
-  eoParser parser(argc, argv);
-  
-  // For each parameter, you can in on single line
-  // define the parameter, read it through the parser, and assign it
-  
- -  unsigned seed = parser.createParam(unsigned(time(0)), "seed", "Random number seed", 'S').value(); // will be in default section General
-  
-  // description of genotype
-  unsigned vecSize = parser.createParam(unsigned(8), "vecSize", "Genotype size",'V', "Representation" ).value();
-    // parameters for evolution engine
-      unsigned popSize = parser.createParam(unsigned(10), "popSize", "Population size",'P', "Evolution engine" ).value();
-      unsigned tSize = parser.createParam(unsigned(2), "tSize", "Tournament size",'T', "Evolution Engine" ).value();
-    // init and stop
-      string loadName = parser.createParam(string(""), "Load","A save file to restart from",'L', "Persistence" ).value();
-
-      unsigned maxGen = parser.createParam(unsigned(100), "maxGen", "Maximum number of generations",'G', "Stopping criterion" ).value();
-      unsigned minGen = parser.createParam(unsigned(100), "minGen", "Minimum number of generations",'g', "Stopping criterion" ).value();
-      unsigned steadyGen = parser.createParam(unsigned(100), "steadyGen", "Number of generations with no improvement",'s', "Stopping criterion" ).value();
-    // operators probabilities at the algorithm level
-      double pCross = parser.createParam(double(0.6), "pCross", "Probability of Crossover", 'C', "Genetic Operators" ).value();
-      double pMut = parser.createParam(double(0.1), "pMut", "Probability of Mutation", 'M', "Genetic Operators" ).value();
-    // relative rates for crossovers
-      double hypercubeRate = parser.createParam(double(1), "hypercubeRate", "Relative rate for hypercube crossover", '\0', "Genetic Operators" ).value();
-      double segmentRate = parser.createParam(double(1), "segmentRate", "Relative rate for segment crossover", '\0', "Genetic Operators" ).value();
-      // internal parameters for the mutations
-      double EPSILON = parser.createParam(double(0.01), "EPSILON", "Width for uniform mutation", '\0', "Genetic Operators" ).value();
-      
-      double SIGMA = parser.createParam(double(0.3), "SIGMA", "Sigma for normal mutation", '\0', "Genetic Operators" ).value();
-    // relative rates for mutations
-      double uniformMutRate = parser.createParam(double(1), "uniformMutRate", "Relative rate for uniform mutation", '\0', "Genetic Operators" ).value();
-      double detMutRate = parser.createParam(double(1), "detMutRate", "Relative rate for det-uniform mutation", '\0', "Genetic Operators" ).value();
-      double normalMutRate = parser.createParam(double(1), "normalMutRate", "Relative rate for normal mutation", '\0', "Genetic Operators" ).value();
-      // the name of the "status" file where all actual parameter values will be saved
-      string str_status = parser.ProgramName() + ".status"; // default value
-      string statusName = parser.createParam(str_status, "status","Status file",'S', "Persistence" ).value();
-    // do the following AFTER ALL PARAMETERS HAVE BEEN PROCESSED
-    // i.e. in case you need parameters somewhere else, postpone these
-      if (parser.userNeedsHelp())
-          {
-              parser.printHelp(cout);
-              exit(1);
-          }
-      if (statusName != "")
-          {
-ofstream os(statusName.c_str());
-os << parser; // and you can use that file as parameter file
-          }
-
-
- - - - -
- -  /////////////////////////////
-  // Fitness function
-  ////////////////////////////
-  // Evaluation: from a plain C++ fn to an EvalFunc Object
-  // you need to give the full description of the function
-  eoEvalFuncPtr<Indi, double, const vector<double>& > plainEval(  real_value );
-  // ... to an object that counts the nb of actual evaluations
-  eoEvalFuncCounter<Indi> eval(plainEval);
-
-
- - - - -
- -  ////////////////////////////////
-  // Initilisation of population
-  ////////////////////////////////
-  // Either load or initialize
-  // create an empty pop
-  eoPop<Indi> pop;
-  // create a state for reading
-  eoState inState; // a state for loading - WITHOUT the parser
-  // register the rng and the pop in the state, so they can be loaded,
-  // and the present run will be the exact conitnuation of the saved run
-  // eventually with different parameters
-  inState.registerObject(rng);
-  inState.registerObject(pop);
-      
-  if (loadName != "")
-      {
-          inState.load(loadName); //  load the pop and the rng
-          // the fitness is read in the file:
-          // do only evaluate the pop if the fitness has changed
-      }
-  else
-      {
-          rng.reseed(seed);
-          // a Indi random initializer
-          // based on boolean_generator class (see utils/rnd_generator.h)
-          eoUniformGenerator<double> uGen(-1.0, 1.0);
-          eoInitFixedLength<Indi> random(vecSize, uGen);
-          // Init pop from the randomizer: need to use the append function
-          pop.append(popSize, random);          
-          // and evaluate pop (STL syntax)      
-          apply<Indi>(eval, pop);
-      } // end of initializatio of the population
-
-
- - - - -
- -  // sort pop before printing it!
-  pop.sort();
-  // Print (sorted) intial population (raw printout)
-  cout << "Initial Population" << endl;
-  cout << pop;
-
-
- - - - -
- -  /////////////////////////////////////
-  // selection and replacement
-  ////////////////////////////////////
-
-
- - - - -
- -  // The robust tournament selection
-  eoDetTournamentSelect<Indi> selectOne(tSize);
-  // is now encapsulated in a eoSelectPerc (entage)
-  eoSelectPerc<Indi> select(selectOne);// by default rate==1
-
-
- - - - -
- -  // And we now have the full slection/replacement - though with
-  // no replacement (== generational replacement) at the moment :-)
-  eoGenerationalReplacement<Indi> replace;
-
-
- - - - -
- -  //////////////////////////////////////
-  // The variation operators
-  //////////////////////////////////////
-
-
- - - - -
- -  // uniform chooce on segment made by the parents
-  eoSegmentCrossover<Indi> xoverS;
-  // uniform choice in hypercube built by the parents
-  eoHypercubeCrossover<Indi> xoverA;
-  // Combine them with relative weights
-  eoPropCombinedQuadOp<Indi> xover(xoverS, segmentRate);
-  xover.add(xoverA, hypercubeRate, true);
-
-
- - - - -
- -  // offspring(i) uniformly chosen in [parent(i)-epsilon, parent(i)+epsilon]
-  eoUniformMutation<Indi>  mutationU(EPSILON);
-  // k (=1) coordinates of parents are uniformly modified
-  eoDetUniformMutation<Indi>  mutationD(EPSILON);
-  // all coordinates of parents are normally modified (stDev SIGMA)
-  eoNormalMutation<Indi>  mutationN(SIGMA);
-  // Combine them with relative weights
-  eoPropCombinedMonOp<Indi> mutation(mutationU, uniformMutRate);
-  mutation.add(mutationD, detMutRate);
-  mutation.add(mutationN, normalMutRate, true);
-  // The operators are  encapsulated into an eoTRansform object
-  eoSGATransform<Indi> transform(xover, pCross, mutation, pMut);
-
-
- - - - -
- -  //////////////////////////////////////
-  // termination condition see FirstBitEA.cpp
-  /////////////////////////////////////
-  eoGenContinue<Indi> genCont(maxGen);
-  eoSteadyFitContinue<Indi> steadyCont(minGen, steadyGen);
-  eoFitContinue<Indi> fitCont(0);
-  eoCombinedContinue<Indi> continuator(genCont);
-  continuator.add(steadyCont);
-  continuator.add(fitCont);
-  
-  
-
-
- - - - -
- -  // but now you want to make many different things every generation
-  // (e.g. statistics, plots, ...).
-  // the class eoCheckPoint is dedicated to just that:
-  // Declare a checkpoint (from a continuator: an eoCheckPoint
-  // IS AN eoContinue and will be called in the loop of all algorithms)
-  eoCheckPoint<Indi> checkpoint(continuator);
-  
-      // Create a counter parameter
-      eoValueParam<unsigned> generationCounter(0, "Gen.");
-      
-      // Create an incrementor (sub-class of eoUpdater). Note that the
-      // parameter's value is passed by reference,
-      // so every time the incrementer is updated (every generation),
-      // the data in generationCounter will change.
-      eoIncrementor<unsigned> increment(generationCounter.value());
-      // Add it to the checkpoint,
-      // so the counter is updated (here, incremented) every generation
-      checkpoint.add(increment);
-      // now some statistics on the population:
-      // Best fitness in population
-      eoBestFitnessStat<Indi> bestStat;
-      // Second moment stats: average and stdev
-      eoSecondMomentStats<Indi> SecondStat;
-      // Add them to the checkpoint to get them called at the appropriate time
-      checkpoint.add(bestStat);
-      checkpoint.add(SecondStat);
-      // The Stdout monitor will print parameters to the screen ...
-      eoStdoutMonitor monitor(false);
-        
-      // when called by the checkpoint (i.e. at every generation)
-      checkpoint.add(monitor);
-      // the monitor will output a series of parameters: add them
-      monitor.add(generationCounter);
-      monitor.add(eval); // because now eval is an eoEvalFuncCounter!
-      monitor.add(bestStat);
-      monitor.add(SecondStat);
-      // A file monitor: will print parameters to ... a File, yes, you got it!
-      eoFileMonitor fileMonitor("stats.xg", " ");
-        
-      // the checkpoint mechanism can handle multiple monitors
-      checkpoint.add(fileMonitor);
-      // the fileMonitor can monitor parameters, too, but you must tell it!
-      fileMonitor.add(generationCounter);
-      fileMonitor.add(bestStat);
-      fileMonitor.add(SecondStat);
-      // Last type of item the eoCheckpoint can handle: state savers:
-      eoState outState;
-      // Register the algorithm into the state (so it has something to save!!)
-      outState.registerObject(parser);
-      outState.registerObject(pop);
-      outState.registerObject(rng);
-      // and feed the state to state savers
-      // save state every 100th  generation
-      eoCountedStateSaver stateSaver1(20, outState, "generation");
-      // save state every 1 seconds
-      eoTimedStateSaver    stateSaver2(1, outState, "time");
-      // Don't forget to add the two savers to the checkpoint
-      checkpoint.add(stateSaver1);
-      checkpoint.add(stateSaver2);
-      // and that's it for the (control and) output
-
-
- - - - -
- -  /////////////////////////////////////////
-  // the algorithm
-  ////////////////////////////////////////
-  // Easy EA requires
-  // stopping criterion, eval, selection, transformation, replacement
-  eoEasyEA<Indi> gga(checkpoint, eval, select, transform, replace);
-  // Apply algo to pop - that's it!
-  gga(pop);
-  
-
-
- - - - -
- -  // Print (sorted) intial population
-  pop.sort();
-  cout << "FINAL Population\n" << pop << endl;
-
-
- - - - -
- -}
-// A main that catches the exceptions
-int main(int argc, char **argv)
-{
-      try
-      {
-              main_function(argc, argv);
-      }
-      catch(exception& e)
-      {
-              cout << "Exception: " << e.what() << '\n';
-      }
-      return 1;
-}
-
-
Back to Lesson 3 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Sun Apr 28 06:42:44 2002 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/beige009.jpg b/trunk/paradiseo-eo/tutorial/html/beige009.jpg deleted file mode 100644 index 594c01d8e..000000000 Binary files a/trunk/paradiseo-eo/tutorial/html/beige009.jpg and /dev/null differ diff --git a/trunk/paradiseo-eo/tutorial/html/binary_value.html b/trunk/paradiseo-eo/tutorial/html/binary_value.html deleted file mode 100644 index 45f3e35a1..000000000 --- a/trunk/paradiseo-eo/tutorial/html/binary_value.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - binary_value.h - - -Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-binary_value.h

- - - - - -
#include <eo> -
//----------------------------------------------------------------------------- -
/** Just a simple function that takes binary -value of a chromosome and sets -
     the fitnes. -
     @param _chrom A -binary chromosome  -
*/
- - - - - -
double binary_value(const vector<bool>& -_chrom) -
{ -
 double sum = 0; -
 for (unsigned i = 0; i < _chrom.size(); -i++) -
     sum += _chrom[i]; -
 return sum; -
}
- -
Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Wed Nov -29 09:03:09 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/debut.html b/trunk/paradiseo-eo/tutorial/html/debut.html deleted file mode 100644 index 2c6c8d305..000000000 --- a/trunk/paradiseo-eo/tutorial/html/debut.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - TITRE - - - -Tutorial main page - -Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
- - -
-

TITRE

-
- - -

diff --git a/trunk/paradiseo-eo/tutorial/html/eoBottomUp.html b/trunk/paradiseo-eo/tutorial/html/eoBottomUp.html deleted file mode 100644 index b35d40262..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoBottomUp.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - EO - The Component-Based approach - - -Tutorial main page - -Algorithm-Based - - Component-Based - Programming -hints - EO documentation -
-


-
-

-EO - Component-Based approach

- -


Congratulations - You have chosen the component-based approach!  -From here you will be allowed to browse into the different components of -an Evolutionary Algorithm, and to see how to program your favorite using -the EO library. - -

-Table of Content

- -
-

- -

Yes, this is the table of content of this part -of the EO tutorial. If you don't already know what this symbolic - representation of an EA means, you should try here. Otherwise, click on the figure -to go directly to the corresponding section of the tutorial. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-


-
Tutorial main page - Algorithm-Based - - Component-Based - Programming -hints - EO documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Mon Oct 30 07:28:36 CET 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoCheckPoint.html b/trunk/paradiseo-eo/tutorial/html/eoCheckPoint.html deleted file mode 100644 index 3b905eed6..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoCheckPoint.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - Variation Operators - - -General: Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-
Local: Introduction -- Continuators - Combined -continuators - Checkpoints - Statistics -- Monitors - Updaters -
-
-
-

-CheckPointing

-What -is Checkpointing about? -
Evolutionary Algorithms are almost all timely ticked, the basic time -unit being what is called a generation. EO checkpointing mechanism allow -you to program things that you want to be done at the end of every generation. -This includes deciding to stop, outputing some statistics on the current -state of the algorithm,  updating some dynamical variables of your -algorithm, saving the population to disk, ... -

EO classes described in this page: -

    -
  • -Base classes: eoCheckPoint, eoContinue, -eoStat, eoSortedStat, eoMonitor, eoUpdater
  • - -
  • -Derived classes: eoCombinedContinue,
  • - -
  • -Related classes: eoGnuPlot1DMonitor, -eoGnuPlot1DSnapshotMonitor,
  • -
- -
  -

-


Continuators: -

Continuators are functors that compute stopping critera. They receive -a population and return a boolean value which is set to false only when -some stopping vriterion is met. All algorithms in EO have a loop that goes -do{...}while(continuator(pop)which -means that the algorithm stops only when the continuator returns false. -

Interface:  The abstract class -for computing stopping conditions is eoContinue, -and the interface for its operator() is -

                           - -bool operator()(const eoPop<EOT>& -) -

which you could have guessed from the inheritance -diagram for class eoContinue, as -you see there that eoContinue derives -from class eoUF<const eoPop<EOT>&, -bool>. -

Using a continuator: -
You can find an first example of using a continuator in the code for -FirstBitEA -ior more sophisticated continue conditions in  Lesson2. -
If you want to find out how it is used inside an algorithm, go and -see for instance in eoSGA, the simplest EA within EO. -

Writing a -continuator: -
There are only two things to modify in the template -class definitions provided (apart from the name of the class you are -creating!) -

    -
  • -The constructor, where you pass to the object -any useful parameter (see the private data at end of class definition).
  • - -
  • -The operator() method, which performs the -computation of the actual test using the population plus any other parameter -passed at construct time. Don't forget to returnfalse -when the stopping criterion is met!
  • -
-Existing continuators: -Of -course you can find out all existing (non-virtual!) subclasses of eoContinue -by looking at its  inheritance -diagram. But you might find it more convenient to have them listed -here: -
    -
  • -
  • -
- -


-


Combining -continuators: -

-


CheckPoints: -

Interface: -

Using a checkpoint: An eoCheckPoint -being an eoContinue, its usage is exactly the same. However, an eoCheckPoint -will actually do many more things than an eoContinue before returning its -boolean result as an eoContinue. -

Writing a -checkpoint: -
This is something you should never have to do. However, should you -feel you have to do it, please do - and send us both the reasons that lead -you to that (what is it you couldn't do with existing eoCheckPoint), and -the resulting code, of course. -
-


Statistics: -

Interface: -

Using statistics: -

Writing a statitic: -
-


Monitors: -

Interface: -

Using monitors: -

Writing a monitor: -

-


Updater: -

Interface: -

Using updaters: -

Writing an updater: -
  -

-


Local: Introduction -- Continuators - Combined -continuators - Checkpoints - Statistics -- Monitors - Updaters -
-
General: Algorithm-Based -- Component-Based - Programming -hints -EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Fri Dec. 8 2000  -
  - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoEngine.html b/trunk/paradiseo-eo/tutorial/html/eoEngine.html deleted file mode 100644 index 367c94177..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoEngine.html +++ /dev/null @@ -1,778 +0,0 @@ - - - - - - Genetic Engine - - -General: Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
Local:
Introduction  -- Selection - Replacement -- General Replacement - Popular -evolution engines - Tournaments - Merge -- Reduce - HowMany - SurviveAndDie -
-
-

-Evolution Engine

- -
-
Evolution -Engines -

The term evolution engine denotes -the different parts of an Evolutionary Algorithm that simulate the Darwinism: -

-

The fittest individuals are more likely to -reproduce and survive.

- -

Darwinism takes place in two different phases of an EA, though in many -popular -variants, only one phase is activated. -

Selection is the Darwinistic choice of parents -that will be allowed to reproduce. -
Replacement takes place after reproduction, -and is the Darwinistic choice of those individuals that will survive, -i.e. become the parents of the next generation. -

Both selection and replacement will be discussed in turn, before some -helper classes that are used within selection and replacement procedures -are presented. -

-


Selection -

The very beginning of the generation loop is the selection phase, where -some individuals from the population are chosen to become the parents, -to be later modified by the variation operators and become the offspring. -This is the first step of the artificial Darwinism, -where the fittest individuals are allowed to reproduce. -
Conceptually, there are two distinct ways to choose the lucky ones: -one by one from the very same population (i.e. with replacement), which -means that at the extreme the same individual can be chosen every time; -or as a whole, in some sort of batch procedure. Of course, repeated selection -of one individual results in a batch selection! -

There are hence two basic EO classes for selection: eoSelectOne -and eoSelect, with different interfaces. -
-


-
eoSelectOne: The -interface -

The abstract class for selection of a single individual from a population -is eoSelectOne, and the interface for its -operator() -is -

-

const EOT & operator()(const eoPop<EOT>& -_parents)

- -

which you could have guessed from the inheritance tree for class eoSelectOne., -as you see there that eoSelectOne derives -from class eoUF<const eoPop<EOT>&, -const EOT&>. -
This means that it takes 1 population -(without the right to modify it - see the const -keyword in argument) and returns a const reference to an individual (again, -the const keyword ensures -that nothing will happen to the individual in the population - remember -it returns a reference). -
-


-
eoSelectOne: Instances -
    -
  • -eoDetTournamentSelect uses -the (deterministic) tournament to choose one -individual. Its constructor has one parameter, the tournament size (integer ->= 2).
  • - -
  • -eoStochTournamentSelect uses -the binary stochastic tournament to choose -one individual. Its constructor has one parameter, the tournament rate -(real in [0.5,1]).
  • - -
  • eoProportionalSelect -is the original roulette wheel selection: -each parent is selected with a probability proportional to its fitness.
  • - -
  • -eoRandomSelect is the random -selection and should give bad results! At the moment, it selects one individual -uniformly, but it would be easy to use any probability distribution.
  • -
- -
-
eoSelect: The -interface -

The abstract class for batch selection of a  whole set of individuals -from a population is eoSelect, and the interface -for its -operator() is -

-

void operator()(const eoPop<EOT>& -_source, eoPop<EOT>& _dest)

- -

which you could have guessed from the inheritance tree for class eoSelect., -as you see there that eoSelect derives from -class -eoBF<const eoPop<EOT>&, eoPop<EOT>&, void>. -
This means that it takes 2 populations, -and fills the second one with individuals from the first one without modifying -it (see the const keyword). -This raises two questions: -

    -
  • -How does it know how many individuals to select?
  • - -
  • -How to use repeated selection of one individual (see above the eoSelectOne -class)?
  • -
- -
-
eoSelect: HowMany -

There are two ways an  can derive the number of individuals it -has to select: either it is a fixed number, or it is some percentage of -the source population size (any positive real number). In both case, this -must be passed to the constructor. In most instances, however, the constructor -will accept a real number (double) and a boolean indicating whether this -real number should be used as an absolute integer or as a rate, thanks -to the eoHowMany class. -

Note: an eoSelect -can select more individuals than there are in the original population. -It is the job of the replacement to ensure -that the population size does not grow along the generations. -

-


eoSelectMany: Encapsulating -eoSelectOne -

It is clear that repeated selection of a single individual is a way -to do batch selection. This is why it is possible to encapsulate an object -of class eoSelectOne into an object of class -eoSelect -using the class eoSelectMany. Class eoSelectMany -is derived from class eoSelect and takes in -its constructor an eoSelectOne (plus the number -of individuals it should select, according to the eoHowMany -paradigm). -

Note: some procedures for selecting -a single individual require some pre-processing of the whole population -that takes place before any selection, and will be repeated identically -for every individual. The encapsulation of an  into an  allows -to call such technical processing only once through the use of method setup -of class . This method does nothing by default, but is mandatory -
-


-
eoSelect: Other -instances -
    -
  • -eoDetSelect selects individuals -deterministically, -i.e. starting from the best ones down to the worse ones. If the total number -to select is less than the size of the source populations, the best individuals -are selected once. If more individuals are needed after reaching the bottom -of the population, then the selection starts again at top. It the total -number required is N times that of the source size, all individuals are -selected exactly N times.
  • -
-No other instances of eoSelect that are not -encapsualtions of eoSelectOne procedures are -avaiable as of today (Jan. 4 2001). -
-
-
Replacement -

The replacement phase takes place after the birth -of all offspring through variation operators. This is the second -step of the artificial Darwinism, where the -fittest -individuals are allowed to survive. -
It can also be viewed on the algorithmic side as closing the generation -loop, i.e. building the population that will be the initial population -of next generation. That population will be built -upon the old parents and the new-born offspring. In all algorithms -that come up with EO, the population size -is supposed to be constant from one generation -to the next one - though nothing stops you from writing an algorithm with -varying population size. -
-


-
Replacement: The -interface -

The abstract class for replacement procedures is the functor class -eoReplacement, -and the interface for its operator() -is -

-

void operator()(eoPop<EOT>& _parents, -eoPop<EOT>& _offspring)

- -

which you could have guessed from the inheritance tree for class eoReplacement., -as you see there that eoReplacement derives -from class eoBF<eoPop<EOT>&, eoPop<EOT>&, -void>. -
This means that it takes 2 populations -(called, for obvious anthropomorphic reasons, _parents and _offspring :-) -and is free to modify both, but the resulting population should be placed -in the first argument (usually called_parents) to close the loop and go -to next generation. -
-


-
Replacement: Instances -
    -
  • -eoGenerationalReplacement This -is the most straightforward replacement, called generational -replacement: all offspring replace all parents (used in Holland's -and Goldberg's traditional GAs).  It takes no argument, and supposes -that offspring and parents are of the same size (but does not check!).
  • - -
      -
  • -eoMergeReduce -This is one the basic types of replacement in EO. It has two major steps, -merging -both populations of parents and offspring, and reducing -this big population to the right size. It contains -two objects of respective types eoMerge -and eoReduce -and you can probably guess what each of them actually does :-)
  • - -
      -

      -
      -
      -

    Available instances of eoMergeReduce replacement -include -

      -
    • -eoCommaReplacement, one of -the two standard strategies in Evolution Strategies, -selects -the best offspring. It is an -eoMergeReduce(eoNoElitism, -eoTruncate).
    • - -
    • -eoPlusReplacement, the other -standard Evolution Startegies replacement, -where the best from offspring+parents -become the next generation. It is an eoMergeReduce(eoPlus, -eoTruncate).
    • - -
    • -eoEPReplacement, used in the -Evolutionary Programming historical algorithm, does an EP stochastic -tournament among parents + offspring. It is an eoMergeReduce(eoPlus, -eoEPReduce) and its constructor requires as argument T, -the size of the tournament (unsigned int).
    • -
    - -
  • -eoReduceMerge is another important -type of eoReplacement: the parents are first reduced, and then merged with -the offspring. Note that the parent population is reduced of the exact -number of offspring.
  • - -
    Though not mandatory, it is implicitely assumed that few offspring -have been generated. Hence, all derived replacement procedures of class -eoReduceMerge -are termed eoSSGAxxx, as they -are the ones to use in SteadyState Genetic Algorithm engine. This gives -the following instances of eoReduceMerge: -
      -
    • eoSSGAWorseReplacement -in which the worse parents are killed and replaced by all offsprings (no -additional argument needed);
    • - -
    • -eoSSGADetTournamentReplacement -in which parents to be killed are chosen by a (reverse) determinitic tournament. -Additional parameter (in the constructor) is the tournament size, an unsigned -int.
    • - -
    • -eoSSGAStochTournamentReplacement -in which parents to be killed are chosen by a (reverse) stochastic tournament. -Additional parameter (in the constructor) is the tournament rate, a double.
    • -
    - -
  • -eoSurviveAndDie -replacement strategies are a generalization of both the above that allows -strong elitist and eugenism in both the parent population and the offspring -population. The eoSurviveAndDie -building block takes one population, kills the worse and moves the best -to some safe place.  The corresponding replacements apply an eoSurviveAndDie -to the parents, another one to the offspring, and finally merges the remaining -parents and offspring before reducing the resulting population to the right -size. Available instances of eoSurviveAndDieReplacement -are limited todayto the eoDeterministicSaDReplacement, -the  that uses a deterministic MergeReduce.
  • - -
      -

      -
      -
      -

    Note: The basic use (and initial -motivation) for eoSurviveAndDie -takes 2 arguments, an eoMergeReduce and a number of surviving parents. -It starts by copying the best parents to the new populations, then merges -the remaining parents with the offspring before reducing to the number -of remaining seats in the new population.

- -
-
Replacement: Adding -(weak) elitism -

You can add what is called weak elitism -to any replacement by encapsulating it into an eoWeakElitismReplacement -object. Weak elitism ensures that the overall best -fitness in the population will never decrease: -if the best fitness in the new population is less than the best fitness -of the parent population, then the best parent is added back to the new -population, replacing the worse. -

Within EO, this is very easy to add: -

First, declare your replacement functor (here, generational, but it -can be any replacement object): -
eoGenerationalReplacement<Indi> genReplace; -
Then wrap the weak elitism around it: -
eoWeakElitismReplacement<Indi> replace(genReplace); -
and use now replace as your replacement procedure within your algorithm. -

Note: of course, adding weak elitism to -an elitist replacement makes no sense - but will not harm either :-) -
-


-
Replacement: Test -file -

The file t-eoReplacement -in the test directory implements all -above replacement procedures within a very simple and easy-to-monitor Dummy -EO class. -

-


-
General -Replacement: eoReduceMergeReduce -

In an attempt to unify all the well-known replacements, plus most of -the less-known-though-often-used, the eoReduceMergeReduce -replacement has been designed, and supersedes all of the above instances. -
It allows to implement strong elistism -(i.e. some parents survive, whatever their fitness and that of the offspring), -as well as multiple weak elistism (the best parents are put back in the -next population if they outperform the best offspring). -

Basically, an eoReduceMergeReduce -starts by eventually preserving the (strong) elite parents, proceeds by -reducing both the parent and offspring populations, merges those populations, -and eventually reduces the resulting populations (augmented with the elite -parents) to the right size. Last, the weak elitism is taken care of if -necessary. -
The following image, taken from the graphical interface of EASEA, somehow -demonstrates the different parameters of an eoReduceMergeReduce. -
-


-
eoReduceMergeReduce: The  -interface -
Of course the interface is that of eoReplacement. Let's concentrate -on the constructor. -

The constructor takes 6 arguments: -

    -
  1. -eoHowMany elite determines -the number of parents to be treated as elite (actual behavior determined -by next parameter) using the eoHowMany behavior.
  2. - -
  3. -bool strongElitism tells whether -the elite above corresponds to strong (true) or false(weak) elitism.
  4. - -
    Note: the case of no elitism is -obtained by setting elite to 0 -
  5. -eoHowMany reducedParents gives -the number of parents remaining after reducing them
  6. - -
    Note: 0 means that no parent survive -(except the possible elite), as in eoCommaReplacement -
                --1 is used inside eoSSGAReplacements -(one parent is killed to make room for the newborn) -
  7. -eoReduce<EOT> & reduceParents -indicates how the parents will be reduced (see available -instances).
  8. - -
  9. -eoHowMany reducedOffspring gives -the number of offspring remaining after reducing them
  10. - -
    Note: 0 is impossible (no evolution!!!) -
  11. -eoReduce<EOT> & reduceOffspring -indicates how the offspring will be reduced (see available -instances).
  12. - -
  13. -eoReduce<EOT> & reduceFinal -indicates how the merged reduced-parents/reduced-offspring will be reduced -(see available instances).
  14. - -
    Note: the number of individuals -remaining after that reduction is of course the original size of the population.
-All popular evolution engines use some replacement procedure that can be -viewed as an instance of an eoReduceMergeReduce. -
Moreover, a parser-based input -of a general  is proposed in file do/make_checkpoint.h. -
-
-
Popular -evolution engines -

The most popular evolution engines are listed below, together with the -way to use them in EO. If you don't find your particuler algorithm, please -send it to us, and we might include it here! In the following, P will denote -the number of individuals in the initial population. -

    -
  • -Generational Genetic Algorihtm: -popularized by Holland (75) and Goldberg (89), it uses
  • - -
    Number of offspring:  -P -
    Selection: Proportional -(the historical roulette wheel) when maximizing -a positive scalar fitness, ranking or -tournament (stochatic or deterministic) in all cases. -
    Replacement: Generational. -
    Remark: You could -use also the eoCommaReplacement, -with exactly the same result as there are as many offspring as we need -indiviudals in the next population. And using the eoSSGAWorseReplacement -would also give the same result, but would be very inefficient! -
    You can also add weak -elitism to preserve the best individual. -
  • -Steady-State Genetic Algorithm: -widely used in GA/GP community
  • - -
    Number of offspring:  -small (historically, 1) -
    Selection: tournament -(you can use ranking or proportional, but it will be rather inefficient). -
    Replacement: An -eoSSGAxxxReplacement. -
    Remark: You can -also use the eoPlusReplacement, but you divert from the original SSGA -
  • -(MU+Lambda)-Evolution Strategy: -The elitist ES strategy (Rechenberg 71 and Schwefel 81)
  • - -
    Number of offspring:  -Any -
    Selection: eoDetSelect -(batch deterministic). -
    Replacement: eoPlusReplacement -
    Remark: You could -also use eoEPReplacement, to smoothen the selective pressure during replacement, -thus getting close to EP evolution engine -
  • -(MU,Lambda)-Evolution Strategy: -The non-elitist ES strategy
  • - -
    Number of offspring:  -> P -
    Selection: eoDetSelect -(batch deterministic). -
    Replacement: eoCommaReplacement -
    Remark: You can -also add weak elitism to preserve the best individual -- though you'd probably use the plus strategy if you want (strong) elitism. -
  • -Evolutionary Programming: -The historical method of L. Fogel (65)
  • - -
    Number of offspring:  -P -
    Selection: eoDetSelect -(batch deterministic). Every individual reproduces exactly once. -
    Replacement: eoEPReplacement, -though one historical replacement was the determnistic replacement - i.e. -in EO the eoPlusReplacement). -
    Remark: Close to -an (P+P)-ES -
  • -You name it :-): -you can of course choose whatever combination you like - respecting a few -constraints and common-sense remarks. For instance, eoProportionalSelect -should be used only when maximizing a positive fitness, eoCommaReplacement -requires more offspring than parents, and, over all, existing EO algorithms -wirk with fixed size population - and it is your responsability to use -a cmbinatino of selection/replacement that fulfills this requirement (or -to create your own eoAlgo that handles varying size populations).
  • -
- -
-
Tournaments -

Tournaments are an easy and quick way to select -individuals within a population based on simple comparisons. Though usually -based on fitness comparisons, they can use any comparison operator. -
In EO, there are two variants of tournaments used to select one single -individual, namely Deterministic Tournament -and Stochastic Tournament, -that are used in selection and in replacement procedures, and a global -tournament-based selection of a whole bunch of individuals, the EP -Tournament. Though the single-selection tournaments can -be repeated to select more than one individual, and the batch tournament -selection can be used to select a single individual, both uses are probably -a waste of CPU time. -

    -
  • -Deterministic -Tournament of size T returns the best of T uniformly chosen -individuals in the population. Its size T should be an integer >= 2. It -is implemented in the eoDetTournamentSelect -class, a sub-class of eoSelectOne, as well as in the eoDetTournamentTruncate -class that repeatidly removes from the population the "winner" of the inverse -tournament.  These objects use the C++ function determinitic_tournament -in  selectors.h.
  • - -
  • -Stochastic Tournament -of rate R first choses two individuals from the population, and selects -the best one with probability R (the worse one with probability 1-R). Real -parameter R should be in [0.5,1]. It is implemented in the eoStochTournamentSelect -class, a sub-class of eoSelectOne, as well as in the eoStochTournamentTruncate -class that repeatidly removes from the population the "winner" of the inverse -tournament.  These objects use the C++ function determinitic_tournament -in  selectors.h.
  • - -
    Note: A stochastic tournament with -rate 1.0 is strictly identical to a deterministic tournament of size 2. -
  • -EP Tournament -of size T is a global tournament: it works by assigning a score to all -individuals in the population the following way: starting with a score -of 0, each individual I is "opposed" T times to a uniformly chosen individual. -Everytime I wins, its score in incremented by 1 (and by 0.5 for every draw). -The individuals are then selected deterministically based on their scores -from that procedure. The EP Tournament -is implemented in the  eoEPReduce -truncation method used in the eoEPReplacement -procedure.
  • - -
    Note: whereas both the determinitic -and the stochastic tournament select one individual, the EP tournament -is designed for batch selection. Of course it could be used to select a -single individual, but at a rather high computational cost.
- -


-


-
Merging -populations -

In replacement procedures, one frequently needs to merge two populations -(computed form old parents and new-born offspring). Classes derived from -the abstract class eoMerge are written for that purpose. -
-


-
eoMerge: interface -
The abstract class for merging procedures is the functor class -eoMerge, -and the interface for its operator() -is -
-

void operator()(const eoPop<EOT>& -_parents, eoPop<EOT>& _offspring)

- -

which you could have guessed from the inheritance tree for class eoMerge, -as you see there that eoMerge derives from -
class eoBF<const eoPop<EOT>&, eoPop<EOT>&, -void>. -
This means that it takes 2 populations -and modifies the seond one by adding some individuals from the first one -(which is supposed to remain constant). -
-


-
eoMerge: instances -
Available instances of eoMerge objects -are eoPlus, that simply adds -the parents to the offspring, or eoElitism, -that adds only some of the (best) parents to the offspring. A special case -of eoElistism is eoNoElitism, -an eoMerge that does nothing. -

-


-
Reducing -populations -

The other useful component of replacement procedures, eoReduce, -kills -some individuals from a given population. -
-


-
eoReduce: interface -
The abstract class for reducing procedures is the functor class -eoReduce, -and the interface for its operator() -is -
-

void operator()(eoPop<EOT>& _parents, -unsigned int new_size)

- -

which you could have guessed from the inheritance tree for class eoReduce, -as you see there that eoReduce derives from -
class eoBF<eoPop<EOT>&, unsigned -int, void>. -
An eoReduce shoud take a -population and shrink it to the required size. -
-


-
eoReduce: instances -
Available instances of eoReduce are -
    -
  • -eoTruncate, deterministically -kills the worse individuals, keeping only the required number. It starts -by sorting teh populations, and hence does modify -its order.
  • - -
  • -eoLinearTruncate, deterministically -kills the worse individuals, keeping only the required number. It does -so by repeatedly removing the worsr individual. Hence does not -modify its order, but takes longer time than eoTruncate -in case of many offspring.
  • - -
  • -eoEPReduce, uses the EP -stochastic tournament to reduce the population. It requires an additinal -argument, the tournament size.
  • - -
  • -eoDetTournamentTruncate uses -inverse deterministic tournament to repeatidly kill one individual until -the propoer size is reached. As eoLinearTruncate, -it might take some time in the case of many offspring. It requires the -size of the tournament (unsigned int) -as parameter in the constructor (default is 2).
  • - -
  • -eoStochTournamentruncate  -uses inverse stochastic tournament to repeatidly kill individuals from -the population. It requires the rate of the tournament (double) -as parameter in the constructor (default is 0.75).
  • -
- -
-
eoHowMany: -Choosing a number of individuals -

Many classes in selection/replacement procedures will handle a number -of individuals that may either be fixed or be related to some argument-population -size. -
Of course, it is possible to write different classes that will only -differ by the way they compute the number of individuals they have to treat, -as it is done for selectors with the two classes eoSelectPerc -and eoSelectNumber (it could also have been -possible to have some pure abstrat class and implement the computation -of the number of individuals to treat in some derived classes). -
However, the class eoHowMany -allows one to handle in a single class three different behaviors when given -a poopulatio size as argument: -

    -
  • -return a given rate of the argument population size
  • - -
  • -return an absolute (unsigned) integer, whatever the argument population -size
  • - -
  • -return the argument population size minus a given number
  • -
- -
-
eoHowMany: interface -
The class interface for its operator() -is -
-

unsigned int operator()(unsigned int _pop_size)

- -

which you could have guessed from the inheritance tree for class eoHowMany, -as you see there that eoHowMany -derives from -
class eoUF<unsigned int, unsigned int>. -

It has 3 possible constructors, that determine its behavior: -

    -
  • -eoHowMany(double _rate, bool _interpret_as_rate -= true) where _rate -is by default the fixed rate of behavior 1 above. However, if the boolean -second argument is false, the rate is transformed into a positive integer, -and is used for behavior 2 above
  • - -
  • -eoHowMany(int _combien): if -_combien -is positive, it is the absolute number of behavior 2 above, and if _combien -is negative, its absolute value is used to decrease the argument population -in behavior 3 above
  • - -
  • -eoHowMany(unsigned int _combien): -_combien -(positive!)  is the absolute number of behavior 2 above. Note -that this constructor is mandatory to avoid ambiguity, as an unsigned int -can be casted to either an int or a double.
  • -
-It is used in eoSelectMany (which supersedes -eoSelectPerc -and eoSelectNumber, but they are left there -for tutorial reasons!) as well as in many truncation -methods, and it is used a lot in the eoGeneralReplacement construct. -

-


-
Survive and -Die -
This class is highly politically incorrect: it implements strong elitism -and eugenism :-) -
It starts by killing the worse individuals from the source argument, -then appends the best ones to the destination argument and removes them -from the source argument. It is used in eoSurviveAndDieReplacement, -where the same dest is used successively for the parents and the offspring. -

eoSurviveAndDie: interface -
The class interface for its operator() -is -

-

void operator()(eoPop<EOT>& _source, -eoPop<EOT>& _dest)

- -

which you could have guessed from the inheritance tree for class eoSurviveAndDie, -as you see there that eoSurviveAndDie -derives from class eoBF<eoPop<EOT>&, -eoPop<EOT>&, void>. -

Its constructor takes 3 argumenrts: -

-

eoHowMany(double _survive, double _die, -bool _interpret_as_rate = true)

- -

to indicate how many (or what proportion, according to _interpret_as_rate) -of the source should be copied to the dest population, and how many (or -what proportion, according to _interpret_as_rate)  -should be erased from the source. -

-


Local: Introduction  -- Selection - Replacement -- General Replacement - Popular -evolution engines - Tournaments - Merge -- Reduce - HowMany - SurviveAndDie -
-
-
General: Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-Marc Schoenauer
- -
Last -modified: Tue. Jan. 9 2001  - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoEval.html b/trunk/paradiseo-eo/tutorial/html/eoEval.html deleted file mode 100644 index 4a90ac330..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoEval.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - Evaluation - - - -Tutorial main page - -Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
- -
-

Evaluation

-
- - - -
-
-Tutorial main page - -Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
Marc Schoenauer
- - -Last modified: Mon Nov 6 10:54:33 CET 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoGeneration.html b/trunk/paradiseo-eo/tutorial/html/eoGeneration.html deleted file mode 100644 index 39cfe3da0..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoGeneration.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Generation - - - -

Generation

- - - -
-
Marc Schoenauer
- - -Last modified: Mon Oct 30 19:29:29 CET 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoInit.html b/trunk/paradiseo-eo/tutorial/html/eoInit.html deleted file mode 100644 index 3a4df155c..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoInit.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - Initialization - - -Tutorial main page - -Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
- - -
-

-Initialization

- - - - - -
-
-Tutorial main page - Algorithm-Based -page - Component-Based - Programming -hints - EO documentation -
-
-Marc Schoenauer
- - -Last modified: Mon Nov 6 11:25:18 CET 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoIo.html b/trunk/paradiseo-eo/tutorial/html/eoIo.html deleted file mode 100644 index 14e0d37c1..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoIo.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - Input / Output - - - -

Input / Output

- -

- -

Stopping criteria

- -

- -

Displaying statistics

- -
-
Marc Schoenauer
- - -Last modified: Tue Oct 31 18:32:22 CET 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoLesson1.html b/trunk/paradiseo-eo/tutorial/html/eoLesson1.html deleted file mode 100644 index f88921015..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoLesson1.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - Tutorial: Lesson 1 - - -Lesson 2 - -Tutorial -main page - -Algorithm-Based - Component-Based -- Programming hints -EO -documentation -
-
-
-

-Tutorial: Lesson 1

-This lesson will let you -
    -
  • -run your first Evolutionary Algorithm written within -EO Library, choosing between evolving bitstrings, -or evolving vectors of real numbers,
  • - -
  • -browse through the code of these algorithms, or
  • - -
  • -follow the guided tour.
  • -
-Later you will be asked to -
    -
  • -write your own fitness function,
  • - -
  • -check that EO let you separate the representation -from the evolution engine.
  • - -
  • -use different kinds of selection -procedures in the framework of a generational GA evolution -engine,
  • -
- -

- -
I want to run -an Evolutionary Algorithm -now

-You can choose to run a standard bitstring Genetic -Algorithm (as defined in Goldberg's book) or a standard real-valued -genetic algorithm, as proposed in Micahlewicz's book. -

If you have not already done what was recommended in the Tutorial -main page , do it NOW. Then go -to the Lesson1 sub-dir of the tutorial dir, and simply type at the system -prompt -

(myname@myhost) EOdir/Tutorial/Lesson1 % FirstRealGA -
or -
(myname@myhost) EOdir/Tutorial/Lesson1 % FirstBitGA -

and something should happen. -

-What is happening?

-At the moment, the FirstBitGA maximizes the -number of ones in the bitstring (also calls the OneMaxfunction, -whose solution is, as you can guess, -11111111), -and the FirstRealGA is maximizing (the default -action for EO is to maximize) the inverse of the sum (i.e. minimizing the -sum) of the square of its variables (also called the sphere -function, whose solution is ... all zeroes). -

And what you see on the screen when running one of these two programs -is, in each case, the initial and final population of an Evolutionary run, -one individual per line, its fitness first, then the number of items (bits -or real numbers) of the genotype, and the genotype itself. The final population -hopefully contains the solution in the discrete case, and is close to it -in the continuous case. -
-


Browsing -the code: -

Now you need to take a look at the program codes, either by browsing -alone through the  sources for FirstBitGA -and FirstRealGA, or by following the guided -tour below. You might prefer to go directly to the exercises. -

- -
Guided tour:

- -
    -
  • -General includes:Like -all C-like code, the file starts with include directives (Bit -- Real). Apart from standard includes, -the specific file to include is eo: -this is a file that contains the list of the all important representation-independent -EO files.
  • - -
      -
  • -Representation: -you then have to declare the type of individuals you will be handling. -All evolution-related objects you will need are templatized w.r.t. the -type of individuals.
  • - - - -
  • -Fitness function: -the code for the fitness function is included in the file. It must take -as argument a reference to an individual (at the moment).
  • - -
      -
    • -Bit This function simply computes -the number of ones of the bitstring (it's called the OneMax function). -The optimum is of course the all-ones bitstring.
    • - -
    • -Real This function simply computes -the inverse of the sum of the squares of all variables (also called the -sphere function). The optimum is of course the all-zeroes vector.
    • - -
       
    - -
  • -Parameters: -all parameters of the algorithm are declared here (Bit -- Real), and their values and -assigned. Of course, this means that you will need to recompile to change -these values - see Lesson 3 to get rid of that heavy requirement.
  • - -
      -
  • -Random seeding: -Random numbers play an important role in Evolutionary Algorithms. See in -EO -programming hints more details about how this is simulated in EO - -but as far as you are concerned now, remember that the global -Random Number Generator is called rng -and should be used everywhere you need a realization of a random variable -of known law. Moreover, this RNG requires a seed, -which is set here (Bit - Real): -every time you run the algorithm with the same -seed, you will get the same -result. Hence, to test the robustness of your -algorithm, you should run it with different seeds. This is rather time -consuming in the present programs, so we suggest that you wait until Lesson -3 to do so.
  • - -
      -
  • -Fitness function encapsulation: EO -is based on the notion of functors -- hence you now need to encapsulate your fitness function into a functor -object. This is what is done here (Bit -- Real).
  • - -
      -
  • -Initialization: -to initialize the population, first declare an empty object of class eoPop<Indi>, -which is basically an STL vector<Indi>, -then fill it with Indi's. And remember that -v.push_back -simply appends its argument at the end of STL -vector v.
  • - - - -
  • -Output: take -a snapshot at the initial population (Bit -- Real). Sort it first, so the best -individuals are first, and display it. Note that an eoPop has a << -method, which means that a simple os -<< pop streams the pop -onto the ostream os. -This is true for all objects of of class eoPrintable -(most EO objects) through the method printOn -(which is then called by the << -operator).
  • - -
      -
  • -Evolution engine: -The selection/replacement mechanism (Bit -- Real) is a simple generational -GA here: a simple selector, and a generational replacement. The eoDetTournamentSelect -has been chosen as a robust selection, and the generational replacement -(all parents are replaced by the offspring) is hard-coded in the eoSGA -algorithm.
  • - -
      -
  • -Variation operators: -in the simple algorithm considered here, individuals undergo crossover -and mutation. -In EO, these operators are (functor) -objects of class eoQuadOp -(binary operator that modifies both its arguments) and eoMonOp -(unary operator).  These operators are applied in turn to all selected -parents, according to user-defined probabilities.  These probabilities -are defined with all other parameters, and will -be passed to the eoSGA algorithm.  -For more details on these classes, go to the algorithm-based -corresponding pages, or to their respective documentation pages.
  • - -
      -
      -
    • -Bit The crossover eo1PtBitXover -is the standard 1-point crossover, and eoBitMutation -is the standard bit-flip mutation that randomly -flips all bits with a given probability P_MUT_PER_BIT.
    • - -
      Warning: the P_MUT_PER_BIT -probability is an internal parameter of the -eoBinMutation, -it is NOT the probability of mutation -at the individual level. EO corrects what can be viewed as an inconsistency -in Holland's original work, further used in Goldberg's book by separating -the probability of mutation for each individual (independent of the type -of mutation that will be applied) from the probability of flipping each -bit, which is specific of the bit-flip mutation.  Hence, to run the -same algorithm as Goldberg's SGA, the mutation probability (at individual -level) is 1, and the probability of flipping each bit is P_MUT_PER_BIT. -
    • -Real The crossover eoSegmentCrossover -is the standard segment crossover for real-valued -vectors, that chooses a point randomly on the segment between both parents -(also termed BLX-0). eoUniformMutation -is the uniform mutation for real-valued vectors -that chooses a new value for each variable uniformly on an interval centered -on the parent value. The width of the interval is an internal -parameter of the object, here called EPSILON.
    • - -
       
    - -
  • -Stopping criterion: -Specify a maximum number of generations -to run (Bit - Real): -the simplest of all stopping criteria at the moment, using an object of -a sub-class of class eoContinue.
  • - -
      -
  • -The algorithm: the -simple algorithm that is used here, called  eoSGA -requires -as parameters a selector, -a crossover and -the associated crossover rate, -a mutation and -the associated mutation rate, -and a stopping criterion. -Take a look at the corresponding -constructor -of the class eoSGA: -it only initializes its private data -with the parameters. Now look at the operator() -method - the one that is called in the code for FirstBitGA -or FirstRealGA - and you'll find -out that is is as simple as it sounds.
  • - -
      -
  • -Output: After -running the algorithm, output the sorted final population (Bit -- Real) - and look at the best -individual: this is the result of the algorithm.
  • - -
      -
  • -Main body: for -technical reasons (intercepting the exceptions), we need a main like this -one (Bit - Real)., -and you should not touch it unless you know what you are doing. Simply -note that this main calls the function main_function, which we have been -discussing up to now!
  • -
- -

- -
Exercise -1: maximize your own function

-This is very easy - if your search space is that of bitstring or of unbounded -real numbers. -
    -
  • -Go to the tutorial directory, and copy the -program you want to modify onto mytest.cpp.
  • - -
  • -Edit mytest.cpp -with any text editor:
  • - -
  • -Modify the fitness function itself (binary_value -in FirstBitGA,real_value -in  FirstRealGA)
  • - -
  • -Compile the program by typing make -mytest at system prompt
  • - -
  • -Run the new program by entering the command -mytest -at system prompt.
  • -
- -

- -
Exercise -2: check the differences between both programs

-Go and take a look at the code for these programs (Bit -- Real). Use the symbolic representation -of an Evolutionary Algorithm (you should understand that figure now, otherwise -go there and come back) to understand how each -part of the EA is coded. Try to spot the differences between both codes: -there are not so many! -
After you've tried that alone, take a look at the solution -:-) -

- -
Exercise -3: change the selection procedure

-This is rather straightforward ... if you know what other types of selection -are available! -
At the moment, let's only consider only the following simple ones: -
    -
  • -You already know the tournament selection
  • - -
    Syntax:  eoDetTournamentSelect<Indi> -select(T_SIZE);   // T_SIZE in [2,POP_SIZE) -
  • -Try the well-known roulette wheel
  • - -
     Syntax:    eoProportionalSelect<Indi> -select; -
  • -Or the stochastic binary tournament
  • - -
    Syntax:  eoStochTournamentSelect<Indi> -select(RATE);     -// RATE in ]0.5,1] -
  • -and of course the random selection should -give bad results!
  • - -
    Syntax:  eoRandomSelect<Indi> -select;
-Note that all these classes of eoObjects are derived from the abstract -class -eoSelectOne. -To find out exactly how each procedure selects the individuals, read the -corresponding component-based page. -

-


Lessons learned: -
    -
  • -in EO, all actions are performed by functor -objects (this section is the last time in this tutorial that there -is a direct link to the EO Programming hints -page - though the link at top and bottom of all pages will remain there).
  • - -
  • -in EO, all object you will usually need to manipulate are templatized -w.r.t. the type of the individual you are handling.
  • - -
  • -The type of the individual is itself templatized -w.r.t. the type of fitness (double by default).
  • - -
  • -In EO (actually, in EC!) initialization and variation -operators are representation-dependent, while -the evolution engine is representation-independent -(well, like any rule, this one does have some exceptions).
  • - -
  • -Changing the fitness function, or the selection -procedure inside the generational GA evolution engine is straightforward.
  • - -
  • -remember, all solutions to exercises are in -the same sub-dir of dir Tutorial than the lesson itself (see here).
  • -
- -
Lesson 2 - -Tutorial -main page - -Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Fri Nov 3 18:49:12 CET 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoLesson2.html b/trunk/paradiseo-eo/tutorial/html/eoLesson2.html deleted file mode 100644 index 6b3cf4580..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoLesson2.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - Tutorial: Lesson 2 - - - -Lesson 1 - -Lesson -3 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-

-Tutorial Lesson 2: more encapsulations

-In this lesson, the same Evolutionary Algorithm will be rewritten in a -much more general context. -
First, look at the changes that have been done -to the algorithms. Then benefit from the new features by -
    -
  • -minimizing (and not only maximize) the fitness
  • - -
  • -combining several -operators of the same type
  • - -
  • -combining several -stopping criteria
  • - -
  • -use alternate selection/replacement -engines, deviating from the pure generational GA
  • -
- -


Again, two basic algorithms are provided, namely FirstBitEA -and FirstRealEA. -
To compile and run them, go to the Lesson2 -sub-directory of the tutorial dir and simply type make. -Both examples should get compiled, and you can then run them by calling -their name from the system prompt. -

Note the slim difference in names, from GA -to EA: the behavior of these  EAs is -almost identical to that of their GA counterpart, at least with the default -settings that are provided. But their potentialities for easy modifications -are much larger, both in terms of variation operators -and of evolution engine (i.e. selection/replacement -mechanism).  -


Changes -

Browse through the code, and discover them one after the other: -

    -
  • -The fitness function -now -lies in a separate file -(Bit -- Real). But, more important, its -argument is a vector<bool> or a vector<double>, -and not an unknown type. This will allow to use the same file for any EO -object that is a sub-class of the corresponding STL vector class.
  • - -
      -

      -

    Note: Also, -a non-templatized fitness can be compiled -separately (not done here) into an object -file once and for all (remember -that templates forbid that). -
      -

  • -The encapsulation -of -the fitness (Bit -- Real) looks more complicated: you -have to declare 3 template arguments: the type of EO object it will be -applied to, the return type and the type of argument the function actually -requires.
  • - -
      -

      -

    Note: In the -previous files (Bit - Real) -, the last 2 types were deduced from the first (2nd argument = fitness -type of EO object, third = first). -
      -

  • -Both the above modifications makes it very easy to -minimize -rather than maximize a fitness function (see Exercise -1).
  • - -
      -
  • -The initialization -of the population is now encapsulatedinto -a separate initializer (based -on a boolean generator or a double-number -generator -see random_generators.h) -that is then used in the constructor of the population to build the individuals. -You can also use different initializers and call them in turn through the -call to pop.append() function -(see Exercise 2).
  • - -
      -

      -

    Note: Don't -forget to evaluate the population: -the eoPop has no idea of the eval function, so it has to be done from outside!!! -
      -

  • -You can now use -different -crossover -and -mutation -operatorsin the same algorithm, -choosing among them according to -relative -weights. The -class eoPropCombinedxxxOp, -where -xxx is either Mon (for mutations, of class eoMonOp) -or Quad (for crossovers, of class eoQuadOp), -is derived from the corresponding eoxxxOp class. When applying the eoPropCombinedxxxOp, -one of the eoxxxOp it contains is chosen by a roulette -wheel, according to their respective rates, and is applied to the arguments. -For more details on these classes, go to the algorithm-based -corresponding pages, or to their respective documentation pages.
  • - -
      -
    • -Bit
    • - -
      Three crossover -operators are available: the one-point -crossover is still there (class ), but now you also have the N-point -crossover eoBinNxOver -(the  number of points is 2 by default, but as always you can change -that in the constructor), and the Uniform -crossover eoBinUxOver -(where you can eventually twidle the choice from one parent to the other -by providing a probability in the constructore - defaulted to 0.5, which -amounts to symmetrical choice). -
      As for mutation -operators, apart from the eoBinMutation -(standard bitstring mutation flipping one bit with a given probability) -you can also use the eoDetBitFlip -that always filps the same number of bits (1 by default, but you can change -that in the constructor), randomly chosen in the bitstring. Even though -the average number of bits flipped is the same if the eoBinMutation -is -used with a rate of 1/N (N is the bitstring length) the -behavior of these mutation can be very different -on many problems. -
    • -Real
    • - -
      Two crossover -operators are available: the eoSegmentCrossover -chooses one point uniformly on the segment joining the parents, while the -eoHypercubeCrossover -performs a linear combination on each coordinate independently, which amount -to choosing the offspring uniformly in the hypercube whose diagonal is -the segment joining the parents. -
      As for mutation -operators, apart from the eoBinMutation -(standard bitstring mutation flipping one bit with a given probability) -you can also use the eoDetBitFlip -that always filps the same number of bits (1 by default, but you can change -that in the constructor), randomly chosen in the bitstring. And last but -not least, the normal mutation eoNormMutation modifies all coordinates -with a Gaussian noise, with standard deviation passed in the constructor.
    -Note: A third optional argument in -method add is a boolean (defaulted -to false). When true, the actual rates for all operators are displayed -on the screen as percentages: you don't have to input rates that sum up -to 1, all rates are scaled anyway. -

    Note: The -operators have to be encapsulated into an eoTransform -object (Bit - Real) -to be passed to the eoEasyEA algorithm. -The eoSGATransform is a simple -eoTransform -that does exactly the same thing than eoSGA: -each pair from the selected parents undergoes the crossover -operator with given probability, and all individuals (after crossover -eventually) undergo mutation with given probability. -The arguments to the eoSGATransform -are an eoQuadOp with its probability -and an eoMonOp with the associated -probability. -
      -

  • -You can use combinations -of -several stopping criteria by using an object of the class eoCombinedContinue -(Bit -- Real). Initialize it with an object -of class eoContinue, and -add -as many of other such objects as you wish. And as an eoCombinedContinue -is -an eoContinue, -simply pass it to the algorithm (Bit -- Real). To find out more, and -to get the list and syntax of existing eoContinue subclasses, check out -the corresponding component-based -page.
  • - -
      -
  • -The -full selection/replacement mechanism is -now in place through the eoEasyEA -algorithm.
  • - -
    This means that you can use different selectors. -which was already true in Lesson 1, but also different replacement -strategies (see Exercise 3) whereas generational -replacement was hard-coded in the algorithm eoSGA -used in Lesson1. -

    Beware that we have to encapsulate  (Bit -- Real) the eoDetTournament, -which is of class eoSelectOne (i.e. allows -to select one individual from a population, its operator() -returning a single individual) into an object of the eoSelectPerc -(perc stands for percentage) which allows to select a ... percentage of -a population (his operator()  -returns a population). This was done internally in the  constructor -of eoSGA  - see lesson1.

- -
Exercise -1: minimizing -
Modify the algorithm so that it minimizes the -fitness. -
    -
  • -For the bitstring case, you only have to modify the -declaration -of the representation, using eoMinimizingFitness -instead of double. -But is that really all? Give it a try, look at the output, and do it right -the second time!!!
  • - -
  • -For the real-valued problem, you also need to modify -the file real_value.h so -that it returns the sum of squares instead of its inverse. And again there -is something else to modify...
  • -
-Exercise -2: initialization -
Use different initializers: for instance, on -the real-valued sphere function minimization, try to initialize half of -the population in [-2,-1] and the other half in [1,2], with and without -the segment and hypercube crossovers (and for large values of VEC_SIZE, -the size of the vectors). Amazing, isn't it! Explain that result. -

Exercise -3:  full selection/replacement -
You can now twiddle the number of offspring that -will be generated from the parents. But of course you need to adjust the -replacement to keep a constant population size. -

    -
  • -To modify the number -of offspring, use the second argument of the -encapsulator -(Bit - Real) -of the selector -of class eoSelectOne -into an eoSelectPerc object. For instance, try
  • - -
                    -eoSelectPerc<Indi> select(selectOne,2.0) -
    to generate twice as many offspring as there -are parents. -
    You can also use the other encapsulator that -takes as second argument an absolute number (e.g. if you want to generate -2 offspring whatever the population size): -
                    -eoSelectNumber<Indi> select(selectOne,2) -
    Or you can use the HowMany -paradigm and the eoSelectMany to -do either one depending on some command-line input (advanced). -
  • -To keep a constant population -size, you can use either the eoCommaReplacement -class, or the eoPlusReplacement. -The former selects the best offspring to replace the parents, the latter -selects the best among parents+offspring. Of course you cannot use eoCommaReplacement -if you have less offspring than parents!
  • - -
    Now if you use eoSelectRandom -as selector with a rate of -lambda, you end up with exactly the (mu+lambda) -or -(mu,lambda) strategies from Evolution -Strategies. -
  • -Question: what do you -get if you select 1 offspring only, and an eoPlusReplacement -strategy? Yes, you get almost the replace_worst Steady-State GA, though -rather inefficient, as you sort the population at every generation.
  • - -
  • -Hint: there are a few -Steady-State replacement strategies already there in EO. See the Replacement -page.
  • -
-Remember: all solutions -are in the same sub-directory of the Tutorial dir than the examples (i.e. -here Lesson2), and are described here. -

-


-
Lessons learned: -
    -
  • -How to write a fitness function that only -needs a genotype, not a full individual. Moreover you can compile it separately.
  • - -
    How to initialize the population using -random generators -
  • -How to use other evolution engine than the -simple generational GA.
  • - -
  • -How to combine different objects of the same kind into a single object -that you can use like a simple basic object (operators -and stopping criteria here).
  • -
- -
Lesson 1 - -Lesson -3 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Fri Nov 3 18:49:12 CET 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoLesson3.html b/trunk/paradiseo-eo/tutorial/html/eoLesson3.html deleted file mode 100644 index 40c36e118..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoLesson3.html +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - Tutorial: Lesson 3 - - -Lesson 2 - -Lesson -4 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-

-Tutorial Lesson 3: input/output

-In this lesson, you will still use the same Evolutionary Algorithm, BUT -in a much more user-friendly way. You -will discover how to -
    -
  • -input parameters on the command-line or from a text -file
  • - -
  • -save the population to disk, together with every part -of the algorithm you could think of - so you can decide to reload -everything later to continue the same run, eventually with different parameters.
  • - -
  • -generate statistics on the populations, and output -them to the screen, text or graphic, or to a file (or to any other -device you might want to use).
  • -
-First, but you should now have done it without being told, go into the -Lesson3 -sub-dir of the tutorial dir and type -make. -This will compile the SecondBitEA -and SecondRealEA -programs. -

You can then either -

- -


-


-
Changes -
As already said, the behavior of the algorithm -will be exactly the same as the previous one as far as optimization is -concerned. Only the input (of algorithm parameters) and output (of program -results) will be very different. -
Hence, the sections corresponding to the fitness -function, the initialization, the -variation -operators, the evolution engine -and the algorithm itself are -almost identical (apart from variable name changes). -
    -
  • -Fitness function: -there is an additional line -after the encapsulation of our binary_function -into an eoEvalFunc -object, which again encapsulate the eoEvalFunc -into an eoEvalFuncCounter. -As its name says, this object will, in addition to computing the fitness, -count the actual -number of evaluations: the fitness of non-modified individuals is of course -not recomputed - and this is taken care of by this object. Moreover, it -can be later used for displays -in eoMonitor objects, as done in the checkpoint -section.
  • - -
  • -The initialization -section has been extended to account for the possibility to re-load -a previously saved population. This is achieved -through an eoState object, if the corresponding program -parameter is set.
  • - -
  • -The -variation -operators and the evolution engine  -sections are similar to the ones in Lesson2
  • - -
  • -The parameter -section  is completely different from the previous one. All variables -corresponding to program parameters -are now read at run-time using an object of class eoParser.
  • - -
  • -The stopping criterion -section, has in fact now become the checkpoint section, as it involves -much more than just stopping criteria. See all details in the eoCheckpoint -paragraph below.
  • -
- -
eoParser: -parameter input -
The first two examples of Lessons 1 and 2 had -a very crude way to set parameter values: they were hard-coded, and you -had to recompile the whole program to change a single value. We shall now -see now to set parameter values in a flexible way (though we're still looking -for volunteers to create a Graphical User Interface :-) -
Two base classes are used for that purpose: -
    -
  • -The eoValueParam -class, templatized by the type of the variable -you want to handle (i.e. iinteger, -double, yourPrivateClass, ...). In -this lesson, we will not go into details: e.g. we will not tell you that -the -eoValueParam -is actually a templatized sub-class of abstract class eoParam (oops, I -said it!), nor will we deal with parameters outside their use from an eoParser. -See the parameter section of the Component-Based tutorial, or wait until -lesson -4).
  • - -
  • -The eoParser -class, whose only purpose is the input of parameters. Read its -description if you are interested.
  • -
- -
eoParser: -Modifying parameter values at run-time: -
Using an eoParser object, the parameter values -are read, by order of priority -
    -
  1. -from the command-line
  2. - -
  3. -from a text file
  4. - -
  5. -from the environment (forthcoming, if somebody insists)
  6. - -
  7. -from default values
  8. -
-The syntax of parameter reading is a keyword-based -syntax, now traditional in the Unix world: -
    -
  • -in EO, each parameter is designated by a (long) keyword, -and optionally by a short (1 character) keyword.
  • - -
      -
  • -the general syntax to modify parameter value at run-time is (either from -the command-line or in a text file)
  • - -
                 - ---longKeyword=value     -or     -cvalue    -if 'c' is the short keyword (though -c=value -also works) -
      -
  • -so, after compiling the executable for Lesson 3 (make -lesson3 at system prompt in Unix), you can try to type -in
  • - -
                  - -SecondBitEA -
    and see the algorithm run as before (OneMax optimized on 8-bits bitstrings). -But you can now type in -
                  - -SecondBitEA --vecSize=100 -
    and see the output of the optimization of OneMax on 100-bit bitstrings. -
      -
  • -Take a look at all available parameters by typing in
  • - -
                  - -SecondBitEA --help -
    or by going into the code: all parameter inputs have been grouped in -the -read_param function. -
      -
  • -After running the algorithm, a new file has been created, named SecondBitEA.status: -it contains the list of all actual parameters used, and can directly be -used as parameter input file: change the file name (e.g. to SecondBitEA.param), -edit it, change whichever parameter you want, and type in
  • - -
                    -SecondBitEA @SecondBitEA.param -
    and you will see all values that you defined into the file taken into -account. -
      -
  • -The priority remains to the command-line, -so you can still override the values in the parameter file by giving a -new value directly on the command-line.
  • -
- -
eoParser: -Programming parameter input: -
The code of SeconBitEA provides examples of parameters reading. Lets -take the example of the random number -generator seed.  -Of course, you first need to declare -an eoParser object (it needs the standard argc and argv in its constructor). -
    -
  • -You must first declare a parameter -of type uint32 (32-bits integer). -The arguments are: default value, long keyword, comment (that will appear -in the help message and in the output "status" file if any) and optional -character keyword.
  • - -
  • -Then you must pass it to the parser -using the processParam method. The optional argument is a section name, -that will be used to make the output of the parser look clean and ordered.
  • - -
  • -Finally, you need to assign the -value to the variable seed. -Note that the value() method -of eoParam returns a reference, so you can eventually modify its value -somewhere else later (though of course this is not any useful for variable -seed!).
  • -
-There is however another way to achieve the same result in less lines of -code - with a different memory management. This is what is done in the -code for eoRealEA. The same parameter for the random -number generator seed -is read, but in one single line of code.  -The only difference is that now you cannot access the eoValueParam object -itself - but this is not often necessary. -
Be careful to ensure that the type of the default value in the call -to eoParameterLoader::createParam -method as this is the only way the compiler can desambiguate the template -(remember that eoParameterLoader is a -base class for eoParser. -
-
-
eoState: -saving and loadingYou might have -noticed in the  read_param -described above a new parameter -named load_name. -Now if you go to the init section of -the code, you will see an alternative way of initializing -the population: if load_name is an empty string, -then we do as in the preceding example and use an eoInitFixedLength object. -However, if a load_name name was entered, the population is read through -the inState.load(load_name) -instruction. Moreover, the comment says "Loading pop and -rng". -

This is made possible using the eoState -class. eoState -objects maintain references to eoObjects -that have both an input method (readFrom) -and an output method (printOn), -i.e. that derive from the base class eoPersistent. -You must first register -object into a state, and can then save them to a (text) file, and later -read them from that file using the load -method, as done here. -
Of course, you can call the save -method for an eoState -object anywhere in the code. But the checkpointing -mechanism offers you better ways to do that - and it's so easy .... -

Note that an eoState alos has another use in EO whan it comes to memory -management: it can be a repository of pointers that are not allocated within -obects - allowing to delete them by simply deleting the eoState (see Lesson -4). -
-


eoCheckpoint: -every generation I'd like to ... -
The checkpointing mechanism is a very powerful -construct to perform some systematic actions -every generation - like saving things -(using eoState objects described above), computing statistics -on the population, updating -dynamical parameters or displaying -information. -

eoCheckpoint -objects are eoContinue -objects that contain pointers to different -types of objects. When their operator() -method is called (i.e. every generation in the examples up to now), they -first call the operator() -methods of all object they contain, and then return their result as an -eoContinue -object (i.e. should we continue or stop). -
Programming: To -do something every generation, you simply need to add -an object whose operator() -does what you want to the eoState that you will use as continuator in the -algorithm. -
-


eoCheckpoint: -Stopping -
The eoContinue -part of an eoCheckpoint -is a single object, passed to the -constructor. If you want more that one stopping criterion, use an eoCombinedContinue -object as described in Lesson2. -
-
-
eoCheckpoint: Computing -statistics -
Statistics are computed using eoStat -objects, i.e. functor objects whose operator() -receives as argument a reference to a population as argument, and can hence -compute whatever is needed over that population. eoStat -objects are templatized -over the type of what they compute (e.g. double, -or pair<double>, -or ...). But looking at the inheritance -diagram of the eoStat -class, you find that eoStat -objects are also eoValueParam -objects. And this allows eoStat -to be used within eoMonitor -object, and hence displayed -to the user! -

Statistics: Available -instances -
Some widely used statistics are already available (and of course you -can build you own!). -

    -
  • -eoBestFitnessStat returns -the fitness value of the best individual in the population (of type FitnessType, -whatever this is).
  • - -
  • -eoAverageStat and eoSecondMomentStat -respectively return the average (type double, assumes that FitnessType -is castable to a double) and a pair made of the average and the standard -deviation (type pair<double>) -of the fitnesses in the populations.
  • - -
  • -eoDiversityStat returns the -diversity in the population: assuming that there is a distance function -defined among individuals, it returns the average inter-individuals distance. -See also Exercise 2.
  • -
-Statistics: Adding -to the checkpoint -
To compute more statistics when your algorithm is running, simply declare -the corresponding eoStat objects, and add -them to the eoCheckpoint you -use in the algorithm. But it hardly makes any sense if you don't monitor -those statistics (i.e. either displaying them on the screen, or storing -them into a file): see next section! -

Note: actually, there are 2 distinct -classes that compute and give access to statistics: eoStatand -eoSortedStat. -As its name indicate, the latter is used whenever computing the statistics -require a sorted population: not only this avoids to sort the population -many times, but also it avoids changing the order of the population at -all as eoSortedStat objects -work on a temporary vector of fitnesses . But as -far as their usage is concerned, its makes no difference. -
-


-
eoCheckpoint: Monitoring -eoParameters -
The eoMonitor -objects are used to display or store to a file a set of eoValueParam -objects. -

Monitors: Available -instances -
A few monitors are available in the EO distribution: -

    -
  • -eoStdoutMonitor displays its -parameters in text format on the screen. The -(optional) boolean value in the constructor modifies the output: when true -(the default), verbose output is used, with one line per parameter. When -false, parsimonious output displays one line for all parameters.
  • - -
  • -eoFileMonitor writes its parameters -in text format in a file. A file name is required -in the constructor, and an optional separator character can be added (default -is ' '). Note that the file is by default overwritten by next call to the -same program, unless you pass "true" as third (optional) boolean parameter, -which will result in appending to the file if it ever exists.
  • - -
  • -eoGnuplot1DMonitor displays -its parameters in graphical format on the screen -by calling the gnuplot program, -and as of today, only works in the Unix version of EO (as always, volunteers -are welcome to port that to MS Windows). It takes an optional filename -as input, as communication of data with gnuplot -is done through a file. If no filename is provided, the file will be erased -at the end of the run, while it is otherwise kept (though it will be overwritten -by next call to the same program).
  • -
- -


Monitors: Adding -to the checkpoint -
To display something while the algorithm is running, you need to declare -an eoMonitor object, add -some objects (that must be eoValueParam -objects) to that monitor, and of course add -the monitor to the eoCheckpoint -you use in the algorithm. -
-


-
eoCheckpoint: Updating -things -
The last type of objects that  eoCheckpoint -can handle are eoUpdater -objects. You should simply encapsulate in an eoUpdater -anything you wish to do which does not fit into one of the above category. -Note that their operator() method -does not receive any argument. -

Updater: Available -instances: A few updaters are available in the EO distribution: -

    -
  • -eoIncrementor A simple updater -which maintains a counter (an eoValueParam -that needs to be created beforehand, and passed in the constructor). It -is incremented every time the operator() -method is called (every generation at the moment). You can of course also -give an increment in the constructor (1 by default).
  • - -
  • -eoCountedStateSaver -and eoTimedStateSaver can -be used to save some existing eoState -(see above) to a file regularly, either based on the -generation count (e.g. every 4 generations) or based on the clock (e.g. -every 5 seconds).
  • -
-Updater: Adding to -the checkpoint -
A very simple example of using an eoUpdater -is given in the code for SecondBitEA: First declare -an eoValueParam object, then -use -it to construct an eoIncrementor -that you must add to the eoCheckpoint -in order to activate its update. You can then use the parameter for your -purpose, for instance as a first coordinate for a monitor. -
Note also how to use the statesavers: first declare -a state, then register -whatever you think necessary to that state, then pass -the state to some state-saver - and don't forget to add -the statesavers to the current eoCheckpoint. -
-
-
Exercise 1: -
    -
  • -The code of SecondBitEA -display things in the current window in text format. Replace the eoFileMonitor -by an eoGnuplot1DMonitor -and watch the graphical output (Unix -systems with gnuplot -installed only, sorry).
  • - -
  • -Note that you must also replace the eoSecondMomentStat -by an eoAverageStat, -otherwise the standard deviations won't make any sense here.
  • - -
  • -Please try to understand why the average is always -0 before taking a look at the solution (file exercise1.cpp).
  • - -
  • -Then run
  • - -
              -exercise1 --vecSize=1000 --maxGen=1000 -
    to get a chance to see something happening before -the program ends!
- -
Exercise 2: -
Write the eoDiversityStat -stat computation and test it. Thanks to send us the code! -
-
-
Exercise 3: -
Write the code for an eoGnuplotSecondStatMonitor -that would display the eoSecondMomentStat -(i.e. take into account the standard deviations and display them as error-bars. -
Again, send us the code afterwards, thanks :-) -
-
-
Lessons learned: -
    -
  • -Value of program parameters can be set at run-time -using the eoParser class.
  • - -
  • -Snapshots of the algorithms can easily -be saved (and restored) -thanks to the eoState class.
  • - -
  • -The eoCheckpoint mechanism -let you do things every generation -without modifying existing algorithms, by simply writing the necessary -code and encapsulating it into an object that eoCheckpoint -is aware of, that are at the moment the following:
  • - -
  • -computing statistics, displaying -parameters -(e.g. statistics),  saving the -(eo)State -of the program.
  • -
-In next lesson you will find out that many adaptive -techniques (the state-of-the-art in Evolutionary Computation) can easily -be programmed through the eoUpdater -construct. -
-
Lesson 2 - -Lesson -4 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: None of your business! - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoLesson4.html b/trunk/paradiseo-eo/tutorial/html/eoLesson4.html deleted file mode 100644 index 0ddab737f..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoLesson4.html +++ /dev/null @@ -1,940 +0,0 @@ - - - - - - Tutorial: Lesson 4 - - -Lesson 3 - -Lesson -5 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
User's guide: General -- Bitstring - Real - ES -- Programmer's guide: General -- Memory management - Parameters -
-
-
-

-Tutorial Lesson 4: ready-to-use fully operational EA

-In this lesson, you will still use the same Evolutionary Algorithm. But -this time you will have full control of all components -from the command-line or a parameter file.
-You can even use the algorithm decribed here without any other knowledge -of EO, just by writing your fitness function as a plain C++ function.

- -Contents
- - -

-


-
User's -guide -

As already said, the behavior of the algorithms -will be exactly the same as the previous one as far as optimization is -concerned. Only now you will be able to tune every component of the algorithms -(except the type of genotype) using run-time parameters. -
Also, as in previous lessons, most of the code -is representation-independent, i.e. is the same for both the binary genotypes -and the real-valued genotypes. This small user's guide reflects that, but -you can go directly to the binary or the real -parts if you wish. -

Warning: this -is a user guide, not a programming guide. In particular, the keywords -of the parameters are not -the names of -the underlying classes (though they should be similar in most cases). -

User's guide:Parameter -input The way to input parameters -has already be described in Lesson -3. To get a list of parameters, type the command with option --help -(or -h): with both testBit and testReal this will result in -

    -
  • -Printing the list of keywords on the standard output
  • - -
  • -Creating (or overwriting) a file name testBit.status -or testReal.status that contains the list of all recognized parameters -and has the format of an input parameter file.
  • -
-User's guide:The -status file -
This file will always contain the list of the -parameters that have been actually used by the last run of the program, -however thay have been entered (try testBit --G1 and take a look a the -status file). The parameters that are commented out (a # character comments -out the rest of the line) in the file are those that were not specified -by the user. -
On the status file, the parameters are organized -in sections. Note, however, that this format is not mandatory in the param -file, as only the keywords -are processed. -

User's guide:Representation-independent -parameters -
In what follows, the fixed font colored text -is directly taken from the status file and is commented between the lines. -The presentation follows the status file format - only two sections are -representation-dependent (see the corresponding binary -or real sections). All other sections are presented -now: -

-


-
Section ###### -General ###### -
# --help=0 # -h : Prints -this message -
Boolean parameter of -absolutely no interest: tells whether or not help was requested. -

# --seed=988700289 # -S : -Random number seed -
Unsigned long parameter: -the seed for the Random Number Generator -If the parameter is absent, then time(0) is used, which indicates the number -of seconds since Jan. 1 1980, is used ... and stored in the status file, -of course, so you can repeat the same run by simply assigning that value -again. There is no default value ("true" random -seed). -

-


-

Section ###### -engine ###### -
In this section, one chooses all components of -the Evolution Engine (selection, replacemenet -and the like). -

# --popSize=20 # -P : Population -Size -
Integer parameter: -the size of the population (constant along evolution). And yes, this is -a representation independent parameter, as the population is created either -from a file or using an eoInit object - and only that object is representation-dependent. -
# --selection=DetTour(2) -# -S : Selection: Roulette, DetTour(T), StochTour(t) or Sequential(ordered/unordered) -
String parameter: -Name of selection procedure. Availabable -are the roulette wheel -(name Roulette, -fitness scaling coming soon); deterministic -tournament (name DetTour -with size - integer > 2 - in parentheses right after the name, use double -quotes on the command line);  stochastic -tournament (name StochTour -with probability - float in [0.5, 1] - in parentheses); sequential -(name -Sequential, -all individuals in turn), either from best to worst (option ordered -in parentheses), or in random ordered (option unordered); -and finally repeated independent uniform -choices  (name Random). -Default is DetTour(2). -

# --nbOffspring=100% # -O -: Nb of offspring (percentage or absolute) -
Integer or real-valued parameter: -this parameter indicates the amount of -offspring that will be generated from -the genitors every generation. However, this amount can be specified either -relative -to the population size, and it should then end with percent character (%), -or as an absolute -integer number (without the percent char). -
Indeed, you can either want, say 7 times more -offspring than parents (a rather common situation in Evolution Strategies), -in which case you give value 700% to nbOffspring -parameter; or you might want a single offspring whatever the population -size, like in Steady-State evolution engines, in which case you simply -enter value 1. Default is 100%. -

# --replacement=Comma # -R -: Replacement: Comma, Plus, EPTour(T), SSGAWorst, SSGADet(T), SSGAStoch(t) -
String parameter: -Name of replacement procedure. Availabable are the ES -plus and comma deterministic replacement -strategies (named respectively Plus -and  Comma); -EP -stochastic tournament (name EPTour -with tournament size in parentheses); and the steady-state -replacement -procedures, at the moment only based on fitnesses, replacement being either -deterministic -(new born replace worst parent, name SSGAWorst),  -or based on a tournament  (name SSGADet -for deterministic tournament, size in parentheses, and SSGAStoch  -for stochastic tournament, probability in parentheses). Default -is Comma (which btw is also SGA generational -replacement whenever there are as many offspring -as parents). -

# --weakElitism=0 # -w : -Old best parent replaces new worst offspring *if necessary* -
Boolean parameter: -if true, weak elitism is added to the replacement procedure (i.e. if the -best fitness among the offspring is less than the best fitness, the best -parent replaces the worst offspring). Default -is false. -

-


-

Section ###### -Output ###### -
This first section on Output contains parameters -related to screen text output. -

# --useEval=1 # Use nb of -eval. as counter (vs nb of gen.) -
Boolean parameter: -whether or not you want the nb of evluations to be displayed and used as -counter in statistics outputs and plots. Default -is true. -

# --printBestStat=1 # Print -Best/avg/stdev every gen. -
Boolean parameter: -toggles screen output of indicated statistics. Default -is true. -

# --printPop=0 # Print sorted -pop. every gen. -
Boolean parameter: -adds a dump of the whole population to the screen every generation. Is -likely to generate huge -output! Default is false. -

# --printFDC=1 # Print FDC -coeff. every gen. -
Boolean parameter: -adds Fitness Distance Correlation to output every generation. Default -is false. -

-


-

Section ###### -Output - Disk ###### -
This second section on Output contains parameters -related to DISK output. -

# --resDir=Res # Directory -to store DISK outputs -
String parameter: All -DISK -output will be stored in a separate directory --this is its name. If the directory does not exist, it is created. Note -that all graphical displays -will use that directory for their temporary files. Also all -job dump (see section Persistence -below) store their files there too. -

# --eraseDir=0 # erase files -in dirName if any -
Boolean parameter: -in order not to mix up files from different runs, it is mandatory to ensure -that the directory where all files will be stored is empty. However, if -this parameter is not set and the directory already exists, an exception -is thrown and the program stops. It it is set, all -files in the result directory are erased. -

# --fileBestStat=0 # Output -Best/avg/stdev to a file -
Boolean parameter: -if present, the best, average and standard deviation statistics are stored -in file resDir/best.xg. -Each line contains the generation number, eventualy the evaluation count -(depending on parameter useEval -then the statistics. Default is false. -
  -

-


-

Section ###### -Output - Graphical ###### -
This last section on Output contains parameters -related to graphical output (only available in Unix through gnuplot at -the moment). -

# --plotBestStat=0 # Plot -Best/avg Stat -
Boolean parameter: -toggles gnuplot output of best and average plots (Linux only at the moment). -Default -is false. -

# --plotFDCStat=0 # Plot -FDC scatter plot -
Boolean parameter: -toggles the Fitness Distance Correlation plot (Fitness vs distance to best). -Default -is false. -

# --plotHisto=0 # Plot histogram -of fitnesses -
Boolean parameter: -if on, gnuplot is used to plot the sorted population (fitness vs rank). -Gives a graphical idea of the diversity. Default -is false. -

-


-

Section ###### -Persistence ###### -
This section contains parameters handling job -dump and restart mechanism. -

# --Load= # -L : A save file -to restart from -
String parameter: -if present, the initial population (and the RNG) is read from indicated -file. That file must -come from a previous save (or must be in same format!), i.e. must contain -a popualtion, the RNG and all parameters. If no other parameter is modified, -using a previously saved population and RNG will give exactly the same -results than having run that previous run longer. And a way to be sure -to re-use the same parameters is to ... use that very save file as parameter -file, as it contains all actual parameters in the right format. -
Note that if not enough individuals are read, -the remaining are randomly initialized. No -default value. -

# --recomputeFitness=0 # --r : Recompute the fitness after re-loading the pop.? -
Boolean parameter: -in case some individuals are read from a file, their fitness is read too. -If this one is true, it is nevertheless recomputed. Default -is false i.e. use fitnes that's in the file. -

# --saveFrequency=0 # Save -every F generation (0 = only final state, absent = never) -
Integer parameter: -interval between two dump to disk of the whole population (+RNG + parameters), -in a file named genNN.sav in the dirRes -directory, where NN is the generation number. If this prameter is present -(even with 0 or negative value), the final population will always be saved, -whatever the reason for stopping. Hence the only way to avoid all saves -is to omit the parameter (there is no default -value). -

# --saveTimeInterval=0 # -Save every T seconds (0 or absent = never) -
Integer parameter: -time interval between two population (+RNG + parameters) dumps to disks. -Files are names timeNN.sav. See pervious parameter description for ore -details. No default value. -

# --status=t-eoGA.status -# Status file -
String parameter: -name of the status file (that contains all parameters in the input format). -There is no way to avoid creating that file except recompiling ... or giving -the name /dev/null (Unix). Default value is ProgramName.status -

-


-

Section ###### -Stopping criterion ###### -
This section allows to decide when the algorithm -will stop. -

# --maxGen=100 # -G : Maximum -number of generations (0 = none) -
Integer parameter: maximum number of generations. -A value of 0 disables that stopping criterion. Default -is 100. -

# --steadyGen=100 # -s : -Number of generations with no improvement -
Integer parameter: -stops whenever that number of generations is passed without any improvement -of the best fitness in the population, provided the following minimum number -of generations has been done. No default value. -

# --minGen=0 # -g : Minimum -number of generations -
Integer parameter: the above steadyGen parameter -starts its job only after that minimum nuber of generations is passed. -No -default value. -

# --maxEval=0 # -E : Maximum -number of evaluations (0 = none) -
Integer parameter: -maximum number of generations. -No default -value. -

# --targetFitness=0 # -T -: Stop when fitness reaches -
Real-valued parameter: -the algorithm stops whenever the best fitness reaches that target. No -default value. -

# --CtrlC=0 # -C : Terminate -current generation upon Ctrl C -
Boolean parameter: -if true, Ctrl C only stops after the current generation as completed (eventually -dumping population to a file if some saver is active). This very useful -feature is only available in Unix at the moment. Default -is false. -
-


-

User's guide:Bistring -specific parameters -
The following describes the specific parameters that are available -in program BitEA to evolve genotypes that are bitstrings. -
The two representation-dependent sections are concerned repectively -with genotype initilization and variation operators. -

-


-

Section ######    -Genotype Initialization    ###### -
This section should allow input if all necessary -parameters for genitype initialization -

# --ChromSize=10 # -n : The -length of the bitstrings -
Integer parameter: -The bitstring initilization only requires the length of the chromosome. -

-


-

Section ######    -Variation Operators    ###### -
This section allows to tune the way the variation -operators will be applied to the individuals (in the strict limit of SGA -model at the moment, see below). -

# --operator=SGA # -o : Description -of the operator (SGA only now) -
String parameter: -Describes the way the operators are applied. At the moment, only -SGA is available. SGA sequentially -applies a (quadratic) crossover operator with probability pCross -and a mutation operator with probability  pMut. -Both these operators can in turn be proportional -combinations of simple operators of the -same arity. -

# --pCross=0.6 # -C : Probability -of Crossover -
Floating-point parameter: -The probability that a given couple of selected genitors is applied the -crossover operator. In SGA operator model, each couple of selected genitors -is applied the crossover operator with that probability (and remains unchanged -with probability 1-pCross. -Whenever a couple undergoes crossover, a choice is made upon available -crossover operators proportionaly to their -relative rates (see below). Default -is 0.6. -

# --pMut=0.1 # -M : Probability -of Mutation -
Floating-point parameter: -The probability that a given individual (resulting from a crossover or -a non-crossover operation, see above) is applied the mutation operator. -Whenever an individual undergoes mutation, a choice is made upon available -mutation operators proportionaly to their -relative rates (see below). Default -is 0.1. -

# --onePointRate=1 # -1 : -Relative rate for one point crossover -
Floating-point parameter: -Rate of aplication of the 1-point crossover relatively -to 2-point and uniform below (see pCross -parameter). Default is 1. -

# --twoPointRate=1 # -2 : -Relative rate for two point crossover -
Floating-point parameter: -Rate of aplication of the 2-point crossover relatively -to 1-point above and uniform below (see pCross -parameter). Default is 1. -

# --uRate=2 # -U : Relative -rate for uniform crossover -
Floating-point parameter: -Rate of aplication of the 1-point crossover relatively -to 1- and 2-point above (see pCross -parameter). Default is 2. -

# --pMutPerBit=0.01 # -b -: Probability of flipping 1 bit in bit-flip mutation -
Floating-point parameter: -When bit-flip mutation -is applied, each bit is flipped independently with probability  pMutPerBit. -

# --bitFlipRate=0.01 # -s -: Relative rate for bit-flip mutation -
Floating-point parameter: -Rate of aplication of the bit-flip mutation relatively -to one-Bit mutation below (see pMut -above). Default is 0.01 -(if all relative rates are equal, the choice is uniform among available -operators). -

# --oneBitRate=0.01 # -d -: Relative rate for deterministic bit-flip mutation -
Floating-point parameter: -Rate of aplication of the one-bit mutation relatively -to bit-flip mutation below (see pMut -above). One-bit mutation flips one and only one bit, uniformly chosen in -the individual. Default is 0.01 -(if all relative rates are equal, the choice is uniform among available -operators). -
  -

-


-

User's guide:Real-valued -specific parameters -
-To run your own real-valued application, write your fitness function -(see real_value.h
), -recompile, and run from the command line
-

RealEA @RealEA.param

-in order to use sensible parameters! (see Lesson 3 -for details on the parameter file). -But remember that Self-adaptive ES will work much better! -

-The following describes the specific parameters that are available -in programs RealEA -and ESEA -to evolve genotypes that are vector<double>. -
RealEA -implements what can be called a "real-coded GA", where everything is identical -to the bitstring case above (except initialization and operators that are -specific to vector<double> of course) and ESEA -implements the full Evolution-Strategy self-adaptive mutation mechanism -- together with specific ES crossover operators. The initialization section -for both programs are identical, but the operator sections are totally -different. See next paragraph for a description of ES -specific parameters. -

-


-

Section ######    -Genotype Initialization    ###### -
This section should allow input if all necessary -parameters for genitype initialization -

# --vecSize=10 # -n : The -number of variables -
Integer parameter: -The initilization requires the length of the vector<double>. -

# --initBounds=10[-1,1] # --B : Bounds for uniform initialization -
Bounds parameter: -Bounds for uniform initialization of the real variables. The syntax for -this parameter given in the objectBounds -parameter description below. This argument is mandatory, furthermore the -given bounds must be bounded. -The -default is [-1,1] for all variables. -
Note that this parameter is independent of the objectBounds -parameter below. -

# --sigmaInit=0.3 # -s : -Initial value for Sigma(s) -
Floating-point parameter: -The initial value for all standard-deviation mutation strategy parameters. -Useless when no self-adaptive mutation mechanism is used. -

-


-

Section ######    -Variation Operators    ###### -
This section allows to tune the way the variation -operators will be applied to the individuals (in the strict limit of SGA -model at the moment, see below). -

# --objectBounds=10[-inf,+inf] -# -B : Bounds for variables -
Bounds parameter: -Bounds for object variables. The syntax for this parameter is a succession -of (optionally semi-colon separated) items of the form N[min,Max]where -the optional integer N -indicates how many variables have the given bounds. min -and Max -are either floating point numbers, or -inf -(resp. +inf) -to indicate unbounded direction. If not enough bounds are provided, the -remaining variables will have the same bounds as the last bounds given. -
This argument is mandatory, and -default -is [-inf,+inf], i.e. unbounded variables. -

Examples: -10[-1,1]is -equivalent to simply [-1,1] -or to the extended  [-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1]. -
And [-1,1];2[0,1];[-inf,10]results -in the first variable staying in [-1,1], the second and the third in [0,1] -and all remaining variables below 10. -

# --operator=SGA # -o : Description -of the operator (SGA only now) -
String parameter: -Describes the way the operators are applied. At the moment, only -SGA is available. SGA sequentially -applies a (quadratic) crossover operator with probability pCross -and a mutation operator with probability  pMut. -Both these operators can in turn be proportional -combinations of simple operators of the -same arity. -

# --pCross=0.6 # -C : Probability -of Crossover -
Floating-point parameter: -The probability that a given couple of selected genitors is applied the -crossover operator. In SGA operator model, each couple of selected genitors -is applied the crossover operator with that probability (and remains unchanged -with probability 1-pCross. -Whenever a couple undergoes crossover, a choice is made upon available -crossover operators proportionaly to their -relative rates (see below). Default -is 0.6. -

# --pMut=0.1 # -M : Probability -of Mutation -
Floating-point parameter: -The probability that a given individual (resulting from a crossover or -a non-crossover operation, see above) is applied the mutation operator. -Whenever an individual undergoes mutation, a choice is made upon available -mutation operators proportionaly to their -relative rates (see below). Default -is 0.1. -

# --alpha=0 # -a : bound -for combination factor in real crossover -
Floating-point parameter: -Bound for the choices of linear combination factors in both crossover belows -(similar to BLX-alpha notation). Default is -0 (i.e. combination factor are chosen in [0,1]). -

# --segmentRate=1 # -s : -Relative rate for segment crossover -
Floating-point parameter: -Rate of application of the segment crossover relatively -to hypercube and uniform crossovers (see pCross -parameter). Segment crossover generates offspring uniformly on the segment -joining both parents, i.e. constructs two linear combinations of the parents -with a random number uniformly drawn in [alpha,1+alpha]. -Default -is 1. -

# --hypercubeRate=1 # -A -: Relative rate for hypercube crossover -
Floating-point parameter: -Rate of application of the hypercube crossover relatively -to segment and uniform crossovers (see pCross -parameter). Hypercube crossover generates offspring uniformly on the hypercube -whose diagonal is the segment joining both parents, i.e. by doing linear -combinations of each variable independently (a random number in [alpha,1+alpha] -is drawn anew for each variable). Default -is 1. -

# --uxoverRate=1 # -A : Relative -rate for uniform crossover -
Floating-point parameter: -Rate of application of the segment crossover relatively -to hypercube and segment crossovers (see pCross -parameter). Uniform crossover simply exchanges values of variables, i.e. -uniformly picks up two other summits of the hypercube defined by the parents. -Default -is 1. -

# --epsilon=0.01 # -e : Half-size -of interval for Uniform Mutation -
Floating-point parameter: -The uniform and deterministic-uniform mutations will choose values of variable -X uniformly in [X-epsilon, -X+epsilon]. -Default -is 0.01. -

# --uniformMutRate=1 # -u -: Relative rate for uniform mutation -
Floating-point parameter: -Rate of aplication of the uniform mutation relatively -to determinitic uniform and the normal mutations (see pMut -above). Uniform mutation modifies all variables by choosing new values -uniformly on an interval centered on the old value of width 2*epsilon -(see above). Default is1. -

# --detMutRate=1 # -d : Relative -rate for deterministic uniform mutation -
Floating-point parameter: -Rate of aplication of the determinisitc-uniform mutation relatively -to uniform and normal mutations (see pMut -above). Deterministic-uniform mutation modifies one single variable uniformly -based on epsilon epsilon. -Default -is1. -

# --normalMutRate=1 # -d -: Relative rate for Gaussian mutation -
Floating-point parameter: -Rate of aplication of the normal mutation relatively -to two uniform mutations above (see pMut -above). Default is1. -

# --sigma=0.3 # -s : Sigma -(fixed) for Gaussian mutation -
Floating-point parameter: -The value of standard deviation for Gaussian mutation - fixed along evolution -(see the Evolution Strategy program below for self-adaptive mutations). -

-


-

User's guide:ES -with self-adative mutation parameters -
-To run your own SA-ES application, write your fitness function -(see real_value.h
), -recompile, and run from the command line
-

ESEA @ESEA.param

-in order to use sensible parameters! (see Lesson 3 -for details on the parameter file). -

-The following describes the specific parameters for program ESEA, -that implements the full Evolution-Strategy self-adaptive mutation mechanism -- together with specific ES crossover operators. The initialization section -is the same as the one for plain vector<double> above, so only the opeartor -sections will be described here. A new section is now concerned with deciding -what kind of self-adaptive mutation strategy will be applied - it has been -separated from the other variation operators because it has consequences -on the choice of the genotype. -
Warning: if you choose not to use -any self-adaptive mechanism (i.e. setting all parameters of this section -to false) you end up with ... an algorithm that is identical to RealEA -above (try it and take alook at the status file). -

-


-

Section ######     -ES mutation    ###### -
This section allows to decide which type of self-adaptive -mutation will be used. There are three available types: isotropic mutation, -using one standard deviation for each individual, that will be applied -to all variables; anisotropic mutation, where each individual carries as -many standard deviations as it has variables; and correlated mutation where -each individuals has its own full correlation matrix. -

# --Isotropic=1 # -i : Isotropic -self-adaptive mutation -
Boolean parameter: -If true, at least one self-adaptive parameter will be used for each individual. -Default -is true. -

# --Stdev=0 # -s : One self-adaptive -stDev per variable -
Boolean parameter: -If true, at least one self-adaptive parameter per variable will be used -for each individual. Default is false. -

# --Correl=0 # -c : Use correlated -mutations -
Boolean parameter: -If true, full correalted self-adaptive mutation will be used for each individual. -Default -is false. -

Note: The -default values result in an isotropic self-adaptive mutation to be chosen. -

-


-

Section ######    -Variation Operators    ###### -
Only the parameters that are specific to ESEA -are presented here - the objectBounds,operator,pCross -and pMut -are exactly the same as for RealEA -above. -

# --crossType=global # -C -: Type of ES recombination (global or standard) -
String parameter:  -Es crossover can involve only two parents - and it is then identical to -the standard -hypercube crossover describe for the RealEA -parameters above. But new parents can also be chosen anew for each variable -before doing the crossover for that variable - and this is called global -recombination. -

# --crossObj=discrete # -O -: Recombination of object variables (discrete or intermediate) -
String parameter:  -There are two possible crossovers in plain ES. The discrete -crossover simpy exchanges variables among the parents. It is similar to -the plain uniform crossover for real variables. The  crossover performs -a linear combination of parents;variables - it si similar to the hypercube -crossover described for  with alpah parameter set to 0. This parameter -allso to choose the type of crossover that will be applied to the object -variables (i.e. the origianl variables -of the problem). Default is discrete. -

# --crossStdev=intermediate -# -S : Recombination of mutation strategy parameters (intermediate or discrete) -
String parameter:  -This parameter allows to choose the type of crossover (see above) that -will be applied to the mutation strategy -parameters that are part of the genotype. -Default -is intermediate. -

# --TauLoc=1 # -l : Local -Tau (before normalization) -
Floating-point parameter: -The local factor for the mutation of the mutation strategy parameters (the -only one used when a single standard deviation is used). Default -is 1. -

# --TauGlob=1 # -g : Global -Tau (before normalization) -
Floating-point parameter: -The global factor for the mutation of the mutation strategy parameters -(only useful when more than one standard deviation are used). Default -is 1. -

# --Beta=0.0873 # -b : Beta -
Floating-point parameter: -The factor for the mutation of the rotation angles in the case of the full -correlated mutation. Default is 0.0873 -(following Schwefel). -

-


-
Programmer's -guide -

At the moment, you will have to browse in the source (colored!) code -(Bit - Real) almost by yourself, sorry. -

Note that the main file is now very slim, as it only contains calls -to some make_xxx -functions - these functions contain the actual code, very similar to the -code of Lesson3, except for the memory management, performed through an -eoState -object (notice that all make_xxx -calls have an eoState as second parameter). -

Programmer's guide: The -make_xxx files -

Interface: all make_xxx -files have as first two parameters an eoParser -and an eoState. -The eoParser -is be used within all functions to parse the command-line and/or a parameter -file in order to read any relevant user-parameter, while the eoState -is used here to store all pointers to be allocated inside the function -(see Programming hints for more -detailed explanations). -

There are 2 types of make_xxx -files: the ones that do depend on representation, defining the genotype -and -initialization -(make_genotype_xxx, -with xxx being the type of genotype) and variation operators (make_op_xxx), -and the one that are truly representation-independent (make_pop, -make_continue, make _checkpoint, make_algo and -make_run). -
The former are located in the directory corresponding to the actual -genotype (src/ga -for eoBit, src/es -for eoReal and all eoESxxx genotypes). The latter are in the directory -src/do. -

If you take a close look at the code of make_continue -for instance, you will first notice that ... the function declared there -is called do_make_continue -and is not the one you are calling in -the main file, though it has the same parameters as arguments. -
The explanation lies within the file make_continue_xxx.cpp -(with xxx = ga or real/es)which, as its color (and name)  should have -told you about, are representation-dependent: in fact the make_continue_xxx.cpp -files only instanciates the general <EOT> template into one of the possible -template for eoBit or eoReal/eoES - and this trick allows to compile -them separately! -

The other thing that you should notice is that the code there is very -similar to the code that was in Lesson 3,  regarding parameter reading -and type of object that are allocated - except for memory management. This -goes for all make_xxx -files - so the only thing you need to understand how it goes is to look -at the memory management section. -

Pros: you don't have to handle a -huge main function - and many of the make_xxx files can be directly used -in different applications (this is called modularity -:-))) -
More interesting, you can even compile -the make_xxx -files separately for a given target -template, and link them e.g. with your fitness function when it is ready -(remember that up to now you needed to compile everything altogether by -including the code into your mail fine). Indeed, if you do a global make, -you will notice that there are additional libraries compiled in src/ga -and src/es -... -

Cons: It makes the code a little -more complex to understand, first because of the indirection needed for -pre-compilation with a given template, and second because of the memory -management that this imposes. -
  -
  -

Programmer's -guide: Memory management -
As already said, all functions have an eoState -as second argument - and that object is used to store the functor objects -that were simply declared as variables of the main function up to now : -see Programming hints for more -detailed explanations and take a look at the code of make_continue -for instance, you will see the implementation of the memory management -in action. -

Programmer's -guide: Memory management -of eoParam objects -

It has been seen in Lesson 3 that parameters could be read from command-line -and/or a parameter file using an eoParser -object. However, the memory mangement problem also concerns EO parameter -objects (eoParam): -the way there are read in Lesson3 -makes them local variables of the function they are defined in. -
It is however possible to ask the eoParser -to hold them, as done for instance in eoContinue for the maximum number -of generations. Local declaration would amount to something like : -

eoValueParam<unsigned -int>& maxGenParam(100, "maxGen", "Maximum number of generations () -= none)",'G'); -
 parser.processParam( -maxGenParam, "Stopping criterion" ); -
 unsigned maxGen = -maxGenParam.value(); -

while if you want the parser to hold those eoParam objects, you will -write something like -

eoValueParam<unsigned>& -maxGenParam = _parser.createParam(unsigned(100), "maxGen", "Maximum number -of generations () = none)",'G',"Stopping criterion"); -

and then use maxGenParam.value() -to get the value enterred by the user. In that case, you get a reference -to an eoParam object that is hold by the eoParser - and deleted whith it. -
Note that there are two important differences -between the arguments of the constructor of an eoParam object and the method -createParam of an eoParser object: first, you need to provide the additional -section parameter (used only when outputting the eoParser); second you -must -make sure that the first argument is of the correct type otherwise the -compiler will complain. -

Note that if you don't later need the eoParam, but simply its value, -you can even diretly write -

unsigned maxGen = _parser.createParam(unsigned(100), -"maxGen", "Maximum number of generations () = none)",'G',"Stopping criterion").value(); -

Getting parameter values in different -functions: -

It is often useful (though probably very bad -programming style :-))) to be able to get the value of a user-defined -parameter in two different places of the code without passing it around -through many levels of call. You can then use the alternate function getORcreateParam -with exactly the same syntax than createParam. -
Be careful that the link between both parameters is made through their -longmanes (second argument), and that you must so hard-code -that name in two different places with of course exactly the same spelling!!! -
Examples can be found for instance -in the make_genotype_xxx files, for the sizes of the genotypes: it is often -the case that the definition of the optimization problem requires (or computes) -such size. The idea is then that you either read or compute that size, -then create a (dummy) parameter with the name that is used later in the -make_genotype file. For instance, for bitstrings, the make_genotype_ga.h -contains the following line defining the size of the bitstring -

  unsigned theSize = -_parser.getORcreateParam(unsigned(10), "chromSize", "The length of the -bitstrings", 'n',"Problem").value(); -

If you want to define that size earlier, you should write somewhere -before -
  -

  unsigned requiredSize  -= ... ; -
 _parser.createParam(requiredSize, -"chromSize", "The length of the bitstrings", 'n',"Problem"); -

Of course, if that size is mandatory, you should NOT modify it at run-time -by entering anther value ! -

-


User's guide: General -- Bitstring - Real - ES -- Programmer's guide: General -- Memory management - Parameters -
-
Lesson -3 - -Lesson 5 - -Main -page - -Algorithm-Based - Component-Based -- Hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: None of your business! - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoLesson5.html b/trunk/paradiseo-eo/tutorial/html/eoLesson5.html deleted file mode 100644 index fcb025784..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoLesson5.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - Tutorial: Lesson 5 - - -Lesson 4 - -Lesson -6 - -Main page - -Algorithm-Based -- Component-Based - Hints -- EO -documentation -
-
-
-

-Tutorial Lesson 5: using your own genotype

-In this lesson, you will learn how to design and evolve your -own genotype structure. Note that at the moment, only algorithms -involving a scalar fitness (double) are implemented (see test dir for Pareto -optimization of multiple-objective fitness - or be patient :-) -

The minimum code you'll have to write is first, of course, the code -for the genotype structure. Then, the representation-dependent -code: intialization procedure(s), -variation -operators (quadratic crossover, mutation operator), ... and evaluation -function - and that's it : we have prepared some template files and -the script create.sh that will take care of generating a few other files -to make your application complete. -

In what follows, we will suppose that you want to evolve some data structure, -and that you have enough programming skills to be able to write C code -for its random initilialization, its crossover, its mutation and the computation -of its fitness. -
The examples will be described supposing you want to evolve ... bitstings -to solve the OneMax problem (oh no!!!). -

- -New May 2004 : A -second script, createSimple, - was added some time ago, that generates much simpler -set of files, and the stat.tmpl -file is now used to allow you to -compute and -print and -save-to-disk and -plot-on-line your -own statistics. -But you'll have to find out by yourself how those work, sorry, no -time. It should be easy by just looking at the code (in main file, and -in OneMaxEA.cpp -and the newly created -eoOneMaxStat.h.

- -New May 2004 : In -the same simplified main file (e.g. OneMaxEA.cpp after running -./createsimple OneMax in -dir .../eo/tutorial/Templates), you -will also be able to use fitness sharing (together with roulette) as a -possible selector. - - -


Using -template files -
Follow this very simple procedure: -
    -
  • -choose a name for you application - -here OneMax will be used
  • - -
  • -go to the tutorial/Templates -dir
  • - -
           cd -pathWhereEOisInstalled/tutorial/Templates -
  • -run the create.sh script with -argument OneMax and second optional argument  a directory name (suppose -it's called APPLICATION here)
  • - -
              -./create.sh OneMax APPLICATION -
    This will create a directory tutorial/APPLICATION -
  • -Go to the APPLICATION directory
  • - -
              -cd ../APPLICATION -
    You should see the following files: -
        OneMaxEA.cpp           -the main main file, includes all other, to be compiled -
        Makefile               -with default target eoOneMaxEA -
        eoOneMax.h             -class eoOneMax, the genotype -
        eoOneMaxEvalFunc.h     - -class for the computation of fitness -
        eoOneMaxInit.h         -class for genotype initlialization -
        eoOneMaxMutation.h     -class for mutation -
        eoOneMaxQuadCrossover.h -class -for (quadratic) crossover -
        make_genotype_OneMax.h - -helper function that create the initializer -
        make_op_OneMax.h       -helper function that handles the rates of application of -the variation operators
    -    OneMaxLibEA.cpp        -another main file, for separate compilation of representation-independent -stuff -
        make_OneMaxEA.cpp      -the source for the representation-independent stuff -
      -
  • -Compile the whole application
  • - -
             -make -
    and you should have no error there and see a new executable file named -OneMaxEA. -You can run it and ... it will do nothing (what did you expect???).
    -
    -
  • -Now you should go and edit the files. The minimal  changes that you -will need are
  • - -
       in eoOneMax.h               -define your genotype -
       in eoOneMaxInit.h           -define the initialization of one genotype -
       in eoOneMaxMutation.h       - -define the mutation of one genotype -
       in eoOneMaxQuadCrossover.h  - -define the crossover of 2 genotypes
-Smooth application building: -
    -
  • -After editing a particular file, compile -the whole thing immediately (by running make) and -run the algorithm, to validate your code
  • - -
  • -In each file, start by only adding code between keyword-pairs START -and END
  • -
-We shall now take a look in turn at the 4 files mentionned above, then -describe rapidly the other files, especially the main files. -
-
Genotype -- and its pre-requisites: eoOneMax.h -

First thing is to write the code for the structure -of the genotype. This is done by filling in the template file -eoOneMax.h. -There are 4 places that you should consider filling in: -

    -
  • -Of course, the data that will build up -the genotype. The convention in EO is to have it at the end of the class -definition, and as private data.
  • - -
  • -The default constructor of an instance. -Note that you must provide a default constructor, -and that no other constructor will be called within EO code. you might -think you need some other constructor to initialize problem-specific data. -This should be rather done in the eoInit object used to randomly initialize -all individuals, or in the eoEvalFunc object, used to compute the fitness.
  • - -
  • -The printOn method, that writes the object -to a stream. You must -call the EO::printOn method that will take care of the fitness, -and then write the specific code for your data structure.
  • - -
  • -The readFrom method, that will read an -object from a stream. Again, you should call the -EO::readFrom method first to take care of the fitness.
  • - -
    Also note that readFrom will be generally called from an object that -will have been constructed through the default constructor. This is why -the EO objects that we provide always start printing structures with their -length...
-You can of course also add a destructor -if needed, and any other helper method. For instance, you will probably -consider adding accessors and setters -for the private data - unless you prefer to make everything public :-( -
See now an example of a comple eoOneMax.h -file. Note that this is the only "colored" completed file we will show, -you will have to go to the .../tutorial/OneMax -dir to browse all files at once. -
-
Initialization: -

Initializer: eoOneMaxInit.h -
You must provide an eoInit -object for your genotype, that is an object that will randomize -a genotype built by the default constructor of the EO class -(here, an eoOneMax object) . Here you must at least fill the -code for such randomization. -
But you might also need some parameters (e.g. the size of the bitstring -in eoOneMax): you should then pass -them through the constructor of the eoOneMaxInit class, and store -it in its private data. -
And of course you might need to add a destructor (no example here) -if you use complex data type in the object. -

Parameters: make_genotype_OneMax.h -
There is another file you will probably want to modify as far as initialization -is concerned, that is make_genotype_OneMax.h. -Such helper files are used for all components of advanced EO programs (see -Lesson 4). The main reason for that is to allow separate compilation of -such sub-components for known EO types, as this is done in the directories -src/ga and src/es. But a useful consequence is to make your code modular. -For instance, the make_genotype_OneMax.h -file takes care of all the preparation of all data regarding the eoInit -object - and returns to the main fonction a reference to an eoInit that -will later be used to initialize the whole -population in a representation-independent way. -
What you have to do in that file is to set values for all parameters -needed by the eoOneMaxInit class, for instance by reading them from the -parser: this allows later to modify them easily from the command-line. -Note however that an alternative could be to pass the parser to the constructor -of the eoOneMaxInit class, and to read all parameters there... -
Note: Remember that the make_xxx -files were first introduced to allow the user to compile sepearately most -of the code of standard Evolutionary Algorithm written in EO for bitstring -and real vector representations ( -
-


Evaluation: -eoOneMaxEvalFunc.h -

The eoOneMaxEvalFunc is -the object that will compute the fitness of an -eoOneMax object. You have to fill in the code -for the computation of the fitness value (there is no way that this -can be done automatically :-) Note that this code must  be run only -if the _eo.invalid() test -returns true, to avoid computing the fitness of an object that has not  -been modified and thus still holds a valid fitness value. After computing -the fitness, store it into the object by calling the fitness(FitnessType) -method. -
Should you need some specific data for that, the constructor -of the object is the place to get such data, and you should, again, -store it in some private data -of the class. -
-


Variation -Operators -
You can write as many crossover and mutation operators as you like. -However, we only provide the template files for quadratic -crossover and mutation, but -you could then easily write the equivalent code for binary crossover, or -general variation operator. -

Crossover: eoOneMaxQuadCrossover.h -
As usual, you must go and write the code -for the operator() that will perform the crossover, possibly modifying -both arguments. Don't forget to update the boolean -parameter that will report whether the genotypes have been modified -- allowing to recompute the fitness only of the ones that have actually -been modified. You can also have parameters -to the crossover by passing -them to the constructor, ans storing them in the private -data of the crossover object. -

Mutation: eoOneMaxMutation.h -
Here again, you must go and write the code for the operator() that -will perform the mutation, eventually modifying its arguments. Don't forget -to update the boolean parameter that -will report whether the genotype has been modified - allowing to recompute -the fitness only of the ones that have actually been modified. You can -also have parameters to the mutation -by passing them to the constructor, -ans storing them in the private data -of the mutation object. -

Parameters: make_op_OneMax.h -
First of all, if you intend to use only one -crossover operator and one mutation -operator, you have nothing to modify -in make_op_OneMax function, except maybe -reading user-defined parameters (copy the code from make_genotype_OneMax) -and passing them to the appropriate -operator constructor. -
As it is written now, it allows you enter a crossover probability Pcross -and a mutation probability Pmut, -and to build an eoGeneralOp that will call in sequence the eoOneMaxQuadCrossover -that is defined above with probability Pcross -and the eoOneMaxMutation also -defined above with probability Pmut.  -Beware that all allocated objects must be stored in the eoState otherwise -you will run into trouble (see EO Memory -Management explanations). -

However, everything is there (commented out) to allow you to use more -than one crossover and one mutation -- provided you write the code for them , of course. -

The code starts by defining an eoOneMaxQuadCrossoverobject, -then reads some application rate that is totally useless if you have only -one crossover, then creates an eoPropCombinedQuadOp -with this simple oeprator. The same story repeats for the mutation. Finally, -the eoGeneralOp -is created from those combined operators and the individulal level probabilities -Pcross -and  Pmut. -

In order to add a second crossover operator for instance (called eoOneMaxSecondCrossover -in the commented code) all you need to is -

    -
  • -Create the code for the new class  eoOneMaxSecondCrossover: -simply copy the eoOneMaxQuadCrossover.h -file into eoOneMaxSecondCrossover.h  -and change all names eoOneMaxQuadCrossover -to  eoOneMaxSecondCrossover (inlcluding -after the #ifdef statement!!!);
  • - -
  • -Uncomment the corresponding lines -in make_op_OneMax.h, possibly adding user-defined parameter reading
  • - -
  • -Repeat as many times as you have operators, using of course different names! -The same recommendations hold for mutations.
  • -
-In case you have more than one operator of a kind, then of course the relative -weights of application do make sense, allowing you to tune with command-line -parameters the proportion with which each operator that will be applied. -

-


Main -files: OneMaxEA.cpp -and OneMaxLibEA.cpp -

As a start, you should only (eventually) modify in OneMaxEA.cpp -the type of fitness you -will be handling, namely double -if you are maximizing, or eoMinimizingFitness -if you are minimizing. Then running -make will result in a perfectly -valid executable named OneMaxEA. -

The skeleton of the main file here mimics that of the main file in -Lesson4, -and uses the make_xxx separate -files construct: the part of an Evolutionary Algorithm related to the -evolution -engine is indepenent of the representation, -and can be directly used ... provided it is compiled with the right template -(remember everything in EO is templatized -over the EO objects it handles.  Main file OneMaxEA.cpp -is written so that it includes eveything - and thus everytime you run make -(or make OneMaxEA), you compile -the code for make_pop, make_continue and make_checkpoint that is defined -in the .../src/do directory. -

The basic construct is (for instance to build the evolution engine) -
  - - - - -
#include <do/make_algo_scalar.h> -
eoAlgo<Indi>&  make_algo_scalar(eoParser& -_parser, eoState& _state, eoEvalFunc<Indi>& _eval, eoContinue<Indi>& -_continue, eoGenOp<Indi>& _op) -
{ -
 return do_make_algo_scalar(_parser, -_state, _eval, _continue, _op); -
}
-First, include the code (from the do directory). Then define the make_xxx -function from the do_make_xxx function. -
Of course, such construct is stupid here, as you could perfectly call -directly the do_make_xxx function in the main. However, if you ever want -to do separate compilation of some parts, you will need such construct -(see Lesson4) so we have kept it here for -consistency reasons. -

Go in your application directory, and look at the differences between -both files and you'll see how this is handled in both cases. -

Reducing compilation time: -
However, we also provide another main file (OneMaxLibEA.cpp)that -only includes the code that is specific to your application, and is supposed -to be linked with another object file that will contain the code that is -representation independent (make_OneMax.cpp).  -This is done by running make OneMaxLibEA -on the command-line. -
For example, on a PentiumIII 400MHz with g++ 2.96, compiling OneMaxEA -takes about 33s, compiling both make_OneMax.o -and OneMaxLibEA takes about -54s but compiling only OneMaxLibEA -takes only 14s  make_OneMax.o -is up-to-date ... -

Hints: -
While developping the genotype structure itself in file eoOneMax.h, -you should use the OneMaxEA.cpp -file. But after the eoOneMax.h -file is frozen, you should use the eoOneMaxLibEA.cpp -file. Of course, both  resulting programs are strictly identical! -

-


Lesson -4 - -Lesson 6 - -Main -page - -Algorithm-Based - Component-Based -- Hints - EO -documentation -
-
-
-Marc Schoenauer
- - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoOneMax.html b/trunk/paradiseo-eo/tutorial/html/eoOneMax.html deleted file mode 100644 index 8f8cfb03e..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoOneMax.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - Templates/eoOneMax.h - - -Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-Templates/eoOneMax.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -
/* -
Template for creating a new representation -in EO -
================================================ -
*/ -
#ifndef _eoOneMax_h -
#define _eoOneMax_h -
/**  -
*  Always write a comment in this format -before class definition -
*  if you want the class to be documented -by Doxygen -
* Note that you MUST derive your structure -from EO<fitT> -
* but you MAY use some other already prepared -class in the hierarchy -
* like eoVector for instance, if you handle -a vector of something.... -
* If you create a structure from scratch, -
* the only thing you need to provide are  -
*              -a default constructor -
*              -IO routines printOn and readFrom -
* -
* Note that operator<< and operator>> -are defined at EO level -
* using these routines -
*/
- - - - - -
template< class FitT> -
class eoOneMax: public EO<FitT> { -
public: -
  /** Ctor: you MUST provide -a default ctor. -
   * though such individuals will -generally be processed  -
   * by some eoInit object -
   */ -
 eoOneMax()  -
 { 
- - - - - -
      -// START Code of default Ctor of an eoOneMax object -
      // -END    Code of default Ctor of an eoOneMax object
- - - - - -
 } -

 virtual ~eoOneMax() -
 {

- - - - - -
      -// START Code of Destructor of an eoEASEAGenome object -
      // -END    Code of Destructor of an eoEASEAGenome object
- - - - - -
 } -

 virtual string className() const -{ return "eoOneMax"; } -
 

- - - - - -
  /** printing... */ -
 void printOn(ostream& os) const -
 { -
      // -First write the fitness -
     EO<FitT>::printOn(os); -
     os << ' -';
- - - - - -
      -// START Code of default output  -

/** HINTS -
* in EO we systematically write the sizes -of things before the things -
* so readFrom is easier to code (see below) -
*/ -

      // END    -Code of default output

- - - - - -
     } -

  /** reading...  -
   * of course, your readFrom must -be able to read what printOn writes!!! -
   */ -
 void readFrom(istream& is) -
 { -
      // -of course you should read the fitness first! -
     EO<FitT>::readFrom(is);

- - - - - -
      -// START Code of input -

/** HINTS -
* remember the eoOneMax object will come -from the default ctor -
* this is why having the sizes written out -is useful -
*/ -

      // END    -Code of input

- - - - - -
 } -
 
- - - - - -
private:     // -put all data here
- - - - - -
      // -START Private data of an eoOneMax object -
      // -END    Private data of an eoOneMax object
- - - - - -
}; -

#endif

- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 06:06:09 2002 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoOneMaxEvalFunc.html b/trunk/paradiseo-eo/tutorial/html/eoOneMaxEvalFunc.html deleted file mode 100644 index 4d6eefbff..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoOneMaxEvalFunc.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Templates/eoOneMaxEvalFunc.h - - -Back to Lesson 5 -- Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/eoOneMaxEvalFunc.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -

The above line is usefulin Emacs-like editors -
*/ -

/* -
Template for evaluator in EO, a functor that -computes the fitness of an EO -
========================================================================== -
*/ -

#ifndef _eoOneMaxEvalFunc_h -
#define _eoOneMaxEvalFunc_h -

// include whatever general include you need -
#include <stdexcept> -
#include <fstream> -

// include the base definition of eoEvalFunc -
#include "eoEvalFunc.h" -

/**  -
 Always write a comment in this format -before class definition -
 if you want the class to be documented -by Doxygen -
*/

- - - - - -
template <class EOT> -
class eoOneMaxEvalFunc : public eoEvalFunc<EOT> -
{ -
public: -
/// Ctor - no requirement
- - - - - -
// START eventually -add or modify the anyVariable argument -
 eoOneMaxEvalFunc() -
  //  eoOneMaxEvalFunc( -varType  _anyVariable) : anyVariable(_anyVariable)  -
// END eventually add or modify the anyVariable -argument
- - - - - -
 {
- - - - - -
      // -START Code of Ctor of an eoOneMaxEvalFunc object -
      // -END    Code of Ctor of an eoOneMaxEvalFunc object
- - - - - -
 } -

  /** Actually compute the fitness -
   * -
   * @param EOT & _eo the EO -object to evaluate -
   *                                  -it should stay templatized to be usable  -
   *                                  -with any fitness type -
   */ -
 void operator()(EOT & _eo) -
 { -
      // -test for invalid to avoid recomputing fitness of unmodified individuals -
     if (_eo.invalid()) -
         -{ -
double fit;     -// to hold fitness value

- - - - - -
      -// START Code of computation of fitness of the eoOneMax object -
// fit = blablabla -
      // -END    Code of computation of fitness of the eoOneMax object
- - - - - -
_eo.fitness(fit); -
         -} -
 } -

private:

- - - - - -
// START Private data -of an eoOneMaxEvalFunc object -
  //  varType anyVariable;    -// for example ... -
// END    Private data of -an eoOneMaxEvalFunc object
- - - - - -
}; -
#endif
- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 06:14:25 2002 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoOneMaxInit.html b/trunk/paradiseo-eo/tutorial/html/eoOneMaxInit.html deleted file mode 100644 index 07475be6f..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoOneMaxInit.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - Templates/eoOneMaxInit.h - - -Back to Lesson 5 - -Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/eoOneMaxInit.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -

/* -
Template for EO objects initialization in -EO -
============================================ -
*/ -

#ifndef _eoOneMaxInit_h -
#define _eoOneMaxInit_h -

// include the base definition of eoInit -
#include <eoInit.h> -

/**  -
*  Always write a comment in this format -before class definition -
*  if you want the class to be documented -by Doxygen -
* -
* There is NO ASSUMPTION on the class GenoypeT. -
* In particular, it does not need to derive -from EO (e.g. to initialize  -
*      atoms of -an eoVector you will need an eoInit<AtomType>) -
*/

- - - - - -
template <class GenotypeT> -
class eoOneMaxInit: public eoInit<GenotypeT> -{ -
public: -
/// Ctor - no requirement
- - - - - -
// START eventually -add or modify the anyVariable argument -
 eoOneMaxInit() -
  //  eoOneMaxInit( varType  -_anyVariable) : anyVariable(_anyVariable)  -
// END eventually add or modify the anyVariable -argument
- - - - - -
 {
- - - - - -
      // -START Code of Ctor of an eoOneMaxInit object -
      // -END    Code of Ctor of an eoOneMaxInit object
- - - - - -
 } -

  /** initialize a genotype -
   * -
   * @param _genotype  generally -a genotype that has been default-constructed -
   *                                    -whatever it contains will be lost -
   */ -
 void operator()(GenotypeT & -_genotype) -
 {

- - - - - -
      -// START Code of random initialization of an eoOneMax object -
      // -END    Code of random initialization of an eoOneMax object
- - - - - -
     _genotype.invalidate();     -// IMPORTANT in case the _genotype is old -
 } -

private:

- - - - - -
// START Private data -of an eoOneMaxInit object -
  //  varType anyVariable;    -// for example ... -
// END    Private data of -an eoOneMaxInit object
- - - - - -
}; -

#endif

- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 06:17:21 2002 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoOneMaxMutation.html b/trunk/paradiseo-eo/tutorial/html/eoOneMaxMutation.html deleted file mode 100644 index 5181567ff..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoOneMaxMutation.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - eoOneMaxMutation.h - - -Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-eoOneMaxMutation.h

-The places where you have to put some code are on pink background. -Only the the character colors have the usual meaning. -
  - - - - - -
-/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
-The above line is useful in Emacs-like editors
- */
-/*
-Template for simple mutation operators
-======================================
-*/
-#ifndef eoOneMaxMutation_H
-#define eoOneMaxMutation_H
-#include <eoOp.h>
-/**
- *  Always write a comment in this format before class definition
- *  if you want the class to be documented by Doxygen
- *
- * THere is NO ASSUMPTION on the class GenoypeT.
- * In particular, it does not need to derive from EO
- */
-
-
- - - - -
- -template<class GenotypeT>
-class eoOneMaxMutation: public eoMonOp<GenotypeT>
-{
-public:
-  /**
-    * Ctor - no requirement
-    */
-
-
- - - - -
- -// START eventually add or modify the anyVariable argument
-  eoOneMaxMutation()
-  //  eoOneMaxMutation( varType  _anyVariable) : anyVariable(_anyVariable)
-// END eventually add or modify the anyVariable argument
-
-
- - - - -
- -  {
-
-
- - - - -
- -      // START Code of Ctor of an eoOneMaxEvalFunc object
-      // END    Code of Ctor of an eoOneMaxEvalFunc object
-
-
- - - - -
- -  }
-  /// The class name. Used to display statistics
-  string className() const { return "eoOneMaxMutation"; }
-  /**
-    * modifies the parent
-    * @param _genotype The parent genotype (will be modified)
-    */
-  bool operator()(GenotypeT & _genotype)
-  {
-      bool isModified;
-
-
- - - - -
- -      // START code for mutation of the _genotype object
-            /** Requirement
-* if (_genotype has been modified)
-*        isModified = true;
-* else
-*        isModified = false;
-*/
-      return isModified;
-      // END code for mutation of the _genotype object
-
-
- - - - -
- -  }
-private:
-
-
- - - - -
- -// START Private data of an eoOneMaxMutation object
-  //  varType anyVariable;    // for example ...
-// END    Private data of an eoOneMaxMutation object
-
-
- - - - -
- -};
-#endif
-
-
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Wed May 1 07:18:00 2002 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoOneMaxQuadCrossover.html b/trunk/paradiseo-eo/tutorial/html/eoOneMaxQuadCrossover.html deleted file mode 100644 index a91a653ea..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoOneMaxQuadCrossover.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - Templates/eoOneMaxQuadCrossover.h - - -Back to Lesson -5 - Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/eoOneMaxQuadCrossover.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -
- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -
/* -
Template for simple quadratic crossover operators -
================================================= -
Quadratic crossover operators modify the -both genotypes -
*/ -

#ifndef eoOneMaxQuadCrossover_H -
#define eoOneMaxQuadCrossover_H -

#include <eoOp.h> -

/**  -
*  Always write a comment in this format -before class definition -
*  if you want the class to be documented -by Doxygen -
* -
* THere is NO ASSUMPTION on the class GenoypeT. -
* In particular, it does not need to derive -from EO -
*/

- - - - - -
template<class GenotypeT>  -
class eoOneMaxQuadCrossover: public eoQuadOp<GenotypeT> -
{ -
public: -
  /** -
   * Ctor - no requirement -
   */
- - - - - -
// START eventually -add or modify the anyVariable argument -
 eoOneMaxQuadCrossover() -
  //  eoOneMaxQuadCrossover( -varType  _anyVariable) : anyVariable(_anyVariable)  -
// END eventually add or modify the anyVariable -argument
- - - - - -
 {
- - - - - -
      // -START Code of Ctor of an eoOneMaxEvalFunc object -
      // -END    Code of Ctor of an eoOneMaxEvalFunc object
- - - - - -
 } -

  /// The class name. Used to -display statistics -
 string className() const { return -"eoOneMaxQuadCrossover"; } -

  /** -
   * eoQuad crossover - modifies -both parents -
   * @param _genotype1 The first -parent -
   * @param _genotype2 The second -parent -
   */ -
 bool operator()(GenotypeT& _genotype1, -GenotypeT & _genotype2)  -
 { -
     bool oneAtLeastIsModified;

- - - - - -
      -// START code for crossover of _genotype1 and _genotype2 objects -
            -/** Requirement -
* if (at least one genotype has been modified) -// no way to distinguish -
*        -oneAtLeastIsModified = true; -
* else -
*        -oneAtLeastIsModified = false; -
*/ -
     return oneAtLeastIsModified; -
      // -END code for crossover of _genotype1 and _genotype2 objects
- - - - - -
 } -

private:

- - - - - -
// START Private data -of an eoOneMaxQuadCrossover object -
  //  varType anyVariable;    -// for example ... -
// END    Private data of -an eoOneMaxQuadCrossover object
- - - - - -
}; -

#endif

- -
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 07:47:13 2002 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoOneMax_complete.html b/trunk/paradiseo-eo/tutorial/html/eoOneMax_complete.html deleted file mode 100644 index 0c6c24680..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoOneMax_complete.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - Templates/eoOneMax_complete.h - - -Back to Lesson 5 -- Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/eoOneMax_complete.h

-The user-defined code is on pink background.. -Only the the character colors have the -usual meaning. -

- - - - -
/** -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -
The above line is usefulin Emacs-like editors -
*/ -

/* -
Template for creating a new representation -in EO -
================================================ -
*/ -

#ifndef _eoOneMax_h -
#define _eoOneMax_h -
 

- - - - - -
/**  -
* A simple example class for bitstring (is -NOT supposed to be used :-) -
*/
- - - - - -
- - - - - -
template< class FitT> -
class eoOneMax: public EO<FitT> { -
public: -
  /** Deafult Ctor: nothing to -be done */ -
 eoOneMax() {} -

 virtual string className() const -{ return "eoOneMax"; } -
 

- - - - - -
  /** printing... */ -
     void printOn(ostream& -_os) const -
     { -
          -// First write the fitness -
         -EO<FitT>::printOn(_os); -
         -_os << ' ';
- - - - - -
         -_os << b.size() << ' ' ; -
         -for (unsigned i=0; i<b.size(); i++) -
             -_os << b[i] << ' ' ;
- - - - - -
     } -

  /** reading...  -
   * of course, your readFrom must -be able to read what printOn writes!!! -
   */ -
 void readFrom(istream& _is) -
 { -
      // -of course you should read the fitness first! -
     EO<FitT>::readFrom(_is);

- - - - - -
     unsigned s; -
     _is >> s; -
     b.resize(s); -
     for (unsigned -i=0; i<s; i++) -
         -{ -
             -bool bTmp; -
             -_is >> bTmp; -
             -b[i] = bTmp; -
         -} 
- - - - - -
 }
- - - - - -
- - - - - -
  // brute setting (we could -also have defined a Ctor from a vector<bool>) -
 void setB(vector<bool> & -_b) -
 { -
     b=_b; -
 } -

  // brute accessing (we could -also define operator[] ...) -
 const vector<bool> & B() -
 { -
     return b; -
 }

- - - - - -
-
private:     // -put all data here
- - - - - -
 std::vector<bool> b;
- - - - - -
}; -

#endif

- -


Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sat May -4 06:02:46 2002 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoOperators.html b/trunk/paradiseo-eo/tutorial/html/eoOperators.html deleted file mode 100644 index 4de7b40fd..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoOperators.html +++ /dev/null @@ -1,818 +0,0 @@ - - - - - - Variation Operators - - -General: Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-
Local: Introduction -- Crossover - Mutation -- Combinations - General -Operators - Populators - General -combinations- Advanced operators -
-
-
-

-Variation Operators

-Variation -Operators -
Variation operators modify the gnotype of individuals, or, equivalently, -move them in the search space. In Evolutionary Algorithms, varitaion operators -are almost always stochastic, i.e. -they are based on random numbers, or equivalently, perform random modifications -of their arguments. Variation operators are classified depending on the -number of arguments they use and/or modify. -
    -
  • -Variation operators involving two individuals -are called crossover operators. They can either -modify one of the parents according to the material of the other parent, -or modify both parents. In EO, the former are called Binary operators and -the latter Quadratic operators.
  • - -
  • -Variation operators involving one single individual -are called mutation operators.
  • - -
  • -Straightforward extensions of these simple operators allow to combine them: -in -proportional combinations, one operator -is chosen among a given set of operators of same arity according to some -weights.
  • - -
  • -In EO you can also define and use variation operators that generate any -number of offspring from any number of parents (sometimes termed orgy -operators). They are called general operators.
  • - -
  • -However, the interface of such operators was designed for their use inside -general -combinations: you can use proportional combination, -in which one operator is chosen among a given set of operators of same -arity according to some weights, as for simple operators except that operators -of different arities can be mixed, but you can also use sequential -combinations, where different operators  are applied in -turn with given probability. But you can also embed any of such combinations -at any depth.
  • - -
  • -The price to pay for that is that you must use an instermediate class to -access the individuals, the eoPopulator class.
  • - -
  • -Thanks to that class, it also become easy to design advanced -operators, such as crossover operators where the mate is chosen according -to sexual preference rather than fitness-based -preferences.
  • -
-Implementation -

The basic idea of EO variation operators is that they operate on genotypes -only. Hence there should be generally no reference to anything related -to the fitness within a variation operator. However, whenever the genotype -of an individual has been modified, it will be necessary to recompute its -fitness before any selection process. This is why all -variation operator return a bool that indicates whether or not -the genotype argument has been modified or not. -

EO classes for variation operators: -

- -
Simple -operators: Crossover -

The characteristic of crossover operators is that they involve two parents. -However, there are crossover operators that generate two parents, and some -that generate one parent only, and both types are available in EO. The -former type (2 --> 2) is termed quadratic crossover operator, and is implemanted -in the eoQuadOp class; the latter type -(2 --> 1) is termed binary operator and is implemanted in class eoBinOp. -Both classes are, as usual, templatized by the type of individual they -can handle (see documentation for eoBinOp -and eoQuadOp). -

Note: Whereas it is straightforward -to create a binary crossover operator from a quadratic one (by discarding -the changes on the second parent), the reverse might prove impossible (imagine -a binary crossover that simply merges the parents material: there is no -way to generate two new parents from that!). -

Interfaces: -
The general approach in EO about simple variation operators is to perform -in-place -modifications, i.e. modifying the arguments rather than generating -new (modified) individuals. This results in the following interfaces for -the functor objects eoBinOp and eoQuadOp: -

bool operator()(EOT & , const EOT &)         -for eoBinOp (note the const) -
bool operator()(EOT & , EOT & -)                       -for eoQuadOp -

which you could have guessed from the inheritance diagrams up to the -eoBF abstract class. You can also guess that only the first argument will -be modified by an oeBin object, while both arguments will be modified by -an eoQuad object. -

Using crossover operators: -
Directly applying crossover operators is straightforward from the interface -above: -
eoBinOpDerivedClass<Indi> myBinOp(parameters); -//  -use constructor to pass -
eoQuadOpDerivedClass<Indi> myQuadOp(parameters); -//  -any useful argument -
Indi eo1= ..., eo2= ...;   // -the candidates to crossover -
if (myBinOp(eo1, eo2)) -
   { ...               -// eo1 has been modified, not eo2 -
   } -
else ...               -// none has been modified -
if (myQuadOp(eo1, eo2)) -
   { ...               -// both eo1 and eo2 have been modified -
   } -
else ...               -// none has been modified -

However, you will hardly have to actually apply operators to individuals, -as operators are used within other classes, and are applied systematically -to whole sets of individuals (e.g. that have already been selected, in -standard generation-based evolutionary algorithms). -
Hence the way to use such operators will more likely ressemble this -if you are using for instance an SGA. See also the different ways that -are described below, encapsulating the operators into combined operators -objects. -

Writing a crossover -operator: -
There are three things to modify in the template class definitions -provided in the Templates directory for both binary -crossover and quadratic crossovers -(apart from the name of the class you are creating!) -

    -
  • -The constructor, where you pass to the object -any useful parameter (see the private data at end of class definition).
  • - -
  • -The operator() method, which performs the -actual crossover.
  • - -
  • -The return value, that should be true -as soon as at least one genotype has actually been modified. Otherwise, -the lazy fitness evaluation procedure in -EO might not know it should compute the fitness again and will keep the -old value.
  • -
- -
Simple -operators: Mutation -
Mutation operators modify one single individual. The corresponding -EO class is called eoMonOp. and it -si as usual templatized by the type of individual it can handle (see documentation -for eoMonOp). -

Interfaces: -
The general approach in EO about simple variation operators is to perform -in-place -modifications, i.e. modifying the arguments rather than generating -new (modified) individuals. This results in the following interface for -the functor objects eoMonOp: -

bool operator()(EOT & ) -

which you could have guessed from the inheritance diagrams up to the -eoUF abstract class. -

Using mutation operators: -
Directly applying mutation operators is straightforward from the interface -above: -
eoMonOpDerivedClass<Indi> myMutation(parameters); -//pass parameters in constructor -
Indi eo = ...;           -// eo is candidate to mutation -
if (myMutation(eo)) -
   { ...    // -eo has been modified -
   } -
else      // -eo has not been modified -

However, you will hardly have to actually apply operators to individuals, -as operators are used within other classes, and are applied systematically -to whole sets of individuals (e.g. that have already been selected, in -standard generational evolutionary algorithms). -
Hence the way to use such operators will more likely ressemble this -if you are using for instance an SGA. See also the different ways that -are described below, encapsulating the operators into combined operators -objects. -

Writing a mutation -operator: -
There are only two things to modify in the template -class definitions provided in the Templates directory (apart from the -name of the class you are creating!) -

    -
  • -The constructor, where you pass to the object -any useful parameter (see the private data at end of class definition).
  • - -
  • -The operator() method, which performs the -actual crossover.
  • - -
  • -The return value, that should be true -as soon as the genotype has actually been modified.  Otherwise, the -lazy -fitness evaluation procedure in EO might not know it should compute -the fitness again and will keep the old value.
  • -
- -
Combining -simple operators: proportional combinations -

The best thing to do is to go to the Lesson2 -of the tutorial, where everything is explained. You will find out how you -can use -
several mutations (respectiveley quadratic crossovers) as a single -operator: every time the operator is called, one of the available operators -is chosen by some roulette wheel selection using realtive weights. -

-


General -Operators -

General operators in EO are variation operators that are neither simple -mutations nor simple crossovers. They can involve any number of parents, -and create any number of offspring. Moreover, they can make use of different -ways to get the parents they will involve, e.g. they can use a different -selector for each of the parents they need to select. -

The corresponding EO class is called eoGenOp. -and it is as usual templatized by the type of individual it can handle -(see documentation for eoGenOp -:-) -

Interface: -
All the work a general operator is done within the apply() -method. WHy not in the usual operator() method? Because some memory management -are needed, that are performed in the base class itself - which then calls -the virtual apply() method. -The interface for a eoGenOp thus is -not deducible from its inheritance diagram, and actually is -

    void apply(eoPopulator<EOT>& -_plop) -

As you can see,the interface for eoGenOp -is based on that of another class, called eoPopulator. -An -eoPopulator -is a population, but also behaves like -an iterator over a population (hence -the name, Population-Iterator).  -However, please note that you should probably never use an eoGenOp alone, -but rather through objects of type eoOpContainer. -

This results in the following general interface for an eoGenOp: -It receives as argument an eoPopulator, -gets the individuals it needs using the operator*, -and must handle the positinning of the  using the ++operator -method (Warning: the operator++ -method is not defined, as recommended by many good-programming-style books). -

bool apply()(eoPopulator& -_pop) -
{ -
   EOT& parent1 = *_pop; -// -select the first parent -
   ++_plop;   // -advance once for each selected parents -
   ... -
   EOT& parentN = *_pop; -// -select the last parent -
       // -don't advance after the last one: _plop always -
            -// points to the last that has already been treated -

// do whatever the operator is supposed to -do -
} -

Warning: as said above, an eoPopulator -should always point to the last individual that has already been treated. -This is because it is intended to be used within a loop that looks like -(see e.g. eoBreeder -class): -

      eoSelectivePopulator<EOT> -popit(_parents, _offspring, select);    // eoSelect -is an eoSelectOne -
      while (_offspring.size() -< target) -
          -{ -
               -op(popit); -
              -++it; -
          -} -

What happens next? Well, it all -depends on how many parents and how many offspring your general op needs: -

    -
  • -If the number of generated offspring is equal -to the number of parents, the operator simply needs to modify them (they -are passed by reference, no useless copy takes place).
  • - -
  • -If the operator produces more offspring than there -were parents, it needs to insert them into the list using the insert -method of the class eoPopulator as -in the following:
  • - -
      -

      -

    void apply()(eoPopulator& -_pop) -
    { -
      // get the necessary number -of parents (see above) -
      ... -
      // Now create any supplementary offspring -
      EOT ofs1 = create_individual(...); -
      ... -
      EOT ofsK = create_individual(...); -
      // advance and inserts offspring in -_pop after parentN -
      ++_pop; -
      _pop.insert(ofs1); -
      ... -

      // invalidate the parents that -have been modified -
      parent1.invalidate(); -
      ... -
      parentN.invalidate(); -
    }   // over -

    Of course the size of the resulting population will grow - and you should -have a replacement procedure that takes care of that. -
      -

  • -The case where more parents are needed than offspring -will be created is a little more delicate: think about eoBinOp, -and try to imagine the reasons why no crossover of that class are used -in the first lessons of the tutorial, within the SGA framework.
  • - -
    There are two possibilities: -
      -
    • -If you think "generational", the first idea is to get the parents from -outside the curent list, so the total number of (intermediate) offspring -is always equal to the initial population size. By chance, the eoPopulatorhas -a handle on the initial population that was used to start the process, -and you can access it from inside the GenOp method. For instance
    • - -
        -

        -

      void apply()(eoPopulator& -_pop) -
      { -
        // get as many parents as you -will have offspring (see above) -
        ... -
        // get extra parents - use -private selector -
        const EOT& parentN+1 = select(_pop.source()); -
        ... -
        const EOT& parentM = select(_pop.source()); -
        // do whatever needs to be done -
        ... -
        // and of course invalidate fitnesses -of remaining modified parents -
        parent1.invalidate(); -
        ... -
        parentN.invalidate(); -
      } -
      where select is any selector you like. Note the -const: you are not allowed to modify an element of the original -population (but you could of course have copied it!). As usual, the select -selector was passed to the operator at construct time. This typically allows -one to use a different selector for one parent and the others, as demonstrated -here. -
        -

    • -If you don't care about the size of the offspring population (that is, -if that size os controlled elsewhere, e.g. in some external loop), you -can use the inbedded select method of the class eoPopulator. -For instance
    • - -
        -

        -

      void apply()(eoPopulator& -_pop) -
      { -
        // get as many parents as you -will have offspring (see above) -
        ... -
        // get extra parents - use -populator selector -
        const EOT& parentN+1 = _pop.select(); -
        ... -
        const EOT& parentM = _pop.select(); -
        // do whatever needs to be done -
        ... -
        // and of course invalidate fitnesses -of remaining modified parents -
        parent1.invalidate(); -
        ... -
        parentN.invalidate(); -
      }

    -
-Warning: if you use operators that -have different number of parents than offspring, you are deviating from -the simple generational approach. Be careful to have the proper replacement -procedure to take care of the population size: in most instances of algorithms -that come within EO, this is enforced (an exception is thrown if population -size varies from one genertaion to the other) but this might not be true -for all forthcoming EO algorithms. -

Using general operators: -
Directly applying general operators to given individuals is impossible -in EO, due to its interface. You need the help -of an individual dispenser of class eoPopulator. -But anyway general operators were thought to be used putely in eoOpContainer, -as described below. -

Writing a general -operator: -
There are many things to do to write a general operator - but the Templates -directory contains some sample tempaltes files to help you. It all depends -on whether you want more or less offspring than parents, and whetehr you -want the same selector for every parent or more specialized selectors. -

    -
  • -It you want more (or as many) offspring than -parents, you should use the moreOffspringGenOp.tmpl -template - if you want to use the same selector for all parents, the one -embedded in the argument eoPopulator. -Otherwise, you'll have to write your own operator based on an external -selector, as described in lessOffspringExternalSelectorGenOp.tmpl.
  • - -
  • -If you decide to have more parents than offspring, you can decide either -to get the extra parents using the eoPopulator  -own selector (see lessOffspringSameSelectorGenOp.tmpl, -or to use an external selector (passed at construct-time) as described -in lessOffspringExternalSelectorGenOp.tmpl.
  • - -
  • -Now you can modify the constructor, where -you pass to the object any useful parameter (see private data at end of -class definition). In case you need an external selector, you have to choose -it (or write it!) - it should be an eoSelectOne -object.
  • - -
  • -Finally, write the core of the operator in method apply(). -Remember you must use the argument eoPopulator -to -access the members of the population in turn (method -operator*), -you may use the initial population (method source()), -as well as the insert methods.
  • -
- -
    Warning: in general operators, -you must not forget to invalidate the -fitness of any individual that has actually been modified. this implicitely -implies that general operators can only be applied to EO object (i.e. objects -with a fitness), and not to any type of structure. -
    It you don't invalidate the individual, the lazy -fitness evaluation procedure in EO will not know it should compute -the fitness again and will keep the old obsolete value.
- -
The -populators: -
As has been said above, an -eoPopulator -mainly behaves like an iterator over -a population (hence the name, Population-Iterator). -

The basic -interface of an eoPopulator -(see also the documentation, -of course) is the following: -

    -
  • -Individuals are accessed through the operator*;
  • - -
  • -Basic iterator operations are available, like (pre)incrementation through -operator++, -position management through seekp -(returns the current position) and tellp -(go to a given position);
  • - -
  • -Individuals can also be inserted at -current position using the corresponding methods;
  • - -
  • -last but not least, as the individuals are returned by reference, it is -mandatory to ensure that they will not be moved around later: the memory -management  routine reserve -is called whenever there is a chance to add some individuals in the population -- i.e. in the eoGenOp base class operator() method.
  • -
-Moreover, a public method termed select,  -is used inside the object to get new parents for the following operator*, -and its implementation distinguishes two types of eoPopulator: -
    -
  • -The eoSeqPopulator gets new parents -from its source (the initial population). When the source is exhausted, -an exception if thrown. The idea of such pooulator is to start from a population -of already selected individuals.
  • - -
    The programmer should hence be very careful that the number of available -parents matches the requirements of the operators when using an eoSeqPopulator -object. -
  • -The eoSelectivePopulator , on the opposite, -always gets new parents using its private eoSelectOne -object (passed at construct time). Hence it can handle any number of parents -at will. The idea of such populator is to handle the whole breeding -process, i.e. selection and variation operators.
  • -
-An immediate consequence is that if you are not sure of the number of  -parents you will need in some operators (e.g. because of some stochastic -proportional selection ebtween operators that don't need the same number -of parents, then you must use an eoSelectivePopulator -to apply the variation operators to the population, and thus get exactly -the number of offspring you want. -

Example: An eoSelectivePopulator -is the main ingredient of the eoGeneralBreeder -operator() -method - a class that creates a population of offspring from the parents -applying an eoGenOp (usually an eoOpContainer) to all selected parents -in turn. -
-


General -Operator Containers: -
General operators in EO are meant to be used withing eoOpContainer -objects, that allow to combine them in a hierarchical and flexible way. -There are two ways to do that: the proportional -combination, similar to what has been described for simple operators -above, -and the sequential combination, which -amounts to apply all operators in turn to a bunch of individuals, each -operator being applied with a specific probability. -

Proportional combinations -
When called upon a population (through an eoPopulator -object), an eoProportionalOpContainer -enters the following loop: -

while there are individuals left in the list -

    -
  • -choose one of the included operators according to their relative rates -(by some roulette wheel random choice)
  • - -
  • -applies the chosen operator. The parents are dispensed to the operator -from the list on demand.
  • - -
  • -What happens next exactly depends on the type of operator, but basically, -some of the parents get modified, some might get removed from the list -and some new individual might get inserted on the list.
  • - -
  • -updates the list pointer (if needed) to the individual following the ones -that just have been modified/inserted/deleted.
  • -
-Sequential combinations -
When it is called upon a list of pending candidates, an -eoSequentialOpContainer -enters the following loop: -

mark the current position -
for all operators it contains, -

    -
  • -go to marked position
  • - -
  • -until current end of population -is reached do
  • - -
      -
    • -flip a coin according to the operator rate.
    • - -
        -
      • -If true, apply the operator to the parents. The current parents can be -modified, or some can be deleted from the list, or some offspring can be -inserted in the list.
      • - -
      • -If false, move the pointer over the required number of parents (i.e. don't -modify thoses parents)
      • -
      - -
    • -Next pending parent
    • -
    - -
  • -Next operator
  • -
-Warning: the way rate -will be used is highly dependent on the type of eoOpContainer -your are creating there: -
    -
  • -The rates for eoProportionalOpContainer -will be used in a roulette wheel choice among all operators. They can take -any value, the only important thing is their relative -values.
  • - -
  • -The "rates" for eoSequentialOpContainer actually -are probabilities, i.e. they will be -used in a coin-flipping to determine whether that particuler operator will -be applied to the next candidates at hand. They should be in -[0,1] (no error will happen if they are not, but the operator -will be applied systematically - this is equivalent of a rate equal to -1).
  • -
-Remark:The eoSGATransform presented in Lesson2 -can be viewed as a particular type of eoSequentialOpContainer. -It was not coded that way in order to provide a gradual introduction to -all concepts. -
Exercise: write the code to perform an -eoSGA using the eoOpContainer constructs. -

Adding operators to a container: -
The way to add an operator to an eoOpContainer -is the method -add. It is similar -to all other add methods in -other Combined things in eo (as the simple eoProportionalCombinedXXXop -described above, but also the eoCombinedContinue class or the eoCheckPoint -class). -
The syntax is straightforward, and it works with any of the operator -classes eoXXXOp, where XXX stands for -Mon, -Bin, Quad or -Gen: -

someOperatorType<Indi> myOperator; -
eoYYYOpContainer<Indi> myOpContainer; -
myOpContainer.add(myOperator, rate); // -rate: double whose meaning depends on YYY -

where YYY can be one of Proportional and Sequential. Note that before -being added to the container, all simple operators are wrapped into the -corresponding eoGenOp (see e.g. how an eoMonOpis -wrapped into an eoMonGenOp- or -how any operator -is handled by calling the appropriate wrapper). In particular, the -wrapper ensures that individuals who have been -modified are invalidated. -

Containers, -Selectors and Populators -
The way the eoOpContainer are applied -on a population using an eoPopulator -object. But, whereas the behavior of eoProportionalOpContainer -does not depend on the type of eoPopulator,(one -operator is chosen by roulette_wheel, and applied once before control is -given back to the caller), the main loop in method operator() -of -class eoSequentialOpContainer -iterates while (!_pop.exhausted()) -which is interpreted differently depending on the type -of eoPopulator: -

    -
  • -if the argument is an eoSelectivePopulator, -the default position of the eoPopulator, considered as a population iterator, -is at end of population. Individuals are added upon demand of an operator, -and in most cases all operators are applied once. This also depends, however, -on the arities of all operators:
  • - -
      -
    • -Consider an eoSequentialOpContainer -containing an eoQuadOp and an eoMonOp. The eoQuadOp first asks for two -parents and modifies them. The eoMonOp is then called starting from the -forst of thoses two modified individuals, and is hence applied twice, once -on each parent.
    • - -
    • -But consider now an eoSequentialOpContainer -containing an eoGenOp that takes one -parent and generates three offspring, followed by an eoQuadOp. -The eoGenOp will call the selector -to get the parent its need and will modify it and put 2 additional offspring -at end of the population. The eoQuadOp -will then be called on the first of the three outputs of the eoGenOp, -and hence will act upon the frist two of them. But at that point, the populator -iterator will point to the third of the individuals resulting from the -eoGenOp, -and the test _pop.exhausted() -will return false, so the eoQuadOp -will again be called. The second parent it needs will be given by a new -call to the embedded eoSelectOne of -the  and everything will go on smoothly, except that a total of 4 -offspring will have been generated by application of this particular eoSequentialOpContainer.
    • -
    - -
  • -if the argument is an eoSeqPopulator, -the position of the iterator starts from the beginning of an existing population -(the source populations), and hence when an  an eoSequentialOpContainer -is called, it goes through the whole remaining of the population (the test -_pop.exhausted() -only returns true at end of the source population).
  • - -
  • -From the above it is easy to see that passing an eoSeqPopulator -to an eoProportionalOpContainer that -contains an eoSequentialOpContainer, -though not technically forbiddden, will most produce something  totally -unpredictable, and hence should probably not be used without great care.
  • -
- -
Advanced -general operators: -

It is sometimes useful to be able to use a selector from inside an operator -(a typical example is when you want to implement sexual -preferences, i.e. choose a mate for a first parent according -to some characteritics of that first parent). -
This is made possible in EO because the general operators have a handle -on the initial population through the method source() -of the argument eoPopulator they work on. Their apply() -method shoudl look like -

void apply()(eoPopulator& -_pop) -
{ -
  EOT & eo1 = *_pop; // get -(select if necessary) the first guy -
  EOT maBlonde = findBlonde(_pop.source()); -// -select mate -
  // do whatever the operator is supposed -to do, e.g -
  cross(eo1, maBonde);       -// cross is some embedded crossover -
  ... -
  // if you don't want to put maBlonde -into the offspring, -
  // stop here (and use a reference -to maBlonde above). Otherwise -
  maBonde.invalidate(); -
 ++_pop;    // -advance -
  _pop.insert(maBlonde);    -// and insert it -
} -

Where does that findBlonde -selector comes from? As usual, you have to attach it to the operator,  -in its constructor for instance, which should give something like: -

sexualSelectorType<Indi>  findBlonde; -
sexualOperatorType<Indi> yourBrainAndMyBeauty(cross, -findBlonde); -

-


Local: Introduction -- Crossover - Mutation -- Combinations - General -Operators - Populators - General -combinations- Advanced operators -
General: Algorithm-Based -- Component-Based - Programming -hints -EO -documentation -
-
-
-Marc Schoenauer
- -
Last -modified: Sat. Feb. 17 2002  -
  - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoOutput.html b/trunk/paradiseo-eo/tutorial/html/eoOutput.html deleted file mode 100644 index 4e77cd2ea..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoOutput.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Output - - - -

Output

- - - -
-
Marc Schoenauer
- - -Last modified: Mon Oct 30 19:29:19 CET 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoProgramming.html b/trunk/paradiseo-eo/tutorial/html/eoProgramming.html deleted file mode 100644 index 40ffcad37..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoProgramming.html +++ /dev/null @@ -1,498 +0,0 @@ - - - - - - EO Programming guide - - -General: Tutorial -main page - -Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
Local: Templates -- -Functors - -STL Library - Random -numbers - EO programming style  - Memory -management -
-
-
-

-EO Programming guide

- -
-
Templates -

Most EO code is written using templates. This allows to write generic -code, i.e. involving a class which doesn't have to be known when writing -the code -- but only when compiling it. In some sense this is similar to -naming variables in algebra: you can write a lot of equations involving -some variable $x$ without knowing even it if will be an integer or a float -(or a matrix or ...). The main basic type that is templatized in EO is -the fitness: an EO object is some object which has a fitness of some type -F that can be anything. The definition for that is (see EO.h) -

template<class F> class EO -

The idea is that, later in your code, you can define a class as follows -(see for instance  eoBit.h). -

template<class F> class eoBit : public -EO<F> -
{ ... code for eoBit  }; -

and then use it in your application as -

eoBit<double> myeoBit; -

declares an object of type eoBin which has as fitness a double. -

Whereas the advantages -are obvious (writing generic reusable code instead -of having to rewrite the same pieces of code for different types), there -are some drawbacks: -namely, it makes some of the compiler error messages -hard to understand; and it forbids the compilation of most parts of EO -into an object library file, as the actual types are not known in advance. -

-


-
Functors -

Though EO is a library, it contains almost no functions per se! -
EO mainly contains functors, that are objects which have a method called -operator(). -Such objects are used  as if they were functions, but the big differences -are that -

    -
  • -functors are functions with private data
  • - -
  • -you can have different functors objects of the same class, i.e. you can -use at the same time the same functionality with different parameters
  • - -
  • -you can have a hierarchy of functors objects, which means that you have -a hierarchy of functions with defaults behaviors and specialized sub-functions
  • - -
  • -...
  • -
-Functors are so intimately linked to EO that a base class (eoFunctorBase) -has been designed to hold all functors. This base class is itself divided -into three derived class. These classes tell you immediately what kind -of arguments the operator() -method requires and what kind of result it produces. See EO -conventions, and the inheritance -diagram of class eoFunctorBase Also note that -if you create new functors, you should also derive from one of these classes, -as it is mandatory if you later use the EO memory management -mechanism. -
For a more complete introduction to functors, with detailed discussion, -go to the STL documentation -- as STL also heavily relies on functors, and the eoFunctorBase paradigm -is borrowed from there. -

Functors: Example: -

The following is a basic example of how to program and use a functor -object: First code the class: -

class MyFunctor -
{ ... -
    void operator()(ArgType -arg) -
       { -
            -// do what you have to do -
       } -
}; // end of class declaration -

Then use it  later in the code : -

ArgType myArgument; -
MyFunctor myFunctorInstance;    -// myFunctorInstance is an object of class MyFUnctor ... -
myFunctorInstance(myArgument);  -// calls operator() of myFunctorInstance acting on myArgument ... -
  -

Functors: The -three basic classes: -

Direct sub-classes of the root class , three classes -are defined to differentiate functors by the number of argument required -by their operator(). -These classes are templatized by the types of its arguments, and by its -return type. Hence, -
from the inheritance diagram of any functor class -in EO, you can immediately deduce the interface of their operator() -method. -
  -

    -
  • -eoF -is for arity-zero functors, i.e.  their operator() -method does not require any argument. It has a single template parameter, -the return type of the operator() -method. For instance,  eoMonitor  -are eoF's -that return an eoMonitor &.
  • - -
  • -eoUF -is for unary functors, i.e.  their operator() -method requires one argument. It has two template parameters, the type -of the argument and the return type of the operator() -method. For instance,  eoMonOp's -are eoUF's -that take as argument an EOT & -and return void -.
  • - -
  • -eoBF -is for binary functors, i.e.  their operator() -method requires two arguments. It has three template parameters, the types -of the arguments and the return type of the operator() -method. For instance,  eoBinOp's -are eoBF's -that take as arguments a const EOT -& and an EOT -&, and return void -.
  • -
-Now go back to the inheritance -diagram of class eoFunctorBase, -and guess the interface for all functors! -

Note: for -obvious simplicity reasons, we very often omit the reference to the operator(), -e.g. when we say above: -

    -
  • -eoMonOp's -are eoUF's -that take as argument an EOT & -and return void
  • -
-it actually means -
    -
  • -eoMonOp's -are eoUF's, -their operator() -method takes as argument an EOT & -and returns void.
  • -
- -


-


-
A very brief -introduction to STL -

All EO heavily relies on STL, the Standard -Template Library. -
But you don't have to know more than a few words -of STL to use EO (like with "hello", "please" and "goodbye" you -can survive in a foreign country :-) and even to contribute to new EO features. -Moreover, while browsing through EO code, you will gradually learn how -to use STL, especially if you check at the SGI -STL Web site from time to time, where you can not only download STL, -but also browse in the Programmer's guide  for isntance from the Table -of Content. -

Anyway, you will only find here, in EO tutorial, the basics of STL that -you will need to understand most of EO code - and to guess what the parts -you don't understand are actually doing. Don't worry, I -don't -understand everything :-) -

STL provides the user with containers, -iterators -and algorithms. And you can access -(almost) all containers content using (almost) all iterators, or apply -(almost) all algorithms on (almost) all containers (of course the tricky -part is to instanciate the "almost" in the previous sentence :-) -

STL: Containers -
Containers are high level data types used to hold simpler data - the -most widely used example of a container is the vector -construct. -
The use of STL containers relieve the user from memory management. -

    -
  • -vector The -most widely used container is a one-dimensional array of items.
  • - -
    Data manipulation: suppose v -is an STL vector<AtomType>. -Then -
    v[i] -is the ith element of v, as in standard C arrays -
    v.size() -is the number of elements of v -
    v.push_back(atom) -appends the atom -at end of v, -provided of course that atom -is of type AtomType, -the size is automatically increased... -
    blabla insert, erase, ... -
  • -list -STL provides different types of list. The one used in EO is the simple -linked list named ... list. -As far as the user is concerned, simple lists are very similar to vectors, -and the data manipulation listed above for vectors can be applied to list.
  • - -
  • -pair
  • - -
    This simple container allows you to hold two -data types together. It is very handy for temporary data handling. Assuming -p is a pair<AtomType1, AtomType2>, -p.first -and p.second  -refer to the encapsulated data, of respective types AtomType1 -and -AtomType2 -
  • -Blabla
  • -
-There are many other types of containers that are not used in EO and that -we will not present here. -

STL: Iterators -
Iterators are accessors to the containers contents that provide unified -access to different containers. They are very similar to pointers, i.e. -you can increment them, compare them with one another, etc -

Some very useful iterators for vectors and lists are begin() -and end(), that refer to the first -and after-last items of a container. They allow loops to sweep all items -contained in a container as follows: -
STLcontainer myContain; -
STLcontainer::iterator it; -
for (it=myContain.begin(); it!=myContain.end(); -it++) -
{ -
// do what you have to do to -(*it) -the current item in the container -
} -

STL: Algorithms -
Algorithms are functions acting on containers - the most widely used -example of a STL algorithm are the different sorting -algorithms. -

    -
  • -sort, nth_element, are sorting -algorithms used in EO
  • - -
  • -copy is used to copy a range -of data designated by iterators
  • - -
  • -apply is used to perform the -same operation to many items designated by a range of iterators
  • - -
  • -Blabla - help wanted thanks...
  • -
-STL: Advantages -
The main and huge advantage of -using STL is that it handles (almost all) memory mangement automatically. -You can use any STL container the same way you would use a scalar basic -C++ type. And it does it in a (supposededly) optimized way. Of course, -the user is also responsible for performances: for instance, the insert() -method will take more time for vectors than for linked lists, while on -the opposite, the operator[] accessor will be faster for vectors. But both -will work anyway. -

STL: Drawbacks -
The main drawback I see in using STL is that it makes it almost -impossible -to use a debugger normally: whereas access to data is made simple -to the programmer, data structures are actually so complex, and debuggers -so willing to display everything that you get lines of template instantiation -when asking your debugger what is inside some container! For instance I -could never visualize some -v[i] -with gbd, v -being an STL vector! -

-


-
Random -numbers -

Evolutionary Algorithms make intensive use of random numbers. Random -numbers are simulated in computers by using pseudo-random -number generators (RNGs for short), i.e. functions that return series of -numbers who look random (w.r.t. some statistical criteria). -

To make sure the random number generator is as good as possible, and -to ensure reproducibility of the results across different platforms, EO -has its own RNG, the ``Mersenne Twister'' -random number generator MT19937 (thanks to Takuji -Nishimura, see eoRNG.h -comments). -

Though you can define and use as many RNGs as you wish in EO, the library -also provides you with a global RNG termed eo::rng. -Using that single RNG in all calls to random numbers allows one to be able -to reproduce a given run: -

    -
  • -as strange as it seems for a random algorithm, it is mandatory for debugging -purposes
  • - -
  • -random numbers are computed starting from a seed - starting from the same -seed will lead to the same series of pseudo-random numbers, and hence to -the same results of the algorithms. All examples in this tutorial will -use the RNG seeding procedure, see e.g. in Lesson1.
  • - -
  • -to simulate "true" random runs, you can just seed the RNG with a machine-clock -related number, e.g. calling time(0), as done for instance in Lesson3 -(and after).
  • -
-As RNGs produce, by definition, integers that are uniformly distributed -between 0 and some maximal number, EO provides you with random numbers -following different probability distribution -(e.g. floating point following normal -distribution). See the complete -list of RNG primitives. -

EO also provides random_generators -that can be used in STL call to generate series of random numbers, as in -eoPop -initializers. -

Note: the eo:: -prefix indicates that it is in a separate C++ namespace, to avoid collision -with possible variables that would also be named rng in some other library. -As early versions of EO (<= 9.1)  did not use a separate namespace -for rng, the compiler directive using eo::rng in eoRNG.h allows you to -use the name rng without the eo:: -prefix. However, the notation eo::rng -should be preferred and might become mandatory some day. -
-


-
EO conventions -and naming style -

A few naming conventions should help you to navigate more easily through -EO: -

    -
  • -The name of local variables should start with a lower case letter. Capital -letters should be used rather than underscore to separate words in names -(e.g. popSize rather than -pop_size).
  • - -
  • -The name of the arguments to a function should start with an underscore, -e.g.
  • - -
              void -myfunction(unsigned _popSize){...} -
  • -The initialization parameters of constructors should be named from the -names of the variables they are used to initialize, e.g.
  • - -
      -

      -
      -
      -

    class eoMyClass -
    { -
    public: -
      eoMyClass(unsigned _popSize):popSize(_popSize){...} -
       ... -
    private: -
       unsigned popSize; -
    }; -

  • -The names of classes should start with eo + an Uppercase letter (as eoMyClass -above).
  • - -
  • -The name of the EO template should be EOT. This allows quick understanding -of the inheritance diagrams for functors. and immediate -perception of the arguments and return types of the functors oeprator() -method (as in eoMonOp -or  eoBinOp).
  • - -
      -
  • -Blabla
  • -
- -
-
EO memory -management -

Most of EO constructs are based on the encapsulation -of objects into other objects, and the embedded objects are passed through -the constructor of the embedding object. -
For instance, the construction of an algorithm requires a breeder (plus -many other things of course), the construction of a breeder usually requires -a selector, and in turn the construction of a selector requires some parameters. -This gives something resembling the following -

eoTournamentSelection<EOT>  select(tSize); -
eoBreeder<EOT> breed(select); -
eoEasyAlgo<EOT> algo( ..., breed, ...); -

Such a practice is no problem when doing everything -in a (large!) main function: all objects are local to that function, -but when the end of the function is also the end of the program. For instance, -all programs in Lesson1, Lesson2 -and Lesson3 of this tutorial are built that -way. -

It is however a big problem when you want to outsource some code in -other functions: indeed, the above sequence create objects that dissapear -when exiting the function, and thus cannot be used outside their defining -function. -

The solution is of course to use pointers, -which gives something like -

eoTournamentSelection<EOT>  *ptSelect -= new eoTournamentSelection<EOT>(tSize); -
eoBreeder<EOT> *ptBreed = new eoBreeder<EOT>(*ptSselect); -
eoEasyAlgo<EOT> *ptAlgo = new eoEasyAlgo<EOT>( -..., *ptBreed, ...); -

and you can then use the dynamically allocated objects anywhere. But -the trouble with such a construct is that after exiting the function where -such objects are defined, you will never be able -to free this allocated memory, should you not need the objects -any nore. Whereas this is not in general a big problem (except of being -a very bad practice that will make you a very naughty programmer :-), it -will prevent any re-entrance of the resulting code, and for instance you -will not be able to use an evolutionary algorithm within another loop of -some outside code. -

The solution in EO us to use an eoFunctorStore -object to store such nowhere-belonging pointers: whenever you allocate -such a thing, store it into an eoState : deleting that state will delete -all the stored pointers - one eoState is thus the only object you have -to care of. -

The above pointer allocation sequence thus become -

eoTournamentSelection<EOT>  *ptSelect -= new eoTournamentSelection<EOT>(tSize); -
state.storeFunctor(ptSelect); -
eoBreeder<EOT> *ptBreed = new eoBreeder<EOT>(*ptSelect); -
state.storeFunctor(ptBreed); -
eoEasyAlgo<EOT> *ptAlgo = new eoEasyAlgo<EOT>( -..., *ptBreed, ...); -
state.storeFunctor(ptAlgo); -

or, even more quickly (though less readably) -

eoTournamentSelection<EOT>  *ptSelect -= -
               -state.storeFunctor(new eoTournamentSelection<EOT>(tSize)); -
eoBreeder<EOT> *ptBreed = -
               -state.storeFunctor(new eoBreeder<EOT>(*ptSelect)); -
eoEasyAlgo<EOT> *ptAlgo = -
               -state.storeFunctor(new eoEasyAlgo<EOT>( ..., *ptBreed, ...)); -

In both the above code, state is an eoFunctorStore -that is of course passed from outside the function -- and it's called state because in most cases it will actually be an eoState. -As its name says, an eoFunctorStore -can store any object that is an (derives from) eoFunctorBase -- hence all objects in EO that are used as functors should derive from -either eoF, eoUF or eBF. -

Examples of such constructs are shown in the make_xxx files described -in Lesson4. -
-


Local: Templates -- -Functors - -STL Library - Random -numbers - EO programming style  - Memory -management -
-
-
General: Tutorial -main page - Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
-
Marc Schoenauer - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoRepresentation.html b/trunk/paradiseo-eo/tutorial/html/eoRepresentation.html deleted file mode 100644 index 41a63f6df..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoRepresentation.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Representation - - - -

Representation

- - - -
-
Marc Schoenauer
- - -Last modified: Mon Oct 30 19:28:01 CET 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoSGA.html b/trunk/paradiseo-eo/tutorial/html/eoSGA.html deleted file mode 100644 index 2e2428701..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoSGA.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - eoSGA.h - - -Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-
-

-eoSGA.h

- - - - - -
//----------------------------------------------------------------------------- -
// eoSGA.h -
//----------------------------------------------------------------------------- -
#ifndef _eoSGA_h -
#define _eoSGA_h -
#include <eoOp.h> -
#include <eoContinue.h> -
#include <eoPop.h> -
#include <eoSelectOne.h> -
#include <eoSelectPerc.h> -
#include <eoEvalFunc.h> -
#include <eoAlgo.h> -
#include <apply.h> -
/** The Simple Genetic Algorithm, following -Holland and Goldberg  -
*  Needs a selector (class eoSelectOne) -a crossover (eoQuadratic,  -
*      i.e. a 2->2 -operator) and a mutation with their respective rates,  -
*      of course -an evaluation function (eoEvalFunc) and a continuator  -
*      (eoContinue) -which gives the stopping criterion. Performs full -
*      generational -replacement. -
*/  -
template <class EOT> -
class eoSGA : public eoAlgo<EOT> -
{ -
public : -
 // added this second ctor as -I didn't like the ordering of the parameters -
 // in the one above. Any objection -:-) MS -
eoSGA( -
       eoSelectOne<EOT>& -_select, -
       eoQuadraticOp<EOT>& -_cross, float _crate, -
       eoMonOp<EOT>& -_mutate, float _mrate, -
       eoEvalFunc<EOT>& -_eval, -
       eoContinue<EOT>& -_cont) -
     : cont(_cont),  -
       mutate(_mutate),  -
       mutationRate(_mrate), -
       cross(_cross), -
       crossoverRate(_crate), -
       select(_select), -
       eval(_eval) -{}
- - - - - -
 void operator()(eoPop<EOT>& -_pop) -
 { -
    eoPop<EOT> offspring; -
    do { -
         -select(_pop, offspring); -
         -unsigned i; -
         -for (i=0; i<_pop.size()/2; i++)  -
             -{   // generates 2 offspring from two parents -
                 -if ( rng.flip(crossoverRate) )  -
                   -{  -
                       -cross(offspring[2*i], offspring[2*i+1]); -
                   -} -
             -} -
         -for (i=0; i < _pop.size(); i++)  -
             -{ -
                 -if (rng.flip(mutationRate) )  -
                     -{ -
                         -mutate(offspring[i]); -
                     -} -
             -} -
         -_pop.swap(offspring); -
         -apply<EOT>(eval, _pop); -
     } while (cont(_pop)); -
 } -
 
- - - - - -
private : -
 eoContinue<EOT>& cont; -
 eoMonOp<EOT>& mutate; -
 float mutationRate; -
 eoQuadraticOp<EOT>& cross; -
 float crossoverRate; -
 eoSelectPerc<EOT> select; -
 eoEvalFunc<EOT>& eval;
- - - - - -
}; -
#endif
- -
Back to Lesson 1 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Sun Nov -19 19:36:21 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoSelect.html b/trunk/paradiseo-eo/tutorial/html/eoSelect.html deleted file mode 100644 index 9de6bb612..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoSelect.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - Selection - - - -

Selection

- - - -
-
Marc Schoenauer
- - -Last modified: Mon Oct 30 17:51:55 CET 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoStop.html b/trunk/paradiseo-eo/tutorial/html/eoStop.html deleted file mode 100644 index 14e0d37c1..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoStop.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - Input / Output - - - -

Input / Output

- -

- -

Stopping criteria

- -

- -

Displaying statistics

- -
-
Marc Schoenauer
- - -Last modified: Tue Oct 31 18:32:22 CET 2000 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoTopDown.html b/trunk/paradiseo-eo/tutorial/html/eoTopDown.html deleted file mode 100644 index c9a668acb..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoTopDown.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - EO - The Algorithm-Based approach - - -Tutorial main -page -- -Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
-
-

-EO - The Algorithm-Based approach

- -


Congratulations - You have chosen the algorithm-based approach!  -This means that you want to start from something that already works, and -gradually learn about the more complex constructs. We have prepared a series -of "lessons" for you. -

    -
  • -Lesson 1 - a gentle introduction to the EO -way: your first steps into EO representations -using a simple generational GA. Please, spend -the necessary time on that one, since all basic constructs presented -there are used throughout EO.
  • - -
  • -Lesson 2 - encapsulate, -encapsulate, and try more sophisticated selection/replacement -mechanisms, as well as multiple  operators
  • - -
  • -Lesson 3 - The same algorithms, but with improved -input/outputs: user-friendly input (i.e. without -the need to recompile!) of algorithm parameters, -and checkpointing (display -of on-line statistics, save -and -restore -populations, -restart stopped runs, -...).
  • - -
  • -Lesson 4 - The same algorithms - again! - -but now fully operational: every component -of the algorithm can be defined on the command-line, -except the type of genotype; moreover, you now have a full library, i.e. -everything except your fitness function is already -compiled.
  • - -
  • -Lesson 5 (new) -- Use your own representation. Thanks -to template files and a little script in Unix, -or the Application template in MSVC++, you -can easily define a new genotype and run an Evolutionary Algorithm that -will intantly benefit from the power of all EO -Evolution Engines (including easy user-parameter -input presented in Lesson 4). You simply need to gradually fill -in the shell-files that the script will generate for you.
  • - -
  • -(new)  In parallel -to those lessons :-), you now have access to a two lessons for ParadisEO, -the parallel version of EO. There are -no HTML files, but sample code (in dir tutorial/ParadisEO/LessonN), -together with a PDF presentation -- Thanks to Sébastien Cahon (LIFL, -Lille)
  • -
- -


Current version (May. 5, 2002) stops here, but ... -

From there on, you don't need to follow the lesson order any more: you -can go directly to any lesson and experiment. Of course, you will need -to bring together the different pieces to write exactly what you want - -but only because we had no idea of what you exactly want :-) -

    -
  • -Lesson 6 (forthcoming) - More about checkpointing: -write your first adaptive mechanism, -and find out how easy it is to update -and monitor dynamic -parameters
  • - -
  • -Lesson 7 - More general operators: -e.g. binary, n-ary, or even specific mate selection (your brain and my -beauty)! Add your own to the basic algorithm using the template files.
  • - -
  • -Lesson 8 - Use predefined generic representations. -The eoFixedLength and eoVariableLength -super classes allow quick definition of new genotypes that handle identical -Atoms, together with generic variation operators.
  • -
-Of course, in each lesson, you have links to the corresponding Component-Based -page. ( ... Well, to tell you the truth, as of today, this is not exactly -true :-) -
-
-
Tutorial main page - Algorithm-Based -- Component-Based - Programming -hints - EO -documentation -
-
-
-Marc Schoenauer
- -
Last modified: Tue Dec 19 -2000  - - diff --git a/trunk/paradiseo-eo/tutorial/html/eoTutorial.html b/trunk/paradiseo-eo/tutorial/html/eoTutorial.html deleted file mode 100644 index 2986ce10a..000000000 --- a/trunk/paradiseo-eo/tutorial/html/eoTutorial.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Tutorial EO - - -Algorithm-Based - Component-Based -- Programming hints - EO -documentation -
-
Welcome to EO, the Evolving Objects library, -and to
- -
-

-EO Tutorial

- -
Version 0.98a - December 2004 -
- -
    -
  • New - -Well, in fact, nothing really new, -but some people advised us to announce from the very beginning that -if you are looking for a ready-to-use -(except for the fitness) fully tunable Evolutionary -Algorithm evolving real values or bitstring, you can -go directly to -Lesson 4 after just reading -this page, and maybe the Programming -hints (link on top of each page too).
    - -In fact, there is something new: EO's automatic configuration and -build process has been cleaned up and upgraded. For consistency, the -same automatically-built Makefiles have been created in the -tutorial directories. The good-old manually-created files are -still there, now named -Makefile.simple. -Moreover, when you compile the whole library (typing make in the main EO dir), all lessons of the tutorial gets compiled, too. -
  • -
    - -
    Version 0.98 - May 2004
    - -
  • Lesson 5 - has been improved: some of -the empty template files in dir -.../eo/tutorial/Templates -have been simplified, and file stat.tmpl -has been added, allowing you to -compute and -print and -save-to-disk and -plot-on-line your -own statistics. -The magic script is now (see Lesson5) createSimple.
    - -The same simplified main file in -dir .../eo/tutorial/Templates) -also allows you to use -fitness sharing - (together with roulette wheel) as a possible selector.
    - -Unfortunately, the HTML file for Lesson5 and the corresponding -html-ized code are not yet updated - time is missing -(volunteers welcome).

    -
  • - -
    May 2002
    -
  • -ParadisEO, the parallel -version of EO, is available together with -a PDF presentation
  • - -
    -Thanks to Sébastien -Cahon (LIFL, Lille)
    - -
-
-
Welcome to EO tutorial/on-line documentation.
-

About this tutorial

-First, please note that this tutorial is not supposed -to be printed and read off-line, as it takes full advantage -of hyper-text links between the different parts, and with the technical -documentation. -This tutorial can be used in 2 different ways: algorithm-based and component-based. -
    -
  • -Algorithm-Based means you start from a very -simple, ready-to-run algorithm, and gradually modify it, making -it both more powerful and more complex.
  • - -
  • -Component-Based means you start by examining -the -components of an EA one by one, down to -the level of complexity you feel comfortable with, and then build the whole -algorithm using those components you need (or the one you are mastering). -Such approach might be viewed as going through a simplified user guide, -too.
  • -
-However, it is strongly recommended -that you take some time on the first lesson of the Algorithm-Based approach -to get familiar with the basic concepts that are used throughout EO. Anyway, -as of today, December 19, the Component-Based is only very sparsely written -:-) -

-


Links and Related -documents -
    -
  • -There are of course a few (very few) programming -hints that you should know.
  • - -
  • -THe EO documentation - automatically -generated from the comments in the code - is very helpful to get an idea -of the inheritance diagrams of EO classes, -and to quickly reach some specific part of the code.
  • - -
    The top page of each class documentation is for instance the inheritance -diagram of the class, and you'll learn a lot by simply looking at it. -
  • -For those who wish to get deeper in STL (Standard Template Library), you -might visit the well documented SGI -STL Web site. But don't forget you'll find the very basic minimum in -EO programming hints.
  • - -
  • -And, last but not least, we assume you know approximately that an Evolutionary -Algorithm looks like this, but otherwise you can try this very -brief introduction (not written yet, Jan. 2001, sorry).
  • -
- -


-


Colors and navigation: -

You will see this diagram in quite many places, as for instance at the -top of all examples - usually it will be clickable and will help you navigate -among the different parts of an EO program. See the brief -introduction to Evolutionary Computation for a detailed explanation. -

-

- -

But in the text itself, colors are important, -as they will be used throughout this tutorial to clearly mark which part -of the algorithm we are discussing. So please keep in mind that, whereas -orange -is for emphasis, -

    -
  • -Yellowish is for representation, -i.e. the choice of the genotype
  • - -
  • -Magenta is for the stochastic -operators that are representation-dependent, -i.e. initialisation and variation operators -(crossover, mutation -and the like).
  • - -
  • -Green is for the implementation of Darwinism, -i.e. the way the individuals are selected -for reproduction and survive.
  • - -
  • -Red is for evaluation, i.e. the computation -of the fitness of all individuals
  • - -
  • -Blue is for interactions of the user and the -program, as for instance choice of stopping criterion, -on-line display of nice statistics or initial -choice -of all program parameters.
  • - -
  • -Brown is for everything that is NOT part of -any of the above, i.e. random number generator, or basic C++/STL syntax -.
  • - -
  • -Note that pink will be used to describe the -syntax of compile orders (i.e. at the operating system level, see e.g. -below).
  • - -
  • -Last, but not least, all -links into EO documentation will use the Helvetica typeface, like this -line you are now reading.
  • -
- -
This tutorial is -not -
    -
  • -A course on Evolutionary Computation. You can find such things on the Internet, -maybe you can start here.
  • - -
  • -An interface that would allow you to build your Evolutionary Programs by -a few clicks; such a thing does exist, is called EASEA, -and is complementary to this tutorial as it helps the user to build some -simple EO programs from simple description. But there are things that EASEA -cannot do, and you will have to do it yourself and will need to increase -your knowledge about EO for that - hence this tutorial.
  • - -
  • -A coffee machine - though you might want to spend some time here when you're -tired of everything else, to improve your knowledge of EO slowly and gradually -rather than when you have something urgent to code :-)
  • -
- -
Before -you start -

You should of course have downloaded and installed the whole EO -library (how did you get this file if not???). -If you are using a recent version of EO (0.9.3+), all tutorial Lessons -should have been compiled when installing the library, and you can now -proceed with Lesson1.
-
Otherwise, we'll assume that you are now in the tutorial directory, and that -your prompt looks something like -

(myname@myhost) EOdir/tutorial % -

so you should now type in -

make Lesson1 -

and see something like -

(myname@myhost) -EOdir/tutorial % make Lesson1 -
c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.1\" --I. -I../../src -Wall -g -c FirstBitGA.cpp -
c++ -Wall -g -o FirstBitGA FirstBitGA.o -../../src/libeo.a ../../src/utils/libeoutils.a -
c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.1\" --I. -I../../src -Wall -g -c FirstRealGA.cpp -
c++ -Wall -g -o FirstRealGA FirstRealGA.o -../../src/libeo.a ../../src/utils/libeoutils.a -

and two now executable files should have appeared in the subdirectory -Lesson1, namely FirstBitGA -and FirstRealGA (see First -lesson to know more about these two ready-to-run programs). If this -doesn't work, please go back to the main EO directory and run the installation -program. -

You should also test that you can access the EO documentation in the -menu line below: you might not need to go there immediately, but just in -case you make rapid progress ... This menu bar should be on all pages of -this tutorial, allowing you to navigate easily. -

Last, but not least: EO is improving only  from the good will of -contributors. This is also true for this tutorial: If you find anything -that you think could be improved, you are welcome to e-mail -me. -

-

Enjoy! -


Algorithm-Based -- Component-Based - Programming -hints - EO -documentation
- -
-
-Marc Schoenauer
- -
-Last -modified: Wed Feb 22 2006  - - diff --git a/trunk/paradiseo-eo/tutorial/html/make_genotype_OneMax.html b/trunk/paradiseo-eo/tutorial/html/make_genotype_OneMax.html deleted file mode 100644 index 3920e5548..000000000 --- a/trunk/paradiseo-eo/tutorial/html/make_genotype_OneMax.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Templates/make_genotype_OneMax.h - - -Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-
-

-Templates/make_genotype_OneMax.h

-The places where you have to put some code are on pink -background.. -Only the the character colors have the usual meaning. -
  - - - - - -
- -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
- -//-----------------------------------------------------------------------------
- -// make_genotype.h
- -// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001
- -/*
-      This library is free software; you can redistribute it and/or
-      modify it under the terms of the GNU Lesser General Public
-      License as published by the Free Software Foundation; either
-      version 2 of the License, or (at your option) any later version.
-      This library is distributed in the hope that it will be useful,
-      but WITHOUT ANY WARRANTY; without even the implied warranty of
-      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-      Lesser General Public License for more details.
-      You should have received a copy of the GNU Lesser General Public
-      License along with this library; if not, write to the Free Software
-      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-      Contact: todos@geneura.ugr.es, http://geneura.ugr.es
-                        Marc.Schoenauer@inria.fr
-                        mkeijzer@dhi.dk
- */
- -//-----------------------------------------------------------------------------
-#ifndef _make_genotype_h
-#define _make_genotype_h
-#include <eoOneMax.h>
-#include <eoOneMaxInit.h>
-   -// also need the parser and param includes
-#include <utils/eoParser.h>
-#include <utils/eoState.h>
- -/*
- * This fuction does the create an eoInit<eoOneMax>
- *
- * It could be here tempatized only on the fitness, as it can be used
- * to evolve structures with any fitness.
- * However, for consistency reasons, it was finally chosen, as in
- * the rest of EO, to templatize by the full EOT, as this eventually
- * allows to choose the type of genotype at run time (see in es dir)
- *
- * It returns an eoInit<EOT> that can later be used to initialize
- * the population (see make_pop.h).
- *
- * It uses a parser (to get user parameters) and a state (to store the memory)
- * the last argument is to disambiguate the call upon different instanciations.
- *
- * WARNING: that last argument will generally be the result of calling
- *                  the default ctor of EOT, resulting in most cases in an EOT
- *                  that is ***not properly initialized***
-*/
-
-
- - - - -
- -template <class EOT>
-eoInit<EOT> & do_make_genotype(eoParser& _parser, eoState& _state, EOT)
-{
-
-
- - - - -
- -   -// read any useful parameter here from the parser
-   -// the param itself will belong to the parser (as far as memory is concerned)
-   -//      paramType & param = _parser.createParam(deafultValue, "Keyword", "Comment to appear in help and status", 'c',"Section of status file").value();
-
-
- - - - -
- -   -// Then built the initializer - a pointer, stored in the eoState
-  eoInit<EOT>* init = new eoOneMaxInit<EOT> -/* ( param ) */ ; ;
-
-
- - - - -
- -   -// Eventually by passing the parameters you need
-  //  eoInit<EOT>* init = new eoOneMaxInit<EOT> -/* ( param ) */ ; ;
-
-
- - - - -
- -   -// store in state
-  _state.storeFunctor(init);
-   -// and return a reference
-  return *init;
-}
-#endif
-
-
Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
-
Last -modified: Fri May 3 07:10:52 2002 - - - diff --git a/trunk/paradiseo-eo/tutorial/html/make_op_OneMax.html b/trunk/paradiseo-eo/tutorial/html/make_op_OneMax.html deleted file mode 100644 index a108fb14f..000000000 --- a/trunk/paradiseo-eo/tutorial/html/make_op_OneMax.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - Templates/make_op_OneMax.h - - -Back to Lesson 5 -- Tutorial main page - Top-Down -page - Bottom-up page - Programming -hints - EO -documentation -
-
-
-

-Templates/make_op_OneMax.h

-The places where you have to put some code are on pink -background.. Only the the character -colors have the usual meaning. -

- - - - -
// -*- mode: c++; c-indent-level: -4; c++-member-init-indent: 8; comment-column: 35; -*- -

//----------------------------------------------------------------------------- -
// make_op_OneMax.h -
// (c) Marc Schoenauer, Maarten Keijzer and -GeNeura Team, 2001 -
/*  -
     This library is -free software; you can redistribute it and/or -
     modify it under -the terms of the GNU Lesser General Public -
     License as published -by the Free Software Foundation; either -
     version 2 of the -License, or (at your option) any later version. -
     This library is -distributed in the hope that it will be useful, -
     but WITHOUT ANY -WARRANTY; without even the implied warranty of -
     MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -
     Lesser General Public -License for more details. -
     You should have -received a copy of the GNU Lesser General Public -
     License along with -this library; if not, write to the Free Software -
     Foundation, Inc., -59 Temple Place, Suite 330, Boston, MA  02111-1307  USA -
     Contact: todos@geneura.ugr.es, -http://geneura.ugr.es -
                       -Marc.Schoenauer@inria.fr -
                       -mkeijzer@dhi.dk -
*/ -
//----------------------------------------------------------------------------- -

#ifndef _make_op_OneMax_h -
#define _make_op_OneMax_h -

// the operators -
#include <eoOp.h> -
#include <eoGenOp.h> -
#include <eoCloneOps.h> -
#include <eoOpContainer.h> -
// combinations of simple eoOps (eoMonOp -and eoQuadOp) -
#include <eoProportionalCombinedOp.h> -

/** definition of mutation:  -
* class eoOneMaxMonop MUST derive from eoMonOp<eoOneMax> -
*/ -
#include "eoOneMaxMutation.h" -

/** definition of crossover (either as eoBinOp -(2->1) or eoQuadOp (2->2):  -
* class eoOneMaxBinCrossover MUST derive -from eoBinOp<eoOneMax> -
* OR  -
* class eoOneMaxQuadCrossover MUST derive -from eoQuadOp<eoOneMax> -
*/ -
// #include "eoOneMaxBinOp.h" -
// OR -
#include "eoOneMaxQuadCrossover.h" -

  // also need the parser and -state includes -
#include <utils/eoParser.h> -
#include <utils/eoState.h> -

/////////////////// variation operators /////////////// -
// canonical (crossover + mutation) only -at the moment // -

/* -
* This function builds the operators that -will be applied to the eoOneMax -
* -
* It uses a parser (to get user parameters), -a state (to store the memory) -
*      the last -parameter is an eoInit: if some operator needs some info  -
*      about the -genotypes, the init has it all (e.g. bounds, ...) -
*      Simply do  -
*              -EOT myEO; -
*              -_init(myEO); -
*      and myEO -is then an ACTUAL object -
* -
* As usual, the template is the complete -EOT even though only the fitness -
* is actually templatized here: the following -only applies to eoOneMax -
*/

- - - - - -
template <class EOT> -
eoGenOp<EOT> & do_make_op(eoParameterLoader& -_parser, eoState& _state, eoInit<EOT>& _init) -
{ -
  // this is a temporary version, -while Maarten codes the full tree-structured -
  // general operator input -
  // BTW we must leave that simple -version available somehow, as it is the one -
  // that 90% people use! -

      ///////////////////////////// -
      // -Variation operators -
      //////////////////////////// -
      // -read crossover and mutations, combine each in a proportional Op -
      // -and create the eoGenOp that calls crossover at rate pCross  -
      // -then mutation with rate pMut -

      // the -crossovers -
      ///////////////// -

      // here -we can have eoQuadOp (2->2) only - no time for the eoBinOp case -

      // you -can have more than one - combined in a proportional way -

      // first, -define the crossover objects and read their rates from the parser -

      // A -first crossover  -
     -eoQuadOp<Indi> *cross = new eoOneMaxQuadCrossover<Indi> /* (varType  -_anyVariable) */; -
      // -store in the state -
     _state.storeFunctor(cross); -

  // read its relative rate in -the combination -
     double cross1Rate -= _parser.createParam(1.0, "cross1Rate", "Relative rate for crossover 1", -'1', "Variation Operators").value(); -

  // and create the combined operator -with this one -
 eoPropCombinedQuadOp<Indi> *propXover -=  -
     new eoPropCombinedQuadOp<Indi>(*cross, -cross1Rate); -
  // and of course stor it in -the state -
     _state.storeFunctor(propXover); -
 

- - - - - -
      -// Optional: A second(and third, and ...)  crossover  -
      //    -of course you must create the corresponding classes -
      // -and all ***MUST*** derive from eoQuadOp<Indi> -

  /* Uncomment if necessary - -and replicate as many time as you need -
         -cross = new eoOneMaxSecondCrossover<Indi>(varType  _anyVariable);  -
         -_state.storeFunctor(cross); -
         -double cross2Rate = _parser.createParam(1.0, "cross2Rate", "Relative rate -for crossover 2", '2', "Variation Operators").value();  -
         -propXover.add(*cross, cross2Rate);  -
 */ -
  // if you want some gentle -output, the last one shoudl be like -
  //  propXover.add(*cross, -crossXXXRate, true); -
 

- - - - - -
-
  // the mutation: same story -
  //////////////// -
  // you can have more than one -- combined in a proportional way -

  // for each mutation,  -
  // - define the mutator object -
  // - read its rate from the -parser -
  // - add it to the proportional -combination -

  // a first mutation  -
eoMonOp<Indi> -*mut = new eoOneMaxMutation<Indi> /* (varType  -_anyVariable) */; -
 _state.storeFunctor(mut); -
  // its relative rate in the -combination -
 double mut1Rate = _parser.createParam(1.0, -"mut1Rate", "Relative rate for mutation 1", '1', "Variation Operators").value(); -
  // and the creation of the -combined operator with this one -
 eoPropCombinedMonOp<Indi> *propMutation -= new eoPropCombinedMonOp<Indi>(*mut, mut1Rate); -
 _state.storeFunctor(propMutation); -
 

- - - - - -
      -// Optional: A second(and third, and ...)  mutation with their rates -
      //    -of course you must create the corresponding classes -
      // -and all ***MUST*** derive from eoMonOp<Indi> -

  /* Uncomment if necessary - -and replicate as many time as you need -
         -mut = new eoOneMaxSecondMutation<Indi>(varType  _anyVariable); -
         -_state.storeFunctor(mut); -
         -double mut2Rate = _parser.createParam(1.0, "mut2Rate", "Relative rate for -mutation 2", '2', "Variation Operators").value();  -
           -propMutation.add(*mut, mut2Rate);  -
 */ -
  // if you want some gentle -output, the last one shoudl be like -
  //  propMutation.add(*mut, -mutXXXRate, true); -

  // end of crossover and mutation -definitions -
 

- - - - - -
-
// from now on, you do not need to modify -anything -
// though you CAN add things to the checkpointing -(see tutorial) -

  // now build the eoGenOp: -
  // to simulate SGA (crossover -with proba pCross + mutation with proba pMut -
  // we must construct -
  //        -a sequential combination of -
  //                  -with proba 1, a proportional combination of  -
  //                                              -a QuadCopy and our crossover -
  //                  -with proba pMut, our mutation -

  // but of course you're free -to use any smart combination you could think of -
  // especially, if you have -to use eoBinOp rather than eoQuad Op youùll have -
  // to modify that part -

  // -First read the individual level parameters -
     eoValueParam<double>& -pCrossParam = _parser.createParam(0.6, "pCross", "Probability of Crossover", -'C', "Variation Operators" ); -
      // -minimum check -
     if ( (pCrossParam.value() -< 0) || (pCrossParam.value() > 1) ) -
         -throw runtime_error("Invalid pCross"); -

     eoValueParam<double>& -pMutParam = _parser.createParam(0.1, "pMut", "Probability of Mutation", -'M', "Variation Operators" ); -
      // -minimum check -
     if ( (pMutParam.value() -< 0) || (pMutParam.value() > 1) ) -
         -throw runtime_error("Invalid pMut"); -

  // the crossover - with probability -pCross -
 eoProportionalOp<Indi> * propOp -= new eoProportionalOp<Indi> ; -
 _state.storeFunctor(propOp); -
 eoQuadOp<Indi> *ptQuad = new -eoQuadCloneOp<Indi>; -
 _state.storeFunctor(ptQuad); -
 propOp->add(*propXover, pCrossParam.value()); -// -crossover, with proba pcross -
 propOp->add(*ptQuad, 1-pCrossParam.value()); -// -nothing, with proba 1-pcross -

  // now the sequential -
 eoSequentialOp<Indi> *op = new -eoSequentialOp<Indi>; -
 _state.storeFunctor(op); -
 op->add(*propOp, 1.0); // always -do combined crossover -
 op->add(*propMutation, pMutParam.value()); -// -then mutation, with proba pmut -

  // that's it - return a reference -
 return *op; -
} -

#endif

- -


Back to Lesson 5 - Tutorial -main page - Top-Down page - Bottom-up -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Fri May -3 08:06:20 2002 - - diff --git a/trunk/paradiseo-eo/tutorial/html/real_value.html b/trunk/paradiseo-eo/tutorial/html/real_value.html deleted file mode 100644 index a5ec17852..000000000 --- a/trunk/paradiseo-eo/tutorial/html/real_value.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - real_value.h - - -Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - -EO documentation -
-
-
- - - - -
#include <vector> -
//----------------------------------------------------------------------------- -
/** Just a simple function that takes an -vector<double> and sets the fitnes  -
     to the sphere function. -Please use doubles not float!!! -
     @param _ind A floatingpoint -vector  -
*/
- - - - - -
double real_value(const std::vector<double>& -_ind) -
{ -
 double sum = 0; -
 for (unsigned i = 0; i < _ind.size(); -i++) -
         -sum += _ind[i] * _ind[i]; -
 return -sum; -
}
- -
Back to Lesson 2 - Tutorial -main page - Algorithm-Based - Component-Based -page - Programming hints - EO -documentation -
-
-Marc Schoenauer
- -
Last modified: Wed Nov -29 08:58:50 2000 - - diff --git a/trunk/paradiseo-eo/tutorial/index.html b/trunk/paradiseo-eo/tutorial/index.html deleted file mode 100644 index 81b87972b..000000000 --- a/trunk/paradiseo-eo/tutorial/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - Tutorial EO - - - -
-
-

-EO Tutorial

-Welcome to EO - the Evolving Objects library. -

But you are not in the right place! -
You should better try to go to the html directory, for instance by -clicking here. -

-


-
-Marc Schoenauer
- -
Last -modified: Fri Nov 28 CET 2000  - - diff --git a/trunk/paradiseo-eo/tutorial/pdf/CVS/Entries b/trunk/paradiseo-eo/tutorial/pdf/CVS/Entries deleted file mode 100644 index 76417eb98..000000000 --- a/trunk/paradiseo-eo/tutorial/pdf/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/paradiseoJet7.pdf/1.1/Wed May 8 06:31:18 2002// -D diff --git a/trunk/paradiseo-eo/tutorial/pdf/CVS/Repository b/trunk/paradiseo-eo/tutorial/pdf/CVS/Repository deleted file mode 100644 index 44bc5bbaf..000000000 --- a/trunk/paradiseo-eo/tutorial/pdf/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/tutorial/pdf diff --git a/trunk/paradiseo-eo/tutorial/pdf/CVS/Root b/trunk/paradiseo-eo/tutorial/pdf/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/tutorial/pdf/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/tutorial/pdf/paradiseoJet7.pdf b/trunk/paradiseo-eo/tutorial/pdf/paradiseoJet7.pdf deleted file mode 100644 index b227633f3..000000000 Binary files a/trunk/paradiseo-eo/tutorial/pdf/paradiseoJet7.pdf and /dev/null differ diff --git a/trunk/paradiseo-eo/win/.cvsignore b/trunk/paradiseo-eo/win/.cvsignore deleted file mode 100644 index 880de1a77..000000000 --- a/trunk/paradiseo-eo/win/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.lo -*.la -.deps -.libs -Makefile -Makefile.in -eo.dsw diff --git a/trunk/paradiseo-eo/win/CVS/Entries b/trunk/paradiseo-eo/win/CVS/Entries deleted file mode 100644 index 284e3451b..000000000 --- a/trunk/paradiseo-eo/win/CVS/Entries +++ /dev/null @@ -1,61 +0,0 @@ -/.cvsignore/1.2/Mon Jun 12 20:09:59 2000// -/Makefile.am/1.7/Mon Sep 20 17:12:02 2004// -/Readme/1.3/Thu Jan 17 15:21:43 2002// -/all_lib.dsp/1.9/Mon Oct 14 16:16:01 2002// -/all_tests.dsp/1.5/Mon Jun 10 14:10:33 2002// -/all_tut.dsp/1.4/Mon Jun 10 14:10:34 2002// -/create_all_dsp.sh/1.1/Sat Nov 17 08:13:55 2001// -/create_dsp.sh/1.5/Thu Jan 17 15:21:43 2002// -/create_tut.sh/1.2/Thu Jan 17 15:21:43 2002// -/create_tut_para.sh/1.1/Fri Apr 12 14:13:08 2002// -/eo.dsp/1.18/Thu Apr 3 16:51:46 2003// -/eo.dsw/1.14/Thu Apr 3 16:51:45 2003// -/eo.org/1.2/Sat Nov 17 08:13:55 2001// -/es.dsp/1.6/Mon Oct 14 16:15:58 2002// -/ga.dsp/1.6/Mon Oct 14 16:15:59 2002// -/t_eo.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eobin.dsp/1.11/Mon Jun 10 14:10:34 2002// -/t_eocheckpointing.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eoesall.dsp/1.5/Mon Jun 10 14:10:34 2002// -/t_eoexternaleo.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eofitness.dsp/1.8/Mon Jun 10 14:10:34 2002// -/t_eofitnessassembled.dsp/1.1/Thu Apr 3 16:51:47 2003// -/t_eofitnessassembledea.dsp/1.1/Thu Apr 3 16:51:46 2003// -/t_eoga.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eogenop.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eopareto.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eoparetofitness.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eopbil.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eorandom.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eoreal.dsp/1.5/Mon Jun 10 14:10:34 2002// -/t_eoreplacement.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eoselect.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eossga.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eostateandparser.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eosymreg.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_eovector.dsp/1.9/Mon Jun 10 14:10:34 2002// -/t_eovirus.dsp/1.6/Mon Jun 10 14:10:34 2002// -/t_mge-control.dsp/1.6/Mon Jun 10 14:10:35 2002// -/t_mge.dsp/1.6/Mon Jun 10 14:10:35 2002// -/t_mge1bit.dsp/1.6/Mon Jun 10 14:10:35 2002// -/test_dsp.tmpl/1.4/Thu Jan 17 15:21:44 2002// -/tut_1_bit.dsp/1.4/Mon Jun 10 14:10:35 2002// -/tut_1_ex3.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_1_real.dsp/1.4/Mon Jun 10 14:10:35 2002// -/tut_2_bit.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_2_ex3.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_2_real.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_3_bit.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_3_ex1.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_4_bit.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_4_es.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_4_real.dsp/1.3/Mon Jun 10 14:10:35 2002// -/tut_N_XXX.tmpl/1.2/Thu Jan 17 15:21:44 2002// -/tut_para1_full.dsp/1.1/Fri Apr 12 14:13:08 2002// -/tut_para1_ring1.dsp/1.1/Fri Apr 12 14:13:08 2002// -/tut_para1_ring2.dsp/1.1/Fri Apr 12 14:13:08 2002// -/tut_para2_master.dsp/1.1/Fri Apr 12 14:13:08 2002// -/tut_para2_slave.dsp/1.1/Fri Apr 12 14:13:08 2002// -/tut_paraN_XXX.tmpl/1.1/Fri Apr 12 14:13:08 2002// -/utils.dsp/1.6/Mon Oct 14 16:16:00 2002// -D diff --git a/trunk/paradiseo-eo/win/CVS/Entries.Log b/trunk/paradiseo-eo/win/CVS/Entries.Log deleted file mode 100644 index 6e379144c..000000000 --- a/trunk/paradiseo-eo/win/CVS/Entries.Log +++ /dev/null @@ -1 +0,0 @@ -A D/lib//// diff --git a/trunk/paradiseo-eo/win/CVS/Repository b/trunk/paradiseo-eo/win/CVS/Repository deleted file mode 100644 index cfe5602db..000000000 --- a/trunk/paradiseo-eo/win/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/win diff --git a/trunk/paradiseo-eo/win/CVS/Root b/trunk/paradiseo-eo/win/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/win/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/win/Makefile.am b/trunk/paradiseo-eo/win/Makefile.am deleted file mode 100644 index 88b4fcc2d..000000000 --- a/trunk/paradiseo-eo/win/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = eo.dsw eo.dsp diff --git a/trunk/paradiseo-eo/win/Readme b/trunk/paradiseo-eo/win/Readme deleted file mode 100644 index d27614085..000000000 --- a/trunk/paradiseo-eo/win/Readme +++ /dev/null @@ -1,20 +0,0 @@ -This directory contains the project files for MSVC++ -They have been successfully tested with MSVC++ 6.0 -on Windows NT. - -There is one main DSW project file: eo.dsw -It contains the description of the project with all compiler options. - -There are several DSP files: - -eo.dsp for the library in src -utils.dsp ... src/utils -ga.dsp ... src/ga -es.dsp ... src/es - -and one additional DSP file for each program in test dir. - -The libraries are created in src/win/lib directory. -The objects and executable files are created in src/win/DEBUG -directory. - diff --git a/trunk/paradiseo-eo/win/all_lib.dsp b/trunk/paradiseo-eo/win/all_lib.dsp deleted file mode 100644 index 77b5f7e5b..000000000 --- a/trunk/paradiseo-eo/win/all_lib.dsp +++ /dev/null @@ -1,112 +0,0 @@ -# Microsoft Developer Studio Project File - Name="all_lib" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=all_lib - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "all_lib.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "all_lib.mak" CFG="all_lib - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "all_lib - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "all_lib - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "all_lib - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"Release/eo_lib.lib" -# Begin Custom Build - Installing $(InputPath) in lib directory -TargetPath=.\Release\eo_lib.lib -InputPath=.\Release\eo_lib.lib -SOURCE="$(InputPath)" - -"lib\$(TargetPath)" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - if not exist "lib" md "lib" - copy "$(TargetPath)" "lib" - -# End Custom Build - -!ELSEIF "$(CFG)" == "all_lib - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"Debug/eo_libd.lib" -# Begin Custom Build - Installing $(InputPath) in lib directory -TargetPath=.\Debug\eo_libd.lib -InputPath=.\Debug\eo_libd.lib -SOURCE="$(InputPath)" - -"lib\$(TargetPath)" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - if not exist "lib" md "lib" - copy "$(TargetPath)" "lib" - -# End Custom Build - -!ENDIF - -# Begin Target - -# Name "all_lib - Win32 Release" -# Name "all_lib - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/all_tests.dsp b/trunk/paradiseo-eo/win/all_tests.dsp deleted file mode 100644 index d449eb7eb..000000000 --- a/trunk/paradiseo-eo/win/all_tests.dsp +++ /dev/null @@ -1,96 +0,0 @@ -# Microsoft Developer Studio Project File - Name="all_tests" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=all_tests - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "all_tests.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "all_tests.mak" CFG="all_tests - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "all_tests - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "all_tests - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "all_tests - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "all_tests - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "all_tests - Win32 Release" -# Name "all_tests - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/all_tut.dsp b/trunk/paradiseo-eo/win/all_tut.dsp deleted file mode 100644 index 4b39e1b4d..000000000 --- a/trunk/paradiseo-eo/win/all_tut.dsp +++ /dev/null @@ -1,96 +0,0 @@ -# Microsoft Developer Studio Project File - Name="all_tut" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=all_tut - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "all_tut.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "all_tut.mak" CFG="all_tut - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "all_tut - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "all_tut - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "all_tut - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "all_tut - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "all_tut - Win32 Release" -# Name "all_tut - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/create_all_dsp.sh b/trunk/paradiseo-eo/win/create_all_dsp.sh deleted file mode 100755 index feed7bfb5..000000000 --- a/trunk/paradiseo-eo/win/create_all_dsp.sh +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/tcsh -f -# -# script that generates the DSP files for all programs in test dir -# -# to add a new one, add the corresponding line: -# -# create_dsp SourceFileName dspFileName [optional additional library] -# -# don't use upper-case letters in the dspFileName - -# create a backup -/bin/mv eo.dsw eo.dsw~ -# restore empty DSW -cp eo.org eo.dsw -# GO for all programs -create_dsp.sh t-eoParetoFitness t_eoparetofitness -create_dsp.sh t-eoPareto t_eopareto -create_dsp.sh t-eofitness t_eofitness -create_dsp.sh t-eoRandom t_eorandom -create_dsp.sh t-eobin t_eobin -create_dsp.sh t-eoVirus t_eovirus -create_dsp.sh t-MGE t_mge -create_dsp.sh t-MGE1bit t_mge1bit -create_dsp.sh t-MGE-control t_mge-control -create_dsp.sh t-eoStateAndParser t_eostateandparser -create_dsp.sh t-eoCheckpointing t_eocheckpointing -create_dsp.sh t-eoSSGA t_eossga -create_dsp.sh t-eoExternalEO t_eoexternaleo -create_dsp.sh t-eoSymreg t_eosymreg -create_dsp.sh t-eo t_eo -create_dsp.sh t-eoReplacement t_eoreplacement -create_dsp.sh t-eoSelect t_eoselect -create_dsp.sh t-eoGenOp t_eogenop -create_dsp.sh t-eoGA t_eoga ga -create_dsp.sh t-eoReal t_eoreal es -create_dsp.sh t-eoVector t_eovector -create_dsp.sh t-eoESAll t_eoesall es -create_dsp.sh t-eoPBIL t_eopbil ga diff --git a/trunk/paradiseo-eo/win/create_dsp.sh b/trunk/paradiseo-eo/win/create_dsp.sh deleted file mode 100755 index 78c3c2dea..000000000 --- a/trunk/paradiseo-eo/win/create_dsp.sh +++ /dev/null @@ -1,37 +0,0 @@ -#! /bin/tcsh -f - -if ($#argv < 2) then - echo Usage $0 SourceName TargetName - echo Example: $0 t-eoGA t_eoga ga - echo " will create t_eoga.dsp that in turn is the Win project file" - echo " that will create the executable t_eoga using source" - echo " t-eoga.cpp in test dir" - exit -endif -echo "Creating $2.dsp" -echo s/DIRNAME/$2/g > toto.sed -echo s/SOURCENAME/$1/g >> toto.sed - -sed -f toto.sed test_dsp.tmpl > $2.dsp -/bin/rm toto.sed - -echo "Adding $2.dsp in the main eo.dsw project file" - -echo "" >> eo.dsw -echo Project: \"$2\"=.\\\\$2.dsp - Package Owner=\<4\> >> eo.dsw -echo "" >> eo.dsw -echo Package=\<5\> >> eo.dsw -echo '{{{' >> eo.dsw -echo '}}}' >> eo.dsw -echo "" >> eo.dsw -echo Package=\<4\> >> eo.dsw -echo '{{{' >> eo.dsw -echo '}}}' >> eo.dsw -echo "" >> eo.dsw -echo '###############################################################################' >> eo.dsw - -echo "AND DON'T FORGET to add the 3 lines in eo.dsw" -echo " (too lazy to do it automatically)" -echo " Begin Project Dependency" -echo " " Project_Dep_Name $2 -echo " End Project Dependency" diff --git a/trunk/paradiseo-eo/win/create_tut.sh b/trunk/paradiseo-eo/win/create_tut.sh deleted file mode 100755 index c9737bd0f..000000000 --- a/trunk/paradiseo-eo/win/create_tut.sh +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/tcsh -f - -if ($#argv < 2) then - echo "Usage $0 LessonNumber NickName SourceName (no .cpp)" - echo Example: $0 1 bit FirstBitGA - echo " will create the Win project file tut_1_bit.dsp" - echo " that will create the executable tut_1_bit.exe using source" - echo " FirstBitGA.cpp in tutorial/Lesson1 dir" - exit -endif -echo "Creating tut_{$1}_{$2}.dsp" -echo s/tut_N_XXX/tut_{$1}_{$2}/g > toto.sed -echo s/LessonN/Lesson$1/g >> toto.sed -echo s/SRCXXX/$3/g >> toto.sed - -sed -f toto.sed tut_N_XXX.tmpl > tut_{$1}_{$2}.dsp -/bin/rm toto.sed - -echo "Adding tut_{$1}_{$2}.dsp in the main eo.dsw project file" - -echo "" >> eo.dsw -echo Project: \"tut_{$1}_{$2}\"=.\\\\tut_{$1}_{$2}.dsp - Package Owner=\<4\> >> eo.dsw -echo "" >> eo.dsw -echo Package=\<5\> >> eo.dsw -echo '{{{' >> eo.dsw -echo '}}}' >> eo.dsw -echo "" >> eo.dsw -echo Package=\<4\> >> eo.dsw -echo '{{{' >> eo.dsw -echo '}}}' >> eo.dsw -echo "" >> eo.dsw -echo '###############################################################################' >> eo.dsw - -echo "AND DON'T FORGET to add the 3 lines in eo.dsw" -echo " (too lazy to do it automatically)" -echo " Begin Project Dependency" -echo " " Project_Dep_Name tut_{$1}_{$2} -echo " End Project Dependency" diff --git a/trunk/paradiseo-eo/win/create_tut_para.sh b/trunk/paradiseo-eo/win/create_tut_para.sh deleted file mode 100755 index 6e12d41e4..000000000 --- a/trunk/paradiseo-eo/win/create_tut_para.sh +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/tcsh -f - -if ($#argv < 2) then - echo "Usage $0 LessonNumber NickName SourceName (no .cpp)" - echo Example: $0 1 bit FirstBitGA - echo " will create the Win project file tut_para1_bit.dsp" - echo " that will create the executable tut_para1_full.exe using source" - echo " IslandBitEA.cpp in tutorial/ParadisEO/Lesson1 dir" - exit -endif -echo "Creating tut_{$1}_{$2}.dsp" -echo s/tut_N_XXX/tut_para{$1}_{$2}/g > toto.sed -echo s/LessonN/Lesson$1/g >> toto.sed -echo s/SRCXXX/$3/g >> toto.sed - -sed -f toto.sed tut_paraN_XXX.tmpl > tut_para{$1}_{$2}.dsp -/bin/rm toto.sed - -echo "Adding tut_{$1}_{$2}.dsp in the main eo.dsw project file" - -echo "" >> eo.dsw -echo Project: \"tut_para{$1}_{$2}\"=.\\\\tut_para{$1}_{$2}.dsp - Package Owner=\<4\> >> eo.dsw -echo "" >> eo.dsw -echo Package=\<5\> >> eo.dsw -echo '{{{' >> eo.dsw -echo '}}}' >> eo.dsw -echo "" >> eo.dsw -echo Package=\<4\> >> eo.dsw -echo '{{{' >> eo.dsw -echo '}}}' >> eo.dsw -echo "" >> eo.dsw -echo '###############################################################################' >> eo.dsw - -echo "AND DON'T FORGET to add the 3 lines in eo.dsw" -echo " (too lazy to do it automatically)" -echo " Begin Project Dependency" -echo " " Project_Dep_Name tut_para{$1}_{$2} -echo " End Project Dependency" diff --git a/trunk/paradiseo-eo/win/eo.dsp b/trunk/paradiseo-eo/win/eo.dsp deleted file mode 100644 index bac4ac287..000000000 --- a/trunk/paradiseo-eo/win/eo.dsp +++ /dev/null @@ -1,126 +0,0 @@ -# Microsoft Developer Studio Project File - Name="eo" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=eo - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "eo.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "eo.mak" CFG="eo - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "eo - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "eo - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "eo - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c -# SUBTRACT CPP /YX -# ADD BASE RSC /l 0xc0a /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo - -!ELSEIF "$(CFG)" == "eo - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debugj" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /GZ /c -# SUBTRACT CPP /YX -# ADD BASE RSC /l 0xc0a /d "_DEBUG" -# ADD RSC /l 0xc0a /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"Debug\eod.lib" - -!ENDIF - -# Begin Target - -# Name "eo - Win32 Release" -# Name "eo - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\src\eoFunctorStore.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\eoParetoFitness.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\eoPersistent.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\eoPrintable.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\eoScalarFitnessAssembled.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\src\eoFunctorStore.H -# End Source File -# Begin Source File - -SOURCE=..\src\eoPersistent.h -# End Source File -# Begin Source File - -SOURCE=..\src\eoPrintable.h -# End Source File -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/eo.dsw b/trunk/paradiseo-eo/win/eo.dsw deleted file mode 100644 index 44eae5eea..000000000 --- a/trunk/paradiseo-eo/win/eo.dsw +++ /dev/null @@ -1,728 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "all_lib"=.\all_lib.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name eo - End Project Dependency - Begin Project Dependency - Project_Dep_Name es - End Project Dependency - Begin Project Dependency - Project_Dep_Name ga - End Project Dependency - Begin Project Dependency - Project_Dep_Name utils - End Project Dependency -}}} - -############################################################################### - -Project: "all_tests"=.\all_tests.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name t_eo - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eobin - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eocheckpointing - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eoesall - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eoexternaleo - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eofitness - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eoga - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eogenop - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eopareto - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eoparetofitness - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eopbil - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eorandom - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eoreal - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eoreplacement - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eoselect - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eossga - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eostateandparser - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eosymreg - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eovector - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eovirus - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_mge - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_mge-control - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_mge1bit - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eofitnessassembledea - End Project Dependency - Begin Project Dependency - Project_Dep_Name t_eofitnessassembled - End Project Dependency -}}} - -############################################################################### - -Project: "all_tut"=.\all_tut.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name tut_1_bit - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_1_real - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_1_ex3 - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_2_bit - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_2_real - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_2_ex3 - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_3_bit - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_3_ex1 - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_4_bit - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_4_real - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_4_es - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_para1_full - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_para1_ring1 - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_para1_ring2 - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_para2_master - End Project Dependency - Begin Project Dependency - Project_Dep_Name tut_para2_slave - End Project Dependency -}}} - -############################################################################### - -Project: "eo"=.\eo.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "es"=.\es.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "ga"=.\ga.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eo"=.\t_eo.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eobin"=.\t_eobin.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eocheckpointing"=.\t_eocheckpointing.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eoesall"=.\t_eoesall.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eoexternaleo"=.\t_eoexternaleo.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eofitness"=.\t_eofitness.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eofitnessassembled"=.\t_eofitnessassembled.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eofitnessassembledea"=.\t_eofitnessassembledea.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eoga"=.\t_eoga.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eogenop"=.\t_eogenop.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eopareto"=.\t_eopareto.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eoparetofitness"=.\t_eoparetofitness.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eopbil"=.\t_eopbil.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eorandom"=.\t_eorandom.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eoreal"=.\t_eoreal.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eoreplacement"=.\t_eoreplacement.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eoselect"=.\t_eoselect.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eossga"=.\t_eossga.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eostateandparser"=.\t_eostateandparser.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eosymreg"=.\t_eosymreg.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eovector"=.\t_eovector.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_eovirus"=.\t_eovirus.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_mge"=.\t_mge.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_mge-control"=".\t_mge-control.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "t_mge1bit"=.\t_mge1bit.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_1_bit"=.\tut_1_bit.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_1_ex3"=.\tut_1_ex3.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_1_real"=.\tut_1_real.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_2_bit"=.\tut_2_bit.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_2_ex3"=.\tut_2_ex3.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_2_real"=.\tut_2_real.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_3_bit"=.\tut_3_bit.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_3_ex1"=.\tut_3_ex1.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_4_bit"=.\tut_4_bit.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_4_es"=.\tut_4_es.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_4_real"=.\tut_4_real.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_para1_full"=.\tut_para1_full.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_para1_ring1"=.\tut_para1_ring1.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_para1_ring2"=.\tut_para1_ring2.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_para2_master"=.\tut_para2_master.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "tut_para2_slave"=.\tut_para2_slave.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "utils"=.\utils.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/trunk/paradiseo-eo/win/eo.org b/trunk/paradiseo-eo/win/eo.org deleted file mode 100644 index f15aec656..000000000 --- a/trunk/paradiseo-eo/win/eo.org +++ /dev/null @@ -1,65 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "eo"=.\eo.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "es"=.\es.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "ga"=.\ga.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "utils"=.\utils.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/trunk/paradiseo-eo/win/es.dsp b/trunk/paradiseo-eo/win/es.dsp deleted file mode 100644 index 9b7db13fe..000000000 --- a/trunk/paradiseo-eo/win/es.dsp +++ /dev/null @@ -1,224 +0,0 @@ -# Microsoft Developer Studio Project File - Name="es" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=es - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "es.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "es.mak" CFG="es - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "es - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "es - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "es - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "NO_GNUPLOT" /YX /FD /Zm200 /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo - -!ELSEIF "$(CFG)" == "es - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "NO_GNUPLOT" /YX /FD /GZ /Zm200 /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"Debug\esd.lib" - -!ENDIF - -# Begin Target - -# Name "es - Win32 Release" -# Name "es - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\src\es\make_algo_scalar_es.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_algo_scalar_real.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_checkpoint_es.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_checkpoint_real.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_continue_es.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_continue_real.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_genotype_es.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_genotype_real.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_op_es.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_op_real.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_pop_es.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_pop_real.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_run_es.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_run_real.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\src\es\eoEsChromInit.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoEsFull.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoEsGlobalXover.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoEsMutate.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoEsMutationInit.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoEsSimple.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoEsStandardXover.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoEsStdev.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoNormalMutation.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoReal.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoRealAtomXover.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoRealInitBounded.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\eoRealOp.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_es.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_genotype_real.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_op.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_op_es.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_op_real.h -# End Source File -# Begin Source File - -SOURCE=..\src\es\make_real.h -# End Source File -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/ga.dsp b/trunk/paradiseo-eo/win/ga.dsp deleted file mode 100644 index 9ec1df2a3..000000000 --- a/trunk/paradiseo-eo/win/ga.dsp +++ /dev/null @@ -1,144 +0,0 @@ -# Microsoft Developer Studio Project File - Name="ga" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=ga - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "ga.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "ga.mak" CFG="ga - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "ga - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "ga - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "ga - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo - -!ELSEIF "$(CFG)" == "ga - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ga___Win32_Debug" -# PROP BASE Intermediate_Dir "ga___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"Debug\gad.lib" - -!ENDIF - -# Begin Target - -# Name "ga - Win32 Release" -# Name "ga - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\src\ga\make_algo_scalar_ga.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_checkpoint_ga.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_continue_ga.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_genotype_ga.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_op_ga.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_pop_ga.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_run_ga.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\src\ga\eoBit.h -# End Source File -# Begin Source File - -SOURCE=..\src\ga\eoBitOp.h -# End Source File -# Begin Source File - -SOURCE=..\src\ga\eoBitOpFactory.h -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_ga.h -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_genotype_ga.h -# End Source File -# Begin Source File - -SOURCE=..\src\ga\make_op.h -# End Source File -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/lib/CVS/Entries b/trunk/paradiseo-eo/win/lib/CVS/Entries deleted file mode 100644 index 2c252fe43..000000000 --- a/trunk/paradiseo-eo/win/lib/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Readme/1.1/Sat Nov 10 14:12:01 2001// -D diff --git a/trunk/paradiseo-eo/win/lib/CVS/Repository b/trunk/paradiseo-eo/win/lib/CVS/Repository deleted file mode 100644 index 024acf401..000000000 --- a/trunk/paradiseo-eo/win/lib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -eo/win/lib diff --git a/trunk/paradiseo-eo/win/lib/CVS/Root b/trunk/paradiseo-eo/win/lib/CVS/Root deleted file mode 100644 index 4cf4ab187..000000000 --- a/trunk/paradiseo-eo/win/lib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:ext:evomarc@eodev.cvs.sourceforge.net:/cvsroot/eodev diff --git a/trunk/paradiseo-eo/win/lib/Readme b/trunk/paradiseo-eo/win/lib/Readme deleted file mode 100644 index 24086802f..000000000 --- a/trunk/paradiseo-eo/win/lib/Readme +++ /dev/null @@ -1,4 +0,0 @@ -Here will be copied the eo libraries. - -xx.lib are Release versions -xxd.lib are Debug versions \ No newline at end of file diff --git a/trunk/paradiseo-eo/win/make_snapshot.out b/trunk/paradiseo-eo/win/make_snapshot.out deleted file mode 100644 index 41313fd55..000000000 --- a/trunk/paradiseo-eo/win/make_snapshot.out +++ /dev/null @@ -1,49 +0,0 @@ -unix2dos: converting file all_lib.dsp to DOS format ... -unix2dos: converting file all_tests.dsp to DOS format ... -unix2dos: converting file all_tut.dsp to DOS format ... -unix2dos: converting file eo.dsp to DOS format ... -unix2dos: converting file es.dsp to DOS format ... -unix2dos: converting file ga.dsp to DOS format ... -unix2dos: converting file t_eobin.dsp to DOS format ... -unix2dos: converting file t_eocheckpointing.dsp to DOS format ... -unix2dos: converting file t_eo.dsp to DOS format ... -unix2dos: converting file t_eoesall.dsp to DOS format ... -unix2dos: converting file t_eoexternaleo.dsp to DOS format ... -unix2dos: converting file t_eofitnessassembled.dsp to DOS format ... -unix2dos: converting file t_eofitnessassembledea.dsp to DOS format ... -unix2dos: converting file t_eofitness.dsp to DOS format ... -unix2dos: converting file t_eoga.dsp to DOS format ... -unix2dos: converting file t_eogenop.dsp to DOS format ... -unix2dos: converting file t_eopareto.dsp to DOS format ... -unix2dos: converting file t_eoparetofitness.dsp to DOS format ... -unix2dos: converting file t_eopbil.dsp to DOS format ... -unix2dos: converting file t_eorandom.dsp to DOS format ... -unix2dos: converting file t_eoreal.dsp to DOS format ... -unix2dos: converting file t_eoreplacement.dsp to DOS format ... -unix2dos: converting file t_eoselect.dsp to DOS format ... -unix2dos: converting file t_eossga.dsp to DOS format ... -unix2dos: converting file t_eostateandparser.dsp to DOS format ... -unix2dos: converting file t_eosymreg.dsp to DOS format ... -unix2dos: converting file t_eovector.dsp to DOS format ... -unix2dos: converting file t_eovirus.dsp to DOS format ... -unix2dos: converting file t_mge1bit.dsp to DOS format ... -unix2dos: converting file t_mge-control.dsp to DOS format ... -unix2dos: converting file t_mge.dsp to DOS format ... -unix2dos: converting file tut_1_bit.dsp to DOS format ... -unix2dos: converting file tut_1_ex3.dsp to DOS format ... -unix2dos: converting file tut_1_real.dsp to DOS format ... -unix2dos: converting file tut_2_bit.dsp to DOS format ... -unix2dos: converting file tut_2_ex3.dsp to DOS format ... -unix2dos: converting file tut_2_real.dsp to DOS format ... -unix2dos: converting file tut_3_bit.dsp to DOS format ... -unix2dos: converting file tut_3_ex1.dsp to DOS format ... -unix2dos: converting file tut_4_bit.dsp to DOS format ... -unix2dos: converting file tut_4_es.dsp to DOS format ... -unix2dos: converting file tut_4_real.dsp to DOS format ... -unix2dos: converting file tut_para1_full.dsp to DOS format ... -unix2dos: converting file tut_para1_ring1.dsp to DOS format ... -unix2dos: converting file tut_para1_ring2.dsp to DOS format ... -unix2dos: converting file tut_para2_master.dsp to DOS format ... -unix2dos: converting file tut_para2_slave.dsp to DOS format ... -unix2dos: converting file utils.dsp to DOS format ... -unix2dos: converting file eo.dsw to DOS format ... diff --git a/trunk/paradiseo-eo/win/t_eo.dsp b/trunk/paradiseo-eo/win/t_eo.dsp deleted file mode 100644 index 8dc7f0dc8..000000000 --- a/trunk/paradiseo-eo/win/t_eo.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eo" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eo - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eo.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eo.mak" CFG="t_eo - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eo - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eo - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eo - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eo - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eo___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eo___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eo - Win32 Release" -# Name "t_eo - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eo.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eobin.dsp b/trunk/paradiseo-eo/win/t_eobin.dsp deleted file mode 100644 index 6df155e43..000000000 --- a/trunk/paradiseo-eo/win/t_eobin.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eobin" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eobin - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eobin.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eobin.mak" CFG="t_eobin - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eobin - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eobin - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eobin - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eobin - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eobin___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eobin___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eobin - Win32 Release" -# Name "t_eobin - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eobin.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eocheckpointing.dsp b/trunk/paradiseo-eo/win/t_eocheckpointing.dsp deleted file mode 100644 index ad8097092..000000000 --- a/trunk/paradiseo-eo/win/t_eocheckpointing.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eocheckpointing" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eocheckpointing - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eocheckpointing.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eocheckpointing.mak" CFG="t_eocheckpointing - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eocheckpointing - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eocheckpointing - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eocheckpointing - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eocheckpointing - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eocheckpointing___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eocheckpointing___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eocheckpointing - Win32 Release" -# Name "t_eocheckpointing - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoCheckpointing.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eoesall.dsp b/trunk/paradiseo-eo/win/t_eoesall.dsp deleted file mode 100644 index d24a598bb..000000000 --- a/trunk/paradiseo-eo/win/t_eoesall.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eoesall" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eoesall - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eoesall.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eoesall.mak" CFG="t_eoesall - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eoesall - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eoesall - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eoesall - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eoesall - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eoesall___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eoesall___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eoesall - Win32 Release" -# Name "t_eoesall - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoESAll.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eoexternaleo.dsp b/trunk/paradiseo-eo/win/t_eoexternaleo.dsp deleted file mode 100644 index 7b799731d..000000000 --- a/trunk/paradiseo-eo/win/t_eoexternaleo.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eoexternaleo" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eoexternaleo - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eoexternaleo.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eoexternaleo.mak" CFG="t_eoexternaleo - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eoexternaleo - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eoexternaleo - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eoexternaleo - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eoexternaleo - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eoexternaleo___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eoexternaleo___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eoexternaleo - Win32 Release" -# Name "t_eoexternaleo - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoExternalEO.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eofitness.dsp b/trunk/paradiseo-eo/win/t_eofitness.dsp deleted file mode 100644 index 6b4d8977a..000000000 --- a/trunk/paradiseo-eo/win/t_eofitness.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eofitness" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eofitness - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eofitness.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eofitness.mak" CFG="t_eofitness - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eofitness - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eofitness - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eofitness - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eofitness - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eofitness___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eofitness___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eofitness - Win32 Release" -# Name "t_eofitness - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eofitness.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eofitnessassembled.dsp b/trunk/paradiseo-eo/win/t_eofitnessassembled.dsp deleted file mode 100644 index 91a6fe385..000000000 --- a/trunk/paradiseo-eo/win/t_eofitnessassembled.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eofitnessassembled" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eofitnessassembled - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eofitnessassembled.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eofitnessassembled.mak" CFG="t_eofitnessassembled - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eofitnessassembled - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eofitnessassembled - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eofitnessassembled - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eofitnessassembled - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eofitnessassembled___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eofitnessassembled___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eofitnessassembled - Win32 Release" -# Name "t_eofitnessassembled - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoFitnessAssembled.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eofitnessassembledea.dsp b/trunk/paradiseo-eo/win/t_eofitnessassembledea.dsp deleted file mode 100644 index b3270eb75..000000000 --- a/trunk/paradiseo-eo/win/t_eofitnessassembledea.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eofitnessassembledea" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eofitnessassembledea - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eofitnessassembledea.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eofitnessassembledea.mak" CFG="t_eofitnessassembledea - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eofitnessassembledea - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eofitnessassembledea - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eofitnessassembledea - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eofitnessassembledea - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eofitnessassembledea___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eofitnessassembledea___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eofitnessassembledea - Win32 Release" -# Name "t_eofitnessassembledea - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoFitnessAssembledEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eoga.dsp b/trunk/paradiseo-eo/win/t_eoga.dsp deleted file mode 100644 index a91e57bb2..000000000 --- a/trunk/paradiseo-eo/win/t_eoga.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eoga" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eoga - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eoga.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eoga.mak" CFG="t_eoga - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eoga - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eoga - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eoga - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eoga - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eoga___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eoga___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eoga - Win32 Release" -# Name "t_eoga - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoGA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eogenop.dsp b/trunk/paradiseo-eo/win/t_eogenop.dsp deleted file mode 100644 index 195dd79cd..000000000 --- a/trunk/paradiseo-eo/win/t_eogenop.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eogenop" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eogenop - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eogenop.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eogenop.mak" CFG="t_eogenop - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eogenop - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eogenop - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eogenop - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eogenop - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eogenop___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eogenop___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eogenop - Win32 Release" -# Name "t_eogenop - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoGenOp.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eopareto.dsp b/trunk/paradiseo-eo/win/t_eopareto.dsp deleted file mode 100644 index 055b01655..000000000 --- a/trunk/paradiseo-eo/win/t_eopareto.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eopareto" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eopareto - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eopareto.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eopareto.mak" CFG="t_eopareto - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eopareto - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eopareto - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eopareto - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eopareto - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eopareto___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eopareto___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eopareto - Win32 Release" -# Name "t_eopareto - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoPareto.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eoparetofitness.dsp b/trunk/paradiseo-eo/win/t_eoparetofitness.dsp deleted file mode 100644 index 9b692e3f8..000000000 --- a/trunk/paradiseo-eo/win/t_eoparetofitness.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eoparetofitness" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eoparetofitness - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eoparetofitness.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eoparetofitness.mak" CFG="t_eoparetofitness - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eoparetofitness - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eoparetofitness - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eoparetofitness - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eoparetofitness - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eoparetofitness___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eoparetofitness___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eoparetofitness - Win32 Release" -# Name "t_eoparetofitness - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoParetoFitness.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eopbil.dsp b/trunk/paradiseo-eo/win/t_eopbil.dsp deleted file mode 100644 index 66668a092..000000000 --- a/trunk/paradiseo-eo/win/t_eopbil.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eopbil" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eopbil - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eopbil.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eopbil.mak" CFG="t_eopbil - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eopbil - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eopbil - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eopbil - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eopbil - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eopbil___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eopbil___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eopbil - Win32 Release" -# Name "t_eopbil - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoPBIL.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eorandom.dsp b/trunk/paradiseo-eo/win/t_eorandom.dsp deleted file mode 100644 index ea1270a0a..000000000 --- a/trunk/paradiseo-eo/win/t_eorandom.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eorandom" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eorandom - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eorandom.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eorandom.mak" CFG="t_eorandom - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eorandom - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eorandom - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eorandom - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eorandom - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eorandom___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eorandom___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eorandom - Win32 Release" -# Name "t_eorandom - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoRandom.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eoreal.dsp b/trunk/paradiseo-eo/win/t_eoreal.dsp deleted file mode 100644 index aacd816a8..000000000 --- a/trunk/paradiseo-eo/win/t_eoreal.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eoreal" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eoreal - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eoreal.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eoreal.mak" CFG="t_eoreal - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eoreal - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eoreal - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eoreal - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eoreal - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eoreal___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eoreal___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eoreal - Win32 Release" -# Name "t_eoreal - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoReal.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eoreplacement.dsp b/trunk/paradiseo-eo/win/t_eoreplacement.dsp deleted file mode 100644 index fa39a2b91..000000000 --- a/trunk/paradiseo-eo/win/t_eoreplacement.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eoreplacement" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eoreplacement - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eoreplacement.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eoreplacement.mak" CFG="t_eoreplacement - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eoreplacement - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eoreplacement - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eoreplacement - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eoreplacement - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eoreplacement___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eoreplacement___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eoreplacement - Win32 Release" -# Name "t_eoreplacement - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoReplacement.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eoselect.dsp b/trunk/paradiseo-eo/win/t_eoselect.dsp deleted file mode 100644 index 4bc5d0745..000000000 --- a/trunk/paradiseo-eo/win/t_eoselect.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eoselect" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eoselect - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eoselect.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eoselect.mak" CFG="t_eoselect - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eoselect - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eoselect - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eoselect - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eoselect - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eoselect___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eoselect___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eoselect - Win32 Release" -# Name "t_eoselect - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoSelect.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eossga.dsp b/trunk/paradiseo-eo/win/t_eossga.dsp deleted file mode 100644 index 41338b532..000000000 --- a/trunk/paradiseo-eo/win/t_eossga.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eossga" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eossga - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eossga.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eossga.mak" CFG="t_eossga - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eossga - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eossga - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eossga - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eossga - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eossga___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eossga___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eossga - Win32 Release" -# Name "t_eossga - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoSSGA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eostateandparser.dsp b/trunk/paradiseo-eo/win/t_eostateandparser.dsp deleted file mode 100644 index 7e627b581..000000000 --- a/trunk/paradiseo-eo/win/t_eostateandparser.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eostateandparser" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eostateandparser - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eostateandparser.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eostateandparser.mak" CFG="t_eostateandparser - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eostateandparser - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eostateandparser - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eostateandparser - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eostateandparser - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eostateandparser___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eostateandparser___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eostateandparser - Win32 Release" -# Name "t_eostateandparser - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoStateAndParser.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eosymreg.dsp b/trunk/paradiseo-eo/win/t_eosymreg.dsp deleted file mode 100644 index e09b99b58..000000000 --- a/trunk/paradiseo-eo/win/t_eosymreg.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eosymreg" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eosymreg - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eosymreg.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eosymreg.mak" CFG="t_eosymreg - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eosymreg - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eosymreg - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eosymreg - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eosymreg - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eosymreg___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eosymreg___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eosymreg - Win32 Release" -# Name "t_eosymreg - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoSymreg.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eovector.dsp b/trunk/paradiseo-eo/win/t_eovector.dsp deleted file mode 100644 index 485637a92..000000000 --- a/trunk/paradiseo-eo/win/t_eovector.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eovector" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eovector - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eovector.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eovector.mak" CFG="t_eovector - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eovector - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eovector - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eovector - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eovector - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eovector___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eovector___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eovector - Win32 Release" -# Name "t_eovector - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoVector.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_eovirus.dsp b/trunk/paradiseo-eo/win/t_eovirus.dsp deleted file mode 100644 index 684cac054..000000000 --- a/trunk/paradiseo-eo/win/t_eovirus.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_eovirus" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_eovirus - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_eovirus.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_eovirus.mak" CFG="t_eovirus - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_eovirus - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_eovirus - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_eovirus - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_eovirus - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_eovirus___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_eovirus___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_eovirus - Win32 Release" -# Name "t_eovirus - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-eoVirus.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_mge-control.dsp b/trunk/paradiseo-eo/win/t_mge-control.dsp deleted file mode 100644 index 09888987d..000000000 --- a/trunk/paradiseo-eo/win/t_mge-control.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_mge-control" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_mge-control - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_mge-control.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_mge-control.mak" CFG="t_mge-control - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_mge-control - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_mge-control - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_mge-control - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_mge-control - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_mge-control___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_mge-control___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_mge-control - Win32 Release" -# Name "t_mge-control - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-MGE-control.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_mge.dsp b/trunk/paradiseo-eo/win/t_mge.dsp deleted file mode 100644 index aab3fb005..000000000 --- a/trunk/paradiseo-eo/win/t_mge.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_mge" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_mge - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_mge.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_mge.mak" CFG="t_mge - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_mge - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_mge - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_mge - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_mge - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_mge___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_mge___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_mge - Win32 Release" -# Name "t_mge - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-MGE.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/t_mge1bit.dsp b/trunk/paradiseo-eo/win/t_mge1bit.dsp deleted file mode 100644 index 34ee75d88..000000000 --- a/trunk/paradiseo-eo/win/t_mge1bit.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="t_mge1bit" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=t_mge1bit - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "t_mge1bit.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "t_mge1bit.mak" CFG="t_mge1bit - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "t_mge1bit - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "t_mge1bit - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "t_mge1bit - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "t_mge1bit - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "t_mge1bit___Win32_Debug0" -# PROP BASE Intermediate_Dir "t_mge1bit___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "t_mge1bit - Win32 Release" -# Name "t_mge1bit - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\t-MGE1bit.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/test_dsp.tmpl b/trunk/paradiseo-eo/win/test_dsp.tmpl deleted file mode 100644 index e7510a2b6..000000000 --- a/trunk/paradiseo-eo/win/test_dsp.tmpl +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="DIRNAME" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=DIRNAME - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "DIRNAME.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "DIRNAME.mak" CFG="DIRNAME - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "DIRNAME - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "DIRNAME - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "DIRNAME - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release\obj" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 all_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "DIRNAME - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debugj" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug\obj" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 all_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "DIRNAME - Win32 Release" -# Name "DIRNAME - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\test\SOURCENAME.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_1_bit.dsp b/trunk/paradiseo-eo/win/tut_1_bit.dsp deleted file mode 100644 index 5495dddef..000000000 --- a/trunk/paradiseo-eo/win/tut_1_bit.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_1_bit" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_1_bit - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_1_bit.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_1_bit.mak" CFG="tut_1_bit - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_1_bit - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_1_bit - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_1_bit - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_1_bit - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_1_bit___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_1_bit___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_1_bit - Win32 Release" -# Name "tut_1_bit - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson1\FirstBitGA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_1_ex3.dsp b/trunk/paradiseo-eo/win/tut_1_ex3.dsp deleted file mode 100644 index dcef19f39..000000000 --- a/trunk/paradiseo-eo/win/tut_1_ex3.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_1_ex3" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_1_ex3 - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_1_ex3.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_1_ex3.mak" CFG="tut_1_ex3 - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_1_ex3 - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_1_ex3 - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_1_ex3 - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_1_ex3 - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_1_ex3___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_1_ex3___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_1_ex3 - Win32 Release" -# Name "tut_1_ex3 - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson1\exercise1.3.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_1_real.dsp b/trunk/paradiseo-eo/win/tut_1_real.dsp deleted file mode 100644 index 673c66098..000000000 --- a/trunk/paradiseo-eo/win/tut_1_real.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_1_real" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_1_real - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_1_real.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_1_real.mak" CFG="tut_1_real - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_1_real - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_1_real - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_1_real - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_1_real - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_1_real___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_1_real___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_1_real - Win32 Release" -# Name "tut_1_real - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson1\FirstRealGA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_2_bit.dsp b/trunk/paradiseo-eo/win/tut_2_bit.dsp deleted file mode 100644 index 860774bee..000000000 --- a/trunk/paradiseo-eo/win/tut_2_bit.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_2_bit" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_2_bit - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_2_bit.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_2_bit.mak" CFG="tut_2_bit - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_2_bit - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_2_bit - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_2_bit - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_2_bit - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_2_bit___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_2_bit___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_2_bit - Win32 Release" -# Name "tut_2_bit - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson2\FirstBitEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_2_ex3.dsp b/trunk/paradiseo-eo/win/tut_2_ex3.dsp deleted file mode 100644 index 12a0b59c5..000000000 --- a/trunk/paradiseo-eo/win/tut_2_ex3.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_2_ex3" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_2_ex3 - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_2_ex3.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_2_ex3.mak" CFG="tut_2_ex3 - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_2_ex3 - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_2_ex3 - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_2_ex3 - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_2_ex3 - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_2_ex3___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_2_ex3___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_2_ex3 - Win32 Release" -# Name "tut_2_ex3 - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson2\exercise2.3.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_2_real.dsp b/trunk/paradiseo-eo/win/tut_2_real.dsp deleted file mode 100644 index 786b21f0d..000000000 --- a/trunk/paradiseo-eo/win/tut_2_real.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_2_real" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_2_real - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_2_real.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_2_real.mak" CFG="tut_2_real - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_2_real - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_2_real - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_2_real - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_2_real - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_2_real___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_2_real___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_2_real - Win32 Release" -# Name "tut_2_real - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson2\FirstRealEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_3_bit.dsp b/trunk/paradiseo-eo/win/tut_3_bit.dsp deleted file mode 100644 index ecbaad1c8..000000000 --- a/trunk/paradiseo-eo/win/tut_3_bit.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_3_bit" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_3_bit - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_3_bit.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_3_bit.mak" CFG="tut_3_bit - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_3_bit - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_3_bit - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_3_bit - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_3_bit - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_3_bit___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_3_bit___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_3_bit - Win32 Release" -# Name "tut_3_bit - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson3\SecondBitEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_3_ex1.dsp b/trunk/paradiseo-eo/win/tut_3_ex1.dsp deleted file mode 100644 index e87fc7651..000000000 --- a/trunk/paradiseo-eo/win/tut_3_ex1.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_3_ex1" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_3_ex1 - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_3_ex1.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_3_ex1.mak" CFG="tut_3_ex1 - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_3_ex1 - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_3_ex1 - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_3_ex1 - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_3_ex1 - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_3_ex1___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_3_ex1___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_3_ex1 - Win32 Release" -# Name "tut_3_ex1 - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson3\exercise3.1.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_4_bit.dsp b/trunk/paradiseo-eo/win/tut_4_bit.dsp deleted file mode 100644 index a7653e8eb..000000000 --- a/trunk/paradiseo-eo/win/tut_4_bit.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_4_bit" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_4_bit - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_4_bit.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_4_bit.mak" CFG="tut_4_bit - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_4_bit - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_4_bit - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_4_bit - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_4_bit - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_4_bit___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_4_bit___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_4_bit - Win32 Release" -# Name "tut_4_bit - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson4\BitEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_4_es.dsp b/trunk/paradiseo-eo/win/tut_4_es.dsp deleted file mode 100644 index 756e08493..000000000 --- a/trunk/paradiseo-eo/win/tut_4_es.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_4_es" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_4_es - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_4_es.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_4_es.mak" CFG="tut_4_es - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_4_es - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_4_es - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_4_es - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_4_es - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_4_es___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_4_es___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_4_es - Win32 Release" -# Name "tut_4_es - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson4\ESEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_4_real.dsp b/trunk/paradiseo-eo/win/tut_4_real.dsp deleted file mode 100644 index f544ae8f7..000000000 --- a/trunk/paradiseo-eo/win/tut_4_real.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_4_real" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_4_real - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_4_real.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_4_real.mak" CFG="tut_4_real - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_4_real - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_4_real - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_4_real - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 eo_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_4_real - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_4_real___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_4_real___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 eo_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_4_real - Win32 Release" -# Name "tut_4_real - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\Lesson4\RealEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_N_XXX.tmpl b/trunk/paradiseo-eo/win/tut_N_XXX.tmpl deleted file mode 100644 index 0960e8bb7..000000000 --- a/trunk/paradiseo-eo/win/tut_N_XXX.tmpl +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_N_XXX" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_N_XXX - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_N_XXX.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_N_XXX.mak" CFG="tut_N_XXX - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_N_XXX - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_N_XXX - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_N_XXX - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 all_lib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_N_XXX - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_N_XXX___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_N_XXX___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 all_libd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_N_XXX - Win32 Release" -# Name "tut_N_XXX - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\LessonN\SRCXXX.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_para1_full.dsp b/trunk/paradiseo-eo/win/tut_para1_full.dsp deleted file mode 100644 index f68109e98..000000000 --- a/trunk/paradiseo-eo/win/tut_para1_full.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_para1_full" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_para1_full - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_para1_full.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_para1_full.mak" CFG="tut_para1_full - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_para1_full - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_para1_full - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_para1_full - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 all_lib.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_para1_full - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_para1_full___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_para1_full___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 all_libd.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_para1_full - Win32 Release" -# Name "tut_para1_full - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\ParadisEO\Lesson1\IslandBitEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_para1_ring1.dsp b/trunk/paradiseo-eo/win/tut_para1_ring1.dsp deleted file mode 100644 index cafff2d82..000000000 --- a/trunk/paradiseo-eo/win/tut_para1_ring1.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_para1_ring1" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_para1_ring1 - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_para1_ring1.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_para1_ring1.mak" CFG="tut_para1_ring1 - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_para1_ring1 - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_para1_ring1 - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_para1_ring1 - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 all_lib.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_para1_ring1 - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_para1_ring1___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_para1_ring1___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 all_libd.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_para1_ring1 - Win32 Release" -# Name "tut_para1_ring1 - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\ParadisEO\Lesson1\IslandBitEA1.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_para1_ring2.dsp b/trunk/paradiseo-eo/win/tut_para1_ring2.dsp deleted file mode 100644 index 34edd821b..000000000 --- a/trunk/paradiseo-eo/win/tut_para1_ring2.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_para1_ring2" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_para1_ring2 - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_para1_ring2.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_para1_ring2.mak" CFG="tut_para1_ring2 - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_para1_ring2 - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_para1_ring2 - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_para1_ring2 - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 all_lib.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_para1_ring2 - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_para1_ring2___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_para1_ring2___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 all_libd.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_para1_ring2 - Win32 Release" -# Name "tut_para1_ring2 - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\ParadisEO\Lesson1\IslandBitEA2.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_para2_master.dsp b/trunk/paradiseo-eo/win/tut_para2_master.dsp deleted file mode 100644 index aa745fb63..000000000 --- a/trunk/paradiseo-eo/win/tut_para2_master.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_para2_master" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_para2_master - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_para2_master.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_para2_master.mak" CFG="tut_para2_master - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_para2_master - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_para2_master - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_para2_master - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 all_lib.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_para2_master - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_para2_master___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_para2_master___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 all_libd.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_para2_master - Win32 Release" -# Name "tut_para2_master - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\ParadisEO\Lesson2\MasterDistEvalBitEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_para2_slave.dsp b/trunk/paradiseo-eo/win/tut_para2_slave.dsp deleted file mode 100644 index 1106761fd..000000000 --- a/trunk/paradiseo-eo/win/tut_para2_slave.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_para2_slave" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_para2_slave - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_para2_slave.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_para2_slave.mak" CFG="tut_para2_slave - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_para2_slave - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_para2_slave - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_para2_slave - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 all_lib.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_para2_slave - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_para2_slave___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_para2_slave___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 all_libd.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_para2_slave - Win32 Release" -# Name "tut_para2_slave - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\ParadisEO\Lesson2\SlaveDistEvalBitEA.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/tut_paraN_XXX.tmpl b/trunk/paradiseo-eo/win/tut_paraN_XXX.tmpl deleted file mode 100644 index 9616115da..000000000 --- a/trunk/paradiseo-eo/win/tut_paraN_XXX.tmpl +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="tut_N_XXX" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=tut_N_XXX - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "tut_N_XXX.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "tut_N_XXX.mak" CFG="tut_N_XXX - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "tut_N_XXX - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "tut_N_XXX - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "tut_N_XXX - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 all_lib.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:".\lib" - -!ELSEIF "$(CFG)" == "tut_N_XXX - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "tut_N_XXX___Win32_Debug0" -# PROP BASE Intermediate_Dir "tut_N_XXX___Win32_Debug0" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /w /W0 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_GNUPLOT" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 all_libd.lib mpich.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:".\lib" - -!ENDIF - -# Begin Target - -# Name "tut_N_XXX - Win32 Release" -# Name "tut_N_XXX - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\tutorial\ParadisEO\LessonN\SRCXXX.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/trunk/paradiseo-eo/win/utils.dsp b/trunk/paradiseo-eo/win/utils.dsp deleted file mode 100644 index 2b23e4c74..000000000 --- a/trunk/paradiseo-eo/win/utils.dsp +++ /dev/null @@ -1,240 +0,0 @@ -# Microsoft Developer Studio Project File - Name="utils" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=utils - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "utils.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "utils.mak" CFG="utils - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "utils - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "utils - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "utils - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /w /W0 /GR /GX /O2 /I "..\src" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo - -!ELSEIF "$(CFG)" == "utils - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "utils___Win32_Debug" -# PROP BASE Intermediate_Dir "utils___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\src" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"Debug\utilsd.lib" - -!ENDIF - -# Begin Target - -# Name "utils - Win32 Release" -# Name "utils - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\src\utils\eoFileMonitor.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoParser.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoRealBounds.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoRNG.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoState.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoStdoutMonitor.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoUpdater.cpp -# End Source File -# Begin Source File - -SOURCE=..\src\utils\make_help.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\src\utils\compatibility.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoCheckPoint.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoData.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoDistance.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoFDCStat.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoFileMonitor.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoFileSnapshot.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoGnuplot.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoGnuplot1DMonitor.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoGnuplot1DSnapshot.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoHowMany.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoMOFitnessStat.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoMonitor.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoParam.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoParser.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoPopStat.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoRealBounds.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoRealVectorBounds.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoRndGenerators.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoRNG.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoScalarFitnessStat.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoStat.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoState.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoStdoutMonitor.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoUpdatable.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\eoUpdater.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\pipecom.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\rnd_generators.h -# End Source File -# Begin Source File - -SOURCE=..\src\utils\selectors.h -# End Source File -# End Group -# End Target -# End Project